Commit Graph

374 Commits

Author SHA1 Message Date
Benoit Marty
f5dacb7b2f Fix crash when recording long voice message. 2025-11-26 17:14:33 +01:00
Benoit Marty
c62f834917 Format - no other change. 2025-11-10 16:59:00 +01:00
Benoit Marty
1292da2a72 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty
b748fcc631 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty
0a0224b586 Copyright: run command uv run license-editor --repository ../element-x-android 2025-11-10 10:09:26 +01:00
ElementBot
287a017739 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
826cacf209 Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding 2025-10-22 18:52:37 +02:00
Benoit Marty
90cd52b5d5 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
5320bd06c2 Add some comment 2025-10-13 17:12:28 +02:00
renovate[bot]
84774cdc90 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
5e7437e827 Rename SavedState to SavedValue to avoid this class to be checked for stability. 2025-10-09 18:22:32 +02:00
Benoit Marty
da78386d25 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
c6d4a367d3 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
3a3dce150a 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
629fc552e5 Use DependencyHandlerScope.testCommonDependencies() 2025-09-16 14:38:31 +02:00
bmarty
676d7f6c8f Sync Strings from Localazy 2025-09-05 07:44:19 +00:00
Jorge Martín
e06bacbff3 Redo DI gradle setup code 2025-09-04 16:49:20 +02:00
Jorge Martín
fc3153bd26 Fix lint issues and restore commented out code 2025-09-04 16:49:18 +02:00
Jorge Martín
92a4b8b66b Start migrating Anvil KSP to Metro 2025-09-04 16:48:34 +02:00
ElementBot
a43b907275 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
285066c206 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
a4cee52815 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
6196c5524e Remove unused import 2025-08-12 17:49:31 +02:00
Benoit Marty
083e4fcbf2 Remove useless preview 2025-08-12 16:48:02 +02:00
Benoit Marty
d025ae63ee Remove FeatureFlag.MediaCaptionCreation and FeatureFlag.MediaCaptionWarning 2025-08-12 16:08:45 +02:00
Benoit Marty
be4e52e6ec Remove FeatureFlag.VoiceMessages 2025-08-12 16:08:41 +02:00
Jorge Martin Espinosa
a170d80cb3 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
badbc5189e 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
a2c8107b44 Sync Strings from Localazy 2025-08-04 00:34:11 +00:00
bmarty
0d0e958bd4 Sync Strings from Localazy 2025-07-28 00:33:43 +00:00
bmarty
06312b2e4a Sync Strings from Localazy 2025-07-22 20:46:13 +02:00
Benoit Marty
470ed51758 Add preview for mentions in the context of the timeline. 2025-07-08 18:49:22 +02:00
Benoit Marty
cb2e018431 Centralize gradient color definitions 2025-07-07 16:39:19 +02:00
Benoit Marty
8951744aba Use color from Semantics. 2025-07-07 16:28:33 +02:00
Benoit Marty
0bf2fd6acf Use correct color. 2025-07-07 16:18:49 +02:00
Benoit Marty
28a9e7b238 Use color from Semantics. 2025-07-07 16:17:01 +02:00
Benoit Marty
9bec4ce711 Use color from Semantics. 2025-07-07 15:13:24 +02:00
Benoit Marty
1a009c01f7 Use color from Semantics. 2025-07-07 15:06:33 +02:00
ElementBot
1944004409 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
24f08e8d20 [a11y] Ensure that the focus is not lost when the send button state change. 2025-07-03 17:19:43 +02:00
bmarty
2e8f8ec057 Sync Strings from Localazy 2025-06-30 00:33:54 +00:00
Benoit Marty
707a59a4fc a11y: improve content description of the close formatting button. Change from "Close" to "Cancel and close text formatting" 2025-06-26 15:55:15 +02:00
Jorge Martin Espinosa
668d91062c Fix duplicate usage of a modifier variable in TextInputBox (#4928) 2025-06-24 16:57:20 +02:00
Jorge Martin Espinosa
407c7ed70a Simplify message composer layout (#4884)
Co-authored-by: ElementBot <android@element.io>
2025-06-24 14:05:28 +02:00
Jorge Martin Espinosa
39be607c5c Restore MarkdownEditText.focusSearch override (#4908) 2025-06-20 17:24:17 +02:00
Benoit Marty
3ee5ee3f45 a11y: let Markdown/Rich text input render the placeholder to help for accessibility. 2025-06-20 15:00:28 +02:00
Benoit Marty
a4523a8de1 Inline TextInput so that we have code parity in the when statement 2025-06-20 14:20:23 +02:00
Benoit Marty
3db179edcf a11y: improve accessibility on rich text editor options. 2025-06-16 16:56:59 +02:00
bmarty
e826ed726f Sync Strings from Localazy 2025-06-16 00:31:39 +00:00
ElementBot
f32495ee58 Sync Strings from Localazy (#4842)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-06-11 14:13:33 +02:00