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

112 Commits

Author SHA1 Message Date
bxdxnn
903d31bbab Update docs/nightly_build.md
Co-authored-by: Benoit Marty <benoit.marty@gmail.com>
2026-09-15 17:26:18 +03:00
bxdxnn
7191313ce5 Allow changing keystore path 2026-09-12 18:10:53 +00:00
Benoit Marty
1ee156f480 Remove Showkase from the project. 2026-09-09 15:56:25 +02:00
Benoit Marty
d0d30dc6e2 Replace Danger with actions/github-script
The PR metadata checks move to a new PR Checks workflow, and the lint,
ktlint and detekt reports are now surfaced as inline annotations from the
quality workflow. This removes the danger-js dependency, its ad-hoc npm
installs and the need for the ElementBot token, so the checks also run on
pull requests from forks.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-04 15:54:02 +02:00
Benoit Marty
103c606968 Merge pull request #7579 from element-hq/feature/bma/improveReleaseScript
Add releaseV2.sh, a release script automating the GitHub release
2026-08-27 12:20:52 +02:00
Benoit Marty
4800bbc63f Merge pull request #7546 from hayaksi1/fix/4475-element-call-docs
Document how the Element Call base URL developer option is used
2026-08-27 11:20:04 +02:00
Benoit Marty
c5f70de904 Add releaseV2.sh, a release script automating the GitHub release
releaseV2.sh is a copy of release.sh in which the GitHub CLI is mandatory and
does what was previously done by hand: it finds and waits for the release.yml
run, downloads and extracts its artifacts, creates the pre-release with its 6
assets and the generated release notes, and prepends those notes to CHANGES.md.
It also compares the version code and version name of the signed artifacts to
the expected values instead of asking the user to check them, and no longer
needs ELEMENT_GITHUB_TOKEN, since the CLI uses its own credentials. release.sh
is left untouched, so that the next release can be done with releaseV2.sh while
keeping a way back if something goes wrong. The installation documentation is
also fixed, as it referred to an asset name that does not exist anymore.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 22:15:54 +02:00
hayaksi1
c893657aa0 Document how the Element Call base URL developer option is used
The developer option passes its value through to the widget URL verbatim,
so it has to be the URL of the page that joins a room rather than the
deployment root. That is not obvious from the field, and hughns asked for
it to be written down in docs/ rather than expanded inline in the app,
because the path depends on how the deployment was hosted.

Part of #4475.
2026-08-25 16:30:49 +03:00
hayaksi1
23a60cf20a Point the proxy debugging doc at the method that builds the clients
The doc told the reader to add disableSslVerification() to
RustMatrixClientFactory.create(), which has not built the client for a long
time; getBaseClientBuilder() is where the chain lives, and it covers both the
login client and the restored session client.

It also only described the emulator's own proxy setting, while the app already
follows the device's global proxy through DefaultProxyProvider, which is the
only way to do this on a physical device.
2026-08-25 15:54:45 +03:00
Benoit Marty
7168959507 Fix documentation: Events -> Event 2026-08-25 10:54:01 +02:00
Quentin Gliech
2226eb5162 Remove the reference to the decommissioned OIDC playground
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 17:58:14 +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
hayaksi1
5140b7c3c8 Fix the feature module template writing the impl build script into the api module
Generating a feature with the Generate Module from Template plugin produced a
module that could not build: features/<name>/api/build.gradle.kts was written
from the impl template, giving the api module a dependency on itself and an
impl namespace.

FeatureModule.json declared BUILD_GRADLE_API and BUILD_GRADLE_IMPL, both
defaulting to build.gradle.kts, and used them as fileTemplates keys. The plugin
resolves keys to filenames before matching, so both collapsed to one key and
the second overwrote the first. The same matching code falls back to a suffix
match on the path, so DefaultXEntryPoint also matched the key XEntryPoint and
was generated from the api template.

