Commit Graph

356 Commits

Author SHA1 Message Date
Mauro
56eec826df 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
Mauro Romito
ac86d4cfbc 1. Updated the space selection UI 2. Paginate spaces after room creation 3. Pre-selected space creation defaults to space members access. 2026-02-09 18:22:41 +01:00
Doug
9b6324b295 Add boot detection in the NSE and use this to inform the user that there may be more notifications. (#5054)
* Add an initial implementation of the receivedWhileOfflineNotification.

* Only deliver a single receivedWhileOffline notification per boot and clarify the API.

* Add a 15-minute threshold for the receiveWhileOfflineNotification.
2026-02-06 15:18:09 +00:00
ElementRobot
6184312b07 Translations update 2026-02-02 10:37:21 +02:00
Mauro Romito
b3a4929243 implemented the presentation of transfer ownership screen from the space flow and update UI and preview tests 2026-01-28 15:42:17 +01:00
Doug
76f4f5f35f Update the crypto strings. (#5009) 2026-01-27 11:32:52 +00:00
Mauro Romito
8090c4a078 added the create button in the empty state of the space screen and refactored some code 2026-01-23 15:18:55 +01:00
Mauro Romito
2fdc37ce72 implemented the flow to create room in a selected space 2026-01-23 15:18:55 +01:00
Mauro Romito
81cc5fc5ec implemented the space selection list and the selection logic
# Conflicts:
#	ElementX/Sources/Screens/CreateRoomScreen/View/CreateRoomScreen.swift
2026-01-22 16:40:25 +01:00
Doug
ed892fee94 Add the empty state to SpaceScreen. (#4985)
* Rename PaginationState.timelineEndReached to PaginationState.endReached.

* Rename PaginationState to TimelinePaginationState.

Also renames PaginationStatus to PaginationState so that a TimelinePaginationState consists of the forward and backward pagination states.

* Add the empty state to SpaceScreen.

Only has 1 of the 2 buttons for now.
2026-01-22 12:37:34 +00:00
Stefan Ceriu
d1f1a598d5 Space filters (#4977)
* Add support for SpaceFilters on the SpaceServiceProxy level and a screen that renders them

* Add aliases to a couple of space room mocks

* Update translations and related snapshots

* Add a feature flag for space filters

* Add a new room summary provider filter that takes a list of room identifiers next to the normal state filters

This will take the SpaceFilter's descendants and combine it with the normal filters to reduce the rooms shown

* Add a new space filter button to the home screen and link it to the SpaceFiltersScreen and the actual RoomSummaryProvider room list filters

* Bump the RustSDK to v26.01.20-2 for SpaceFilter support.

* Add a cancellation button to the space filters screen

* Make the filter presentation mode liquidy, move the sheet to within the home screen.

* Address PR comments
2026-01-21 20:19:39 +00:00
ElementRobot
213e9d4519 Translations update (#4970)
* Translations update

* Update snapshots.

---------

Co-authored-by: Doug <douglase@element.io>
2026-01-19 19:59:26 +00:00
Doug
b009b8ed66 Add the initial implementation for managing spaces. (#4963)
This isn't hooked up into the flows yet.
2026-01-16 15:29:27 +00:00
ElementRobot
3ad270fa54 Translations update 2026-01-13 18:52:23 +01:00
Mauro
2b28b70871 Create room redesign and refactor (#4942) 2026-01-12 17:49:31 +00:00
ElementRobot
5b09ef9dc2 Translations update 2026-01-12 10:12:22 +01:00
Mauro
2d1d62552a Empty spaces list screen (#4936)
* Added an FF to create spaces + empty spaces list state

* removed learn more button and improved spacing

* updated toolbar for chats and spaces to match ios 26 designs
2026-01-09 15:17:43 +01:00
ElementRobot
e95b00746b Translations update (#4894)
* Translations update

* Fix (and disable) broken test.

* Update snapshots.

---------

Co-authored-by: Doug <douglase@element.io>
2026-01-05 12:43:05 +00:00
Doug
10bd3015ee Final tweaks to the existing QR code screens to match the designs. (#4874)
* Simplify QR errors even more and use the correct error state for deviceAlreadySignedIn.

* Remove the pre-defined padding on TitleAndIcon and use it in the QRCodeLoginScreen too.

* Update FullscreenDialog to allow different horizontal padding in each section.
2025-12-17 17:23:55 +00:00
Stefan Ceriu
b762ce4fc0 Update history visible settings (#4861)
* Fixes #4852 - Update history visible settings

* Address PR comments and move attributed strings to the view state
2025-12-17 15:04:02 +02:00
ElementRobot
2de55f98b0 Translations update 2025-12-15 09:58:47 +01:00
Doug
fe9aa48aab Add a Link New Device screen (behind a feature flag). (#4811) 2025-12-11 11:45:23 +00:00
Mauro
718e16f5be Use generic "update details..." copy when saving details change (#4818)
* added updating space copy when saving the edit of a space

* use the generic copy instead of both a space and a room specific one
2025-12-04 16:51:46 +00:00
Mauro Romito
7d86d8057d implemented the ask to join restricted rule join UI, and added tests and previews for it. 2025-12-04 16:23:34 +01:00
Mauro Romito
5793690202 updated edit details screen copies to reflect the usage of spaces. 2025-12-03 17:42:57 +01:00
Doug
3ef7ad4c4d Add a specific notification body for space invites. (#4808) 2025-12-02 17:07:03 +00:00
Doug
3612a8d413 Add the same unsaved changes alerts that Android has. (#4803)
* Add an alert to Discard or Save when there are unsaved changes on the RoomDetailsEditScreen.

* Add an alert to Discard or Save when there are unsaved changes on the UserDetailsEditScreen.

* Add an alert to Discard or Save when there are unsaved changes on the SecurityAndPrivacyScreen.

* Update strings.
2025-12-01 13:02:50 +00:00
ElementRobot
70047f9b6a Translations update (#4802) 2025-12-01 08:59:54 +00:00
Doug
782916f03d Show the last message state in the room list. 2025-11-27 16:43:48 +00:00
Mauro Romito
2292f4bd4f single space access implementation
also added the copies for the single and multiple spaces selection
2025-11-27 13:19:10 +01:00
Mauro Romito
c98d6b3a56 esperanto deleted and regenerated some preview tests 2025-11-24 15:45:38 +01:00
Mauro Romito
bc7e00d753 redesigned empty state for the room members list 2025-11-24 12:18:33 +01:00
Mauro Romito
8eb07e15cb room members list redesign 2025-11-21 14:23:19 +01:00
Mauro Romito
18d79e0f08 corrected copies and layout for the security and privacy screen 2025-11-20 12:48:08 +01:00
Mauro Romito
3e81853f4a security and privacy redesign for spaces. 2025-11-13 14:40:16 +01:00
Mauro Romito
0093dbbe31 implemented the manage space rooms permission 2025-11-13 14:05:52 +01:00
Mauro
6d57153136 Permissions screen redesign (#4735)
* Redesigned permissions screen

# Conflicts:
#	ElementX.xcodeproj/project.pbxproj

* updated tests

* update proj

* fix pseudo language tests
2025-11-12 14:41:44 +01:00
ElementRobot
728cd25c26 Translations update (#4721) 2025-11-10 10:47:25 +00:00
Mauro
0b3633ea57 Space Settings UI tweaks (#4678)
* design tweaks for the space settings flow

* pr suggestions

* update proj
2025-10-31 12:52:56 +01:00
Mauro Romito
fdc741da2e Basic implementation of the UI, navigation wil be implemented in the next PR 2025-10-30 15:23:03 +01:00
ElementRobot
fe74083ce4 Translations update (#4660)
* Translations update

* Fix pseudo language snapshots.

---------

Co-authored-by: Doug <douglase@element.io>
2025-10-28 14:07:19 +00:00
Mauro
23194107bb Display members of a space (#4629)
* Present members of a space

* present the members modally from the space

* Implemented a room members flow coordinator to make such flow more modular and reusable

this is required since we will need to reuse this module also in the space settings, and later we could also replace it in the RoomFlowCoordinator.

* the implementation to support at least the SpaceFlowCoordinator is done a follow UP should do the refactor.

* remove modal usage from the flow, we want to always be a navigation flow

* Improved and implemented the room navigation in the members flow coordinator

* pr suggestions and refactored the start chat flow and the invite screen

* updated copies for managing room members

* Update ElementX/Sources/Screens/Spaces/SpaceScreen/SpaceScreenViewModel.swift

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

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2025-10-27 13:17:50 +01:00
Mauro
dfa5214136 Threaded notifications (#4644)
* implemented grouping

* implemented presenting the thread

* improved the implementation by reusing the presentation action

* add Thread group to DMs to differentiate from non threaded messages of the same DM

* name for a threaded notification in group room

* focus event when tapping on a notification

* pr suggestions

* document
2025-10-23 15:28:45 +02:00
ElementRobot
4b5c26d7cd Translations update (#4641) 2025-10-21 21:09:35 +02:00
Doug
aa4ea06a10 The space tweaks continue! (#4606)
* Update a string on the space announcement sheet.

* Don't show space rooms after using the join button in the space room list.

* Allow the Deselect All button to Select (almost) All as well.

* Fix the cells in the leave space sheet when there are only admin rooms.
2025-10-09 16:56:54 +01:00
ElementRobot
505ea31e49 Translations update 2025-10-08 12:20:32 +02:00
Doug
8b831d3f9e 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
Mauro
516e4df8e0 Clear cache on changing the threads FF (#4581)
* clear cache on changing the threads FF

# Conflicts:
#	PreviewTests/Sources/__Snapshots__/PreviewTests/labsScreen.iPad-pseudo-0.png
#	PreviewTests/Sources/__Snapshots__/PreviewTests/labsScreen.iPhone-16-pseudo-0.png

* fix tests
2025-10-07 11:38:58 +02:00
Doug
247967db6a Minor space tweaks (#4577)
* Hide the space ShareLink on iOS 26 for now.

* Don't allow the last admin to leave a space.
2025-10-07 08:16:48 +01:00
ElementRobot
afdd2c25aa Translations update 2025-10-06 10:21:05 +03:00