Florian Duros
643bd328d7
Add typescript as devDependencies
2023-04-27 17:04:43 +02:00
Florian Duros
2b3d5e09e2
Update changelog
2023-04-27 17:02:53 +02:00
Florian Duros
404d5003f3
unused_fallback_keys is optional in machine.rs
2023-04-27 17:00:28 +02:00
Kévin Commaille
d54b4a1d5a
sdk: Use new_content of edits instead of content
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-27 16:02:40 +02:00
Ivan Enderlin
dbdfe560e1
doc: Fix examples.
2023-04-27 14:39:15 +02:00
Ivan Enderlin
cbfa134087
feat(sdk): Remove hacks for Sliding Sync ranges
...
feat(sdk): Remove hacks for Sliding Sync ranges
2023-04-27 14:35:05 +02:00
Ivan Enderlin
4b51a19564
chore: Clean up tests.
2023-04-27 14:26:51 +02:00
Ivan Enderlin
58bb2dc21e
chore: Fix PR feedbacks.
2023-04-27 14:16:48 +02:00
Ivan Enderlin
3a8b6696f7
test: Install SS proxy v0.99.2.
2023-04-27 14:07:39 +02:00
Ivan Enderlin
5e6720b63c
feat(ffi): SlidingSync::reset_lists returns a SlidingSyncError.
2023-04-27 10:53:16 +02:00
Ivan Enderlin
a719f35a3e
test: Use the latest Sliding Sync proxy version.
2023-04-27 10:21:04 +02:00
Ivan Enderlin
13088dff72
test: Use the latest Sliding Sync proxy version.
2023-04-27 10:02:50 +02:00
Ivan Enderlin
deeefdfe90
Revert "fix(sdk): Try to find a workaround for a bug in the SS Proxy."
...
This reverts commit f269202ece .
2023-04-27 09:03:12 +02:00
Kévin Commaille
6ca6a9a84a
Implement SQLite state store
...
Co-authored-by: Jonas Platte <jplatte@matrix.org >
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-26 17:51:11 +02:00
Kévin Commaille
4bf15a4694
base: Implement Clone for StateChanges
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-26 17:51:11 +02:00
Kévin Commaille
78655bd9e2
base: Allow to get RoomMemberships as a list of MembershipStates
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-26 17:51:11 +02:00
Kévin Commaille
91da155b55
sqlite: Change signatures of SqliteObjectExt methods
...
Allows to pass owned strings as well as static strings
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-26 17:51:11 +02:00
Jonas Platte
40272c5989
refactor: Move sqlite crypto store migrations in new subdirectory
2023-04-26 17:51:11 +02:00
Ivan Enderlin
3b9c98d1b1
Revert "fix(sdk): Try to find workarounds about the bug in SlidingSync Proxy."
...
This reverts commit bd6075f6b4 .
2023-04-26 17:31:47 +02:00
Ivan Enderlin
2032a9fbfb
test(sdk): Fix tests and examples.
2023-04-26 17:11:47 +02:00
Kévin Commaille
1a20733225
indexeddb: Avoid unnecessary clones when deserializing events
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-26 16:17:38 +02:00
Ivan Enderlin
576fac99db
feat(sdk): Update the FFI layer to latest commits.
2023-04-26 16:08:06 +02:00
Ivan Enderlin
4b70407bcd
feat(sdk): SlidingSyncBuilder implements Clone.
2023-04-26 16:05:03 +02:00
Kévin Commaille
bc240951d6
crypto: Enable decoding padded base64
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-26 15:56:03 +02:00
Ivan Enderlin
a7659f1fcb
Build Node bindings against Ubuntu 20.04
...
Build Node bindings against Ubuntu 20.04
2023-04-26 15:12:39 +02:00
Andrew Ferrazzutti
8e0559963e
Restore "Install musl-gcc for linux-musl nodejs releases"
...
This reverts commit cfc6ec2c0d .
2023-04-26 20:25:57 +09:00
Ivan Enderlin
f26b9fb66c
Merge branch 'main' into feat-sdk-sliding-sync-cancellation-token
2023-04-26 12:19:02 +02:00
Ivan Enderlin
5d0b42c42b
test(sdk): Disable SlidingSync integration tests temporarily.
...
Because since SlidingSync no longer restarts, the behaviour is really
different. The current way the tests are written cannot assert the full
behaviour. We need to rewrite this test suite entirely.
2023-04-26 12:08:16 +02:00
Andrew Ferrazzutti
4bbea71d51
Add comment to explain why to use Ubuntu LTS-1
2023-04-26 18:45:18 +09:00
Andrew Ferrazzutti
80de0f0bbe
Build Node bindings against Ubuntu 20.04
...
Fixes #1808
2023-04-26 18:45:16 +09:00
Ivan Enderlin
f17003f00e
chore(sdk): SlidingSync::stream takes a &self.
2023-04-26 11:19:11 +02:00
Ivan Enderlin
bb049489ef
feat(sdk): SlidingSyncList::on_list can return a value.
2023-04-26 11:18:38 +02:00
Kévin Commaille
51a2d101b6
base: Remove RoomMemberships::UNKNOWN/KNOWN
...
The unknown filter can be difficult to match with MembershipState,
depending on the store implementation.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-26 10:12:22 +02:00
Kévin Commaille
f7e8b22646
memory-store: indexeddb: Store memberships as MembershipState
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-26 10:12:22 +02:00
Kévin Commaille
252f4cb9a2
sled: Store memberships as strings
...
Storing as bitset is not future-proof.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-26 10:12:22 +02:00
Kévin Commaille
a511500e6e
indexeddb: Store memberships as strings
...
Storing as bitset is not future-proof.
Just fix the latest migration. We assume no-one used it yet.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-26 10:12:22 +02:00
Kévin Commaille
3081dabb66
base: Add method to match RoomMemberships with MembershipState
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-26 10:12:22 +02:00
Ivan Enderlin
1709089e6d
feat(sdk): SlidingSync sync loop can be controled via internal messages.
...
The MPSC channel that has been introduced in recent commits is now used
in this patch. The `SlidingSync::stream` method can be controlled via
the `internal_channel`.
This patch updates `SlidingSync::stream` to use the `tokio::select!
` macro to select any future that resolves first between the
`internal_channel` receiver, or `SlidingSync::sync_once`. Fairness is
biaised as the `internal_channel` has the priority.
This mechanism is already used by this patch: `SlidingSyncList::reset`
will send the `SlidingSyncInternalMessage::ContinueSyncLoop` to
“continue”… well… the sync loop, i.e. it will cancel in-flight waiting
for a response.
This entire mechanism removes the need to “stop” and “start”, i.e.
“restart” the `SlidingSync::stream` method manually, which was the
source of many bugs. Now everything is controlled internally.
2023-04-26 09:50:11 +02:00
Ivan Enderlin
770d50e2ce
Merge pull request #1822 from AndrewFerr/af/update-nodejs-version
...
Update supported Node.js versions
2023-04-26 08:37:20 +02:00
Kévin Commaille
ae79fd0af5
sdk: Deprecate Common::(active/joined)_members(_no_sync)
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-25 18:03:53 +02:00
Kévin Commaille
b8f06ec4a1
sdk-base: Deprecate Room::(active/joined)_members
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-25 18:03:53 +02:00
Kévin Commaille
fe6424f48c
sdk: Implement Common::(active/joined)_members_no_sync with members_no_sync
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-25 18:03:53 +02:00
Kévin Commaille
2010c180a8
base-sdk: Implement Room::(active/joined)_members with members
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-25 18:03:53 +02:00
Kévin Commaille
e98fbfce9a
sdk: Allow to filter Common::members(_no_sync) by membership state
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-25 18:03:53 +02:00
Kévin Commaille
f68b45aa49
base-sdk:Allow to filter Room::members by membership state
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-25 18:03:53 +02:00
Kévin Commaille
81a543e15b
sdk-base: Deprecate get_invited_user_ids and get_joined_user_ids
...
get_user_ids can be used instead
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-25 18:03:53 +02:00
Kévin Commaille
4ffa20abde
sdk-base: Allow to filter get_user_ids results by any membership state
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-25 18:03:53 +02:00
Kévin Commaille
58a1ad1b93
base: Use single map for all user IDs in memory store
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-04-25 18:03:53 +02:00
Andrew Ferrazzutti
564549e8af
Update Node bindings' "engines"
...
Signed-off-by: Andrew Ferrazzutti <andrewf@element.io >
2023-04-25 23:59:22 +09:00
Andrew Ferrazzutti
46f69f7efd
Update supported Node.js versions
...
Signed-off-by: Andrew Ferrazzutti <andrewf@element.io >
2023-04-25 23:51:53 +09:00