Commit graph

98 commits

Author SHA1 Message Date
Jorge Martin Espinosa
6457f3c4f5 Fix sent videos being cropped (#1124) 2023-08-24 09:41:58 +02:00
Benoit Marty
6941bc69f6 Merge pull request #1127 from vector-im/feature/bma/finishOidc
Enable OIDC support
2023-08-23 17:01:41 +02:00
Benoit Marty
281df6aec5 Changelog. 2023-08-23 16:04:55 +02:00
Jorge Martin Espinosa
80aaa8b8ab When event has no id, just cancel parsing the latest room message (#1126) 2023-08-23 12:50:22 +00:00
Jorge Martin Espinosa
e45b15165a Make links in messages clickable again (#1115) 2023-08-22 15:21:43 +02:00
Jorge Martin Espinosa
1092e0bed9 Linkify raw links in HTML message contents (#1102)
* Linkify links in HTML too:

- Creates a `ClickableLinkText` for `String`.
- Adds a `linkify` parameter to the original function, which is `true` by default.
- Does the linkify logic inside that component, if `linkify` is true.

* Add changelog

* Make sure we don't linkify user mentions or room aliases.

* Use remember to avoid re-processing the text for no reason.
2023-08-21 16:31:01 +02:00
Benoit Marty
059f93cac7 Merge pull request #1101 from vector-im/feature/bma/fixGoogleCryptoCrash
Use alpha version of the library `androidx.security:security-crypto`
2023-08-21 16:10:45 +02:00
Jorge Martin Espinosa
097b7f28d5 Fix bug reporter failing after not finding some files (#1103)
- Make sure we propagate `CancellationException`.
- Make sure we do a cleanup of temp files.
- Make sure we don't re-compress any lingering temp files.
- Don't stop the upload process if we were able to upload some log files, even if we failed to read some others.
2023-08-21 15:30:16 +02:00
Benoit Marty
50689d59d5 Changelog 2023-08-21 12:59:40 +02:00
Jorge Martin Espinosa
b36667844d [Compound] Platform components (Lists) (#990)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-21 10:34:57 +02:00
Benoit Marty
486aca8598 Merge pull request #1088 from vector-im/fix/jme/1077-textbuttons-in-dark-theme
Fix TextButtons being displayed in black
2023-08-18 16:14:42 +02:00
Benoit Marty
13e22705b9 Merge pull request #1093 from vector-im/feature/bma/senderNameBubble
Feature/bma/sender name bubble
2023-08-18 15:59:20 +02:00
Jorge Martín
b480340bca Merge remote-tracking branch 'origin/develop' into fix/jme/1077-textbuttons-in-dark-theme 2023-08-18 15:30:25 +02:00
Benoit Marty
ef91cfcd4c changelog 2023-08-18 15:21:14 +02:00
Jorge Martin Espinosa
c1a00e15ee Fix rendering of inline elements in list items in messages (#1091)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-18 13:14:55 +00:00
Jorge Martín
e7de13a1bc Add changelog 2023-08-18 14:55:13 +02:00
Jorge Martin Espinosa
814c8edc4f Media upload cancellation (#1058)
* Initial implementation of media upload cancellation

* Add tests

* Add changelog

* Update screenshots

* Add documentation

* Fix lint issues

* Fix review comments

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-17 09:02:03 +00:00
Benoit Marty
77eb16cf96 Merge tag 'v0.1.2' into develop 2023-08-16 17:53:31 +02:00
Florian Renaud
1083b431b6 Add feature flag for polls (#1064)
* Handle poll events from the sdk

* Render started poll event in the timeline

* Create poll module

* Check poll kind before revealing the results

* Check if user has voted before revealing the results

* Add active poll previews

* Minor cleanup

* Update todos

* Fix CI

* Remove hardcoded string

* Update preview

* changelog file

* Update screenshots

* Use CommonPlurals

* Set poll root view as selectableGroup

* Improve poll result rendering

* Update screenshots

* Add missing showkase processor

* Update screenshots

* Add feature flag for polls

* Add supporting text in PreferenceCheckbox

* Render poll events if feature flag is enabled

* changelog

* Update screenshots

* Fix tests

* Move feature flag check to poll factory

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-16 15:14:38 +00:00
Florian Renaud
f2d1658ffa "View only" polls in the timeline (#1031)
* Handle poll events from the sdk

* Render started poll event in the timeline

* Create poll module

* Check poll kind before revealing the results

* Check if user has voted before revealing the results

* Add active poll previews

* Minor cleanup

* Update todos

* Fix CI

* Remove hardcoded string

* Update preview

* changelog file

* Update screenshots

* Use CommonPlurals

* Set poll root view as selectableGroup

* Improve poll result rendering

* Update screenshots

* Add missing showkase processor

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-16 14:19:12 +00:00
Jorge Martin Espinosa
e248920909 [Compound] Implement Snackbars based on designs (#1054)
* Make `InternalButton` internal instead of private so it can be customised.

Also, change the `ButtonColors.contentColor` for text buttons to `LocalContentColor.current` by default.

* Add temporary color for Snackbar action label

* Implement `Snackbar` component based on Compound

* Propagate changes to all other components

* Use right Preview annotation config

* Move `ButtonVisuals` to their own file

* Update screenshots

* Make previews internal

* Update screenshots

* Set a custom token for contentColor in AppBars

* Change 'Label' to 'Action' in the previews

* Add changelog

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-16 10:38:28 +00:00
Jorge Martin Espinosa
53e80e6b5d [Compound] Implement DropdownMenu customisations. (#1050)
* Compound: implement `DropdownMenu` customisations.

* Update screenshots

* Add changelog

* Address review comments

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-11 13:09:51 +00:00
Jorge Martin Espinosa
37a4d49494 [Compound] Implement dialogs (#1043)
* Implement dialogs following Compound tokens

* Update screenshots

* Fix confirmation dialog preview

* Update screenshots

* Add changelog

* Add Figma designs link

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-11 12:44:40 +00:00
Jorge Martin Espinosa
0773e99216 [Compound] implement IconButton changes (#1049)
* Compound: implement IconButton changes.

* Use `LocalContentColor` for tinting

* Update screenshots

* Add changelog

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-11 10:01:18 +00:00
Jorge Martin Espinosa
4e94d4da6b Enable filter push notifications by push rules (#1041)
* Enable filter push notifications by push rules

* Remove unused `filterByPushRules` parameter

* Use fallback notification only for items not filetered by the push rules

* Fix tests
2023-08-09 12:12:39 +00:00
Jorge Martin Espinosa
af932b31c4 [Compound] Implement components (Button) (#1021)
* Create `CompoundButton`

* Some fixes

* Lint fixes

* Start replacing existing `Button` usages

* Replace button usages

* Remove previous Button composable

* Rename `CompoundButton` to `Button`

* Fix emphasized button being displayed as Text

* Fix cancel button in `WaitListView`

* Update screenshots

* Add shorthand functions for `OutlinedButton` and `TextButton`

* Add changelog

* Fix wrong size used for emphasized button in dialog

* Create a private `ButtonInternal` implementation with the shared logic.

- Make `ButtonStyle` private.
- Rename `title` to `text`.
- Rename `buttonStyle` and `buttonSize` to just `style` and `size`.

* Fix several warnings and lint issues.

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-08 16:11:37 +00:00
Jorge Martin Espinosa
c14cf15d4f Use for instead of forEach with ranges (#1035)
* Use `for` instead of `forEach` with ranges.

`forEach` is several times slower when used with ranges.

* Add changelog
2023-08-08 08:48:39 +00:00
Benoit Marty
a4c1576f30 Changelog for version 0.1.0 2023-07-19 16:40:45 +02:00
Jorge Martín
d69dea6608 Fix sliding sync loop restarts due to expirations
Both `NotifiableEventResolver` and `DefaultNotificationDrawerManager` were creating new Rust SDK Clients while processing notifications instead of reusing the already existing one.
2023-07-17 08:05:12 +02:00
jonnyandrew
565d943466 Truncate and ellipsize long reactions (#821)
* Truncate and ellipsize long reactions

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-08 17:53:29 +01: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
Jorge Martin Espinosa
02fa8aaf46 Fix actions for redacted, not sent and media messages (#771)
* Fix actions for redacted, not sent and media messages

* Make `EventDebugInfoView` sections fill max width

* Don't display action list if there are no actions to display

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-05 14:08:17 +00:00
Chris Smith
fe322d072e Show location events in timeline
Not in scope: interacting with the timeline items,
reply formatting. These will be implemented separately.

Closes #689
2023-06-29 16:37:15 +01:00
Jorge Martin Espinosa
96d90a75d9 Send read receipts (#713)
* Send read receipts

* Add changelog

* Add tests.

* Optimise how sending read receipts work in the timeline.

* Move the check for send read receipts to the presenter

Also improve the way we find the first visible `Event` if we have `Virtual` ones in the timeline.
2023-06-29 10:08:19 +00:00
Jorge Martin Espinosa
fe3deeec2f Fix crash when opening a URL with associated text (#699)
* Fix crash when opening a URL with associated text

* Enforce using an `Activity` instead of a `Context` in `SafeUriHandler`.
2023-06-28 09:19:39 +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
Johannes Marbach
1c583ead1c Merge pull request #627 from vector-im/johannes/room-creation-analytics-events 2023-06-23 15:09:55 +02:00
Jorge Martin Espinosa
bdb1841e44 [Message Actions] Report messages (#642)
* Add report messages feature

* Try to improve how snackbars are delivered

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-23 10:44:47 +02:00
Jorge Martin Espinosa
de7bbbd5cf [Message Actions] Forward messages (#635)
* Add forwarding messages base

* Make forwarding single-selection

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-22 13:27:59 +02:00
Johannes Marbach
cf7155f890 Add analytics events for room creation 2023-06-17 21:25:14 +02: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
Jorge Martin Espinosa
e591a588b3 [Message Actions] Add emoji reactions option (#568)
* Add logic to send message reactions

* Add emoji library, create EmojiPicker component

* Fix bottom sheet behaviors

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-09 16:56:40 +02:00
Jorge Martin Espinosa
b0386e6235 [Message Actions] Display debug info for events in the timeline (#555)
* Display debug info for events in the timeline on debug builds.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-09 06:13:22 +00:00
Jorge Martin Espinosa
595fbda220 [Message actions] New UI for message composer and editing (#526)
* Add UI for edit composer mode

* Remove leftover code from the RTE implementation

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-07 13:06:19 +02:00
Jorge Martin Espinosa
0009409a3b [Message actions] Update timeline context menu (#498)
* Replace bottom sheets in timeline with M3 ones.

* Add missing options to menu with the right icons

* Add message summary and reaction emoji row.

* Use the same icon in the message summary and file timeline item
2023-06-02 12:08:54 +00:00
Florian Renaud
04d4b6369a Update room properties from room details (#439)
-  Add the edit action in the room details
-  Add "Add topic" button in room details
-  Add the screen behind that action to edit some room properties: avatar, name, topic
   -  Handle the save button action
      - enable the button only if changes are detected
      - display a loader "updating room"
      - display an error dialog if any request has failed
- Check user has the right power level to change various attributes
   - "Add topic" is only shown if there's no topic and they are able to set on
   - Edit menu is only shown if they can change topic, name or avatar
   - On the edit page, any fields they can't change are uneditable

Co-authored-by: Chris Smith <csmith@lunarian.uk>
2023-06-01 15:10:29 +00:00
Jorge Martin Espinosa
b50350aaa0 [Room details] Open room member details when clicking on user data in timeline (#482) 2023-06-01 12:03:27 +02:00
Chris Smith
36d372e1eb Display a notice if Matrix ID isn't resolved (#461)
Display a notice if Matrix ID isn't resolved

If we can't get the profile of a user after an mxid was
searched for, show a warning under their ID to say the
invite probably won't be delivered.

Closes #424
2023-06-01 08:40:45 +00:00
Jorge Martin Espinosa
59b7507fed Display timestamps for text messages (#465) 2023-05-26 10:51:15 +00:00
Marco Romano
67a8802766 Room list contextual menu (#427)
- Adds `ModalBottomSheet` to our design components (it wraps the homonimous Material3 one).
- Adds  a bottom sheet to the Room list using the aforementioned design component.
- Adds navigation from the room list to a room detail (context menu "Settings" action).
- Consolidates the "leave room flow" into a new `leaveroom` module used by both the room list and the room details.
  - Adds progress indicator to the leave room flow
- Uses new `leaveroom` module in `roomdetails` module too. 

Parent issue:
- https://github.com/vector-im/element-x-android/issues/261
2023-05-25 06:42:44 +00:00