Commit graph

4303 commits

Author SHA1 Message Date
jonnyandrew
8121d1a6de
Show voice message preview player progress (#1675)
* Show voice message preview player progress

* Update screenshots

* Fix test

* Some nits over mediaplayer stuff

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Marco Romano <marcor@element.io>
2023-10-27 20:43:52 +00:00
Marco Romano
21499a2d40
Create 1669.feature (#1674)
Add changelog item for voice messages
2023-10-27 16:45:33 +00:00
Benoit Marty
b77089f1b6
Merge pull request #1662 from vector-im/feature/bma/secureBackupUi
Secure backup UI
2023-10-27 18:36:38 +02:00
Marco Romano
f3c4c6218e
Use correct icon tint in voice message preview player (#1672)
Action item from design review.
2023-10-27 16:24:16 +00:00
jonnyandrew
b046493a7b
Merge pull request #1671 from vector-im/jonny/voice-message-fixes
Fix voice message preview player playing after delete/send
2023-10-27 16:49:38 +01:00
Benoit Marty
5954cef442
Merge pull request #1666 from vector-im/feature/bma/mergeFallbackNotification
Display a single notification for unable to decrypt Event received form push (fallback notification)
2023-10-27 17:42:22 +02:00
Marco Romano
81122ec33b
Track errors in VoiceMessagePresenter (#1667)
Story: https://github.com/vector-im/element-meta/issues/2085
2023-10-27 15:23:53 +00:00
Marco Romano
c3cbf4de96
Default enable voice message feature flag (#1669)
:party
2023-10-27 15:16:32 +00:00
Marco Romano
ed91930a97
Enable swipe to reply on voice messages (#1668)
With the new waveform view it does not conflict anymore.
2023-10-27 15:10:56 +00:00
jonnyandrew
08ba8e182a
Ensure sending pauses audio 2023-10-27 16:05:35 +01:00
jonnyandrew
71644910e8
Ensure deleting pauses audio 2023-10-27 16:05:34 +01:00
jonnyandrew
7ebea4acf1
Refactor waveform factory function 2023-10-27 16:05:34 +01:00
Marco Romano
a07286ace9
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
David Langley
473c8abc82
Merge pull request #1659 from vector-im/langleyd/live_waveform
Live waveform
2023-10-27 14:41:16 +01:00
David Langley
52f0057d5a Merge branch 'langleyd/live_waveform' of https://github.com/vector-im/element-x-android into langleyd/live_waveform 2023-10-27 13:55:45 +01:00
David Langley
af513a8023 Fix documentation 2023-10-27 13:55:42 +01:00
Benoit Marty
cb0abd4c12 Display a single notification for all the fallback notifications.
When dismissed, dismiss all the fallback notifications in the model.
2023-10-27 14:55:10 +02:00
David Langley
a4df8f80cc Merge branch 'develop' of https://github.com/vector-im/element-x-android into langleyd/live_waveform 2023-10-27 13:54:18 +01:00
Marco Romano
0e4141863b
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
Benoit Marty
3482452011 Notification: fix issue: clear event only for the matching session.
We do not have multi session so the bug is not visible yet.
2023-10-27 14:41:39 +02:00
ElementBot
cb5b463c9b Update screenshots 2023-10-27 12:23:14 +00:00
Marco Romano
a6e4644cfa
Add missing screenshots in TimelineView (#1660)
Add audio, voice  and poll screenshots to TimelineView which were missing.
2023-10-27 12:18:28 +00:00
David Langley
a64003355a Merge branch 'develop' of https://github.com/vector-im/element-x-android into langleyd/live_waveform 2023-10-27 13:10:32 +01:00
David Langley
977c7e265a Fix naming and waveform previews 2023-10-27 13:06:33 +01:00
jonnyandrew
9510d43289
Add waveform to voice message preview UI (#1661)
* Add waveform to preview UI

* Update screenshots

* Make random waveform function deterministic

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-27 11:33:35 +00:00
David Langley
37f8195956 Merge branch 'develop' of https://github.com/vector-im/element-x-android into langleyd/live_waveform 2023-10-27 12:28:46 +01:00
ElementBot
b418e5dbdc Update screenshots 2023-10-27 10:42:35 +00:00
Jorge Martin Espinosa
44de6adb86
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
9807ebf649 Secure backup 2023-10-27 12:18:40 +02:00
David Langley
5da40abba3 Merge branch 'langleyd/live_waveform' of https://github.com/vector-im/element-x-android into langleyd/live_waveform 2023-10-27 10:56:48 +01:00
David Langley
8321eaf19d Fix tests 2023-10-27 10:56:45 +01:00
Marco Romano
b2a61f2ed3
Show correct UI when replying to a voice message (#1658)
Shows voice messages in the room summary.
Shows voice messages in the reply context menu and composer.
Show replies to voice messages in the timeline. 

(before this PR voice messages were shown the same as audio messages)

Story: https://github.com/vector-im/element-meta/issues/2106
2023-10-27 11:30:57 +02:00
Benoit Marty
bf905dd79b
Merge pull request #1651 from vector-im/feature/bma/uiUpdate
Preparatory work for SecureBackup: UI update
2023-10-27 11:03:29 +02:00
ElementBot
1d1b97babd Update screenshots 2023-10-27 08:51:51 +00:00
David Langley
0745587f3b
Merge branch 'develop' into langleyd/live_waveform 2023-10-27 09:37:21 +01:00
David Langley
1cb27661c8 Fix tests 2023-10-27 09:32:05 +01:00
ganfra
ae6881c4f5
Merge pull request #1655 from vector-im/renovate/com.google.firebase-firebase-appdistribution-gradle-4.x
Update dependency com.google.firebase:firebase-appdistribution-gradle to v4.0.1
2023-10-27 10:30:06 +02:00
Marco Romano
b5586cb7d8
Move MediaPlayer from messages module to new dedicated library module (#1654) 2023-10-27 09:58:17 +02:00
David Langley
1a2b728361 lint 2023-10-27 08:45:20 +01:00
David Langley
db70c98af9 Merge branch 'develop' of https://github.com/vector-im/element-x-android into langleyd/live_waveform 2023-10-27 08:44:25 +01:00
David Langley
416aa3b64a FIx height and concurrent exception
- Fix live waveform hight
- Fix concurrent modification exception when sharing levels
- Tidy up width of live waveform
2023-10-27 08:41:08 +01:00
Benoit Marty
aaaad23612
Merge pull request #1653 from vector-im/feature/bma/secureBackupSdk
SecureBackup: update matrix sdk module.
2023-10-27 09:35:19 +02:00
renovate[bot]
515dca86b6
Update plugin com.google.firebase.appdistribution to v4.0.1 (#1656)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-27 08:12:44 +02:00
renovate[bot]
a7cfb610b1
Update dependency com.google.firebase:firebase-bom to v32.4.1 (#1657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-27 07:37:33 +02:00
David Langley
1389c9ed24 Simple live waveform implementation. 2023-10-26 23:46:03 +01:00
renovate[bot]
1fc0b8f45d
Update dependency com.google.firebase:firebase-appdistribution-gradle to v4.0.1 2023-10-26 21:47:50 +00:00
Marco Romano
0457e5915c
Convert mx waveform to floats as early as possible in the chain (#1652)
This way we're sure that internally we always deal with [0;1] float samples. the [0;1024] int range is used only at the rust sdk boundary.
2023-10-26 16:58:00 +00:00
Benoit Marty
3a15b92eb6 SecureBackup: update matrix sdk module. 2023-10-26 18:02:34 +02:00
Benoit Marty
bf5047647a Fix warning: Composable functions should only be emitting content into the composition from one source at their top level. 2023-10-26 17:49:13 +02:00
Benoit Marty
ea9c7f5b10 Rename file. 2023-10-26 17:40:51 +02:00