Benjamin Bouvier
9ba09b2ae8
sync: process unread notification count client-side
2023-12-21 11:55:29 +01:00
Benjamin Bouvier
c9b02ad068
doc: document SlidingSyncRoomInner::timeline_queue a bit better
2023-12-21 11:55:29 +01:00
Benjamin Bouvier
07c428ec56
sdk base: add latest_read_receipt_event_id field to RoomInfo
2023-12-21 11:55:29 +01:00
Valere
d4b8f88e10
Fix regenerate_olm_machine losing backup state ( #2961 )
...
* Fix regenerate_olm_machine loosing backup state
* use new helper
* clippy fix
* quick review
2023-12-21 09:43:55 +01:00
Stefan Ceriu
28a58479e7
Bring back original (slower) build style under the sequentially fla… ( #2960 )
...
* Bring back original (slower) build style under the `sequentially` flag to work around new build style hanging on older machines
* Apply suggestions from code review
Signed-off-by: Benjamin Bouvier <public@benj.me >
---------
Signed-off-by: Benjamin Bouvier <public@benj.me >
Co-authored-by: Benjamin Bouvier <public@benj.me >
2023-12-21 08:15:21 +00:00
Benjamin Bouvier
320b868694
style: remove spurious fully-qualified path
2023-12-18 15:47:45 +01:00
Benjamin Bouvier
8615b1283a
sliding sync: don't cause a spurious RoomInfo update
...
The room_info variable in this function contains the latest_event, and later it's set as the Room's room info (`inner.inner`) field.
Calling `set_latest_event` manually here will cause an update of the `RoomInfo` subscriber, while we're not done processing the full
room, and a room info update will happen anyways later (when the entire room is processed), so this one is spurious and will only
show a partial update of the fields.
2023-12-18 15:47:45 +01:00
Benjamin Bouvier
9a4d539428
sliding sync: optimize finding the room member state event
...
- We can look up the session meta only once, it's not useful to do it once per event as it's
loop-invariant.
- We can look at the events backwards and stop after the first room membership event we see
in that order.
2023-12-18 15:47:45 +01:00
Kévin Commaille
4d3fc44425
Put imports behind feature
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-12-18 14:07:01 +01:00
Kévin Commaille
8b878c6591
Fix test
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-12-18 14:05:01 +01:00
Kévin Commaille
738f7f0336
client: Create DM as encrypted by default
...
If `e2e-encryption` feature is enabled.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-12-18 13:04:39 +01:00
Valere
f5fb44bd80
Maybe trigger backup at end of sync ( #2939 )
...
* maybe trigger backup at end of sync
* add test for backup upload
* missing e2e cfg
* add sliding sync tests
* fix borrow
* fix indent
* fix naming from copy/paste
* Remove extracted function
* fix clippy
* style: inline a few variables only used once into their use sites
---------
Co-authored-by: Benjamin Bouvier <public@benj.me >
2023-12-18 10:41:44 +00:00
Doug
e0ba9f5a22
xtask: Use Uniffi Library mode for Kotlin too.
2023-12-18 10:34:38 +01:00
Doug
b5aeea0a3b
xtask: Handle multiple headers/modulemaps.
2023-12-18 10:34:38 +01:00
Ivan Enderlin
19526cea6b
Merge pull request #2928 from zecakeh/qrcode-changes
...
verification: Expose the `QrVerificationState` and the stream for its changes
2023-12-15 12:52:50 +01:00
Ivan Enderlin
99d0b37914
Merge pull request #2951 from matrix-org/andybalaam/clarify-meaning-of-pendingbackup-sessions
...
Clarify the meaning of the sessions field in PendingBackup
2023-12-15 12:45:29 +01:00
Andy Balaam
b21a438b7e
Merge pull request #2934 from matrix-org/andybalaam/mark_sessions_as_backed_up
...
Provide `CryptoStore::mark_inbound_group_sessions_as_backed_up` on stores and use it in `BackupMachine::mark_request_as_sent`
2023-12-15 11:40:50 +00:00
Andy Balaam
f3101baa08
Merge branch 'main' into andybalaam/mark_sessions_as_backed_up
2023-12-15 10:47:36 +00:00
Andy Balaam
0cf99db001
Delete accidentally-copied repeat_vars function
...
Signed-off-by: Andy Balaam <andy.balaam@matrix.org >
2023-12-15 10:47:11 +00:00
Andy Balaam
a032d33d21
Remove comments in favour of a separate PR with type aliases
...
Signed-off-by: Andy Balaam <andy.balaam@matrix.org >
2023-12-15 10:40:36 +00:00
Andy Balaam
92212cc328
Clarify the meaning of the sessions field in PendingBackup
...
Signed-off-by: Andy Balaam <andy.balaam@matrix.org >
2023-12-15 10:38:56 +00:00
Kévin Commaille
6ffb0181e4
Make sure qrcode feature is additive
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-12-15 11:01:03 +01:00
dependabot[bot]
614bf942c0
build(deps): bump zerocopy from 0.7.26 to 0.7.31
...
Bumps [zerocopy](https://github.com/google/zerocopy ) from 0.7.26 to 0.7.31.
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.7.26...v0.7.31 )
---
updated-dependencies:
- dependency-name: zerocopy
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-12-15 10:39:21 +01:00
Andy Balaam
512509ce8b
Switch to using chunk_large_query_over in mark_inbound_group_sessions_as_backed_up
...
Signed-off-by: Andy Balaam <andy.balaam@matrix.org >
2023-12-14 16:56:13 +00:00
Andy Balaam
dfb33c9534
Move chunk_large_query_over into SqliteObjectExt so it can be reused
...
Signed-off-by: Andy Balaam <andy.balaam@matrix.org >
2023-12-14 16:55:36 +00:00
Andy Balaam
03aad4e965
Move repeat_vars into utils so it can be reused
...
Signed-off-by: Andy Balaam <andy.balaam@matrix.org >
2023-12-14 16:34:45 +00:00
Andy Balaam
9e67b6fcb1
Merge branch 'main' into andybalaam/mark_sessions_as_backed_up
2023-12-14 15:25:43 +00:00
Ivan Enderlin
9443f455a4
Test Media caching, and re-implement it inside MemoryStore
...
Test Media caching, and re-implement it inside `MemoryStore`
2023-12-14 15:51:04 +01:00
Ivan Enderlin
384deec1c8
chore(base): Simplify code.
2023-12-14 15:39:24 +01:00
Kévin Commaille
5310f41cda
integration-testing: Add test for QR verification
...
And check room ID in SAS test.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-12-14 15:23:16 +01:00
Ivan Enderlin
95a1db8fc7
Merge pull request #2947 from matrix-org/andybalaam/use-correct-limit-in-chunk_large_query_over
...
Use the limit() method to find the variable limit in chunk_large_query_over
2023-12-14 14:31:40 +01:00
Ivan Enderlin
3d9dffa3b7
chore(base): Remove unused imports.
2023-12-14 14:18:56 +01:00
Andy Balaam
3d7e1d5989
Merge branch 'main' into andybalaam/use-correct-limit-in-chunk_large_query_over
2023-12-14 13:17:06 +00:00
Ivan Enderlin
a46bf76d74
test(base): Improve test_media_content.
...
This patch improves `test_media_content` to ensure that, in case of
multiple medias, only the expected ones are removed. Previously, the
test wasn't testing _other_ medias that should be kept in case of
removals.
This patch continues to improve `test_media_content` to ensure that the
content of the media are the expected ones.
Finally, this patch updates the `MemoryStore` implementation to make
tests happy.
2023-12-14 14:15:01 +01:00
Ivan Enderlin
326935db63
feat(base): Correct implementations for MemoryStore media removal.
...
This patch rewrites `MemoryStore::add_media_content`,
`::get_media_content`, `::remove_media_content` and
`::remove_media_content_for_uri` to (i) work on `mxc://` URI instead
of “unique key”, and (ii) to handle removal correctly thanks to the new
`RingBuffer::remove` method.
2023-12-14 13:54:12 +01:00
Ivan Enderlin
416bc8b0e4
feat(base): Implement Media::uri.
...
This new method returns the `MxcUri` associated to the `Media`.
2023-12-14 13:53:23 +01:00
Ivan Enderlin
edd113a17c
feat(common): Implement RingBuffer::remove.
2023-12-14 13:28:17 +01:00
Ivan Enderlin
66411d7b2e
Merge pull request #2946 from matrix-org/andybalaam/tests-for-repeat_vars
...
Unit tests for the repeat_vars function
2023-12-14 13:10:12 +01:00
Ivan Enderlin
4a53bf1f3d
Merge pull request #2945 from matrix-org/andybalaam/limits-access-for-sqlite
...
Provide a limit() method in sqlite to find limit values
2023-12-14 13:10:02 +01:00
Andy Balaam
a3aa55ce91
Use the limit() method to find the variable limit
...
Signed-off-by: Andy Balaam <andy.balaam@matrix.org >
2023-12-14 11:31:01 +00:00
Andy Balaam
0066ae6614
Unit tests for the repeat_vars function
...
Signed-off-by: Andy Balaam <andy.balaam@matrix.org >
2023-12-14 11:26:43 +00:00
Andy Balaam
17ebc23719
Provide a limit() method in sqlite to find limit values
...
Signed-off-by: Andy Balaam <andy.balaam@matrix.org >
2023-12-14 11:21:25 +00:00
Ivan Enderlin
cdb3449ce2
test(sdk): Test that Media::get_media_content with caching works.
2023-12-14 12:11:24 +01:00
Ivan Enderlin
c5b11fc2f8
feat(sdk): Simplify code from Media::get_media_content.
...
If `use_cache` is true and the cache exists, let's return everything in
one go instead of declaring a `content` variable. It makes the code
easier to read and to understand.
2023-12-14 12:10:08 +01:00
Ivan Enderlin
2ad6acb930
doc(common): Add documentation for RingBuffer::drain.
2023-12-14 12:07:08 +01:00
Ivan Enderlin
dac779f4fc
test(base): Re-implement a super basic media cache for MemoryStore.
...
This is a rather over simplistic media cache implementation for the
`MemoryStore`.
It's based on a `RingBuffer` of size 20.
`remove_media_content` pops all medias until the correct one is met (if
it exists). `remove_media_content_for_uri` removes all medias, it
ignores the URI.
2023-12-14 12:04:58 +01:00
Kévin Commaille
e2ea19ee77
Add rule kind to error messages
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-12-14 11:39:42 +01:00
Kévin Commaille
cc38768bf4
notification settings: Don't error if poll start rules are not found
...
These rules are unstable so they might not be
found in every ruleset.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-12-14 11:39:42 +01:00
Kévin Commaille
c87bd4d4ec
notification settings: Log errors from requests
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-12-14 11:39:42 +01:00
Kévin Commaille
5700c700f0
error: Use NotificationSettingsError::RuleNotFound's rule ID in display impl
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-12-14 11:39:42 +01:00