Commit graph

57 commits

Author SHA1 Message Date
Benoit Marty
39cca2ce09 Sync localazy using fixed script 2023-12-08 19:24:35 +01:00
Benoit Marty
24d3981261 Run the script again. 2023-12-05 12:25:59 +01:00
Benoit Marty
5af1a786e5 Sync string again after removing problematic translations from Localazy. 2023-12-04 18:03:21 +01:00
bmarty
fced91addb Sync Strings from Localazy 2023-12-04 00:09:56 +00: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
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
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
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
Benoit Marty
4f146d7a1c Localazy: move report_content strings to the :features:messages:impl module. 2023-11-14 11:37:21 +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
ElementBot
3bf34eae01
Sync Strings (#1789)
Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2023-11-13 12:31:34 +01:00
bmarty
2fca8412b2 Sync Strings from Localazy 2023-11-06 08:23:40 +00:00
bmarty
ffd02b831e Sync Strings from Localazy 2023-10-30 14:50:36 +00:00
bmarty
8350382440 Sync Strings from Localazy 2023-10-30 00:10:04 +00:00
Jorge Martin Espinosa
44de6adb86
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
ca6a30d6cc PIN : fix quality 2023-10-26 15:25:40 +02:00
ganfra
5d98f645d2 Merge branch 'develop' into feature/fga/pin_settings 2023-10-26 11:13:52 +02:00
ganfra
54cd62ab76 PIN: branch SignOut 2023-10-25 11:15:15 +02:00
Marco Romano
6e66c989f4
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
c8dc364147
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
586a53653d Sync Strings from Localazy 2023-10-16 00:09:47 +00:00
bmarty
7e3b9d8d3b Sync Strings from Localazy 2023-10-02 00:09:47 +00:00
Benoit Marty
3f73443ebb Be able to install APK from Element X. 2023-09-26 17:48:26 +02:00
bmarty
c72bb92ef2 Sync Strings from Localazy 2023-09-25 00:09:17 +00:00
bmarty
a7ce12d91d Sync Strings from Localazy 2023-09-21 15:51:21 +00:00
jonnyandrew
ee8d27e927
[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
0453ea5904 Localazy sync 2023-09-18 16:42:35 +02:00
bmarty
d2f9b02bbf Sync Strings from Localazy 2023-09-18 00:09:19 +00:00
ganfra
b382993cbb Sync Strings from Localazy 2023-09-14 14:38:49 +00:00
jmartinesp
74b2ddebfd Sync Strings from Localazy 2023-09-05 06:37:36 +00:00
Benoit Marty
89f1492233 Remove translation with issue. Will be synced later. 2023-08-25 12:50:53 +02:00
Benoit Marty
8415826a97 Import strings with Localazy. 2023-08-25 12:15:06 +02:00
Benoit Marty
bc57a03a39 Add setting entry point to manage account (OIDC) 2023-08-23 12:54:22 +02:00
ElementBot
ef8a60b657
Sync Strings from Localazy (#1098)
Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2023-08-21 08:34:19 +02:00
bmarty
b61a8a219a Sync Strings from Localazy 2023-08-14 00:08:49 +00:00
ElementBot
38a25dc3e9
Sync Strings from Localazy (#1032)
Co-authored-by: Florian14 <Florian14@users.noreply.github.com>
2023-08-11 14:34:05 +00:00
Benoit Marty
8f4b664158 Sync strings. 2023-07-27 12:16:04 +02:00
bmarty
af2159e98f Sync Strings from Localazy 2023-07-24 00:10:09 +00:00
ElementBot
e75438a8e3
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
6ee4056cca Sync again after adding missing value in Localazy. 2023-07-10 12:14:25 +02:00
bmarty
fd6cf1d7fd Sync Strings from Localazy 2023-07-10 00:11:05 +00:00
jonnyandrew
d8fcfc5844
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
5ee2418a1c
[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
6e54ed7b77 Sync Strings from Localazy 2023-07-03 00:11:17 +00:00
bmarty
874739ece9 Sync Strings from Localazy 2023-06-26 00:10:53 +00:00
Jorge Martin Espinosa
cf2723ac7f [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
700fadb09d Sync Strings from Localazy 2023-06-19 20:15:52 +00:00
github-actions[bot]
fe5524bae4 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
31555c4bd0 [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