Commit graph

1867 commits

Author SHA1 Message Date
Benoit Marty
8a7e71b49e PermissionsEvents -> PermissionsEvent 2025-12-10 10:50:10 +01:00
Skye Elliot
59f51d8627
Add alert to encrypted rooms with visible history (Android). (#5709)
* feat: Add visible history alert to encrypted rooms.

- Adds a dismissable alert that is displayed whenever the user opens a
  room with `history_visibility` != `joined`. When cleared, this is
  recorded in the app's data store.
- When opening a room with `history_visibility` = `joined`, this flag is
  cleared.`

Issue: https://github.com/element-hq/element-meta/issues/2875

* chore: Fix linting issues.

* feat: Move alert showing logic into state presenter.

* chore: Fix linting issues.

* tests: Fixup tests.

* feat: Use real link.

* chore: Update license header.

* chore: Add (c) to license headers.

* chore: Add `.` to license header.

* feat: Lock alert behind history sharing developer setting.

* ci: Trigger record screenshots

* feat: Create repo key using session ID for multi-account support.

* feat: Use session ID hash for constructing data store.

* tests: Correct and update tests.

* tests: Update snapshots.

* feat: Prevent identity alert from displaying with history visibility alert.

* feat: Tidy up HistoryVisibleStatePresenter logic, update previews.

* chore: Remove unused import.

* chore: Update screenshots.

* feat: Add translation string.

* chore: Remove redundant temporary translation file.
2025-12-08 21:19:15 +01:00
Benoit Marty
54e742075d Detekt: enable rule exceptions.SwallowedException and fix existing issue. 2025-12-05 09:45:23 +01:00
Benoit Marty
35e75b944f Merge branch 'develop' into feature/bma/limitComposerHeight 2025-12-03 17:44:05 +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
ganfra
a23bdfb1d4
Merge pull request #5830 from element-hq/sync-localazy
Sync Strings
2025-12-02 20:58:45 +01:00
Benoit Marty
7f0912850c Let the composer takes at max half of the available height. The value will be different if the soft keyboard is displayed or not.
Closes #3851
2025-12-02 16:36:30 +01:00
Jorge Martin Espinosa
2e2d68ba83
Load JoinedRoom in home screen, pass it to the room flow (#5817)
* Load `JoinedRoom` in `HomeFlowNode.navigateToRoom`, then pass it to the next navigation nodes

* Add delayed loading indicator for cases when loading the room takes too long

* Avoid an extra FFI call in `RustRoomFactory`.

Use `RoomInfo.membership` instead.

Also use `computation` dispatcher, since it should reduce the delay when switching contexts.

* Remove the dispatcher usage when loading the room in `HomeFlowNode`, we immediately call a method that changes the dispatcher used

* Make sure only a single room is opened at a time
2025-12-02 15:22:55 +00:00
bmarty
32d56ea92d Sync Strings from Localazy 2025-12-01 00:23:54 +00:00
Jorge Martín
f265a47243 Make sure we don't finish NotificationTapOpensTimeline until we've actually rendered the timeline event we need to focus on 2025-11-28 14:15:54 +01:00
Jorge Martín
1c576fd42d Add AnalyticsService.cancelLongRunningTransaction and AnalyticsService.finishLongRunningTransaction 2025-11-28 14:15:54 +01:00
Jorge Martín
4b3796844f Add transaction trees for opening a room so we can have a nice trace view 2025-11-28 14:15:54 +01:00
Jorge Martín
10b31e3e72 Add OpenRoom long running analytic transaction 2025-11-28 14:15:54 +01:00
Jorge Martín
e1bd189ba0 Add a performance check for notification tap -> populated timeline time 2025-11-28 14:15:54 +01:00
Benoit Marty
d94e8e7a2c Rename VoiceMessageComposerEvents to VoiceMessageComposerEvent 2025-11-27 09:41:29 +01:00
Benoit Marty
b25b99c890 Add unit test to ensure that number of levels is limited. 2025-11-27 09:30:22 +01:00
Benoit Marty
0fbf156262 Use test extension 2025-11-27 09:02:31 +01:00
Benoit Marty
a344b11eaa Rename test class 2025-11-27 07:16:13 +01:00
Benoit Marty
f3d7b16463 Fix crash when recording long voice message. 2025-11-26 17:14:33 +01:00
ganfra
da57eaadf2
Merge pull request #5809 from element-hq/feature/fga/new_latest_event
misc : use newLatestEvent api from sdk
2025-11-26 12:30:34 +01:00
ganfra
b04524e566 misc : use new_latest_event api (+ some renaming) 2025-11-26 10:58:16 +01:00
Benoit Marty
672a6fe6b0 hasSize(0) -> isEmpty() 2025-11-25 17:03:00 +01:00
ElementBot
703496e059
Sync Strings from Localazy (#5782)
Co-authored-by: jmartinesp <480955+jmartinesp@users.noreply.github.com>
2025-11-20 15:25:19 +00:00
Benoit Marty
f8ce408679 Ensure that htmlConverterProvider is initialized when viewing Pinned events. Fixes #5763 2025-11-19 14:37:19 +01:00
Benoit Marty
310848ee38
Merge pull request #5722 from element-hq/feature/bma/moduleCleanup
Module cleanup
2025-11-18 16:14:10 +01:00
Jorge Martin Espinosa
0cb9d86157
Send read receipts using the current timeline, not the live timeline (#5731)
This fixes sending read receipts in threaded timelines.
2025-11-17 13:33:17 +01:00
Benoit Marty
8638c06207
Merge pull request #5721 from element-hq/feature/bma/matrixUiModules
Let notifications use avatar fallback.
2025-11-13 10:22:39 +01:00
Benoit Marty
8285478688 API modules do not need to setup dependency injection.
Move the implementation to the impl modules.
2025-11-12 19:05:39 +01:00
Benoit Marty
573767aca1 Let notifications use avatar fallback.
Extract code which handles Matrix image to its own api / impl / test modules.
2025-11-12 11:28:42 +01:00
Benoit Marty
30cc45c089 Ensure bottom sheet is collapsed when leaving RTE mode. Closes #5635 2025-11-10 16:59:36 +01:00
Benoit Marty
8149cc06f1 Format - no other change. 2025-11-10 16:59:00 +01:00
Benoit Marty
24c213901e Rename MessageComposerEvents to MessageComposerEvent 2025-11-10 16:29:30 +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
Benoit Marty
8769b98862
Merge pull request #5698 from element-hq/feature/bma/handleEvent
Code consistency around view event handling
2025-11-10 09:36:04 +01:00
Benoit Marty
b732ee29a3 Fix compilation issue 2025-11-07 13:35:23 +01:00
Benoit Marty
2d80e9c40d Rename parameter to event for code consistency 2025-11-07 12:28:16 +01:00
Benoit Marty
7ad9c8f687 Rename handleEvents to handleEvent 2025-11-07 12:21:43 +01:00
Benoit Marty
6acd0ed687 Update how eventSink is used in DefaultVoiceMessageComposerPresenter 2025-11-07 12:18:47 +01:00
Skye Elliot
5fe2c86e1d
feat: Convert ComposerAlertMolecule to use alert levels. 2025-11-06 12:44:02 +00:00
Benoit Marty
2b08cb77ee
Merge pull request #5672 from element-hq/feature/bma/handleEvents
Always use the handleEvent(s) function the same way.
2025-11-04 11:20:22 +01:00
Benoit Marty
fdd4e2115c Always use the handleEvent(s) function the same way. 2025-11-03 18:49:00 +01:00
Benoit Marty
44f2b2f6df Code cleanup 2025-11-03 15:53:31 +01:00
Benoit Marty
d08fd79025 Rename MessagesEntryPointNode to MessagesEntryPoint.NodeProxy for consistency. We already have a NodeProxy. 2025-11-03 15:17:27 +01:00
Jorge Martín
753322d50e Pass around fromPinnedEvents so we can use it to decide whether to forward the event from the main timeline or the pinned events one 2025-11-03 14:43:57 +01:00
Jorge Martín
4df7841452 Create PinnedEventsTimelineProvider, expose it in TimelineBindings 2025-11-03 14:43:18 +01:00
Benoit Marty
07b6148035 Remove context(parentNode: Node) and provide the parent Node as a parameter. 2025-10-31 12:04:57 +01:00
Benoit Marty
6298209ad9 Create Fake classes in test modules 2025-10-30 18:32:31 +01:00
Benoit Marty
fd6493bf4e More renaming 2025-10-30 16:32:54 +01:00