-
Notifications
You must be signed in to change notification settings - Fork 222
4.81.0 Release #3709
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
4.81.0 Release #3709
Conversation
* Add static and live location payloads * Update the demo app to use static location attachment * Add new `ChannelController.sendStaticLocation()` to instantly send a location message to a channel * Change the Demo App to send the current location instead of dummy ones * Add location background mode to Demo App * Add staticLocation to the attachments register * Create a CurrentUserLocationProvider to make it easier to fetch the current user location * Fix not being able to part live location payload * Update DemoApp to support live location attachments * Add support for partial message update in MessageUpdater * Expose the Throttler (Revert this, and use it internally) * Add `shareLiveLocation()` and `stopLiveLocation()` to `ChannelController` * Refactor logic to fetch current active locations + Improve API * Add extra data to location attachment payloads * Add `LocationAttachmentInfo` to be used as argument * Add `text` to partial message update endpoint * Add `ChatMessageController.updateMessage()` to support partially updating a message * Change location live updates APIs * Improve Demo App Location Provider * Improve API by observing active live locations messages * Fixed starting monitoring location whenever an active location was updated * Make the API even easier and add additional delegate methods to know when the user should start and stop location sharing * Move the Throttler to LLC, just like the Debouncer * Move the Throttling to the current user controller to automatically protect against abusive updates * Some minor cleanups * Simplify currentUserControllerDidStartSharingLiveLocation API * Improve location attachment view * Add live location map when tapping the live location attachmen * Animate the user location tracking * Optimal animation * Optmizate animation smoothness and server spamm * Add CoreData concurrency flag to StreamDevelopers scheme * Fix crash when creating the MessageController from a background thread * Fix snapshot chaching * Fix map detail view controller not showing initial position * Fix avatar view in map view * Add pulse animation when live sharing * Refactor LocationDetailViewController to only use the message controller * Refactor code structure of the map detail view controller * Add bottom sheet to stop location sharing * Add stopLiveLocationSharing() to Message Controller * Fix stop sharing button not working * FIx bottom sheet logic * Add static pin in detail view * Fix sharing location for other users active location messages * Finish logic for location snapshot view when static vs live * Add live location status view in the snapshot view * Minor cleanup * Fix copyright * Fix loading indicator snapshot view * Remove support of mixed attachments to locations * Add MessageEndpoints test coverage * Add test coverage to message updater * Add test coverage to Message Repository * Add test coverage to message attachments extensions * Add test coverage to parsing attachments * Add test coverage to MessageDTO * Add message updater mock * ActiveLiveLocationAlreadyExists init should not be public * Add test coverage to Message Controller * Add test coverage to Channel Controller * Fix concurrency issues when stopping and updating the live location at the same time * Fix Message Controller Tests * Change updateMessage -> partialUpdateMessage * Add unset support for partial update message * Update CHANGELOG.md * Fix tests, not compiling because of unset * Fix test_updatePartialMessage_makesCorrectAPICall * Make `ChatMessageController.updateLiveLocation()` internal * Update CHANGELOG.md * Fix reloading the snapshot when not necesasry * Fix avatar view showing for a split second in the snapshot view for static attachments * Change location attachment to have dynamic height depending on message list size * Extract avatar size in snapshot view * Fix minor typo * Add fixed width to map snapshot and simplify caching logic * Use a banner view instead of a sheet in the map detail view * Present the map instead of pushing when on iPad * Add more documentation on how "Tracking" behaviour works * Enable locations by default in the demo app * Fix quote message for live location * Fix location attachments should not be editable * Do not show location attachment picker when inside thread * Fix preview message for location attachments * Fix detail map show Stop Sharing button for another user * Disable locations feature by default * Add experimental flag * Update CHANGELOG.md * Revert "Disable locations feature by default" This reverts commit 0765272. * Revert "Add experimental flag" This reverts commit d06eda0. * Revert "Update CHANGELOG.md" This reverts commit 37bd1d1. * Fix missing stuff from merge conflicts * Update CHANGELOG.md * Rename LocationAttachmentInfo to LocationInfo * Add LocationDTO * Update Atlantis * Refactor to new SharedLocation object * Demo App new Static Location integration * Fix Merge Conflicts Errors * Add new location endpoints * Implement new stop live location sharing * Remove stopLiveLocationSharing from ChannelController * Implement optimistic stop live location sharing * Add `CurrentUserController.loadLiveLocations()` * Add new updateLiveLocation endpoint instead of using partial update message * Migrate existing unit tests to the new implementation * Fix not possible to open location detail view * Remove unnecessary location optimistic update * Auto-centering feature * Fix sharing location of failed messages * Fix stopping a live location not triggering didStopLiveLocationSharing delegate * Update CHANGELOG.md * Fix parsing active current active location messages * Remove unused message updater in ChannelController * Fix docs typo * Add action sheet to select live location in the demo app * Make atlantis version static * Fix unit tests compilation * Fix removeAllData test * Remove `didChangeActiveLiveLocationMessages` since it is not needed for now * Improve docs of current user controller * Revert "Remove `didChangeActiveLiveLocationMessages` since it is not needed for now" This reverts commit 37f4290. # Conflicts: # Sources/StreamChat/Controllers/CurrentUserController/CurrentUserController.swift * Make sure live location is changed to not active when reaches the end * Forward to the current user delegate event if there was an error updating live location * Fix potential memory leak * Use message updater directly in the current user controller * Add option to provide location info from createNewMessage * Only call didStartSharingLiveLocation or didStopSharingLiveLocation if are from the current device * Handle multi device logic when updating live location sharing * Revert Multi-Device logic for now * Fix compilation tests * Add message updater tests * Add test coverage to loadAllActiveLiveLocations * Add test coverage to use device Id when creating new live location message * Update CHANGELOG.md * Fix flaky test_stopLiveLocationSharing_apiFailure_revertsOptimisticUpdate * Render endAt text in the location attachment images * Fix not able to share 1min location * Fix auto center button showing in static locations * Add `channel.config.sharedLocationsEnabled` * Add `canShareLocation` capability * Add `ChatChannel.activeLiveLocations` * Rename LocationDTO -> SharedLocationDTO * Fix Channel.json typo * Add `ActiveLiveLocationsEndTimeTracker` to track when the endAt is reached * Fix concurrency issue in ActiveLiveLocationsEndTimeTracker * Add missing properties to shared location * Optimistically stop active live location when starting a new one * Expose `CurrentUserController.activeLiveLocationMessages` * Remove outdated comment * Add test coverage to ActiveLiveLocationsEndTimeTracker * Fix the ActiveLiveLocationsEndTimeTracker not triggering an UI Update * Try to make test less flaky * Add missing docs to `CurrentUserController.loadActiveLocationsMessages()` --------- Co-authored-by: Alexey Alter-Pesotskiy <[email protected]>
* Throw error when creating a message without device registered * Add a location selection view controller to the demo app * Show the current user location in the detail location view if the location sharing is not from the current user * Fix typo in location attachment snapshot view * Move Location Provider to the location folder * Remove unecessary dispatch * Remove demo app location config * Simplify location snapshot view content
…#3705) * Fix message actions view with flag action when user has no capability * Update CHANGELOG.md * Update CHANGELOG.md * Fix UI Tests * Fix popup tests
…rios (#3707) * Fix reaction picker in message actions pop up view below notch in rare scenarios * Update CHANGELOG.md
* Add new Push v3 notification types * Update CHANGELOG.md * Make it more flexible * Remove isKnown logic
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Generated by 🚫 Danger |
SDK Size
|
Build for regression testing №123457075 has been uploaded to TestFlight 🎁 |
SDK Performance
|
|
/merge release |
Publication of the release has been launched 👍 |
StreamChat
✅ Added
ChatMessageController.partialUpdateMessage()
#3531ChatMessage.sharedLocation
ChatMessageController.stopLiveLocationSharing()
ChatChannelController
:sendStaticLocation()
startLiveLocationSharing()
CurrentChatUserController
:loadActiveLiveLocationMessages()
updateLiveLocation()
CurrentChatUserControllerDelegate
:didStartSharingLiveLocation()
didStopSharingLiveLocation()
didChangeActiveLiveLocationMessages()
didFailToUpdateLiveLocation()
StreamChatUI
🐞 Fixed
ChatMessagePopupVC
below the notch in rare scenarios #3707