Commit Graph

782 Commits

Author SHA1 Message Date
Mauro Romito
df742ea53d handle the case where a non parent joined space is already available in the existing restricted join rule 2025-12-12 12:13:58 +01:00
Skye Elliot
1e0bbce3c4 Add a banner to encrypted rooms with visible history. (#4738)
* feat: Add history visible alert.

- Adds a dismissable alert that is displayed whenever the user
  opens a room with `history_visibility` != `joined`. When cleared,
  this is recorded in the app's data store.
- When opening a room with `history_visibility` = `joined`, this
  flag is cleared.

Issue: element-hq/element-meta#2875

* tests: Add unit tests for history sharing in `RoomScreenFooterView`.

* feat: Rename flag to `hasSeenHistoryVisibleBannerRooms`, document.

* refactor: Merge enum variants, use function for banner description.

* feat: Use `AppSettings.historyVisibleDetailsURL` over hard-coded value.

* tests: Correct potential race condition with deferred assertion.

* chore: Use Localazy translation string over project-defined.

* fix: Final tweaks and review comments.

* chore: Checkout `Enterprise` submodule.

* tests: Final fixes.
2025-12-11 17:07:57 +00:00
Mauro Romito
c82732ec98 pr suggestions 2025-12-04 16:23:34 +01: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
084e11d75e two more edge cases tests 2025-12-02 18:17:16 +01:00
Mauro Romito
4b28d61d46 pr suggestions and updated tests 2025-12-02 18:17:16 +01:00
Mauro Romito
73ec4c16ab implemented a way to update the desired setting after pressing done, and added tests 2025-12-02 18:17:16 +01:00
Doug
27ce6d94df Favour network over homeserver reachability when computing the offline indicator. (#4805)
For a whole host of reasons we don't support air-gapped operation anyway and as the SDK is super slow to tell us about the homeserver's reachability the indicator wasn't really working.
2025-12-02 11:21:47 +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
Doug
782916f03d Show the last message state in the room list. 2025-11-27 16:43:48 +00:00
Mauro Romito
66266c1223 updated existing preview tests and added a test for the single space cases
fixed a bug where was not possible to re-select the space members option with unknown spaces.

pr suggestions
2025-11-27 13:19:10 +01:00
Doug
5d8e7de8d1 Update the date separators to use "Today", "Yesterday" etc for messages in the past 7 days. (#4785)
* Update the date separators to use "Today", "Yesterday" etc for messages in the past 7 days.

* Fix the observation tests.
2025-11-26 10:47:29 +00:00
Mauro Romito
0f1ec310fa testing the switch from banned to members when there are no more banned members 2025-11-24 12:18:33 +01:00
Mauro Romito
ebcc1d2169 add NotificationContentBuilderTests and use the Dynamic swift package to test the communicationContext 2025-11-19 13:20:14 +01:00
Mauro Romito
50c07b4a40 add NSE sources to EX project to easily implement mocking and allow the code to be unit tested 2025-11-19 13:20:14 +01:00
Mauro
b0403d2b9f Run CI with Xcode 26.1 RC (#4672)
* Use Xcode 26.1 RC on CI

* regenerated previews with 26.1

* ui tests

* fix

* fix some iPad tests rendering

* remove useless fastlane line

---------

Co-authored-by: Doug <douglase@element.io>
2025-11-17 12:30:57 +01:00
Doug
cf6f9fdd25 Attempt to fix a flakey call service test. (#4746) 2025-11-14 14:26:26 +00:00
Mauro Romito
df28ab8d53 update SDK 2025-11-13 14:05:52 +01:00
Mauro Romito
5c5f7c43a5 updated tests 2025-11-13 14:05:52 +01:00
Stefan Ceriu
2f9275a0ef Fixes #4683 - Add support for nested lists 2025-11-12 16:54:35 +02: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
Valere Fedronic
c75353a903 MSC4075 Use expirationTS to define the call ringing window (#4652)
* Listen to call decline to stop ringing when declined from other device

* MSC4075 Use expirationTS to define the call ringing window

* Implement ElementCallService tests.

* Update acknowledgements.
2025-11-12 12:59:09 +00:00
Stefan Ceriu
c9743e2657 Clarify how the different mapLibre URLs are used. 2025-11-11 12:42:13 +02:00
Mauro
83f2df6cee Handle threaded pinned events (#4704)
* implemented focussing a threaded event through the banner tap

* view in timeline implementation for threaded events

* added a test and improved the existing one

* pr suggestions

* put the logic for fetching the event in the view models
2025-11-10 12:36:42 +01:00
Stefan Ceriu
d9c885c48c Fixes #4713, fixes #4648 - Correctly handle span tags and data attributes. 2025-11-07 14:46:01 +02:00
Mauro
6b19d109c7 Space Settings: Leave Room (#4700)
* Implementation for all navigations inside the space settings aside the left space action

# Conflicts:
#	ElementX/Sources/FlowCoordinators/SpaceSettingsFlowCoordinator.swift

* refactored the leave space view to use its own view model

# Conflicts:
#	ElementX.xcodeproj/project.pbxproj

* implemented the leave space view model also in the settings screen, and corrected some tests

* reusing the details coordinator for the space settings screen

* leave space from settings implemented

* fix project

* minor pr fixes

* code improvements
2025-11-07 12:11:21 +01:00
Mauro Romito
9459740e7f fixed the room members flow coordinator tests 2025-11-06 19:26:57 +01:00
Mauro Romito
5480ec0072 simple clearoute 2025-11-06 12:57:39 +01:00
Mauro Romito
5b4a3af1c7 pr suggestions and implemented a simpler way to clear the route, that always brings back to the initial coordinator 2025-11-06 12:57:39 +01:00
Doug
bf533e0572 Fix a potential bug where the token couldn't be refreshed when the cached server /versions had expired. (#4687)
* Update SDK mocks for UniFFI 0.30.0

* Update the SDK.

* Update the SDK again

Includes a temporary workaround that patches the SDK's generated Swift files so that our tests don't crash:
3f0075fb8a
2025-11-03 19:09:31 +00:00
Mauro Romito
806382f5c9 reused the room details view model for the space settings screen 2025-10-31 15:46:16 +01:00
Doug
b3d4ed0274 Introduce a StartChatFlowCoordinator instead of handing a navigation stack to the Screen Coordinator. (#4674)
* Introduce a basic StartChatFlowCoordinator.

* Move the rest of the start chat flow from the screen coordinator into the flow coordinator.

* Add a UI test for the entire start chat flow.

* Refactor CreateRoom… to CreateRoomScreen…
2025-10-30 16:12:56 +00: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
Stefan Ceriu
ec15d06154 Remove the first version of the AttributedString builder
Remvoe test stuf

# Conflicts:
#	ElementX/Sources/Other/HTMLParsing/AttributedStringBuilder.swift
#	ElementX/Sources/Other/HTMLParsing/AttributedStringBuilderV1.swift
#	ElementX/Sources/Other/HTMLParsing/DTHTMLElement+AttributedStringBuilder.swift
2025-10-28 09:53:15 +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
6160c44d67 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
Doug
3e61babc89 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
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
Stefan Ceriu
334746edb3 Add unit test for the in-timeline space permalink handling 2025-10-08 14:04:42 +03:00
Mauro
d005243e31 Implemented message forwarding for media previews and media timelines (#4579)
* implemented message forwarding for media previews and media timelines

* updated tests

* pr suggestion

* fix tests

* fix tests
2025-10-07 14:34:14 +02:00
Doug
b5b8c38423 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
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
Doug
6f5ba297eb Add the spaces feature announcement sheet. (#4571) 2025-10-06 16:59:56 +01:00
Doug
f806706f75 Use the new notification sound. (#4572)
* Use the new notification sound.

* Add a banner informing the user of the new notification sound.
2025-10-03 21:09:50 +01:00
Doug
465c533e59 Implement the flow for leaving a space. (#4568) 2025-10-03 16:37:09 +01:00
Mauro Romito
cbf804cda6 pr suggestions and some code improvements 2025-10-03 10:55:27 +02:00
Mauro Romito
4454cf65b8 fixed existing tests and added tests for all the threaded flows 2025-10-03 10:55:27 +02:00
Doug
c91c69b86b Joining a space from the room flow. (#4563)
* Add the More menu to SpaceScreen.

And a simple way to leave a space for testing.

* Start a space flow when accepting a space invite from the room flow.

* Minimise the tab bar on iOS 26 when scrolling down.

* Enable spaces by default!
2025-10-02 10:58:38 +01:00
Doug
b75b41ba66 Accept space invites from a home screen cell. (#4554)
* Push the SpaceScreen after accepting an invite from the room list.

* Add a test for accepting a space invite.
2025-09-30 10:43:48 +01:00
Doug
a3d7d5dfe8 Show space invites in the room list. (#4545) 2025-09-29 13:57:58 +01:00