Commit Graph

371 Commits

Author SHA1 Message Date
Doug
1131c1949a Use a view controller for the timeline. (#359)
This exposes lifecycle methods and tidies up the Coordinator.
2022-12-12 11:21:43 +00:00
Stefan Ceriu
9abef3de6a Fixes #317 - Adopt a split layout for iPad and Mac apps
Rename navigation components: SplitScreenCoordinator -> NavigationSplitCoordinator, StackScreenCoordinator -> NavigationStackCoordinator and SingleScreenCoordinator -> NavigationRootCoordinator
[0c161039] Tweak navigation logging
[826c19cf] Move the navigation dismissal callbacks to the NavigationModule, add SingleScreenCoordinator tests
[b8830d9c] Add tests
[252ad119] Merge the StackScreenCoordinator and SplitScreenCoordinators into a single file and stop publicly exposing their internal workings. Add more documentation.
[37671699] Cleanup navigation logging
[51406184] Use the parent SplitScreenCoordinator to present embedded StackScreenCoordinator sheets
[b94b04c9] Retract the room "syncing" indicator when dismissing a room
[1467b0ac] Correctly move to the no room selected state when popping in compact layouts
[10bf2ad8] Allow nilling root coordinators, replace present/dismiss sheet with setSheetCoordinator(?)
[33716784] Add single screen coordinator fade transition animation
[3cbe65e7] Prevent the timeline table view from being reused between different rooms
[9c94c50b] Move files around
[c10b6bc5] Adapt the user session state machine to the split layout
[7115a319] Fix unit and UI tests
[1ece59e8] Fix login flows
[6884dc3b] Use modules everywhere the underlying object is a NavigationModule
[ab08d44c] Rename navigation components to: SingleScreenCoordinator, SplitScreenCoordinator and StackScreenCoordinator
[ada2be57] Add SplitNavigationController

* Remove the navigationRootCoordinator from the UserSessionFlowCoordinator
2022-12-12 12:31:27 +02:00
Aleksandrs Proskurins
910852028b Added schema to target.yml for IntegrationTests (#358)
* Added schema to IntegrationTests

* Environment variables

* Removed captureScreenshotsAutomatically
2022-12-08 16:50:12 +02:00
Aleksandrs Proskurins
1ee5f7a18a Update codecov (#356)
* Exclude files that don't belong codecov

* Start tracking coverage from integration tests

* Added IntegrationTests to targets

* Pbxpoj file
2022-12-08 08:09:18 +00:00
Stefan Ceriu
493cc08c03 Revert "Update default sliding sync proxy URL"
This reverts commit 44cdb46994.
2022-12-07 17:27:15 +02:00
Aleksandrs Proskurins
4273dcc3cb Send reaction method placeholder (#355)
* Send reaction method placeholder

* Removed unnecessary emoji skin parsing

* Code review fixes
2022-12-07 11:19:47 +00:00
Stefan Ceriu
9cf87d4166 Prevent the sliding sync proxy base URL value from being stored in the UserDefaults if it hasn't changed on homeserver confirmation 2022-12-07 09:44:10 +02:00
Stefan Ceriu
44cdb46994 Update default sliding sync proxy URL 2022-12-06 20:11:34 +02:00
Doug
854178ba72 Fix keychain access on macOS. (#354) 2022-12-06 17:39:15 +00:00
Aleksandrs Proskurins
0a87b38e62 Timeline Reactions: Emoji picker (#350)
* Screens template

* Loading and parsing

* Gridview

* New json

* Search method

* Unit tests

* Added emoji provider state

* Removed containsIgnoringCase

* Added plus icon, added double tap gesture, dismiss sheet after selecting emoji

* Renamed EmojisProvider to EmojiProvider

* Renamed EmojiPickerScreenScreen

* Extra padding

* Renamed EmojisLoaderProtocol

* Category names

* Moved method into public section of the class

* Return all categories when search string is empty

* Added cancel button and tittle

* Removed empty lines

* Removed swiftlint warning
2022-12-06 14:04:48 +00:00
Doug
0347632f13 Fail Unit Tests workflow when SwiftFormat fails. (#353) 2022-12-06 10:26:50 +00:00
Doug
347cb7d73a Use a UITableView component for the timeline. (#349)
* Use a collection view for the timeline.
* Switch to a table view.
2022-12-05 15:39:21 +00:00
Stefan Ceriu
d796636783 Fix tracing configuration unit tests 2022-11-29 18:39:37 +02:00
Stefan Ceriu
21545fe400 Fix incorrect tracing filter 2022-11-29 18:16:15 +02:00
Stefan Ceriu
6fd3a9e98a Replace invalidated rooms with empty summaries, fix duplicated identifiers in the home screen list 2022-11-29 12:43:29 +02:00
Stefan Ceriu
cc84dbf6e3 Add placeholder HTTPS_PROXY envar, disabled by default 2022-11-29 12:43:29 +02:00
Stefan Ceriu
5a7f630249 Disable home screen search bar autocorrection 2022-11-29 12:43:29 +02:00
Stefan Ceriu
d590c0a8c0 Workaround the NavigationController not releasing popped screens and clean up the roomScreen + timelineController + timelineProvider + roomProxy on stop() 2022-11-29 12:43:29 +02:00
Stefan Ceriu
7cb46186c4 Remove unused settings appearance section and txid handling warnings 2022-11-29 12:43:29 +02:00
Stefan Ceriu
df02fef22e Removed now unused loadDisplayName room proxy method 2022-11-29 12:43:29 +02:00
Stefan Ceriu
c1c5d399fa Move room user avatar and display name fetching to a serial queue 2022-11-29 12:43:29 +02:00
ismailgulek
e459223e39 Fix state machine crashes & background tasks (#343)
* Fix `UIApplication.shared` after moving to SwiftUI app

* Do not autoplay videos on background

* Move app state changes into the app coordinator

* Add application background task, move into the suspended state more accurately

* Add changelog

* Fix most of the linter errors

* Strip suspended state from state machine

* Fix build

* Clear audio session warning

* Update AppCoordinator.swift

* Update AppCoordinator.swift

* Swift format
2022-11-28 18:42:49 +03:00
Doug
d19ef51561 Match reaction alignment to message alignment. (#344)
* Match reaction alignment to message alignment.

* Add extra padding for clearer bubble alignment.
2022-11-28 11:54:00 +00:00
ismailgulek
4318449200 Image viewer (#338)
* Resume other app's music when video playback finished

* Remove old media player

* Add `isModallyPresented` into the video player screen

* Create image viewer screen

* Add test screen identifier

* Display image viewer when message tapped

* Fix template script unit test path

* Tweaks on scaling

* Commit project file

* Add changelog

* Ignore safe areas on the file preview screen

* Display images in preview

* Remove image viewer screen

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2022-11-28 11:19:40 +00:00
Stefan Ceriu
b470d80b3f Remove unnecessary marks, they bring little value 2022-11-28 12:46:06 +02:00
Doug
e5fbbd99d2 Add RUST_BACKTRACE environment variable (disabled) 2022-11-28 09:31:33 +02:00
Doug
b7a09364a6 Setup tracing with a typed configuration. 2022-11-28 09:31:33 +02:00
Doug
b0f235e5dc Stop making previews for light & dark colour schemes. (#345)
Xcode 14 now has preview variants for this.
2022-11-25 17:49:13 +00:00
Stefan Ceriu
82cd35b2d8 Set visible ranges on the home screen sliding sync view (#342)
* Set visible ranges on the home screen sliding sync view
* Prevent the visible items from being updated while in search mode
* Enable diffs on invalidations as they seem to fix duplicated events in the home screen room list
* Promoted some diffing logs to info from verbose
2022-11-25 17:50:43 +02:00
Stefan Ceriu
ac4e641d13 Switch back to the old room instead of the slidingSyncRoom for dealing with the timeline 2022-11-24 17:54:05 +02:00
Stefan Ceriu
348f238ec8 Remove sliding sync .live state check as it doesn't happen for selective ranged syncs 2022-11-24 17:54:05 +02:00
Stefan Ceriu
f18c829353 Add hard limit of 50 rooms to sliding sync and the home screen 2022-11-24 17:54:05 +02:00
Stefan Ceriu
5c621f0587 Fix rooms not showing up as placeholders after switching from the skeletons state 2022-11-24 17:54:05 +02:00
Stefan Ceriu
e10235a8bc Crash fixes (#337)
* Add diffing logs and be more aggresive about unexpected states
* Move diff collection on a serial queue
* Handle now optional `addTimelineListener` result
* Treat RoomSummaryProvider invalidations separately
* Bump RustSDK to v0.0.9-demo
2022-11-24 15:32:23 +02:00
Stefan Ceriu
d398fd510d Add missing NSE bundle display name
- ITMS-90360: Missing Info.plist value - A value for the key 'CFBundleDisplayName' in bundle ElementX.app/PlugIns/NSE.appex is required.
2022-11-24 10:35:53 +02:00
Stefan Ceriu
cec85ffcf1 Fix fastlane main target version fetching 2022-11-24 10:35:53 +02:00
Stefan Ceriu
e8d71df2a0 Fix app wide accent color 2022-11-24 10:35:53 +02:00
Stefan Ceriu
9dddfaea79 Reduce automatic back pagination delay to 0.25 seconds 2022-11-24 10:35:53 +02:00
Stefan Ceriu
3fd8642ce5 Reduced RoomSummaryProvider and RoomTimelineProvider throttle delay
Reduced RoomSummaryProvider throttle delay and disable the RoomTimelineProvider one entirely
2022-11-24 10:35:53 +02:00
Stefan Ceriu
4d5f97b384 Remove session restoration loading indicator as it's faster now 2022-11-24 10:35:53 +02:00
Stefan Ceriu
ad54b9e07b Bump the RustSDK to v0.0.8-demo 2022-11-24 10:35:53 +02:00
Stefan Ceriu
b1ab22ca7e Fix incorrect diffing behavior on replacement in both the timelineProvider and the roomSummaryProvider 2022-11-24 10:35:53 +02:00
Stefan Ceriu
0bb8688100 Switch to the sliding sync room for working with the timeline 2022-11-24 10:35:53 +02:00
Stefan Ceriu
540769a876 Add support for sliding sync cold cache 2022-11-24 10:35:53 +02:00
Stefan Ceriu
4c827a12aa UI test fixes (#335)
* Remove status bars when running UITests
* Remove simulator OS versions from screenshot names, be less lenient with image diffing
* Rename UITests splash screen to onboarding
* Switch tests to Xcode 14.1, remove version names for used simulators and switched from iPhone 13 Pro Max to iPhone 14
* Fix ServiceLocator and fallbackLaguage for UI tests
* Drop snapshot diffing precision to 0.99 as 0.999 triggers false negatives
* Fix server selection UI tests after exposing the sliding sync proxy configuration
* Update reference screenshots
2022-11-24 10:35:00 +02:00
Stefan Ceriu
354d2baa01 Specify and fetch the NSE provisioning profile when building Alphas (#334)
Specify and fetch the NSE provisioning profile when building Alphas
2022-11-23 14:02:54 +02:00
paleksandrs
f9f650d804 Changelog 2022-11-22 18:47:53 +02:00
paleksandrs
ee2468545d Timeline scrolling performance issues 2022-11-22 18:47:53 +02:00
Doug
b96205cac1 Use a VStack on the timeline (#332)
* Use a VStack for the timeline.

Replace edge publishers with a binding.

* Allow both top and bottom edges to be detected.

* Fix scrolling with frame changes.
2022-11-22 13:28:35 +00:00
Doug
075054c050 #305: Fix message composer padding with multiple lines. 2022-11-22 09:46:02 +00:00