Commit graph

2077 commits

Author SHA1 Message Date
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
004804a7c8
Merge pull request #1834 from vector-im/feature/bma/readReceipts
Render send state and read receipts
2023-11-20 14:39:13 +01:00
Benoit Marty
5397ecdf51 Fix compilation issue after merge. 2023-11-20 14:13:03 +01:00
Benoit Marty
5d4313acea
Merge pull request #1832 from vector-im/renovate/org.matrix.rustcomponents-sdk-android-0.x
Update dependency org.matrix.rustcomponents:sdk-android to v0.1.68
2023-11-20 14:00:23 +01:00
Benoit Marty
58012268f4
Merge branch 'develop' into feature/bma/readReceipts 2023-11-20 12:15:32 +01:00
Benoit Marty
e7c864c61a Fix test on CI. 2023-11-20 11:27:25 +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
Benoit Marty
12bdaf9727 Remove wrong comment. 2023-11-20 10:36:29 +01: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
Benoit Marty
c07a032157 SecureBackup: improve error flow when backup state cannot be retrieved, and add tests. 2023-11-20 10:00:21 +01:00
ganfra
a0f289592e Timeline : do not use SubcomposeLayout if not needed 2023-11-17 17:53:45 +01:00
Benoit Marty
d352f14665 BackupState.DISABLED has been removed. Now when the value is UNKNOWN, the app need to invoke EncryptionService.doesBackupExistOnServer() to check if a Backup exists. 2023-11-17 17:32:14 +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
99783a6eed
Merge pull request #1805 from vector-im/feature/bma/renderReadMarker
Timeline: render TimelineItemReadMarkerModel
2023-11-15 09:34:29 +01:00
ganfra
97bbc37f6c LockScreen : avoid removing from composition the LoggedInFlowNode.Children when LockScreen is displayed. 2023-11-14 20:59:17 +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
74c13a7f79 Cleanup 2023-11-14 14:11:34 +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
2257652450 Localazy: move leave_room_alert_ strings to the :features:leaveroom:api module. 2023-11-14 11:26:40 +01:00
Benoit Marty
c6d34e8599 Localazy: move settings_rageshake strings to the :features:rageshake:api module. 2023-11-14 11:16:57 +01:00
Benoit Marty
0adc3b1f1d Localazy: move screen_notification_settings_ strings to the :features:preferences:impl module.
Need to also import `screen_notification_settings_edit_failed_updating_default_mode` to the module `:features:roomdetails:impl`.
2023-11-14 11:12:35 +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
Benoit Marty
d9f5fdccbc Localazy: move some strings to the :features:analytics:api module. 2023-11-14 10:48:02 +01:00
Jorge Martin Espinosa
d648f85d75
Add active call icon to room list summaries (#1792)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-13 15:35:11 +00:00
Marco Romano
58e05d139c
Always ensure media temp dir exists (#1790)
<!-- 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

`RustMediaLoader` creates the "${cacheDir}/temp/media" dir only once at class creation. Unfortunately when clearing an app's cache this directory will be deleted and the app's process won't be killed, so subsequent usages of the same instance of `RustMediaLoader` will not work because `cacheDirectory` does not exists. This fix makes sure that such directory is always checked and created if needed.

## Motivation and context

Fixes https://github.com/vector-im/element-x-android/issues/1788

## 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-13 15:52:53 +01:00
ElementBot
3bf34eae01
Sync Strings (#1789)
Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2023-11-13 12:31:34 +01:00
Benoit Marty
5850f5342d Move Knit to Gradle catalog and use alias(libs.plugins.kotlin.serialization). Fix issue with JNA 2023-11-13 09:58:00 +01:00