Commit Graph

229 Commits

Author SHA1 Message Date
Mauro 224e4e4881 Room List Filters implementation (#2423) 2024-02-08 16:50:44 +01:00
Doug d0c835a9bf Add a setting to hide unread messages badges. (#2412)
* Add a setting to hide grey unread messages badges.

* Move room badge logic to be built in the view model instead of in the view.

* Move setting into DeveloperOptions.
2024-02-07 13:00:35 +00:00
Stefan Ceriu 9915a33964 Fixes #2360 - Add support for manually marking rooms as unread (#2408)
* Fixes #2360 - Add support for manually marking rooms as unread

* Add analytics for marking rooms as (un)read

* Remove unnecessary analytics abstraction levels

* Fix breaking API changes following SDK bump

* Add changelog

* Handle PR comments

* Fix unit tests
2024-02-05 18:06:50 +02:00
Stefan Ceriu 197b088662 Add support for quick room search through the Cmd+K shortcut (#2363) 2024-01-29 14:55:11 +02:00
Stefan Ceriu f0d971c1ab Move the account migration screen to within the room list 2024-01-26 15:35:05 +02:00
Mauro 25ec8d2dcb UI POC for room list filters (#2382)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2024-01-26 09:43:05 +00:00
Mauro 550db5e377 Fix: Grey dot appears when you have unread messages that do not trigger a notification (#2371) 2024-01-23 15:14:53 +00:00
Mauro dd28261e1f Bump SDK + Mention Badge fix (#2367) 2024-01-22 17:43:39 +00:00
Mauro 74ec4f09ff Change Leave Room to Leave Conversation for DMs (#2354) 2024-01-18 15:48:11 +00:00
Mauro f844cd1a2f MentionBadge FF (#2281) 2023-12-22 17:57:07 +01:00
Mauro b4538b759f Revert "Mention badge + badge behaviour redesign" (#2283) 2023-12-22 09:44:10 +00:00
Stefan Ceriu 0ae71f740d Secure backup tweaks (#2277)
* Use a custom SDK build that might fix incomplete recovery state false positives. Enable chat backup by default

* Get rid of the chat backup feature flag

* Fix force unwrap warning

* Fix long line warning

* Prevent the recovery key confirmation banner popping up before the verification state is fetched. Stop showing secure backup user avatar and menu badges while the session is not verified.

* Switch back to the release version of the SDK

* Fix inconsistent session verification states, improve/simplify how to deal with it

* Fix unit tests

* Cleanup and hopefully simplify home screen banner presentations
2023-12-21 17:08:29 +02:00
Mauro d148827eae Mention badge + badge behaviour redesign (#2276) 2023-12-21 15:05:39 +00:00
Mauro 334d55aeaf Removed invites and feedback from the home menu (#2262) 2023-12-19 11:40:04 +01:00
Mauro 123164f398 Removing dead code part 2 (#2235)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-12-15 20:16:16 +01:00
Mauro d99d26fcdc Removing Dead Code part 1 (#2234) 2023-12-13 09:51:57 +01:00
Stefan Ceriu bec6cdac05 Secure backup tweaks (#2122)
* Show the recovery section if key backup is anything **but** disabled

* Don't show an action on secure backup if its current state is unknown

* Do not show a badge on the home screen avatar while the recovery state is unknown

* Do not assume key backup is disabled when its state is unknown. If the state is unknown, check if a backup exists remotely.

* Dedupe remote backup state requests and handle task cancellations
2023-11-21 10:59:10 +02:00
Stefan Ceriu f717c7dba4 Fix room list search bar focus glitches (#2112)
* Fixes #2112 - Room list search bar focus glitches

* Address PR comments
2023-11-17 18:08:29 +02:00
Stefan Ceriu 5c4e0bd76d Display whether a call is ongoing in any particular room on the room list 2023-11-13 17:02:02 +02:00
Stefan Ceriu 8d20cbfc68 Fixes #2040 - Prevent the room list from staying empty after cancelli… (#2041)
* Fixes #2040 - Prevent the room list from staying empty after cancelling a search

* Address PR comments, simplify implementation
2023-11-07 17:54:04 +02:00
Stefan Ceriu a837ce5cff Key backup Rust API adoption (#1952)
* Adopt Rust side secure backup APIs (incomplete, based on poljar/backup-pr)

* Implement the home screen recovery key confirmation banner.

* Update with the latest Rust changes.

The loading button for .unknown was incorrect. It should be treated as disabled.

---------

Co-authored-by: Doug <douglase@element.io>
2023-10-27 20:16:51 +01:00
Stefan Ceriu 37f1a79a11 Key backup returns (#1951)
* Converge on UserSessionFlowCoordinator logout confirmation

* Add logout confirmation screen strings to untranslated.

* Fix chat backup learn more URl fragment.

* Implement logout flows that check recovery and key backup for the last session

* Move logout confirmation screen strings to localazy

* Change encrypted timeline item copy to "Waiting for decryption key"

* Use different encrypted history banner based on key backup states

* Introduce a SettingsFlowCoordinator and implement navigation directly to the secure backup screen from the logout flows.

* Fix **mocked** secure backup controller flows

* Simplify encrypted history banner logic

* Address PR comments
2023-10-24 18:38:41 +03:00
Stefan Ceriu c8b9d95122 #1899, #1900, #1901 - Implement chat backup setting screens 2023-10-19 15:34:10 +03:00
Stefan Ceriu dad6560ed4 Room list searching tweaks (#1800)
* Prevent the room list from flashing previous rooms when searching

* Remove reset diff chunking now that the whole list is limited

* Bump the Rust SDK to v1.1.19 and fix breaking API changes
2023-09-26 14:33:15 +03:00
Stefan Ceriu 472ff53fe1 Remove debouncing from room list searches as everything is faster now 2023-09-18 15:41:56 +03:00
Stefan Ceriu be1543129a Cleanup home screen state handling after rust side fixes 2023-09-18 15:41:56 +03:00
Stefan Ceriu fe711a9a40 Change user display name and avatar (#1718)
* Fixes #1715, #1716 - Add new user profile editing screen

* Bump SDK, adopt new `client.removeAvatar()` method

* Address PR review comments
2023-09-15 16:20:33 +03:00
Stefan Ceriu a4e5e4f0ed Switch callbacks to combine (#1710)
* #750 - Convert the SoftLogoutScreen to combine

* #750 - Convert the UserSessionFlowCoordinator to Combine

* #750 - Convert the AnalyticsPromptScreen to Combine

* #750 - Convert the LoginScreen to Combine

* #750 - Convert the ServerSelectionScreen to Combine

* #750 - Convert the EmojiPickerScreen to Combine

* #750 - Convert the HomeScreen to Combine

* #750 - Convert the MediaUploadPreviewScreen to Combine

* #750 - Convert the OnboardingScreen to Combine

* Rename `Onboarding` to `OnboardingScreen`

* #750 - Convert the ReportContentScreen to Combine

* #750 - Convert the RoomDetailsSscreen to Combine

* #750 - Convert the RoomMemberDetailsScreen to Combine

* #750 - Convert the RoomMembersListScreen to Combine

* #750 - Convert the SessionVerificationScreen to Combine

* #750 - Convert the SettingsScreen to Combine

* #750 - Convert the AdvancedSettingsScreen to Combine

* #750 - Convert the DeveloperOptionsScreen to Combine

* Fix the unit tests

* Use .sink action and the same cancellables constructor everywhere

* Cleanup cancellables when setting up tests
2023-09-14 12:53:33 +03:00
Stefan Ceriu 9fbf70282e Fixes #1342 - Remove custom last message for rooms that don't have one 2023-09-13 18:05:09 +03:00
Nicolas Mauri 8268ecc036 Remove notification settings feature flag (#1693) 2023-09-13 12:05:32 +00:00
Stefan Ceriu d5e74907ad Fixes #1640 - Prevent loading skeletons from being dismissed too soon. Avoid weird animations caused by the session verification banner. 2023-09-13 12:36:26 +03:00
Nicolas Mauri 3ab7b1b1c7 Display the notification mode for each room in the the room list (#1595)
Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2023-08-31 11:15:38 +00:00
Stefan Ceriu b5c8676d95 Fix computing the time it takes to render the first rooms 2023-08-29 13:06:51 +03:00
Stefan Ceriu 82c3b0972d Move the firstRooms signposts to more relevant locations 2023-08-25 13:33:06 +03:00
Stefan Ceriu 6171d878b0 Signposting: split sync into initialSync and firstRooms which will track how long the very first sync takes separately from how long the first rooms appear in the list 2023-08-24 18:19:42 +03:00
Stefan Ceriu 276adb6084 Revert "Revert "Reduced room summary provider logging""
This reverts commit 78ce1577b4.
2023-08-23 16:17:49 +03:00
Stefan Ceriu 78ce1577b4 Revert "Reduced room summary provider logging"
This reverts commit 2b53104de1.
2023-08-23 11:04:10 +03:00
Stefan Ceriu 2b53104de1 Reduced room summary provider logging 2023-08-22 16:36:44 +03:00
Stefan Ceriu 269fd3d1f6 Switch entirely to dynamic room list entries (normalizedMatchRoomName brings the same behavior as the old implementation) and cleanup 2023-08-22 11:12:41 +03:00
Stefan Ceriu e1d41ad8a3 Rename fuzzy search feature flag to dynamic entries, use the new normalizedMatchRoomName filter and make sure we use the old roomList.entries api when the feature flag is disabled 2023-08-21 17:22:18 +03:00
Stefan Ceriu ff074e3fae Revert "Remove fuzzy searching entirely because of performance issues"
This reverts commit e86f65ad2d.
2023-08-21 17:22:18 +03:00
Stefan Ceriu e86f65ad2d Remove fuzzy searching entirely because of performance issues 2023-08-18 16:17:47 +03:00
Stefan Ceriu a11325bcb4 Fuzzy searching debouncing (#1506)
* Add debouncer to room list fuzzy searching

* Fix function_body_length violation

* Filter out search query changes if fuzzy searching is not enabled
2023-08-17 15:35:59 +03:00
Doug b2928a0dc6 Enable fuzzy search behind a feature flag. (#1490) 2023-08-14 16:41:41 +00:00
Stefan Ceriu c9d12122bf Revert "Adopt fuzzy searching through the RoomListService's dynamic filter" because of performance issues
This reverts commit e13e97400b.
2023-08-13 19:38:57 +03:00
Stefan Ceriu e13e97400b Adopt fuzzy searching through the RoomListService's dynamic filter 2023-08-12 09:47:09 +03:00
Stefan Ceriu 77061c4d7e Fix room list service cold cache support. Make sure we dispatch the initial room list and use it for computing the home screen state 2023-08-10 09:58:46 +03:00
Stefan Ceriu dd6d1f6e63 Tweak swiftlint settings 2023-08-08 11:48:40 +03:00
Doug 4eed77942f Add an empty state on the home screen. (#1450) 2023-08-07 10:10:42 +01:00
Michael Kaye 5e97a4a0fa Performance tests (#1301)
* Add signposts to performance tests.

- Update flow to include support for the migration screen.

* If the welcome screen shows, click on the button.

* Ensure a clean simulator each run.

* Add accessibility identifier for migration screen if required.

* Handle walking into the room and back out again.

* use iphone 14 pro to match what's used in xcode.

* Remove ApplicationTests as duplicated in LoginTests.

We measure app startup time in LoginTests as part of the flow - we may as well avoid spending 60s doing only that measurement in ApplicationTests

* Sleep 10s, the ui is otherwise showing up in random order.

* Revert "Remove ApplicationTests as duplicated in LoginTests."

This reverts commit 8670710315bcd0d6c3c3046f534b32b4c728b837.

* Update script to parse out correct values from results file.

* Allow cancellation of password prompt in any order.

* Remove test timeout, performance tests will always take a while.

* Adjust parsing further

* Remove ApplicationTests.

* Move to a more elegant way to wait for something to disappear.

* Linting.

* Fix unit tests.

---------

Co-authored-by: Doug <douglase@element.io>
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-11 10:32:24 +01:00