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>
The whole crash call stack was appended to the bug report description, and the
bug report server copies that description verbatim into the GitHub issue it
opens. GitHub refuses an issue body over 65536 characters, so the server's save
step failed and answered "Could not save report". The stored crash data is only
cleared after a successful send, so every retry failed the same way.
Truncate the description before sending it. The user's own text and the GitHub
issue link come first, so only the tail of the crash stack is dropped. The
uncaught exception handler already writes the full stack through Timber, so it
stays available in the attached log files.
The 40 KB budget leaves room for the other reported fields, mainly the list of
omitted log file names, which is not otherwise bounded.
- libraries.sessionStorage.api
- projects.libraries.architecture
from `api` to `implementation`.
Modules who need `:libraries:matrix.api` do not necessarily need to use the session storage api.
* Fix rageshakes not uploading if they are too long. The max log line size in the default rageshake server is `1_000_000`.
* Change upload order to ensure the current logs and the push rules are always sent.
* Add 'buffer' for unexpected log lines.
* feat: Add visible history alert to encrypted rooms.
- Adds a dismissable alert that is displayed whenever the user opens a
room with `history_visibility` != `joined`. When cleared, this is
recorded in the app's data store.
- When opening a room with `history_visibility` = `joined`, this flag is
cleared.`
Issue: https://github.com/element-hq/element-meta/issues/2875
* chore: Fix linting issues.
* feat: Move alert showing logic into state presenter.
* chore: Fix linting issues.
* tests: Fixup tests.
* feat: Use real link.
* chore: Update license header.
* chore: Add (c) to license headers.
* chore: Add `.` to license header.
* feat: Lock alert behind history sharing developer setting.
* ci: Trigger record screenshots
* feat: Create repo key using session ID for multi-account support.
* feat: Use session ID hash for constructing data store.
* tests: Correct and update tests.
* tests: Update snapshots.
* feat: Prevent identity alert from displaying with history visibility alert.
* feat: Tidy up HistoryVisibleStatePresenter logic, update previews.
* chore: Remove unused import.
* chore: Update screenshots.
* feat: Add translation string.
* chore: Remove redundant temporary translation file.
* Update target link for "Learn more".
* Rename VerifySelfSession* to OutgoingVerification*
* Optimize import
* Refactor to avoid long line
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
* Add handy extension "VariantDimension.buildConfigFieldStr"
* Update configuration for MapTiler.
* Update configuration for Sentry.
* Build AnalyticsConfig depending on analytics configuration.
* Configure analytics policy url.
* Add handy extension "VariantDimension.buildConfigFieldBoolean"
* Configure legal urls.
* Add a way to disable rageshake / reporting bugs.
* Update screenshots
* Quality
* Fix test
* Use `ifBlank` extension
* Add missing configuration for PostHog
* Update configuration for Rageshake.
* Add build log.
* Disable crash detection if rageshake feature is not available.
Disabled twice.
* Hide link to analytics policy if the link is missing.
* Fix test when run in enterprise context.
* Use RageshakeFeatureAvailability where appropriate.
* Rename file.
* Move some classes to their correct module.
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
* Use embedded version of Element Call: for in-app room calls, the app will use an embedded version of Element Call shipped with the app instead of using an external service.
* Remove `ElementCallBaseUrlProvider` so we don't use the Element well known file to get the base URL anymore
* Remove `ElementCallConfig.DEFAULT_BASE_URL` since it's not used anymore
* Restore the usage of the custom EC base URL in developer settings as the actual base URL, it present
* Add a way to customise the embedded EC analytic credentials
* Update CI to use the EC analytic credentials as secrets
* Improve the custom URL placeholder to include the `/room` suffix
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
* 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>
- Removed `StaticFeatureFlagProvider`.
- Always provide `PreferencesFeatureFlagProvider`.
- For the default values of feature flags, use a lambda with a `BuildMeta` parameter so we can customize the return value based on its data.
* Use the new SDK version
* Adapt the authentication service to the new Rust SDK APIs
* Remove `Timeline.enterSpecialMode(...)` as it's no longer necessary
- Add `ActiveCallManager` to handle incoming and ongoing calls.
- Add ringing call notifications with full screen intents and missed call ones as part of the 'conversation' notifications.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Add QR code login.
* Add FF to disable it in release mode.
* Force portrait orientation on the login flow.
* Create `NumberedList` UI components.
* Improve camera permission dialog.
* Make nodes in qrcode feature use `QrCodeLoginScope` instead of `AppScope`
* Bump SDK version.
* Fix maestro tests
---------
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>