Skip to content

Commit 074a30a

Browse files
author
Mridul Dhiman
committed
fix: debounce, blur update type on persistence
1 parent f85d040 commit 074a30a

File tree

3 files changed

+16
-11
lines changed

3 files changed

+16
-11
lines changed

src/components/editor/CollaborativeMonacoEditor.jsx

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { snakeCase } from "./MonacoEditor";
1212
import { useSocket } from "@/src/hooks/useSocket";
1313
// import { debounce } from "@/src/lib/utils";
1414

15-
const CollaborativeMonacoEditor = ({ theme, roomId, readOnly = false }) => {
15+
const CollaborativeMonacoEditor = ({ theme, roomId, roomFiles, readOnly = false }) => {
1616
const {
1717
sendMessage,
1818
latestData,
@@ -175,18 +175,21 @@ const CollaborativeMonacoEditor = ({ theme, roomId, readOnly = false }) => {
175175
propagateRoomState({
176176
roomId: roomId,
177177
fileName: activeFile,
178-
code: latestData[activeFile]?.code ?? files[activeFile]?.code
178+
code: node.getValue(),
179+
updateType : "debounce"
179180
});
180181
}, 5000); // save after 5s of inactivity
181182
});
182183

183-
node.onDidBlurEditorText(() => {
184-
propagateRoomState({
185-
roomId: roomId,
186-
fileName: activeFile,
187-
code: latestData[activeFile]?.code ?? files[activeFile]?.code
188-
});
189-
});
184+
// unnecessary doing it twice
185+
// node.onDidBlurEditorText(() => {
186+
// propagateRoomState({
187+
// roomId: roomId,
188+
// fileName: activeFile,
189+
// code: node.getValue(),
190+
// updateType : "blur"
191+
// });
192+
// });
190193
});
191194

192195

src/components/editor/CollaborativeSandpackEditor.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ export default function CollaborativeSandpackEditor({
152152
template={template}
153153
addNewFile={addNewFile}
154154
/>
155-
<CollaborativeMonacoEditor roomId={id} theme={theme} readOnly={userRole?.role === RoomRole.VIEWER} />
155+
<CollaborativeMonacoEditor roomFiles={files} roomId={id} theme={theme} readOnly={userRole?.role === RoomRole.VIEWER} />
156156
<SandpackPreview
157157
showOpenInCodeSandbox={false}
158158
showOpenNewtab={true}

src/context/SocketContext.jsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,18 @@ const SocketProvider = ({ children }) => {
8282
);
8383

8484
const propagateRoomState = useCallback(
85-
({ roomId, fileName, code }) => {
85+
({ roomId, fileName, code, updateType }) => {
8686
console.log("propagateRoomState() is getting called");
8787
console.log("roomId: ", roomId);
8888
console.log("fileName: ", fileName);
8989
console.log("code: ", code);
90+
console.log("updateType: ", updateType);
9091
if(socket) {
9192
socket.emit("event:propagate-room-state", {
9293
roomId: roomId,
9394
fileName: fileName,
9495
code: code,
96+
updateType: updateType,
9597
});
9698
}
9799
},

0 commit comments

Comments
 (0)