Commit graph

255 commits

Author SHA1 Message Date
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
bmarty
284241a4ec Sync Strings from Localazy 2025-06-30 00:33:54 +00:00
Benoit Marty
3b687a129c 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
e752323f37
Fix duplicate usage of a modifier variable in TextInputBox (#4928) 2025-06-24 16:57:20 +02:00
Jorge Martin Espinosa
a10734de02
Simplify message composer layout (#4884)
Co-authored-by: ElementBot <android@element.io>
2025-06-24 14:05:28 +02:00
Jorge Martin Espinosa
4eb4692531
Restore MarkdownEditText.focusSearch override (#4908) 2025-06-20 17:24:17 +02:00
Benoit Marty
ff95c4365d a11y: let Markdown/Rich text input render the placeholder to help for accessibility. 2025-06-20 15:00:28 +02:00
Benoit Marty
4389657a0d Inline TextInput so that we have code parity in the when statement 2025-06-20 14:20:23 +02:00
Benoit Marty
f95b38de52 a11y: improve accessibility on rich text editor options. 2025-06-16 16:56:59 +02:00
bmarty
78def8a6e7 Sync Strings from Localazy 2025-06-16 00:31:39 +00:00
ElementBot
520c1293b6
Sync Strings from Localazy (#4842)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-06-11 14:13:33 +02:00
Jorge Martin Espinosa
eff693ccd9
Fix for message composer losing focus in Compose 1.8.0 (#4853)
Co-authored-by: ElementBot <android@element.io>
2025-06-10 16:39:26 +00:00
ElementBot
87c376cfb6
Sync Strings from Localazy (#4804)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-06-02 12:05:08 +02:00
ElementBot
e8f29a38bf
Sync Strings (#4775) 2025-05-30 08:47:39 +00:00
ElementBot
bfa05ece67
Sync Strings from Localazy (#4677)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-05-05 12:11:22 +02:00
ElementBot
847f8fcbf6
Sync Strings from Localazy (#4648)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-04-28 10:59:35 +02:00
ElementBot
e3a32ba52e
Sync Strings from Localazy (#4612)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-04-22 08:57:00 +02:00