Commit graph

731 commits

Author SHA1 Message Date
Benoit Marty
aae30fcf8c
Merge pull request #1815 from vector-im/renovate/androidx.compose.material3-material3-1.x
Update dependency androidx.compose.material3:material3 to v1.2.0-alpha11
2023-11-22 09:45:30 +01:00
Marco Romano
de646e4e5a
Voice message scrubbing improvements (#1847)
- Voice messages can be scrubbed (i.e. seeked to) even when they have not been played yet..
- The progress bar is displayed also when paused.
- Multiple voice messages can keep their state when paused.
- Tries to adhere as much as possible at the detailed "green cursor" behavior in the story (but might not be 100% compliant).

Story: https://github.com/vector-im/element-meta/issues/2113
2023-11-21 20:48:08 +01:00
Jorge Martin Espinosa
97e9528e13
Add intentional mentions (#1843)
* Add intentional mentions
2023-11-21 17:34:00 +01:00
Benoit Marty
830bad2bcf Fix compilation warning, add opt in for ExperimentalMaterial3Api 2023-11-21 16:39:38 +01:00
Jorge Martin Espinosa
a8fbb882f2
Integrate mentions in the composer (#1799)
* Integrate mentions in the composer:

    - Add `MentionSpanProvider`.
    - Add custom colors needed for mentions.
    - Use the span provider to render mentions in the composer.
    - Allow selecting users from the mentions suggestions to insert a mention.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-20 18:14:02 +01:00
Benoit Marty
5397ecdf51 Fix compilation issue after merge. 2023-11-20 14:13:03 +01:00
Benoit Marty
58012268f4
Merge branch 'develop' into feature/bma/readReceipts 2023-11-20 12:15:32 +01:00
Marco Romano
95ae3eaaf2
Stop voice message on redaction (#1826)
As per product spec: Voice messages must stop playing when redacted.
2023-11-20 09:48:25 +00:00
Marco Romano
28f4ccdf9f
Delete media caches on startup (#1807)
Clear media caches on app startup
2023-11-20 09:48:11 +00:00
ElementBot
eeb9b30d80
Sync Strings (#1839)
* Sync Strings from Localazy

* Fix 'Report a problem' screen title

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-11-20 09:07:53 +00:00
ganfra
a0f289592e Timeline : do not use SubcomposeLayout if not needed 2023-11-17 17:53:45 +01:00
Benoit Marty
51654e4b96 Send state: show if null and is last message.
Read receipt: Also show the send state even if the flag for read receipt is set to false.
2023-11-17 16:40:53 +01:00
Benoit Marty
2f3333af69 Remove hard-coded value. 2023-11-17 16:40:53 +01:00
Benoit Marty
014b15771b Read receipt: Rework how the feature flag is used.
tom
2023-11-17 16:40:53 +01:00
Benoit Marty
c8b8938aa8 Read receipt: BottomSheet: Add "seen by" title. 2023-11-17 16:40:53 +01:00
Benoit Marty
d1df0e47f1 Read receipt: Improve accessibility 2023-11-17 16:40:53 +01:00
Benoit Marty
b70b7f6fac Read receipt: Do not impact screenshot test for timeline. 2023-11-16 14:27:14 +01:00
Benoit Marty
1684e89b7c Read receipt: Open room member page when clicking on a read receipt from the bottom sheet. 2023-11-16 14:05:00 +01:00
Benoit Marty
c25e01fe39 Read receipt: Cleanup 2023-11-16 14:05:00 +01:00
Benoit Marty
8c7809e316 Read receipt: fix test and add test for ReadReceiptBottomSheetPresenter 2023-11-16 14:05:00 +01:00
Benoit Marty
900cf1881f Read receipt: Bottom sheet 2023-11-16 14:05:00 +01:00
Benoit Marty
87d5ed82b9 Read receipt: model and UI. 2023-11-16 14:05:00 +01:00
Benoit Marty
651a64b51b Fix typo 2023-11-16 14:05:00 +01:00
Jorge Martin Espinosa
f752147837
Remove Element Call feature flag and revert base URL to call.element.io (#1809)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-15 13:02:24 +00:00
Jorge Martin Espinosa
a5bad53c62
Iterate design on several screens: update icons, replace PreferenceTexts (#1771)
- Batch import new icons from the design team.
- Rename _september icons since they're just extra icons that need to be integrated in Compound in the future, and it should be ok if we don't distinguish between ic_september_*, ic_november_* etc., so all icons are now simply ic_* in the designsystem module.
- Create a new CompoundIconListPreviewProvider to add chunked lists of icons for previews. Add an exception for it to Konsist.
- Move some icons to use Compound icons.
- Remove most PreferenceText usages, use ListItem instead.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-15 10:52:37 +01:00
Benoit Marty
eb6252bed3 Timeline: render TimelineItemReadMarkerModel 2023-11-14 18:10:26 +01:00
Benoit Marty
2cb0060f96 Add a View to show the beginning of the timeline (parity with iOS) 2023-11-14 17:31:42 +01:00
jonnyandrew
5209627f67
Fix merge conflict (#1804) 2023-11-14 16:21:58 +00:00
Benoit Marty
55cbef9848
Merge pull request #1798 from vector-im/feature/bma/config
Configs object in appconfig and move strings to dedicated modules.
2023-11-14 16:53:46 +01:00
Marco Romano
96e4106410
Allow to seek a voice message before playing it (#1780) 2023-11-14 16:23:51 +01:00
jonnyandrew
c3471a1d5d
Show error dialog when voice message fails to send (#1796)
---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-14 15:05:07 +00:00
jonnyandrew
6eb012a7d5
Delay displaying the voice message download indicator (#1793)
---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-14 15:04:43 +00:00
Marco Romano
2c25e69df8
Persist state of VoiceMessagePresenter in memory (#1795)
Allows [VoiceMessagePresenter] instances to keep their progress and download states while going in and out of the timeline viewport.

This is implemented by caching each instance of a TimelineItem presenter inside the RoomScope. TimelineItem presenters can move some of their state outside of the `present()` function so that such state will survive scrollings of the timeline.
2023-11-14 14:24:24 +00:00
jonnyandrew
0b1d41e861
Update voice message recording button behaviour (#1784)
Changes recording button behaviour so that
- tapping the record button starts a recording and displays the stop button
- tapping the stop button stops the recording
- tapping the delete button cancels the recording
- 'hold to record' tooltip is removed


---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-14 14:05:59 +00:00
Benoit Marty
6cb4a9af6d Fix rendering of emote when the message contains some formatting. 2023-11-14 14:28:15 +01:00
Benoit Marty
4f146d7a1c Localazy: move report_content strings to the :features:messages:impl module. 2023-11-14 11:37:21 +01:00
Benoit Marty
2ebe7d3365 Localazy: move emoji_picker_category_ strings to the :features:messages:impl module. 2023-11-14 10:53:30 +01:00
ElementBot
3bf34eae01
Sync Strings (#1789)
Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2023-11-13 12:31:34 +01:00
jonnyandrew
14be887cac
Enable seeking a recorded voice message (#1758) 2023-11-10 09:18:01 +00:00
Marco Romano
878417f557
Voice message MediaPlayer: wait until player is ready (#1772)
Change to `MediaPlayer` API to allow waiting for the player to be in a ready state.
This is needed in order to perform some tasks (e.g. read the media duration, seek) after changing the media file.
2023-11-09 14:34:38 +00:00
Marco Romano
b83d8733e2
Don't leak MediaFileHandle when downloading voice messages (#1748)
Uses the new `MediaFile.persist()` [API](https://github.com/matrix-org/matrix-rust-sdk/pull/2789) to cache voice messages.
This allows to close the `MediaFile` handle after use and keeping the file.
Also disables rust sdk caching for voice messages as we'll use the app's cache dir for that purpose.

Fixes: https://github.com/vector-im/element-meta/issues/2175
2023-11-09 14:15:11 +00:00
Benoit Marty
035609d74a Add preview for AttachmentThumbnail and fix issue rendering for AttachmentThumbnailType.Location for coherency. 2023-11-08 16:28:07 +01:00
Benoit Marty
65351f0971 If media source for thumbnail info is not available for image, use the source image as a fallback. But if it is available, use it. 2023-11-08 15:48:06 +01:00
Benoit Marty
d99ed8517e
Merge pull request #1767 from vector-im/feature/bma/encryptedMessages
Feature/bma/encrypted messages
2023-11-08 11:58:38 +01:00
Jorge Martin Espinosa
74e5bf18fc
Iterate design on Settings screen (#1763)
* Iterate design on Settings screen:

- Set new icons provided by design.
- Replace `PreferenceText` usages with `ListItem`.
- Add missing icons, and a new way to group them for previews.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-08 11:31:17 +01:00
Marco Romano
26eecb33dd
Voice messages: Don't crash if mxc uri is invalid (#1756)
<!-- Please read [CONTRIBUTING.md](https://github.com/vector-im/element-x-android/blob/develop/CONTRIBUTING.md) before submitting your pull request -->
 
## Type of change

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

## Content

Code now checks whether the mx uri is invalid and handles the error condition properly.

## Motivation and context

https://github.com/vector-im/element-x-android/pull/1748#discussion_r1384557443

## Screenshots / GIFs

<!--
We have screenshot tests in the project, so attaching screenshots to a PR is not mandatory, as far as there
is a Composable Preview covering the changes. In this case, the change will appear in the file diff.
Note that all the UI composables should be covered by a Composable Preview.

Providing a video of the change is still very useful for the reviewer and for the history of the project.

You can use a table like this to show screenshots comparison.
Uncomment this markdown table below and edit the last line `|||`:
|copy screenshot of before here|copy screenshot of after here|

|Before|After|
|-|-|
|||
 -->

## Tests

<!-- Explain how you tested your development -->

- Step 1
- Step 2
- Step ...

## Tested devices

- [ ] Physical
- [ ] Emulator
- OS version(s):

## Checklist

<!-- Depending on the Pull Request content, it can be acceptable if some of the following checkboxes stay unchecked. -->

- [ ] Changes have been tested on an Android device or Android emulator with API 23
- [ ] UI change has been tested on both light and dark themes
- [ ] Accessibility has been taken into account. See https://github.com/vector-im/element-x-android/blob/develop/CONTRIBUTING.md#accessibility
- [ ] Pull request is based on the develop branch
- [ ] Pull request includes a new file under ./changelog.d. See https://github.com/vector-im/element-x-android/blob/develop/CONTRIBUTING.md#changelog
- [ ] Pull request includes screenshots or videos if containing UI changes
- [ ] Pull request includes a [sign off](https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#sign-off)
- [ ] You've made a self review of your PR
2023-11-08 07:46:00 +01:00
Benoit Marty
a818807677 UTD: Change wording from "Decryption error" to "Waiting for this message" 2023-11-07 17:52:06 +01:00
Jorge Martin Espinosa
26c28ff972
Message composer isn't resized when changing the replied to message (#1750) 2023-11-07 16:59:58 +01:00
Benoit Marty
64b7c906db
Merge pull request #1742 from vector-im/sync-localazy
Sync Strings
2023-11-06 16:05:01 +01:00
Benoit Marty
aaa89afe34 Use AsyncView in EditUserProfileView 2023-11-06 10:09:41 +01:00