Commit Graph

80 Commits

Author SHA1 Message Date
Doug 227a4056c9 Make sure the inviter's avatar is hidden in the JoinRoomScreen. (#5151)
* Make sure the inviter's avatar is hidden in the JoinRoomScreen.

* Update preview tests to use an inviter that has an avatar…

* Also hide avatars in the Space invite avatar pile.
2026-02-27 15:02:42 +00:00
Mauro 0e40cc7008 Fix A11y tests (#5104)
* replace NavigationStack with ElementNavigationStack to allow the content to be rendered without a NavigationStack in a11y tests

* fix a11y tests

* update xcodeproject

* swiftformat fix

* use iOS 26.1 for CI

* use a wrapper to solve the issue for a11y tests

* ElementNavigationStack only uses the trick in DEBUG mode, and added a swiftlint rule to prevent the usage of NavigationStack
2026-02-13 16:45:58 +01:00
Doug bff328554a Use our own JoinRule type which doesn't include the reserved .private case. (#5056)
* Stop using Rust's JoinRule.private in mocks.

It isn't used anywhere else (see MSC4413 for more context).

* Use our own JoinRule (and AllowRule) types.

* Update ElementX/Sources/Services/Room/JoinRule.swift

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>

---------

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2026-02-06 13:54:53 +00:00
Stefan Ceriu 23062901c0 Update files following swiftformat upgrade 2026-01-27 12:50:57 +02:00
Doug 06f37dacae Remove the protocol for SpaceServiceRoom given its a struct type. (#5000)
* Remove the protocol for SpaceServiceRoom given its a struct type.

* Fix a few missed mocks in the unit tests.
2026-01-26 09:45:46 +00:00
Doug c5b1c5d1bd Use more Liquid Glass in the room/space screen toolbars (#4965)
* Add a glass style to the Room/Space header view on iOS 26.

* Update snapshots and fix the join call button.
2026-01-16 19:29:27 +00:00
Doug 334df3f5cd Rename SpaceRoomProxy to SpaceServiceRoom and stop proxying the struct. (#4952)
* Rename SpaceRoomProxy to SpaceServiceRoom.

The underlying type is a struct, we don't need to proxy it.

* Actually stop proxying the SpaceRoom.
2026-01-13 12:00:20 +00:00
Doug a9796cce68 Use the editor toolbar role on iOS 26 instead of left aligning the header by frame. (#4647)
The weird back button animation doesn't happen anymore 🥳
2025-10-22 11:36:14 +01:00
Mauro f7dd9cdcf8 Update copyright holding and dates (#4640)
* Update copyright holding and dates

* compound IDE Macros updated

* update copyright

* update copyrights done

* update templates and README
2025-10-21 14:34:56 +02:00
Stefan Ceriu 43d1dbd8ea Fix some small warnings 2025-10-14 18:32:37 +03:00
Doug f01f31954d Make the SpaceRoomListProxy publish its SpaceRoomProxy updates. (#4607)
Also removes an unused `parent` parameter that was missed when removing the parent name and includes some regenerated snapshots that were missed in the last PR.
2025-10-09 17:22:43 +01:00
Doug c572a1a431 Add UI tests for accepting space invites. (#4602)
* Fix the space visibility icon size in the join room screen.

* Add a UI test for accepting space invites.
2025-10-09 10:11:02 +01:00
Doug cf19e30429 Use the space room name computed by the SDK. (#4589) 2025-10-07 14:33:37 +01:00
Doug c03ed528ba More space tweaks (#4584)
* Remove the room count everywhere.

* Remove the parent name from restricted spaces.
2025-10-07 10:57:53 +01:00
Doug 8cd5c9862e Add support for space rooms on the JoinRoomScreen. (#4582)
* Add support for space rooms to JoinRoomScreenModel.

* Make a single wrapper type for JoinRoomScreen previews to simplify instantiation.

* Add previews for JoinRoomScreen for spaces.
2025-10-07 10:51:58 +01:00
Doug 12dc6f42ba Add some new space properties. (#4544)
* Use the via property on SpaceRoom.

* Fall back to the canonical alias as a space room name if needs be.

* Use SpaceRoom.isDirect for computing the name/avatar.

* Pass in the parent space as a workaround for no restricted join rules.
2025-09-26 10:03:11 +01:00
Doug 27f4c25194 Add the JoinRoomScreen into the SpaceFlowCoordinator. (#4513)
* Add the JoinRoomScreen into the SpaceFlowCoordinator.

The screen needs further work to make the join work.

* Fix the tests completing the join flow with the right action.
2025-09-17 15:12:45 +01:00
Doug c2ac60f1e6 Add support for joining rooms from a space. (#4501)
* Add support for joining rooms from a space.

Doesn't yet handle the Join button 🤔

* Handle the join button for both rooms and spaces.

Also refactor more instances of spaceRoom to spaceRoomProxy.
2025-09-11 16:41:19 +01:00
Doug f67f826bb7 Bundle ClientProxy & MediaProvider injections together in UserSession. 2025-08-27 18:13:03 +01:00
Mauro Romito 8a66cbad68 - improved detection of false positives for dynamic type size
- improved also a11y for the knock request message
- improved a11y for reply view
2025-07-21 20:11:18 +02:00
Mauro Romito a547782e94 hide accessibility for the avatar in the join room screen 2025-07-21 20:11:18 +02:00
Doug 030a9bfbef Update and enable the new bloom style on the home screen. (#4291)
* Update Compound

* Adopt the new accent colour (and gradient) tokens.
2025-07-07 11:23:03 +01:00
Mauro Romito ec2a30c492 show alert when trying to accept invalid invites 2025-06-20 10:07:58 +02:00
Mauro aef91b5bc9 Handle media previews and invite avatars through the account data (#4142)
* added account data media display policy handling to NSE

* pr suggestions

* update compound

* code improvement
2025-05-28 19:51:34 +02:00
Stefan Ceriu f9b3281172 Bump the SDK to v25.05.26-2 and update the breaking changes following the RoomListItem removal 2025-05-26 18:11:24 +03:00
Mauro Romito 0f53ad6724 updated SDK and improved report flow
the report flow is now based on the matrix version and the new one will only be used if the SDK checks if the server supports it.
2025-04-30 11:41:19 +02:00
Doug a5d94a0219 Adopt the new start chat button design. (#4013)
* Update compound and handle plain to tertiary/textLink button style updates.

* Update the start chat button to use the right icon/style.

* Update preview snapshots.

* Fix remaining snapshots.
2025-04-11 17:09:57 +01:00
Mauro Romito d92fecdc7e feat: decline and block screen
fix

improvement

fix conflict

fix tests

tests
2025-04-07 18:52:56 +02:00
Mauro Romito b709cccb1c fix: DM invites now correctly render the avatar 2025-03-21 20:27:04 +01:00
Mauro Romito 8e439bc8f5 pr suggestions 2025-03-21 15:41:39 +01:00
Mauro Romito 9e0e5bbb13 updated test for hidden avatars in invites 2025-03-21 15:41:39 +01:00
Mauro Romito 5631d4176a UserPreference now supports closure based default
and you can also force the defaults to be always used through a subscription
2025-03-21 15:41:39 +01:00
Mauro Romito ff721f6577 hide invite avatars when such flag is on
This affects:
- Invited room preview inviter avatar
- Invited room preview room avatar
- Invited room cell inviter avatar in the room list
- Invited room cell room avatar in the room list
- Push notification for an invite
2025-03-21 15:41:39 +01:00
Mauro Romito 7373eabffb refactored the ClientProxy to:
- throw an error during the init
- to have its init directly instantiate the sync service and the providers

Update ElementX/Sources/Services/UserSession/UserSessionStore.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

renamed
2025-03-06 14:13:55 +01:00
Mauro 319441d527 Use a static room summary provider to resolve room summaries through id and aliases (#3863)
* trying to debug why sometimes the value

is missing even if it appears in the room list

* static room provider implementation

* set the page size through the init

* removed reset filters on .cancel

since using the sop function is safer
2025-03-04 14:08:15 +01:00
Mauro 9d5c4f7748 use the alternative summary provider (#3817) 2025-02-24 16:42:24 +01:00
Doug c2e10b910a Update Compound (#3803) 2025-02-20 14:15:26 +00:00
Doug d325adb4fc Hide the unread dot after previewing an invite. (#3800)
* Hide the unread dot when previewing an invite.

* Remove an invited room ID when accepting/rejecting.

* Remove the unread badge from knocked room cells.

* Update snapshots.

* Address PR comments.

Refactor KnockRequestType to JoinRequestType.
2025-02-18 12:22:13 +00:00
Mauro 22d0fae423 Knock Polishing part 4 (#3779)
* added decline and block and inviter redesign

* improved testing

* improved testing

* code improvement

* code improvement

* improved the code
2025-02-10 17:31:12 +00:00
Mauro f86a5a2bb9 Added the banned room proxy (#3744)
* added the banned room proxy

and a way to have a consistent loading + a retry alert

* trailing closure

* indent a comment

* push package.resolved

* updated test case
2025-02-06 10:15:36 +01:00
Mauro 3839025caa Knocking feature polishing part 2 (#3738)
* improved implementation of the unknown state

* forget button in the banned state

* error handling for forbidden access

* added the forget function

fixed DMs, and updated preview tests

* removed banned room proxy

* code polishing and test improvement
2025-02-05 14:48:24 +01:00
Mauro 5d785b38ae some iOS bugfixes (#3732)
Co-authored-by: Element CI <ci@element.io>
2025-02-04 01:15:31 +01:00
Mauro 19c14d5ef6 Possible fix for the join room screen not updating (#3690)
* possible fix

* comment improved

* better fix
2025-01-21 13:48:43 +00:00
Stefan Ceriu 8577f53613 Refactor the JoinRoom screen to take advantage of newer APIs and support more joinRule/membership combinations (i.e. invite required, restricted, banned) (#3685)
- expose the full RoomPreview and RoomMembershipDetails through their own proxies
- implement standard mocks for all the different combinations
- converge on a single room info provider
- rebuild all the previews
- prioritise the preview data over the room one.
2025-01-20 19:07:11 +02:00
manuroe 3950cac085 Dual licensing: AGPL + Element Commercial (#3657)
* New LICENSE-COMMERCIAL file

* Apply dual licenses: AGPL + Element Commercial to file headers

* Update README with dual licensing
2025-01-06 11:27:37 +01:00
Stefan Ceriu 536f01abbd Retrofit deferFulfillment onto snapshot tests. (#3641)
* Retrofit `deferFulfillment` onto snapshot tests.

* Convert a bunch of preview tests to the new fulfillment publisher

* Convert more tests

* Remove unneeded delays from the remaining tests

* Remove snapshotting delay option.
2024-12-20 15:30:59 +02:00
Mauro 89b9259b76 Design Tweaks (#3606)
* updated the order of the room details

also...
- removed the bloom bg from the join room screen
- now DMs do not necessarily need to be encrypted rooms
- changed bg of the knock banner

* removed unnecessary disabled

* updated join room screen tests
2024-12-11 17:42:33 +00:00
Mauro 9856e3e5b4 Fix tap knockable room and custom keyboard did show scrolling (#3603)
* making knockable rooms tappable

* added a way to customise the keyboard scrolling

in case we want the focussed view/textview to display something outside its content

* better documentation
2024-12-11 16:09:52 +01: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
Mauro c7afde3801 Knock a room - added a char counter for the message (#3570)
* added a char counter

* moved code
2024-12-02 17:28:50 +01:00