From 2d0c3b6df6f7e1c2687f39a42fb63cac37b1099a Mon Sep 17 00:00:00 2001 From: Gustavo Henrique Santos Souza de Miranda Date: Sat, 24 Jan 2026 18:58:54 -0300 Subject: [PATCH] fix: reduce auto-save frequency to avoid excessive writes Increase CRDT DB persist debounce from 2s to 30s since it's only needed for crash recovery (CRDT handles real-time sync). Increase LocalStorage draft save debounce from 1s to 5s. Co-Authored-By: Claude Opus 4.5 --- src/app/editor/[projectId]/FlowchartEditor.tsx | 4 ++-- src/lib/collaboration/crdt.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/editor/[projectId]/FlowchartEditor.tsx b/src/app/editor/[projectId]/FlowchartEditor.tsx index 2e20982..8f7cc67 100644 --- a/src/app/editor/[projectId]/FlowchartEditor.tsx +++ b/src/app/editor/[projectId]/FlowchartEditor.tsx @@ -46,8 +46,8 @@ import type { FlowchartData, FlowchartNode, FlowchartEdge, Character, Variable, // LocalStorage key prefix for draft saves const DRAFT_KEY_PREFIX = 'vnwrite-draft-' -// Debounce delay in ms -const AUTOSAVE_DEBOUNCE_MS = 1000 +// Debounce delay for LocalStorage draft saves +const AUTOSAVE_DEBOUNCE_MS = 5000 type ContextMenuState = { x: number diff --git a/src/lib/collaboration/crdt.ts b/src/lib/collaboration/crdt.ts index 7c7fcdb..eedf8d8 100644 --- a/src/lib/collaboration/crdt.ts +++ b/src/lib/collaboration/crdt.ts @@ -2,7 +2,7 @@ import * as Y from 'yjs' import type { RealtimeChannel } from '@supabase/supabase-js' import type { FlowchartNode, FlowchartEdge } from '@/types/flowchart' -const PERSIST_DEBOUNCE_MS = 2000 +const PERSIST_DEBOUNCE_MS = 30_000 // 30s - DB persist is for crash recovery only; CRDT handles real-time sync const BROADCAST_EVENT = 'yjs-update' export type CRDTCallbacks = {