Commit Graph

15110 Commits

Author SHA1 Message Date
ganfra bd4d0cb02b Fix compilation for QR login continuation error variants added in SDK 26.07.28 2026-07-28 16:44:07 +02:00
renovate[bot] 154d79d4b5 Update dependency org.matrix.rustcomponents:sdk-android to v26.07.28 2026-07-28 13:45:07 +00:00
Jenna Vassar c2e8676773 Update keyboard visibility to track hasFocus (#7284) 2026-07-28 15:35:27 +02:00
Jenna Vassar fe24aeb2ce Add a password strength estimator wrapping the SDK zxcvbn API (#7186)
* Add a password strength estimator wrapping the SDK zxcvbn API

* Add tests for the password strength estimator SDK mapping

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-28 10:30:06 +00:00
Jorge Martin Espinosa 0cd163a680 Import Compound tokens from v10.2.3 (#7272)
* Import Compound tokens from `v10.2.3`

* Remove manually added `bgSubtleTertiary` semantic color: it's in Compound now

* Bump enterprise module to a compatible commit
2026-07-28 09:07:24 +00:00
Jorge Martin Espinosa adc1b50492 Fix insets in several screens (#7285)
* Fix insets in several screens

UI components in the room list, room member list, etc. now have better insets based on `WindowInsets.safeDrawing`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-28 10:29:42 +02:00
ganfra c685c356ce Merge pull request #7282 from element-hq/renovate/actions-checkout-7.x
Update actions/checkout action to v7.0.1
2026-07-28 10:02:56 +02:00
Matt Van Horn 9042b4be4f Make settings section separators visible in black theme (#7039)
* Make settings section separators visible in black theme

In the Black (OLED) theme the canvas is forced to pure black while the
section-separator divider keeps its standard-dark colour (outlineVariant,
~10% alpha white), leaving dividers in Settings and related screens almost
invisible. Add an OLED-aware listSectionDivider alias that lightens the
divider only when the black theme is active, and use it for the
ListSectionHeader divider. Light and standard-dark themes are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>

* Set separatorSecondary for Black theme instead of a custom divider alias

Following review feedback: now that the global HorizontalDivider uses
separatorSecondary (#7054), give the Black/OLED theme a visible
separatorSecondary value in ElementTheme instead of carrying a bespoke
listSectionDivider alias. This fixes all separators on pure black, not
just section headers. The exact color is pending design confirmation.

* chore(theme): remove in-code design discussion comment

Move design discussion out of the code per review; the divider color
decision lives in the PR thread.

* Update screenshots

Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>

---------

Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Jorge Martin Espinosa <jorgem@element.io>
2026-07-28 09:51:15 +02:00
Jorge Martin Espinosa cc3c68411e Try making HeaderFooterView more robust (#7267)
* Try making `HeaderFooterView` more robust

Create `HeaderFooterLayout` to properly calculate the content size when the component is scrollable so it's at least the size of the available space.

* Make `DesktopNoticeView` scrollable

For this, `NumberedListOrganism` can't be a `LazyColumn`, since that's a lazy layout with no intrinsic height and Compose doesn't know how to size it.

* Fix the case where no header or content composables are supplied

* Fix insets in non-scrollable UI

* Remove `movableContentOf`, suppress the warning instead since the `isScrollable` parameter should never toggle this behavior

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-28 09:38:56 +02:00
renovate[bot] 03639caa75 Update actions/checkout action to v7.0.1 2026-07-27 16:18:01 +00:00
Jorge Martin Espinosa 77edfec61a Use the right insets in the home screen UI (#7271)
* Use the right insets in the home screen UI

That's `WindowInsets.statusBar` for the `Scaffold` component, then `WindowInsets.navigationBar` for the `LazyColum.contentPadding`

* Apply it to other screens with long lists of items too

* Apply the insets to `PreferencePage` too

* Apply inset changes to other screens with scrollable content

* Add helper insets/padding values based on review suggestions.

* Use the newly added insets/padding values in several scaffold and scrollable columns

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-27 18:17:14 +02:00
Jorge Martin Espinosa 0442fbd307 Fix media viewer for medias not related to events displaying invalid state (#7280)
* When no URL is provided to `ContentValidationState.collectMediaState`, assume it's valid

That way we can do:

`if (validationState.isValid() && state.collectMediaState(possiblyNullUrl).isValid()) ...`

* Remove the `eventId` param from `ContentScannerService.scan`

It's not really used, since we then provide a state that can be mutated, and fetching that is what the previous parameter was used for

* Make sure to always validate the medias in the viewer, both the actual media and the thumbnail

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-27 18:16:35 +02:00
Jorge Martin Espinosa d8b01cf3e7 Fix ContentErrorView not calculating its text size synchronously (#7281)
It was using a `LaunchedEffect` instead of relying on the `Text(onTextLayout)` parameter.
2026-07-27 18:15:33 +02:00
Jorge Martin Espinosa bbb83c2ff0 Localazy: improve search, parallelize checks (#7261)
* Remove no longer temporary string

These are now in localazy and the sync strings CI flow was failing because we have 2 conflicting values in `temporary.xml` and `localazy.xml`

* Use the right placeholder value in `screen_local_network_opt_in_subtitle`

* Localazy: improve search, parallelize checks

The search for XML files has been narrowed down and it's several times faster now, and processing the files is now done in parallel

* Improve script to also find and delete previous files

Also add the option of having a `-v|--verbose` flag to print which files we're modifying

* Use `LocalBuildMeta` to get the app name inside `LocalNetworkPermissionDialogView`

* Allow finding all the forbidden terms in the strings and translations and then return an error exit code instead of a success one

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-27 15:12:53 +02:00
renovate[bot] 0e3d479490 Update roborazzi to v1.70.0 (#7274)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-27 10:56:30 +02:00
renovate[bot] 4d9bbd67c3 Update actions/setup-python action to v7 (#7278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-27 10:56:07 +02:00
renovate[bot] 91ec818522 Update dependency org.jetbrains.kotlinx:kover-gradle-plugin to v0.9.9 (#7273)
* Update dependency org.jetbrains.kotlinx:kover-gradle-plugin to v0.9.9

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ElementBot <android@element.io>
2026-07-27 09:23:13 +02:00
ganfra 66f6852f8a Merge pull request #7268 from element-hq/renovate/actions-setup-java-5.x
Update actions/setup-java action to v5.6.0
2026-07-24 18:25:09 +02:00
ganfra e798eed816 Merge pull request #7051 from element-hq/feature/valere/timeline_active_call_rendering
feat(call): Active call timeline rendering
2026-07-24 13:43:43 +02:00
ganfra bfb2cc4678 Fix CallNotifyContent constructor call in EventItemFactoryTest 2026-07-24 11:35:34 +02:00
ganfra 1e2085260c Merge branch 'develop' into renovate/actions-setup-java-5.x 2026-07-24 11:05:18 +02:00
Jorge Martin Espinosa 1595830541 Remove no longer temporary strings (#7260)
* Remove no longer temporary string

These are now in localazy and the sync strings CI flow was failing because we have 2 conflicting values in `temporary.xml` and `localazy.xml`

* Use the right placeholder value in `screen_local_network_opt_in_subtitle`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-24 09:00:45 +00:00
ganfra 61ea9cf2b3 Merge pull request #7266 from element-hq/feature/fga/searchbar-result-state-refactor
Refactor SearchBarResultState.Initial/NoResultsFound to data objects
2026-07-24 09:58:15 +02:00
renovate[bot] 5ee8bc2fa7 Update dependencyAnalysis to v3.17.0 (#7265)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-24 09:04:48 +02:00
renovate[bot] bce559dc1b Update actions/setup-java action to v5.6.0 2026-07-23 16:52:37 +00:00
ElementBot f5b05f93c1 Update screenshots 2026-07-23 16:07:28 +00:00
ganfra 29d9e7c1ba Merge branch 'develop' into feature/valere/timeline_active_call_rendering
# Conflicts:
#	tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.customreaction_EmojiItemWithPopup_Night_0_en.png
2026-07-23 16:24:11 +02:00
ganfra 9d427077f0 Refactor SearchBarResultState.Initial and NoResultsFound to data objects 2026-07-23 16:15:02 +02:00
ElementBot 44f027514e Update screenshots 2026-07-23 13:48:37 +00:00
Jorge Martin Espinosa 72c47f7c41 Add warning to the 'Scan QR code' screen (#7264)
* Add warning to the 'Scan QR code' screen

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-23 15:38:33 +02:00
ganfra 907579d59f Merge pull request #7232 from element-hq/feature/fga/display_user_status
WIP : display user status
2026-07-23 15:10:19 +02:00
Valere 0f43b9b79a fix: test compilation 2026-07-23 14:57:12 +02:00
ganfra b83996d70d Merge pull request #7257 from element-hq/feature/fga/user-status-emoji-picker
Plug emoji picker for custom user status
2026-07-23 14:39:55 +02:00
ganfra b839d4a2e1 Merge pull request #7263 from element-hq/renovate/io.sentry-sentry-android-8.x
Update dependency io.sentry:sentry-android to v8.49.0
2026-07-23 14:27:10 +02:00
ganfra 93786cdcbb Use roomMember.getBestName() in SuggestionPickerView 2026-07-23 14:23:05 +02:00
ganfra eaf987877f Merge pull request #7262 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-26.x
Update dependency org.matrix.rustcomponents:sdk-android to v26.07.23
2026-07-23 14:02:28 +02:00
ganfra 075cca2d21 Sync emoji picker translations from Localazy 2026-07-23 13:56:30 +02:00
renovate[bot] ff7f54c416 Update dependency io.sentry:sentry-android to v8.49.0 2026-07-23 11:41:57 +00:00
renovate[bot] 0d6c35a4a2 Update dependency org.matrix.rustcomponents:sdk-android to v26.07.23 2026-07-23 11:41:48 +00:00
Valere f22e4b3314 Merge branch 'develop' into feature/valere/timeline_active_call_rendering 2026-07-23 13:40:38 +02:00
Valere 19aabd4211 review cleanup 2026-07-23 13:40:08 +02:00
ganfra 14feeca2a5 Add some comments after PR review 2026-07-23 11:25:40 +02:00
ElementBot 2f09585b81 Update screenshots 2026-07-22 19:22:11 +00:00
ganfra e4f8139791 Sync emoji picker translations from Localazy 2026-07-22 21:00:16 +02:00
ganfra fa537cce28 Merge pull request #7240 from element-hq/gradlew-update-9.6.1
Update Gradle Wrapper from 9.5.1 to 9.6.1
2026-07-22 18:37:50 +02:00
ganfra 471b80af18 Fix duplicate string resources after rebase 2026-07-22 18:32:35 +02:00
renovate[bot] 8d9bec57d7 Update zizmorcore/zizmor-action action to v0.6.0 (#7256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-22 17:58:57 +02:00
ganfra b9831734a0 Take DisplayedStatus directly in DisplayNameWithStatus and always show emoji 2026-07-22 17:28:30 +02:00
ganfra 9c3fe5ad23 Drop mutating setter for MentionSpan trailingText 2026-07-22 17:28:30 +02:00
ganfra 7935dc2ac7 Restore disabled-state color on UserRow AnnotatedString overload 2026-07-22 17:28:30 +02:00