Commit graph

234 commits

Author SHA1 Message Date
Benoit Marty
025131841b Cleanup tests. 2025-09-01 15:03:41 +02:00
Benoit Marty
75a640b986 Refactor: Move InMemorySessionStore to test module
- Delete `libraries/session-storage/impl-memory` module
- Move `InMemorySessionStore.kt` to `libraries/session-storage/test`
2025-09-01 14:47:42 +02:00
ElementBot
02c9549bc0
Sync Strings from Localazy (#5249)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-09-01 12:44:49 +02:00
Jorge Martin Espinosa
8245ad8bc3
Handle preference stores corruption by clearing them (#5086)
* Handle preference stores corruption by clearing them:
    - Use the centralised `PreferenceDataStoreFactory` instead of `preferences by`.
    - Add `DefaultPreferencesCorruptionHandlerFactory.replaceWithEmpty` to its `create(name)` method so all preference stores are cleared if they're corrupted.

* Add detekt rule to make sure we use `PreferenceDataStoreFactory` instead of `by preferencesDataStore`

* Remove `@SingleIn` annotations as the annotated class no longer have to be singletons
2025-08-22 06:59:06 +00:00
ElementBot
7c40c87d9a
Sync Strings from Localazy (#5178)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-08-18 11:09:27 +02:00
Benoit Marty
216ba060b4
Merge branch 'develop' into feature/bma/rageshakeConfigStep2 2025-08-11 17:35:06 +02:00
ElementBot
4b12c3f805
Sync Strings (#5146)
* Sync Strings from Localazy

* Remove unused WelcomeView.

* Remove unused WelcomeView.

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-08-11 12:49:29 +00:00
Benoit Marty
1c9304cac5 Add unit test on DefaultRageshakeFeatureAvailability 2025-08-11 11:18:29 +02:00
Benoit Marty
67e27ab125 Add missing test on CrashDetectionPresenter 2025-08-11 11:10:32 +02:00
Benoit Marty
d9b274b6cf Let enterprise build be able to override (or disable) the bug report URL. 2025-08-08 17:23:39 +02:00
Benoit Marty
2a67ad4c67 Only change the log folder on enterprise build 2025-08-07 14:02:07 +02:00
Benoit Marty
2d801a0924 Add tests 2025-08-07 12:38:10 +02:00
Benoit Marty
a8ba4751ed Fix tests 2025-08-07 12:19:26 +02:00
Benoit Marty
2a4fc974ea Ensure that deleteAllFiles will check all the log files. 2025-08-07 11:40:38 +02:00
Benoit Marty
18c325560b Store log files in subfolder based on the homeserver domain. 2025-08-07 11:31:05 +02:00
bmarty
ee77c646eb Sync Strings from Localazy 2025-08-04 00:34:11 +00:00
bmarty
8ffbfd82e8 Sync Strings from Localazy 2025-07-22 20:46:13 +02:00
Benoit Marty
d560e898a3 Fix quality issue. 2025-07-08 12:41:45 +02:00
Benoit Marty
27381bf2e0 Convert BugReporterMultipartBody to Kotlin, and update using latest version of okhttp3.MultipartBody.
Adapt to Element code
2025-07-08 12:30:18 +02:00
Benoit Marty
a234f010a0 Fix compilation issue. 2025-07-08 12:30:16 +02:00
ElementBot
d9ede0544c
Sync Strings from Localazy (#4983)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-07-04 14:37:59 +00:00
bmarty
284241a4ec Sync Strings from Localazy 2025-06-30 00:33:54 +00:00
ElementBot
520c1293b6
Sync Strings from Localazy (#4842)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-06-11 14:13:33 +02:00
renovate[bot]
03b801094b
fix(deps): update coil to v3.2.0 (#4712)
* fix(deps): update coil to v3.2.0

* Fix compilation issue. Need to provide an image for preview.

https://coil-kt.github.io/coil/compose/#previews

* Improve preview for images.

* Update screenshots

* More cleanup

* Update screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <android@element.io>
2025-06-05 09:49:27 +02:00
Benoit Marty
5f191d9f9c
Fix coroutine scope (#4820)
* Inject the session scope instead of the application scope where it's possible.

* Create AppCoroutineScope annotation to let developers explicitly choose the appropriate CoroutineScope when injecting one.
2025-06-04 15:33:51 +00:00
Jorge Martin Espinosa
efdc10e60a
Add catchingExceptions method to replace runCatching (#4797)
- Add `runCatchingExceptions` and `mapCatchingExceptions` to replace `runCatching` and `mapCatching`.
- Make `tryOrNull { ... }` catch only exceptions too.
- Apply the changes to the whole project.
- Add new Rust fakes for tests to handle the code that's now unblocked - previously it just threw an `UnsatisfiedLinkError` which we ignored.
- Add a new `detekt-rules` project with a `RunCatchingRule` to prevent `runCatching` and `mapCatching` usages.
2025-06-04 09:02:26 +02:00
ElementBot
e8f29a38bf
Sync Strings (#4775) 2025-05-30 08:47:39 +00:00
ElementBot
847f8fcbf6
Sync Strings from Localazy (#4648)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-04-28 10:59:35 +02:00
ElementBot
e3a32ba52e
Sync Strings from Localazy (#4612)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-04-22 08:57:00 +02:00
ElementBot
d9bfcc6c52
Sync Strings (#4590)
* Sync Strings from Localazy

* Fix strings usage after some were moved

* Fix Norwegian string that was causing lint to fail

* Update screenshots

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-04-14 11:24:28 +02:00
Benoit Marty
a230b83e99
Remember flows (#4533)
* Add Konsist test to ensure that the result of a function returning a flow is remembered.

* Remember flows before they are collected by state.

* Fix compilation issue

* Make isOnline a val.

* Make selectedUsers() a val.

* Make flow() a val.

* Make getUserConsent(), didAskUserConsent() and getAnalyticsId() some val.

* Remove Timeline.paginationStatus() and replace by direct access to the underlined flow.

* Simplify test

* userConsentFlow must be initialized before because it's used in observeUserConsent

* Fix test compilation
2025-04-04 16:50:43 +02:00
Benoit Marty
3c1deff79c
Element config (#4471)
* 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>
2025-03-27 11:25:04 +01:00
bmarty
9a75f40855 Sync Strings from Localazy 2025-03-10 00:28:38 +00:00
Benoit Marty
b0cd9905ce Remove PreferenceText, replace by ListItem. 2025-03-05 17:25:35 +01:00
Benoit Marty
a70249769d Migrate to coil3 2025-03-03 12:30:26 +01:00
bmarty
46acf414c1 Sync Strings from Localazy 2025-03-03 00:29:16 +00:00
ganfra
25d39c285b feat(join by alias) : add TextFieldValidity.None instead of nullable 2025-02-25 20:27:54 +01:00
ganfra
6f8ca62261 feat(join by alias) : format code 2025-02-25 15:56:14 +01:00
ganfra
786c2adc97 design(text field) : allow setting validity (instead of just isError bool) 2025-02-25 15:45:43 +01:00
bmarty
f549e7bba2 Sync Strings from Localazy 2025-02-17 00:30:17 +00:00
Jorge Martin Espinosa
3c87fb05b2
Create SyncOrchestrator (#4176)
* Create `SyncOrchestrator` to centralise the sync start/stop flow through the whole app: the decision is based on several inputs: sync state, network available, app in foreground, app in call, app needing to sync an event for a notification.

* Make network monitor return network connectivity status, not internet connectivity

* Don't stop the `SyncService` when network connection is lost, let it fail instead. This prevents an issue when using the offline mode of the SDK, which made the wrong UI states to be shown when the `SyncState` is `Idle` (that is, after the service being manually stopped).

* Rename `NetworkStatus.Online/Offline` to `Connected/Disconnected` so they're not easily mistaken with internet connectivity instead
2025-02-06 16:36:57 +01:00
bmarty
be91da966a Sync Strings from Localazy 2025-02-03 00:29:01 +00:00
ganfra
599972adea change(tracing) : update bug reporter tracing form data. 2025-01-17 16:59:31 +01:00
ganfra
7d27e6581b change(tracing) : change how tracing is configured (ui and logic) 2025-01-17 09:52:32 +01:00
Benoit Marty
97f3be3dc5 Apply dual licenses: AGPL + Element Commercial to file headers.
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."
2025-01-07 10:05:04 +01:00
ElementBot
bc59a70043
Sync Strings - add translations to Finnish (#3883)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2024-11-18 11:37:17 +00:00
ganfra
acc6eb736b design : adjust some designs after textfield changes 2024-11-08 16:28:09 +01:00
ganfra
3910c42855 design : TextField2 is now TextField 2024-11-08 15:37:10 +01:00
ganfra
e378b20868 design : removes usage of OutlinedTextField 2024-11-08 15:15:08 +01:00
ganfra
7aa1a338e7 bugfix: do not remove logs after sending them 2024-10-31 11:42:14 +01:00