4456 Commits

Author SHA1 Message Date
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
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>
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
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 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
Stefan Ceriu e979bd808b UI test fixes (#235)
* Fix UI test simulator versions
* Pin the used Xcode version used by fastlane to `~> 14.0.1`, as simctl status_bar overrides don't work on the Xcode14.1 RC
* Update base screenshots, fix status bar script warning, fix settings screen test
2022-10-19 21:01:35 +03:00
Stefan Ceriu dfb414c26e Prevent Unable to activate constraint with anchors .. because they have no common ancestor. crashes. Only link toasts to the top safe area instead of the navigation controller 2022-10-19 12:30:24 +03:00
ismailgulek 4fc7bf3d6c Stop syncing on resign active and start again on resume (#232) 2022-10-17 18:23:12 +03:00
Doug 0e90bff34c Switch to Xcode 14 and handle the UICollectionView-backed List. (#229)
* Fix Timeline on Xcode 14/iOS 16

Raise requirement to iOS 16+
Reduce pagination jumping.
Sonarcloud fixes.
Fix verification test.
Adopt if let optional { syntax.

* Remove unused ScrollViewReader

The ScrollViewReader didn't appear to change the behaviour.

* Fix warnings on Run Scripts.

Run script build phase 'SwiftLint' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase.
2022-10-17 09:56:17 +01:00
Stefan Ceriu 5e1057ecab Attempt at introducing codecov flags and carry them forward between test runs 2022-10-16 11:04:17 +03:00
Johannes Marbach 27f681440b Add notes for how to debug the network traffic (#223)
* Add notes for how to debug the network traffic

* Add changelog

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2022-10-14 13:13:57 +00:00
Johannes Marbach 342d25f4c1 Include app name in default session display name (#227) 2022-10-14 12:44:41 +00:00
Stefan Ceriu 7204ca5d45 Add xcode-install gem 2022-10-14 15:14:48 +03:00
Stefan Ceriu 49ee365a5e Only build alpha builds when PR labelled as Trigger-PR-Build 2022-10-14 15:14:48 +03:00
Stefan Ceriu 8f96dc3303 Attempt fixing session verification cancellation test flakiness and pinning the Xcode version on all workflows 2022-10-14 15:14:48 +03:00
Stefan Ceriu e2af796d4a Fix strong reference cycle between RoomProxy and RoomTimelineProvider 2022-09-29 09:05:04 +03:00
Johannes Marbach 40d80e1b90 Correct changelog entry 2022-09-28 21:27:02 +03:00
Johannes Marbach b9001db272 Add back project config 🤦‍♂️ 2022-09-28 21:27:02 +03:00
Johannes Marbach 604c2a007e Remove markdown files and project config 2022-09-28 21:27:02 +03:00
Johannes Marbach bf56062431 Include changelog.d and other common files in Xcode project
Fixes: #218
2022-09-28 21:27:02 +03:00
manuroe e618d9b028 Update some copyright headers 2022-09-28 12:56:10 +03:00
Stefan Ceriu 9e16e2f729 Move WeakDictionary to the Vendor folder and clarify where it comes from and under what license 2022-09-28 12:20:54 +03:00
ismailgulek 29f61461aa Update snapshotting library to 1.10.0 (#215) 2022-09-28 10:25:59 +03:00
Stefan Ceriu 98de77679b Fix UI tests 2022-09-26 16:03:34 +03:00
Jonas Platte 730ada69a0 Run unit test on pull request HEAD
… instead of on a merge commit.
2022-09-26 08:49:17 +03:00
Stefan Ceriu cbb0ec5063 Introduced a UserSessionFlowCoordinator and split up the AppCoordinator state machine (#212) 2022-09-25 12:34:11 +03:00