Commit Graph

392 Commits

Author SHA1 Message Date
Benoit Marty
29e1e9b316 Secure Storage: improve API for waitForBackupUploadSteadyState() 2023-10-30 20:16:18 +01:00
Jorge Martin Espinosa
22767031d9 Fix issues with stuck 'loading...' state and hangup (#1690)
* Fix issues with stuck 'loading...' state and hangu
2023-10-30 17:01:54 +01:00
Marco Romano
d05dd11485 Split VoiceMessageType from AudioMessageType (#1664)
Currently, for compatibility reasons, we implement MSC3245v1 which puts the voice data inside an audio message type. Though at times it seems impractical to deal with a single message type which effectively represents 2 different kinds of messages.

This PR creates a new message type called `VoiceMessageType` which is used whenever we receive an event with `"msgtype": "m.audio"` which also has the `"org.matrix.msc3245.voice": {}` field. This makes it easier to process voice messages as different entities throughout the rest of the codebase.
2023-10-27 16:02:16 +02:00
Marco Romano
1014380e32 Always treat waveform as List<Float> (#1663)
[MSC3246](https://github.com/matrix-org/matrix-spec-proposals/pull/3246) specifies the waveform as a list of ints because:

> Because floating point numbers are not allowed in Matrix events

Though DSP on audio data is almost always done using their floating point representation.
This PR brings the float<->int rescaling in the `matrix` module so that the application code can always work with float waveform samples.
2023-10-27 12:49:58 +00:00
Jorge Martin Espinosa
0bd9c78836 Initial support for member suggestions (#1631)
* Initial support for member suggestion (search and UI)

* Add custom `BottomSheetScaffold` implementation to workaround several scrolling bugs

* Start searching as soon as `@` is typed, add UI following initial designs

* Extract suggestion processing code

* Extract component, add previews, fix tests

* Add tests

* Add exception from kover to the forked bottom sheet code

* Add a feature flag for mentions

- Extract composer & mention suggestions to their composable.
- Extract mentions suggestions processing to its own class.
- Add `MatrixRoom.canTriggerRoomNotification` function.
- Update strings and conditions for displaying the `@room` mention.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-27 10:26:40 +00:00
Benoit Marty
b5ffa6eef3 SecureBackup: update matrix sdk module. 2023-10-26 18:02:34 +02:00
Jorge Martin Espinosa
c40a39bbfa Update the chat screen UI using RoomInfo. (#1640)
* Update the chat screen UI using `RoomInfo`.

This is specially useful for getting live values for `hasRoomCall`.

* Ensure the first `MatrixRoomInfo` is emitted ASAP

* Try excluding `*Present$present$*` inner functions from kover as separate entities

* Update strings

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-26 14:27:42 +00:00
renovate[bot]
cabd7ac388 Update dependency org.matrix.rustcomponents:sdk-android to v0.1.65 (#1639)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.1.65

* Fix broken verification flow

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-10-26 08:59:06 +02:00
David Langley
e388ea21b6 Merge branch 'develop' into dla/feature/custom_room_notification_settings_list 2023-10-24 17:20:15 +01:00
Benoit Marty
1fa745dcbd Add BackupState and BackupStateMapper from the feature/bma/secureBackup branch to ensure that we do not upgrade the SDK with no support of KeyBackup.
This will act as a poison pill to avoid mistake when building new version of the SDK.
2023-10-24 11:12:06 +02:00
renovate[bot]
7c5fab732b Update dependency org.matrix.rustcomponents:sdk-android to v0.1.63 (#1619)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.1.63

* Update Element Call integrated APIs

* Take into account the new `MessageType.Other` from the SDK

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-10-20 22:32:59 +02:00
David Langley
b7ebff0e75 Add new ui for room notifications screen
- Add new ui for room notifications screen
- Fix error when changing default notification setting.
2023-10-20 21:08:44 +01:00
Jorge Martin Espinosa
5e547269e7 Integrate Element Call with widget API (#1581)
* Integrate Element Call with widget API.

- Add `appconfig` module and extract constants that can be overridden in forks there.
- Add an Element Call feature flag, disabled by default.
- Refactor the whole `ElementCallActivity`, move most logic out of it.
- Integrate with the Rust Widget Driver API (note the Rust SDK version used in this PR lacks some needed changes to make the calls actually work).
- Handle calls differently based on `CallType`.
- Add UI to create/join a call.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-19 15:38:43 +00:00
David Langley
3ecabd71c0 Merge branch 'develop' into dla/feature/custom_room_notification_settings_list 2023-10-19 16:36:30 +01:00
Marco Romano
d7054fb34d Add global context.cacheDir provider. (#1606)
## Type of change

- [ ] Feature
- [ ] Bugfix
- [x] Technical
- [ ] Other :

## Content

Dagger now provides the app's `cacheDir` when requesting a `@CacheDirectory File`  type.

## Motivation and context

To support some upcoming code that needs the `cacheDir` to be changed during tests.
2023-10-19 14:07:45 +02:00
Marco Romano
80870adfe3 Extract more content from audio messages. (#1607)
`TimelineItemAudioContent`:
- Use `java.time.Duration` instead of milliseconds. This will ease up things in the future because currently milliseconds are sent over the wire but in the future seconds will be sent (as per the stable MSC). Using `Duration` will allow our downstream code to be independent of what's passed over the wire.
- Rename `audioSource` property to `mediaSource` to better match its type.

`AudioMessageType`:
- Add and populate new fields `details` and `isVoiceMessage` to be used by voice messages.
2023-10-19 13:32:43 +02:00
David Langley
af4a1d3fd6 Merge branch 'develop' of https://github.com/vector-im/element-x-android into dla/feature/custom_room_notification_settings_list 2023-10-18 22:07:14 +01:00
Benoit Marty
359db36172 Improve and fix build_rust_sdk.sh after PR review 2023-10-16 18:29:25 +02:00
Benoit Marty
b06dbb566e Use local SDK if the file exist 2023-10-16 13:31:26 +02:00
ganfra
9d12d82112 Misc: remove usage of blocking methods #1563 2023-10-13 12:16:31 +02:00
renovate[bot]
31d5e7395f Update dependency org.matrix.rustcomponents:sdk-android to v0.1.62 (#1562)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.1.62
* Add `sendVoiceMessage()` API from https://github.com/matrix-org/matrix-rust-sdk/pull/2697
* Fix other breaking changes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marco Romano <marcor@element.io>
2023-10-13 08:19:30 +00:00
Benoit Marty
7afae87b3e Konsist: add rule obout test class name, and fix existing issue 2023-10-12 15:03:50 +02:00
Benoit Marty
529872a4f2 Do not restore session with invalid token. 2023-10-10 10:20:31 +02:00
Benoit Marty
0b3fcecbed SignedOut mode - WIP 2023-10-10 10:20:31 +02:00
Benoit Marty
fea1fe0f3c Map the new fields of SessionData. 2023-10-10 10:20:31 +02:00
Benoit Marty
69ac38ed10 Fix compilation warning in tests. 2023-10-10 10:01:01 +02:00
Jorge Martin Espinosa
1bfe7b7224 Add more tests, particularly to the room list diffing (#1508)
* Add more tests to improve the covered area, particularly the room list diffing
2023-10-06 15:34:36 +02:00
Benoit Marty
937e053d46 Fetch edited event in advanced (similar to reply mode). 2023-10-04 17:38:17 +02:00
Marco Romano
4a32a78884 Destroy EventTimelineItem pointer after use 2023-10-04 15:00:29 +02:00
Marco Romano
55154ce0b3 Handle breaking change in innerRoom.edit() 2023-10-04 10:33:29 +02:00
Marco Romano
f10040f729 Display poll notifications in the notification drawer (#1467)
Display notifications for polls as if they were message events.
2023-09-29 16:57:03 +02:00
ganfra
e6b32163ee Room : makes subscribeToSync/unsubscribeFromSync suspendable and makes sure we keep subscription count 2023-09-28 20:16:19 +02:00
Benoit Marty
d32a7c6ddf Simplify the management of inReplyToEventTimelineItem 2023-09-27 11:31:12 +02:00
Benoit Marty
9d0e185d1c Ensure getEventTimelineItemByEventId is called when we enter in reply mode. 2023-09-27 10:48:31 +02:00
Benoit Marty
79f37f1504 Fix API break with Matrix SDK 0.1.58. 2023-09-27 09:44:58 +02:00
Benoit Marty
c380ed538d Avoid hard-coded string. 2023-09-26 17:48:26 +02:00
David Langley
a9d87da1ff Add roomsWithUserDefinedRules data and render list
- get roomsWithUserDefinedRules from rust
- add to state in the presenter
- render in the edit defaults view as a list
2023-09-22 16:16:52 +01:00
Marco Romano
b6c0ea8d71 Upgrade Rust SDK to v0.1.57 (#1401)
- Enables polls in room summaries from https://github.com/vector-im/element-x-android/pull/1387
- Accommodates a few breaking changes
2023-09-21 19:48:19 +00:00
ganfra
87125e0ea3 Remove usage of async-uniffi as it leads to a deadlocks and memory leaks (#1381) 2023-09-20 12:52:57 +02:00
ganfra
85125aa854 Fix warning and yield 2023-09-19 18:06:56 +02:00
ganfra
3706b3cc5c Fix room member infinite loop 2023-09-19 16:10:27 +02:00
ganfra
d9113448b6 Merge pull request #1371 from vector-im/feature/fga/fix_anr
RoomList : fix ANR (#1370)
2023-09-19 14:17:37 +02:00
ganfra
1004366d95 RoomList : fix ANR (#1370) 2023-09-19 14:01:43 +02:00
Marco Romano
52bbede960 Upgrade rust sdk to .55 (#1365)
Accomodates breaking changes.
2023-09-19 13:33:03 +02:00
David Langley
8605673ca1 Merge branch 'develop' into dla/feature/room_list_decoration 2023-09-18 10:34:32 +01:00
ganfra
2b583f6e51 Merge pull request #1358 from vector-im/feature/fga/fix_invalidated_room_summary
Fix RoomSummary: RoomListEntry.Invalidated
2023-09-18 11:08:15 +02:00
Benoit Marty
7bdfd2905c Merge pull request #1351 from vector-im/feature/jme/1302-allow-users-to-change-their-avatars
Add preference screen for user profile
2023-09-18 10:58:42 +02:00
ganfra
cdbfa4a0ce RoomSummary: RoomListEntry.Invalidated should not build empty room summary 2023-09-18 10:56:29 +02:00
ganfra
200446adc3 Update rust-sdk to 0.1.54 2023-09-18 10:29:52 +02:00
Benoit Marty
574e6199fe Cleanup and compact code. Also prefer usage of DayNightPreview. 2023-09-15 18:21:29 +02:00