25 Commits

Author SHA1 Message Date
Doug
cfaa1b455a
Use the new preview screen when tapping media on the room and pinned events screens. (#3736)
* Use the new TimelineMediaPreview modifier on the room and pinned timeline screens.

* Use the same presentation logic for all timeline media previews.

* Fix a bug with the detection of the timeline end.

* Send pagination requests from the media preview screen.

* Add SwiftLint to the Danger workflow (it is no longer installed on the runner).

* Put SwiftLint back on all of the GitHub runners too.

* Set the function_parameter_count lint rule to 10.

* Make sure to clean-up any previews when the coordinator is done.

* Handle the viewInRoomTimeline action more appropriately.
2025-02-05 13:27:23 +00:00
Stefan Ceriu
caaa89af62
Media gallery - part 1(#3588)
* Introduce a `MediaEventsTimelineFlowCoordinator`
* Update SDK API and architecture
* Add a feature flag, add translations
* Move the media events timeline presentation under the room flow coordinator state machine
* Rename `TimelineViewState.timelineViewState` of type `TimelineState` to `timelineState`
* Enabled SwiftLint's `trailing_closure` rule and fix the warnings.
2024-12-06 16:58:14 +02:00
Doug
c264e9e590
Use the UIColors directly instead of wrapping the SwiftUI Colors. (#3324) 2024-09-24 12:24:03 +01:00
Mauro
d437e1f3ed
Pinning items Feature Flag (#3063) 2024-07-18 18:28:30 +02:00
Doug
2c1e61a1bc
Add SwiftLint rule to enforce stack spacing. (#2080)
Xcode 15 changes the default behaviour and given we're always working from designs, we shouldn't rely on it for our layout.
2023-11-14 12:38:38 +00:00
Stefan Ceriu
abe2080ee2
Extract room screen action handling into separate component (#2045)
* Extract room screen action handling into separate component

* Fix tracing configuration unit tests

* Move the custom reactionsCollapsedBinding to the TimelineReactionsView

* Move voice message playback handling from the timelineController to the room view model

* Reorder methods

* Remove the need for a media player provider in the timeline controller

* Move room attachments opening to the view model, remove the need for a media provider in the timeline controller

* Rename RoomScreenActionsHandler -> RoomScreenInteractionHandler

* Move message sending retry and cancellation to the timeline controller.

* Move audio playback, attachment loading and  user tapping handling into the InteractionHandler

* Fix unit tests

* Switch back swiftlint file_length rule error to 1000 lines
2023-11-08 18:31:39 +02:00
Nicolas Mauri
2f57fbc77d
Allow to record a voice message (#1926) 2023-10-23 15:47:36 +00:00
Stefan Ceriu
72a96b6850
Advanced settings fixes (#1857)
* vector-im/element-meta/issues/2042 - Fix advanced options ordering and capitalisation

* Bump swiftlint's type_body_length warning to 1000, make it match error.

* Fix unit tests
2023-10-05 17:26:02 +03:00
Mauro
9d91cd4fc0
Preview Tests (#1768)
* preview testing

* removed some views that are not really testabl in UnitTests and improved other tests
2023-09-20 17:33:31 +02:00
Mauro
341b177e23
Prefire basic implementation (#1743)
* prefire basic implementation

force the unit tests to run on iPhone 14

skipping plugin validation

archive artifacts

better workflow

removed the OS restriction

lfs

custom stencil

new test file

deleting

* git lfs

* lfs

* test

* customised the stencil to support our internal protocol

* for now we can remove the OS check from the stencil

* added a delay

* tests have been moved

* improvement

* recommit

* perceptual precision lowered

* updated snapshot testing and selected also iOS version

* added ios version control
2023-09-20 14:07:18 +02:00
Stefan Ceriu
dd6d1f6e63 Tweak swiftlint settings 2023-08-08 11:48:40 +03:00
Stefan Ceriu
28c2490910 Adopt batched timeline diffs and other RustSDK changes 2023-08-02 12:08:57 +03:00
Stefan Ceriu
652fd3cf76
Room list service (#1138)
* Adopt the new RoomListService

* Use client.roomListWithEncryption

* Store the roomList so that it doesn't get dropped and create problems on the rust side

* Use roomListService instead of old roomList client method

* Added back documentation removed by mistake

* Tweaks following code review, SDK bump
2023-06-22 19:59:32 +03:00
Doug
1ca717219a
Disable unhandled_throwing_task rule. (#890) 2023-05-12 17:45:14 +01:00
Doug
872c911cb5
Use files instead of UDP for signalling. (#585) 2023-02-15 14:02:50 +00:00
Doug
6211f121a0
Enable shorthand_optional_binding SwiftLint rule. (#582) 2023-02-15 09:34:48 +00:00
Stefan Ceriu
f2f8872729 Add function_body_length swiftlint rule with default values in an attempt to fix false positives on the CI (DangerSwift) 2023-02-06 18:17:32 +02:00
Stefan Ceriu
4660f096f8
Fixes vector-im/element-x-ios/issues/117 - Event permalink timeline action
* moved NSRegularExpression outside of the AttributedString builder into the MatrixEntityRegex
* fixed eventId v3 regex
* added permalink builders for users, room identifiers and aliases, and events
* added timeline item permalink contextual menu actions and error alerts
* added an app wide ServiceLocator and moved the top level userIndicatorPresenter to it.
* added URL constructor that takes a StaticString and returns an non-optional
* Include Unit and UI tests in the swiftlint search paths
2022-09-12 21:34:53 +03:00
Stefan Ceriu
78df4abc7f
#49, #123 - Setup UI integration and performance testing (#148) 2022-08-18 16:32:29 +03:00
Stefan Ceriu
2256d49b35 Increase allowed type body lengths from 200 to 700 2022-06-06 13:05:47 +03:00
Stefan Ceriu
fd23649f95 Include templates in the swiftlint search path. Fixed warnings. 2022-05-12 14:06:58 +03:00
Stefan Ceriu
b89d4917ec Opt out of the identifier_name swiflint rule. 2022-04-29 13:20:58 +03:00
Stefan Ceriu
1b1b541a63 vector-im/element-x-ios/issues/14 - Initial Danger setup 2022-04-28 12:19:18 +03:00
Stefan Ceriu
c22d9689d4 Added room timeline screen with live events listening and back pagination. Rearranged project files. 2022-03-08 14:24:33 +02:00
Stefan Ceriu
a3fcc0f612 Initial project setup. 2022-02-14 18:05:21 +02:00