Commit graph

55 commits

Author SHA1 Message Date
Benoit Marty
09e812cd8d Sync string again after removing problematic translations from Localazy. 2023-12-04 18:03:21 +01:00
bmarty
ad2ca01094 Sync Strings from Localazy 2023-12-04 00:09:56 +00: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
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
ElementBot
abea28a5d2 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
3db5d8bf68 Timeline: render TimelineItemReadMarkerModel 2023-11-14 18:10:26 +01:00
Benoit Marty
968a4d3fd0 Add a View to show the beginning of the timeline (parity with iOS) 2023-11-14 17:31:42 +01:00
Benoit Marty
022c5221a8 Localazy: move report_content strings to the :features:messages:impl module. 2023-11-14 11:37:21 +01:00
Benoit Marty
0cebb0423f Localazy: move emoji_picker_category_ strings to the :features:messages:impl module. 2023-11-14 10:53:30 +01:00
ElementBot
38f1d9932b Sync Strings (#1789)
Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2023-11-13 12:31:34 +01:00
bmarty
6014858aba Sync Strings from Localazy 2023-11-06 08:23:40 +00:00
bmarty
340a4b5b4f Sync Strings from Localazy 2023-10-30 14:50:36 +00:00
bmarty
458e2a1b58 Sync Strings from Localazy 2023-10-30 00:10:04 +00:00
Jorge Martin Espinosa
0bd9c78836 Initial support for member suggestions (#1631)
* Initial support for member suggestion (search and UI)

* Add custom `BottomSheetScaffold` implementation to workaround several scrolling bugs

* Start searching as soon as `@` is typed, add UI following initial designs

* Extract suggestion processing code

* Extract component, add previews, fix tests

* Add tests

* Add exception from kover to the forked bottom sheet code

* Add a feature flag for mentions

- Extract composer & mention suggestions to their composable.
- Extract mentions suggestions processing to its own class.
- Add `MatrixRoom.canTriggerRoomNotification` function.
- Update strings and conditions for displaying the `@room` mention.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-27 10:26:40 +00:00
ganfra
b8ce848a0c PIN : fix quality 2023-10-26 15:25:40 +02:00
ganfra
fae051ef82 Merge branch 'develop' into feature/fga/pin_settings 2023-10-26 11:13:52 +02:00
ganfra
f105455bd6 PIN: branch SignOut 2023-10-25 11:15:15 +02:00
Marco Romano
3b20120705 Receive and play a voice message (#1503)
## Type of change

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

## Content

This PR consists of several macro-blocks separated by path/package:
- `messages.impl.mediaplayer` : Global (room-wide) media player, now used only for voice messages but could be used for all media within EX in the future. It is backed by media3's exoplayer. Currently not unit-tested because mocking exoplayer is not trivial.
- `messages.impl.voicemessages.play` : Business logic of a timeline voice message. This is all the logic that manages the voice message bubble.
- `messages.impl.timeline.model` & `messages.impl.timeline.factories`: Timeline code that takes care of creating the `content` object for voice messages.
-  `messages.impl.timeline.components` : The actual View composable that shows the UI inside a voice message bubble.

All the rest is just small related changes that must be done here and there in existing code.

From a high level perspective this is how it works:
- Voice messages are unlike other message bubbles because they carry state (i.e. playing, downloading...) so they have a Presenter managing this state.
- Media content (i.e. the ogg file) of a voice message is downloaded from the rust SDK on first play then stored in a voice messages cache (see the `VoiceMessageCache` class, it is just a subdirectory in the app's cacheDir which is indexed by the matrix content uri). All further play attempts are done from the cache without hitting the rust SDK anymore.
- Playback of the ogg file is handled with the `VoiceMessagePlayer` class which is basically a "view" of the global `MediaPlayer` that allow the voice message to only see the media player state belonging to its media content. 
- Drawing of the waveform is done with an OSS library wrapped in the `WaveformProgressIndicator` composable.

Known issues:
 - The waveform has no position slider.
 - The waveform (and together with it the whole message bubble) is taller than the actual Figma design.
 - Swipe to reply for voice messages is disabled to avoid conflict with the audio scrubbing gesture (to reply to a voice message you have to use the long press menu).
 - The loading indicator is always shown (there is no delay).
 - Voice messages don't stop playing when redacted.

## Motivation and context

https://github.com/vector-im/element-meta/issues/2083

## Screenshots / GIFs

Provided by Screenshot tests in the PR itself.
2023-10-24 21:47:51 +00:00
ElementBot
46bfbc06fa Sync Strings (#1623)
* Sync Strings from Localazy

* Fix strings

* Update screenshots

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-10-23 08:20:49 +00:00
bmarty
379139a88f Sync Strings from Localazy 2023-10-16 00:09:47 +00:00
bmarty
cd0a0f7c9a Sync Strings from Localazy 2023-10-02 00:09:47 +00:00
Benoit Marty
34114caeb5 Be able to install APK from Element X. 2023-09-26 17:48:26 +02:00
bmarty
e9a7c7bbaf Sync Strings from Localazy 2023-09-25 00:09:17 +00:00
bmarty
4077c5c834 Sync Strings from Localazy 2023-09-21 15:51:21 +00:00
jonnyandrew
d291622eea [Rich text editor] Add link functionality to rich text editor (#1309)
* Add link functionality to rich text editor
* Add 'list dialog' component compound design library
* Add 'text field list item' component to compound design library
2023-09-19 11:20:07 +00:00
Benoit Marty
d3d9367feb Localazy sync 2023-09-18 16:42:35 +02:00
bmarty
6e5e538724 Sync Strings from Localazy 2023-09-18 00:09:19 +00:00
ganfra
455d39c629 Sync Strings from Localazy 2023-09-14 14:38:49 +00:00
jmartinesp
c3b883623c Sync Strings from Localazy 2023-09-05 06:37:36 +00:00
Benoit Marty
fc563f355b Remove translation with issue. Will be synced later. 2023-08-25 12:50:53 +02:00
Benoit Marty
cd558bc09f Import strings with Localazy. 2023-08-25 12:15:06 +02:00
Benoit Marty
79aa128377 Add setting entry point to manage account (OIDC) 2023-08-23 12:54:22 +02:00
ElementBot
58a2113a9f Sync Strings from Localazy (#1098)
Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2023-08-21 08:34:19 +02:00
bmarty
1eb0320b2b Sync Strings from Localazy 2023-08-14 00:08:49 +00:00
ElementBot
5ecafeb49f Sync Strings from Localazy (#1032)
Co-authored-by: Florian14 <Florian14@users.noreply.github.com>
2023-08-11 14:34:05 +00:00
Benoit Marty
d3cea1e69c Sync strings. 2023-07-27 12:16:04 +02:00
bmarty
e196d951f8 Sync Strings from Localazy 2023-07-24 00:10:09 +00:00
ElementBot
045d957f91 Sync Strings (#882)
* Sync Strings from Localazy

* Update screenshots

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2023-07-17 10:22:15 +02:00
Benoit Marty
282369bfe2 Sync again after adding missing value in Localazy. 2023-07-10 12:14:25 +02:00
bmarty
0cf24610c9 Sync Strings from Localazy 2023-07-10 00:11:05 +00:00
jonnyandrew
850781444b Collapse long lists of message reactions (#806)
---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-07 13:19:11 +00:00
Jorge Martin Espinosa
df8f447e23 [Design] Use outlined textfields in login screen (#801)
* Use outlined textfields in the login screen

* Fix enabled status

* Fix loading state for button in `ConfirmAccountProviderView` too

* Update subtitle string

* Remove no longer used translation

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-07 10:08:38 +02:00
bmarty
bd3dd76039 Sync Strings from Localazy 2023-07-03 00:11:17 +00:00
bmarty
9c5c578c67 Sync Strings from Localazy 2023-06-26 00:10:53 +00:00
Jorge Martin Espinosa
95f65e2031 [Message Actions] Copy events to clipboard (#665)
* Add `Copy` action for text events

* Remove 'Copy' action from the list for non-text events

* Use `@ContributesBinding` to inject `AndroidClipboardHelper`.
2023-06-23 14:39:07 +00:00
bmarty
2faa96a4e4 Sync Strings from Localazy 2023-06-19 20:15:52 +00:00
github-actions[bot]
3f7738c001 Sync Strings (#630)
* Sync Strings from Localazy

* Update strings, remove broken German translation

* Update screenshots

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-19 11:18:01 +00:00
Jorge Martin Espinosa
7ddf93ed09 [Message Actions] Retry sending failed messages (#596)
* Add `RetrySendMessageMenu` to retry sending failed messages or removing its local echo.

* Fix initial event being retrieved, not the updated one

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-15 11:27:37 +02:00
ganfra
20eb2ade54 Merge branch 'develop' into feature/fga/media_viewer_actions 2023-06-06 14:35:25 +02:00
github-actions[bot]
03c28ac52d Sync Strings (#522)
Sync Strings from Localazy
2023-06-05 15:26:50 +00:00