Commit Graph

2786 Commits

Author SHA1 Message Date
Doug
a78a923b0d Add a dedicated target for SDK mocks to avoid type name conflicts on the generated code. 2026-01-06 10:57:37 +00:00
Doug
9304c3cc65 Refactor SpaceServiceProxy.joinedSpaces to topLevelSpaces. 2026-01-06 10:57:37 +00:00
Doug
5d57b21222 Update the SDK and handle the API breaks. 2026-01-06 10:57:37 +00:00
Doug
27fd4dd07c Keep the natural size of the Translate action's SF symbol. 2026-01-05 14:37:06 +00:00
Lukas
83594b4d2f Add "Translate" to TimelineItemMenuActions (#4846)
* Add "Translate" to TimelineItemMenuActions

* Update TimelineView.swift

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

* Update strings using `download-strings`

* Update ElementX/Sources/Screens/Timeline/View/ItemMenu/TimelineItemMenuAction.swift

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

* Clear `textToBeTranslated` after translation was dismissed

* `swift run tools download-strings --all-languages`

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
# Conflicts:
#	ElementX/Resources/Localizations/et.lproj/Localizable.strings
#	ElementX/Resources/Localizations/fr.lproj/Localizable.strings
#	ElementX/Resources/Localizations/hr.lproj/Localizable.strings
2026-01-05 14:37:06 +00: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
Skye Elliot
ae38dc54d4 Add a banner to encrypted rooms with visible history. (#4851)
* 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.

* fix: Condition banner visibility on feature flag state.

* fix: Prioritise identity violations over history visibility banner.

* tests: Add snapshots for history visible banner.

* tests: Use deferred failure timeout for improved test power.

* chore: Tweaks to spelling, simplify state logic.

* fix: Remove "g".

* fix: Show banner for shared/world-readable rooms, not invited.

* refactor: Use `else-if` instead of `if`.
2025-12-19 15:26:45 +00:00
Mauro Romito
3626f94289 implemented a way to filter out roles that can't be assigned to permission, and disable permissions that are above the current power level of the user. 2025-12-19 11:34:21 +01:00
Mauro Romito
e95d0531fb tapping on the space title will open the settings (if permissions are available) 2025-12-19 11:20:06 +01:00
Stefan Ceriu
79b8db8db2 Display the store sizes under the developer options menu 2025-12-19 11:12:36 +02:00
Stefan Ceriu
2880ee9135 Perform client store optimizations when migrating versions. 2025-12-19 11:12:36 +02:00
Mauro Romito
b08d4c9457 fix for leaving a space with no joined rooms showing the incorrect subtitle 2025-12-18 13:21:01 +01:00
Mauro Romito
ea8b2b16f9 better check if an user can edit addresses 2025-12-18 11:54:23 +01:00
Mauro Romito
8e594807f5 use the right check to show sec n privacy section in space settings 2025-12-18 11:54:23 +01: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
Mauro Romito
ec03a0a1bd unbanning is now dependant on the kick permission, and removed the change settings permission option in spaces. 2025-12-17 18:19:50 +01: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
Stefan Ceriu
ccc86f25ee Bump the RustSDK to v25.12.17 2025-12-17 13:57:25 +02:00
Doug
9f591537cb Add a missing import. 2025-12-16 16:22:21 +00:00
Doug
b9c121db82 Move BigIcon into Compound and add a new TitleAndIcon component. (#4866)
* Move BigIcon into Compound.

* Replace the old server selection image asset with the \.host icon.

* Add a new TitleAndIcon component to Compound.

* Add the ability to override TitleAndIcon's padding.
2025-12-16 16:01:26 +00:00
Doug
046cf6c120 General tidy-up related to QR codes. (#4865)
* Tidy-up Rust to Swift mapping.

* Refactor out a dedicated QRCodeErrorView.

* Use the new QRCodeErrorView for most error state snapshots.

* Simplify QRCodeErrorView structure.

Also updates the background to match the designs.

* Fix a small compile error in the unit tests.
2025-12-16 15:59:59 +00:00
Doug
8df57abc1e Add a service and flow coordinator for the LinkNewDevice feature. (#4859)
* Add a LinkNewDeviceService that exposes the SDK's grant QR code login methods.

* Add a flow coordinator for linking a new device.

Changes the presentation too.
2025-12-15 14:44:26 +00:00
ElementRobot
2de55f98b0 Translations update 2025-12-15 09:58:47 +01:00
Milton Moura
184726ac28 fix: remove unused MatrixRustSDK imports
Signed-off-by: Milton Moura <miltonmoura@gmail.com>
2025-12-13 10:11:57 +02:00
Milton Moura
443607d46c fix: remove unused Kingfisher import
Signed-off-by: Milton Moura <miltonmoura@gmail.com>
2025-12-13 10:11:57 +02:00
Stefan Ceriu
e48f947f74 Fix #4837 - Make sure changing the screen mode in the bindings also updates the activeTimelineContext
The original viewState mapping just stopped working properly for some reason. Updating it to `observe()` on `StateStoreViewModelV2` worked properly but I liked the viewAction based solution better, felt more streamlined.
2025-12-12 17:23:58 +02:00
Stefan Ceriu
fd5f288143 Switch the MediaEventsTimelineScreen to second iteration of the StateStoreViewModel 2025-12-12 17:23:58 +02:00
Stefan Ceriu
dab166ee9f Add AsyncAlgorithms to the main app target. 2025-12-12 17:23:58 +02:00
Doug
e9d6116c5f Revert "Add a banner to encrypted rooms with visible history. (#4738)" (#4850)
This reverts commit 1e0bbce3c4.
2025-12-12 11:44:13 +00:00
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
Stefan Ceriu
09579fd8bc Tweakity tweak tweaks 2025-12-11 15:42:17 +02:00
Stefan Ceriu
ea55e74a22 Move the room list sending state icons to the front of the latest event. 2025-12-11 15:42:17 +02:00
Doug
fe9aa48aab Add a Link New Device screen (behind a feature flag). (#4811) 2025-12-11 11:45:23 +00:00
Stefan Ceriu
c134b94d68 Attempt to make the EncryptionSettings UI tests more resilient
The secure backup disabling sheet doesn't show up in the snapshots. No idea what the actual problem is though, completely unreproducible locally.
2025-12-11 11:56:26 +02:00
Doug
28556da516 Remove eraseToStream now that any AsyncSequence is available to us. (#4836)
* Remove `eraseToStream` now that `any AsyncSequence` is available to us.

* Remove the now unnecessary backport of Mutex.

* Silence a couple more deprecation warnings.
2025-12-10 18:33:15 +00:00
Mauro Romito
20d5849e76 the sec and privacy screen is only displayed if at least one available action can be displayed. 2025-12-10 17:22:29 +01:00
Doug
e8f352d8b9 Fix a bug where removing reactions would wipe out the last message in the room list. (#4834)
Update the SDK.
2025-12-10 15:19:10 +00:00
Stefan Ceriu
5d12cf9f7e Bump the RustSDK to v25.12.09 2025-12-09 21:51:32 +02:00
ElementRobot
ab9b55fce9 Translations update (#4830) 2025-12-09 12:01:55 +00:00
Skye Elliot
6880bf4c94 Set trust requirement even if setEncryption is false. (#4823)
* fix: Set trust requirement even if `setEncryption` is `false`.

- Calls `builder.decryptionSettings` with sender trust requirement,
  even if `setEncryption` is false`.
- Fixes https://github.com/element-hq/element-x-ios/issues/4702

* docs: Add doc comment explaining necessity of fix.

* feat: Set `roomKeyRecipientStrategy` alongside trust requirement.
2025-12-09 09:17:50 +00:00
Stefan Ceriu
bbfe9b6634 Bump the RustSDK to v25.12.07 2025-12-07 12:39:00 +02: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
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
5793690202 updated edit details screen copies to reflect the usage of spaces. 2025-12-03 17:42:57 +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
Mauro Romito
cfbc68f4f7 implemented the UI to manage authorized spaces 2025-12-02 18:17:16 +01:00