wire-ios
wire-ios copied to clipboard
fix: invisible groups - WPB-20123
|
|
Issue
Sometimes conversations are not shown within the app. Some conversations were found not updated with data from backend for example having a invalid groupType hence not displayed.
Right now, the ConversationsRequestStrategy with the updateSync (KeyPathObjectSync) sync the conversation with the backend when the NeedsToBeUpdatedFromBackend property is set to true, but it does not wait for the request to finish to turn off the flag, so if the request fails or the app crashes, we'll never retry the request.
Solution:
- Using WorkAgent in #3800, we remove old KeyPathObjectSync
ConversationUpdatesGeneratorcreatesUpdateConversationItemworkItems for the WorkAgent.- remove pullConversation from the mlsWelcomeMessage event processing so processing events are without extra network calls.
Other changes:
- add logs for processing events
Testing
- Create a group
- See ticket being created and executed
Checklist
- [ ] Title contains a reference JIRA issue number like
[WPB-XXX]. - [ ] Description is filled and free of optional paragraphs.
- [ ] Adds/updates automated tests.
UI accessibility checklist
If your PR includes UI changes, please utilize this checklist:
- [ ] Make sure you use the API for UI elements that support large fonts.
- [ ] All colors are taken from WireDesign.ColorTheme or constructed using WireDesign.BaseColorPalette.
- [ ] New UI elements have Accessibility strings for VoiceOver.