Commit Graph

121 Commits

Author SHA1 Message Date
Jorge Martin Espinosa
0e05a0e4ed Session falsely displayed as 'verified' with no internet connection (#2884)
* Session falsely displayed as 'verified' with no internet connection
	- Remove the need to wait for `isReady` for `SessionVerificationService.canVerifySessionFlow` to fix this.
	- Rename `SessionVerificationService.canVerifySessionFlow` to `needsSessionVerification`.
	- Make `isReady` private.
2024-05-21 11:41:18 +00:00
Jorge Martin Espinosa
da8d319dea Use member display names in membership timeline item text (#2883)
* Use member display names in membership timeline item text
2024-05-21 08:26:11 +00:00
Jorge Martin Espinosa
cec0db8a0e When linkifying HTML messages, give priority to explicit link tags (#2879)
* When linkifying HTML messages, give priority to explicit link tags
2024-05-20 13:09:37 +02:00
Jorge Martin Espinosa
822705195f Fix crash when creating an EncryptedFile in Android 6 (#2853) 2024-05-15 16:10:16 +00:00
Jorge Martin Espinosa
83b2da547c UX cleanup: reorder text composer actions (#2847)
* UX cleanup: reorder text composer actions

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-15 10:28:06 +02:00
Benoit Marty
b971ac36d3 Merge pull request #2843 from element-hq/feature/bma/joinRoomVia
Provide serverNames when available and fix issue around analytics
2024-05-14 17:17:59 +02:00
Benoit Marty
a2d5ba66d1 Changelog. 2024-05-14 16:04:47 +02:00
Benoit Marty
bf3186353d Merge pull request #2834 from element-hq/sync-localazy
Sync Strings
2024-05-14 11:50:05 +02:00
Benoit Marty
22a1f0af64 Changelog 2024-05-13 15:03:51 +02:00
Jorge Martin Espinosa
c64ead11c8 Upload app id and clean version to bug reports (#2829)
* Upload app id and clean version to bug reports

* Add changelog
2024-05-10 12:15:33 +02:00
Jorge Martin Espinosa
a99f30fbd7 Remove join button on room directory search (#2827)
* Remove 'Join' button in room directory search results

* Update screenshots

* Add changelog

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-10 11:31:18 +02:00
Jorge Martin Espinosa
04e6f66a02 Make logs less verbose, especially for sliding sync (#2825)
* Make logs less verbose, especially for sliding sync.

Use the same config as iOS for most targets.

* Make sure we don't try to upload logs that are larger than the max request size of the bug reporter server.

* Display the loading state as soon as the bug reporter starts processing the log files

* Add changelog
2024-05-09 16:39:59 +02:00
Jorge Martin Espinosa
e1694fa4e8 Add room badges (#2822)
* Add room badges

* Remove no longer used `onShareRoomMember` callback

* Update screenshots

* Add changelog

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-09 08:38:40 +02:00
Jorge Martin Espinosa
2e93d842c7 UX cleanup: DM details screen (#2820)
* UX cleanup: user profile.

- Move send DM to a CTA button.
- Add 'Call' CTA button too when there is a DM with that user and a call is possible.
- Add missing tests.

* Update screenshots

* Add tests for clicking on the avatar

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-08 16:05:02 +02:00
Jorge Martin Espinosa
b524645b89 UX cleanup: room details (#2816)
* UX cleanup: room details screen

Add new CTA buttons for Invite and Call actions

* Update screenshots

* Fix maestro

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-08 11:42:33 +02:00
Jorge Martin Espinosa
9aadec8435 Enforce mandatory session verification only for new logins (#2811)
* Enforce mandatory session verification only for new logins

- Creates `AppMigration` base interface as a way to isolate migration logic, app migrations must implement this interface.
- Creates `AppMigration01` with the existing logs removal migration and `AppMigration02` with the logic to allow existing sessions to skip verification.
- Add `DefaultSessionPreferencesStoreFactory.remove(sessionId)` to allow a ephemeral session store access to exist outside the `SessionScope` for this new migration.

* Fix tests

* Add more tests.

This also includes creating several abstractions.

* Review changes.

- Make `orderedMigrations` a class property, `migrations` just a constructor parameter to avoid incorrect usages.
- Create `lastMigration` property too, use it instead of `MIGRATION_VERSION`.
2024-05-07 14:06:34 +00:00
Valere
0359504fa9 Merge pull request #2806 from element-hq/feature/valere/report_crypto_status_analytics
Add support for Verification state analytics
2024-05-07 14:38:04 +02:00
Valere
ca9937674c Add change log 2024-05-07 09:40:37 +02:00
Jorge Martin Espinosa
01a048e219 UX cleanup: reorder options in the main settings screen (#2802)
* UX cleanup: reorder options in the main settings screen

* Update screenshots

* Group sections in composables

* Add some horizontal padding to the `Footer` component

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-06 15:20:03 +00:00
Tonkku
474a1412ed Enable support for Android per-app language preferences (#2795)
* Enable support for Android per-app language preferences

* Add changelog entry
2024-05-06 09:10:49 +02:00
Benoit Marty
2b44a9f360 changelog 2024-05-03 12:18:40 +02:00
Benoit Marty
6e14d0f244 Changelog 2024-05-01 14:02:10 +02:00
Joe Groocock
3e9ae00090 Pretty-print event JSON in debug view (#2771)
* Pretty-print event JSON in debug view

Significantly improves readability

Signed-off-by: Joe Groocock <me@frebib.net>

* Update screenshots

Signed-off-by: Joe Groocock <me@frebib.net>

---------

Signed-off-by: Joe Groocock <me@frebib.net>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-30 16:08:04 +02:00
Jorge Martin Espinosa
2559d26dc0 Adjust typography in SelectedUser component (#2768)
* Adjust typography in `SelectedUser` component

* Set 2 max lines for `SelectedUser` component.

Also update the theme token references.

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-30 09:21:39 +00:00
Benoit Marty
f5060defa1 Merge pull request #2754 from element-hq/feature/valere/expected_utd_integration
Expected UTDs due to membership support
2024-04-30 11:03:36 +02:00
Benoit Marty
51d87a8309 Merge pull request #2759 from element-hq/feature/fga/permalink_timeline
Permalink timeline
2024-04-30 10:58:33 +02:00
Valere
9e92b1b408 Update changelog 2024-04-30 09:34:02 +02:00
Jorge Martin Espinosa
b881643423 User display name overflows in timeline messages (#2767)
* User display name overflows in timeline messages

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-29 17:26:58 +00:00
Benoit Marty
4707fff833 changelog 2024-04-29 17:57:02 +02:00
Benoit Marty
a370f7a1c8 Changelog 2024-04-26 12:36:21 +02:00
Jorge Martin Espinosa
fe9b3f7cdb Always display 'lost recovery key?' option (#2745)
* Always display 'lost recovery key?' option

* Use `isLastDevice` it to display only 'enter recovery key' option for verification.

* Update strings. This should fix the wrong term 'passcode' being used in the recovery key screen title.

* Disable 'lost your recovery key?' button while the screen is in a loading state

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-25 15:28:24 +02:00
Jorge Martin Espinosa
2cc124bda2 Remove SessionData.needsVerification as the source of truth for session verification status (#2748)
* Remove `SessionData.needsVerification` as the source of truth for session verification status.

- Use the Rust SDK `EncryptionService.verificationState()` instead, but always waiting for the first 'known' result (either verified or not, discarding 'unknown').
- Add a workaround in the super rare case when reading this value gets stuck somehow. We'll assume the user is not verified in that case.
- Make `DefaultFtueService.getNextStep` and dependent checks `suspend`.
- Make the `skip` button use a value in the session preferences instead.

* Log exception when the verification status can't be loaded

Co-authored-by: Benoit Marty <benoit@matrix.org>

* Fix review comments

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-04-24 13:55:25 +00:00
Benoit Marty
06756c33ed Changelog 2024-04-24 11:38:19 +02:00
Benoit Marty
ee5cd431cf Changelog 2024-04-17 13:43:17 +02:00
Benoit Marty
cf635755d3 Changelog for version 0.4.6 2024-03-15 15:20:22 +01:00
Benoit Marty
a5940380c0 Merge pull request #2544 from element-hq/feature/bma/trackUtd
Track UTD errors.
2024-03-15 14:11:29 +01:00
Benoit Marty
0702005468 Track UTD errors. 2024-03-14 17:03:50 +01:00
Jorge Martin Espinosa
a7093bae8b Add legacy call invite state events and notifications (#2552)
* Add state timeline events and notifications for legacy call invites

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-14 16:29:06 +01:00
Jorge Martin Espinosa
6c1f90ed77 Use userId on display name change state events (#2545)
* Use `userId` on display name change state events
2024-03-14 08:46:20 +00:00
Jorge Martin Espinosa
1670909408 Improve room member list loading UX (#2543)
Improve room member list UX:

- Don't display the list in chunks anymore.
- Use an indeterminate linear progress indicator to display some loading is being done (either loading the cached list or the updated one).
- Try to make sure we don't display the members loaded from timeline items as the cached room list by mistake.
* Update screenshots
* Simplify member loading logic.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-14 08:05:44 +00:00
Jorge Martin Espinosa
b405d9025f Added empty state to banned member list (#2541)
* Added empty state to banned member list

* Center both empty states in `RoomMemberListView` and `PollHistoryView`

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-13 15:04:43 +00:00
ganfra
86f530e5d0 Bugfix : fix timeline not showing sender info when room is marked as direct but not a 1:1 room #2530 2024-03-12 17:35:54 +01:00
Jorge Martin Espinosa
d19b3fe091 Change a room's permissions power levels (#2525)
* Change a room's permissions power levels

* Make `currentPermissions` use a `MatrixRoomPowerLevels?` instance instead.

* Update strings

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-12 15:45:06 +01:00
Jorge Martin Espinosa
796bdc0224 Prevent sending empty messages (#2527)
* Prevent sending empty messages

* Fix screenshot issue

* Use `aRichTextEditorState` helper function
2024-03-12 12:25:23 +01:00
Benjamin Bouvier
b2b3f2372f Disable trace logs for read receipts
Read receipts have been considered quite stable over the last few weeks, so
there's no need to keep the trace level for the associated logs for the time
being.
2024-03-08 15:11:46 +01:00
Jorge Martin Espinosa
b07ec3e681 Hide blocked users list when there are no blocked users (#2504) 2024-03-07 16:14:44 +00:00
Jorge Martin Espinosa
d8f9408cdb Room member moderation: kick, ban and unban (#2496)
* Room member moderation: kick, ban and unban

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-06 16:44:05 +01:00
Jorge Martin Espinosa
6a75be7bf0 Room admins can change user roles (#2423)
Allow Admins to modify room member roles:

- Add a 'roles and permissions' option for each room.
- Allow promoting users to admins, adding or removing moderators, and demote yourself if you're and admin.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-05 16:46:47 +00:00
Jorge Martin Espinosa
b64d7a267e Add extra params to bug reports (#2490)
* Add extra params to bug reports

- `local_time`: the time in the device's timezone.
- `utc_time`: the time in UTC.
- `sdk_sha`: the commit SHA that was used to build the Rust SDK
2024-03-05 17:21:47 +01:00
Timo Kösters
3386ee5178 Faster member list by avoiding many FFI calls (#2322)
* Faster member list by avoiding many FFI calls
2024-03-05 10:41:51 +01:00