From 811a86eb880a221c7db71b8746665fda1ddc2c38 Mon Sep 17 00:00:00 2001 From: v8vito Date: Tue, 28 Oct 2025 14:56:19 -0400 Subject: [PATCH] Add autosave feature --- src/helpers.ts | 4 ++++ src/persistence/remote-db/index.ts | 2 ++ src/utils/index.ts | 5 +++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/helpers.ts b/src/helpers.ts index dc0e965..fb00ff2 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -5,6 +5,7 @@ import { getReactionGroup } from './reactions/resource'; import { RemoteDb } from './persistence/remote-db'; import { v4 as uuidv4 } from 'uuid'; import { Deserializer } from './persistence/serialization/deserializer'; +import { saveNotesToFile } from './persistence/local-db'; export const saveNoteComment = ( thread: vscode.CommentThread, @@ -32,6 +33,7 @@ export const saveNoteComment = ( thread.contextValue = uuidv4(); noteMap.set(thread.contextValue, thread); } + saveNotesToFile(noteMap); if (remoteDb) { remoteDb.pushNoteComment(thread, firstComment); } @@ -148,6 +150,8 @@ export const syncNoteMapWithRemote = ( remoteDb && remoteDb.pushNoteComment(localThread, true); } }); + + saveNotesToFile(noteMap); }; export const getSetting = (settingName: string, defaultValue?: any) => { diff --git a/src/persistence/remote-db/index.ts b/src/persistence/remote-db/index.ts index ed86c22..c494644 100644 --- a/src/persistence/remote-db/index.ts +++ b/src/persistence/remote-db/index.ts @@ -3,6 +3,7 @@ import * as rethinkdb from 'rethinkdb'; import { Serializer } from '../serialization/serializer'; import { Deserializer } from '../serialization/deserializer'; import { readFileSync } from 'fs'; +import { saveNotesToFile } from '../local-db'; export class RemoteDb { private host: string; @@ -134,6 +135,7 @@ export class RemoteDb { newThread.contextValue ? newThread.contextValue : '', newThread, ); + saveNotesToFile(this.noteMap); vscode.window.showInformationMessage('Note received from remote DB.'); }); }); diff --git a/src/utils/index.ts b/src/utils/index.ts index 5dbfae3..be47990 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -3,7 +3,6 @@ import * as vscode from 'vscode'; import * as path from 'path'; import { platform } from 'os'; -import { getSetting } from '../helpers'; export const isWindows = () => { return platform() === 'win32'; @@ -26,7 +25,9 @@ export const getWorkspacePath = () => { }; export const getLocalDbFilePath = () => { - const localDbFilePath = getSetting('localDatabase'); + const localDbFilePath = vscode.workspace + .getConfiguration('security-notes') + .get('localDatabase', '.security-notes.json'); if (path.isAbsolute(localDbFilePath)) { return localDbFilePath; } else {