1
0
mirror of https://github.com/element-hq/element-x-android.git synced 2026-10-23 18:49:00 +03:00

285 Commits

Author SHA1 Message Date
bmarty
bfde1cc8a6 Sync Strings from Localazy 2026-10-20 09:46:25 +00:00
bmarty
8100fa6555 Sync Strings from Localazy 2026-10-12 00:37:35 +00:00
Benoit Marty
08a0885cfc Merge pull request #7821 from element-hq/bma/removeUnusedDependencies
Remove unused Gradle dependencies
2026-10-06 12:23:32 +02:00
Benoit Marty
b9ed090400 Use only ClipboardHelper to copy to the clipboard, and do not render feedback on Android 13+
Since Android 13, the system displays its own confirmation when content
is copied to the clipboard, so the application does not render its own
Toast or Snackbar anymore on those versions.

Context.copyToClipboard, CopyToClipboardUseCase and the direct
ClipboardManager usage in EventDebugInfoView are removed.
ClipboardHelper.copyPlainText(text, isSensitive, onSuccessOnOldDevice)
is now the only entry point, and AndroidClipboardHelper is the only
class using ClipboardManager.

Copy actions from the views are moved to their Presenter through new
events, or to the Node when there is no Presenter. A ToastHelper is
introduced so that Toasts are kept where they were used before.
Snackbars are kept where they were already used.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 11:40:08 +02:00
Benoit Marty
38e74ff43d Merge PR #7849: Mark the recovery key as sensitive when copying it to the clipboard 2026-10-05 10:44:39 +02:00
Bardi Harborow
48d6b5cadf Improve the reset identity password field (#7850)
Use the password keyboard type, mark the field as a password for
autofill, and submit the reset with the IME "Done" action, matching
the login password field.
2026-10-05 09:38:32 +02:00
Bardi Harborow
f59f5da64c Mark the recovery key as sensitive when copying it to the clipboard
The recovery key was copied without EXTRA_IS_SENSITIVE, so Android 13+
showed it in the clipboard preview and keyboards could store it in
their clipboard history.

Add an isSensitive option to CopyToClipboardUseCase and
Context.copyToClipboard, and set it when copying the recovery key.
2026-10-04 20:26:48 +11:00
Benoit Marty
954eb731e7 Remove unused Gradle dependencies
Remove dependencies flagged as unused by the Dependency Analysis Gradle Plugin
(`./gradlew buildHealth`) and explicitly declared in module build files.

Removals were skipped when the dependency provides transitively something the
module (or a consumer of an `api` dependency) uses directly, as well as for
runtime-only dependencies (element-call-embedded, sentry-android,
rustls-platform-verifier). Dependencies added by the convention plugin helpers
(composeDependencies, testCommonDependencies) are left untouched.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-02 15:47:48 +02:00
ElementBot
c8c242476b Sync Strings (#7787)
* Sync Strings from Localazy

* Update screenshots

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-09-28 11:32:40 +02:00
ElementBot
aced1ea64d Sync Strings (#7657)
* Sync Strings from Localazy

* Update screenshots

---------

Co-authored-by: jmartinesp <480955+jmartinesp@users.noreply.github.com>
2026-09-07 14:19:38 +02:00
jmartinesp
dfccde93c6 Sync Strings from Localazy 2026-09-02 10:07:17 +00:00
Benoit Marty
b8b6dc1df6 SecureBackupSetupEvents -> SecureBackupSetupEvent 2026-08-25 10:22:22 +02:00
Benoit Marty
28c19e38ce SecureBackupRootEvents -> SecureBackupRootEvent 2026-08-25 10:21:36 +02:00
Benoit Marty
2d611475da SecureBackupEnterRecoveryKeyEvents -> SecureBackupEnterRecoveryKeyEvent 2026-08-25 10:20:48 +02:00
Benoit Marty
c8c579ed7e SecureBackupDisableEvents -> SecureBackupDisableEvent 2026-08-25 10:19:58 +02:00
hayaksi1
03c330ee07 Rename PreviewParameterProvider subclasses to the PreviewParam suffix
The `Provider` suffix reads as a dependency provider rather than as preview
data, and it collides with the real providers in the codebase — `StringProvider`,
`PickerProvider`, the login feature's `AccountProvider` — so the name says
nothing about which of the two a class is. `PreviewParam` says it.

195 classes are renamed, along with the 185 files named after them, the konsist
rule that enforces the convention, the presentation-class file templates and the
onboarding documentation.

This cannot be split. `Konsist.scopeFromProduction()` scans the whole project, so
flipping the assertion before every class has moved leaves the rule red, and a
rule that accepted either suffix during a transition would be exactly the kind of
compatibility layer this convention change is meant to remove.

Two judgement calls in the rule itself. The `name.endsWith("PreviewProvider")`
exclusion is dropped: its only job was to reject a redundant `Preview` before
`Provider`, and the new suffix already contains it; no class currently ends with
`PreviewProvider`, so removing it changes nothing today. And
`EditableAvatarViewUriProvider` is renamed rather than deleted from the exclusion
list even though no such class exists in this repository, since it presumably
comes from the modules overlaid for the enterprise build.

Nothing keyed off the old suffix: no snapshot filename contains a provider class
name, so no Paparazzi image changes, and the Kover variants match on `*Presenter`,
`*State` and `*ViewKt`, so coverage bounds are unaffected.
2026-08-17 17:40:33 +03:00
Benoit Marty
a740423343 Sync strings. 2026-08-17 11:34:52 +02:00
bmarty
17c5d7db59 Sync Strings from Localazy 2026-08-11 09:27:29 +02:00
Benoit Marty
d1cf1aa09f Fix deprecation warning on androidx.compose.material3.ListItem 2026-08-06 18:35:17 +02:00
bmarty
892b384f07 Sync Strings from Localazy 2026-07-27 01:07:51 +00:00
ElementBot
03304b3ece Sync Strings (#7192)
* Sync Strings from Localazy

* Update screenshots

---------

Co-authored-by: jmartinesp <480955+jmartinesp@users.noreply.github.com>
2026-07-13 12:21:55 +02:00
Benoit Marty
d8b1a41f56 Create dedicated package for visual list and add Figma link. 2026-07-02 14:45:22 +02:00
ElementBot
46460e1c27 Sync Strings (#7115)
* Sync Strings from Localazy

* Update screenshots

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-06-29 14:09:36 +02:00
ElementBot
932fdaeb2c Sync Strings (#7071)
* Sync Strings from Localazy

* Sync strings again.
Restore `screen_notification_settings_sound_system_default`

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2026-06-22 15:37:33 +02:00
Benoit Marty
c430877d87 Ensure Robolectric test are run using API 36 until the library support API 37. 2026-06-18 12:18:32 +02:00
Benoit Marty
5a7015c566 screen_custom_recovery_key_input_notice is now a plurals. 2026-06-17 18:36:10 +02:00
Benoit Marty
355894cc74 Merge pull request #6944 from element-hq/feature/custom-recovery-key-wellknown
Add well-known parsing and extension seam for custom recovery passphrase
2026-06-17 13:58:22 +02:00
Benoit Marty
72e9371fa3 Custom recovery key: import strings from Localazy 2026-06-17 10:04:24 +02:00
ElementBot
d39b208099 Sync Strings from Localazy (#7021)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-06-16 12:59:45 +02:00
Jenna Vassar
e90c91d446 Add a node-builder test for DefaultSecureBackupSetupEntryPoint
The new entry point had no test, leaving its createNode body (and the api
Inputs data class) uncovered and failing codecov/patch. Mirror the existing
Default*EntryPointTest convention to exercise the builder.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:04:25 -07:00
Jenna Vassar
cc9d787602 Collapse the recovery passphrase strength labels to five tiers
Adopt the design feedback from element-meta#3228: drop the time-to-crack
hint strings and reduce the strength labels to Very weak / Weak / Moderate /
Strong / Very strong. Bumps the enterprise submodule to the matching
indicator change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 14:39:58 -07:00
Jenna Vassar
4f2c2b773a Move custom recovery passphrase strings to FOSS for iOS parity
Add the pro_screen_recovery_key_mode_* and a11y_recovery_key_* strings to
the securebackup module's temporary.xml so they flow through Localazy for
translation, matching element-x-ios#5684, and bump the enterprise submodule
to the commit that references these FOSS strings and drops its own copy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 15:07:47 -07:00
Jenna Vassar
8479c8346e Add bringIntoViewOnImeVisible modifier and adopt it on the recovery key screen
Extract the IME-aware bring-into-view logic into a reusable designsystem
modifier and use it in the enter recovery key screen, replacing the inline
BringIntoViewRequester wiring.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 10:03:39 -07:00
Jenna Vassar
a050716123 Remove custom recovery passphrase flow from FOSS secure backup setup
The custom passphrase entry/confirm UI now lives in the enterprise secure backup module behind the SecureBackupSetupEntryPoint seam. Reverts the setup presenter, view, state, state machine, state provider, and events to the auto-generated-key-only flow, deletes CustomPassphraseDerivations and the temporary strings, and drops the well-known and enterprise-test dependencies the feature required.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 15:36:02 -07:00
Jenna Vassar
1f84bef601 Add SecureBackupSetupEntryPoint extension seam
Introduces a FeatureEntryPoint for the recovery-key setup screen so enterprise builds can vend a richer setup node. The FOSS default builds the standard auto-generated-key node; SecureBackupFlowNode now resolves the Setup and Change targets through this seam instead of creating SecureBackupSetupNode directly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 15:35:30 -07:00
ElementBot
5a4c0b5d58 Sync Strings from Localazy (#6986)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-06-08 14:33:40 +02:00
Jenna Vassar
8722305e12 Update strings for ios parity 2026-06-04 09:41:55 -07:00
Jenna Vassar
3fc48787b8 Add missing PasswordVisibilityToggle extraction areas 2026-06-02 15:01:17 -07:00
Jenna Vassar
db6f4414df Add custom recovery passphrase setup flow
When the homeserver advertises custom_recovery_passphrase_settings (and
the enterprise gate is enabled), the secure-backup setup lets the user
enter and confirm their own recovery key with a live strength indicator,
instead of receiving a generated one. The SDK derives the 4S key from the
passphrase and the base58 key is scrubbed everywhere so it is never
shown. Falls back to the generated-key flow when no spec is present or
the well-known fetch fails.

Snapshot PNGs are intentionally left out; the core team regenerates them
after the PR is opened.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 13:52:21 -07:00
Jenna Vassar
748454f34d Add shared PasswordVisibilityToggle design-system component
Extract the show/hide password trailing-icon into a reusable
PasswordVisibilityToggle so every password field reveals plaintext the
same way and announces the same a11y labels. Reuse it from the login and
reset-identity password fields. Pure refactor, no behaviour change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 13:33:04 -07:00
ElementBot
0aaa80cbdc Sync Strings from Localazy (#6856)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-05-26 08:05:07 +00:00
bmarty
dcc67f9fc6 Sync Strings from Localazy 2026-05-18 00:57:56 +00:00
ElementBot
0c657c258a Sync Strings from Localazy (#6761)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-05-11 09:37:59 +02:00
Benoit Marty
2f45ca8835 Merge pull request #6682 from element-hq/feature/bma/customMasScheme
Add a way to tweak MAS url.
2026-05-07 10:51:32 +02:00
bmarty
0d2f71643a Sync Strings from Localazy 2026-05-04 00:54:27 +00:00
Benoit Marty
11b9efa2c9 Migrate to v2 testing APIs 2026-04-30 16:04:07 +02:00
Benoit Marty
a76b55e580 Add a way to tweak MAS url. 2026-04-29 22:29:40 +02:00
Jorge Martin Espinosa
367995303d Rename OIDC components and variables to OAuth (#6686)
* Rename `OIDC` components and variables to `OAuth`. This matches the new behavior in the SDK.
2026-04-29 11:41:47 +02:00
ElementBot
9a2ad3928a Merge pull request #6658 from element-hq/sync-localazy
Sync Strings
2026-04-27 09:17:54 +02:00
ElementBot
e1b7171839 Sync Strings (#6626)
* Sync Strings from Localazy

* Use the previous plurals as plain strings

* Add extra case for 1 vs multiple users

* Update screenshots

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2026-04-20 17:09:10 +00:00