Jorge Martín
72dfd3d1fd
Add FFI bindgings for Room.typing_notice()
2023-12-01 16:19:32 +01:00
Jorge Martín
045d94ab4b
Rename message inside an error, since it clashes with Kotlin's default message property in exceptions
2023-12-01 12:07:40 +01:00
Benjamin Bouvier
d8c02d7e55
timeline builder: tweak comments
2023-12-01 11:05:53 +01:00
Benjamin Bouvier
b20313c492
read receipts: rename ReadReceipts fields
...
The "read_receipts" suffix isn't useful since we're looking at the fields of `ReadReceipts` already.
2023-12-01 11:05:53 +01:00
Benjamin Bouvier
c3ea2c3736
Format with rustfmt nightly.
2023-12-01 11:05:53 +01:00
Benjamin Bouvier
2c1377b2b5
read receipts: a few function renamings and add getter/setter for receipts on events
2023-12-01 11:05:53 +01:00
Benjamin Bouvier
bb85af9279
read receipts: add getter/setter for the latest read receipts cache
2023-12-01 11:05:53 +01:00
Benjamin Bouvier
58ab6704ff
read receipts: a few function renamings
...
Add the prefix `load` to make it clear this may load from the storage.
2023-12-01 11:05:53 +01:00
Benjamin Bouvier
94a64296d1
Show the wrapped error when displaying a SlidingSync::JoinError
2023-11-30 19:52:20 +01:00
Benjamin Bouvier
7d6c16956f
fix: reify reformat of missing_session_devices_by_user
...
`itertools::format` is known to cause issues when its display implementation is being
used multiple times, as it consumes the iterator it was given (and that can only happen once,
unless caching it). This is bad, as our production apps may have multiple subscribers they will
run into a panic.
The fix is to reify the debug string before it's logged, so the tracing consumer will only see
a string, and not the display implementation that would panic on the second use.
2023-11-30 19:52:20 +01:00
Damir Jelić
916bf69e5c
Enable backups and set the backup download strategy for the bindings
2023-11-30 16:51:06 +01:00
Damir Jelić
915c10e1b4
Test for the one-by-one download of room keys
2023-11-30 16:20:51 +01:00
Damir Jelić
5e122c5c5e
Add a background task which downloads room keys from the backup one-by-one
2023-11-30 16:20:51 +01:00
Damir Jelić
49e5461ef7
Add a method to check if we have a room key stored locally
2023-11-30 16:20:51 +01:00
Damir Jelić
27927c676d
Allow the to create a FailuresCache with different values for the max timeout
2023-11-30 16:20:51 +01:00
Damir Jelić
ac5a9e106b
Move the FailuresCache into the common crate
2023-11-30 16:20:51 +01:00
Damir Jelić
94c4e685fc
Test for recovery
2023-11-30 15:12:22 +01:00
Damir Jelić
f248e272e9
Expose the recovery stuff in the bindings
2023-11-30 15:12:22 +01:00
Damir Jelić
97026fc3a6
Recovery support
...
Co-authored-by: Jonas Platte <jplatte@matrix.org >
2023-11-30 15:12:22 +01:00
Richard van der Hoff
1fcd5af526
indexeddb: Update storage for inbound_group_sessions ( #2885 )
...
Currently, querying for inbound group sessions which need backing up is very
inefficient: we have to search through the whole list.
Here, we change the way they are stored so that we can maintain an index of the
ones that need a backup.
Fixes: https://github.com/vector-im/element-web/issues/26488
Fixes: https://github.com/matrix-org/matrix-rust-sdk/issues/2877
---
* indexeddb: Update storage for inbound_group_sessions
Currently, querying for inbound group sessions which need backing up is very
inefficient: we have to search through the whole list.
Here, we change the way they are stored so that we can maintain an index of the
ones that need a backup.
* Rename functions for clarity
* Remove spurious log line
This was a bit verbose
* Rename constants for i_g_s store names
* improve log messages
* add a warning
* Rename `InboundGroupSessionIndexedDbObject.data`
* formatting
2023-11-30 12:01:20 +01:00
Benjamin Bouvier
8b04db666c
Remove room.rs file added by mistake
...
Thanks @jaller94 for noticing and letting me know :)
2023-11-30 10:27:25 +01:00
Timo
1ff2c5bb3e
Add recommended vscode settings in contrib/ide
2023-11-28 13:41:04 +01:00
Jonas Platte
05f0106e06
ui: Improve logging for sync update processing
2023-11-27 18:55:21 +01:00
Jonas Platte
fd0f369f75
ui: Add extra tracing spans for reactions
2023-11-27 18:55:21 +01:00
Jonas Platte
39fc283353
ui: Improve logging for redactions
2023-11-27 18:55:21 +01:00
Jonas Platte
3ebd8afa49
ui: Add more logging for Timeline::retry_send
2023-11-27 18:55:21 +01:00
Jonas Platte
2483ba2cc6
ui: Raise log level for local events
...
Local events don't happen as often, so we can afford a higher log level.
2023-11-27 18:55:21 +01:00
Jonas Platte
2d3a458a08
ui: Improve logging for sending attachments
2023-11-27 18:55:21 +01:00
Jonas Platte
246a128ec3
ui: Add logging for send-event cancellation
2023-11-27 18:55:21 +01:00
Jonas Platte
932f12e76d
ui: Improve logging for timeline resets
2023-11-27 18:55:21 +01:00
Richard van der Hoff
bfe79468c6
Indexeddb: Groundwork for fixing inbound_group_session lookups ( #2884 )
...
A set of non-functional changes which lay some groundwork in preparation for fixing vector-im/element-web#26488 .
2023-11-27 15:59:49 +00:00
Timo
9503eb49c7
ffi: Expose power level overwrites on room creation
2023-11-27 14:38:35 +00:00
Marco Romano
ded854425a
timeline: Add poll history API
...
Allow to retrieve the Poll history of a Room.
The poll history is a Timeline instance that filters only on poll events.
2023-11-27 14:28:40 +00:00
Jonas Platte
959e90252b
ffi: Create separate timeline object, mirroring the Rust API
2023-11-27 11:55:48 +01:00
Jonas Platte
e761ad8f97
ffi: Remove remove_timeline method
...
It was somewhat of a footgun because it affected the cached timeline in
`RoomListItem`s as well and is not used anywhere anymore.
2023-11-27 11:55:48 +01:00
Jonas Platte
ceeb5e78b6
ffi: Move more things into ruma module
2023-11-24 19:25:44 +01:00
Jonas Platte
04c4284b33
ffi: Split timeline into smaller modules
2023-11-24 19:25:44 +01:00
Jonas Platte
bae191b4ed
ffi: Move Ruma wrappers / extension traits to new module
2023-11-24 19:25:44 +01:00
Damir Jelić
ea2e85c5f5
feat: Support for server-side key backups #2666
2023-11-24 18:16:42 +01:00
Damir Jelić
d6401ef278
When disabling backups first delete it from the server
2023-11-24 18:01:05 +01:00
Damir Jelić
9bba437fdd
Simplify the secret inbox handling for backups
2023-11-24 18:01:05 +01:00
Damir Jelić
19e65c05cf
Remove the CheckingIfUploadNeeded UploadState variant
2023-11-24 18:01:05 +01:00
Damir Jelić
369ca7024f
Apply suggestions from code review
...
Co-authored-by: Denis Kasak <dkasak@termina.org.uk >
2023-11-24 18:01:05 +01:00
Damir Jelić
e958b1ce28
Don't run the event handler examples
2023-11-24 18:01:05 +01:00
Damir Jelić
4912cd8a40
Typos please
2023-11-24 18:01:05 +01:00
Damir Jelić
c99b0e8344
Fix some clippy warnings
2023-11-24 18:01:04 +01:00
Damir Jelić
b38f501902
Add an example for the room key backup support
2023-11-24 17:59:00 +01:00
Damir Jelić
f37467f81f
Add tests for backups
2023-11-24 17:59:00 +01:00
Damir Jelić
6239231ba0
Try to resume backups if we restore the client
...
Co-authored-by: Benjamin Bouvier <public@benj.me >
2023-11-24 17:59:00 +01:00
Damir Jelić
aa1623b891
Add a hack so the timeline retries to decrypt if we receive room keys from backup
2023-11-24 17:59:00 +01:00