Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
bd3a986
[AND-421] (WIP) Message reminders.
May 9, 2025
d520009
Merge branch 'develop' into feature/message-reminders-wip
May 15, 2025
68d56bf
[AND-421] Improve MessageReminders sample app.
May 15, 2025
2ddbc68
[AND-421] Improve MessageReminders sample app.
May 15, 2025
d88bd8d
[AND-421] Improve MessageReminders sample app.
May 15, 2025
3e9fa59
[AND-421] Remove TODOs.
May 16, 2025
bdea7c5
Merge branch 'develop' into feature/message-reminders-wip
May 16, 2025
29d81d6
[AND-421] Extract string resource.
May 16, 2025
0f835cf
[AND-421] Fix tests.
May 16, 2025
a7e7c39
Merge branch 'develop' into feature/message-reminders
May 28, 2025
947701d
[AND-421] Fix reminders endpoints and events.
May 28, 2025
7eed190
[AND-421] Fix reminders endpoints and events.
May 28, 2025
3b75225
[AND-421] Update reminders sample.
May 28, 2025
582b78a
[AND-421] Update reminders sample.
May 28, 2025
96b7c52
[AND-421] Rework sample app navigation.
May 29, 2025
d449732
[AND-421] Rework sample app navigation.
May 29, 2025
ef9f5bc
Add user_message_reminders flag.
Jun 3, 2025
11f72f9
Merge branch 'develop' into feature/message-reminders
Jun 11, 2025
fbd198f
Merge branch 'develop' into feature/message-reminders
Jun 16, 2025
54f4c71
Sample app improvements.
Jun 16, 2025
eb1254e
Merge branch 'develop' into feature/message-reminders
Jun 17, 2025
7488e01
Update the "Due in ..." label every minute.
Jun 17, 2025
1cef1d5
Merge branch 'develop' into feature/message-reminders
Jun 18, 2025
e006873
Merge branch 'develop' into feature/message-reminders
VelikovPetar Jun 19, 2025
dd462fc
Merge branch 'develop' into feature/message-reminders
Jun 26, 2025
f0938ae
Add support for different types of notifications (and handling for `n…
VelikovPetar Jun 26, 2025
112fbbd
Merge branch 'develop' into feature/message-reminders
Jun 26, 2025
775fbc3
Update CHANGELOG.md.
Jun 26, 2025
f20a30c
Merge branch 'develop' into feature/message-reminders
VelikovPetar Jun 27, 2025
99ee57d
Merge branch 'develop' into feature/message-reminders
Jul 2, 2025
13dd1c6
Close drawer when tapping on an item.
Jul 3, 2025
8a26729
Fix reminder alignment with reactions. Fix reminder shown on a delete…
Jul 10, 2025
c0f45aa
Don't allow reminders on thread replies (sample app).
Jul 10, 2025
45cef43
Ensure NotificationDue is always handled from PN (and ignore the WS e…
Jul 11, 2025
df5f45a
Merge branch 'develop' into feature/message-reminders
Jul 11, 2025
a343c34
Fix reminders not updating messages in a thread.
Jul 11, 2025
906c0a4
Merge branch 'develop' into feature/message-reminders
VelikovPetar Jul 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,17 @@
### ⬆️ Improved

### ✅ Added
- Add `ChannelClient.queryReminders()` for querying message reminders. [#5779](https://github.com/GetStream/stream-chat-android/pull/5779)
- Add `ChannelClient.createReminder()` for creating a message reminder. [#5779](https://github.com/GetStream/stream-chat-android/pull/5779)
- Add `ChannelClient.updateReminder()` for updating an existing message reminder. [#5779](https://github.com/GetStream/stream-chat-android/pull/5779)
- Add `ChannelClient.deleteReminder()` for deleting an existing message reminder. [#5779](https://github.com/GetStream/stream-chat-android/pull/5779)
- Add `ReminderCreatedEvent`, `ReminderUpdatdeEvent`, `ReminderDeletedEvent` and `NotificationReminderDueEvent` events notifying the user about changes in the message reminders. [#5779](https://github.com/GetStream/stream-chat-android/pull/5779)
- Add `reminder` field to the `Message` entity, which contains the reminder information. [#5779](https://github.com/GetStream/stream-chat-android/pull/5779)
- Add default handling for `notification.reminder_due` push notification. [#5833](https://github.com/GetStream/stream-chat-android/pull/5833)
- Add `NotificationHandler.showNotification(ChatNotification)` message method for showing a notification of a specific type. [#5833](https://github.com/GetStream/stream-chat-android/pull/5833)

### ⚠️ Changed
- Deprecate `NotificationHandler.showNotification(Channel, Message)` in favor of `NotificationHandler.showNotification(ChatNotification)`. [#5833](https://github.com/GetStream/stream-chat-android/pull/5833)

### ❌ Removed

Expand Down
3 changes: 3 additions & 0 deletions DEPRECATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ This document lists deprecated constructs in the SDK, with their expected time

| API / Feature | Deprecated (warning) | Deprecated (error) | Removed | Notes |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|-----------------------|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `NotificationConfig.ignorePushMessagesWhenUserOnline` property | 2025.07.11 ⌛ | | | This property has been deprecated. Please use `NotificationConfig.ignorePushMessageWhenUserOnline(type: String) instead`. |
| `NotificationHandler.showNotification(Channel, Message)` method | 2025.07.11 ⌛ | | | This method has been deprecated. Please use `NotificationHandler.showNotification(ChatNotification) instead`. |
| `io.getstream.chat.android.client.notifications.handler.PushDeviceGenerator` interface | 2025.07.11 ⌛ | | | This interface has been deprecated. Please use `io.getstream.android.push.PushDeviceGenerator` instead. |
| `Filters.ne` method | 2025.05.19 ⌛ | | | This method has been deprecated. Please contact our Customer Support to get help finding an appropriate alternative. |
| `NotEqualsFilterObject` class | 2025.05.19 ⌛ | | | This object has been deprecated. Please contact our Customer Support to get help finding an appropriate alternative. |
| `ChatClient.queryDraftMessages` method | 2025.05.25 ⌛ | | | This method has been deprecated. Please use `ChatClient.queryDrafts` instead. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,13 @@ import io.getstream.chat.android.client.events.NotificationMarkReadEvent
import io.getstream.chat.android.client.events.NotificationMarkUnreadEvent
import io.getstream.chat.android.client.events.NotificationMessageNewEvent
import io.getstream.chat.android.client.events.NotificationMutesUpdatedEvent
import io.getstream.chat.android.client.events.NotificationReminderDueEvent
import io.getstream.chat.android.client.events.NotificationRemovedFromChannelEvent
import io.getstream.chat.android.client.events.PollDeletedEvent
import io.getstream.chat.android.client.events.ReactionNewEvent
import io.getstream.chat.android.client.events.ReminderCreatedEvent
import io.getstream.chat.android.client.events.ReminderDeletedEvent
import io.getstream.chat.android.client.events.ReminderUpdatedEvent
import io.getstream.chat.android.client.events.TypingStartEvent
import io.getstream.chat.android.client.events.TypingStopEvent
import io.getstream.chat.android.client.events.UserStartWatchingEvent
Expand All @@ -51,6 +55,7 @@ import io.getstream.chat.android.models.EventType
import io.getstream.chat.android.models.FilterObject
import io.getstream.chat.android.models.Member
import io.getstream.chat.android.models.Message
import io.getstream.chat.android.models.MessageReminder
import io.getstream.chat.android.models.NeutralFilterObject
import io.getstream.chat.android.models.Poll
import io.getstream.chat.android.models.Reaction
Expand All @@ -64,6 +69,7 @@ import io.getstream.chat.android.randomDate
import io.getstream.chat.android.randomInt
import io.getstream.chat.android.randomMember
import io.getstream.chat.android.randomMessage
import io.getstream.chat.android.randomMessageReminder
import io.getstream.chat.android.randomPoll
import io.getstream.chat.android.randomReaction
import io.getstream.chat.android.randomString
Expand Down Expand Up @@ -526,6 +532,86 @@ public fun randomMarkAllReadEvent(
unreadChannels = unreadChannels,
)

public fun randomReminderCreatedEvent(
createdAt: Date = randomDate(),
cid: String = randomCID(),
channelType: String = randomString(),
channelId: String = randomString(),
reminder: MessageReminder = randomMessageReminder(),
messageId: String = randomString(),
userId: String = randomString(),
): ReminderCreatedEvent = ReminderCreatedEvent(
type = EventType.REMINDER_CREATED,
createdAt = createdAt,
rawCreatedAt = streamFormatter.format(createdAt),
cid = cid,
channelType = channelType,
channelId = channelId,
reminder = reminder,
messageId = messageId,
userId = userId,
)

public fun randomReminderUpdatedEvent(
createdAt: Date = randomDate(),
cid: String = randomCID(),
channelType: String = randomString(),
channelId: String = randomString(),
reminder: MessageReminder = randomMessageReminder(),
messageId: String = randomString(),
userId: String = randomString(),
): ReminderUpdatedEvent = ReminderUpdatedEvent(
type = EventType.REMINDER_UPDATED,
createdAt = createdAt,
rawCreatedAt = streamFormatter.format(createdAt),
cid = cid,
channelType = channelType,
channelId = channelId,
reminder = reminder,
messageId = messageId,
userId = userId,
)

public fun randomReminderDeletedEvent(
createdAt: Date = randomDate(),
cid: String = randomCID(),
channelType: String = randomString(),
channelId: String = randomString(),
reminder: MessageReminder = randomMessageReminder(),
messageId: String = randomString(),
userId: String = randomString(),
): ReminderDeletedEvent = ReminderDeletedEvent(
type = EventType.REMINDER_DELETED,
createdAt = createdAt,
rawCreatedAt = streamFormatter.format(createdAt),
cid = cid,
channelType = channelType,
channelId = channelId,
reminder = reminder,
messageId = messageId,
userId = userId,
)

public fun randomNotificationReminderDueEvent(
createdAt: Date = randomDate(),
cid: String = randomCID(),
channelType: String = randomString(),
channelId: String = randomString(),
reminder: MessageReminder = randomMessageReminder(),
messageId: String = randomString(),
userId: String = randomString(),
): NotificationReminderDueEvent = NotificationReminderDueEvent(
type = EventType.NOTIFICATION_REMINDER_DUE,
createdAt = createdAt,
rawCreatedAt = streamFormatter.format(createdAt),
cid = cid,
channelType = channelType,
channelId = channelId,
reminder = reminder,
messageId = messageId,
userId = userId,
)

public fun randomQueryChannelsSpec(
filter: FilterObject = NeutralFilterObject,
sort: QuerySorter<Channel> = QuerySortByField(),
Expand Down
Loading
Loading