@@ -5,14 +5,22 @@ highlighted features.
55
66## v4.3
77
8- This release provides an experimental integration with
9- [ PartyKit] ( https://www.partykit.io/ ) , a cloud-based collaboration platform. It
10- includes two new modules:
8+ We're excited to announce TinyBase 4.3, which provides an integration with
9+ [ PartyKit] ( https://www.partykit.io/ ) , a cloud-based collaboration provider.
10+
11+ This allows you to enjoy the benefits of both a "local-first" architecture and a
12+ "sharing-first" platform. You can have structured data on the client with fast,
13+ reactive user experiences, but also benefit from cloud-based persistence and
14+ room-based collaboration.
15+
16+ ![ PartyKit] ( /partykit.gif ' PartyKit ')
17+
18+ This release includes two new modules:
1119
1220- The persister-partykit-server module provides a server class for coordinating
1321 clients and persisting Store data to the PartyKit cloud.
14- - The persister-partykit-client module provides the Persister API to create
15- connections to the server.
22+ - The persister-partykit-client module provides the API to create
23+ connections to the server and a binding to your Store .
1624
1725A TinyBase server implementation on PartyKit can be as simple as this:
1826
@@ -40,10 +48,26 @@ await persister.startAutoLoad();
4048The load method and (gracefully failing) save method on this Persister use HTTPS
4149to get or set full copies of the Store to the cloud. However, the auto-save and
4250auto-load modes use a websocket to transmit subsequent incremental changes in
43- either direction, making for performant collaboration between clients.
51+ either direction, making for performant sharing of state between clients.
4452
4553See and try out this new collaboration functionality in the Todo App v6
46- (collaboration) demo.
54+ (collaboration) demo. This also emphasizes the few changes that need to be made
55+ to an existing app to make it instantly collaborative.
56+
57+ Also try out the
58+ [ tinybase-ts-react-partykit] ( https://github.com/tinyplex/tinybase-ts-react-partykit )
59+ template that gets you up and running with a PartyKit-enabled TinyBase app
60+ extremely quickly.
61+
62+ PartyKit supports retries for clients that go offline, and so the disconnected
63+ user experience is solid, out of the box. Learn more about configuring this
64+ behavior [ here] ( https://docs.partykit.io/reference/partysocket-api/#options ) .
65+
66+ Note, however, that this release is not yet a full CRDT implementation: there is
67+ no clock synchronization and it is more 'every write wins' than 'last write
68+ wins'. However, since the transmitted updates are at single cell (or value)
69+ granularity, conflicts are minimized. More resilient replication is planned as
70+ this integration matures.
4771
4872## v4.2
4973
0 commit comments