This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.
Releases
@pluv/client@0.20.0
Minor Changes
9492085: BREAKING: @pluv/crdt-yjs and @pluv/crdt-loro have been updated so that the utilities to create shared-types/containers no-longer return a wrapper around the underlying shared-types and containers, but rather return the shared-types/containers directly.
This means that for methods such as getStorage from @pluv/client and useStorage from @pluv/react, the shared-types/containers are also returned instead of the wrapper types.
The motivation for these changes are so that pluv.io is supplementary to yjs and loro-crdt, instead of having these libraries be an internal implementation of pluv.io.
// Before
import { yjs } from "@pluv/crdt-yjs";
yjs.array([]); // Returns CrdtYjsArray
yjs.object([]); // Returns CrdtYjsObject
const room: PluvRoom = /* ... */;
room.getStorage("messages"); // Returns AbstractCrdtType
const [, sharedType] = useStorage("messages"); // sharedType is an AbstractCrdtType
// Now
import { yjs } from "@pluv/crdt-yjs";
yjs.array([]); // Returns yjs.Array
yjs.object([]); // Returns yjs.Map
const room: PluvRoom = /* ... */;
room.getStorage("messages"); // Returns yjs.AbstractType
const [, sharedType] = useStorage("messages"); // sharedType is a yjs.AbstractType
For @pluv/crdt-loro specifically, @pluv/client relies on loro events and subscriptions to detect changes. The AbstractLoroCrdt types previously called Loro.commit after each change as an abstraction, but now this no-longer happens. To ensure that changes to loro containers are properly handled in @pluv/react, make sure to commit your changes whenever possible:
// Before
const [data, container] = useStorage("messages");
// This automatically called Loro.commit under the hood and rerendered the page with updated data.
container.push(loro.object({ name: "John Doe", age: 35 }));
// Now
const [data, container] = useStorage("messages");
const doc = useDoc();
const transact = useTransact();
// Updates need to be committed back to the doc whenever the changes need to be emitted to other users
// The returned data also will not update until the changes are commited
// The two operations below are functionally equivalent
transact(() => {
container.push(loro.object({ name: "John Doe", age: 35 }));
});
container.push(loro.object({ name: "John Doe", age: 35 }));
doc.value.commit();
Patch Changes
Updated dependencies [9492085]
@pluv/crdt@0.20.0
@pluv/types@0.20.0
@pluv/crdt@0.20.0
Minor Changes
9492085: BREAKING: @pluv/crdt-yjs and @pluv/crdt-loro have been updated so that the utilities to create shared-types/containers no-longer return a wrapper around the underlying shared-types and containers, but rather return the shared-types/containers directly.
This means that for methods such as getStorage from @pluv/client and useStorage from @pluv/react, the shared-types/containers are also returned instead of the wrapper types.
The motivation for these changes are so that pluv.io is supplementary to yjs and loro-crdt, instead of having these libraries be an internal implementation of pluv.io.
// Before
import { yjs } from "@pluv/crdt-yjs";
yjs.array([]); // Returns CrdtYjsArray
yjs.object([]); // Returns CrdtYjsObject
const room: PluvRoom = /* ... */;
room.getStorage("messages"); // Returns AbstractCrdtType
const [, sharedType] = useStorage("messages"); // sharedType is an AbstractCrdtType
// Now
import { yjs } from "@pluv/crdt-yjs";
yjs.array([]); // Returns yjs.Array
yjs.object([]); // Returns yjs.Map
const room: PluvRoom = /* ... */;
room.getStorage("messages"); // Returns yjs.AbstractType
const [, sharedType] = useStorage("messages"); // sharedType is a yjs.AbstractType
For @pluv/crdt-loro specifically, @pluv/client relies on loro events and subscriptions to detect changes. The AbstractLoroCrdt types previously called Loro.commit after each change as an abstraction, but now this no-longer happens. To ensure that changes to loro containers are properly handled in @pluv/react, make sure to commit your changes whenever possible:
// Before
const [data, container] = useStorage("messages");
// This automatically called Loro.commit under the hood and rerendered the page with updated data.
container.push(loro.object({ name: "John Doe", age: 35 }));
// Now
const [data, container] = useStorage("messages");
const doc = useDoc();
const transact = useTransact();
// Updates need to be committed back to the doc whenever the changes need to be emitted to other users
// The returned data also will not update until the changes are commited
// The two operations below are functionally equivalent
transact(() => {
container.push(loro.object({ name: "John Doe", age: 35 }));
});
container.push(loro.object({ name: "John Doe", age: 35 }));
doc.value.commit();
Patch Changes
@pluv/types@0.20.0
@pluv/crdt-loro@0.20.0
Minor Changes
9492085: BREAKING: @pluv/crdt-yjs and @pluv/crdt-loro have been updated so that the utilities to create shared-types/containers no-longer return a wrapper around the underlying shared-types and containers, but rather return the shared-types/containers directly.
This means that for methods such as getStorage from @pluv/client and useStorage from @pluv/react, the shared-types/containers are also returned instead of the wrapper types.
The motivation for these changes are so that pluv.io is supplementary to yjs and loro-crdt, instead of having these libraries be an internal implementation of pluv.io.
// Before
import { yjs } from "@pluv/crdt-yjs";
yjs.array([]); // Returns CrdtYjsArray
yjs.object([]); // Returns CrdtYjsObject
const room: PluvRoom = /* ... */;
room.getStorage("messages"); // Returns AbstractCrdtType
const [, sharedType] = useStorage("messages"); // sharedType is an AbstractCrdtType
// Now
import { yjs } from "@pluv/crdt-yjs";
yjs.array([]); // Returns yjs.Array
yjs.object([]); // Returns yjs.Map
const room: PluvRoom = /* ... */;
room.getStorage("messages"); // Returns yjs.AbstractType
const [, sharedType] = useStorage("messages"); // sharedType is a yjs.AbstractType
For @pluv/crdt-loro specifically, @pluv/client relies on loro events and subscriptions to detect changes. The AbstractLoroCrdt types previously called Loro.commit after each change as an abstraction, but now this no-longer happens. To ensure that changes to loro containers are properly handled in @pluv/react, make sure to commit your changes whenever possible:
// Before
const [data, container] = useStorage("messages");
// This automatically called Loro.commit under the hood and rerendered the page with updated data.
container.push(loro.object({ name: "John Doe", age: 35 }));
// Now
const [data, container] = useStorage("messages");
const doc = useDoc();
const transact = useTransact();
// Updates need to be committed back to the doc whenever the changes need to be emitted to other users
// The returned data also will not update until the changes are commited
// The two operations below are functionally equivalent
transact(() => {
container.push(loro.object({ name: "John Doe", age: 35 }));
});
container.push(loro.object({ name: "John Doe", age: 35 }));
doc.value.commit();
Patch Changes
Updated dependencies [9492085]
@pluv/crdt@0.20.0
@pluv/types@0.20.0
@pluv/crdt-yjs@0.20.0
Minor Changes
9492085: BREAKING: @pluv/crdt-yjs and @pluv/crdt-loro have been updated so that the utilities to create shared-types/containers no-longer return a wrapper around the underlying shared-types and containers, but rather return the shared-types/containers directly.
This means that for methods such as getStorage from @pluv/client and useStorage from @pluv/react, the shared-types/containers are also returned instead of the wrapper types.
The motivation for these changes are so that pluv.io is supplementary to yjs and loro-crdt, instead of having these libraries be an internal implementation of pluv.io.
// Before
import { yjs } from "@pluv/crdt-yjs";
yjs.array([]); // Returns CrdtYjsArray
yjs.object([]); // Returns CrdtYjsObject
const room: PluvRoom = /* ... */;
room.getStorage("messages"); // Returns AbstractCrdtType
const [, sharedType] = useStorage("messages"); // sharedType is an AbstractCrdtType
// Now
import { yjs } from "@pluv/crdt-yjs";
yjs.array([]); // Returns yjs.Array
yjs.object([]); // Returns yjs.Map
const room: PluvRoom = /* ... */;
room.getStorage("messages"); // Returns yjs.AbstractType
const [, sharedType] = useStorage("messages"); // sharedType is a yjs.AbstractType
For @pluv/crdt-loro specifically, @pluv/client relies on loro events and subscriptions to detect changes. The AbstractLoroCrdt types previously called Loro.commit after each change as an abstraction, but now this no-longer happens. To ensure that changes to loro containers are properly handled in @pluv/react, make sure to commit your changes whenever possible:
// Before
const [data, container] = useStorage("messages");
// This automatically called Loro.commit under the hood and rerendered the page with updated data.
container.push(loro.object({ name: "John Doe", age: 35 }));
// Now
const [data, container] = useStorage("messages");
const doc = useDoc();
const transact = useTransact();
// Updates need to be committed back to the doc whenever the changes need to be emitted to other users
// The returned data also will not update until the changes are commited
// The two operations below are functionally equivalent
transact(() => {
container.push(loro.object({ name: "John Doe", age: 35 }));
});
container.push(loro.object({ name: "John Doe", age: 35 }));
doc.value.commit();
Patch Changes
Updated dependencies [9492085]
@pluv/crdt@0.20.0
@pluv/types@0.20.0
@pluv/react@0.20.0
Minor Changes
9492085: BREAKING: @pluv/crdt-yjs and @pluv/crdt-loro have been updated so that the utilities to create shared-types/containers no-longer return a wrapper around the underlying shared-types and containers, but rather return the shared-types/containers directly.
This means that for methods such as getStorage from @pluv/client and useStorage from @pluv/react, the shared-types/containers are also returned instead of the wrapper types.
The motivation for these changes are so that pluv.io is supplementary to yjs and loro-crdt, instead of having these libraries be an internal implementation of pluv.io.
// Before
import { yjs } from "@pluv/crdt-yjs";
yjs.array([]); // Returns CrdtYjsArray
yjs.object([]); // Returns CrdtYjsObject
const room: PluvRoom = /* ... */;
room.getStorage("messages"); // Returns AbstractCrdtType
const [, sharedType] = useStorage("messages"); // sharedType is an AbstractCrdtType
// Now
import { yjs } from "@pluv/crdt-yjs";
yjs.array([]); // Returns yjs.Array
yjs.object([]); // Returns yjs.Map
const room: PluvRoom = /* ... */;
room.getStorage("messages"); // Returns yjs.AbstractType
const [, sharedType] = useStorage("messages"); // sharedType is a yjs.AbstractType
For @pluv/crdt-loro specifically, @pluv/client relies on loro events and subscriptions to detect changes. The AbstractLoroCrdt types previously called Loro.commit after each change as an abstraction, but now this no-longer happens. To ensure that changes to loro containers are properly handled in @pluv/react, make sure to commit your changes whenever possible:
// Before
const [data, container] = useStorage("messages");
// This automatically called Loro.commit under the hood and rerendered the page with updated data.
container.push(loro.object({ name: "John Doe", age: 35 }));
// Now
const [data, container] = useStorage("messages");
const doc = useDoc();
const transact = useTransact();
// Updates need to be committed back to the doc whenever the changes need to be emitted to other users
// The returned data also will not update until the changes are commited
// The two operations below are functionally equivalent
transact(() => {
container.push(loro.object({ name: "John Doe", age: 35 }));
});
container.push(loro.object({ name: "John Doe", age: 35 }));
doc.value.commit();
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.
Releases
@pluv/client@0.20.0
Minor Changes
9492085: BREAKING:
@pluv/crdt-yjs
and@pluv/crdt-loro
have been updated so that the utilities to create shared-types/containers no-longer return a wrapper around the underlying shared-types and containers, but rather return the shared-types/containers directly.This means that for methods such as
getStorage
from@pluv/client
anduseStorage
from@pluv/react
, the shared-types/containers are also returned instead of the wrapper types.The motivation for these changes are so that pluv.io is supplementary to
yjs
andloro-crdt
, instead of having these libraries be an internal implementation of pluv.io.For
@pluv/crdt-loro
specifically,@pluv/client
relies on loro events and subscriptions to detect changes. TheAbstractLoroCrdt
types previously calledLoro.commit
after each change as an abstraction, but now this no-longer happens. To ensure that changes to loro containers are properly handled in@pluv/react
, make sure to commit your changes whenever possible:Patch Changes
@pluv/crdt@0.20.0
Minor Changes
9492085: BREAKING:
@pluv/crdt-yjs
and@pluv/crdt-loro
have been updated so that the utilities to create shared-types/containers no-longer return a wrapper around the underlying shared-types and containers, but rather return the shared-types/containers directly.This means that for methods such as
getStorage
from@pluv/client
anduseStorage
from@pluv/react
, the shared-types/containers are also returned instead of the wrapper types.The motivation for these changes are so that pluv.io is supplementary to
yjs
andloro-crdt
, instead of having these libraries be an internal implementation of pluv.io.For
@pluv/crdt-loro
specifically,@pluv/client
relies on loro events and subscriptions to detect changes. TheAbstractLoroCrdt
types previously calledLoro.commit
after each change as an abstraction, but now this no-longer happens. To ensure that changes to loro containers are properly handled in@pluv/react
, make sure to commit your changes whenever possible:Patch Changes
@pluv/crdt-loro@0.20.0
Minor Changes
9492085: BREAKING:
@pluv/crdt-yjs
and@pluv/crdt-loro
have been updated so that the utilities to create shared-types/containers no-longer return a wrapper around the underlying shared-types and containers, but rather return the shared-types/containers directly.This means that for methods such as
getStorage
from@pluv/client
anduseStorage
from@pluv/react
, the shared-types/containers are also returned instead of the wrapper types.The motivation for these changes are so that pluv.io is supplementary to
yjs
andloro-crdt
, instead of having these libraries be an internal implementation of pluv.io.For
@pluv/crdt-loro
specifically,@pluv/client
relies on loro events and subscriptions to detect changes. TheAbstractLoroCrdt
types previously calledLoro.commit
after each change as an abstraction, but now this no-longer happens. To ensure that changes to loro containers are properly handled in@pluv/react
, make sure to commit your changes whenever possible:Patch Changes
@pluv/crdt-yjs@0.20.0
Minor Changes
9492085: BREAKING:
@pluv/crdt-yjs
and@pluv/crdt-loro
have been updated so that the utilities to create shared-types/containers no-longer return a wrapper around the underlying shared-types and containers, but rather return the shared-types/containers directly.This means that for methods such as
getStorage
from@pluv/client
anduseStorage
from@pluv/react
, the shared-types/containers are also returned instead of the wrapper types.The motivation for these changes are so that pluv.io is supplementary to
yjs
andloro-crdt
, instead of having these libraries be an internal implementation of pluv.io.For
@pluv/crdt-loro
specifically,@pluv/client
relies on loro events and subscriptions to detect changes. TheAbstractLoroCrdt
types previously calledLoro.commit
after each change as an abstraction, but now this no-longer happens. To ensure that changes to loro containers are properly handled in@pluv/react
, make sure to commit your changes whenever possible:Patch Changes
@pluv/react@0.20.0
Minor Changes
9492085: BREAKING:
@pluv/crdt-yjs
and@pluv/crdt-loro
have been updated so that the utilities to create shared-types/containers no-longer return a wrapper around the underlying shared-types and containers, but rather return the shared-types/containers directly.This means that for methods such as
getStorage
from@pluv/client
anduseStorage
from@pluv/react
, the shared-types/containers are also returned instead of the wrapper types.The motivation for these changes are so that pluv.io is supplementary to
yjs
andloro-crdt
, instead of having these libraries be an internal implementation of pluv.io.For
@pluv/crdt-loro
specifically,@pluv/client
relies on loro events and subscriptions to detect changes. TheAbstractLoroCrdt
types previously calledLoro.commit
after each change as an abstraction, but now this no-longer happens. To ensure that changes to loro containers are properly handled in@pluv/react
, make sure to commit your changes whenever possible:Patch Changes
@pluv/addon-indexeddb@0.20.0
Patch Changes
@pluv/io@0.20.0
Patch Changes
@pluv/persistance-redis@0.20.0
Patch Changes
@pluv/platform-cloudflare@0.20.0
Patch Changes
@pluv/platform-node@0.20.0
Patch Changes
@pluv/pubsub-redis@0.20.0
Patch Changes
pluv@0.20.0
eslint-config-pluv@0.20.0
@pluv/tsconfig@0.20.0
@pluv/types@0.20.0