stream-chat-ruby 3.20.0 → 3.21.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: e89ecd3155db957b904e2809c181c36cec909742bae06ef17e02932d4713b991
4
- data.tar.gz: 545cdf669a3f4cc739951dac5e3cede7abdd91b5691940bcd9765fee8e82a008
3
+ metadata.gz: 04f9d9c833c0a76e5028a2ab0cf93b8825901500e56f6956276d6308e80644da
4
+ data.tar.gz: ac0c1c38c99ad7d1ab32f7f80c7a8becb9e22f41ecd96e5b4ae11538b5a73313
5
5
  SHA512:
6
- metadata.gz: d1b8be8b38c7bfdfcd563e6ad018ed960e9f78c63f3de343cd84823c9c0a9428d6cdad11da6c454de1bfd9893e4e52570f0a103cf2aafbbbefb25944a0f357e0
7
- data.tar.gz: f482e06931fe46fcb5163b22a5a453347ea3a990038b492e1fe3bc59cedf619c4c414d07794122b4310cabd984b87538912f6def954dbbe1f7a387439d374a98
6
+ metadata.gz: c372e48ee5d7889c9d8931c57524aa6bb9e9465828dee77a52ec1f2cabfe1bc32392aebf15230cb87427dbf4dff12569569f6b269cfe1d61ba39760763311657
7
+ data.tar.gz: 5fbaf82414b47e6f1b647280deb88ed07c62c38d833bb5698c1345326bfadc907d40112235815ce98b7a82df5b117ca7de816dc64701579dc8cd110a4f7e5859
data/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
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.21.0](https://github.com/GetStream/stream-chat-ruby/compare/v3.20.0...v3.21.0) (2025-11-12)
6
+
7
+
8
+ ### Features
9
+
10
+ * add filter tags support for channels ([#183](https://github.com/GetStream/stream-chat-ruby/issues/183)) ([e4844de](https://github.com/GetStream/stream-chat-ruby/commit/e4844de6325ac89a130f7eafbd1a86eaa57c893e))
11
+ * add hide_history_before option for adding members ([#182](https://github.com/GetStream/stream-chat-ruby/issues/182)) ([ccc2f94](https://github.com/GetStream/stream-chat-ruby/commit/ccc2f94f29af19f1d1127ff0add61ba3d02de37a))
12
+
5
13
  ## [3.20.0](https://github.com/GetStream/stream-chat-ruby/compare/v3.19.0...v3.20.0) (2025-10-06)
6
14
 
7
15
 
@@ -234,7 +234,9 @@ module StreamChat
234
234
  # Adds members to the channel.
235
235
  sig { params(user_ids: T::Array[String], options: T.untyped).returns(StreamChat::StreamResponse) }
236
236
  def add_members(user_ids, **options)
237
- payload = options.merge({ add_members: user_ids })
237
+ payload = options.dup
238
+ payload[:hide_history_before] = StreamChat.normalize_timestamp(payload[:hide_history_before]) if payload[:hide_history_before]
239
+ payload = payload.merge({ add_members: user_ids })
238
240
  update(nil, nil, **payload)
239
241
  end
240
242
 
@@ -265,6 +267,18 @@ module StreamChat
265
267
  update(nil, nil, add_moderators: user_ids)
266
268
  end
267
269
 
270
+ # Adds filter tags to the channel.
271
+ sig { params(tags: T::Array[String]).returns(StreamChat::StreamResponse) }
272
+ def add_filter_tags(tags)
273
+ update(nil, nil, add_filter_tags: tags)
274
+ end
275
+
276
+ # Removes filter tags from the channel.
277
+ sig { params(tags: T::Array[String]).returns(StreamChat::StreamResponse) }
278
+ def remove_filter_tags(tags)
279
+ update(nil, nil, remove_filter_tags: tags)
280
+ end
281
+
268
282
  # Removes members from the channel.
269
283
  sig { params(user_ids: T::Array[String]).returns(StreamChat::StreamResponse) }
270
284
  def remove_members(user_ids)
@@ -738,7 +738,7 @@ module StreamChat
738
738
  # Revoke tokens for an application issued since the given date.
739
739
  sig { params(before: T.any(DateTime, String)).returns(StreamChat::StreamResponse) }
740
740
  def revoke_tokens(before)
741
- before = before.rfc3339 if before.instance_of?(DateTime)
741
+ before = StreamChat.normalize_timestamp(before)
742
742
  update_app_settings({ 'revoke_tokens_issued_before' => before })
743
743
  end
744
744
 
@@ -751,7 +751,7 @@ module StreamChat
751
751
  # Revoke tokens for users issued since.
752
752
  sig { params(user_ids: T::Array[String], before: T.any(DateTime, String)).returns(StreamChat::StreamResponse) }
753
753
  def revoke_users_token(user_ids, before)
754
- before = before.rfc3339 if before.instance_of?(DateTime)
754
+ before = StreamChat.normalize_timestamp(before)
755
755
 
756
756
  updates = []
757
757
  user_ids.map do |user_id|
@@ -1024,7 +1024,7 @@ module StreamChat
1024
1024
  sig { params(message_id: String, user_id: String, remind_at: T.nilable(DateTime)).returns(StreamChat::StreamResponse) }
1025
1025
  def create_reminder(message_id, user_id, remind_at = nil)
1026
1026
  data = { user_id: user_id }
1027
- data[:remind_at] = remind_at.rfc3339 if remind_at.instance_of?(DateTime)
1027
+ data[:remind_at] = StreamChat.normalize_timestamp(remind_at) if remind_at
1028
1028
  post("messages/#{message_id}/reminders", data: data)
1029
1029
  end
1030
1030
 
@@ -1036,7 +1036,7 @@ module StreamChat
1036
1036
  sig { params(message_id: String, user_id: String, remind_at: T.nilable(DateTime)).returns(StreamChat::StreamResponse) }
1037
1037
  def update_reminder(message_id, user_id, remind_at = nil)
1038
1038
  data = { user_id: user_id }
1039
- data[:remind_at] = remind_at.rfc3339 if remind_at
1039
+ data[:remind_at] = StreamChat.normalize_timestamp(remind_at) if remind_at
1040
1040
  patch("messages/#{message_id}/reminders", data: data)
1041
1041
  end
1042
1042
 
@@ -14,4 +14,14 @@ module StreamChat
14
14
  end
15
15
  sort_fields
16
16
  end
17
+
18
+ # Normalizes a timestamp to RFC 3339 / ISO 8601 string format.
19
+ sig { params(timestamp: T.any(DateTime, Time, String)).returns(String) }
20
+ def self.normalize_timestamp(timestamp)
21
+ case timestamp
22
+ when DateTime then timestamp.rfc3339
23
+ when Time then timestamp.iso8601
24
+ else timestamp
25
+ end
26
+ end
17
27
  end
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module StreamChat
5
- VERSION = '3.20.0'
5
+ VERSION = '3.21.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.20.0
4
+ version: 3.21.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-10-06 00:00:00.000000000 Z
11
+ date: 2025-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday