Commit Graph

262 Commits

Author SHA1 Message Date
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
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
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
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
ismailgulek
5d92a7d85d Notifications (#275) 2022-11-21 19:37:13 +03:00
Stefan Ceriu
f1c22ea9e0 Revert "Force the timeline to stay at the bottom when first loading"
This reverts commit 71bcbf488d.
2022-11-21 15:02:28 +02:00
Stefan Ceriu
71bcbf488d Force the timeline to stay at the bottom when first loading 2022-11-21 11:11:58 +02:00
Stefan Ceriu
30739038fe Switch the roomSummaryProvider and roomTimelineProvider to collect on the default global queue instead of background 2022-11-21 11:11:58 +02:00
Stefan Ceriu
4614850d77 Decrease timeline back pagination size from 50 to 20 2022-11-21 11:11:58 +02:00
Aleksandrs Proskurins
92846274cc Send messages on return (#325)
* Send messages on return

* Formating

* Changelog
2022-11-18 15:43:03 +00:00
Doug
6e06d92023 #166: Re-write MXLogger in Swift
* Add logging tests that cover file rotation.

* Re-write MXLogger in Swift.
2022-11-18 15:02:01 +00:00
Aleksandrs Proskurins
08f4821e7f Introduce sending and sent state for timeline messages (#319)
* Updated md files

* Changelog

* Update CONTRIBUTING.md

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>

* PR fixes

* Sending state in the timeline

* Changelog

* Formating

* Project file

* Make MessageTimelineItemDeliveryStatus Equatable

* Renamed seconds ago to elepsed time

* Moved show/hide logic into TimelineDeliveryStatusView

* Hide view when unknown status

* Added delivery status for other items

* Cleanup

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2022-11-17 15:47:28 +00:00
Stefan Ceriu
a055341161 Expose sliding sync proxy URL on the server selection screen; make app more resilient to slidinc sync configuration errors, remove fatal errors 2022-11-17 14:04:24 +02:00
Stefan Ceriu
8d2e30c0b6 SwiftUI NavigationController and UserNotificationControllers (#309)
* Fixes #286 - Adopted the new SwiftUI NavigationStack based NavigationController throughout the application
* Fixes #315 - Implemented new user notification components on top of SwiftUI and the new navigation flows
* Add home screen fade animation between skeletons and real rooms
* Bump the danger-swift version used on the CI and swiftlint with it
* Renamed Splash to Onboarding, Empty to Splash
2022-11-16 13:37:34 +00:00
Element CI
d2bc816b14 Prepare next release 2022-11-16 03:51:18 -08:00
ismailgulek
84794164da File messages on timeline (#311)
* Create media player screen

* Introduce `FileCache` to cache message attachments

* Add file loading functionality into the media provider

* Process tap action on timeline items

* Pass item taps to view model

* Navigate to media player on view model callback

* Commit project file

* Add changelog

* Add file messages into the timeline

* Create file preview screen

* Display files in the preview screen

* Commit project file

* Update Rust SDK to 1.0.19-alpha

* Add changelog

* Bump the RustSDK to `v1.0.20-alpha`

* Configure audio session on video playback

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2022-11-16 11:34:37 +00:00
Stefan Ceriu
ea43db802c Fixes #296 - Improved bubble timeline item corner radii 2022-11-16 11:22:57 +02:00
Stefan Ceriu
f7ae8e86b9 Revert timeline item scrolling change in 05233dc that seems to have introduced regressions. 2022-11-15 15:42:20 +02:00
ismailgulek
d44adafb3b Video playback (#308)
* Create media player screen

* Introduce `FileCache` to cache message attachments

* Add file loading functionality into the media provider

* Process tap action on timeline items

* Pass item taps to view model

* Navigate to media player on view model callback

* Commit project file

* Add changelog

* Rename media to video

* Add a loader when large videos being processed

* Add back button explicitly on video screen, fixes for light scheme

* Handle right swipe to dismiss video
2022-11-14 08:58:18 +00:00
Element CI
9959ac03d6 Prepare next release 2022-11-10 03:55:22 -08:00
ismailgulek
05233dcf5b Message editing (#298)
* Add translation for editing mode

* Add `is_editable` flag to timeline item

* Add edit api implementation

* Add edit context menu action

* Add changelog

* Update Rust package

* Add isEditable into video timeline item

* Fix cyclomatic complexity

* Fix video item thumbnail loading

* Fix not updating timeline layout
2022-11-10 11:41:38 +00:00
ismailgulek
34a5b53038 Video messages on timeline (#304)
* Create timeline item and view for video

* Create video timeline items in factory, do not bubble them

* Add changelog

* Update packages

* Revert DTCoreText update
2022-11-10 13:45:35 +03:00