Commit Graph

981 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
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
Doug e33631affa Remove the unused media provider from the PillView. 2025-09-03 17:39:16 +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
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 863f28d476 Improve global proxy detection, building and logging. 2025-08-25 16:57:17 +03: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
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
Doug 8000dbe29f Add a SpaceScreen for listing rooms and subspaces within a space. (#4412) 2025-08-14 16:24:20 +00:00
Doug 3dc6d73899 Add SpaceRoomCell & Space…ProxyProtocols and use them on the SpaceListScreen. (#4404) 2025-08-13 12:06:29 +01:00
Doug b3a395acb6 Update the SDK. (#4405) 2025-08-12 16:20:09 +00:00
Copilot 63aadefd64 Remove unreachable guard condition in String.asciified() (#4395) 2025-08-08 11:31:15 +01:00
Doug f59a93d1a9 Initial setup for the SpaceListScreen. (#4380) 2025-08-05 11:06:26 +01:00
Doug 01033cf53e Add support for Space avatars. (#4362) 2025-07-29 12:20:13 +01:00
Doug 75bc26d20b Use the maxUploadSize in the media upload screen. (#4359)
* Fix a bug where some files sizes were sent as 0.

* Make FileManger.sizeForItem(at:) a UInt.

The docs specifically say that FileAttributeKey.size returns an unsigned long long so I have no idea why we were returning a Double here…

* Add the maxMediaUploadSize property on ClientProxy.

* Use the maxUploadSize to set a target video size and to show a file too big error.

* Refactor media upload parameter order.
2025-07-29 12:18:53 +01:00
Stefan Ceriu 82c7dfe28d Update message composer design for unencrypted rooms (#4361)
* Update message composer design for unencrypted rooms.
* Move the encryption banner to the composer toolbar.
2025-07-28 19:21:13 +03:00
Stefan Ceriu cedb2936d0 Fix Cannot explicitly specialize instance method 'deferFulfillment(_:timeout:message:until:) warning 2025-07-24 14:55:34 +03:00
Doug d6f7607538 Update the default logs directory and allow collection from elsewhere. (#4352)
* Replace deprecated URL methods.

* Start putting log files in Library/Logs (moving existing files with a migration.)

* Make Tracing.deleteLogFiles aware of the legacy logs location.

* Allow the logs to be collected from a different directory.
2025-07-24 09:49:29 +01:00
Doug 76e83462a8 Add a TracingHook. (#4345) 2025-07-23 14:29:31 +01:00
Doug 82c659f3da Refactor Rageshake URL and Target configuration. (#4337)
* Move the rageshakeURL configuration from the BugReportService to AppSettings.

* Refactor Target to return a handle when configuring.

This helps with reconfiguration and removes the @MainActor constraint.
2025-07-22 10:19:26 +01:00
Mauro Romito 97f517129f hit region issues were caused by dynamic type checks not working properly, so they have been removed 2025-07-21 20:11:18 +02:00
Mauro Romito dac4c985d6 tombstoned room a11y label 2025-07-21 20:11:18 +02:00
Mauro Romito f45a5f814e read receipt cell should be grouped and the avatar accessibility hidden 2025-07-21 20:11:18 +02:00
Mauro Romito 20f897256c fixes 2025-07-21 20:11:18 +02:00
Mauro 27f078e83c Accessibiliy Tests part 2 (#4325)
* running all the tests

* setting up CI

* fixed the workflow

* workflow on pull request, just to make it appear

* removed the test to run var

* fix archived tests name

* improved the tests, by filtering out some noise

* pr suggestions and added an improvement to the filtering

* improved the interrupt handler

* improved the UI interruption monitor handler

* some more refinement to handle the interruptor + false positive for non human readable labels

* reverted wrong commit

* ready for review, removed the on pull request check

* pr suggestions
2025-07-18 10:33:45 +02:00
Doug 247c7a4617 Fix the flakey preview tests. (#4329)
* Try fix the flakey preview tests with a low priority task…

* Try RunLoop.current.perform

* Revert #4321: Use a dispatch queue again. Also fixes the concurrency warning with a Mutex.

The Mutex package is only required for iOS 17, we can remove it when we set the minimum deployment target to iOS 18.
2025-07-17 12:45:33 +01:00
Doug 17000687b5 Use a Task instead of a DispatchQueue to fix the flakey observation tests. (#4321)
When debugging in, sometimes the value hadn't been set after dispatching, whereas it has with a Task. Not sure I fully understand why and it's annoying that there aren't any observation APIs for didSet.
2025-07-15 17:58:38 +01:00
Mauro c1b94a2d9f Automatic Accessibility Audits on previews part 1 (#4322)
* setup target

* accessibility tests implementation

* removed ipad check

* pr improvements

* updated project
2025-07-15 14:40:16 +02:00
Doug 5065ed6735 Update Compound and add some new snapshot tests. (#4311)
* Update Compound.

* Add some snapshot tests for PillView on a bubble background.

Version 5.0.0 of compound-design-tokens changed the pill colour but all our snapshots are on white so we didn't notice the difference in contrast. This doesn't fix anything, it purely adds the snapshots.
2025-07-09 11:24:14 +01:00
Mauro c60fd88577 Aadded sender name when voiceover focuses a poll title (#4306)
* added sender name in poll voiceover

* improved the code

* code improvement
2025-07-08 16:37:27 +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
Stefan Ceriu 6a4a1b134b Add support for the new client wide threads feature flag
- enable it everywhere as it's safer than dealing with different configurations
2025-07-04 16:04:46 +03:00
Doug 2f34502015 Handle the new trace log pack. 2025-07-02 17:51:52 +03:00
Doug c7b562250b Adopt StateStoreViewModelV2 in more screens. (#4275)
* Use StateStoreViewModelV2 in AnalyticsPromptScreen.

* Use StateStoreViewModelV2 in UserProfileScreen.

* Use StateStoreViewModelV2 in MediaUploadPreviewScreen.

* Use StateStoreViewModelV2 in the Roles & Permissions screens.

* Add the asyncStream variant of deferFailure.

* Use StateStoreViewModelV2 in BlockedUsersScreen.

* Use StateStoreViewModelV2 in ManageRoomMemberSheet.

* Use StateStoreViewModelV2 in ResolveVerifiedUserSendFailureScreen.

* Use StateStoreViewModelV2 in ReportContentScreen.

* Use StateStoreViewModelV2 in ReportRoomScreen.

* Use StateStoreViewModelV2 in StaticLocationScreen.

* Use StateStoreViewModelV2 in EmojiPickerScreen.

* Use StateStoreViewModelV2 in PollFormScreen.

* Use StateStoreViewModelV2 in DeclineAndBlockScreen.

* Use StateStoreViewModelV2 in RoomDetailsScreen.

* Fix a random compilation error that just popped up 🤷‍♂️

* Fix expectation message.
2025-07-02 15:13:42 +01:00
Doug e0914e4889 Replace the Report a Problem button with the app's version on the start screen. (#4262)
Tapping it 7-times will secretly reveal the bug report screen 🤫
2025-06-27 10:09:35 +01:00
Mauro Romito e075c90bee add view avatar a11y label 2025-06-26 12:35:43 +02:00
Doug 374fb722c6 Fix media previews in private room notifications and pagination on upgraded rooms. 2025-06-24 20:12:20 +03:00
Stefan Ceriu daf4aa9239 Move all Introspect VersionPredicates into Compound to have them all in the same place. 2025-06-19 15:06:16 +03:00
Stefan Ceriu f4333ba683 Fix MediaTimeline screen header iOS 26 crash, update remaining version predicates. 2025-06-19 14:29:49 +03:00
Stefan Ceriu 28038adc0d Fixes #4204, #4180 - Fix OS 26 crashes when not running a development build. 2025-06-18 11:54:00 +03:00
Stefan Ceriu 753ee2f11d Fixes #4180 - Prevent room header autolayout crashes on iOS 26. 2025-06-12 11:23:04 +03:00
Richard van der Hoff 394eb008ab Add a developer option for history sharing on invite
Adds a new developer flag, enabling our experimental support for MSC4268.
2025-06-11 11:24:29 +03:00