Commit Graph

784 Commits

Author SHA1 Message Date
Benoit Marty
b6c8ef2aa3 Fix compilation warning 2023-11-30 13:55:55 +01:00
Benoit Marty
05ca140a3a Read Receipt Row should not swipe when user swipe to reply to a message. 2023-11-30 11:08:45 +01:00
Benoit Marty
17c8787e17 Expand group when clicking on grouped read receipt. 2023-11-30 11:00:17 +01:00
Benoit Marty
c26b24235f Fix chevron orientation according to design and animate the change. 2023-11-30 10:07:33 +01:00
Jorge Martin Espinosa
c739ebc0ee Try to make all collections used in Compose code immutable (#1922)
* Try to make all collections used in Compose code immutable.

Mark sealed interfaces as `@Immutable` too

* Add gradle code to check the compose compiler reports

* Fix some more unstable classes
2023-11-29 15:02:08 +00:00
Jorge Martin Espinosa
c697baf585 Use the right avatar for DMs in DM rooms (#1917) 2023-11-29 13:06:48 +01:00
Jorge Martin Espinosa
bbc4d18a9d Open room member avatar in a media viewer (#1911)
* Open room member avatar in viewer.

The `MediaViewer` was extracted to its own library module.

* Update screenshots

* Restore KSP processor in `:libraries:mediaviewer:api`, this should generate Showkase components again.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-28 17:39:41 +00:00
Benoit Marty
d0cc8c0b2f Merge pull request #1910 from vector-im/feature/bma/fixRRscroll
Fix issues around read receipt
2023-11-28 17:45:38 +01:00
Benoit Marty
eed4278ffe Move TimelineItemRow to its own file. 2023-11-28 15:21:02 +01:00
Benoit Marty
d5a1a43900 Fix code quality. 2023-11-28 15:12:40 +01:00
Benoit Marty
16f5705dff Compute aggregatedReadReceipts in a background worker. 2023-11-28 15:10:42 +01:00
Benoit Marty
60332bf64a Reduce bottom padding for state event 2023-11-28 15:00:38 +01:00
Benoit Marty
76232746e1 Add read receipt on StateEvents 2023-11-28 14:46:15 +01:00
Benoit Marty
f7459b4b57 Add read receipt on GroupedEvents 2023-11-28 14:26:37 +01:00
Benoit Marty
3ff23bd6d8 Use List constructor. 2023-11-28 14:17:57 +01:00
ganfra
f4f56a71ee Merge pull request #1879 from vector-im/feature/fga/timeline_always_scroll_send
Timeline : Scroll to end of timeline when sending a new message #1877
2023-11-28 14:06:46 +01:00
Benoit Marty
4175bb8616 Add preview for expanded state of GroupedEvents. 2023-11-28 11:56:21 +01:00
Benoit Marty
4b44b99350 Create TimelineItemGroupedEventsRowContent to be able to preview the expanded state. 2023-11-28 11:50:45 +01:00
Benoit Marty
28be3af758 Create Composable TimelineItemGroupedEventRow and extract to its own dedicated file. 2023-11-28 11:45:51 +01:00
Benoit Marty
c24925b716 Create Composable TimelineItemGroupedEventRow and extract to its own dedicated file. 2023-11-28 11:45:28 +01:00
Benoit Marty
062cba7a25 Let the Read Receipt list be scrollable. 2023-11-28 11:23:17 +01:00
ElementBot
8ae8853c15 Sync Strings (#1892)
* Sync Strings from Localazy

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
Co-authored-by: jonnyandrew <jonnya@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-11-28 09:52:23 +01:00
Benoit Marty
a62d1b297f Merge pull request #1903 from vector-im/feature/bma/kotlinDuration
Kotlin duration and MimeTypes
2023-11-28 09:45:31 +01:00
Marco Romano
c33c0f583c Merge TimelineItemEventRow's textForInReplyTo and attachmentThumbnailInfoForInReplyTo functions (#1859)
The flow is somewhat misleading so its logic has been merged into `InReplyToDetails.metadata()`.
2023-11-27 22:13:19 +00:00
Benoit Marty
4f32299280 Use MimeTypes object instead of hard-coded strings. 2023-11-27 21:58:58 +01:00
Benoit Marty
04be1f0385 Use kotlin.time.Duration instead of java.time.Duration. Also use Duration in TimelineItemVideoContent, like in TimelineItemAudioContent and TimelineItemVoiceContent 2023-11-27 21:58:58 +01:00
Jorge Martin Espinosa
a8b85fb4e6 Extract compound tokens and theming to compound-android library (#1888)
* Replace tokens & icons with the external Compound ones

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-27 10:30:07 +01:00
jonnyandrew
634d8167ea Allow polls to be edited (#1869)
Polls can be edited if they do not have any votes

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-24 16:47:58 +00:00
Benoit Marty
a6e7714812 Merge pull request #1866 from vector-im/feature/bma/morePreview
More preview on TimelineItemEventRow
2023-11-24 17:21:53 +01:00
ganfra
fe1a0316a8 Timeline : Scroll to end of timeline when sending a new message #1877 2023-11-24 16:31:20 +01:00
Benoit Marty
d29219169a Merge pull request #1862 from vector-im/feature/bma/moreTests
Remove lambda default value
2023-11-24 11:00:34 +01:00
Benoit Marty
c10525bbc1 Add test for TimelineItemContentMessageFactory 2023-11-23 20:18:53 +01:00
Benoit Marty
73a062451c Remove UnknownMessageType, should be handled by OtherMessageType now. 2023-11-23 20:18:53 +01:00
Benoit Marty
2e66719559 Move test to impl sub package and optimize imports. 2023-11-23 20:17:39 +01:00
ganfra
6e4635b4cd Merge pull request #1865 from vector-im/feature/fga/room_list_dynamic_api
RoomList : rework a bit the api and make usage of entriesWithDynamicAdapter
2023-11-23 12:07:55 +01:00
Benoit Marty
0a2b0f1a10 Create TimelineItemEventRowWithRRPreview to preview read receipts and send state in a timeline.
Also introduce ATimelineItemEventRow.
2023-11-23 11:59:06 +01:00
Benoit Marty
5e44722b51 Improve TimelineItemEventRowWithReplyPreview and coverage for fun attachmentThumbnailInfoForInReplyTo 2023-11-23 10:26:39 +01:00
Benoit Marty
1b872b074f Simplify: TimelineItemEventRowWithReplyPreview. Short reply text and remove reactions. 2023-11-23 09:53:37 +01:00
Benoit Marty
067b441edb 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
f55d347387 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
d04b26365d RoomList : rework a bit the api and make usage of entriesWithDynamicAdapters 2023-11-22 18:06:19 +01:00
Benoit Marty
ec2fa8b5a2 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
4ae0790cc1 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
611967803c 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
202173c8e3 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
6441c54c8b 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
468331ca0f 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
eb2836f42b 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
a52d78c3b3 Add intentional mentions (#1843)
* Add intentional mentions
2023-11-21 17:34:00 +01:00
Benoit Marty
77d1e886bf Remove unused import 2023-11-21 17:18:29 +01:00