Support gallery messages (#6519)

* Support gallery messages

* Address review

* Remove unused function

* Fix indent

* Add "Gallery" message prefix

* Support galleries for image editing

* Fix tapping on a tile opens the last item

* Fix overflow count

* Add caption editing to gallery messages

* Use the new gallery string for prefix

* Lock sending galleries behind a feature flag

* Fix detekts

* Fix

* Ensure image edition is saved when navigating

* Fix sending media broken on edited gallery.

* Fix tests

* Order imports

* Remove unused parameters.

* Fix copyright header of new files.

* Fix Konsist test

* Extract new previews to a dedicated file.

* Sync strings

* Remove unused import

* Update screenshots

* Trigger CI

* Remove parameters with default value.

* More cleanup

* Restore sendAsFile behavior.

* Improve Preview.

* Improve Preview.

* Improve Preview.

* Fix gallery sending cancel and retry issue

* Ensure any previous job is cancelled.

* Fix issue in summary message

* Gallery feature is disabled by default.

* Kotlin convention

* Remove useless parenthesis

* Update screenshots

* Fix test

* List -> ImmutableList

* Remove useless code.

* Render formatted caption for attachment list.

* Replace set of Booleans by an enum

* Remove unused model for individual caption in a gallery Event.

* Fix tests

* Fix tests

* Rework MediaViewer entry point.

And ensure that the clicked image from the gallery is displayed first.

* Ensure gallery item can be click in the pinned message list
Improve the gallery item click handling code.

* Improve code and fix separator color
Closes #7101

* React on attachment item click
Improve code

* Improve code and support 0 items in gallery.

* Fix click on attachment item not rendering anything.

---------

Co-authored-by: Benoit Marty <benoitm@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <android@element.io>
This commit is contained in:
bxdxnn
2026-06-26 17:00:56 +03:00
committed by GitHub
parent 9e7ae34728
commit 87aff40b26
180 changed files with 3470 additions and 637 deletions
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d470f7df702048d8467c1daa4304b77adb641e5f481a9414ea5e9b72279eb1cf
size 29813
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:40a46a63f4e27303a9ac0daec115296a880233b8e5fc717c4b75616d552810c3
size 16170
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:072d87f706f949dcb0c2600b51745709747af71c552aa6a264760a0c8a254b51
size 29010
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d4a8a086ac268a9d2dd45f738cffced918ed834e3892f42cf220d2b9745b15fe
size 15481
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a649c1213f7577e41c8fb847694a433fb8296008b020ce9c11b9f19e4daf2362
size 366552
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a45bc7d128c477a017d3f64a1e7ae14b4de888873fce20e5b8f146871f52d08c
size 372020
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f46ed316ce20fdec7c2a8ab834cc68c0db8f1cf5dab05a3835133274bdf74968
size 372000
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1cb42c166ced625581718e7f0f11fe9a6a04a0fc9ccd907addd368c44884069
size 309093
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f4a12a0fc4ad8f9d5b64a30e3d7ba8c678dfd8582c98b668d292594dba7b2742
size 361947
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1e813d8530f1083a960a30cda348e7b68ec54b02f62773fd83788054d9b78a8c
size 371473
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3f8c6615f0b06c1e1a358622e0598aa89bc7c7e2b5bdf7daad269c92434e124d
size 371473
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2c144e259fa322bd899a047ade06c7105a6d5f41732193baa9e1437067d7b47f
size 302873
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e3bb005a88e9a4d2bb850478ee8ac2c4f31d32625bd6d2abf455fade461cd399
size 607806
oid sha256:85be731a87510f5825fd37c24f9057d86592b3d43ce93e2bcb511a20f80f6fca
size 606225
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5291e32a1ff8bfb7f07c028c43733258d5db74537e956d4ace08346ae102a3c5
size 48372
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:af2f2c775304355a8540fb675008d3a3d0d562962035077a90c87be837ad5bd5
size 103522
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:40613ee16dae9b237a300d0d589045e8bbac8e61f842f232b78375aa27c18ebf
size 76264
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e7f38d776f1d538e1cf5c8d56d8a0af99a18ca5d5b4bdae2eb7f912cd49ab227
size 39146
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:70e3df3c1f51facbcb45764e346aed8081071bac01ecc6ed0b98f954d586c847
size 47988
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a55b40b059220aeb73e62a645cf84fa4fd31c21aad0fa188c9e08b70215b1043
size 102588
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d19ef86a311234a3ce43778171f4efaef867513aa990f7bea19d3f8cff4db8a4
size 75688
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:28859edab7881602214e4c8d4206d64ae7aea00cd8b92a031a1e383f0be71653
size 38672