327 Commits

Author SHA1 Message Date
Stefan Ceriu
1102580d6c
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
e22c038a0f
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
7bc02c5ccb Changelog 2022-11-22 18:47:53 +02:00
paleksandrs
193c97de6d Timeline scrolling performance issues 2022-11-22 18:47:53 +02:00
Doug
5c4ca74426
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
6c2ea61585
#305: Fix message composer padding with multiple lines. 2022-11-22 09:46:02 +00:00
ismailgulek
d389ce7ad7
Notifications (#275) 2022-11-21 19:37:13 +03:00
Stefan Ceriu
9f3ed6ca7b Revert "Force the timeline to stay at the bottom when first loading"
This reverts commit ef8d2303289782eb46bb960a03b04985fb1db168.
2022-11-21 15:02:28 +02:00
Stefan Ceriu
ef8d230328 Force the timeline to stay at the bottom when first loading 2022-11-21 11:11:58 +02:00
Stefan Ceriu
3e1fde6442 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
711c16cc2a Decrease timeline back pagination size from 50 to 20 2022-11-21 11:11:58 +02:00
Aleksandrs Proskurins
9d6495d14a
Send messages on return (#325)
* Send messages on return

* Formating

* Changelog
2022-11-18 15:43:03 +00:00
Doug
ba684d8efb
#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
77a0d5a58f
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
276daf0355 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
2fd0491a18
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
af85c770da Prepare next release 2022-11-16 03:51:18 -08:00
ismailgulek
287fa4cad5
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>
1.0.8
2022-11-16 11:34:37 +00:00
Stefan Ceriu
ce6b0041d2 Fixes #296 - Improved bubble timeline item corner radii 2022-11-16 11:22:57 +02:00
Stefan Ceriu
2bce779206 Revert timeline item scrolling change in 3401d7a that seems to have introduced regressions. 2022-11-15 15:42:20 +02:00
Aleksandrs Proskurins
1c4dc89627
Update documentation files (#313)
* Updated md files

* Changelog

* Update CONTRIBUTING.md

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

* PR fixes

* Update README.md

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

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2022-11-15 11:49:13 +02:00
ismailgulek
2e56fe9380
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
8f1e8e6c2a Prepare next release 2022-11-10 03:55:22 -08:00
ismailgulek
3401d7a7e2
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
1.0.7
2022-11-10 11:41:38 +00:00
ismailgulek
9f12b34a98
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
ismailgulek
6c6c188f73
Regex: Fixes Permalink action on timeline (#303) 2022-11-09 11:20:19 +00:00
Stefan Ceriu
cbb69624b0 Use an AppStoreConnect API key instead of username:password for alpha builds 2022-11-09 10:53:49 +02:00
Stefan Ceriu
89742ceb53
Non-decryptable timeline items and debug menu (#300)
* Fixes #292 - Added a timeline item context menu option for printing and showing their debug description
* Fixes #291 - Add support for non-decryptable timeline items
2022-11-08 11:17:38 +00:00
ismailgulek
7a7680b165
Reset keyboard after message sent (#299) 2022-11-08 13:04:18 +03:00
Stefan Ceriu
05986cd785 Update timeline UI test reference screenshots after changing bubble rendering 2022-11-07 11:42:47 +02:00
Stefan Ceriu
fcd94fca31
Fixes #271 - Allow bubbles to horizontally fill the available space (#290)
* Fixes #271 - Allow bubbles to horizontally fill the available space
* Set the existing timelineItems on the timeline when appearing. This fixes UI tests in which items exists without the need for backpagination. It also presumably will fix the timeline when having cached data.
2022-11-04 17:16:39 +02:00
Stefan Ceriu
162830086f Fixes #273 - Remove home screen animations 2022-11-04 15:51:18 +02:00
Stefan Ceriu
37cfb8f50e Fixes #239 - Use new restoration token format, pass stored homeserver url to the client builder when restoring, dropping the need for a network request
- bumped the rust sdk to v1.0.17-alpha
- move all UserSession related files to Services/UserSession
2022-11-04 15:44:18 +02:00
Kat Gerasimova
2e86313965 Update issue automation
Stop using deprecated ProjectNext API in favour of the new ProjectV2 one
2022-11-03 12:25:16 +02:00
Element CI
4613067d0f Prepare next release 2022-11-02 08:36:03 -07:00
ismailgulek
f6a599a51b
Concurrency Fixes (#283)
* Review places where MainActor used

* Adapt to MainActor changes, avoid redundant task detachments

* Move Rust client operations into a dedicated concurrent queue, make init async

* Add changelog

* Fixed small working for awaiting non-async method

* Remove some redundant tasks

* Put back some main actors

* Fix tests

* Fixed timeline updates when the number of items doesn't change. Keeps more previous home screen room data between reloads

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
1.0.6
2022-11-02 18:25:46 +03:00
Stefan Ceriu
965569aae2
Fixes #279 - Fix plain timeline style layout, fix various TimelineViews' previews (#284) 2022-11-02 12:06:10 +00:00
Stefan Ceriu
fabb0bc95f
New timeline (#276) (#280)
* Fixes #276 - Rebuilt room timeline:
    - Removed the need for the ListCollectionViewAdapter
    - Rewrote the TimelineItemList without using introspection
    - Added ReversedScrollView for laying out items at the bottom/trailing
    - Rewrote TimelineProvider diffing through CollectionDifference (similar to the RoomSummaryProvider)
    - Added back `scrollDismissesKeyboard`  behavior
    - Various other tweaks and fixes
- Fixed various warnings:
    - removed async AttributedStringBuilder as AttributedString is non-sendable, made the RoomTimelineItemFactory synchronous
    - removed unused virtual timeline items
    - removed unused isOutgoing property from the FormattedBodyText
* Make TimelineItemContextMenuActions indentifiable and specify contextMenu identifiers
* Bump the matrix-rust-components-swift to v1.0.16-alpha
* Add changes file and changelog contribution guide
* Fix attributed string builder unit tests
2022-11-02 13:03:34 +02:00
Stefan Ceriu
b270b8a30e
User session state machine crashes (#281)
* Fix #277 - UserSession state machine crashes on foregrounding and add the bug report screen to it
* Rename home screen actions
2022-11-02 12:44:51 +02:00
Element CI
d398b96abd Prepare next release 2022-10-28 07:23:01 -07:00
Johannes Marbach
09b2f939ab
Fixes #225 - Use a properly defined user agent
* Set a proper user agent
* Add fallback when UA comes out nil
* Remove unused Bundle extension
* Return nil when asciification fails
* Add whitespace handling and further emoji test case
* Explicitly check if string is already in ASCII
* Rename factory to builder
* Use allSatisfy instead of reduce
* Use key path syntax
1.0.5
2022-10-28 17:11:10 +03:00
Stefan Ceriu
ba4064cc2c
Enable e2ee support (#274)
* Enable sliding sync common extensions and session verification banner display; fix user session flow coordinator state machine
* Fixed a couple of deprecation warnings
* Add missing `m.room.encryption` required state
* Switch to rust-sdk v1.0.15-alpha and add changelog
2022-10-28 17:08:51 +03:00
Stefan Ceriu
3be0afd358 Only run validate-lfs nightly instead of on pull_requests so it doesn't count as much to the lfs 1gb quota 2022-10-27 18:18:52 +03:00
Stefan Ceriu
8de0c008db
Fixed XcodeCloud release workflows (#268)
* Export python 3.9 path and fix towncrier
* Fix Xcode Cloud git setup
2022-10-26 18:06:02 +03:00
Stefan Ceriu
2da3395145
Switch to system monospaced font and reduce its size so it stops looking bigger than the rest of the messages 2022-10-26 18:05:13 +03:00
Stefan Ceriu
df633030c3 Prepare next release 2022-10-25 16:08:09 +03:00
Stefan Ceriu
8ad77036fc Remove prepare_next_release step from release flows as we need to configure an upstream and a custom user to commit back to git 1.0.4 2022-10-25 15:09:11 +03:00
Stefan Ceriu
50ddecbe3a
Bump project to the latest RustSDK release version (#265) 2022-10-25 14:19:23 +03:00
Stefan Ceriu
80babf1cd8
Xcode Cloud Support (#234)
* Removed now unnecessary code from alpha builds
* Add nightly build configuration
* Update ruby dependencies
* Stop changing the app name for PRs and Nightly, the icon is sufficient
* Add ITSAppUsesNonExemptEncryption flag as per https://developer.apple.com/documentation/bundleresources/information_property_list/itsappusesnonexemptencryption and https://stackoverflow.com/questions/35841117/missing-compliance-status-in-testflight
* Updated app groups to reflect various environments: production, nightly and PR. Remove keychain access group as they should be inferred from the access groups
2022-10-24 16:00:17 +03:00
Stefan Ceriu
aa5a2e0ee8
Integration tests: Increase XCTApplicationLaunchMetric limit (#241)
Increase XCTApplicationLaunchMetric limit. There's no reason to believe this was caused by any change of the app itself but on the Github infra. It started happening on the 4th of october with no code being commited between the 29th of September and the 14th of October.
2022-10-24 12:53:57 +03:00