Key both by directory, which the plugin supports for exactly this case, and
drop the two now-unused placeholders. The file templates themselves were
correct and are unchanged. The onboarding doc gains a note that an already
imported template must be removed before re-importing, since the plugin keeps
its own copy.
2026-08-09 15:10:00 +03: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
Valere
283fd2970a devx: fix build sdk script options for macos 2026-04-21 15:34:01 +02:00
renovate[bot]
0c8a01d2cf fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v26.03.19 (#6411)
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v26.03.18

* Fix API breaks

* Add compatibility with rustls (#6367)

A new `rustls-platform-verifier-android` library has to be added to the project, it'll be called from Rust to get access to the certificates on Android.

Originally, this was supposed to be added as a local maven repo pointing to the rust crate that publishes the AAR, but that's just plain terrible (more details [here](https://github.com/rustls/rustls-platform-verifier#android).

Instead, what we can do is use a script that uses `cargo-download` to download the latest crate or a specified version, unzip it and add the `aar` file to the `:libraries:matrix:impl` module.

* Try fixing Sonar with local AAR files

* Remove `UserCertificatesProvider`: this is no longer needed after integrating rustls

* Added some docs for rustls and its `platform-verifier` library

* Upgrade SDK to `26.03.19`: this version contains a workaround that allows the app to use the same TLS verifier as before, fixing the Let's Encrypt issues we saw with some homeservers (like element.io)

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-03-20 16:20:37 +01:00
Jorge Martin Espinosa
861f268447 Replace knit with generate_toc.py (#6279) 2026-03-10 09:05:20 +01:00
Andy Balaam
a877e9f054 Adjust the build-rust-sdk script to allow non-interactive use 2026-03-04 15:35:43 +00:00
Eric Eastwood
59db9058a6 Document "Developer options" and remove outdated instructions (#6162)
* Document "Developer options"

* Remove old docs from `element-android`

It looks like these were just copied across from
https://github.com/element-hq/element-android/blob/develop/docs/_developer_onboarding.md
and no longer apply.
2026-02-10 17:42:26 +01:00
Benoit Marty
8d533e8a20 Other cleanup 2025-09-05 16:54:45 +02:00
Benoit Marty
ad8ad3d443 Add documentation to migrate from Dagger/Anvil to Metro 2025-09-05 14:37:44 +02:00
Benoit Marty
e88743bd6a Rename anvil modules to annotations and codegen 2025-09-05 14:26:27 +02:00
Andy Balaam
cdced4beb6 Note how to switch back to the published SDK after building locally (#5042) 2025-07-18 10:14:26 +02:00
Andy Balaam
6b7cb76734 Grammar fixes for docs and comments (#5043) 2025-07-17 20:32:37 +02:00
LexDev
3ddea79448 Update _developer_onboarding.md (#4570)
I messed up this step. Making it more idiot proof.
2025-06-03 11:53:16 +02:00
Benoit Marty
c61ee59528 Improve the callback uri format and customization. (#4664)
* Remove unused SUPPORT_EMAIL_ADDRESS

* Improve the callback uri format and customization.

Use io.element.android for the scheme of Oidc redirection for Element X.
For nightly the scheme will be io.element.android.nightly
For debug the scheme will be  io.element.android.debug

Element Pro is using `io.element`
2025-05-05 17:46:17 +02:00
Jorge Martin Espinosa
cbfc5e0955 Improve onboarding docs: (#4578)
- Make clear the contributing guide for Synapse is for a whole different project, update the link.
- Also clarify building the SDK locally is not mandatory.
2025-04-14 10:30:01 +02:00
Jorge Martin Espinosa
9b5b76203f Use secret Sentry DSN value (#4210)
* Use secret Sentry DSN value.

We realised our DSN entry has been shipped along with the code and it was being used in several forks as is, resulting in wrong bug reports coming into our Sentry dashboard and making it very hard to debug actual issues in the app.
2025-01-29 13:47:06 +01:00
Benoit Marty
84a9118992 We do not require Sign-off anymore, but use CLA instead. 2024-12-13 16:10:21 +01:00
Richard van der Hoff
56a5f55e18 Handle uname -m returning arm64 2024-12-11 22:29:35 +00:00
Richard van der Hoff
3e58c7aafd Build SDK for the local hardware
It's likely that you want to build the SDK to run on the emulator on your
machine, so let's default to that, rather than aarch64.
2024-12-11 18:03:09 +00:00
Richard van der Hoff
5515c938d4 [Doc] Improve instructions for building Rust SDK locally (#4015)
* Improve instructions for building Rust SDK locally

* Update _developer_onboarding.md
2024-12-11 14:34:11 +01:00
Benoit Marty
4c61e5dfa2 Remove :samples:minimal module 2024-11-14 09:06:13 +01:00
Jorge Martin Espinosa
b0cebf5ca0 Improve screenshot testing with ComposablePreviewScanner (#3125)
* Use ComposablePreviewScanner to rework how screenshot testing works
* Add test sharding
* Update screenshots
* Fixes for Element Gallery

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-07-03 13:05:06 +02:00
Benoit Marty
65eff95335 Remove CI properties, this is not needed when publishing locally. 2024-07-02 14:40:49 +02:00
Benoit Marty
ffa4bec78c Towncrier is gone, iterate on danger checks 2024-06-27 12:02:29 +02:00
Benoit Marty
a565a0396f Remove towncrier invocation when building nightly. 2024-06-27 11:52:38 +02:00
Benoit Marty
181742b251 Add documentation and small script to test external deep links. 2024-05-02 18:48:28 +02:00
Benoit Marty
3c182a0009 Fix small typos
Co-authored-by: Jorge Martin Espinosa <jorgem@element.io>
2024-01-31 11:51:30 +01:00
Benoit Marty
969962f4bc Update recipe to install the app from a GitHub release. GitHub release now should provide a universal APK. 2024-01-31 11:16:56 +01:00
Benoit Marty
3b06576d21 Upgrade Kover to 0.7.5 2024-01-09 10:51:30 +01:00
Benoit Marty
2a3c3d842c Fix issue in doc (detected with knit 0.5.0) 2023-12-28 12:41:02 +01:00
Benoit Marty
406e641fcd Organization renaming: fix teams URL. There is no redirection on those links 2023-12-13 09:53:11 +01:00
Benoit Marty
f12f878316 Organization renaming: update text and fix link, develop branch does not exist. 2023-12-13 09:44:02 +01:00
Benoit Marty
a969528ae1 Fix issue in project name. 2023-12-13 09:42:32 +01:00
Benoit Marty
30eabd0fa2 Organization renaming: update git clone command 2023-12-13 09:42:11 +01:00
Benoit Marty
75d6eaf8f3 Organization renaming: replace all https://github.com/vector-im by https://github.com/element-hq 2023-12-13 09:40:07 +01:00
Benoit Marty
0573dda874 Fix issue in link. 2023-12-04 17:50:21 +01:00
Benoit Marty
cc2664c519 Use local SDK if the file exist 2023-10-16 13:31:26 +02:00
Marco Romano
82593367a4 Add docs for debug mitm proxying. (#1490) 2023-10-04 14:54:40 +00:00