fix(desktop): show notebook not empty delete message
This commit is contained in:
1 parent
08f645686d
commit
effd08fed7
2 files changed
+10
-2
No files matched your search
@@ -1,5 +1,11 @@
|
||||
import { describe, expect, test } from "bun:test";
|
||||
import { notebookDeleteIdsFromPayload, notebooksBlockedByPendingDeletes } from "./notebook-delete.ts";
|
||||
import { isNotebookNotEmptyError, notebookDeleteIdsFromPayload, notebooksBlockedByPendingDeletes } from "./notebook-delete.ts";
|
||||
|
||||
test("recognizes a notebook with notes through Electron's IPC error wrapper", () => {
|
||||
expect(isNotebookNotEmptyError(new Error("notebook_not_empty"))).toBe(true);
|
||||
expect(isNotebookNotEmptyError(new Error("Error invoking remote method 'desktop:sidecar-request': Error: notebook_not_empty"))).toBe(true);
|
||||
expect(isNotebookNotEmptyError(new Error("Error invoking remote method 'desktop:sidecar-request': Error: database is busy"))).toBe(false);
|
||||
});
|
||||
|
||||
describe("notebook delete ids", () => {
|
||||
test("uses the ordered descendant list and falls back to the single id", () => {
|
||||
|
||||
@@ -12,7 +12,9 @@ export const isNotebookNotEmptyError = (error: unknown) => {
|
||||
if (typeof error === "object" && error !== null && "code" in error && (error as { code?: unknown }).code === "notebook_not_empty") {
|
||||
return true;
|
||||
}
|
||||
return error instanceof Error && error.message === "notebook_not_empty";
|
||||
// Electron prefixes errors thrown by the sidecar IPC handler, for example:
|
||||
// Error invoking remote method 'desktop:sidecar-request': Error: notebook_not_empty
|
||||
return error instanceof Error && /(?:^|:\s*)notebook_not_empty$/.test(error.message.trim());
|
||||
};
|
||||
|
||||
export const notebookDeleteIdsFromPayload = (
|
||||
|
||||
Reference in new issue
Block a user