From 709a8523f710d08079c5b9fe62152594bb80f09a Mon Sep 17 00:00:00 2001 From: nijeeshjoshy Date: Wed, 19 Nov 2025 17:17:14 +0100 Subject: [PATCH 1/2] feat: Fix QueryReminders to use filter parameter instead of filter_conditions --- lib/stream-chat/client.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/stream-chat/client.rb b/lib/stream-chat/client.rb index 86291ae..1f46789 100644 --- a/lib/stream-chat/client.rb +++ b/lib/stream-chat/client.rb @@ -1058,7 +1058,7 @@ def delete_reminder(message_id, user_id) sig { params(user_id: String, filter_conditions: T::Hash[T.untyped, T.untyped], sort: T.nilable(T::Array[T::Hash[T.untyped, T.untyped]]), options: T.untyped).returns(StreamChat::StreamResponse) } def query_reminders(user_id, filter_conditions = {}, sort: nil, **options) params = options.merge({ - filter_conditions: filter_conditions, + filter: filter_conditions, sort: sort || [{ field: 'remind_at', direction: 1 }], user_id: user_id }) From 6dca17a9de05d1502637bf4b6aa18d43b6199ada Mon Sep 17 00:00:00 2001 From: nijeeshjoshy Date: Wed, 19 Nov 2025 17:28:41 +0100 Subject: [PATCH 2/2] feat: Improve QueryReminders tests to verify filter results actually match criteria --- spec/client_spec.rb | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/spec/client_spec.rb b/spec/client_spec.rb index 5dc819d..0592d99 100644 --- a/spec/client_spec.rb +++ b/spec/client_spec.rb @@ -1342,9 +1342,25 @@ def loop_times(times) expect(response['reminders']).to be_an(Array) expect(response['reminders'].length).to be >= 1 - # All reminders should have a channel_cid + # All reminders should have a channel_cid that matches the filter response['reminders'].each do |reminder| expect(reminder).to include('channel_cid') + expect(reminder['channel_cid']).to eq(@channel.cid) + end + end + + it 'query reminders with message_id filter' do + # Query reminders for a specific message + filter = { 'message_id' => @message_id } + response = @client.query_reminders(@user_id, filter) + + expect(response).to include('reminders') + expect(response['reminders']).to be_an(Array) + expect(response['reminders'].length).to be >= 1 + + # All reminders should have the filtered message_id + response['reminders'].each do |reminder| + expect(reminder['message_id']).to eq(@message_id) end end end