Skip to content

Commit dbd1311

Browse files
devleejbminai621
authored andcommitted
Update yorkie to v0.5.6 (#413)
* Update `yorkie` to `v0.5.6` * Add comment for cleanup codes
1 parent bb3baca commit dbd1311

File tree

5 files changed

+17
-13
lines changed

5 files changed

+17
-13
lines changed

backend/docker/docker-compose-full.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ services:
4545
- "minio:minio"
4646

4747
yorkie:
48-
image: "yorkieteam/yorkie:0.5.5"
48+
image: "yorkieteam/yorkie:0.5.6"
4949
command: ["server", "--enable-pprof"]
5050
restart: always
5151
ports:

backend/docker/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: "3.8"
22

33
services:
44
yorkie:
5-
image: "yorkieteam/yorkie:0.5.5"
5+
image: "yorkieteam/yorkie:0.5.6"
66
command: ["server", "--enable-pprof"]
77
restart: always
88
ports:

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
"refractor": "^4.8.1",
8383
"validator": "^13.12.0",
8484
"vite-plugin-package-version": "^1.1.0",
85-
"yorkie-js-sdk": "0.5.5"
85+
"yorkie-js-sdk": "0.5.6"
8686
},
8787
"devDependencies": {
8888
"@sentry/vite-plugin": "^2.20.1",

frontend/src/hooks/useYorkieDocument.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import Color from "color";
22
import randomColor from "randomcolor";
33
import { useCallback, useEffect, useState } from "react";
44
import { useSelector } from "react-redux";
5-
import { useSearchParams } from "react-router-dom";
5+
import { useBeforeUnload, useSearchParams } from "react-router-dom";
66
import * as yorkie from "yorkie-js-sdk";
77
import { selectAuth } from "../store/authSlice";
88
import { CodePairDocType } from "../store/editorSlice";
@@ -80,8 +80,7 @@ export const useYorkieDocument = (
8080
if (!client || !doc) return;
8181

8282
try {
83-
await client.detach(doc);
84-
await client.deactivate();
83+
await client.deactivate({ keepalive: true });
8584
} catch (error) {
8685
console.error("Error during Yorkie cleanup:", error);
8786
}
@@ -102,8 +101,7 @@ export const useYorkieDocument = (
102101

103102
// Clean up if the component is unmounted before the initialization is done
104103
if (!mounted) {
105-
await newClient.detach(newDoc);
106-
await newClient.deactivate();
104+
await newClient.deactivate({ keepalive: true });
107105
return;
108106
}
109107

@@ -131,11 +129,17 @@ export const useYorkieDocument = (
131129
createYorkieDocument,
132130
]);
133131

132+
// Clean up yorkie document on unmount
133+
// For example, when the user navigates to a different page
134134
useEffect(() => {
135135
return () => {
136136
cleanUpYorkieDocument();
137137
};
138138
}, [cleanUpYorkieDocument]);
139139

140+
// Clean up yorkie document on beforeunload
141+
// For example, when the user closes the tab or refreshes the page
142+
useBeforeUnload(cleanUpYorkieDocument);
143+
140144
return { client, doc };
141145
};

pnpm-lock.yaml

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

0 commit comments

Comments
 (0)