Commit graph

271 commits

Author SHA1 Message Date
Benoit Marty
1bd8fb4f36 Improve code readability. 2026-01-12 10:54:10 +01:00
Benoit Marty
a76e10868e Ensure that the keyboard focus and accessibility focus is not lost when deleting a pending voice message. 2026-01-08 13:29:27 +01:00
Benoit Marty
9e5de144a2 Small rework to prepare a bugfix. No behavior / UI change. 2026-01-08 11:42:05 +01:00
Benoit Marty
553d5c7b28 Cleanup code. This if was not necessary. 2026-01-08 11:35:52 +01:00
Benoit Marty
61f68f02d1 A11Y: ensure a11y focus is not lost and reset to the back button when the user use the keyboard to focus the send button and press the space bar to perform a click. 2026-01-08 10:01:23 +01:00
Benoit Marty
5034ae06b8 A11Y: ensure a11y focus is not lost and reset to the back button when the user start playing a pending voice message. 2026-01-07 15:43:27 +01:00
ElementBot
ad881c303a
Sync Strings from Localazy (#5904)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-12-15 23:51:19 +01:00
Benoit Marty
2d3a7f9745
Merge pull request #5821 from element-hq/feature/bma/fixLongVoiceRecording
Fix long voice recording
2025-12-03 10:27:46 +01:00
Benoit Marty
fc27accb94 Remove useless derivedStateOf 2025-12-03 09:52:41 +01:00
bmarty
32d56ea92d Sync Strings from Localazy 2025-12-01 00:23:54 +00:00
Benoit Marty
f3d7b16463 Fix crash when recording long voice message. 2025-11-26 17:14:33 +01:00
Benoit Marty
8149cc06f1 Format - no other change. 2025-11-10 16:59:00 +01:00
Benoit Marty
eb31505dc7 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty
f86431e663 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty
c4e0370f41 Copyright: run command uv run license-editor --repository ../element-x-android 2025-11-10 10:09:26 +01:00
ElementBot
967dfe6a6b
Sync Strings from Localazy (#5662)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-11-03 10:58:12 +01:00
Benoit Marty
263e761907 Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding 2025-10-22 18:52:37 +02:00
Benoit Marty
26fcd1567c Let the preview provider use stable data. I do not get why the generated screenshot was always similar. 2025-10-13 17:12:40 +02:00
Benoit Marty
c10c60134c Add some comment 2025-10-13 17:12:28 +02:00
renovate[bot]
b6e2208ccb
fix(deps): update wysiwyg to v2.40.0 (#5400)
* fix(deps): update wysiwyg to v2.40.0

* Fix API mismatches

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-10-10 21:55:28 +02:00
Benoit Marty
19238acf5d Rename SavedState to SavedValue to avoid this class to be checked for stability. 2025-10-09 18:22:32 +02:00
Benoit Marty
67c9daa0bf Add Konsist test to check that toPersistentList() is not used.
Same for `toPersistentSet()` and `toPersistentMap()`.
Fix existing issues.
2025-10-08 15:51:18 +02:00
ElementBot
95949e615f
Sync Strings from Localazy (#5427)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-09-29 15:10:21 +00:00
Jorge Martin Espinosa
0a5c178fe8
Add thread decoration with latest event details (#5355)
* Add thread decoration with latest event details
* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-09-23 14:57:50 +00:00
Benoit Marty
a575019760 Use DependencyHandlerScope.testCommonDependencies() 2025-09-16 14:38:31 +02:00
bmarty
8027ce9dca Sync Strings from Localazy 2025-09-05 07:44:19 +00:00
Jorge Martín
4ab62a6a38 Redo DI gradle setup code 2025-09-04 16:49:20 +02:00
Jorge Martín
29a97fc0d9 Fix lint issues and restore commented out code 2025-09-04 16:49:18 +02:00
Jorge Martín
b76a71ebf5 Start migrating Anvil KSP to Metro 2025-09-04 16:48:34 +02:00
ElementBot
02c9549bc0
Sync Strings from Localazy (#5249)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-09-01 12:44:49 +02:00
Jorge Martin Espinosa
35928e3630
Threads - first iteration (#5165)
* Initial threads support: parse `ThreadSummary`.

Replace several `isThreaded` values with `EventThreadInfo`, which contains the info about the event either being the root of a thread or part of it.

* Add `Threaded` timeline mode

* Add a `liveTimeline` parameter to `TimelineController`'s  constructor. This way we can customise which timeline will be used as the 'live' one. Also add `@LiveTimeline` DI qualifier for the actual live timeline of the room.

* Create `ThreadedMessagesNode`. Allow opening a thread in a separate screen.

* Add the callbacks for the list menu actions - even if they're the wrong ones and will send the data to the room instead

* Send attachments and location in threads

* Fix polls in threads, add support for sending voice messages in threads

* Display thread summaries only when the feature flag is enabled

* Use 'Reply' instead of 'Reply in thread' when in threaded timeline mode

* Remove incorrect usage of `Timeline` in `MessageComposerPresenter`. This led to replies to threaded events not appearing as actual replies.

---------

Co-authored-by: ElementBot <android@element.io>
2025-08-19 13:35:48 +00:00
ElementBot
7c40c87d9a
Sync Strings from Localazy (#5178)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-08-18 11:09:27 +02:00
Benoit Marty
de73412d4f Remove unused import 2025-08-12 17:49:31 +02:00
Benoit Marty
076bb1ab98 Remove useless preview 2025-08-12 16:48:02 +02:00
Benoit Marty
34efd2c3fa Remove FeatureFlag.MediaCaptionCreation and FeatureFlag.MediaCaptionWarning 2025-08-12 16:08:45 +02:00
Benoit Marty
0ba783cd93 Remove FeatureFlag.VoiceMessages 2025-08-12 16:08:41 +02:00
Jorge Martin Espinosa
adc61b3826
Add media file limit size warning and media quality selection (#5131)
* Add `VideoCompressorPreset` enum

This represents the different compression presets used for processing videos before uploading them

* Add `VideoCompressorHelper` util class to calculate the scaled output size of the video given an input size and its optimal bitrate

Also add `MediaOptimizationConfig` which will be used to decide how to apply compression in `MediaPreProcessor`

* Add `RustMatrixClient.getMaxFileUploadSize()` function and `MaxUploadSizeProvider` so we can import only this functionality into other components

* Try preloading the max file upload size the first time we get network connectivity - it's a best effort

This should help ensure we'll have this value available later, even if we still need to load it asynchronously.

* Split the `compressMedia` preference into `compressImages` and `compressMediaPreset`

* Modify the media processing parts to use the new classes and utils

* Add `MediaOptimizationSelectorPresenter`, which will retrieve the compression values and the max file upload size, also estimating the compressed video file sizes if needed.

* Add a feature flag to allow selecting the media upload quality per upload

* Integrate the previous changes with the attachments preview screen

Add strings from localazy too.

* Adapt the rest of the app calls to upload media to using the media optimization configs

* Allow modifying the default compression values in advanced settings, based on the feature flag value

* Pass the `fileSize` in `MediaUploadInfo` too, to be able to check it against the `maxUploadSize`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-08-11 17:22:46 +02:00
ElementBot
4b12c3f805
Sync Strings (#5146)
* Sync Strings from Localazy

* Remove unused WelcomeView.

* Remove unused WelcomeView.

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-08-11 12:49:29 +00:00
bmarty
ee77c646eb Sync Strings from Localazy 2025-08-04 00:34:11 +00:00
bmarty
0fb0861bc1 Sync Strings from Localazy 2025-07-28 00:33:43 +00:00
bmarty
8ffbfd82e8 Sync Strings from Localazy 2025-07-22 20:46:13 +02:00
Benoit Marty
4c42b3c013 Add preview for mentions in the context of the timeline. 2025-07-08 18:49:22 +02:00
Benoit Marty
99bfde7eec Centralize gradient color definitions 2025-07-07 16:39:19 +02:00
Benoit Marty
e8a3720c2a Use color from Semantics. 2025-07-07 16:28:33 +02:00
Benoit Marty
f7c8c6ac3b Use correct color. 2025-07-07 16:18:49 +02:00
Benoit Marty
e11f544133 Use color from Semantics. 2025-07-07 16:17:01 +02:00
Benoit Marty
d1e04d510f Use color from Semantics. 2025-07-07 15:13:24 +02:00
Benoit Marty
66c419dfa3 Use color from Semantics. 2025-07-07 15:06:33 +02:00
ElementBot
d9ede0544c
Sync Strings from Localazy (#4983)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-07-04 14:37:59 +00:00
Benoit Marty
e608ac0993 [a11y] Ensure that the focus is not lost when the send button state change. 2025-07-03 17:19:43 +02:00