Skip to content

Commit ef11604

Browse files
authored
Chore/upgrade partykit (#445)
* upgrade partykit * change room * delete storage
1 parent d122932 commit ef11604

File tree

5 files changed

+53
-20
lines changed

5 files changed

+53
-20
lines changed

package-lock.json

Lines changed: 19 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/website/docs/.vitepress/theme/components/Examples/BlockNote/ReactBlockNote.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ export function ReactBlockNote(props: { theme: "light" | "dark" }) {
4545
const doc = new Y.Doc();
4646
const provider = new YPartyKitProvider(
4747
"blocknote.yousefed.partykit.dev",
48-
"homepage-1",
48+
// "127.0.0.1:1999", // (dev server)
49+
"homepage-2",
4950
doc
5051
);
5152
return [doc, provider];

packages/website/docs/docs/real-time-collaboration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ When a user edits the document, an incremental change (or "update") is captured
5757
For development purposes, you can use our Partykit server to test collaborative features. Replace the `WebrtcProvider` provider in the example below with a `YPartyKitProvider`:
5858

5959
```typescript
60-
// npm install y-partykit@beta
60+
// npm install y-partykit
6161
import YPartyKitProvider from "y-partykit/provider";
6262

6363
const provider = new YPartyKitProvider(

packages/website/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"@vercel/og": "^0.5.6",
1717
"veaury": "^2.3.12",
1818
"vue-github-button": "^3.1.0",
19-
"y-partykit": "^0.0.0-4d484bc",
19+
"y-partykit": "^0.0.10",
2020
"yjs": "^13.6.1"
2121
},
2222
"devDependencies": {

packages/website/partykitserver.ts

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,32 @@
1-
import type { PartyKitServer } from "partykit/server";
1+
import type * as Party from "partykit/server";
22
import { onConnect } from "y-partykit";
33

4-
// deploy with npx partykit@beta deploy partykitserver.ts --name blocknote
5-
// preview with npx partykit@beta dev partykitserver.ts
6-
export default {
7-
onConnect(ws, room) {
8-
return onConnect(ws, room, { persist: false, gc: true });
9-
},
10-
} satisfies PartyKitServer;
4+
const EXPIRY_PERIOD_MILLISECONDS = 60 * 60 * 1000; // 1 hour
5+
6+
// deploy with npx partykit deploy partykitserver.ts --name blocknote
7+
// preview with npx partykit dev partykitserver.ts
8+
export default class Server implements Party.Server {
9+
constructor(readonly party: Party.Party) {}
10+
11+
onConnect(conn: Party.Connection, ctx: Party.ConnectionContext) {
12+
// A websocket just connected!
13+
14+
return onConnect(conn, this.party, { persist: false, gc: true });
15+
}
16+
17+
async onMessage(message: string) {
18+
// const data = JSON.parse(message);
19+
// do something, and save to storage
20+
// await this.party.storage.put(data.id, data);
21+
// console.log("on message");
22+
await this.party.storage.setAlarm(Date.now() + EXPIRY_PERIOD_MILLISECONDS);
23+
}
24+
25+
async onAlarm() {
26+
// clear all storage in this room
27+
console.log("alarm, delete storage");
28+
await this.party.storage.deleteAll();
29+
}
30+
}
31+
32+
Server satisfies Party.Worker;

0 commit comments

Comments
 (0)