3180 Commits

Author SHA1 Message Date
Doug 2f2e6f6226 Revert weak media provider (#4483)
* Revert "Address the real lifetime issue of the SDK's `Client` by making `Context.mediaProvider` weak. (#4466)"

This reverts commit c794144ef1.

* Better docs.
2025-09-08 17:48:58 +01:00
Doug 90504d89c8 Use the SDK's offline detection everywhere (except for restarting the sync loop). (#4472)
* Use the SDK's offline state to drive the offline indicator.

* Only use network reachability for restarting the sync loop, use the homeserver reachability for requests.

* Add a separate indicator to distinguish when the server is unreachable but the device is online.
2025-09-08 12:18:02 +00:00
Doug 20b57d0ad7 Add the sheet for expanding the space description. (#4475)
* Start working on space description

* Hook up presentation of the SpaceScreenDescriptionView.

* Make the SpaceScreenDescriptionView more accessible and apply a background colour.

* Refactor and move sheet presentation to the header view.

---------

Co-authored-by: amshak <85162587+amshakal@users.noreply.github.com>
2025-09-08 12:07:08 +01:00
Doug f59928f4d5 Fix proxies by reverting the change that introduced schemes. (#4481)
This partially reverts commit 863f28d476.
2025-09-08 12:03:41 +01:00
ElementRobot ed61e6af32 Translations update (#4479) 2025-09-08 08:41:32 +01:00
Doug c794144ef1 Address the real lifetime issue of the SDK's Client by making Context.mediaProvider weak. (#4466)
This reverts commit 927aea4bfe.
2025-09-05 17:18:14 +00:00
Mauro Romito f30f3b1a63 fix 2025-09-05 15:35:35 +02:00
Mauro eee11ed67c MediaTimelinePreviewDetails can now be opened by long pressing in the media timeline (#4474)
* presenting media actions from the media timeline

* implemented view in timeline and fixed an issue that made dark mode being when trying to delete the file

* pr suggestions
2025-09-05 15:30:36 +02:00
Mauro Romito 5be7967f94 increase line limit for name in FileRoomTimelineView 2025-09-05 15:07:27 +02:00
Mauro Romito a1ade8f828 hardcoded the timeout of 1 minute 2025-09-04 18:38:51 +02:00
Doug 53eb1c1718 Allow joined rooms to be pushed within a space. (#4460)
* Allow joined rooms to be pushed within a space.

* Push a room in the space flow tests.

Also fixes some snapshots stale snapshots.

* Show the selected space/room within a space and set a custom title view.
2025-09-03 17:48:49 +01:00
Doug 927aea4bfe Workaround: Hold a weak reference to the SDK's Client in MediaLoader so it can be released when clearing the cache. 2025-09-03 17:39:16 +01:00
Doug e33631affa Remove the unused media provider from the PillView. 2025-09-03 17:39:16 +01:00
Doug 86f978a439 Stop storing the openURL action to fix a retain cycle.
Uses the existing timeline action instead.
2025-09-03 17:39:16 +01:00
Doug af5ebf8cae Fix a retain cycle on RoomDetailsScreenViewModel.
This was causing the UserSession/Client to stay alive after clearing the cache.
2025-09-03 17:39:16 +01:00
Doug 1be6aff281 Fix a bug where invites would be hidden when the Low Priority feature is enabled. (#4461) 2025-09-03 17:15:25 +01:00
Doug c48580aeb4 Move call presentation from the chats flow into the user session flow. (#4459) 2025-09-03 17:01:07 +01:00
Doug eda37eb626 Use the Emoji/Map/Poll view models. (#4458)
* Toggle emojis in the EmojiPickerScreenViewModel.

* Send locations in the StaticLocationScreen.

* Send polls in the PollFormScreen.
2025-09-03 16:52:28 +01:00
Doug 441f5ae975 Tweaks discovered when using Compound overrides. (#4456)
- Fixes a bug where gradients wouldn't use the latest tokens after first use.
- Makes the bloom aware of colour overrides (and discovers a bug with dark mode).
- Decouples HomeScreenCell from the HomeScreenViewModel.Context (so it can be previewed with colour overrides).
2025-09-02 09:40:03 +01:00
Mauro Romito 40fb20bfb9 accessibility improvements + tests refinement 2025-09-02 10:19:35 +02:00
Doug 049bb7b740 Use the SDK's SpaceService, SpaceRoom and SpaceRoomList. (#4455) 2025-09-01 15:22:37 +01:00
ElementRobot 28094cfcac Translations update 2025-09-01 11:07:35 +02:00
Doug 24067ce275 Use the UserSession for VoiceMessageMediaManager injection too. 2025-08-27 18:13:03 +01:00
Doug f67f826bb7 Bundle ClientProxy & MediaProvider injections together in UserSession. 2025-08-27 18:13:03 +01:00
Doug b34816e159 Remove the BugReportService from the ServiceLocator.
It is directly injected everywhere now.
2025-08-27 18:13:03 +01:00
Doug cb7d11fd13 Remove all uses of the ServiceLocator from within Coordinators and View Models.
It is still used for mocks in tests, previews etc, and still used in the AppCoordinator.
2025-08-27 18:13:03 +01:00
Doug dfb2425240 Introduce flow parameters to simplify dependencies for child flows. (#4448) 2025-08-27 12:56:06 +00:00
Doug c140209e0c Hide the tab bar when pushing screens on iPhone as requested by the designs. (#4444)
Make the tab bar hide when pushing screens on iPhone as requested by the designs.

Annoyingly we couldn't simply add a second call to .toolbar(.hidden, for:.tabBar) on the pushed screens, but this way is automatic and there's still an override so it's good enough for now.
2025-08-27 10:31:56 +01:00
Doug b601baf539 Tidy up some logs that have a prefix. (#4443)
We haven't needed these for ages, Rust adds them to the log lines.
2025-08-26 16:21:10 +01:00
Stefan Ceriu e4de85c7ba Fixes #4435 - Preserve the user chosen order when uploading multiple media files. 2025-08-26 11:41:35 +03:00
Stefan Ceriu 863f28d476 Improve global proxy detection, building and logging. 2025-08-25 16:57:17 +03:00
Doug a1c31faa64 Remove unnecessary awaits on RoomFlowCoordinator.init. (#4434) 2025-08-22 16:13:53 +01:00
Doug d119964d50 Space flow improvements. (#4430)
* Space flow improvements

- Use a state machine to select a space.
- Add a SpaceFlowCoordinator for recursively presenting subspaces.
- Get the spaceRoomListProxy when tapping on the space so we can indicate failures.
- Fix the total room count in SpaceListScreen.

* Refactor spaceRoom → spaceRoomProxy.

* Add a UI test for the Spaces flow.
2025-08-22 15:49:47 +01:00
amshak bb5deb9c50 Make the room list filters smaller. (#4432) 2025-08-22 14:46:39 +01:00
Doug 4bd846118a Add a feature flag for spaces. (#4429)
* Remove the huge conditional compilation block on AppSettings.

It is still required for the ElementCallBaseURL however.

* Add a feature flag for spaces.
2025-08-22 13:47:23 +01:00
Stefan Ceriu 487fd90bdb Fix pasting no longer working for rich text formats. 2025-08-22 13:32:18 +03:00
Stefan Ceriu 6da6350226 Fallback to the first type with a valid extension when sharing media and no supported content types can be found 2025-08-21 15:51:17 +03:00
Stefan Ceriu 028cd17fb0 Add support for audio/* mime types on pasting/sharing/drag&dropping files. 2025-08-21 15:51:17 +03:00
Stefan Ceriu 15fdc2c334 Remove the multipleAttachmentUploadEnabled feature flag. 2025-08-20 14:20:13 +03:00
Stefan Ceriu beb11fd7fd Fix photo and document picker tint colors on dark mode. 2025-08-20 14:20:13 +03:00
Copilot 8c38c11146 Add a Low Priority room filter behind a feature flag. (#4394)
* Add Low Priority room filter with incompatibility rules

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

* Add a feature flag and use the SDK filters.

* Fix filter tests and add RoomSummaryProvider tests for the default filters.

* Remove unnecessary comment.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2025-08-20 11:56:44 +01:00
ElementRobot 195ccfb8ba Translations update (#4422)
* Translations update

* Fix for renamed strings.

* Fix non-flattened strings.

---------

Co-authored-by: Doug <douglase@element.io>
2025-08-20 10:22:03 +01:00
Stefan Ceriu ea8ff3603b Fix #4420 - Configure the video camera picker to record in high quality - [UIImagePickerController.QualityType.typeHigh](https://developer.apple.com/documentation/uikit/uiimagepickercontroller/qualitytype) 2025-08-20 11:44:26 +03:00
Doug 31fc67d0e1 Only use the Element Call timeoutTask for room calls.
SPA call links were being timed out too 🤦‍♂️
2025-08-18 08:37:36 +03:00
Doug ed8f446735 Update the SDK, handle API breaks. (#4418) 2025-08-15 17:25:51 +01:00
Doug 3f6fc03ffd Fix some app route navigation bugs. (#4415)
- Opening a notification would update the stack with an animated pop.
- Opening a permalink from the timeline wouldn't push the room as a child.
2025-08-15 10:34:01 +01:00
Doug f1f6cace77 Fix a bug where the image upload screen was unintentionally dismissed for some failures. (#4414) 2025-08-14 17:19:57 +00:00
Doug 8000dbe29f Add a SpaceScreen for listing rooms and subspaces within a space. (#4412) 2025-08-14 16:24:20 +00:00
Doug de626186bd Add a workaround to include some via parameters for room v12 tombstone links. (#4413)
Without them, following the link fails as previously the server could use the server name from the room ID (which in and of itself seems somewhat error prone).
2025-08-14 13:02:07 +01:00
Doug 3dc6d73899 Add SpaceRoomCell & Space…ProxyProtocols and use them on the SpaceListScreen. (#4404) 2025-08-13 12:06:29 +01:00