4476 Commits

Author SHA1 Message Date
Stefan Ceriu 83e6ba8f6b Various sliding sync tweaks (#446)
* Refactor SS configuration and add (unfinished) support for adding views dynamically.

* Implement pop and clear support on the room summary provider

* Register views against sliding sync

* Read invalidated vislbeRoomsSummaryProvider from the allRoomSummaryProvider

* Switch SS window range setting from the ScrollViewAdapter to a publisher debounce

* Tweak allRoomsView addition: switch from listening the visibleRoomsView's state to when it publishes the first diff update

* Cleanup client delegate and sliding sync observers and lifecycle

* Bump the RustSDK to 1.0.30-alpha

* Reuse startSync within restartSync
2023-01-13 17:09:37 +02:00
Doug c383029203 QuickLook media. (#447)
* Use QL previews for video and present full screen.
* Use URL(staticString:) in more places.
* Fix DesignKit issues.
2023-01-12 17:37:33 +00:00
Stefan Ceriu 3153c0f0d9 Update feedback reporting service configuration 2023-01-12 15:24:31 +02:00
Doug e509165d52 Fix playback of encrypted videos.
Encrypted videos from Element iOS were being stored with a `.Video` extension which was confusing AVFoundation.
2023-01-12 10:33:30 +02:00
Stefan Ceriu 62c3159694 Expose the current device identifier in settings (#442) 2023-01-11 17:08:20 +00:00
Stefan Ceriu 95137c0f7a Move the RoomSummaryProvider id based room updated to the same serial dispatch queue as the normal diffing. Cleanup logging and RoomTimelineProvider diffing 2023-01-11 17:28:12 +02:00
manuroe 3d06190b13 GH board: Send all issues to the EX board (#439)
We will be able to triage everything in one place
2023-01-11 15:57:34 +01:00
Stefan Ceriu 357d493e5a Various fixes (#437)
* Fix information leaking on RoomSummaryDetails logging

* Prevent crashes when force quitting the application

* Cleanup crash detected alert presentation and exposed home screen view model actions

* Fixes #340 - Wait for logout confirmation before changing the app state

* Add changelogs

* Fix unit tests

* Add missing softLogout logout handling
2023-01-11 15:10:26 +02:00
Doug 99e7f76ca0 Update danger image, fix snapshots (#436) 2023-01-11 11:01:33 +00:00
Doug 08b333839a Fix back pagination (#432)
* Use pagination and start items for view state.

isBackPaginating and canBackPaginate are updated each time the timeline is rebuilt

* Update some timeline snapshots

The top section has gone, which has altered the layout slightly.
2023-01-11 09:11:36 +00:00
Stefan Ceriu 3d1266ca25 Room list fixes (#431)
* Fixes #396 - Avoid duplicates in room list, cleanup logic throughout

* Re-enabled the allRoomsView with a hard 500 room limit and reduced the diffing collection time.

* Fixes #385, #411 - Filter out spaces, invites and tombstoned rooms from the room list

* Various tweaks following code review
2023-01-10 17:34:42 +02:00
Doug edc06bf662 Fix UI tests hanging. (#429)
* Only use Client for UI test signalling.

Make the server listen and return a client.

* Refactor to Listener and Connection.

Matches Network.framework naming.

* Wait until the connection is ready before setting the established connection.

* Docs and fix method name.

* Fix CI issues.

- Use Bonjour to allow multiple devices running simultaneously.
- Sleep after establishing the connection to fix issues on Intel.
2023-01-10 14:10:30 +00:00
Stefan Ceriu d70a240869 New timeline items (#424)
* Cleanup session verification state machine configuration

* Add support for new timeline items: loading indicators, stickers and invalid/unsupported events

* Add sticker accessibility label, fix session verification ones

* Add support for the new TimelineStart timeline item and new pagination API. Remove identifiers from individual timeline items and only set them in the TimelineTableViewController

* Add changelog
2023-01-10 13:41:07 +02:00
Stefan Ceriu 956e92a9ac Add support for manually starting SaS verification flows and accepting remotely started ones 2023-01-10 13:41:07 +02:00
Doug 7888736a4d Remove French Locale from UI tests. (#420)
* Remove French Snapshots.

* Remove unused sources from UITests.
2023-01-06 16:11:25 +00:00
Aleksandrs Proskurins bf9b82334d User sessions tests (#390)
* User sessions tests

* Refactor

- Merge SessionVerificationControllerProxyMock into MockSessionVerificationControllerProxy.
- Merge ClientProxyMock into MockClientProxy.
- Simplify naming.

Co-authored-by: Doug <douglase@element.io>
2023-01-06 10:53:19 +00:00
Stefan Ceriu 34eb835a0b Storage location change (#404)
* Remove LegacyRestorationToken and handling
* Fixes #389 - Migrate and store session data in Application Support instead of Caches
2023-01-06 10:27:27 +02:00
Aleksandrs Proskurins e573bc0dd2 Added MediaProvider tests (#386)
* Media provider tests

* Moved classes to separate files

* Moved image file

* Removed unused image file

* Rebase and refactor.

Replace removed error type.
Refactor XYZMock to MockXYZ.

Co-authored-by: Doug <douglase@element.io>
2023-01-05 18:20:49 +00:00
Doug e4d087a0a4 Replace completion handlers with async/await. (#407) 2023-01-05 16:43:41 +00:00
Doug 51e300642c Timeline UI Tests (#380)
* Add signalling between UI tests and the app.

* Fix navigationStack on roomLayout screens and update screenshots

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2023-01-05 16:35:20 +00:00
Doug 530ae336ab Minor fixes. (#406)
* Use the links colour from Compound for links.
* Avoid constantly recomputing the RoomScreen view hierarchy while scrolling.
2023-01-05 11:06:49 +00:00
networkException fd42beeaf8 Fix build badge in the README
This patch updates the link used in the build badge readme to follow the
new format required by shields.io. Note that the badge now only reflects
the status of the unit_tests.yml workflow which presumably was not the
case when referencing by title was still possible (the title probably
matched ui and unit tests).

See https://github.com/badges/shields/issues/8671
2023-01-05 12:03:57 +02:00
Element CI 5c92e0b2fe Prepare next release 2023-01-04 12:09:31 -08:00
Stefan Ceriu 1eab4e0640 Revert "Enable the allRooms sliding sync view"
This reverts commit 9932e3e349.
2023-01-04 22:00:35 +02:00
Element CI 6df6417cfb Prepare next release 2023-01-04 10:49:00 -08:00
Stefan Ceriu c661b24f08 Bump the RustSDK to v1.0.27-alpha 2023-01-04 20:39:24 +02:00
manuroe 0e60bcaa25 Tweaks timeline pagination sizes
We need at least one screen of content when opening a room. We used 30 on EI for big devices.
2023-01-04 20:26:14 +02:00
Stefan Ceriu 9932e3e349 Enable the allRooms sliding sync view 2023-01-04 19:06:28 +02:00
Stefan Ceriu 1b83d77c78 Animate various room list components 2023-01-04 19:06:28 +02:00
Stefan Ceriu 9926cd363c Respect bottom safe areas in the room list 2023-01-04 19:06:28 +02:00
Stefan Ceriu a8c06e7bd3 Fix a couple of warnings 2023-01-04 19:06:28 +02:00
Stefan Ceriu cc51795bf0 Enable the sliding sync timeline api. Start observing updates coming through the TimelineListener before addining a timeline listener on the Rust side 2023-01-04 18:15:53 +02:00
manuroe 77d62b2c72 Avoid the "Failed to load messages" popup when all messages have been loaded 2023-01-04 12:11:08 +02:00
Stefan Ceriu ed0ebc0f8f Bump the RustSDK to v1.0.26-alpha 2023-01-04 11:40:18 +02:00
manuroe 461895e8df Fix stuck timeline pagination because of too many membership events
Requires https://github.com/matrix-org/matrix-rust-sdk/pull/1314
2023-01-04 11:40:18 +02:00
Element CI 9ca7f4cb4d Prepare next release 2022-12-22 04:09:06 -08:00
Stefan Ceriu ac77743c7a Add retry decryption encrypted timeline item debug menu option (#384)
* Fixed a couple of warnings (+2 squashed commits)
Squashed commits:
[21fbc3b0] Add changelog
[abb092c6] Add retry decryption encrypted timeline item debug menu option

* Cleanup room list state computations

* Bump the RustSDK to v1.0.25-alpha

* Fix brew CI errors: remove imagemagick and brew lock file entirely

* Fix release script version bumping

* Bump ruby dependencies
2022-12-22 13:59:38 +02:00
Stefan Ceriu 131197b7d7 Add timeline day separators and read markers (#383)
* Add timeline day separators and read markers
2022-12-21 15:35:45 +02:00
Aleksandrs Proskurins a9f2e1bdf8 Added unit tests for NotificationManager (#376)
* NotificationManager tests

* More unit tests

* More tests, moved classes to separate files

* Removed warnings

* UserNotificationCenterProtocol as AnyObject

* Reverted back Package.resolved
2022-12-21 10:06:30 +00:00
Stefan Ceriu 71f1f044c7 Various tweaks (#381)
* Add the message delivery status to the plain timeline styler and display it outside of the main content

* Fix glitchy timeline scroll to bottom button

* Fixed bubbled reactions padding

* Simplified the emoji picker, double tapping a timeline item directly opens it now and added a context menu option. Linked it to rust side reaction sending

* Fix the sliding sync cold cache: treat invalidated rooms as filled

* Make splash screen view full screen

* Fix the offline indicator popping up when first setting up the network monitor

* Expose presentationDetents on the NavigationStackCoordinator and start using them for the EmojiPicker

* Fix link tint color

* Linked TimelineReactionsView reaction sending

* Remove now unused/unnecessary classes

* Add changelog

* Fix formatting issue
2022-12-21 11:18:45 +02:00
Stefan Ceriu 5b9d45e461 Increased fastlane xcode timeouts and integration login test expected duration (again!) 2022-12-20 12:45:00 +02:00
Stefan Ceriu 39fcd3b9c9 Fixes #258 - Display an indicator if the network is currently unreachable (#379) 2022-12-19 18:29:14 +02:00
Stefan Ceriu e0e2d26b4b Fixes #351 - Replace Syncing toast indicator with an in-timeline loading activity indicator (#378) 2022-12-19 16:25:41 +02:00
ismailgulek 1a47fd1a8d Room details screen (#348)
* Create screen module

* Display details on header tap

* Add strings

* Add room avatar size on details

* Update members method signature

* Use room proxy values

* Create room members screen

* Display room members on tap

* Update previews and mock room proxy

* Commit project file

* Various tweaks and cleanup following code review

* More small tweaks + UI and screenshot tests

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2022-12-19 14:39:33 +02:00
Doug 4b29318147 Use matrix-rust-sdk for local development. (#377)
The SDK will be setup as a Swift package when using the Swift xtask so this is a much easier way to do local dev (for anyone who doesn't want to use #362).
2022-12-19 11:28:56 +00:00
Stefan Ceriu c466786875 Fixes #329 - Simplify video player UI until we agree on final designs. (#375) 2022-12-19 12:17:37 +02:00
Element CI 787175fb0a Prepare next release 2022-12-16 14:45:47 +02:00
Stefan Ceriu 3cd09dc3fe Fix build error 2022-12-16 14:12:13 +02:00
Stefan Ceriu 49d9355cca Remove UI and Integration tests from the ElX target, add IS_RUNNING_UNIT_TESTS envar (#374) 2022-12-16 14:07:42 +02:00
Stefan Ceriu ab10278ff5 New SlidingSync flow (#373)
* Switch back to using slidingSync rooms for timeline listeners

* Expose 2 types of slidingSync views from the clientProxy and combine their results for the roomList

* Fix breaking api changes

* Remove sender mxids from the room list (until rust provides resolved display names)

* Bump RustSDK to v1.0.22-alpha

* Rename originServerTs to timestamp throughout

* Simplified sliding sync view list merging

* Rollback some SS changes as things still don't work properly

* Revert "Switch back to using slidingSync rooms for timeline listeners"

This reverts commit 1d6a6c09d8ddf386edefbe0ac6beaf52cc333fba.
2022-12-16 14:05:08 +02:00