Benoit Marty
0994960b79
Log the fact that the application is using the global proxy.
7 months ago
Benoit Marty
d169388a80
Also log the filter value.
7 months ago
Benoit Marty
ec007a2b21
Provide global proxy to the SDK
7 months ago
Jorge Martín
9198cb19ac
Add `null` proxy parameter to `RustAuthenticationService`
7 months ago
Benoit Marty
9fed868968
Merge try blocks.
7 months ago
Benoit Marty
7d4cf6d574
Create extensions `backupStateFlow()` and `recoveryStateFlow`.
7 months ago
Benoit Marty
a3f7d55a64
Safer code, add some try catch blocks.
...
Filter out system alias before reading the keyStore entry.
use `size` instead of `count()`
Kotlin style.
7 months ago
Benoit Marty
fd555b1070
Move getAdditionalCertificates function to a dedicated class (no change in the implementation).
7 months ago
Benoit Marty
26ea71193f
Use `mxCallbackFlow`
7 months ago
Benoit Marty
0927821219
Force a refresh of the verification status when the recovery state value change.
...
The session can become verified when the user enters their recovery key, and in this case the callback `didFinish` is not invoked.
7 months ago
Benoit Marty
661b9d8653
Keep references on TaskHandle, to avoid it to be garbage collected, and so the listeners are stopped.
7 months ago
Benoit Marty
6ddc2f5814
Make isLastSession "live"
7 months ago
Damir Jelić
73ba371a3e
Add the user certificates as additional certificates to the ClientBuilder
...
Now, this is a story all about how
Certificates work in Android town
And I'd like to take a minute
Enter, close the door
I'll tell you how I've figured out the inner workings of the Keystore
Well it all boils down the fact that Google got scared
It said, "You're certs are movin' to a place you won't find".
So the directory, user certificates are stored, is hard to find, and possibly
not readable by your application[1]. Instead, we need to use the Keystore[2]
API, specifically we'll need to open the `AndroidCAStore` Keystore type.
The various Keystore types are supposedly documented[3], but I'm failing to
find a logical path that would lead you to conclude that:
a) System certificates can or should be accessed using the Keystore,
specifically the AndroidCAStore type
b) User certificates can be found in the same Keystore type as the system
certificates
So this was mostly found using random googling, swearing, and a couple of
educated guesses.
[1]: https://android-developers.googleblog.com/2016/07/changes-to-trusted-certificate.html
[2]: https://developer.android.com/reference/java/security/KeyStore
[3]: https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html#keystore-types
7 months ago
Jorge Martin Espinosa
598bf96208
Do not display empty room list state before the loading one ( #2402 )
...
* Do not display empty room list state before the loading one
7 months ago
ganfra
33664c44ec
RoomListFilters : branch the logic
7 months ago
Jorge Martin Espinosa
e68139bf46
Display banned users in room member list ( #2415 )
...
* Display banned users in room member list
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
7 months ago
ganfra
f171dc94da
rust sdk : fix api changes
7 months ago
Jorge Martin Espinosa
0a6f00e9df
Sort the room member list and display member roles ( #2412 )
...
* Sort the room member list and display member roles
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
7 months ago
ganfra
bdb660f346
RoomList : clean after PR review
7 months ago
ganfra
ebb07de8a4
RoomList : rework how search is done to prepare for later filtering
7 months ago
ganfra
6dc0d8706c
read : use the new apis
7 months ago
Benoit Marty
3ea448e6bb
Fix formatting issue.
7 months ago
Benoit Marty
7831311d14
Fix compilation warning.
7 months ago
ganfra
2c24a48ed7
Rust : map the new filter api, will need more rework when branching the new ui later.
7 months ago
Benoit Marty
5d6716da67
Rendering typing notification #2242
8 months ago
Jorge Martín
e77740f1d2
Remove `FilterHiddenStateEventsProcessor`
...
The same process is already done by the Rust SDK, so it's now redundant.
8 months ago
Benoit Marty
9d461a4917
Add ability mark as unread / mark as read a room.
8 months ago
Benoit Marty
57d9b262d3
Extract session folder name computation from RustMatrixClient
8 months ago
ganfra
f3c1eb6738
Use the new setIsFavorite api
8 months ago
Benoit Marty
8c56f0bd92
Fix API break and change from SDK 0.1.97
8 months ago
ganfra
d9017a098c
Favorite : rework and add tests
8 months ago
Jorge Martín
686d58ee0a
Fix message forwarding after SDK API change
...
Created `Room.fullRoomWithTimeline` helper to always get an initialized timeline with the room object.
8 months ago
Jorge Martín
5c59ecbaa6
Use `MatrixRoom.isEncrypted` value to enable encryption in room calls
8 months ago
ganfra
b15597509d
favorite : branch RoomNotableTags methods
8 months ago
renovate[bot]
4854733b8d
Update dependency org.matrix.rustcomponents:sdk-android to v0.1.96 ( #2323 )
...
* Update dependency org.matrix.rustcomponents:sdk-android to v0.1.96
* Fixes for the SDK upgrade
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
8 months ago
Jorge Martin Espinosa
c2fc6db423
Add missing device id to settings screen ( #2320 )
...
* Add missing device id to settings screen
* Extract footer component
* Restore `@PreviewWithLargeHeight` logic
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
8 months ago
Jorge Martin Espinosa
ede1dc0fab
Fix crash about several DataStores using the same file ( #2312 )
...
* Fix crash about several DataStores using the same file
- Create `@SessionCoroutineScope` annotation to pass a session-managed coroutine scope to the DI.
- Expose this scope from `MatrixClient`.
- Rework DataStore file creation a bit.
- Centralise session preference creation through `DefaultSessionPreferencesStoreFactory` until we figure out what went wrong with the scoping
8 months ago
Benoit Marty
bfb6b32740
Send typing notification #2240
8 months ago
Benoit Marty
0d35e60dac
Disambiguate display name in notifications #2224
8 months ago
Benoit Marty
6ea76d9acd
Map `roomInfo.numUnreadNotifications` to `RoomSummaryDetails.numUnreadNotifications`
8 months ago
Jorge Martin Espinosa
da4825aa44
Return cached room members before fetching new ones, do it in batches ( #2274 )
...
* Use cached users from the Rust SDK.
Also lazy load received users by batches.
* Create `RoomMemberListFetcher` to wrap all the room member loading logic
* Ensure we clear `RoomMember` Rust references if the fetching coroutine is canceled
8 months ago
Benoit Marty
f844399025
Fix API break: use new methods `canUserRedactOwn` and `canUserRedactOther`.
8 months ago
Benoit Marty
dd12071ea2
Use new Rust fields `numUnreadMessages` and `numUnreadMentions`, and iterate on the room badge rendering.
8 months ago
Jorge Martin Espinosa
5d462d5ba9
Remove some state events at the start of DMs ( #2252 )
...
* Remove some initial events for DMs
8 months ago
Benoit Marty
782f73fb7c
Remove `notificationMode` to `userDefinedNotificationMode` to match SDK name.
8 months ago
Benoit Marty
ecb000b8ed
Remove `hasOngoingCall` to `hasRoomCall` to match SDK name.
8 months ago
Benoit Marty
2c691d527b
Remove `RoomSummaryDetails.lastMessageTimestamp` and replace by a getter on `lastMessage`
8 months ago
Benoit Marty
be0da18a7b
Rename `userAvatarURLString` to `userAvatarUrl`
8 months ago
Benoit Marty
d1c7520065
Rename `avatarURLString` to `avatarUrl`
8 months ago
Benoit Marty
ea90b2b833
Remove obsolete comment.
8 months ago