-
Notifications
You must be signed in to change notification settings - Fork 220
Add Message Reminders #3623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Add Message Reminders #3623
Conversation
Generated by 🚫 Danger |
SDK Size
|
SDK Performance
|
SDK Size
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great so far 👍 I think the most important thing is to check how / when push notifications will be supported - the due feature doesn't make much sense without it.
Additionally, apart from docs, we need a notion doc for other SDKs.
DemoApp/Screens/AppConfigViewController/AppConfigViewController.swift
Outdated
Show resolved
Hide resolved
Sources/StreamChat/APIClient/Endpoints/Payloads/MessagePayloads.swift
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 35 out of 55 changed files in this pull request and generated no comments.
Files not reviewed (20)
- DemoApp/Screens/AppConfigViewController/AppConfigViewController.swift: Language not supported
- DemoApp/Screens/DemoAppTabBarController.swift: Language not supported
- DemoApp/Shared/DemoUsers.swift: Language not supported
- DemoApp/Shared/StreamChatWrapper.swift: Language not supported
- DemoApp/StreamChat/Components/DemoChatMessageActionsVC.swift: Language not supported
- DemoApp/StreamChat/Components/DemoChatMessageContentView.swift: Language not supported
- DemoApp/StreamChat/Components/DemoChatMessageLayoutOptionsResolver.swift: Language not supported
- DemoApp/StreamChat/DemoAppCoordinator+DemoApp.swift: Language not supported
- Sources/StreamChat/APIClient/Endpoints/EndpointPath+OfflineRequest.swift: Language not supported
- Sources/StreamChat/APIClient/Endpoints/EndpointPath.swift: Language not supported
- Sources/StreamChat/APIClient/Endpoints/MessageEndpoints.swift: Language not supported
- Sources/StreamChat/APIClient/Endpoints/Payloads/MessagePayloads.swift: Language not supported
- Sources/StreamChat/ChatClient+Environment.swift: Language not supported
- Sources/StreamChat/ChatClient.swift: Language not supported
- Sources/StreamChat/ChatClientFactory.swift: Language not supported
- Sources/StreamChat/Controllers/CurrentUserController/CurrentUserController.swift: Language not supported
- Sources/StreamChat/Controllers/MessageController/MessageController.swift: Language not supported
- Sources/StreamChat/Database/DTOs/MessageDTO.swift: Language not supported
- Sources/StreamChat/Database/DTOs/MessageReminderDTO.swift: Language not supported
- Sources/StreamChat/Database/DatabaseSession.swift: Language not supported
60495fe
to
1eca9b2
Compare
193c371
to
482f986
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great and works well, don't have any remarks about the code 👍
Before merging we should:
- make sure push works (also good if we retest again)
- have docs PR ready
- make sure things are deployed on every shard
Btw, I don't think we need to implement this in SwiftUI as well. A lot of work, while the feature is mostly LLC - good docs and this sample should be enough for SwiftUI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Looks nicer with the dedicated controller
...amChat/Controllers/MessageReminderListController/MessageReminderListController+Combine.swift
Outdated
Show resolved
Hide resolved
…t-swift into add/snooze-messages
…that the current date is now an old date
|
Everything is Ready, but it is blocked by Push v3. So converting it to draft. |
🔗 Issue Links
IOS-696
🎯 Goal
Add message reminders feature. This will allow users to save messages for later and get notified about them.
📝 Summary
Docs PR: https://github.com/GetStream/docs-content/pull/260
New APIs:
Filter.isNil
to make it easier to filter nil valuesChatMessageController.createReminder()
ChatMessageController.updateReminder()
ChatMessageController.deleteReminder()
MessageReminderListController
Demo App new features:
Bonus:
Filter+ChatChannel.swift
toFilter+predicate
so that we can start using it for other data and not only channels.🎨 Showcase
Simulator.Screen.Recording.-.iPhone.16.Pro.-.2025-03-28.at.16.01.16.mp4
🧪 Manual Testing Notes
In order to test the feature, you need to change the API Key to Frankfurt C2 Staging:
Saving a message for later in the message list:
Saving a message as a reminder in the message list:
Removing a reminder in the message list:
Updating a reminder in the message list:
Fetching and filtering all reminders:
Deleting a message with a reminder:
Reminder when is overdue should be removed from upcoming:
Reminder Due Push Notification:
☑️ Contributor Checklist
docs-content
repo