Commit graph

781 commits

Author SHA1 Message Date
Benoit Marty
813983c452 Log errors 2023-11-29 17:02:38 +01:00
Jorge Martin Espinosa
ba4d3a70c7
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
8b7c53262f
Use the right avatar for DMs in DM rooms (#1917) 2023-11-29 13:06:48 +01:00
Jorge Martin Espinosa
ab8402a4dc
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
76d6d1f12b
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
bc60abd30b Move TimelineItemRow to its own file. 2023-11-28 15:21:02 +01:00
Benoit Marty
14b504b715 Fix code quality. 2023-11-28 15:12:40 +01:00
Benoit Marty
40c91a8196 Compute aggregatedReadReceipts in a background worker. 2023-11-28 15:10:42 +01:00
Benoit Marty
ea3bb87bac Reduce bottom padding for state event 2023-11-28 15:00:38 +01:00
Benoit Marty
fe10c970dc Add read receipt on StateEvents 2023-11-28 14:46:15 +01:00
Benoit Marty
682c681fb2 Add read receipt on GroupedEvents 2023-11-28 14:26:37 +01:00
Benoit Marty
393feb7215 Use List constructor. 2023-11-28 14:17:57 +01:00
ganfra
7bc0b29603
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
f95093821e Add preview for expanded state of GroupedEvents. 2023-11-28 11:56:21 +01:00
Benoit Marty
71dd7a1ed2 Create TimelineItemGroupedEventsRowContent to be able to preview the expanded state. 2023-11-28 11:50:45 +01:00
Benoit Marty
c9a5eb63ae Create Composable TimelineItemGroupedEventRow and extract to its own dedicated file. 2023-11-28 11:45:51 +01:00
Benoit Marty
b824f58570 Create Composable TimelineItemGroupedEventRow and extract to its own dedicated file. 2023-11-28 11:45:28 +01:00
Benoit Marty
446422af3f Let the Read Receipt list be scrollable. 2023-11-28 11:23:17 +01:00
ElementBot
12b3196471
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
02fa7bb441
Merge pull request #1903 from vector-im/feature/bma/kotlinDuration
Kotlin duration and MimeTypes
2023-11-28 09:45:31 +01:00
Marco Romano
7bdb310ceb
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
1df3817808 Use MimeTypes object instead of hard-coded strings. 2023-11-27 21:58:58 +01:00
Benoit Marty
9059126b2e 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
087d2728d5
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
8fcec4a006
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
dcf894e3ee
Merge pull request #1866 from vector-im/feature/bma/morePreview
More preview on TimelineItemEventRow
2023-11-24 17:21:53 +01:00
ganfra
02e65e4eac Timeline : Scroll to end of timeline when sending a new message #1877 2023-11-24 16:31:20 +01:00
Benoit Marty
05ba424e75
Merge pull request #1862 from vector-im/feature/bma/moreTests
Remove lambda default value
2023-11-24 11:00:34 +01:00
Benoit Marty
27daadd6ca Add test for TimelineItemContentMessageFactory 2023-11-23 20:18:53 +01:00
Benoit Marty
68463c2e0c Remove UnknownMessageType, should be handled by OtherMessageType now. 2023-11-23 20:18:53 +01:00
Benoit Marty
19883cd3bf Move test to impl sub package and optimize imports. 2023-11-23 20:17:39 +01:00
ganfra
40efe4844e
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
3e598ac2c1 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
5e5d0bf76c Improve TimelineItemEventRowWithReplyPreview and coverage for fun attachmentThumbnailInfoForInReplyTo 2023-11-23 10:26:39 +01:00
Benoit Marty
3aec7b74e9 Simplify: TimelineItemEventRowWithReplyPreview. Short reply text and remove reactions. 2023-11-23 09:53:37 +01:00
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