Commit graph

1746 commits

Author SHA1 Message Date
Benoit Marty
ab5e9bbe67 Split previews of TimelineItemEventRow to multiple files, to improve performance of the rendering in the IDE, and before adding more previews. No code change. 2023-11-23 09:45:28 +01:00
Jorge Martin Espinosa
d413aa1ee3
Add plain text representation of messages (#1850)
* Add plain text representation of messages.

This is used in the room list as the last message in a room, in the message summary when a message is selected, in the 'replying to' block, in the 'replied to' block in a message in the timeline, and in notifications.
2023-11-23 08:29:20 +01:00
ganfra
0fb4eb005c RoomList : rework a bit the api and make usage of entriesWithDynamicAdapters 2023-11-22 18:06:19 +01:00
Benoit Marty
68c4f1e6bc
Merge pull request #1845 from vector-im/feature/bma/sendingStateA11y
Content description: add for sending state and fix other issues.
2023-11-22 17:51:48 +01:00
Benoit Marty
ae0c3edd24 Remove default value for lambda.
We enforce a value to be provided and it's better for code coverage.
2023-11-22 17:28:23 +01:00
Marco Romano
bc5c02c1cb
Show poll question in timeline replies (#1857)
Forgot to add this bit to: https://github.com/vector-im/element-x-android/pull/1848
2023-11-22 16:14:10 +01:00
Marco Romano
60f58f9915
Update poll icons from Compound (#1849)
* Use compound icons for polls

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-22 13:35:04 +01:00
Marco Romano
0f0bd34665
Reply to a poll (#1848)
<!-- Please read [CONTRIBUTING.md](https://github.com/vector-im/element-x-android/blob/develop/CONTRIBUTING.md) before submitting your pull request -->
 
## Type of change

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

## Content

Polls can now be replied to.

## Motivation and context

User story: https://github.com/vector-im/element-meta/issues/1976

## 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-22 10:52:12 +01:00
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
0114d97acf Remove unused import 2023-11-21 17:18:29 +01:00
Benoit Marty
3e751e42ba Fix some contentDescription. 2023-11-21 16:48:38 +01:00
Benoit Marty
830bad2bcf Fix compilation warning, add opt in for ExperimentalMaterial3Api 2023-11-21 16:39:38 +01:00
Benoit Marty
2e6803ac41 Fix contentDescription for jump to bottom FAB. 2023-11-21 15:36:53 +01:00
Benoit Marty
3a21ee7a50 Fix contentDescription for Read Receipt. 2023-11-21 15:36:53 +01:00
Benoit Marty
311835962f Fix some contentDescription. 2023-11-21 14:58:36 +01:00
Benoit Marty
88a7cc9740 Fix some contentDescription. 2023-11-21 14:44:38 +01:00
Benoit Marty
b62f1ebb05 Add contentDescription for sending states. 2023-11-21 14:30: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