Richard van der Hoff
563072e7f8
Change the way we store gossip requests in indexeddb ( #2626 )
...
Instead of using three separate object stores, use a single one with some structured objects and indexes.
Fixes #2605 (or at least, should make whatever is going wrong much more obvious).
Consists of a series of commits which should be reviewable on their own.
2023-09-27 11:43:07 +01:00
Richard van der Hoff
e3d9408d0a
matrix-sdk-common: add js console tracing layer (#2620 )
...
Implement a `tracing_subsciber` `Layer` which sends output to the javascript
console.
Obviously, this only works on the wasm32 target.
This is lifted from `matrix-rust-sdk-crypto-wasm`, so that we can use it in
tests etc for other crates.
2023-09-27 11:42:33 +01:00
Jonas Platte
b35d40d111
test: Remove unused sync events from test_json
2023-09-27 10:06:32 +02:00
Jonas Platte
3196ac53b2
test: Remove TimelineTestEvent
2023-09-27 10:06:32 +02:00
Jonas Platte
145c5078f2
test: Remove example from SyncResponseBuilder docs
...
It is only an internal utility, we can copy-paste from other tests.
2023-09-27 10:06:32 +02:00
Jonas Platte
62ecff3e1d
test: Remove outdated documentation
2023-09-27 10:06:32 +02:00
Richard van der Hoff
fcd593b0bf
Improve documentation on xtask ci {wasm,wasm-pack}
2023-09-26 21:30:40 +02:00
Richard van der Hoff
299256fe50
Fix IndexeddbCryptoStore::get_outgoing_secret_requests
...
Fix a bug which caused `get_outgoing_secret_requests` to return no data.
This is exposed as a public function, and when called that way it does *not*
expect the key to be escaped and encrypted.
2023-09-26 17:40:16 +02:00
Jonas Platte
956d5ef7e7
ffi: Update Room::edit to not make unnecessary network requests
2023-09-26 15:29:23 +02:00
Jonas Platte
2e27142336
ui: Add highlevel API for editing
2023-09-26 15:29:23 +02:00
Jonas Platte
9aa1dd725d
test: Use EventBuilder for timeline edit integration test
2023-09-26 15:29:23 +02:00
Jonas Platte
6a69543f64
test: Move timeline edit integration test into new module
2023-09-26 15:29:23 +02:00
Jonas Platte
88194b6828
ui: Remove outdated documentation
2023-09-26 15:29:23 +02:00
Daniel Abramov
a1d67206b6
sdk(widget): temporarily supress dead code warning
2023-09-26 13:19:38 +02:00
Daniel Abramov
d017bab144
sdk(widget): add sans-io client api impl skeleton
2023-09-26 13:19:38 +02:00
Benjamin Bouvier
1180c6aef9
feat: add integration test for fetch_members causing UTDs 🧪
2023-09-26 12:33:41 +02:00
Benjamin Bouvier
43723c88ec
feat: add unit tests 🧪
2023-09-26 12:33:41 +02:00
Benjamin Bouvier
cb14813f84
chore: address review comments
2023-09-26 12:33:41 +02:00
Benjamin Bouvier
e9362f75f2
chore: fix test that was affected by the issue
...
An encryption state request was failing, but before the patch, subsequent
requests would end up in success, while this wasn't the case. The new failure
introduced by this patch was a real one, because the encryption state was
not mocked as part of this test (which tries to send a message to a homeserver).
2023-09-26 12:33:41 +02:00
Benjamin Bouvier
502ecfa636
chore: get rid of the outer pinned box, weeeee
2023-09-26 12:33:41 +02:00
Benjamin Bouvier
928be57666
chore: polish DeduplicatedRequestHandler API
2023-09-26 12:33:41 +02:00
Benjamin Bouvier
f5521e9e1c
feat/fix: also correctly deduplicate preshare_room_key
2023-09-26 12:33:41 +02:00
Benjamin Bouvier
3aa5d12ab7
feat/fix: implement DeduplicatedRequestHandler + use it for encryption_state_request
2023-09-26 12:33:41 +02:00
Benjamin Bouvier
e9d6351471
fix: also check the result of base::Client::receive_members
2023-09-26 12:33:41 +02:00
Benjamin Bouvier
120ac7150c
reformat: no else after return
2023-09-26 12:33:41 +02:00
Benjamin Bouvier
2a235d8ea6
fix: signal that a concurrent request failed to the caller, instead of assuming it succeeded
2023-09-26 12:33:41 +02:00
Benjamin Bouvier
a08327907c
fix: don't cause that any /members request following a failed one result in immediate success
2023-09-26 12:33:41 +02:00
Jonas Platte
a3799190d4
ui: Remove sender information from logs where it's not relevant
2023-09-26 11:26:25 +02:00
Jonas Platte
e8528926be
ui: Move debug-logging code out of main event handler logic
2023-09-26 11:26:25 +02:00
Alfonso Grillo
b248aa9862
ffi: Add push notification support for unstable m.poll.start
2023-09-26 10:38:24 +02:00
Jonas Platte
f47b7f02cc
Use as_variant macro in more cases
2023-09-26 10:14:04 +02:00
Jonas Platte
6e15e34700
Use bool::then where applicable
2023-09-26 10:14:04 +02:00
Jonas Platte
1f08e22d0d
crypto: Separate module declarations and reexports from imports
2023-09-26 10:14:04 +02:00
Jonas Platte
f2c569440e
ui: Remove transaction ID parameter on Timeline methods
...
There is no reason for it to be configurable in the high-level API,
since the timeline manages local echoes automatically.
2023-09-25 16:50:59 +02:00
Jonas Platte
753793c451
ui: Add a test for redacting a TimelineItemContent::MembershipChange
2023-09-25 14:27:50 +02:00
Jonas Platte
c791fd6f1d
ui: Move m.room.message specific content types into new module
...
`content.rs` was approaching 1K lines, which is a lot for a single file.
2023-09-25 14:27:50 +02:00
Jonas Platte
8e2ef9b2d0
ui: Move reaction types out of event_item::content
...
… into their own submodule.
2023-09-25 14:27:50 +02:00
dependabot[bot]
0ae6f740b9
chore(deps): bump aes-gcm from 0.10.2 to 0.10.3
...
Bumps [aes-gcm](https://github.com/RustCrypto/AEADs ) from 0.10.2 to 0.10.3.
- [Commits](https://github.com/RustCrypto/AEADs/compare/aes-gcm-v0.10.2...aes-gcm-v0.10.3 )
---
updated-dependencies:
- dependency-name: aes-gcm
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-09-25 11:38:08 +02:00
Jonas Platte
7213cfe152
ui: Add a test for Timeline::send_reply
2023-09-25 11:26:51 +02:00
Jonas Platte
cb8c71ad68
ffi: Add EventTimelineItem::can_be_replied_to
2023-09-25 11:26:51 +02:00
Jonas Platte
579f59c54b
ffi: Update send_reply to not make unnecessary network requests
...
… and add Room::get_event_timeline_item_by_event_id so send_reply can be
called more easily by EX-iOS given its code structure.
2023-09-25 11:26:51 +02:00
Jonas Platte
7430201f56
ui: Add highlevel API for replying
2023-09-25 11:26:51 +02:00
Jonas Platte
dd7b3ab7d7
ui: Add timeline::error module
2023-09-25 11:26:51 +02:00
Benjamin Bouvier
e8624706d4
logs(sliding sync): don't accumulate room ids when computing limited
2023-09-22 12:05:58 +02:00
Kévin Commaille
d4a800aadc
base: Small test code fix
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-09-22 10:54:09 +02:00
Kévin Commaille
9b732e1895
base: Ensure room name is not empty
...
Ruma used to handle this during deserialization when the field was
an Option.
Especially meaningful when computing the room name, where
an empty string means the name is not set.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-09-22 10:54:09 +02:00
Jonas Platte
ff7aa63c5c
ui: Ignore flaky test
2023-09-21 19:12:01 +02:00
Jonas Platte
454304a20d
Enable eyeball's tracing feature
2023-09-21 19:12:01 +02:00
Marco Romano
bd18c373fe
Workaround uniffi kotlin bug with empty structs
...
Adds a dummy fuield to `UnstableVoiceContent`, otherwise uniffi
will generate an empty Kotlin data class which breaks compilation
(Kotlin data classes must have at least 1 field).
Upstream bug: https://github.com/mozilla/uniffi-rs/issues/1760
2023-09-21 14:28:55 +00:00
Jonas Platte
fd822fc683
testing: Move last event creation code from TestTimeline to EventBuilder
2023-09-21 16:00:11 +02:00