Commit graph

4690 commits

Author SHA1 Message Date
Benoit Marty
a2dd455f22
Merge pull request #5273 from element-hq/feature/bma/spaceNextStep
Space: add content in home screen
2025-09-05 17:55:14 +02:00
Benoit Marty
ba12e26b20
Cleanup our DI solution and add documentation about the migration to Metro (#5287)
* Format

* Rename anvil modules to annotations and codegen

* Add documentation to migrate from Dagger/Anvil to Metro

* Other cleanup

* Cleanup kover config.
2025-09-05 17:39:56 +02:00
Jorge Martin Espinosa
a8a6a51953
Allow replying to a message with an attachment (#5261) 2025-09-05 17:36:54 +02:00
Benoit Marty
d09bc71f32 Fix compilation issue after rebase on develop. 2025-09-05 17:27:01 +02:00
Benoit Marty
c24d5fc608 Code quality 2025-09-05 17:09:43 +02:00
Benoit Marty
63706c0558 Add tests on HomeSpacesPresenter 2025-09-05 17:09:42 +02:00
Benoit Marty
a22ab5e663 Add space header. 2025-09-05 17:09:40 +02:00
Benoit Marty
a0ec8658af Take into account hiding avatars from invitation 2025-09-05 17:09:40 +02:00
Benoit Marty
81d82fb0de Space List
Extract InviteButtonsRowMolecule
Take into account seenSpaceInvites
2025-09-05 17:09:39 +02:00
Benoit Marty
8d533e8a20 Other cleanup 2025-09-05 16:54:45 +02:00
Benoit Marty
e88743bd6a Rename anvil modules to annotations and codegen 2025-09-05 14:26:27 +02:00
Benoit Marty
aaaca12aa7 Sync strings again 2025-09-05 10:39:44 +02:00
Benoit Marty
2e5a4bc414 Fix compilation issue. 2025-09-05 10:13:51 +02:00
bmarty
8027ce9dca Sync Strings from Localazy 2025-09-05 07:44:19 +00:00
Jorge Martín
e8328858ab Fixes after rebase 2025-09-04 16:49:21 +02:00
Jorge Martín
08bbe3fdaa Some cleanup:
- Remove unnecessary `GlobalScope`.
- Rename `Component` to `Graph`, `DaggerComponentOwner` to `DependencyInjectionGraphOwner`.
- Rename component builders to factories, where necessary.
2025-09-04 16:49:21 +02:00
Jorge Martín
badd8aa8a1 Fix push notification bindings 2025-09-04 16:49:21 +02:00
Jorge Martín
de8de61b2e Remove dagger and anvil dependencies, try to simplify gradle build scripts a bit 2025-09-04 16:49:21 +02: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
Jorge Martin Espinosa
d4d57b1e21
Reload member list after moderation actions (#5268)
* Reload member list after moderation actions

The previous `runActionAndWaitForMembershipChange` logic wasn't really doing anything, as the modified flow was never used.

* Make sure we always set the value in the member list state flow, even if the underlying coroutine scope is no longer there.

With `emit`, the `Ready` state was not emitted if the member list was loaded way too fast.
2025-09-04 12:56:46 +00:00
Benoit Marty
0927a502f5 Do not let default enterprise impl module be implemented for enterprise build. 2025-09-04 13:33:37 +02:00
renovate[bot]
98cc918a3e
Update dependency io.element.android:emojibase-bindings to v1.4.3 (#5250)
* Update dependency io.element.android:emojibase-bindings to v1.4.3

* Fix breaks in API

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-09-02 09:20:21 +02:00
Benoit Marty
00ca73f342
Refactor: Move InMemorySessionStore to test module (#5252)
* Refactor: Move InMemorySessionStore to test module

- Delete `libraries/session-storage/impl-memory` module
- Move `InMemorySessionStore.kt` to `libraries/session-storage/test`

* Cleanup tests.

* Fix error.
2025-09-01 17:29:43 +02:00
Jorge Martin Espinosa
66eb876b2d
[a11y] Add click action to the message bottom sheet handle (#5228) 2025-09-01 15:27:40 +02:00
Benoit Marty
025131841b Cleanup tests. 2025-09-01 15:03:41 +02:00
Benoit Marty
75a640b986 Refactor: Move InMemorySessionStore to test module
- Delete `libraries/session-storage/impl-memory` module
- Move `InMemorySessionStore.kt` to `libraries/session-storage/test`
2025-09-01 14:47:42 +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
cc3d04ad84
[a11y] Add content descriptions to room list item indicators (#5236)
* [a11y] Add content descriptions to room list item indicators. These can now be read aloud as 'ongoing call', 'new messages', 'new mentions'.

* Add `contentDescription` to `UnreadIndicatorAtom` as an optional value

* Make the 'ongoing call', 'new messages', etc. indicators be read aloud before the latest event of the room summary

---------

Co-authored-by: ElementBot <android@element.io>
2025-08-27 17:14:59 +02:00
Benoit Marty
1632706121 Remove LoginUserStory.
No that we do not have the WaitList screen anymore, this interface and implementation are useless.
2025-08-27 15:20:20 +02:00
Benoit Marty
ab5dd2765e Rename test. 2025-08-26 10:24:48 +02:00
Benoit Marty
1a0e625fa9 Add unit test on DefaultOnBoardingLogoResIdProvider 2025-08-26 09:41:10 +02:00
Benoit Marty
6e4f034bc1 Rename custom_logo to onboarding_logo 2025-08-26 09:36:26 +02:00
Jorge Martin Espinosa
6e6440940f
Add extra logs for sending media (#5218)
* Add extra logs for sending media

We have some issues with stuck media uploads that could use some logs to understand where the process gets stuck.

* Fix mocks for test
2025-08-26 07:02:15 +00:00
Benoit Marty
4150ed5d7c
Merge pull request #5217 from element-hq/bma/customSplash
Custom logo on on boarding screen.
2025-08-25 18:01:37 +02:00
Benoit Marty
4c45346160 Add a way to customize the on boarding logo. 2025-08-25 14:47:41 +02:00
Benoit Marty
6a23266f32
Merge pull request #5214 from element-hq/feature/bma/a11yScreenshotTest
Introduce a11y screenshot test
2025-08-25 12:23:02 +02:00
Benoit Marty
3c2cc5adbb
Merge pull request #5215 from element-hq/feature/bma/cleanupInject
AnalyticsOptInStateProvider does not need to have an injected constructor
2025-08-25 12:19:07 +02:00
Benoit Marty
0b2b9cfe57 AnalyticsOptInStateProvider does not need to have an injected constructor. 2025-08-25 12:08:15 +02:00
Benoit Marty
4e5bbaf946 Split module deeplink to api and impl. 2025-08-25 11:36:42 +02:00
Benoit Marty
1682fd4c2c Remove dependency to Anvil from modules that do not use it. 2025-08-25 11:36:42 +02:00
ElementBot
2c75a1f834
Sync Strings from Localazy (#5211)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-08-25 11:15:38 +02:00
Benoit Marty
1d7e7e19d9 Test previews with a11y details and add a first example with HomeViewA11yPreview. 2025-08-25 11:10:23 +02:00
Benoit Marty
a625c109b8
Merge pull request #5207 from element-hq/feature/bma/spaceInfoUi
Add UI components for spaces.
2025-08-23 16:16:39 +02:00
Benoit Marty
7b1a4bb3e3 Let JoinRule and AllowRule be Immutable. 2025-08-22 16:13:55 +02:00
Jorge Martin Espinosa
7a5a197e7e
Allow replying to any remote message in a thread (#5201)
* Allow replying to any remote message in a thread.

This will open the thread screen based on the selected event:

- If it was already part of a thread, it will open that thread.
- Otherwise, it'll open the thread timeline screen so you can start a thread from the event.

* Add the feature flag to decide which action to perform. Also, rename the feature flag to something easier to understand.

* Display the reply in thread action based on the feature flag too

---------

Co-authored-by: ElementBot <android@element.io>
2025-08-22 16:07:13 +02:00
Jorge Martin Espinosa
8245ad8bc3
Handle preference stores corruption by clearing them (#5086)
* Handle preference stores corruption by clearing them:
    - Use the centralised `PreferenceDataStoreFactory` instead of `preferences by`.
    - Add `DefaultPreferencesCorruptionHandlerFactory.replaceWithEmpty` to its `create(name)` method so all preference stores are cleared if they're corrupted.

* Add detekt rule to make sure we use `PreferenceDataStoreFactory` instead of `by preferencesDataStore`

* Remove `@SingleIn` annotations as the annotated class no longer have to be singletons
2025-08-22 06:59:06 +00:00
Benoit Marty
c3bd1492b6 Rename RoomPreviewMembersCountMolecule to MembersCountMolecule 2025-08-20 17:13:42 +02:00
Benoit Marty
2ee4b4fdcb Move AvatarRow to designsystem module, because it will be used by spaces. 2025-08-20 15:56:46 +02:00