stream-chat-ruby 3.19.0 → 3.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fcd0ddcef7bd5eb3ec3e7bda222c1c85a49e314e02e78813ff1693000151c923
4
- data.tar.gz: 954fe0f720a0b19bbd129bb12bdd3c0441d645eed0b7190dc5b779b92b7a85b7
3
+ metadata.gz: e89ecd3155db957b904e2809c181c36cec909742bae06ef17e02932d4713b991
4
+ data.tar.gz: 545cdf669a3f4cc739951dac5e3cede7abdd91b5691940bcd9765fee8e82a008
5
5
  SHA512:
6
- metadata.gz: 2bc836ebbb76efae25a3899741bef34b7d8d30c0c9229e718172ecf8b4c9446834e561c6888695e3f5c5fec888b66fdefe44f276c986d9bd3ec2d44b1f06ee87
7
- data.tar.gz: 82408f7f86c14aca15548d7965fc44fa68732967f3c8a5ddc2eccb7cbd3376b11f81757af729717017f79aad4ec3f70e42f7199fed7869a47670055645f68d6b
6
+ metadata.gz: d1b8be8b38c7bfdfcd563e6ad018ed960e9f78c63f3de343cd84823c9c0a9428d6cdad11da6c454de1bfd9893e4e52570f0a103cf2aafbbbefb25944a0f357e0
7
+ data.tar.gz: f482e06931fe46fcb5163b22a5a453347ea3a990038b492e1fe3bc59cedf619c4c414d07794122b4310cabd984b87538912f6def954dbbe1f7a387439d374a98
data/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [3.20.0](https://github.com/GetStream/stream-chat-ruby/compare/v3.19.0...v3.20.0) (2025-10-06)
6
+
7
+
8
+ ### Features
9
+
10
+ * Added `Delete for me` support on behalf of a user ([#178](https://github.com/GetStream/stream-chat-ruby/issues/178)) ([770a441](https://github.com/GetStream/stream-chat-ruby/commit/770a441ff6243ab6d10fde7daa2b75b4137c4db0))
11
+
12
+
13
+ ### Other
14
+
15
+ * **release:** 3.19.1 ([#179](https://github.com/GetStream/stream-chat-ruby/issues/179)) ([bae463b](https://github.com/GetStream/stream-chat-ruby/commit/bae463b298ffd047624dfc6a35c14475fd97d475))
16
+
17
+ ### [3.19.1](https://github.com/GetStream/stream-chat-ruby/compare/v3.19.0...v3.19.1) (2025-09-01)
18
+
19
+
20
+ ### Features
21
+
22
+ * Added `Delete for me` support on behalf of a user ([#178](https://github.com/GetStream/stream-chat-ruby/issues/178)) ([770a441](https://github.com/GetStream/stream-chat-ruby/commit/770a441ff6243ab6d10fde7daa2b75b4137c4db0))
23
+
5
24
  ## [3.19.0](https://github.com/GetStream/stream-chat-ruby/compare/v3.18.0...v3.19.0) (2025-07-07)
6
25
 
7
26
  ## [3.18.0](https://github.com/GetStream/stream-chat-ruby/compare/v3.17.0...v3.18.0) (2025-06-30)
@@ -431,6 +431,36 @@ module StreamChat
431
431
  delete("messages/#{message_id}", params: options)
432
432
  end
433
433
 
434
+ # Deletes a message with hard delete option.
435
+ sig { params(message_id: String).returns(StreamChat::StreamResponse) }
436
+ def hard_delete_message(message_id)
437
+ delete_message(message_id, hard: true)
438
+ end
439
+
440
+ # Deletes a message with delete_for_me option.
441
+ sig { params(message_id: String, user_id: String).returns(StreamChat::StreamResponse) }
442
+ def delete_message_for_me(message_id, user_id)
443
+ raise ArgumentError, 'user_id must not be empty for delete_for_me functionality' if user_id.to_s.empty?
444
+
445
+ delete_message(message_id, delete_for_me: true, deleted_by: user_id)
446
+ end
447
+
448
+ # Deletes a message with advanced options.
449
+ sig { params(message_id: String, hard: T.nilable(T::Boolean), delete_for_me: T.nilable(T::Boolean), user_id: T.nilable(String)).returns(StreamChat::StreamResponse) }
450
+ def delete_message_with_options(message_id, hard: nil, delete_for_me: nil, user_id: nil)
451
+ options = {}
452
+ options[:hard] = true if hard
453
+
454
+ if delete_for_me
455
+ raise ArgumentError, 'user_id must not be empty for delete_for_me functionality' if user_id.to_s.empty?
456
+
457
+ options[:delete_for_me] = true
458
+ options[:deleted_by] = user_id
459
+ end
460
+
461
+ delete_message(message_id, **options)
462
+ end
463
+
434
464
  # Un-deletes a message.
435
465
  sig { params(message_id: String, undeleted_by: String, options: T.untyped).returns(StreamChat::StreamResponse) }
436
466
  def undelete_message(message_id, undeleted_by, **options)
@@ -1035,6 +1065,15 @@ module StreamChat
1035
1065
  post('reminders/query', data: params)
1036
1066
  end
1037
1067
 
1068
+ # Send the mark delivered event for this user, only works if the `delivery_receipts` setting is enabled
1069
+ #
1070
+ # @param [StringKeyHash, nil] data The delivery confirmation data
1071
+ # @return [StreamChat::StreamResponse] API response
1072
+ sig { params(data: T.nilable(StringKeyHash), user_id: T.nilable(String)).returns(StreamChat::StreamResponse) }
1073
+ def mark_delivered(data = nil, user_id: nil)
1074
+ post('channels/delivered', data: data || {}, params: { user_id: user_id })
1075
+ end
1076
+
1038
1077
  private
1039
1078
 
1040
1079
  sig { returns(T::Hash[String, String]) }
@@ -1073,7 +1112,7 @@ module StreamChat
1073
1112
  headers['Authorization'] = @auth_token
1074
1113
  headers['stream-auth-type'] = 'jwt'
1075
1114
  params = {} if params.nil?
1076
- params = (get_default_params.merge(params).sort_by { |k, _v| k.to_s }).to_h
1115
+ params = get_default_params.merge(params).sort_by { |k, _v| k.to_s }.to_h
1077
1116
  url = "#{relative_url}?#{URI.encode_www_form(params)}"
1078
1117
 
1079
1118
  body = data.to_json if %w[patch post put].include? method.to_s
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module StreamChat
5
- VERSION = '3.19.0'
5
+ VERSION = '3.20.0'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stream-chat-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.19.0
4
+ version: 3.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - getstream.io
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-07-07 00:00:00.000000000 Z
11
+ date: 2025-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday