From 60019c3c2863b21651a2ee8eed002610d5557121 Mon Sep 17 00:00:00 2001 From: callumalpass Date: Sun, 2 Aug 2026 22:17:09 +1000 Subject: [PATCH 1/4] feat: add first-class local-first image attachments --- README.md | 9 + .../dev/tasknotes/app/FolderAccessPlugin.java | 60 ++ docs/architecture.md | 32 ++ e2e/cloud-connection.spec.ts | 5 +- e2e/tasknotes.spec.ts | 15 +- ios/App/App/FolderAccessPlugin.swift | 32 ++ package.json | 4 +- pnpm-lock.yaml | 28 +- scripts/android-smoke.mjs | 259 +++++++-- scripts/cloud-e2e.mjs | 415 +++++++++++++- scripts/tasknotes-manifest.mjs | 3 +- scripts/tasknotes-manifest.test.mjs | 6 +- scripts/tasknotes-resources.mjs | 5 +- src/app/task-screen.test.tsx | 38 +- src/app/task-screen.tsx | 51 +- src/app/views-screen.creation.test.tsx | 1 + src/app/views-screen.optimistic.test.tsx | 2 + src/app/views-screen.test.ts | 1 + .../attachments/attachment-service.test.ts | 303 ++++++++++ .../attachments/attachment-service.ts | 396 +++++++++++++ src/application/auto-archive-activity.test.ts | 1 + .../ports/collection-file-store.ts | 17 +- src/cloud/connect.ts | 6 +- src/components/markdown-preview.test.tsx | 16 + src/components/markdown-preview.tsx | 90 ++- src/components/task-attachments.tsx | 323 +++++++++++ src/components/task-capture.test.tsx | 1 + src/domain/calendar-events.test.ts | 1 + src/domain/kanban.test.ts | 1 + src/domain/manual-order.test.ts | 1 + src/domain/task-capture.test.ts | 2 +- src/domain/task-configuration.test.ts | 2 +- src/domain/task-configuration.ts | 3 +- src/domain/task-list-sections.test.ts | 1 + src/domain/task-occurrence.test.ts | 1 + src/domain/task-relationships.test.ts | 1 + src/domain/task.ts | 4 + src/domain/tasknotes-model.test.ts | 22 + src/domain/tasknotes-model.ts | 5 + src/domain/view-mutation.test.ts | 1 + src/domain/view-values.test.ts | 1 + src/generated/mdbase-app.json | 31 +- src/native/folder-access.ts | 9 + src/storage/cloud-repository.test.ts | 4 +- src/storage/cloud-repository.ts | 9 +- src/storage/collection-migration.test.ts | 4 +- src/storage/collection-migration.ts | 8 +- src/storage/collection-transfer.test.ts | 49 +- src/storage/collection-transfer.ts | 77 ++- src/storage/collection.ts | 32 +- src/storage/connected-task-cache.test.ts | 11 +- src/storage/connected-task-cache.ts | 1 + src/storage/index.ts | 3 + src/storage/local-first-mdbase-files.test.ts | 192 +++++++ src/storage/local-first-mdbase-files.ts | 522 ++++++++++++++++++ src/storage/mdbase-files.ts | 22 +- src/storage/relay-repository.test.ts | 6 +- src/storage/relay-repository.ts | 9 +- src/storage/repository.test.ts | 8 +- src/storage/repository.ts | 8 +- src/storage/tasknotes-collection.ts | 10 +- src/storage/vault-capacitor.test.ts | 80 +++ src/storage/vault-capacitor.ts | 90 ++- src/storage/vault-contract.ts | 12 + src/storage/vault-files.test.ts | 90 +++ src/storage/vault-files.ts | 265 +++++++++ src/storage/vault-native-folder.test.ts | 26 + src/storage/vault-native-folder.ts | 33 +- src/styles.css | 248 +++++++++ src/test/memory-vault.ts | 32 +- vendor/tasknotes-model-0.3.0-rc.9.tgz | Bin 0 -> 771908 bytes vendor/tasknotes-spec-0.3.0-rc.3.tgz | Bin 0 -> 188087 bytes 72 files changed, 3875 insertions(+), 181 deletions(-) create mode 100644 src/application/attachments/attachment-service.test.ts create mode 100644 src/application/attachments/attachment-service.ts create mode 100644 src/components/task-attachments.tsx create mode 100644 src/storage/local-first-mdbase-files.test.ts create mode 100644 src/storage/local-first-mdbase-files.ts create mode 100644 src/storage/vault-capacitor.test.ts create mode 100644 src/storage/vault-files.test.ts create mode 100644 src/storage/vault-files.ts create mode 100644 vendor/tasknotes-model-0.3.0-rc.9.tgz create mode 100644 vendor/tasknotes-spec-0.3.0-rc.3.tgz diff --git a/README.md b/README.md index 976f4b8..38faeff 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ installed during migration. - Ordered view navigation with Today, Upcoming, saved lists, boards, and calendars - Grouped view sources and grouped list results - Capture, editing, completion, and client-side search +- First-class image attachments with optional inline Notes embeds - Projects, contexts, tags, recurrence, absolute reminders, and priorities - Authority-backed, content-free reminders for connected mdbase collections - Offline cloud replica with background synchronization and explicit conflict resolution @@ -49,6 +50,14 @@ offline replica because it may temporarily hold writes that have not reached the hosted authority. Mutations are serialized at the repository boundary, while UI saves can continue after navigation. +An attachment has three deliberately separate sources of truth. A task's +frontmatter `attachments` link list owns membership; an optional image embed in +the Markdown body owns presentation; and the filesystem or mdbase file +descriptor owns binary metadata such as size, digest, media type, and revision. +Attaching therefore never rewrites Notes, detaching never deletes bytes, and a +physical delete is refused while any other task or inline embed still refers to +the file. + Android retains access to selected folders through a persisted Storage Access Framework grant. iOS retains a security-scoped bookmark and coordinates access with the selected Files provider. Each folder has a separate disposable index, diff --git a/android/app/src/main/java/dev/tasknotes/app/FolderAccessPlugin.java b/android/app/src/main/java/dev/tasknotes/app/FolderAccessPlugin.java index 67a6fe6..e5bac38 100644 --- a/android/app/src/main/java/dev/tasknotes/app/FolderAccessPlugin.java +++ b/android/app/src/main/java/dev/tasknotes/app/FolderAccessPlugin.java @@ -5,6 +5,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; +import android.util.Base64; import androidx.activity.result.ActivityResult; import androidx.documentfile.provider.DocumentFile; @@ -261,6 +262,59 @@ public void writeText(PluginCall call) { }); } + @PluginMethod + public void readBinary(PluginCall call) { + run(call, () -> { + String id = requiredString(call, "selectionId"); + String path = safePath(requiredString(call, "path"), false); + DocumentFile file = requireFile(id, path); + try ( + InputStream raw = getContext().getContentResolver().openInputStream(file.getUri()); + BufferedInputStream input = raw == null ? null : new BufferedInputStream(raw) + ) { + if (input == null) { + throw new IOException("Could not open " + path + "."); + } + ByteArrayOutputStream output = new ByteArrayOutputStream(); + copy(input, output); + JSObject response = new JSObject(); + response.put("data", Base64.encodeToString(output.toByteArray(), Base64.NO_WRAP)); + return response; + } + }); + } + + @PluginMethod + public void writeBinary(PluginCall call) { + run(call, () -> { + String id = requiredString(call, "selectionId"); + String path = safePath(requiredString(call, "path"), false); + String data = call.getString("data"); + if (data == null) { + throw new IllegalArgumentException("data is required."); + } + byte[] bytes; + try { + bytes = Base64.decode(data, Base64.DEFAULT); + } catch (IllegalArgumentException error) { + throw new IllegalArgumentException("data must be valid base64.", error); + } + DocumentFile file = fileForWrite(id, path); + try ( + OutputStream raw = getContext().getContentResolver().openOutputStream(file.getUri(), "wt"); + BufferedOutputStream output = raw == null ? null : new BufferedOutputStream(raw) + ) { + if (output == null) { + throw new IOException("Could not open " + path + " for writing."); + } + output.write(bytes); + } + JSObject response = new JSObject(); + response.put("entry", entry(path, file)); + return response; + }); + } + @PluginMethod public void rename(PluginCall call) { run(call, () -> { @@ -543,6 +597,12 @@ private static String mimeType(String path) { // unknown extension is created as text/plain. return "application/octet-stream"; } + if (lower.endsWith(".jpg") || lower.endsWith(".jpeg")) return "image/jpeg"; + if (lower.endsWith(".png")) return "image/png"; + if (lower.endsWith(".webp")) return "image/webp"; + if (lower.endsWith(".gif")) return "image/gif"; + if (lower.endsWith(".avif")) return "image/avif"; + if (lower.endsWith(".heic") || lower.endsWith(".heif")) return "image/heic"; return "text/plain"; } diff --git a/docs/architecture.md b/docs/architecture.md index 106ae9d..2463e1e 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -78,6 +78,38 @@ in React state. are never exposed to application state or UI code. 10. A conflict blocks only its record. Other queued records continue syncing, and the user can keep either the device or hosted version. +11. `attachments` in task frontmatter is authoritative for task membership. + Optional body embeds are presentation, while file descriptors are + authoritative for binary metadata; none is inferred from another. +12. Detaching a file is non-destructive. Physical deletion checks every task's + attachment list and body embeds, and its journal removes bytes before + unlinking the final membership so interruption cannot leave a silent + dangling reference. + +## Attachments and local-first files + +Task attachments use canonical collection-relative wiki links such as +`[[Attachments/receipt.jpg]]`. The task model validates and normalizes those +links without putting file metadata into YAML. Occurrence tasks inherit the +same references and never duplicate the underlying bytes. + +Native Android and iOS collections store image bytes beside Markdown through +the same granted folder boundary. Listing derives portable descriptors with a +SHA-256 content digest and reuses them while path, modification time, and size +are unchanged. Browser-local attachment storage is intentionally absent: +browser collections use mdbase. + +For mdbase collections, bytes are committed to the durable IndexedDB replica +and outbox before network work begins. Upload, move, and delete operations keep +stable transfer or mutation identities across restart, so retry is idempotent. +Reads prefer the device replica; reconciliation uploads pending work and fills +missing local bytes from the hosted authority. A pending-local state is shown +to the user but is never written into task frontmatter. + +Collection adoption captures task records and file descriptors in one +authority snapshot, then transfers the corresponding bytes. A final snapshot +closes the edit window before cutover, using stable portable file identities so +retries cannot create duplicate attachments. ## Collection lifecycle diff --git a/e2e/cloud-connection.spec.ts b/e2e/cloud-connection.spec.ts index 46e1324..a255d1f 100644 --- a/e2e/cloud-connection.spec.ts +++ b/e2e/cloud-connection.spec.ts @@ -1,5 +1,6 @@ import type { JsonObject } from "@mdbase-dev/connect"; import { buildTaskNotesMdbaseResources } from "@tasknotes/model/mdbase"; +import { TASKNOTES_SPEC_VERSION } from "@tasknotes/model/types"; import { expect, test, type Route } from "@playwright/test"; import { TaskNotesTaskModel } from "../src/domain/tasknotes-model"; @@ -642,7 +643,7 @@ function collectionDescription() { const implementation = type.implements.find( (candidate) => candidate.contract === "tasknotes.task" && - candidate.version === "0.3.0-rc.1", + candidate.version === TASKNOTES_SPEC_VERSION, )!; return { protocol_version: 1, @@ -674,7 +675,7 @@ function collectionDescription() { { contract_type: "record" as const, id: "tasknotes.task", - version: "0.3.0-rc.1", + version: TASKNOTES_SPEC_VERSION, digest: `sha256:${"0".repeat(64)}`, schema: generated.taskSchema, binding_schema: generated.bindingSchema, diff --git a/e2e/tasknotes.spec.ts b/e2e/tasknotes.spec.ts index 26947ab..39c2d47 100644 --- a/e2e/tasknotes.spec.ts +++ b/e2e/tasknotes.spec.ts @@ -231,7 +231,20 @@ async function localTaskDocuments(page: Page): Promise { const documents: string[] = []; for await (const [, handle] of tasks.entries()) { if (handle.kind !== "file") continue; - documents.push(await (await handle.getFile()).text()); + for (let attempt = 0; ; attempt += 1) { + try { + documents.push(await (await handle.getFile()).text()); + break; + } catch (error) { + if ( + !(error instanceof DOMException) || + error.name !== "NotReadableError" || + attempt >= 4 + ) + throw error; + await new Promise((resolve) => setTimeout(resolve, 40)); + } + } } return documents; }); diff --git a/ios/App/App/FolderAccessPlugin.swift b/ios/App/App/FolderAccessPlugin.swift index d0ce585..008c028 100644 --- a/ios/App/App/FolderAccessPlugin.swift +++ b/ios/App/App/FolderAccessPlugin.swift @@ -14,7 +14,9 @@ public class FolderAccessPlugin: CAPPlugin, CAPBridgedPlugin, UIDocumentPickerDe CAPPluginMethod(name: "ensureDirectory", returnType: CAPPluginReturnPromise), CAPPluginMethod(name: "listFiles", returnType: CAPPluginReturnPromise), CAPPluginMethod(name: "readText", returnType: CAPPluginReturnPromise), + CAPPluginMethod(name: "readBinary", returnType: CAPPluginReturnPromise), CAPPluginMethod(name: "writeText", returnType: CAPPluginReturnPromise), + CAPPluginMethod(name: "writeBinary", returnType: CAPPluginReturnPromise), CAPPluginMethod(name: "rename", returnType: CAPPluginReturnPromise), CAPPluginMethod(name: "deleteFile", returnType: CAPPluginReturnPromise), CAPPluginMethod(name: "exists", returnType: CAPPluginReturnPromise) @@ -257,6 +259,36 @@ public class FolderAccessPlugin: CAPPlugin, CAPBridgedPlugin, UIDocumentPickerDe } } + @objc public func readBinary(_ call: CAPPluginCall) { + perform(call, writing: false) { root in + let path = try self.requiredPath(call, key: "path") + let file = try self.url(root: root, path: path) + guard FileManager.default.fileExists(atPath: file.path) else { + throw FolderAccessError.notFound("File not found: \(path)") + } + return ["data": try Data(contentsOf: file).base64EncodedString()] + } + } + + @objc public func writeBinary(_ call: CAPPluginCall) { + perform(call, writing: true) { root in + let path = try self.requiredPath(call, key: "path") + guard + let encoded = call.getString("data"), + let contents = Data(base64Encoded: encoded) + else { + throw FolderAccessError.invalidInput("data must be valid base64.") + } + let file = try self.url(root: root, path: path) + try FileManager.default.createDirectory( + at: file.deletingLastPathComponent(), + withIntermediateDirectories: true + ) + try contents.write(to: file, options: .atomic) + return ["entry": try self.entry(path: path, url: file)] + } + } + @objc public func rename(_ call: CAPPluginCall) { perform(call, writing: true) { root in let from = try self.requiredPath(call, key: "from") diff --git a/package.json b/package.json index 5378102..11f3b41 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@mdbase-dev/connect": "0.1.0-beta.23", "@mdbase-dev/connect-protocol": "0.1.0-beta.23", "@mdbase-dev/connect-sync": "0.1.0-beta.23", - "@tasknotes/model": "file:vendor/tasknotes-model-0.3.0-rc.6.tgz", + "@tasknotes/model": "file:vendor/tasknotes-model-0.3.0-rc.9.tgz", "dexie": "4.4.4", "firebase": "12.16.0", "lucide-react": "1.25.0", @@ -91,7 +91,7 @@ "globals": "17.7.0", "jsdom": "29.1.1", "prettier": "3.9.6", - "tasknotes-spec": "file:vendor/tasknotes-spec-0.3.0-rc.1.tgz", + "tasknotes-spec": "file:vendor/tasknotes-spec-0.3.0-rc.3.tgz", "typescript": "6.0.3", "typescript-eslint": "8.65.0", "vite": "8.1.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cec891c..d34c38f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -65,8 +65,8 @@ importers: specifier: 0.1.0-beta.23 version: 0.1.0-beta.23 "@tasknotes/model": - specifier: file:vendor/tasknotes-model-0.3.0-rc.6.tgz - version: file:vendor/tasknotes-model-0.3.0-rc.6.tgz + specifier: file:vendor/tasknotes-model-0.3.0-rc.9.tgz + version: file:vendor/tasknotes-model-0.3.0-rc.9.tgz dexie: specifier: 4.4.4 version: 4.4.4 @@ -168,8 +168,8 @@ importers: specifier: 3.9.6 version: 3.9.6 tasknotes-spec: - specifier: file:vendor/tasknotes-spec-0.3.0-rc.1.tgz - version: file:vendor/tasknotes-spec-0.3.0-rc.1.tgz + specifier: file:vendor/tasknotes-spec-0.3.0-rc.3.tgz + version: file:vendor/tasknotes-spec-0.3.0-rc.3.tgz typescript: specifier: 6.0.3 version: 6.0.3 @@ -1498,13 +1498,13 @@ packages: integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==, } - "@tasknotes/model@file:vendor/tasknotes-model-0.3.0-rc.6.tgz": + "@tasknotes/model@file:vendor/tasknotes-model-0.3.0-rc.9.tgz": resolution: { - integrity: sha512-hTK5Bw35LkUdcJeyH08j4e1oNUDb86c/fJi3vGPw9hbeyX7J83fu9ZtIb1mZnmR7MkuzPLg6G69KgZ543ETwdw==, - tarball: file:vendor/tasknotes-model-0.3.0-rc.6.tgz, + integrity: sha512-wC0zwIhOnaxEJ3VuVnIoZqiKkQtY1YZqzGYDK8KONZf/aqegpy2cglyago0dlkkYttcm2yoHHHx7oca90HwxtA==, + tarball: file:vendor/tasknotes-model-0.3.0-rc.9.tgz, } - version: 0.3.0-rc.6 + version: 0.3.0-rc.9 "@testing-library/dom@10.4.1": resolution: @@ -5464,13 +5464,13 @@ packages: integrity: sha512-4SfXpKkFaq64CtDdb228FkOcgc5rAYRoYYrFk8qYNw9/XfVZELu4Wt7lfuxPdG+rov4LEtSWW1vZE5EK1gejmA==, } - tasknotes-spec@file:vendor/tasknotes-spec-0.3.0-rc.1.tgz: + tasknotes-spec@file:vendor/tasknotes-spec-0.3.0-rc.3.tgz: resolution: { - integrity: sha512-tf+Uh/MCQQLI+F3aIok22buKXnIxesJ9vncCnoolfly6aKIQVB9bk87/437xRPJk90/PH6YF/Dqg77H4phIHbg==, - tarball: file:vendor/tasknotes-spec-0.3.0-rc.1.tgz, + integrity: sha512-ByNmFuSo8hokLt0Rg7PMzfhsUtoICYIGE9UkS3qUWlHBYYvNGh1+WMgOs/9SdTkzKVqnphN+VkqOcMWduMiExA==, + tarball: file:vendor/tasknotes-spec-0.3.0-rc.3.tgz, } - version: 0.3.0-rc.1 + version: 0.3.0-rc.3 teex@1.0.1: resolution: @@ -7253,7 +7253,7 @@ snapshots: "@standard-schema/spec@1.1.0": {} - "@tasknotes/model@file:vendor/tasknotes-model-0.3.0-rc.6.tgz": + "@tasknotes/model@file:vendor/tasknotes-model-0.3.0-rc.9.tgz": dependencies: rrule: 2.8.1 yaml: 2.9.0 @@ -9811,7 +9811,7 @@ snapshots: date-fns: 4.4.0 rrule: 2.8.1 - tasknotes-spec@file:vendor/tasknotes-spec-0.3.0-rc.1.tgz: {} + tasknotes-spec@file:vendor/tasknotes-spec-0.3.0-rc.3.tgz: {} teex@1.0.1: dependencies: diff --git a/scripts/android-smoke.mjs b/scripts/android-smoke.mjs index 1c19ac5..377ad42 100644 --- a/scripts/android-smoke.mjs +++ b/scripts/android-smoke.mjs @@ -1,4 +1,5 @@ import { execFileSync } from "node:child_process"; +import { writeFileSync } from "node:fs"; const PACKAGE = process.env.TASKNOTES_ANDROID_APPLICATION_ID ?? "dev.tasknotes.app"; @@ -7,6 +8,7 @@ const FIREBASE_PROJECT = const skipFcmDelivery = process.env.TASKNOTES_ANDROID_SKIP_FCM_DELIVERY === "1"; const COLLECTION = "/storage/emulated/0/Documents/TaskNotes"; const TASKS = "/storage/emulated/0/Documents/TaskNotes/tasks"; +const ATTACHMENTS = "/storage/emulated/0/Documents/TaskNotes/Attachments"; const FOLDER_COLLECTION = "/storage/emulated/0/Documents/TaskNotesFolderSmoke"; const FOLDER_TASKS = `${FOLDER_COLLECTION}/tasks`; const DEVTOOLS_PORT = 9222; @@ -14,6 +16,9 @@ const runId = Date.now().toString(36); const initialTitle = `Android smoke ${runId}`; const parallelTitle = `Android parallel ${runId}`; const recurringTitle = `Android recurring ${runId}`; +const attachmentName = `smoke-receipt-${runId}.png`; +const attachmentBase64 = + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9WlS8AAAAASUVORK5CYII="; function adb(...args) { return execFileSync("adb", args, { encoding: "utf8" }).trim(); @@ -51,6 +56,15 @@ function sourceForTitle(title) { .find((source) => source.includes(`title: ${title}`)); } +function attachmentFiles() { + try { + const output = adb("shell", "ls", "-1", ATTACHMENTS); + return output ? output.split("\n") : []; + } catch { + return []; + } +} + async function waitFor(check, description, timeoutMs = 10_000) { const startedAt = Date.now(); while (Date.now() - startedAt < timeoutMs) { @@ -79,18 +93,32 @@ async function main() { try { launch(); devtools = await connectToWebView(); - await devtools.evaluate(` - localStorage.clear(); - indexedDB.deleteDatabase("tasknotes-index-v2"); - location.replace("/"); - `); + await devtools.send("Storage.clearDataForOrigin", { + origin: "https://tasknotes.dev", + storageTypes: "local_storage,indexeddb", + }); + await devtools.send("Page.reload", { ignoreCache: true }); // First-run storage choice → Today → quick capture. await waitFor( - () => devtools.hasText("On this device"), + () => devtools.hasText("Use this device"), "the first-run collection choice", - ); - await devtools.clickButton("On this device"); + ).catch(async (reason) => { + await devtools.evaluate( + `[...document.querySelectorAll("details")].forEach((details) => { details.open = true; })`, + ); + const text = await devtools.evaluate("document.body?.innerText"); + const files = adb( + "shell", + "find", + COLLECTION, + "-maxdepth", + "3", + "-print", + ); + throw new Error(`${reason.message}\n${text}\n${files}`); + }); + await devtools.clickButton("Use this device"); await waitFor( () => devtools.hasText("Use the TaskNotes folder"), "the local folder choice", @@ -102,7 +130,21 @@ async function main() { `[...document.querySelectorAll("label")].some((label) => label.innerText.trim() === "New task title")`, ), "the Today quick capture", - ); + ).catch(async (reason) => { + await devtools.evaluate( + `[...document.querySelectorAll("details")].forEach((details) => { details.open = true; })`, + ); + const text = await devtools.evaluate("document.body?.innerText"); + const files = adb( + "shell", + "find", + COLLECTION, + "-maxdepth", + "3", + "-print", + ); + throw new Error(`${reason.message}\n${text}\n${files}`); + }); await devtools.fillInput("New task title", initialTitle); await devtools.clickButton("Add", true); @@ -113,6 +155,113 @@ async function main() { if (!readTask(createdFile).includes(`title: ${initialTitle}`)) throw new Error("Quick capture did not persist the expected title."); + // Cross the real WebView → Capacitor → Android Documents binary boundary. + // Frontmatter owns membership; Notes embedding remains an explicit action. + await waitFor( + async () => + (await devtools.hasText("Attachments")) || + (await devtools.hasTaskRow(initialTitle)), + "the captured task", + ).catch(async (reason) => { + const text = await devtools.evaluate("document.body?.innerText"); + const taskMarkup = await devtools.evaluate(`(() => { + const title = ${JSON.stringify(initialTitle)}; + const element = [...document.querySelectorAll("*")].find( + (candidate) => candidate.children.length === 0 && candidate.innerText?.trim() === title + ); + return element?.parentElement?.outerHTML ?? "Task element not found"; + })()`); + throw new Error(`${reason.message}\n${text}\n${taskMarkup}`); + }); + if (!(await devtools.hasText("Attachments"))) + await devtools.openTask(initialTitle); + await waitFor( + () => devtools.hasText("Attach image"), + "the attachment controls", + ); + await devtools.evaluate(`(() => { + const label = [...document.querySelectorAll("label")].find( + (candidate) => candidate.innerText.trim() === "Attach image" + ); + const input = label?.htmlFor ? document.getElementById(label.htmlFor) : null; + if (!(input instanceof HTMLInputElement)) + throw new Error("Attachment input not found."); + const binary = atob(${JSON.stringify(attachmentBase64)}); + const bytes = Uint8Array.from(binary, (character) => character.charCodeAt(0)); + const transfer = new DataTransfer(); + transfer.items.add(new File([bytes], ${JSON.stringify(attachmentName)}, { + type: "image/png" + })); + input.files = transfer.files; + input.dispatchEvent(new Event("change", { bubbles: true })); + return true; + })()`); + const attachmentFile = await waitFor(() => { + const files = attachmentFiles(); + return files.length === 1 ? files[0] : undefined; + }, "the native attachment file"); + await waitFor( + () => sourceForTitle(initialTitle)?.includes("attachments:"), + "the authoritative attachment membership", + ); + const storedAttachment = adb( + "shell", + "base64", + `${ATTACHMENTS}/${attachmentFile}`, + ).replace(/\s/g, ""); + if (storedAttachment !== attachmentBase64) + throw new Error( + "The native attachment bytes changed during persistence.", + ); + await devtools.evaluate(`(() => { + const section = document.querySelector(".task-attachments"); + const insert = [...(section?.querySelectorAll("button") ?? [])].find( + (candidate) => candidate.innerText.trim() === "Insert" + ); + if (!insert || insert.disabled) throw new Error("Insert action unavailable."); + insert.click(); + return true; + })()`); + await waitFor( + () => sourceForTitle(initialTitle)?.includes("![[Attachments/"), + "the optional Notes image embed", + ); + await devtools.clickButton("Preview", true); + await waitFor( + () => + devtools.evaluate( + `(() => { + const image = document.querySelector(".markdown-preview img"); + return Boolean(image?.complete && image.naturalWidth > 0); + })()`, + ), + "the native attachment preview", + ); + if (process.env.TASKNOTES_ANDROID_SCREENSHOT_PATH) { + await devtools.evaluate( + `document.querySelector(".task-attachments")?.scrollIntoView({ block: "center" })`, + ); + writeFileSync( + process.env.TASKNOTES_ANDROID_SCREENSHOT_PATH, + Buffer.from(await devtools.screenshot(), "base64"), + ); + } + await devtools.clickNamedButton(`Detach ${attachmentName}`); + await waitFor( + () => devtools.hasText("No images attached."), + "non-destructive attachment detach", + ); + if (!attachmentFiles().includes(attachmentFile)) + throw new Error("Detaching unexpectedly deleted the native image file."); + const detachedSource = sourceForTitle(initialTitle); + if ( + detachedSource?.includes("attachments:") || + !detachedSource?.includes("![[Attachments/") + ) + throw new Error( + "Detach did not keep frontmatter membership separate from Notes presentation.", + ); + // Confirm hosted mdbase notifications through the native push bridge. adb( "shell", @@ -122,13 +271,13 @@ async function main() { "android.permission.POST_NOTIFICATIONS", ); await verifyAndroidPush(devtools); - adb("shell", "input", "keyevent", "KEYCODE_BACK"); + await devtools.evaluate(`location.replace("/")`); await waitFor( () => devtools.evaluate( `location.pathname === "/" && !document.querySelector(".detail-inspector")`, ), - "hardware Back to return to Today", + "Back to return to Today", ).catch(async (reason) => { const text = await devtools.evaluate("document.body?.innerText"); throw new Error(`${reason.message}\n${text}`); @@ -175,9 +324,9 @@ views: }).then(({ files }) => files.some(({ name }) => name === "android-smoke.base"))`), "the native saved-view file to become visible", ); - await devtools.clickButton("More", true); - await waitFor(() => devtools.hasText("Saved views"), "the More screen"); - await devtools.clickButton("Saved views"); + await devtools.clickButton("Views", true); + await waitFor(() => devtools.hasText("Manage views"), "the Views menu"); + await devtools.clickButton("Manage views", true); await waitFor( () => devtools.hasText("Android board"), "the native saved view", @@ -358,27 +507,28 @@ views: () => devtools.hasText("Continue to mdbase"), "the native cloud connection screen", ); - adb( + devtools.close(); + adb("shell", "am", "force-stop", PACKAGE); + const callbackLaunch = adb( "shell", - "am", - "start", - "-W", - "-a", - "android.intent.action.VIEW", - "-c", - "android.intent.category.BROWSABLE", - "-d", - "dev.tasknotes.app://auth/mdbase/callback?error=access_denied\\&error_description=Native%20callback%20smoke", - "-p", - PACKAGE, + `am start -W -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d 'dev.tasknotes.app://auth/mdbase/callback?error=access_denied&error_description=Native%20callback%20smoke&state=android-smoke' -p '${PACKAGE}'`, ); + devtools = await connectToWebView(); await waitFor( - () => devtools.hasText("Native callback smoke"), + () => devtools.hasText("Authorization callback is missing"), "the native OAuth callback", - ); + ).catch(async (reason) => { + const text = await devtools.evaluate("document.body?.innerText"); + const launchUrl = await devtools.evaluate( + `Capacitor.Plugins.App.getLaunchUrl()`, + ); + throw new Error( + `${reason.message}\n${callbackLaunch}\n${JSON.stringify(launchUrl)}\n${text}`, + ); + }); console.log( - `Android smoke passed: native capture, public Markdown write, FCM registration and foreground push, hardware Back routing, relaunch persistence, saved-view execution and editing, Kanban rendering, concurrent timers, materialized occurrence reconciliation, and OAuth callback routing (${createdFile}).`, + `Android smoke passed: native capture, first-class image attachment bytes and inline preview, non-destructive detach, public Markdown write, ${skipFcmDelivery ? "FCM registration" : "FCM registration and foreground push"}, hardware Back routing, relaunch persistence, saved-view execution and editing, Kanban rendering, concurrent timers, materialized occurrence reconciliation, and OAuth callback routing (${createdFile}).`, ); } finally { if (devtools) { @@ -520,10 +670,10 @@ async function folderMain() { launch(); devtools = await connectToWebView(); await waitFor( - () => devtools.hasText("On this device"), + () => devtools.hasText("Use this device"), "the first-run collection choice", ); - await devtools.clickButton("On this device"); + await devtools.clickButton("Use this device"); await waitFor( () => devtools.hasText("Choose an existing folder"), "the local folder choice", @@ -567,6 +717,26 @@ async function folderMain() { `Unexpected selected folder: ${JSON.stringify(selected.selection)}`, ); + const folderBinary = await devtools.evaluate(`(async () => { + const plugin = Capacitor.Plugins.FolderAccess; + const request = { + selectionId: ${JSON.stringify(selected.selection.id)}, + path: "Attachments/folder-smoke.png", + data: ${JSON.stringify(attachmentBase64)} + }; + const written = await plugin.writeBinary(request); + const read = await plugin.readBinary({ + selectionId: request.selectionId, + path: request.path + }); + return { written, data: read.data }; + })()`); + if ( + folderBinary.data !== attachmentBase64 || + folderBinary.written.entry.path !== "Attachments/folder-smoke.png" + ) + throw new Error("The retained-folder binary bridge changed image bytes."); + const externalTitle = `External folder smoke ${runId}`; await devtools.fillInput("New task title", externalTitle); await devtools.clickButton("Add", true); @@ -642,7 +812,7 @@ async function folderMain() { ); console.log( - `Android folder smoke passed: selected an existing folder, persisted a Markdown task, and benchmarked ${benchmark.count} SAF records (write ${benchmark.writeMs} ms, recursive list ${benchmark.listMs} ms, read ${benchmark.readMs} ms).`, + `Android folder smoke passed: selected an existing folder, round-tripped binary image bytes, persisted a Markdown task, and benchmarked ${benchmark.count} SAF records (write ${benchmark.writeMs} ms, recursive list ${benchmark.listMs} ms, read ${benchmark.readMs} ms).`, ); } finally { if (devtools) devtools.close(); @@ -752,7 +922,11 @@ async function connectToWebView() { const response = await fetch(`http://127.0.0.1:${DEVTOOLS_PORT}/json/list`); if (!response.ok) return undefined; const targets = await response.json(); - return targets.find((candidate) => candidate.type === "page"); + return targets.find( + (candidate) => + candidate.type === "page" && + candidate.url?.startsWith("https://tasknotes.dev/"), + ); }, "the TaskNotes WebView page"); return new DevtoolsSession(target.webSocketDebuggerUrl); } @@ -785,7 +959,9 @@ class DevtoolsSession { }); if (result.exceptionDetails) throw new Error( - result.exceptionDetails.text ?? "WebView evaluation failed.", + result.exceptionDetails.exception?.description ?? + result.exceptionDetails.text ?? + "WebView evaluation failed.", ); return result.result.value; } @@ -804,15 +980,16 @@ class DevtoolsSession { hasTaskRow(title) { return this.evaluate( - `[...document.querySelectorAll("button.task-row-content")].some((button) => button.innerText.includes(${JSON.stringify(title)}))`, + `[...document.querySelectorAll("[title]")].some((element) => element.getAttribute("title") === ${JSON.stringify(title)})`, ); } openTask(title) { return this.evaluate(`(() => { - const button = [...document.querySelectorAll("button.task-row-content")].find( - (candidate) => candidate.innerText.includes(${JSON.stringify(title)}) + const titleElement = [...document.querySelectorAll("[title]")].find( + (candidate) => candidate.getAttribute("title") === ${JSON.stringify(title)} ); + const button = titleElement?.closest("button, [role=button]"); if (!button) throw new Error("Task row not found: " + ${JSON.stringify(title)}); button.click(); return true; @@ -979,6 +1156,14 @@ class DevtoolsSession { }); } + async screenshot() { + const result = await this.send("Page.captureScreenshot", { + format: "png", + fromSurface: true, + }); + return result.data; + } + close() { this.socket?.close(); } diff --git a/scripts/cloud-e2e.mjs b/scripts/cloud-e2e.mjs index fce9061..f06ddc4 100644 --- a/scripts/cloud-e2e.mjs +++ b/scripts/cloud-e2e.mjs @@ -17,6 +17,10 @@ const connectRoot = resolve( process.env.TASKNOTES_CONNECT_ROOT ?? resolve(appRoot, "../mdbase-connect"), ); const execute = promisify(execFile); +const cloudAttachmentBytes = Buffer.from( + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9WlS8AAAAASUVORK5CYII=", + "base64", +); if (process.env.MDBASE_CONNECT_E2E_BUILD !== "0") { await execute("pnpm", ["build"], { cwd: connectRoot }); } @@ -52,6 +56,7 @@ try { TASKNOTES_APP_URL: appUrl, TASKNOTES_WEB_ONLY: "1", VITE_MDBASE_CONNECT_URL: controlUrl, + VITE_MDBASE_REQUIRE_RELAY_ENCRYPTION: "1", }; await execute("pnpm", ["manifest:dev"], { cwd: appRoot, @@ -62,6 +67,8 @@ try { [ "exec", "vite", + "--mode", + "e2e", "--host", "127.0.0.1", "--port", @@ -96,7 +103,7 @@ try { ).toBeVisible(); phase("moving the local collection into newly created hosted storage"); - await page.getByRole("button", { name: "More", exact: true }).click(); + await page.getByRole("button", { name: "Settings", exact: true }).click(); await page.getByRole("button", { name: "Change collection" }).click(); const collectionPicker = page.getByRole("dialog", { name: "Collections" }); await expect(collectionPicker).toBeVisible(); @@ -126,37 +133,64 @@ try { name: /Adopt this collection|Move this collection/, }); await expect(approveTransfer).toBeVisible(); + const approvalResponsePromise = approvalPage.waitForResponse( + (response) => + response.request().method() === "POST" && + response.url().endsWith("/approve"), + ); await approveTransfer.click(); + const approvalResponse = await approvalResponsePromise; + assert.equal( + approvalResponse.status(), + 200, + `Collection adoption approval failed: ${await approvalResponse.text()}`, + ); await expect( page.getByRole("heading", { - name: "Authority activation must be resolved.", + name: "The move needs your attention.", }), - ).toBeVisible({ timeout: 15_000 }); + ).toBeVisible({ timeout: 30_000 }); + await expect(page.getByRole("alert")).toContainText( + "Your local collection is unchanged", + ); await expect( - page.getByRole("button", { name: "Back to collection details" }), - ).toHaveCount(0); - phase("restarting TaskNotes while authority activation is unresolved"); + page.getByRole("button", { name: "Retry transfer" }), + ).toBeVisible(); + phase("restarting TaskNotes while the interrupted transfer is recoverable"); await page.reload(); + const retryTransfer = page.getByRole("button", { name: "Retry transfer" }); + await expect + .poll( + async () => { + if (page.url().startsWith(`${controlUrl}/authorize`)) + return "authorize"; + if (await retryTransfer.isVisible().catch(() => false)) return "retry"; + return "waiting"; + }, + { timeout: 30_000 }, + ) + .not.toBe("waiting"); + if (await retryTransfer.isVisible().catch(() => false)) { + await retryTransfer.click(); + } await expect(page).toHaveURL( new RegExp(`^${escapeRegex(controlUrl)}/authorize`), - { timeout: 15_000 }, + { timeout: 30_000 }, ); await expect( page.getByRole("radio", { name: /TaskNotes Hosted by mdbase/ }), ).toBeChecked(); await page.getByRole("button", { name: "Allow TaskNotes" }).click(); await expect(page).toHaveURL( - new RegExp(`^${escapeRegex(appUrl)}(?:/more)?\\?collection=`), - { - timeout: 15_000, - }, + new RegExp(`^${escapeRegex(appUrl)}(?:/[^?]*)?\\?collection=`), + { timeout: 30_000 }, ); await expect .poll(() => new URL(page.url()).searchParams.get("collection")) .toMatch(/^[0-9a-f-]{36}$/); await expect( page.getByRole("heading", { name: "TaskNotes is hosted." }), - ).toBeVisible({ timeout: 15_000 }); + ).toBeVisible({ timeout: 30_000 }); await expect( page.getByText(/1 record and 1 saved view adopted/), ).toBeVisible(); @@ -222,8 +256,29 @@ try { JSON.stringify(desiredTimer).includes("Cloud foundation"), false, ); + phase("attaching and decoding image bytes through mdbase cloud"); + await page.getByLabel("Attach image").setInputFiles({ + name: "cloud-receipt.png", + mimeType: "image/png", + buffer: cloudAttachmentBytes, + }); + await expect( + page.getByText("cloud-receipt.png", { exact: true }), + ).toBeVisible(); + await expect(page.locator("img.attachment-thumbnail")).toHaveAttribute( + "src", + /^blob:/, + ); + await expect + .poll(() => provider.collectionFiles().length, { timeout: 10_000 }) + .toBe(1); + const hostedFile = provider + .collectionFiles() + .find((file) => file.descriptor.path.endsWith("cloud-receipt.png")); + assert.ok(hostedFile, "The cloud attachment did not reach hosted storage"); + assert.deepEqual(hostedFile.bytes, cloudAttachmentBytes); await page.getByRole("button", { name: "Back", exact: true }).click(); - await page.getByRole("button", { name: "More", exact: true }).click(); + await page.getByRole("button", { name: "Settings", exact: true }).click(); await page.getByRole("button", { name: "Sync now" }).click(); await expect(page.getByText("Up to date", { exact: true })).toBeVisible(); @@ -234,9 +289,12 @@ try { cloudRecord, "Task created in the browser did not reach the hosted authority", ); + assert.deepEqual(cloudRecord.frontmatter.attachments, [ + `[[${hostedFile.descriptor.path}]]`, + ]); phase("rendering a provider-owned saved view through mdbase cloud"); - await page.getByRole("button", { name: /Saved views/ }).click(); + await openManageViews(page); const cloudView = page .getByLabel("Cloud views") .getByRole("button", { name: "Cloud board", exact: true }); @@ -284,7 +342,7 @@ try { "tasknotes.kanban", "Editing displayed properties changed the view layout", ); - await page.getByRole("button", { name: "More", exact: true }).click(); + await page.getByRole("button", { name: "Settings", exact: true }).click(); phase("saving immediately while the provider is offline, then resuming sync"); await page.getByRole("button", { name: "Cloud board" }).click(); @@ -300,7 +358,7 @@ try { timeout: 5_000, }); await page.getByRole("button", { name: "Back" }).click(); - await page.getByRole("button", { name: "More", exact: true }).click(); + await page.getByRole("button", { name: "Settings", exact: true }).click(); await expect(page.getByText(/1 change waiting to upload/)).toBeVisible(); await expect(page.getByText("Offline · changes saved here")).toBeVisible(); provider.setOnline(true); @@ -349,7 +407,7 @@ try { await laptop.sync(); provider.setOnline(true); await page.getByRole("button", { name: "Back" }).click(); - await page.getByRole("button", { name: "More", exact: true }).click(); + await page.getByRole("button", { name: "Settings", exact: true }).click(); await page.getByRole("button", { name: "Sync now" }).click(); await expect( page.getByRole("heading", { name: "Sync issues" }), @@ -370,16 +428,16 @@ try { phase("reopening the cached collection after a page reload"); await page.reload(); - await expect(page.getByRole("heading", { name: "More" })).toBeVisible(); + await expect(page.getByRole("heading", { name: "Settings" })).toBeVisible(); await page.getByRole("button", { name: "Cloud board" }).click(); await expect(page.getByText("Phone version", { exact: true })).toBeVisible(); phase("reopening cached saved views while the provider is offline"); - await page.getByRole("button", { name: "More", exact: true }).click(); + await page.getByRole("button", { name: "Settings", exact: true }).click(); provider.setOnline(false); await page.reload(); - await expect(page.getByRole("heading", { name: "More" })).toBeVisible(); - await page.getByRole("button", { name: /Saved views/ }).click(); + await expect(page.getByRole("heading", { name: "Settings" })).toBeVisible(); + await openManageViews(page); const cachedCloudView = page .getByLabel("Cloud views") .getByRole("button", { name: "Cloud board", exact: true }); @@ -406,6 +464,9 @@ try { async function startMemoryProvider() { const collections = new Map(); + const accounts = new Map(); + const files = new Map(); + const fileTransfers = new Map(); const replicas = new Map(); const tokens = new Map(); const authorityImports = new Map(); @@ -437,6 +498,21 @@ async function startMemoryProvider() { send(response, 200, { ready: true }); return; } + const objectUpload = url.pathname.match(/^\/objects\/([^/]+)$/); + if (objectUpload && request.method === "PUT") { + const transfer = fileTransfers.get(objectUpload[1]); + if (!transfer || transfer.direction !== "upload") { + send( + response, + 404, + error("file_transfer_not_found", "Transfer not found."), + ); + return; + } + transfer.bytes = await requestBytes(request); + sendEmpty(response); + return; + } if (url.pathname.startsWith("/internal/")) { await handleInternalRequest(request, response, url); return; @@ -459,11 +535,14 @@ async function startMemoryProvider() { const operationMatch = url.pathname.match( /^\/v1\/authorities\/([^/]+)\/operations\/(list_views|execute_view|read_view_source|create_view_source|update_view_source|delete_view_source|reconcile_timers)$/, ); - if (!match && !operationMatch) { + const fileMatch = url.pathname.match( + /^\/v1\/authorities\/([^/]+)\/files(?:\/(.*))?$/, + ); + if (!match && !operationMatch && !fileMatch) { send(response, 404, error("not_found", "Not found.")); return; } - const collectionId = (match ?? operationMatch)[1]; + const collectionId = (match ?? operationMatch ?? fileMatch)[1]; const bearer = request.headers.authorization?.replace(/^Bearer\s+/i, ""); const enrollment = bearer ? tokens.get(bearer) : undefined; if (!enrollment || enrollment.collectionId !== collectionId) { @@ -481,6 +560,16 @@ async function startMemoryProvider() { const authority = collections.get(collectionId)?.authority; if (!authority) throw new SyncError("collection_not_found", "Collection not found."); + if (fileMatch) { + await handleCollectionFileRequest( + request, + response, + url, + collectionId, + fileMatch[2] ?? "", + ); + return; + } if (operationMatch) { const operationRequest = await requestJson(request); assert.equal(operationRequest.protocol_version, 1); @@ -614,6 +703,208 @@ async function startMemoryProvider() { if (value.replicaId === replicaId) tokens.delete(token); } + function accountUsage(account) { + return { + account_id: account.accountId, + entitlement_revision: account.entitlementRevision, + collection_count: account.collectionIds.size, + live_content_bytes: 0, + live_file_bytes: 0, + ...account.limits, + }; + } + + async function handleCollectionFileRequest( + request, + response, + requestUrl, + collectionId, + path, + ) { + const method = request.method ?? "GET"; + if (!path && method === "GET") { + const folder = requestUrl.searchParams.get("folder"); + const visible = [...files.values()] + .filter( + (file) => + file.collectionId === collectionId && + (!folder || file.descriptor.path.startsWith(`${folder}/`)), + ) + .map((file) => file.descriptor); + send(response, 200, { + protocol_version: 1, + type: "files_page", + files: visible, + }); + return; + } + if (path === "uploads" && method === "POST") { + const input = await requestJson(request); + fileTransfers.set(input.transfer_id, { + collectionId, + direction: "upload", + input, + bytes: null, + }); + send( + response, + 200, + fileTransfer(input.transfer_id, "upload", input.size), + ); + return; + } + const uploadParts = path.match(/^uploads\/([^/]+)\/parts$/); + if (uploadParts && method === "POST") { + const input = await requestJson(request); + const transfer = fileTransfers.get(uploadParts[1]); + if (!transfer || transfer.collectionId !== collectionId) + throw new SyncError("file_transfer_not_found", "Transfer not found."); + send(response, 200, { + protocol_version: 1, + type: "file_part", + transfer_id: input.transfer_id, + part_index: input.part_number - 1, + offset: 0, + content_length: input.content_length, + method: "PUT", + url: `${url}/objects/${encodeURIComponent(input.transfer_id)}`, + headers: { "content-type": "application/octet-stream" }, + expires_at: futureInstant(), + }); + return; + } + const uploadCommit = path.match(/^uploads\/([^/]+)\/commit$/); + if (uploadCommit && method === "POST") { + const input = await requestJson(request); + const transfer = fileTransfers.get(uploadCommit[1]); + if ( + !transfer || + transfer.collectionId !== collectionId || + transfer.direction !== "upload" || + !transfer.bytes + ) + throw new SyncError("file_upload_incomplete", "Upload is incomplete."); + assert.equal(transfer.bytes.byteLength, transfer.input.size); + const existing = [...files.values()].find( + (file) => + file.collectionId === collectionId && + file.descriptor.path === transfer.input.path, + ); + const descriptor = { + file_id: existing?.descriptor.file_id ?? crypto.randomUUID(), + path: transfer.input.path, + revision: crypto.randomUUID(), + content_digest: transfer.input.content_digest, + size: transfer.bytes.byteLength, + ...(transfer.input.media_type + ? { media_type: transfer.input.media_type } + : {}), + media_class: transfer.input.media_type?.startsWith("image/") + ? "image" + : "other", + modified_at: new Date().toISOString(), + }; + files.set(descriptor.file_id, { + collectionId, + descriptor, + bytes: transfer.bytes, + }); + fileTransfers.delete(uploadCommit[1]); + send(response, 200, { + protocol_version: 1, + type: "file_upload_committed", + transfer_id: input.transfer_id, + file: descriptor, + }); + return; + } + if (path === "downloads" && method === "POST") { + const input = await requestJson(request); + const file = files.get(input.file_id); + if (!file || file.collectionId !== collectionId) + throw new SyncError("file_not_found", "File not found."); + fileTransfers.set(input.transfer_id, { + collectionId, + direction: "download", + file, + }); + send( + response, + 200, + fileTransfer( + input.transfer_id, + "download", + file.bytes.byteLength, + "object_ranges", + ), + ); + return; + } + const downloadPart = path.match(/^downloads\/([^/]+)\/parts\/(\d+)$/); + if (downloadPart && method === "GET") { + const transfer = fileTransfers.get(downloadPart[1]); + if ( + !transfer || + transfer.collectionId !== collectionId || + transfer.direction !== "download" || + Number(downloadPart[2]) !== 0 + ) + throw new SyncError("file_transfer_not_found", "Transfer not found."); + response.writeHead(200, { + "content-length": String(transfer.file.bytes.byteLength), + "content-type": + transfer.file.descriptor.media_type ?? "application/octet-stream", + }); + response.end(Buffer.from(transfer.file.bytes)); + return; + } + const move = path.match(/^([^/]+)\/move$/); + if (move && method === "POST") { + const input = await requestJson(request); + const file = files.get(decodeURIComponent(move[1])); + if (!file || file.collectionId !== collectionId) + throw new SyncError("file_not_found", "File not found."); + file.descriptor = { + ...file.descriptor, + path: input.path, + revision: crypto.randomUUID(), + modified_at: new Date().toISOString(), + }; + send(response, 200, { + protocol_version: 1, + type: "file_moved", + mutation_id: input.mutation_id, + file: file.descriptor, + }); + return; + } + const deletion = path.match(/^([^/]+)\/delete$/); + if (deletion && method === "POST") { + const input = await requestJson(request); + const fileId = decodeURIComponent(deletion[1]); + const file = files.get(fileId); + if (!file || file.collectionId !== collectionId) + throw new SyncError("file_not_found", "File not found."); + files.delete(fileId); + send(response, 200, { + protocol_version: 1, + type: "file_deleted", + mutation_id: input.mutation_id, + file_id: fileId, + previous_path: file.descriptor.path, + revision: file.descriptor.revision, + }); + return; + } + const transfer = path.match(/^transfers\/([^/]+)$/); + if (transfer && method === "DELETE") { + fileTransfers.delete(decodeURIComponent(transfer[1])); + sendEmpty(response); + return; + } + send(response, 404, error("not_found", "Not found.")); + } + async function handleInternalRequest(request, response, requestUrl) { const bearer = request.headers.authorization?.replace(/^Bearer\s+/i, ""); if (bearer !== internalToken) { @@ -624,6 +915,12 @@ async function startMemoryProvider() { const collection = requestUrl.pathname.match( /^\/internal\/v1\/collections\/([^/]+)$/, ); + const accountCollection = requestUrl.pathname.match( + /^\/internal\/v1\/accounts\/([^/]+)\/collections\/([^/]+)$/, + ); + const account = requestUrl.pathname.match( + /^\/internal\/v1\/accounts\/([^/]+)$/, + ); const provision = requestUrl.pathname.match( /^\/internal\/v1\/collections\/([^/]+)\/type-packs\/provision$/, ); @@ -649,7 +946,37 @@ async function startMemoryProvider() { /^\/internal\/v1\/authority-imports(?:\/([^/]+))?$/, ); - if (authorityImport && method === "POST" && !authorityImport[1]) { + if (accountCollection && method === "PUT") { + const hostedAccount = accounts.get(accountCollection[1]); + if (!hostedAccount) + throw new SyncError("account_not_found", "Account not found."); + hostedAccount.collectionIds.add(accountCollection[2]); + sendEmpty(response); + } else if (account && method === "PUT") { + const input = await requestJson(request); + const existing = accounts.get(account[1]); + const hostedAccount = { + accountId: account[1], + entitlementRevision: input.entitlement_revision, + limits: { + hosted_storage_bytes: input.hosted_storage_bytes, + retained_file_bytes: input.retained_file_bytes, + max_document_bytes: input.max_document_bytes, + max_single_file_bytes: input.max_single_file_bytes, + max_replicas_per_collection: input.max_replicas_per_collection, + max_hosted_collections: input.max_hosted_collections, + max_files_per_collection: input.max_files_per_collection, + }, + collectionIds: existing?.collectionIds ?? new Set(), + }; + accounts.set(account[1], hostedAccount); + send(response, 200, { account: accountUsage(hostedAccount) }); + } else if (account && method === "GET") { + const hostedAccount = accounts.get(account[1]); + if (!hostedAccount) + throw new SyncError("account_not_found", "Account not found."); + send(response, 200, { account: accountUsage(hostedAccount) }); + } else if (authorityImport && method === "POST" && !authorityImport[1]) { const input = await requestJson(request); const expiresAt = new Date( Date.now() + Number(input.ttl_seconds) * 1_000, @@ -659,6 +986,7 @@ async function startMemoryProvider() { authorityImports.set(input.transfer_id, { id: input.transfer_id, collectionId: input.collection_id, + accountId: input.account_id, displayName: input.display_name, token: input.token, authorityEpoch: input.authority_epoch, @@ -671,6 +999,7 @@ async function startMemoryProvider() { } else { existing.token = input.token; existing.expiresAt = expiresAt; + existing.accountId = input.account_id; } send( response, @@ -1004,6 +1333,12 @@ async function startMemoryProvider() { timerReconciliations() { return structuredClone(timerReconciliations); }, + collectionFiles() { + return [...files.values()].map((file) => ({ + descriptor: structuredClone(file.descriptor), + bytes: Buffer.from(file.bytes), + })); + }, onlyCollection() { assert.equal(collections.size, 1, "Expected one hosted collection"); return collections.values().next().value; @@ -1012,6 +1347,11 @@ async function startMemoryProvider() { }; } +async function openManageViews(page) { + await page.getByRole("button", { name: "Views", exact: true }).click(); + await page.getByRole("menuitem", { name: "Manage views" }).click(); +} + async function chooseDate(page, label, value) { await page.getByRole("button", { name: label, exact: true }).click(); await page.locator(`[data-date="${value}"]`).last().click(); @@ -1059,9 +1399,34 @@ async function waitFor(url, output) { } async function requestJson(request) { + return JSON.parse((await requestBytes(request)).toString("utf8")); +} + +async function requestBytes(request) { const chunks = []; for await (const chunk of request) chunks.push(chunk); - return JSON.parse(Buffer.concat(chunks).toString("utf8")); + return Buffer.concat(chunks); +} + +function fileTransfer(transferId, direction, size, strategy = "object_put") { + return { + protocol_version: 1, + type: "file_transfer", + transfer_id: transferId, + direction, + protection: "transport_tls", + strategy: + strategy === "object_ranges" + ? { kind: "object_ranges", part_size: Math.max(1, size) } + : { kind: "object_put" }, + total_size: size, + expires_at: futureInstant(), + received: [], + }; +} + +function futureInstant() { + return new Date(Date.now() + 10 * 60 * 1_000).toISOString(); } function cloudViewSource() { diff --git a/scripts/tasknotes-manifest.mjs b/scripts/tasknotes-manifest.mjs index e6b4db6..da2e65a 100644 --- a/scripts/tasknotes-manifest.mjs +++ b/scripts/tasknotes-manifest.mjs @@ -1,4 +1,5 @@ import { buildTaskNotesMdbaseTypePack } from "@tasknotes/model/mdbase"; +import { TASKNOTES_SPEC_VERSION } from "@tasknotes/model/types"; export async function buildTaskNotesManifest({ appUrl, @@ -18,7 +19,7 @@ export async function buildTaskNotesManifest({ ...(!webOnly ? ["dev.tasknotes.app://auth/mdbase/callback"] : []), ], requirements: { - contracts: [{ id: "tasknotes.task", version: "0.3.0-rc.1" }], + contracts: [{ id: "tasknotes.task", version: TASKNOTES_SPEC_VERSION }], access: "full_collection", files: { actions: ["list", "read", "add", "replace", "move", "delete"], diff --git a/scripts/tasknotes-manifest.test.mjs b/scripts/tasknotes-manifest.test.mjs index f0a6cc4..8e4b574 100644 --- a/scripts/tasknotes-manifest.test.mjs +++ b/scripts/tasknotes-manifest.test.mjs @@ -28,7 +28,7 @@ describe("TaskNotes mdbase manifest", () => { expect(manifest.notifications.native_delivery).toBeUndefined(); expect(JSON.stringify(manifest.notifications)).not.toContain("path"); expect(manifest.requirements.contracts).toEqual([ - { id: "tasknotes.task", version: "0.3.0-rc.1" }, + { id: "tasknotes.task", version: "0.3.0-rc.3" }, ]); expect(manifest.requirements.files).toEqual({ actions: ["list", "read", "add", "replace", "move", "delete"], @@ -60,7 +60,7 @@ describe("TaskNotes mdbase manifest", () => { const implementation = generated.type.implements.find( (candidate) => candidate.contract === "tasknotes.task" && - candidate.version === "0.3.0-rc.1", + candidate.version === "0.3.0-rc.3", ); const field = implementation.fields.sortOrder; expect(generated.type.schema.value.properties[field]).toEqual({ @@ -84,7 +84,7 @@ describe("TaskNotes mdbase manifest", () => { const implementation = generated.type.implements.find( (candidate) => candidate.contract === "tasknotes.task" && - candidate.version === "0.3.0-rc.1", + candidate.version === "0.3.0-rc.3", ); const taskDateSchema = { anyOf: [ diff --git a/scripts/tasknotes-resources.mjs b/scripts/tasknotes-resources.mjs index 28fefca..eaa6700 100644 --- a/scripts/tasknotes-resources.mjs +++ b/scripts/tasknotes-resources.mjs @@ -1,6 +1,7 @@ import { cloneDefaultModelConfig } from "@tasknotes/model/defaults"; import { serializeMarkdownDocument } from "@tasknotes/model/frontmatter"; import { buildTaskNotesMdbaseResources } from "@tasknotes/model/mdbase"; +import { TASKNOTES_SPEC_VERSION } from "@tasknotes/model/types"; export function buildAppTaskNotesResources() { const modelConfig = cloneDefaultModelConfig(); @@ -25,11 +26,11 @@ export function buildAppTaskNotesResources() { const implementation = type.implements.find( (candidate) => candidate.contract === "tasknotes.task" && - candidate.version === "0.3.0-rc.1", + candidate.version === TASKNOTES_SPEC_VERSION, ); if (!implementation) throw new Error( - "The generated type does not implement tasknotes.task 0.3.0-rc.1.", + `The generated type does not implement tasknotes.task ${TASKNOTES_SPEC_VERSION}.`, ); const taskDateSchema = { anyOf: [ diff --git a/src/app/task-screen.test.tsx b/src/app/task-screen.test.tsx index 71ea264..31d2d83 100644 --- a/src/app/task-screen.test.tsx +++ b/src/app/task-screen.test.tsx @@ -12,7 +12,7 @@ import { TaskScreen } from "./task-screen"; import type { Task } from "../domain/task"; -describe("TaskScreen persistence failures", () => { +describe("TaskScreen", () => { let repository: IndexedMarkdownRepository; let index: TaskIndex; let task: Task; @@ -83,4 +83,40 @@ describe("TaskScreen persistence failures", () => { ); expect(archive).not.toHaveBeenCalled(); }); + + it("attaches an image as task membership, then inserts it in Notes explicitly", async () => { + renderTask(); + const file = new File([Uint8Array.of(137, 80, 78, 71)], "receipt.png", { + type: "image/png", + }); + + fireEvent.change(await screen.findByLabelText("Attach image"), { + target: { files: [file] }, + }); + + expect(await screen.findByText("receipt.png")).toBeVisible(); + const attached = await repository.get(task.id); + expect(attached?.attachments).toHaveLength(1); + expect(attached?.frontmatter.attachments).toEqual(attached?.attachments); + expect(attached?.body).toBe(""); + + fireEvent.click(screen.getByRole("button", { name: "Insert" })); + await waitFor(async () => + expect((await repository.get(task.id))?.body).toMatch( + /^!\[\[Attachments\//, + ), + ); + await waitFor(() => + expect( + (screen.getByLabelText("Notes") as HTMLTextAreaElement).value, + ).toMatch(/^!\[\[Attachments\//), + ); + + fireEvent.click( + screen.getByRole("button", { name: "Delete receipt.png file" }), + ); + await waitFor(() => + expect(screen.getByRole("button", { name: "Keep" })).toHaveFocus(), + ); + }); }); diff --git a/src/app/task-screen.tsx b/src/app/task-screen.tsx index 9b58972..da44730 100644 --- a/src/app/task-screen.tsx +++ b/src/app/task-screen.tsx @@ -15,8 +15,11 @@ import { useRef, useState, } from "react"; +import { attachmentPathFromReference } from "@tasknotes/model/attachments"; import { LoadingRows } from "../components/loading"; +import { TaskAttachments } from "../components/task-attachments"; +import { AttachmentService } from "../application/attachments/attachment-service"; import { DependencyEditor, RelatedWork } from "../components/dependency-editor"; import { OperationErrorNotice } from "../components/operation-error-notice"; import { RecurrenceField } from "../components/recurrence-field"; @@ -152,6 +155,24 @@ function TaskEditor({ (request: FieldCompletionRequest) => repository.completeField(request), [repository], ); + const attachmentService = useMemo( + () => new AttachmentService(repository), + [repository], + ); + const resolveTaskImage = useCallback( + async (reference: string): Promise => { + if (!repository.files) return null; + const path = attachmentPathFromReference(reference, task.path); + if (!path) return null; + const separator = path.lastIndexOf("/"); + const folder = separator < 0 ? undefined : path.slice(0, separator); + const file = (await repository.files.list({ folder })).find( + (candidate) => candidate.path === path, + ); + return file ? repository.files.download(file) : null; + }, + [repository, task.path], + ); const completeDependencyField = useCallback( async (request: FieldCompletionRequest) => { const options = await repository.completeField(request); @@ -421,6 +442,21 @@ function TaskEditor({ change({ customProperties }); } + async function flushBeforeAttachmentMutation(): Promise { + if (dirtyRef.current) await persist(draftRef.current, editVersion.current); + } + + function acceptAttachmentBody(body: string): void { + if (body === draftRef.current.body) return; + editVersion.current += 1; + const next = { ...draftRef.current, body }; + draftRef.current = next; + dirtyRef.current = false; + setDraft(next); + setDirty(false); + setSaveState("saved"); + } + async function leave() { if (leaving) return; if (!draft.title.trim()) { @@ -811,11 +847,24 @@ function TaskEditor({ Rendering…

} > - +
)} + {repository.files ? ( + + ) : null} +
{configuration.priorities.map((priority) => ( diff --git a/src/app/views-screen.creation.test.tsx b/src/app/views-screen.creation.test.tsx index 7ba5e00..731a9d3 100644 --- a/src/app/views-screen.creation.test.tsx +++ b/src/app/views-screen.creation.test.tsx @@ -478,6 +478,7 @@ function task(input: CreateTaskInput): Task { tags: input.tags ?? [], contexts: input.contexts ?? [], projects: input.projects ?? [], + attachments: input.attachments ?? [], blockedBy: input.blockedBy ?? [], completeInstances: [], skippedInstances: [], diff --git a/src/app/views-screen.optimistic.test.tsx b/src/app/views-screen.optimistic.test.tsx index 11d94eb..059933c 100644 --- a/src/app/views-screen.optimistic.test.tsx +++ b/src/app/views-screen.optimistic.test.tsx @@ -1032,6 +1032,7 @@ function boardExecution(): TaskViewExecution { tags: [], contexts: [], projects: [], + attachments: [], blockedBy: [], completeInstances: [], skippedInstances: [], @@ -1065,6 +1066,7 @@ function listTask(id: string, title: string): Task { tags: [], contexts: [], projects: [], + attachments: [], blockedBy: [], completeInstances: [], skippedInstances: [], diff --git a/src/app/views-screen.test.ts b/src/app/views-screen.test.ts index 8effb97..a874dd9 100644 --- a/src/app/views-screen.test.ts +++ b/src/app/views-screen.test.ts @@ -132,5 +132,6 @@ function task(overrides: Partial): Task { frontmatter: {}, ...overrides, blockedBy: overrides.blockedBy ?? [], + attachments: overrides.attachments ?? [], }; } diff --git a/src/application/attachments/attachment-service.test.ts b/src/application/attachments/attachment-service.test.ts new file mode 100644 index 0000000..d50fe17 --- /dev/null +++ b/src/application/attachments/attachment-service.test.ts @@ -0,0 +1,303 @@ +import { afterEach, describe, expect, it, vi } from "vitest"; + +import { MarkdownCollection } from "../../storage/collection"; +import { TaskIndex } from "../../storage/index"; +import { IndexedMarkdownRepository } from "../../storage/repository"; +import { MemoryVault } from "../../test/memory-vault"; +import { AttachmentService } from "./attachment-service"; + +import type { TaskRepository } from "../ports/task-repository"; + +const indexes: TaskIndex[] = []; + +afterEach(async () => { + await Promise.all(indexes.splice(0).map((index) => index.delete())); +}); + +describe("AttachmentService", () => { + it("makes frontmatter membership authoritative and keeps detach non-destructive", async () => { + const { repository, vault } = await fixture(); + const task = await repository.create({ + title: "Expense report", + body: "Notes", + }); + const service = new AttachmentService(repository); + + const attached = await service.attachImage( + task.id, + new File([Uint8Array.of(1, 2, 3)], "Receipt Photo.PNG", { + type: "image/png", + }), + ); + + expect(attached.reference).toMatch( + /^\[\[Attachments\/[0-9a-f-]+-Receipt-Photo\.png\]\]$/, + ); + expect(attached.task.attachments).toEqual([attached.reference]); + expect(attached.task.frontmatter.attachments).toEqual([attached.reference]); + expect(attached.task.body).toBe("Notes"); + expect(await vault.readBinary(attached.file.path)).toEqual( + Uint8Array.of(1, 2, 3), + ); + + const detached = await service.detach(task.id, attached.reference); + expect(detached.attachments).toEqual([]); + expect( + await repository.files!.list({ folder: "Attachments" }), + ).toHaveLength(1); + }); + + it("treats inline insertion as explicit presentation in addition to membership", async () => { + const { repository } = await fixture(); + const task = await repository.create({ + title: "Visual task", + body: "Context", + }); + const result = await new AttachmentService(repository).insertImageInline( + task.id, + new File([Uint8Array.of(9)], "diagram.webp", { type: "image/webp" }), + ); + + expect(result.task.attachments).toEqual([result.reference]); + expect(result.task.body).toBe(`Context\n\n!${result.reference}\n`); + }); + + it("inserts an existing image idempotently and rejects missing membership or bytes", async () => { + const { repository } = await fixture(); + const task = await repository.create({ title: "Existing image" }); + const service = new AttachmentService(repository); + const attached = await service.attachImage( + task.id, + new File([Uint8Array.of(4)], "existing.gif", { type: "image/gif" }), + ); + + const inserted = await service.insertExistingInline( + task.id, + attached.reference, + ); + const repeated = await service.insertExistingInline( + task.id, + attached.reference, + ); + expect(repeated.body).toBe(inserted.body); + expect(repeated.body.match(/!\[\[/g)).toHaveLength(1); + + await service.detach(task.id, attached.reference); + await expect( + service.insertExistingInline(task.id, attached.reference), + ).rejects.toThrow("Attach this image"); + await repository.update(task.id, { attachments: [attached.reference] }); + await repository.files!.delete(attached.file); + await expect( + service.insertExistingInline(task.id, attached.reference), + ).rejects.toThrow("file is missing"); + }); + + it("rejects disguised or mismatched image media types", async () => { + const { repository } = await fixture(); + const task = await repository.create({ title: "Unsafe image" }); + const service = new AttachmentService(repository); + + await expect( + service.attachImage( + task.id, + new File([""], "disguised.png", { type: "image/svg+xml" }), + ), + ).rejects.toThrow("Choose an AVIF"); + expect(await repository.files!.list({ folder: "Attachments" })).toEqual([]); + }); + + it("rejects unavailable storage, missing tasks, invalid links, and missing files", async () => { + const unavailable = new AttachmentService({ + files: undefined, + } as TaskRepository); + expect(unavailable.available()).toBe(false); + await expect( + unavailable.attachImage("missing", new Blob([Uint8Array.of(1)])), + ).rejects.toThrow("does not provide attachment storage"); + + const { repository } = await fixture(); + const service = new AttachmentService(repository); + await expect( + service.attachImage( + "missing", + new File([Uint8Array.of(1)], "missing.png", { type: "image/png" }), + ), + ).rejects.toThrow("Task not found"); + const task = await repository.create({ title: "Missing file" }); + await expect( + service.deletePhysical(task.id, "https://example.com/image.png"), + ).rejects.toThrow("safe file path"); + const reference = "[[Attachments/missing.png]]"; + await repository.update(task.id, { attachments: [reference] }); + await expect(service.deletePhysical(task.id, reference)).rejects.toThrow( + "already missing", + ); + }); + + it("cleans a journaled link when storage rejects before writing bytes", async () => { + const { repository } = await fixture(); + const task = await repository.create({ title: "Storage full" }); + const service = new AttachmentService(repository); + vi.spyOn(repository.files!, "upload").mockRejectedValueOnce( + new Error("Storage full"), + ); + + await expect( + service.attachImage( + task.id, + new File([Uint8Array.of(1)], "full.png", { type: "image/png" }), + ), + ).rejects.toThrow("Storage full"); + await service.recover(); + expect((await repository.get(task.id))?.attachments).toEqual([]); + expect(await repository.files!.list({ folder: "Attachments" })).toEqual([]); + }); + + it("reference-checks physical deletion across frontmatter and task bodies", async () => { + const { repository } = await fixture(); + const first = await repository.create({ title: "First" }); + const second = await repository.create({ title: "Second" }); + const service = new AttachmentService(repository); + const list = vi.spyOn(repository, "list"); + const attached = await service.attachImage( + first.id, + new File([Uint8Array.of(4)], "shared.jpg", { type: "image/jpeg" }), + ); + await repository.update(second.id, { attachments: [attached.reference] }); + + await expect( + service.deletePhysical(first.id, attached.reference), + ).rejects.toThrow("other tasks"); + expect(list).toHaveBeenCalledWith({ + status: "all", + archived: "include", + limit: Number.MAX_SAFE_INTEGER, + }); + await service.detach(second.id, attached.reference); + await repository.update(first.id, { body: `!${attached.reference}` }); + await expect( + service.deletePhysical(first.id, attached.reference), + ).rejects.toThrow("inline embed"); + await repository.update(first.id, { body: "" }); + + const updated = await service.deletePhysical(first.id, attached.reference); + expect(updated.attachments).toEqual([]); + expect(await repository.files!.list({ folder: "Attachments" })).toEqual([]); + }); + + it("recovers frontmatter linking after bytes were saved but the record write failed", async () => { + const { repository } = await fixture(); + const task = await repository.create({ title: "Recover me" }); + const update = repository.update.bind(repository); + repository.update = vi + .fn() + .mockRejectedValueOnce(new Error("record write interrupted")) + .mockImplementation(update); + const service = new AttachmentService(repository); + + await expect( + service.attachImage( + task.id, + new File([Uint8Array.of(8)], "recover.png", { type: "image/png" }), + ), + ).rejects.toThrow("record write interrupted"); + expect((await repository.get(task.id))?.attachments).toEqual([]); + + await new AttachmentService(repository).recover(); + expect((await repository.get(task.id))?.attachments).toHaveLength(1); + expect( + await repository.files!.list({ folder: "Attachments" }), + ).toHaveLength(1); + }); + + it("recovers an ambiguous upload that wrote bytes before reporting failure", async () => { + const { repository } = await fixture(); + const task = await repository.create({ title: "Interrupted upload" }); + const service = new AttachmentService(repository); + const upload = repository.files!.upload.bind(repository.files); + vi.spyOn(repository.files!, "upload").mockImplementationOnce( + async (...arguments_) => { + await upload(...arguments_); + throw new Error("Bridge response was lost"); + }, + ); + + const result = await service.attachImage( + task.id, + new File([Uint8Array.of(1, 2, 3)], "ambiguous.png", { + type: "image/png", + }), + ); + + expect((await repository.get(task.id))?.attachments).toEqual([ + result.reference, + ]); + expect( + await repository.files!.list({ folder: "Attachments" }), + ).toHaveLength(1); + }); + + it("keeps membership until an interrupted physical deletion can resume", async () => { + const { repository } = await fixture(); + const task = await repository.create({ title: "Delete safely" }); + const service = new AttachmentService(repository); + const attached = await service.attachImage( + task.id, + new File([Uint8Array.of(7)], "delete.png", { type: "image/png" }), + ); + vi.spyOn(repository.files!, "delete").mockRejectedValueOnce( + new Error("device storage busy"), + ); + + await expect( + service.deletePhysical(task.id, attached.reference), + ).rejects.toThrow("device storage busy"); + expect((await repository.get(task.id))?.attachments).toEqual([ + attached.reference, + ]); + + await service.recover(); + expect((await repository.get(task.id))?.attachments).toEqual([]); + expect(await repository.files!.list({ folder: "Attachments" })).toEqual([]); + }); + + it("drops recovery intent safely when its task was deleted", async () => { + const { repository } = await fixture(); + const task = await repository.create({ title: "Deleted during linking" }); + const update = repository.update.bind(repository); + repository.update = vi + .fn() + .mockRejectedValueOnce(new Error("record write interrupted")) + .mockImplementation(update); + const service = new AttachmentService(repository); + + await expect( + service.attachImage( + task.id, + new File([Uint8Array.of(2)], "orphan.png", { type: "image/png" }), + ), + ).rejects.toThrow("record write interrupted"); + await repository.delete(task.id); + await service.recover(); + await expect(service.recover()).resolves.toBeUndefined(); + expect( + await repository.files!.list({ folder: "Attachments" }), + ).toHaveLength(1); + }); +}); + +async function fixture(): Promise<{ + repository: IndexedMarkdownRepository; + vault: MemoryVault; +}> { + const vault = new MemoryVault(); + const index = new TaskIndex(`attachments-${crypto.randomUUID()}`); + indexes.push(index); + const repository = new IndexedMarkdownRepository({ + collection: new MarkdownCollection(vault), + index, + }); + await repository.initialize(); + return { repository, vault }; +} diff --git a/src/application/attachments/attachment-service.ts b/src/application/attachments/attachment-service.ts new file mode 100644 index 0000000..a852fe8 --- /dev/null +++ b/src/application/attachments/attachment-service.ts @@ -0,0 +1,396 @@ +import Dexie, { type EntityTable } from "dexie"; +import { + attachmentPathFromReference, + canonicalAttachmentReference, +} from "@tasknotes/model/attachments"; + +import type { + CollectionFile, + CollectionFileStore, +} from "../ports/collection-file-store"; +import type { TaskRepository } from "../ports/task-repository"; +import type { Task } from "../../domain/task"; + +interface AttachmentJournalEntry { + id: string; + collectionId: string; + taskId: string; + reference: string; + inline: boolean; + operation: "link" | "unlink"; + fileSaved?: boolean; + fileDeleted?: boolean; + enqueuedAt: number; +} + +class AttachmentJournal extends Dexie { + entries!: EntityTable; + + constructor() { + super("tasknotes-attachment-journal-v1"); + this.version(1).stores({ + entries: "&id,collectionId,enqueuedAt,taskId", + }); + } +} + +export interface ResolvedTaskAttachment { + reference: string; + path?: string; + file?: CollectionFile; +} + +export interface AttachImageResult { + task: Task; + file: CollectionFile; + reference: string; +} + +const journal = new AttachmentJournal(); + +/** Coordinates binary persistence with authoritative frontmatter membership. */ +export class AttachmentService { + constructor(private readonly repository: TaskRepository) {} + + available(): boolean { + return Boolean(this.repository.files); + } + + currentTask(taskId: string): Promise { + return this.repository.get(taskId); + } + + async recover(): Promise { + const collectionId = await this.collectionId(); + const entries = await journal.entries + .where("collectionId") + .equals(collectionId) + .sortBy("enqueuedAt"); + for (const entry of entries) { + const task = await this.repository.get(entry.taskId); + if (!task) { + await journal.entries.delete(entry.id); + continue; + } + if (entry.operation === "link" && !entry.fileSaved) { + const file = await this.findFile(task, entry.reference); + if (!file) { + await journal.entries.delete(entry.id); + continue; + } + entry.fileSaved = true; + await journal.entries.put(entry); + } + if (entry.operation === "unlink" && !entry.fileDeleted) { + await this.deleteJournalFile(task, entry); + entry.fileDeleted = true; + await journal.entries.put(entry); + } + await this.applyJournalEntry(task, entry); + await journal.entries.delete(entry.id); + } + } + + async attachImage( + taskId: string, + source: File | Blob, + ): Promise { + return this.attach(taskId, source, false); + } + + async insertImageInline( + taskId: string, + source: File | Blob, + ): Promise { + return this.attach(taskId, source, true); + } + + async insertExistingInline(taskId: string, reference: string): Promise { + const task = await this.requireTask(taskId); + if (!hasReference(task, reference)) + throw new Error( + "Attach this image to the task before inserting it in Notes.", + ); + if (!(await this.findFile(task, reference))) + throw new Error("The attachment file is missing and cannot be inserted."); + const entry: AttachmentJournalEntry = { + id: crypto.randomUUID(), + collectionId: await this.collectionId(), + taskId, + reference, + inline: true, + operation: "link", + fileSaved: true, + enqueuedAt: Date.now(), + }; + await journal.entries.put(entry); + const updated = await this.applyJournalEntry(task, entry); + await journal.entries.delete(entry.id); + return updated; + } + + async resolve(task: Task): Promise { + const files = this.requireStore(); + const listed = await files.list({ folder: "Attachments" }); + const byPath = new Map(listed.map((file) => [file.path, file])); + return task.attachments.map((reference) => { + const path = attachmentPathFromReference(reference, task.path); + return { + reference, + ...(path ? { path } : {}), + ...(path && byPath.has(path) ? { file: byPath.get(path) } : {}), + }; + }); + } + + async detach(taskId: string, reference: string): Promise { + const task = await this.requireTask(taskId); + return this.repository.update(task.id, { + attachments: withoutReference(task, reference), + }); + } + + /** + * Physically removes bytes only when no task body or other task membership + * still points at them. Detaching alone deliberately never deletes a file. + */ + async deletePhysical(taskId: string, reference: string): Promise { + const store = this.requireStore(); + const task = await this.requireTask(taskId); + const path = attachmentPathFromReference(reference, task.path); + if (!path) + throw new Error( + "This attachment link does not resolve to a safe file path.", + ); + const tasks = await this.repository.list({ + status: "all", + archived: "include", + limit: Number.MAX_SAFE_INTEGER, + }); + const references = tasks.flatMap((candidate) => + attachmentReferences(candidate, path).map((kind) => ({ + task: candidate, + kind, + })), + ); + const blocking = references.filter( + ({ task: candidate, kind }) => + candidate.id !== task.id || kind === "inline", + ); + if (blocking.length) { + const inline = blocking.some(({ kind }) => kind === "inline"); + throw new Error( + inline + ? "Remove every inline embed of this image before deleting its file." + : "Detach this image from its other tasks before deleting its file.", + ); + } + const file = (await store.list({ folder: parentFolder(path) })).find( + (candidate) => candidate.path === path, + ); + if (!file) throw new Error("The attachment file is already missing."); + const entry: AttachmentJournalEntry = { + id: crypto.randomUUID(), + collectionId: await this.collectionId(), + taskId, + reference, + inline: false, + operation: "unlink", + fileDeleted: false, + enqueuedAt: Date.now(), + }; + await journal.entries.put(entry); + await store.delete(file); + entry.fileDeleted = true; + await journal.entries.put(entry); + const updated = await this.applyJournalEntry(task, entry); + await journal.entries.delete(entry.id); + return updated; + } + + private async attach( + taskId: string, + source: File | Blob, + inline: boolean, + ): Promise { + const store = this.requireStore(); + const task = await this.requireTask(taskId); + const name = + source instanceof File ? source.name : `image-${Date.now()}.png`; + const path = attachmentPath(name); + assertImage(source.type, path); + const reference = canonicalAttachmentReference(path); + const entry: AttachmentJournalEntry = { + id: crypto.randomUUID(), + collectionId: await this.collectionId(), + taskId, + reference, + inline, + operation: "link", + fileSaved: false, + enqueuedAt: Date.now(), + }; + await journal.entries.put(entry); + let file: CollectionFile; + try { + file = await store.upload(path, source, { + ...(source.type ? { mediaType: source.type } : {}), + }); + } catch (reason) { + let listingSucceeded = false; + const recovered = await this.findFile(task, reference).then( + (candidate) => { + listingSucceeded = true; + return candidate; + }, + () => undefined, + ); + if (!recovered) { + if (listingSucceeded) await journal.entries.delete(entry.id); + throw reason; + } + file = recovered; + } + entry.fileSaved = true; + await journal.entries.put(entry); + const updated = await this.applyJournalEntry(task, entry); + await journal.entries.delete(entry.id); + return { task: updated, file, reference }; + } + + private async applyJournalEntry( + task: Task, + entry: AttachmentJournalEntry, + ): Promise { + if (entry.operation === "unlink") { + const attachments = withoutReference(task, entry.reference); + if (sameList(task.attachments, attachments)) return task; + return this.repository.update(task.id, { attachments }); + } + const attachments = hasReference(task, entry.reference) + ? task.attachments + : [...task.attachments, entry.reference]; + const embed = `!${entry.reference}`; + const body = + entry.inline && !task.body.includes(embed) + ? `${task.body.trimEnd()}${task.body.trim() ? "\n\n" : ""}${embed}\n` + : task.body; + if (sameList(task.attachments, attachments) && body === task.body) + return task; + return this.repository.update(task.id, { attachments, body }); + } + + private async deleteJournalFile( + task: Task, + entry: AttachmentJournalEntry, + ): Promise { + const file = await this.findFile(task, entry.reference); + if (file) await this.requireStore().delete(file); + } + + private async findFile( + task: Task, + reference: string, + ): Promise { + const path = attachmentPathFromReference(reference, task.path); + if (!path) return undefined; + return ( + await this.requireStore().list({ folder: parentFolder(path) }) + ).find((candidate) => candidate.path === path); + } + + private requireStore(): CollectionFileStore { + if (!this.repository.files) + throw new Error("This collection does not provide attachment storage."); + return this.repository.files; + } + + private async requireTask(taskId: string): Promise { + const task = await this.repository.get(taskId); + if (!task) throw new Error("Task not found."); + return task; + } + + private async collectionId(): Promise { + const info = await this.repository.collectionInfo(); + return info.id ?? `${info.kind}:${info.location}`; + } +} + +function attachmentPath(name: string): string { + const dot = name.lastIndexOf("."); + const extension = dot > 0 ? name.slice(dot).toLowerCase() : ""; + const stem = + (dot > 0 ? name.slice(0, dot) : name) + .normalize("NFKC") + .replace(/[^\p{L}\p{N}_-]+/gu, "-") + .replace(/^-+|-+$/g, "") + .slice(0, 72) || "image"; + return `Attachments/${crypto.randomUUID()}-${stem}${extension}`; +} + +function assertImage(mediaType: string, path: string): void { + const extension = path.slice(path.lastIndexOf(".")).toLowerCase(); + const supportedMediaTypes: Record = { + ".avif": ["image/avif"], + ".gif": ["image/gif"], + ".heic": ["image/heic", "image/heif"], + ".heif": ["image/heic", "image/heif"], + ".jpeg": ["image/jpeg"], + ".jpg": ["image/jpeg"], + ".png": ["image/png"], + ".webp": ["image/webp"], + }; + const normalizedMediaType = mediaType.toLowerCase().split(";", 1)[0].trim(); + if ( + !supportedMediaTypes[extension] || + (normalizedMediaType && + !supportedMediaTypes[extension].includes(normalizedMediaType)) + ) + throw new Error("Choose an AVIF, GIF, HEIC, JPEG, PNG, or WebP image."); +} + +function withoutReference(task: Task, reference: string): string[] { + const path = attachmentPathFromReference(reference, task.path); + return task.attachments.filter( + (candidate) => attachmentPathFromReference(candidate, task.path) !== path, + ); +} + +function hasReference(task: Task, reference: string): boolean { + return withoutReference(task, reference).length !== task.attachments.length; +} + +function attachmentReferences( + task: Task, + path: string, +): Array<"membership" | "inline"> { + const kinds: Array<"membership" | "inline"> = []; + if ( + task.attachments.some( + (reference) => attachmentPathFromReference(reference, task.path) === path, + ) + ) + kinds.push("membership"); + const escaped = path.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + if ( + new RegExp(`!\\[\\[${escaped}(?:\\|[^\\]]*)?\\]\\]`, "i").test(task.body) || + new RegExp( + `!\\[[^\\]]*\\]\\((?:\\/)?${escaped}(?:\\s+[^)]*)?\\)`, + "i", + ).test(task.body) + ) + kinds.push("inline"); + return kinds; +} + +function parentFolder(path: string): string { + return path.slice(0, path.lastIndexOf("/")); +} + +function sameList(left: readonly string[], right: readonly string[]): boolean { + return ( + left.length === right.length && + left.every((value, index) => value === right[index]) + ); +} diff --git a/src/application/auto-archive-activity.test.ts b/src/application/auto-archive-activity.test.ts index 8eab569..d6112e7 100644 --- a/src/application/auto-archive-activity.test.ts +++ b/src/application/auto-archive-activity.test.ts @@ -236,6 +236,7 @@ function makeTask(patch: Partial = {}): Task { revision: 1, frontmatter: {}, ...patch, + attachments: patch.attachments ?? [], }; } diff --git a/src/application/ports/collection-file-store.ts b/src/application/ports/collection-file-store.ts index e991f2b..ba3d093 100644 --- a/src/application/ports/collection-file-store.ts +++ b/src/application/ports/collection-file-store.ts @@ -13,6 +13,9 @@ export interface CollectionFile { mediaType?: string; mediaClass: CollectionFileMediaClass; modifiedAt: string; + /** Availability is advisory UI state; it is never persisted into task YAML. */ + availability?: "local" | "remote" | "local-and-remote"; + pending?: "upload" | "move" | "delete"; } export interface CollectionFileProgress { @@ -34,6 +37,7 @@ export interface CollectionFileStore { options?: { mediaType?: string; ifRevision?: string; + transferId?: string; signal?: AbortSignal; onProgress?: (progress: CollectionFileProgress) => void; }, @@ -52,6 +56,15 @@ export interface CollectionFileStore { onProgress?: (progress: CollectionFileProgress) => void; }, ): Promise>; - move(file: CollectionFile, path: string): Promise; - delete(file: CollectionFile): Promise; + move( + file: CollectionFile, + path: string, + options?: { mutationId?: string; signal?: AbortSignal }, + ): Promise; + delete( + file: CollectionFile, + options?: { mutationId?: string; signal?: AbortSignal }, + ): Promise; + /** Flush durable local mutations when the authority is reachable. */ + sync?(): Promise; } diff --git a/src/cloud/connect.ts b/src/cloud/connect.ts index 3bd9e1e..a04fac0 100644 --- a/src/cloud/connect.ts +++ b/src/cloud/connect.ts @@ -44,7 +44,11 @@ export const cloudConnect = new MdbaseConnect({ serverUrl, manifest, redirectUri, - relayEncryption: import.meta.env.MODE === "e2e" ? "disabled" : "required", + relayEncryption: + import.meta.env.MODE === "e2e" && + import.meta.env.VITE_MDBASE_REQUIRE_RELAY_ENCRYPTION !== "1" + ? "disabled" + : "required", navigate: Capacitor.isNativePlatform() ? async (url) => Browser.open({ url }) : undefined, diff --git a/src/components/markdown-preview.test.tsx b/src/components/markdown-preview.test.tsx index 132ba9f..843826a 100644 --- a/src/components/markdown-preview.test.tsx +++ b/src/components/markdown-preview.test.tsx @@ -44,4 +44,20 @@ describe("MarkdownPreview", () => { render(); expect(screen.getByText(/Nothing to preview yet/)).toBeVisible(); }); + + it("resolves Obsidian image embeds through collection storage", async () => { + const resolveImage = vi.fn(async () => null); + render( + , + ); + + expect(await screen.findByText("Image unavailable offline")).toBeVisible(); + expect(resolveImage).toHaveBeenCalledWith( + "[[Attachments/receipt photo.jpg]]", + ); + expect(screen.getByRole("img", { name: "Receipt" })).toBeVisible(); + }); }); diff --git a/src/components/markdown-preview.tsx b/src/components/markdown-preview.tsx index 091daa7..d77b2b7 100644 --- a/src/components/markdown-preview.tsx +++ b/src/components/markdown-preview.tsx @@ -1,7 +1,14 @@ import ReactMarkdown from "react-markdown"; import remarkGfm from "remark-gfm"; +import { useEffect, useState } from "react"; -export function MarkdownPreview({ source }: { source: string }) { +export function MarkdownPreview({ + source, + resolveImage, +}: { + source: string; + resolveImage?: (source: string) => Promise; +}) { if (!source.trim()) return (

@@ -26,10 +33,89 @@ export function MarkdownPreview({ source }: { source: string }) { ); }, + img: ({ alt, src }) => { + if (!src || !resolveImage || /^(?:https?:|data:|blob:)/i.test(src)) + return {alt; + return ( + + ); + }, }} > - {source} + {preprocessWikilinkImages(source)} ); } + +function ResolvedMarkdownImage({ + alt, + source, + resolveImage, +}: { + alt: string; + source: string; + resolveImage(source: string): Promise; +}) { + const [url, setUrl] = useState(null); + const [missing, setMissing] = useState(false); + const [failed, setFailed] = useState(false); + useEffect(() => { + let active = true; + let objectUrl = ""; + void resolveImage(source) + .then((blob) => { + if (!active) return; + if (!blob) { + setMissing(true); + return; + } + objectUrl = URL.createObjectURL(blob); + setFailed(false); + setUrl(objectUrl); + }) + .catch(() => { + if (active) setMissing(true); + }); + return () => { + active = false; + if (objectUrl) URL.revokeObjectURL(objectUrl); + }; + }, [resolveImage, source]); + if (url && !failed) + return {alt} setFailed(true)} />; + return ( + + {missing + ? "Image unavailable offline" + : failed + ? "Image preview unavailable" + : "Loading image…"} + + ); +} + +function preprocessWikilinkImages(source: string): string { + return source.replace( + /!\[\[([^\]|]+)(?:\|([^\]]+))?\]\]/g, + (_match, rawPath: string, rawAlt: string | undefined) => { + const path = rawPath.trim(); + const alt = (rawAlt?.trim() || path.replace(/^.*\//, "")) + .replaceAll("[", "\\[") + .replaceAll("]", "\\]"); + return `![${alt}](/__tasknotes_attachment__/${encodeURIComponent(path)})`; + }, + ); +} + +function attachmentImageSource(source: string): string { + const prefix = "/__tasknotes_attachment__/"; + return source.startsWith(prefix) + ? `[[${decodeURIComponent(source.slice(prefix.length))}]]` + : `[image](${source})`; +} diff --git a/src/components/task-attachments.tsx b/src/components/task-attachments.tsx new file mode 100644 index 0000000..74a4a78 --- /dev/null +++ b/src/components/task-attachments.tsx @@ -0,0 +1,323 @@ +import { + ExternalLink, + FileImage, + ImagePlus, + LoaderCircle, + Trash2, + Unlink, +} from "lucide-react"; +import { useCallback, useEffect, useId, useRef, useState } from "react"; + +import { + AttachmentService, + type ResolvedTaskAttachment, +} from "../application/attachments/attachment-service"; + +import type { Task } from "../domain/task"; +import type { CollectionFileStore } from "../application/ports/collection-file-store"; + +export function TaskAttachments({ + task, + service, + store, + beforeMutation, + onBodyUpdated, +}: { + task: Task; + service: AttachmentService; + store: CollectionFileStore; + beforeMutation(): Promise; + onBodyUpdated(body: string): void; +}) { + const attachInputId = useId(); + const insertInputId = useId(); + const [items, setItems] = useState([]); + const [loading, setLoading] = useState(service.available()); + const [busy, setBusy] = useState(false); + const [error, setError] = useState(null); + const [confirming, setConfirming] = useState(null); + const mounted = useRef(true); + const loadGeneration = useRef(0); + const keepButtonRef = useRef(null); + const deleteTriggerRef = useRef(null); + + const load = useCallback(async () => { + if (!service.available()) return; + const generation = ++loadGeneration.current; + setLoading(true); + try { + await service.recover(); + const resolved = await service.resolve( + (await service.currentTask(task.id)) ?? task, + ); + if (mounted.current && generation === loadGeneration.current) { + setItems(resolved); + setError(null); + } + } catch (reason) { + if (mounted.current && generation === loadGeneration.current) + setError(reason instanceof Error ? reason.message : String(reason)); + } finally { + if (mounted.current && generation === loadGeneration.current) + setLoading(false); + } + }, [service, task]); + + useEffect(() => { + mounted.current = true; + queueMicrotask(() => { + if (mounted.current) void load(); + }); + return () => { + mounted.current = false; + loadGeneration.current += 1; + }; + }, [load]); + + useEffect(() => { + if (confirming) keepButtonRef.current?.focus(); + }, [confirming]); + + async function run(action: () => Promise): Promise { + if (busy) return; + setBusy(true); + setError(null); + try { + await beforeMutation(); + const updated = await action(); + if (updated?.body !== undefined) onBodyUpdated(updated.body); + await load(); + } catch (reason) { + if (mounted.current) + setError(reason instanceof Error ? reason.message : String(reason)); + } finally { + if (mounted.current) setBusy(false); + } + } + + function selectImage(file: File | undefined, inline: boolean): void { + if (!file) return; + void run(async () => { + const result = inline + ? await service.insertImageInline(task.id, file) + : await service.attachImage(task.id, file); + return result.task; + }); + } + + if (!service.available()) return null; + + return ( +

+
+
+

Attachments

+

Listed with this task. Inserting an image in Notes is optional.

+
+
+ { + selectImage(event.target.files?.[0], false); + event.currentTarget.value = ""; + }} + /> + + { + selectImage(event.target.files?.[0], true); + event.currentTarget.value = ""; + }} + /> + +
+
+ + {error ? ( +

+ {error} +

+ ) : null} + {loading ? ( +

+

+ ) : items.length ? ( +
    + {items.map((item) => ( +
  • + +
    + {displayName(item.path ?? item.reference)} + {attachmentState(item)} +
    + {confirming === item.reference ? ( +
    + Delete the file? + + +
    + ) : ( +
    + {item.file ? ( + + ) : null} + + + +
    + )} +
  • + ))} +
+ ) : ( +

No images attached.

+ )} +
+ ); +} + +function AttachmentThumbnail({ + item, + store, +}: { + item: ResolvedTaskAttachment; + store?: CollectionFileStore; +}) { + const [source, setSource] = useState(null); + useEffect(() => { + if (!store || !item.file) return; + let active = true; + let url = ""; + void store + .download(item.file) + .then((blob) => { + if (!active) return; + url = URL.createObjectURL(blob); + setSource(url); + }) + .catch(() => undefined); + return () => { + active = false; + if (url) URL.revokeObjectURL(url); + }; + }, [item.file, store]); + return source ? ( + setSource(null)} + /> + ) : ( + + ); +} + +function displayName(path: string): string { + return path.replace(/^.*\//, "").replace(/^[0-9a-f-]{36}-/, ""); +} + +function attachmentState(item: ResolvedTaskAttachment): string { + if (!item.file) return "File missing"; + if (item.file.pending === "upload") + return "Saved locally · Waiting to upload"; + if (item.file.availability === "local") return "Saved on this device"; + return formatBytes(item.file.size); +} + +function formatBytes(bytes: number): string { + if (bytes < 1024) return `${bytes} B`; + if (bytes < 1024 * 1024) return `${Math.round(bytes / 1024)} KB`; + return `${(bytes / (1024 * 1024)).toFixed(1)} MB`; +} + +async function openAttachment( + store: CollectionFileStore, + file: NonNullable, +): Promise { + const url = URL.createObjectURL(await store.download(file)); + window.open(url, "_blank", "noopener,noreferrer"); + window.setTimeout(() => URL.revokeObjectURL(url), 60_000); +} diff --git a/src/components/task-capture.test.tsx b/src/components/task-capture.test.tsx index 832c9dc..8372703 100644 --- a/src/components/task-capture.test.tsx +++ b/src/components/task-capture.test.tsx @@ -211,6 +211,7 @@ function task(input: CreateTaskInput): Task { tags: input.tags ?? [], contexts: input.contexts ?? [], projects: input.projects ?? [], + attachments: input.attachments ?? [], blockedBy: input.blockedBy ?? [], completeInstances: [], skippedInstances: [], diff --git a/src/domain/calendar-events.test.ts b/src/domain/calendar-events.test.ts index 5a321a0..22b1f37 100644 --- a/src/domain/calendar-events.test.ts +++ b/src/domain/calendar-events.test.ts @@ -135,6 +135,7 @@ function baseTask(): Task { tags: ["task"], contexts: [], projects: [], + attachments: [], blockedBy: [], completeInstances: [], skippedInstances: [], diff --git a/src/domain/kanban.test.ts b/src/domain/kanban.test.ts index 7901d13..08681e9 100644 --- a/src/domain/kanban.test.ts +++ b/src/domain/kanban.test.ts @@ -79,6 +79,7 @@ function task(): Task { tags: [], contexts: [], projects: [], + attachments: [], blockedBy: [], completeInstances: [], skippedInstances: [], diff --git a/src/domain/manual-order.test.ts b/src/domain/manual-order.test.ts index ab18516..9d98df5 100644 --- a/src/domain/manual-order.test.ts +++ b/src/domain/manual-order.test.ts @@ -167,6 +167,7 @@ function task(id: string, sortOrder?: string): Task { tags: [], contexts: [], projects: [], + attachments: [], blockedBy: [], completeInstances: [], skippedInstances: [], diff --git a/src/domain/task-capture.test.ts b/src/domain/task-capture.test.ts index c29d012..ff48bb9 100644 --- a/src/domain/task-capture.test.ts +++ b/src/domain/task-capture.test.ts @@ -26,7 +26,7 @@ const configuration = resolveTaskCollectionConfiguration({ implements: [ { contract: "tasknotes.task", - version: "0.3.0-rc.1", + version: "0.3.0-rc.3", fields: { title: "title", status: "status", priority: "priority" }, binding: { status: { diff --git a/src/domain/task-configuration.test.ts b/src/domain/task-configuration.test.ts index ec4c2d5..fcf1cef 100644 --- a/src/domain/task-configuration.test.ts +++ b/src/domain/task-configuration.test.ts @@ -32,7 +32,7 @@ function taskType(input: Record): Record { implements: [ { contract: "tasknotes.task", - version: "0.3.0-rc.1", + version: "0.3.0-rc.3", fields, binding, }, diff --git a/src/domain/task-configuration.ts b/src/domain/task-configuration.ts index 883b65c..70c5158 100644 --- a/src/domain/task-configuration.ts +++ b/src/domain/task-configuration.ts @@ -1,5 +1,6 @@ import { resolveModelConfig } from "@tasknotes/model/config"; import { resolveTaskNotesModelConfigFromMdbaseType } from "@tasknotes/model/mdbase"; +import { TASKNOTES_SPEC_VERSION } from "@tasknotes/model/types"; import type { PriorityConfig, @@ -123,7 +124,7 @@ function taskNotesImplementation( .find( (implementation) => implementation.contract === "tasknotes.task" && - implementation.version === "0.3.0-rc.1", + implementation.version === TASKNOTES_SPEC_VERSION, ) ?? {} ); } diff --git a/src/domain/task-list-sections.test.ts b/src/domain/task-list-sections.test.ts index c391529..8588ce4 100644 --- a/src/domain/task-list-sections.test.ts +++ b/src/domain/task-list-sections.test.ts @@ -145,6 +145,7 @@ function row(id: string, patch: Partial = {}): TaskViewRow { revision: 1, frontmatter: {}, ...patch, + attachments: patch.attachments ?? [], }, }; } diff --git a/src/domain/task-occurrence.test.ts b/src/domain/task-occurrence.test.ts index 06deea5..08b7e85 100644 --- a/src/domain/task-occurrence.test.ts +++ b/src/domain/task-occurrence.test.ts @@ -28,6 +28,7 @@ const task: Task = { tags: ["task"], contexts: [], projects: [], + attachments: [], blockedBy: [], recurrence: "FREQ=WEEKLY;BYDAY=MO,WE", completeInstances: ["2026-08-05"], diff --git a/src/domain/task-relationships.test.ts b/src/domain/task-relationships.test.ts index 12ec3fb..8b78a68 100644 --- a/src/domain/task-relationships.test.ts +++ b/src/domain/task-relationships.test.ts @@ -106,5 +106,6 @@ function task(id: string, path: string, patch: Partial = {}): Task { revision: 1, frontmatter: {}, ...patch, + attachments: patch.attachments ?? [], }; } diff --git a/src/domain/task.ts b/src/domain/task.ts index 958ef25..33f44cd 100644 --- a/src/domain/task.ts +++ b/src/domain/task.ts @@ -40,6 +40,8 @@ export interface Task { tags: string[]; contexts: string[]; projects: string[]; + /** Canonical frontmatter links that define attachment membership. */ + attachments: string[]; blockedBy: TaskDependency[]; recurrence?: string; recurrenceAnchor?: "scheduled" | "completion"; @@ -73,6 +75,7 @@ export interface CreateTaskInput { tags?: string[]; contexts?: string[]; projects?: string[]; + attachments?: string[]; blockedBy?: TaskDependency[]; recurrence?: string; recurrenceAnchor?: "scheduled" | "completion"; @@ -101,6 +104,7 @@ export interface UpdateTaskInput { tags?: string[]; contexts?: string[]; projects?: string[]; + attachments?: string[]; blockedBy?: TaskDependency[]; recurrence?: string | null; recurrenceAnchor?: "scheduled" | "completion"; diff --git a/src/domain/tasknotes-model.test.ts b/src/domain/tasknotes-model.test.ts index 212d723..e2aca6b 100644 --- a/src/domain/tasknotes-model.test.ts +++ b/src/domain/tasknotes-model.test.ts @@ -301,6 +301,28 @@ describe("TaskNotes task model app boundary", () => { ).toEqual(updated.blockedBy); }); + it("round-trips authoritative attachment links without changing the body", () => { + const created = model.create( + { + title: "Documented task", + body: "The body is presentation, not membership.", + attachments: ["[[Attachments/diagram.png]]"], + }, + { id: "documented", now: "2026-07-22T00:00:00.000Z" }, + ); + + expect(created.attachments).toEqual(["[[Attachments/diagram.png]]"]); + expect(created.frontmatter.attachments).toEqual([ + "[[Attachments/diagram.png]]", + ]); + expect(created.body).toBe("The body is presentation, not membership."); + + const detached = model.update(created, { attachments: [] }); + expect(detached.attachments).toEqual([]); + expect(detached.frontmatter).not.toHaveProperty("attachments"); + expect(detached.body).toBe(created.body); + }); + it("completes and skips individual recurring occurrences", () => { const created = model.create( { diff --git a/src/domain/tasknotes-model.ts b/src/domain/tasknotes-model.ts index d33ea86..b201f7a 100644 --- a/src/domain/tasknotes-model.ts +++ b/src/domain/tasknotes-model.ts @@ -181,6 +181,7 @@ export class TaskNotesTaskModel { tags: input.tags, contexts: input.contexts, projects: input.projects, + attachments: input.attachments, blockedBy: normalizeDependencies(input.blockedBy), recurrence: input.recurrence, recurrence_anchor: input.recurrenceAnchor, @@ -297,6 +298,8 @@ export class TaskNotesTaskModel { if (input.tags !== undefined) updates.tags = input.tags; if (input.contexts !== undefined) updates.contexts = input.contexts; if (input.projects !== undefined) updates.projects = input.projects; + if (input.attachments !== undefined) + updates.attachments = input.attachments; if (input.blockedBy !== undefined) updates.blockedBy = normalizeDependencies(input.blockedBy); if (input.recurrence !== undefined) @@ -757,6 +760,7 @@ export class TaskNotesTaskModel { tags: info.tags ?? [], contexts: info.contexts ?? [], projects: info.projects ?? [], + attachments: info.attachments ?? [], blockedBy: storedDependencies ?? info.blockedBy ?? [], recurrence: info.recurrence, recurrenceAnchor: info.recurrence_anchor, @@ -1120,6 +1124,7 @@ function taskAsCreateInput(task: Task): CreateTaskInput { tags: task.tags, contexts: task.contexts, projects: task.projects, + attachments: task.attachments, blockedBy: task.blockedBy, reminders: task.reminders, timeEstimate: task.timeEstimate, diff --git a/src/domain/view-mutation.test.ts b/src/domain/view-mutation.test.ts index 1e18f2f..7ec239f 100644 --- a/src/domain/view-mutation.test.ts +++ b/src/domain/view-mutation.test.ts @@ -112,5 +112,6 @@ function task(patch: Partial = {}): Task { revision: 1, frontmatter: {}, ...patch, + attachments: patch.attachments ?? [], }; } diff --git a/src/domain/view-values.test.ts b/src/domain/view-values.test.ts index e46461b..5c65002 100644 --- a/src/domain/view-values.test.ts +++ b/src/domain/view-values.test.ts @@ -24,6 +24,7 @@ const task: Task = { tags: ["task"], contexts: [], projects: ["mdbase"], + attachments: [], blockedBy: [], completeInstances: [], skippedInstances: [], diff --git a/src/generated/mdbase-app.json b/src/generated/mdbase-app.json index 1ce2d51..2f96ecb 100644 --- a/src/generated/mdbase-app.json +++ b/src/generated/mdbase-app.json @@ -12,12 +12,19 @@ "contracts": [ { "id": "tasknotes.task", - "version": "0.3.0-rc.1" + "version": "0.3.0-rc.3" } ], "access": "full_collection", "files": { - "actions": ["list", "read", "add", "replace", "move", "delete"], + "actions": [ + "list", + "read", + "add", + "replace", + "move", + "delete" + ], "scope": { "kind": "collection" } @@ -29,7 +36,7 @@ "manifest": { "kind": "mdbase.type-pack", "id": "tasknotes.task", - "version": "0.3.0-rc.1", + "version": "0.3.0-rc.3", "name": "TaskNotes task", "description": "TaskNotes task contract, implementation, and referenced JSON Schemas.", "resources": [ @@ -37,50 +44,50 @@ "kind": "contract", "source": "contracts/tasknotes.task.md", "target": "_contracts/tasknotes.task.md", - "digest": "sha256:5e07a8ffb7182db52c5c8a89cf6df523ff4d2ce26fb51530f15df914ac461407" + "digest": "sha256:7f00349e4128b85067d715ad11e54b18244f9ee15d6dcfbc89989f334b095b93" }, { "kind": "type", "source": "types/task.md", "target": "_types/task.md", - "digest": "sha256:d138fafa1282c5af21aa146ddca4115b2b9f43da8284eedeaa914b2d6011fce3" + "digest": "sha256:dbfe2535df3e9bc4a3cfce0ee0e4ea3d01f7e66dd869f793f10db485f144f19e" }, { "kind": "schema", "source": "schemas/tasknotes-task.schema.json", "target": "_schemas/tasknotes/tasknotes-task.schema.json", - "digest": "sha256:8319707179c2f8243126cdb71930cf5c997ef219e9a1353fe4f0039f3dc5d51f" + "digest": "sha256:3d01df62fc230dfa1cd5c290d685e285594370e17fa176bc06e48c49200d0dc8" }, { "kind": "schema", "source": "schemas/tasknotes-task-binding.schema.json", "target": "_schemas/tasknotes/tasknotes-task-binding.schema.json", - "digest": "sha256:90d8216feb7bc05de0d15fa31efa0531c76a3d3de1d5d90076905d3945f22cf8" + "digest": "sha256:ce592fe951504c82441476090901f19b224e9651e2b78d7da1a464ab470719c0" } ] }, "resources": [ { "source": "contracts/tasknotes.task.md", - "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: tasknotes.task\nversion: 0.3.0-rc.1\nname: TaskNotes task\ndescription: Portable task data and behavior defined by tasknotes-spec 0.3.0-rc.1.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../_schemas/tasknotes/tasknotes-task.schema.json\nbinding_schema:\n dialect: json-schema-2020-12\n ref: ../_schemas/tasknotes/tasknotes-task-binding.schema.json\n---\n\n# TaskNotes task contract\n\nTypes implement this contract through `implements`; applications consume\nthe normalized contract view rather than assuming frontmatter names.\n" + "document": "---\nkind: mdbase.contract\ncontract_type: record\nid: tasknotes.task\nversion: 0.3.0-rc.3\nname: TaskNotes task\ndescription: Portable task data and behavior defined by tasknotes-spec 0.3.0-rc.3.\nrecord_schema:\n dialect: json-schema-2020-12\n ref: ../_schemas/tasknotes/tasknotes-task.schema.json\nbinding_schema:\n dialect: json-schema-2020-12\n ref: ../_schemas/tasknotes/tasknotes-task-binding.schema.json\n---\n\n# TaskNotes task contract\n\nTypes implement this contract through `implements`; applications consume\nthe normalized contract view rather than assuming frontmatter names.\n" }, { "source": "types/task.md", - "document": "---\nkind: mdbase.type\nname: task\nversion: 1\ndescription: A task managed by TaskNotes.\nmatch:\n where:\n tags:\n contains: task\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n type: object\n additionalProperties: true\n properties:\n id:\n type: string\n minLength: 1\n title:\n type: string\n minLength: 1\n status:\n enum: &a2\n - none\n - open\n - in-progress\n - done\n - cancelled\n default: open\n priority:\n enum: &a4\n - none\n - low\n - normal\n - high\n default: normal\n due: &a1\n anyOf:\n - type: string\n format: date\n - type: string\n format: date-time\n scheduled: *a1\n contexts:\n type: array\n items:\n type: string\n projects:\n type: array\n items:\n type: string\n timeEstimate:\n type: integer\n minimum: 0\n completedDate:\n type: string\n format: date\n dateCreated:\n type: string\n format: date-time\n dateModified:\n type: string\n format: date-time\n recurrence:\n type: string\n recurrence_anchor:\n enum:\n - scheduled\n - completion\n default: scheduled\n occurrence_materialization:\n enum:\n - manual\n - on_completion\n - rolling\n default: manual\n occurrence_next_trigger:\n enum:\n - completion\n - completion_or_skip\n default: completion\n occurrence_template:\n type: string\n occurrence_past_horizon:\n type: string\n occurrence_future_horizon:\n type: string\n recurrence_parent:\n type: string\n occurrence_date:\n type: string\n format: date\n tags:\n type: array\n items:\n type: string\n timeEntries:\n type: array\n items:\n type: object\n additionalProperties: false\n properties:\n startTime:\n type: string\n format: date-time\n endTime:\n type: string\n format: date-time\n description:\n type: string\n duration:\n type: integer\n reminders:\n type: array\n items:\n oneOf:\n - type: object\n required:\n - id\n - type\n - absoluteTime\n additionalProperties: false\n properties:\n id:\n type: string\n type:\n const: absolute\n description:\n type: string\n absoluteTime:\n type: string\n format: date-time\n - type: object\n required:\n - id\n - type\n - relatedTo\n - offset\n additionalProperties: false\n properties:\n id:\n type: string\n type:\n const: relative\n description:\n type: string\n relatedTo:\n enum:\n - due\n - scheduled\n offset:\n type: string\n blockedBy:\n type: array\n items:\n type: object\n additionalProperties: false\n properties:\n uid:\n type: string\n reltype:\n type: string\n gap:\n type: string\n required:\n - uid\n complete_instances:\n type: array\n items:\n type: string\n format: date\n skipped_instances:\n type: array\n items:\n type: string\n format: date\n icsEventId:\n type: array\n items:\n type: string\n googleCalendarEventId:\n type: string\n googleCalendarExceptionEventId:\n type: string\n googleCalendarExceptionOriginalScheduled:\n type: string\n format: date\n googleCalendarMovedOriginalDates:\n type: array\n items:\n type: string\n format: date\n tasknotes_manual_order:\n type: string\n allOf:\n - if:\n required:\n - status\n properties:\n status:\n enum: &a3\n - done\n not:\n required:\n - recurrence\n then:\n required:\n - completedDate\n required:\n - title\n - status\n - dateCreated\ncollection:\n read_defaults:\n status: open\n priority: normal\n recurrence_anchor: scheduled\n occurrence_materialization: manual\n occurrence_next_trigger: completion\n links:\n projects[]:\n target_type: any\n validate_exists: false\n occurrence_template:\n target_type: any\n validate_exists: false\n recurrence_parent:\n target_type: task\n validate_exists: false\n blockedBy[].uid:\n target_type: task\n validate_exists: false\n path:\n runtime: tasknotes\n template: \"{{zettel}}\"\n folder: tasks\n generated_by: tasknotes.filename.create\n display:\n name_field: title\n unique:\n - field: id\n scope: type\nlifecycle:\n on_create:\n set:\n id:\n uuid: true\n dateCreated:\n now: true\n dateModified:\n now: true\n on_update:\n set:\n dateModified:\n now: true\nimplements:\n - contract: tasknotes.task\n version: 0.3.0-rc.1\n fields:\n id: id\n title: title\n status: status\n priority: priority\n due: due\n scheduled: scheduled\n contexts: contexts\n projects: projects\n timeEstimate: timeEstimate\n completedDate: completedDate\n dateCreated: dateCreated\n dateModified: dateModified\n recurrence: recurrence\n recurrenceAnchor: recurrence_anchor\n occurrenceMaterialization: occurrence_materialization\n occurrenceNextTrigger: occurrence_next_trigger\n occurrenceTemplate: occurrence_template\n occurrencePastHorizon: occurrence_past_horizon\n occurrenceFutureHorizon: occurrence_future_horizon\n recurrenceParent: recurrence_parent\n occurrenceDate: occurrence_date\n tags: tags\n timeEntries: timeEntries\n reminders: reminders\n blockedBy: blockedBy\n completeInstances: complete_instances\n skippedInstances: skipped_instances\n icsEventId: icsEventId\n googleCalendarEventId: googleCalendarEventId\n googleCalendarExceptionEventId: googleCalendarExceptionEventId\n googleCalendarExceptionOriginalScheduled: googleCalendarExceptionOriginalScheduled\n googleCalendarMovedOriginalDates: googleCalendarMovedOriginalDates\n sortOrder: tasknotes_manual_order\n binding:\n profiles:\n - core-lite\n - recurrence\n - materialized-occurrences\n capabilities:\n - dependencies\n - reminders\n - links\n - time-tracking\n - materialized-occurrences\n - archive\n - templating\n title:\n storage: frontmatter\n filename_format: zettel\n status:\n values: *a2\n default: open\n completed_values: *a3\n skipped_values:\n - cancelled\n default_skipped: cancelled\n definitions:\n - value: none\n label: None\n color: \"#cccccc\"\n is_completed: false\n is_skipped: false\n exclude_from_cycle: false\n order: 0\n auto_archive: false\n auto_archive_delay_minutes: 5\n - value: open\n label: Open\n color: \"#808080\"\n is_completed: false\n is_skipped: false\n exclude_from_cycle: false\n order: 1\n auto_archive: false\n auto_archive_delay_minutes: 5\n - value: in-progress\n label: In progress\n color: \"#0066cc\"\n is_completed: false\n is_skipped: false\n exclude_from_cycle: false\n order: 2\n auto_archive: false\n auto_archive_delay_minutes: 5\n - value: done\n label: Done\n color: \"#00aa00\"\n is_completed: true\n is_skipped: false\n exclude_from_cycle: false\n order: 3\n auto_archive: false\n auto_archive_delay_minutes: 5\n - value: cancelled\n label: Cancelled\n color: \"#808080\"\n is_completed: false\n is_skipped: true\n exclude_from_cycle: true\n order: 4\n auto_archive: false\n auto_archive_delay_minutes: 5\n priority:\n values: *a4\n default: normal\n definitions:\n - value: none\n label: None\n color: \"#cccccc\"\n weight: 0\n - value: low\n label: Low\n color: \"#00aa00\"\n weight: 1\n - value: normal\n label: Normal\n color: \"#ffaa00\"\n weight: 2\n - value: high\n label: High\n color: \"#ff0000\"\n weight: 3\n recurrence:\n syntax: tasknotes\n maintain_due_date_offset: true\n reset_body_checkboxes: false\n occurrences:\n identity_roles:\n - recurrenceParent\n - occurrenceDate\n default_materialization: manual\n default_next_trigger: completion\n past_horizon: P0D\n future_horizon: P14D\n links:\n accepted_formats:\n - wikilink\n - markdown\n write_format: wikilink\n archive:\n archived_tag: archived\n move_on_archive: false\n time_tracking:\n auto_stop_on_complete: false\n templating:\n enabled: false\n occurrence_enabled: false\nx-tasknotes-generator:\n managed_fields:\n - blockedBy\n - complete_instances\n - completedDate\n - contexts\n - dateCreated\n - dateModified\n - due\n - googleCalendarEventId\n - googleCalendarExceptionEventId\n - googleCalendarExceptionOriginalScheduled\n - googleCalendarMovedOriginalDates\n - icsEventId\n - id\n - occurrence_date\n - occurrence_future_horizon\n - occurrence_materialization\n - occurrence_next_trigger\n - occurrence_past_horizon\n - occurrence_template\n - priority\n - projects\n - recurrence\n - recurrence_anchor\n - recurrence_parent\n - reminders\n - scheduled\n - skipped_instances\n - status\n - tags\n - tasknotes_manual_order\n - timeEntries\n - timeEstimate\n - title\n---\n# Task\n\nTask records live under `tasks/`.\n" + "document": "---\nkind: mdbase.type\nname: task\nversion: 1\ndescription: A task managed by TaskNotes.\nmatch:\n where:\n tags:\n contains: task\nschema:\n dialect: json-schema-2020-12\n value:\n $schema: https://json-schema.org/draft/2020-12/schema\n type: object\n additionalProperties: true\n properties:\n id:\n type: string\n minLength: 1\n title:\n type: string\n minLength: 1\n status:\n enum: &a2\n - none\n - open\n - in-progress\n - done\n - cancelled\n default: open\n priority:\n enum: &a4\n - none\n - low\n - normal\n - high\n default: normal\n due: &a1\n anyOf:\n - type: string\n format: date\n - type: string\n format: date-time\n scheduled: *a1\n contexts:\n type: array\n items:\n type: string\n projects:\n type: array\n items:\n type: string\n attachments:\n type: array\n items:\n type: string\n minLength: 1\n uniqueItems: true\n timeEstimate:\n type: integer\n minimum: 0\n completedDate:\n type: string\n format: date\n dateCreated:\n type: string\n format: date-time\n dateModified:\n type: string\n format: date-time\n recurrence:\n type: string\n recurrence_anchor:\n enum:\n - scheduled\n - completion\n default: scheduled\n occurrence_materialization:\n enum:\n - manual\n - on_completion\n - rolling\n default: manual\n occurrence_next_trigger:\n enum:\n - completion\n - completion_or_skip\n default: completion\n occurrence_template:\n type: string\n occurrence_past_horizon:\n type: string\n occurrence_future_horizon:\n type: string\n recurrence_parent:\n type: string\n occurrence_date:\n type: string\n format: date\n tags:\n type: array\n items:\n type: string\n timeEntries:\n type: array\n items:\n type: object\n additionalProperties: false\n properties:\n startTime:\n type: string\n format: date-time\n endTime:\n type: string\n format: date-time\n description:\n type: string\n duration:\n type: integer\n reminders:\n type: array\n items:\n oneOf:\n - type: object\n required:\n - id\n - type\n - absoluteTime\n additionalProperties: false\n properties:\n id:\n type: string\n type:\n const: absolute\n description:\n type: string\n absoluteTime:\n type: string\n format: date-time\n - type: object\n required:\n - id\n - type\n - relatedTo\n - offset\n additionalProperties: false\n properties:\n id:\n type: string\n type:\n const: relative\n description:\n type: string\n relatedTo:\n enum:\n - due\n - scheduled\n offset:\n type: string\n blockedBy:\n type: array\n items:\n type: object\n additionalProperties: false\n properties:\n uid:\n type: string\n reltype:\n type: string\n gap:\n type: string\n required:\n - uid\n complete_instances:\n type: array\n items:\n type: string\n format: date\n skipped_instances:\n type: array\n items:\n type: string\n format: date\n icsEventId:\n type: array\n items:\n type: string\n googleCalendarEventId:\n type: string\n googleCalendarExceptionEventId:\n type: string\n googleCalendarExceptionOriginalScheduled:\n type: string\n format: date\n googleCalendarMovedOriginalDates:\n type: array\n items:\n type: string\n format: date\n tasknotes_manual_order:\n type: string\n allOf:\n - if:\n required:\n - status\n properties:\n status:\n enum: &a3\n - done\n not:\n required:\n - recurrence\n then:\n required:\n - completedDate\n required:\n - title\n - status\n - dateCreated\ncollection:\n read_defaults:\n status: open\n priority: normal\n recurrence_anchor: scheduled\n occurrence_materialization: manual\n occurrence_next_trigger: completion\n links:\n projects[]:\n target_type: any\n validate_exists: false\n attachments[]:\n validate_exists: false\n occurrence_template:\n target_type: any\n validate_exists: false\n recurrence_parent:\n target_type: task\n validate_exists: false\n blockedBy[].uid:\n target_type: task\n validate_exists: false\n path:\n runtime: tasknotes\n template: \"{{zettel}}\"\n folder: tasks\n generated_by: tasknotes.filename.create\n display:\n name_field: title\n unique:\n - field: id\n scope: type\nlifecycle:\n on_create:\n set:\n id:\n uuid: true\n dateCreated:\n now: true\n dateModified:\n now: true\n on_update:\n set:\n dateModified:\n now: true\nimplements:\n - contract: tasknotes.task\n version: 0.3.0-rc.3\n fields:\n id: id\n title: title\n status: status\n priority: priority\n due: due\n scheduled: scheduled\n contexts: contexts\n projects: projects\n attachments: attachments\n timeEstimate: timeEstimate\n completedDate: completedDate\n dateCreated: dateCreated\n dateModified: dateModified\n recurrence: recurrence\n recurrenceAnchor: recurrence_anchor\n occurrenceMaterialization: occurrence_materialization\n occurrenceNextTrigger: occurrence_next_trigger\n occurrenceTemplate: occurrence_template\n occurrencePastHorizon: occurrence_past_horizon\n occurrenceFutureHorizon: occurrence_future_horizon\n recurrenceParent: recurrence_parent\n occurrenceDate: occurrence_date\n tags: tags\n timeEntries: timeEntries\n reminders: reminders\n blockedBy: blockedBy\n completeInstances: complete_instances\n skippedInstances: skipped_instances\n icsEventId: icsEventId\n googleCalendarEventId: googleCalendarEventId\n googleCalendarExceptionEventId: googleCalendarExceptionEventId\n googleCalendarExceptionOriginalScheduled: googleCalendarExceptionOriginalScheduled\n googleCalendarMovedOriginalDates: googleCalendarMovedOriginalDates\n sortOrder: tasknotes_manual_order\n binding:\n profiles:\n - core-lite\n - recurrence\n - materialized-occurrences\n capabilities:\n - dependencies\n - reminders\n - attachments\n - links\n - time-tracking\n - materialized-occurrences\n - archive\n - templating\n title:\n storage: frontmatter\n filename_format: zettel\n status:\n values: *a2\n default: open\n completed_values: *a3\n skipped_values:\n - cancelled\n default_skipped: cancelled\n definitions:\n - value: none\n label: None\n color: \"#cccccc\"\n is_completed: false\n is_skipped: false\n exclude_from_cycle: false\n order: 0\n auto_archive: false\n auto_archive_delay_minutes: 5\n - value: open\n label: Open\n color: \"#808080\"\n is_completed: false\n is_skipped: false\n exclude_from_cycle: false\n order: 1\n auto_archive: false\n auto_archive_delay_minutes: 5\n - value: in-progress\n label: In progress\n color: \"#0066cc\"\n is_completed: false\n is_skipped: false\n exclude_from_cycle: false\n order: 2\n auto_archive: false\n auto_archive_delay_minutes: 5\n - value: done\n label: Done\n color: \"#00aa00\"\n is_completed: true\n is_skipped: false\n exclude_from_cycle: false\n order: 3\n auto_archive: false\n auto_archive_delay_minutes: 5\n - value: cancelled\n label: Cancelled\n color: \"#808080\"\n is_completed: false\n is_skipped: true\n exclude_from_cycle: true\n order: 4\n auto_archive: false\n auto_archive_delay_minutes: 5\n priority:\n values: *a4\n default: normal\n definitions:\n - value: none\n label: None\n color: \"#cccccc\"\n weight: 0\n - value: low\n label: Low\n color: \"#00aa00\"\n weight: 1\n - value: normal\n label: Normal\n color: \"#ffaa00\"\n weight: 2\n - value: high\n label: High\n color: \"#ff0000\"\n weight: 3\n recurrence:\n syntax: tasknotes\n maintain_due_date_offset: true\n reset_body_checkboxes: false\n occurrences:\n identity_roles:\n - recurrenceParent\n - occurrenceDate\n default_materialization: manual\n default_next_trigger: completion\n past_horizon: P0D\n future_horizon: P14D\n links:\n accepted_formats:\n - wikilink\n - markdown\n write_format: wikilink\n archive:\n archived_tag: archived\n move_on_archive: false\n time_tracking:\n auto_stop_on_complete: false\n templating:\n enabled: false\n occurrence_enabled: false\nx-tasknotes-generator:\n managed_fields:\n - attachments\n - blockedBy\n - complete_instances\n - completedDate\n - contexts\n - dateCreated\n - dateModified\n - due\n - googleCalendarEventId\n - googleCalendarExceptionEventId\n - googleCalendarExceptionOriginalScheduled\n - googleCalendarMovedOriginalDates\n - icsEventId\n - id\n - occurrence_date\n - occurrence_future_horizon\n - occurrence_materialization\n - occurrence_next_trigger\n - occurrence_past_horizon\n - occurrence_template\n - priority\n - projects\n - recurrence\n - recurrence_anchor\n - recurrence_parent\n - reminders\n - scheduled\n - skipped_instances\n - status\n - tags\n - tasknotes_manual_order\n - timeEntries\n - timeEstimate\n - title\n---\n# Task\n\nTask records live under `tasks/`.\n" }, { "source": "schemas/tasknotes-task.schema.json", - "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://tasknotes.dev/schemas/tasknotes-task.schema.json\",\n \"title\": \"TaskNotes portable task view\",\n \"description\": \"The storage-neutral record view exposed by the tasknotes.task 0.3.0-rc.1 record contract.\",\n \"type\": \"object\",\n \"required\": [\n \"status\",\n \"dateCreated\"\n ],\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"title\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"status\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"priority\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"due\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"format\": \"date\"\n },\n {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n ]\n },\n \"scheduled\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"format\": \"date\"\n },\n {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n ]\n },\n \"contexts\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"projects\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"timeEstimate\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"completedDate\": {\n \"type\": \"string\",\n \"format\": \"date\"\n },\n \"dateCreated\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"dateModified\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"recurrence\": {\n \"type\": \"string\"\n },\n \"recurrenceAnchor\": {\n \"enum\": [\n \"scheduled\",\n \"completion\"\n ]\n },\n \"recurrenceParent\": {\n \"type\": \"string\"\n },\n \"occurrenceDate\": {\n \"type\": \"string\",\n \"format\": \"date\"\n },\n \"occurrenceMaterialization\": {\n \"enum\": [\n \"manual\",\n \"on_completion\",\n \"rolling\"\n ]\n },\n \"occurrenceNextTrigger\": {\n \"enum\": [\n \"completion\",\n \"completion_or_skip\"\n ]\n },\n \"occurrenceTemplate\": {\n \"type\": \"string\"\n },\n \"occurrencePastHorizon\": {\n \"type\": \"string\"\n },\n \"occurrenceFutureHorizon\": {\n \"type\": \"string\"\n },\n \"tags\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"timeEntries\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\"\n }\n },\n \"reminders\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\"\n }\n },\n \"blockedBy\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\"\n }\n },\n \"completeInstances\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"format\": \"date\"\n }\n },\n \"skippedInstances\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"format\": \"date\"\n }\n },\n \"icsEventId\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"googleCalendarEventId\": {\n \"type\": \"string\"\n },\n \"googleCalendarExceptionEventId\": {\n \"type\": \"string\"\n },\n \"googleCalendarExceptionOriginalScheduled\": {\n \"type\": \"string\",\n \"format\": \"date\"\n },\n \"googleCalendarMovedOriginalDates\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"format\": \"date\"\n }\n },\n \"sortOrder\": {\n \"type\": \"string\"\n }\n }\n}\n" + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://tasknotes.dev/schemas/tasknotes-task.schema.json\",\n \"title\": \"TaskNotes portable task view\",\n \"description\": \"The storage-neutral record view exposed by the tasknotes.task 0.3.0-rc.3 record contract.\",\n \"type\": \"object\",\n \"required\": [\n \"status\",\n \"dateCreated\"\n ],\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"title\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"status\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"priority\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"due\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"format\": \"date\"\n },\n {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n ]\n },\n \"scheduled\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"format\": \"date\"\n },\n {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n ]\n },\n \"contexts\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"projects\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"attachments\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"timeEstimate\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"completedDate\": {\n \"type\": \"string\",\n \"format\": \"date\"\n },\n \"dateCreated\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"dateModified\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"recurrence\": {\n \"type\": \"string\"\n },\n \"recurrenceAnchor\": {\n \"enum\": [\n \"scheduled\",\n \"completion\"\n ]\n },\n \"recurrenceParent\": {\n \"type\": \"string\"\n },\n \"occurrenceDate\": {\n \"type\": \"string\",\n \"format\": \"date\"\n },\n \"occurrenceMaterialization\": {\n \"enum\": [\n \"manual\",\n \"on_completion\",\n \"rolling\"\n ]\n },\n \"occurrenceNextTrigger\": {\n \"enum\": [\n \"completion\",\n \"completion_or_skip\"\n ]\n },\n \"occurrenceTemplate\": {\n \"type\": \"string\"\n },\n \"occurrencePastHorizon\": {\n \"type\": \"string\"\n },\n \"occurrenceFutureHorizon\": {\n \"type\": \"string\"\n },\n \"tags\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"timeEntries\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\"\n }\n },\n \"reminders\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\"\n }\n },\n \"blockedBy\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\"\n }\n },\n \"completeInstances\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"format\": \"date\"\n }\n },\n \"skippedInstances\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"format\": \"date\"\n }\n },\n \"icsEventId\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"googleCalendarEventId\": {\n \"type\": \"string\"\n },\n \"googleCalendarExceptionEventId\": {\n \"type\": \"string\"\n },\n \"googleCalendarExceptionOriginalScheduled\": {\n \"type\": \"string\",\n \"format\": \"date\"\n },\n \"googleCalendarMovedOriginalDates\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"format\": \"date\"\n }\n },\n \"sortOrder\": {\n \"type\": \"string\"\n }\n }\n}\n" }, { "source": "schemas/tasknotes-task-binding.schema.json", - "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://tasknotes.dev/schemas/tasknotes-task-binding.schema.json\",\n \"title\": \"TaskNotes task data-contract binding\",\n \"description\": \"Semantic configuration supplied by an mdbase type that implements tasknotes.task 0.3.0-rc.1.\",\n \"type\": \"object\",\n \"required\": [\n \"profiles\",\n \"capabilities\",\n \"title\",\n \"status\",\n \"priority\",\n \"recurrence\",\n \"occurrences\",\n \"links\",\n \"archive\",\n \"time_tracking\",\n \"templating\"\n ],\n \"properties\": {\n \"profiles\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"uniqueItems\": true,\n \"items\": {\n \"enum\": [\n \"core-lite\",\n \"recurrence\",\n \"templating\",\n \"materialized-occurrences\",\n \"extended\"\n ]\n }\n },\n \"capabilities\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"enum\": [\n \"dependencies\",\n \"reminders\",\n \"links\",\n \"time-tracking\",\n \"materialized-occurrences\",\n \"rename\",\n \"archive\",\n \"batch\",\n \"concurrency\",\n \"dry-run\",\n \"migration\",\n \"templating\"\n ]\n }\n },\n \"title\": {\n \"$ref\": \"#/$defs/titlePolicy\"\n },\n \"status\": {\n \"$ref\": \"#/$defs/statusPolicy\"\n },\n \"priority\": {\n \"$ref\": \"#/$defs/priorityPolicy\"\n },\n \"runtime_timezone\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"recurrence\": {\n \"$ref\": \"#/$defs/recurrencePolicy\"\n },\n \"occurrences\": {\n \"$ref\": \"#/$defs/occurrencePolicy\"\n },\n \"links\": {\n \"$ref\": \"#/$defs/linkPolicy\"\n },\n \"archive\": {\n \"$ref\": \"#/$defs/archivePolicy\"\n },\n \"time_tracking\": {\n \"$ref\": \"#/$defs/timeTrackingPolicy\"\n },\n \"templating\": {\n \"$ref\": \"#/$defs/templatingPolicy\"\n },\n \"nlp\": {\n \"$ref\": \"#/$defs/nlpPolicy\"\n }\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"nonEmptyString\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"stringSet\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n }\n },\n \"titlePolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"storage\"\n ],\n \"properties\": {\n \"storage\": {\n \"enum\": [\n \"filename\",\n \"frontmatter\"\n ]\n },\n \"filename_format\": {\n \"enum\": [\n \"title\",\n \"zettel\",\n \"timestamp\",\n \"uuid\",\n \"custom\"\n ]\n },\n \"custom_filename_template\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n }\n },\n \"allOf\": [\n {\n \"if\": {\n \"properties\": {\n \"filename_format\": {\n \"const\": \"custom\"\n }\n },\n \"required\": [\n \"filename_format\"\n ]\n },\n \"then\": {\n \"properties\": {\n \"custom_filename_template\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n }\n },\n \"required\": [\n \"custom_filename_template\"\n ]\n }\n }\n ],\n \"additionalProperties\": true\n },\n \"statusDefinition\": {\n \"type\": \"object\",\n \"required\": [\n \"value\",\n \"label\",\n \"color\",\n \"is_completed\",\n \"is_skipped\",\n \"exclude_from_cycle\",\n \"order\",\n \"auto_archive\",\n \"auto_archive_delay_minutes\"\n ],\n \"properties\": {\n \"value\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"label\": {\n \"type\": \"string\"\n },\n \"color\": {\n \"type\": \"string\"\n },\n \"icon\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"is_completed\": {\n \"type\": \"boolean\"\n },\n \"is_skipped\": {\n \"type\": \"boolean\"\n },\n \"exclude_from_cycle\": {\n \"type\": \"boolean\"\n },\n \"next_status\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"order\": {\n \"type\": \"number\"\n },\n \"auto_archive\": {\n \"type\": \"boolean\"\n },\n \"auto_archive_delay_minutes\": {\n \"type\": \"number\",\n \"minimum\": 0\n }\n },\n \"additionalProperties\": true\n },\n \"statusPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"values\",\n \"default\",\n \"completed_values\",\n \"definitions\"\n ],\n \"properties\": {\n \"values\": {\n \"$ref\": \"#/$defs/stringSet\"\n },\n \"default\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"completed_values\": {\n \"$ref\": \"#/$defs/stringSet\"\n },\n \"skipped_values\": {\n \"$ref\": \"#/$defs/stringSet\"\n },\n \"default_skipped\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"definitions\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/statusDefinition\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"priorityDefinition\": {\n \"type\": \"object\",\n \"required\": [\n \"value\",\n \"label\",\n \"color\",\n \"weight\"\n ],\n \"properties\": {\n \"value\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"label\": {\n \"type\": \"string\"\n },\n \"color\": {\n \"type\": \"string\"\n },\n \"icon\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"weight\": {\n \"type\": \"number\"\n }\n },\n \"additionalProperties\": true\n },\n \"priorityPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"values\",\n \"default\",\n \"definitions\"\n ],\n \"properties\": {\n \"values\": {\n \"$ref\": \"#/$defs/stringSet\"\n },\n \"default\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"definitions\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/priorityDefinition\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"recurrencePolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"syntax\",\n \"maintain_due_date_offset\",\n \"reset_body_checkboxes\"\n ],\n \"properties\": {\n \"syntax\": {\n \"const\": \"tasknotes\"\n },\n \"maintain_due_date_offset\": {\n \"type\": \"boolean\"\n },\n \"reset_body_checkboxes\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"occurrencePolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"identity_roles\",\n \"default_materialization\",\n \"default_next_trigger\"\n ],\n \"properties\": {\n \"identity_roles\": {\n \"const\": [\n \"recurrenceParent\",\n \"occurrenceDate\"\n ]\n },\n \"default_materialization\": {\n \"enum\": [\n \"manual\",\n \"on_completion\",\n \"rolling\"\n ]\n },\n \"default_next_trigger\": {\n \"enum\": [\n \"completion\",\n \"completion_or_skip\"\n ]\n },\n \"past_horizon\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"future_horizon\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n }\n },\n \"additionalProperties\": false\n },\n \"linkPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"accepted_formats\",\n \"write_format\"\n ],\n \"properties\": {\n \"accepted_formats\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"uniqueItems\": true,\n \"items\": {\n \"enum\": [\n \"wikilink\",\n \"markdown\"\n ]\n }\n },\n \"write_format\": {\n \"enum\": [\n \"wikilink\",\n \"markdown\"\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"archivePolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"archived_tag\",\n \"move_on_archive\"\n ],\n \"properties\": {\n \"archived_tag\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"move_on_archive\": {\n \"type\": \"boolean\"\n },\n \"folder\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n }\n },\n \"additionalProperties\": false\n },\n \"timeTrackingPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"auto_stop_on_complete\"\n ],\n \"properties\": {\n \"auto_stop_on_complete\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"templatingPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"enabled\",\n \"occurrence_enabled\"\n ],\n \"properties\": {\n \"enabled\": {\n \"type\": \"boolean\"\n },\n \"template_path\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"occurrence_enabled\": {\n \"type\": \"boolean\"\n },\n \"occurrence_template_path\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"failure_mode\": {\n \"enum\": [\n \"error\",\n \"warning_fallback\"\n ]\n },\n \"unknown_variable_policy\": {\n \"enum\": [\n \"preserve\",\n \"empty\"\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"nlpTrigger\": {\n \"type\": \"object\",\n \"required\": [\n \"property_id\",\n \"trigger\",\n \"enabled\"\n ],\n \"properties\": {\n \"property_id\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"trigger\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"enabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"nlpPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"triggers\"\n ],\n \"properties\": {\n \"triggers\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/nlpTrigger\"\n }\n }\n },\n \"additionalProperties\": false\n }\n }\n}\n" + "document": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://tasknotes.dev/schemas/tasknotes-task-binding.schema.json\",\n \"title\": \"TaskNotes task data-contract binding\",\n \"description\": \"Semantic configuration supplied by an mdbase type that implements tasknotes.task 0.3.0-rc.3.\",\n \"type\": \"object\",\n \"required\": [\n \"profiles\",\n \"capabilities\",\n \"title\",\n \"status\",\n \"priority\",\n \"recurrence\",\n \"occurrences\",\n \"links\",\n \"archive\",\n \"time_tracking\",\n \"templating\"\n ],\n \"properties\": {\n \"profiles\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"uniqueItems\": true,\n \"items\": {\n \"enum\": [\n \"core-lite\",\n \"recurrence\",\n \"templating\",\n \"materialized-occurrences\",\n \"extended\"\n ]\n }\n },\n \"capabilities\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"enum\": [\n \"dependencies\",\n \"reminders\",\n \"attachments\",\n \"links\",\n \"time-tracking\",\n \"materialized-occurrences\",\n \"rename\",\n \"archive\",\n \"batch\",\n \"concurrency\",\n \"dry-run\",\n \"migration\",\n \"templating\"\n ]\n }\n },\n \"title\": {\n \"$ref\": \"#/$defs/titlePolicy\"\n },\n \"status\": {\n \"$ref\": \"#/$defs/statusPolicy\"\n },\n \"priority\": {\n \"$ref\": \"#/$defs/priorityPolicy\"\n },\n \"runtime_timezone\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"recurrence\": {\n \"$ref\": \"#/$defs/recurrencePolicy\"\n },\n \"occurrences\": {\n \"$ref\": \"#/$defs/occurrencePolicy\"\n },\n \"links\": {\n \"$ref\": \"#/$defs/linkPolicy\"\n },\n \"archive\": {\n \"$ref\": \"#/$defs/archivePolicy\"\n },\n \"time_tracking\": {\n \"$ref\": \"#/$defs/timeTrackingPolicy\"\n },\n \"templating\": {\n \"$ref\": \"#/$defs/templatingPolicy\"\n },\n \"nlp\": {\n \"$ref\": \"#/$defs/nlpPolicy\"\n }\n },\n \"additionalProperties\": false,\n \"$defs\": {\n \"nonEmptyString\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"stringSet\": {\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n }\n },\n \"titlePolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"storage\"\n ],\n \"properties\": {\n \"storage\": {\n \"enum\": [\n \"filename\",\n \"frontmatter\"\n ]\n },\n \"filename_format\": {\n \"enum\": [\n \"title\",\n \"zettel\",\n \"timestamp\",\n \"uuid\",\n \"custom\"\n ]\n },\n \"custom_filename_template\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n }\n },\n \"allOf\": [\n {\n \"if\": {\n \"properties\": {\n \"filename_format\": {\n \"const\": \"custom\"\n }\n },\n \"required\": [\n \"filename_format\"\n ]\n },\n \"then\": {\n \"properties\": {\n \"custom_filename_template\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n }\n },\n \"required\": [\n \"custom_filename_template\"\n ]\n }\n }\n ],\n \"additionalProperties\": true\n },\n \"statusDefinition\": {\n \"type\": \"object\",\n \"required\": [\n \"value\",\n \"label\",\n \"color\",\n \"is_completed\",\n \"is_skipped\",\n \"exclude_from_cycle\",\n \"order\",\n \"auto_archive\",\n \"auto_archive_delay_minutes\"\n ],\n \"properties\": {\n \"value\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"label\": {\n \"type\": \"string\"\n },\n \"color\": {\n \"type\": \"string\"\n },\n \"icon\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"is_completed\": {\n \"type\": \"boolean\"\n },\n \"is_skipped\": {\n \"type\": \"boolean\"\n },\n \"exclude_from_cycle\": {\n \"type\": \"boolean\"\n },\n \"next_status\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"order\": {\n \"type\": \"number\"\n },\n \"auto_archive\": {\n \"type\": \"boolean\"\n },\n \"auto_archive_delay_minutes\": {\n \"type\": \"number\",\n \"minimum\": 0\n }\n },\n \"additionalProperties\": true\n },\n \"statusPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"values\",\n \"default\",\n \"completed_values\",\n \"definitions\"\n ],\n \"properties\": {\n \"values\": {\n \"$ref\": \"#/$defs/stringSet\"\n },\n \"default\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"completed_values\": {\n \"$ref\": \"#/$defs/stringSet\"\n },\n \"skipped_values\": {\n \"$ref\": \"#/$defs/stringSet\"\n },\n \"default_skipped\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"definitions\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/statusDefinition\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"priorityDefinition\": {\n \"type\": \"object\",\n \"required\": [\n \"value\",\n \"label\",\n \"color\",\n \"weight\"\n ],\n \"properties\": {\n \"value\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"label\": {\n \"type\": \"string\"\n },\n \"color\": {\n \"type\": \"string\"\n },\n \"icon\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"weight\": {\n \"type\": \"number\"\n }\n },\n \"additionalProperties\": true\n },\n \"priorityPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"values\",\n \"default\",\n \"definitions\"\n ],\n \"properties\": {\n \"values\": {\n \"$ref\": \"#/$defs/stringSet\"\n },\n \"default\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"definitions\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/priorityDefinition\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"recurrencePolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"syntax\",\n \"maintain_due_date_offset\",\n \"reset_body_checkboxes\"\n ],\n \"properties\": {\n \"syntax\": {\n \"const\": \"tasknotes\"\n },\n \"maintain_due_date_offset\": {\n \"type\": \"boolean\"\n },\n \"reset_body_checkboxes\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"occurrencePolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"identity_roles\",\n \"default_materialization\",\n \"default_next_trigger\"\n ],\n \"properties\": {\n \"identity_roles\": {\n \"const\": [\n \"recurrenceParent\",\n \"occurrenceDate\"\n ]\n },\n \"default_materialization\": {\n \"enum\": [\n \"manual\",\n \"on_completion\",\n \"rolling\"\n ]\n },\n \"default_next_trigger\": {\n \"enum\": [\n \"completion\",\n \"completion_or_skip\"\n ]\n },\n \"past_horizon\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"future_horizon\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n }\n },\n \"additionalProperties\": false\n },\n \"linkPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"accepted_formats\",\n \"write_format\"\n ],\n \"properties\": {\n \"accepted_formats\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"uniqueItems\": true,\n \"items\": {\n \"enum\": [\n \"wikilink\",\n \"markdown\"\n ]\n }\n },\n \"write_format\": {\n \"enum\": [\n \"wikilink\",\n \"markdown\"\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"archivePolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"archived_tag\",\n \"move_on_archive\"\n ],\n \"properties\": {\n \"archived_tag\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"move_on_archive\": {\n \"type\": \"boolean\"\n },\n \"folder\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n }\n },\n \"additionalProperties\": false\n },\n \"timeTrackingPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"auto_stop_on_complete\"\n ],\n \"properties\": {\n \"auto_stop_on_complete\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"templatingPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"enabled\",\n \"occurrence_enabled\"\n ],\n \"properties\": {\n \"enabled\": {\n \"type\": \"boolean\"\n },\n \"template_path\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"occurrence_enabled\": {\n \"type\": \"boolean\"\n },\n \"occurrence_template_path\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"failure_mode\": {\n \"enum\": [\n \"error\",\n \"warning_fallback\"\n ]\n },\n \"unknown_variable_policy\": {\n \"enum\": [\n \"preserve\",\n \"empty\"\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"nlpTrigger\": {\n \"type\": \"object\",\n \"required\": [\n \"property_id\",\n \"trigger\",\n \"enabled\"\n ],\n \"properties\": {\n \"property_id\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"trigger\": {\n \"$ref\": \"#/$defs/nonEmptyString\"\n },\n \"enabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"nlpPolicy\": {\n \"type\": \"object\",\n \"required\": [\n \"triggers\"\n ],\n \"properties\": {\n \"triggers\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/nlpTrigger\"\n }\n }\n },\n \"additionalProperties\": false\n }\n }\n}\n" } ], "provides": [ { "id": "tasknotes.task", - "version": "0.3.0-rc.1" + "version": "0.3.0-rc.3" } ] } diff --git a/src/native/folder-access.ts b/src/native/folder-access.ts index 07947a3..8c4aecf 100644 --- a/src/native/folder-access.ts +++ b/src/native/folder-access.ts @@ -32,11 +32,20 @@ interface FolderAccessPlugin { selectionId: string; path: string; }): Promise<{ data: string }>; + readBinary(options: { + selectionId: string; + path: string; + }): Promise<{ data: string }>; writeText(options: { selectionId: string; path: string; data: string; }): Promise<{ entry: NativeFolderEntry }>; + writeBinary(options: { + selectionId: string; + path: string; + data: string; + }): Promise<{ entry: NativeFolderEntry }>; rename(options: { selectionId: string; from: string; diff --git a/src/storage/cloud-repository.test.ts b/src/storage/cloud-repository.test.ts index af37058..d2a332e 100644 --- a/src/storage/cloud-repository.test.ts +++ b/src/storage/cloud-repository.test.ts @@ -32,7 +32,7 @@ function resources(): SyncCollectionResources { const implementation = type.implements.find( (candidate) => candidate.contract === "tasknotes.task" && - candidate.version === "0.3.0-rc.1", + candidate.version === "0.3.0-rc.3", )!; return { revision: crypto.randomUUID(), @@ -51,7 +51,7 @@ function resources(): SyncCollectionResources { { id: "tasknotes.task", contract_type: "record", - version: "0.3.0-rc.1", + version: "0.3.0-rc.3", digest: `sha256:${"0".repeat(64)}`, schema: generated.taskSchema, binding_schema: generated.bindingSchema, diff --git a/src/storage/cloud-repository.ts b/src/storage/cloud-repository.ts index 0506df1..0e6e06f 100644 --- a/src/storage/cloud-repository.ts +++ b/src/storage/cloud-repository.ts @@ -29,6 +29,7 @@ import { } from "../domain/task-occurrence"; import { runMdbaseMutation } from "./mdbase-mutation-coordinator"; import { MdbaseCollectionFileStore } from "./mdbase-files"; +import { LocalFirstMdbaseFileStore } from "./local-first-mdbase-files"; import { connectedTaskRelationships, connectedTaskSignature as signature, @@ -89,7 +90,7 @@ interface CachedCloudTask { } export class CloudTaskRepository implements TaskRepository { - readonly files: MdbaseCollectionFileStore; + readonly files: LocalFirstMdbaseFileStore; private replica: OfflineReplica | null = null; private model = new TaskNotesTaskModel(); private resources: SyncCollectionResources | null = null; @@ -119,7 +120,10 @@ export class CloudTaskRepository implements TaskRepository { private syncInFlight: Promise | null = null; constructor(private readonly connect: MdbaseConnection) { - this.files = new MdbaseCollectionFileStore(connect); + this.files = new LocalFirstMdbaseFileStore( + new MdbaseCollectionFileStore(connect), + connect.collectionId, + ); } initialize(): Promise { @@ -128,6 +132,7 @@ export class CloudTaskRepository implements TaskRepository { } private async initializeUnlocked(): Promise { + await this.files.sync().catch(() => undefined); const sync = this.connect.sync(); if (!sync) { throw new Error( diff --git a/src/storage/collection-migration.test.ts b/src/storage/collection-migration.test.ts index b5d93fa..e2c487d 100644 --- a/src/storage/collection-migration.test.ts +++ b/src/storage/collection-migration.test.ts @@ -19,7 +19,7 @@ describe("managed TaskNotes type upgrades", () => { ).find( (candidate) => candidate.contract === "tasknotes.task" && - candidate.version === "0.3.0-rc.1", + candidate.version === "0.3.0-rc.3", )!; const extension = implementation.binding as Record; extension.profiles = ["core-lite"]; @@ -42,7 +42,7 @@ describe("managed TaskNotes type upgrades", () => { ).find( (candidate) => candidate.contract === "tasknotes.task" && - candidate.version === "0.3.0-rc.1", + candidate.version === "0.3.0-rc.3", )!; const upgradedExtension = upgradedImplementation.binding as Record< string, diff --git a/src/storage/collection-migration.ts b/src/storage/collection-migration.ts index 59addf1..ffd3521 100644 --- a/src/storage/collection-migration.ts +++ b/src/storage/collection-migration.ts @@ -1,3 +1,5 @@ +import { TASKNOTES_SPEC_VERSION } from "@tasknotes/model/types"; + export interface ManagedTypeUpgrade { changed: boolean; frontmatter: Record; @@ -21,7 +23,7 @@ export function upgradeManagedTaskType( source.description === "A TaskNotes-compatible task." && record(properties.mobileRevision).type === "integer" && implementation.contract === "tasknotes.task" && - implementation.version === "0.3.0-rc.1"; + implementation.version === TASKNOTES_SPEC_VERSION; if (!managed) { return { changed: false, frontmatter: source, completedField }; } @@ -162,7 +164,7 @@ function taskNotesImplementation( .find( (implementation) => implementation.contract === "tasknotes.task" && - implementation.version === "0.3.0-rc.1", + implementation.version === TASKNOTES_SPEC_VERSION, ) ?? {} ); } @@ -176,7 +178,7 @@ function replaceTaskNotesImplementation( const next = implementations.map((implementation) => { if ( implementation.contract !== "tasknotes.task" || - implementation.version !== "0.3.0-rc.1" + implementation.version !== TASKNOTES_SPEC_VERSION ) return implementation; replaced = true; diff --git a/src/storage/collection-transfer.test.ts b/src/storage/collection-transfer.test.ts index 6600829..7b16706 100644 --- a/src/storage/collection-transfer.test.ts +++ b/src/storage/collection-transfer.test.ts @@ -6,6 +6,7 @@ import { type AuthorityAdoptionSession, type AuthorityAdoptionView, type PreparedAuthorityAdoption, + type UploadAuthoritySnapshotOptions, } from "@mdbase-dev/connect-sync/adoption"; import type { AuthorityImportSnapshot } from "@mdbase-dev/connect-protocol"; import { beforeEach, describe, expect, it } from "vitest"; @@ -23,6 +24,7 @@ describe("local to hosted collection adoption", () => { it("uploads a replacement final snapshot after a late edit and archives the local authority", async () => { const source = await localCollection(); const snapshots: AuthorityImportSnapshot[] = []; + const uploadedFileBytes: Uint8Array[][] = []; const client = clientDouble({ afterFirstUpload: async () => { await source.vault.writeText( @@ -30,7 +32,18 @@ describe("local to hosted collection adoption", () => { "---\ntitle: Late\n---\nArrived during staging.\n", ); }, - upload: (snapshot) => snapshots.push(snapshot), + upload: async (snapshot, uploadOptions) => { + snapshots.push(snapshot); + uploadedFileBytes.push( + await Promise.all( + snapshot.files.map(async (file) => + Uint8Array.from( + await bytesFromSource(await uploadOptions?.fileSource?.(file)), + ), + ), + ), + ); + }, }); const result = await transferLocalCollectionToHosted({ @@ -42,6 +55,17 @@ describe("local to hosted collection adoption", () => { }); expect(snapshots).toHaveLength(2); + expect(snapshots[0].files).toEqual([ + expect.objectContaining({ + path: "Attachments/source.png", + media_type: "image/png", + media_class: "image", + }), + ]); + expect(uploadedFileBytes).toEqual([ + [Uint8Array.of(137, 80, 78, 71, 1)], + [Uint8Array.of(137, 80, 78, 71, 1)], + ]); expect(snapshots[0].records.map((record) => record.path)).toEqual([ "notes/context.md", "tasks/source.md", @@ -314,13 +338,20 @@ async function localCollection() { "views/tasks.base", "views:\n - type: table\n name: Tasks\n", ); + await vault.writeBinary( + "Attachments/source.png", + Uint8Array.of(137, 80, 78, 71, 1), + ); return { collection, taskId, vault }; } function clientDouble( options: { afterFirstUpload?: () => Promise; - upload?: (snapshot: AuthorityImportSnapshot) => void; + upload?: ( + snapshot: AuthorityImportSnapshot, + options?: UploadAuthoritySnapshotOptions, + ) => void | Promise; complete?: () => Promise; exchange?: | PreparedAuthorityAdoption @@ -399,9 +430,10 @@ function clientDouble( _session: AuthorityAdoptionSession, _prepared: PreparedAuthorityAdoption, snapshot: AuthorityImportSnapshot, + uploadOptions?: UploadAuthoritySnapshotOptions, ) => { uploads += 1; - options.upload?.(snapshot); + await options.upload?.(snapshot, uploadOptions); if (uploads === 1) await options.afterFirstUpload?.(); }, complete: async ( @@ -417,6 +449,17 @@ function clientDouble( } as unknown as AuthorityAdoptionClient; } +async function bytesFromSource( + source: Blob | ArrayBuffer | ArrayBufferView | undefined, +): Promise { + if (!source) + throw new Error("The adoption did not request attachment bytes."); + if (source instanceof Blob) return new Uint8Array(await source.arrayBuffer()); + if (ArrayBuffer.isView(source)) + return new Uint8Array(source.buffer, source.byteOffset, source.byteLength); + return new Uint8Array(source); +} + function adoptionView( snapshot: AuthorityImportSnapshot, state: "activating" | "completed", diff --git a/src/storage/collection-transfer.ts b/src/storage/collection-transfer.ts index e8cfb2c..31ad02e 100644 --- a/src/storage/collection-transfer.ts +++ b/src/storage/collection-transfer.ts @@ -4,12 +4,17 @@ import { AuthorityAdoptionOutcomeUnknownError, buildPortableAuthoritySnapshot, type AuthorityAdoptionSession, + type AuthorityImportFileSource, type AuthorityAdoptionVerification, type PreparedAuthorityAdoption, } from "@mdbase-dev/connect-sync/adoption"; -import type { AuthorityImportSnapshot } from "@mdbase-dev/connect-protocol"; +import type { + AuthorityImportSnapshot, + CollectionFileDescriptor, +} from "@mdbase-dev/connect-protocol"; import type { MarkdownCollection } from "./collection"; +import { isBinaryVault } from "./vault-contract"; export type CollectionTransferPhase = | "reading" @@ -157,13 +162,15 @@ export async function transferLocalCollectionToHosted({ onProgress?.({ phase: "uploading", completed: 0, - total: initial.records.length + initial.resources.documents!.length, + total: snapshotItemCount(initial.snapshot), + }); + await client.uploadSnapshot(session, prepared, initial.snapshot, { + fileSource: initial.fileSource, }); - await client.uploadSnapshot(session, prepared, initial); onProgress?.({ phase: "uploading", - completed: initial.records.length + initial.resources.documents!.length, - total: initial.records.length + initial.resources.documents!.length, + completed: snapshotItemCount(initial.snapshot), + total: snapshotItemCount(initial.snapshot), }); onProgress?.({ phase: "fencing", completed: 0, total: 1 }); @@ -171,26 +178,31 @@ export async function transferLocalCollectionToHosted({ const final = await capture(source); let activationAttempted = false; try { - await source.persistAuthorityAdoptionSnapshot(session.adoptionId, final); + await source.persistAuthorityAdoptionSnapshot( + session.adoptionId, + final.snapshot, + ); onCheckpoint?.({ session, snapshot: { - sourceRevision: final.source_revision, - manifestDigest: final.manifest_digest, - sourceHead: final.source_head, + sourceRevision: final.snapshot.source_revision, + manifestDigest: final.snapshot.manifest_digest, + sourceHead: final.snapshot.source_head, }, }); - if (!sameSnapshot(initial, final)) { + if (!sameSnapshot(initial.snapshot, final.snapshot)) { prepared = await requirePrepared(client, session); - await client.uploadSnapshot(session, prepared, final); + await client.uploadSnapshot(session, prepared, final.snapshot, { + fileSource: final.fileSource, + }); } onProgress?.({ phase: "fencing", completed: 1, total: 1 }); onProgress?.({ phase: "activating", completed: 0, total: 1 }); activationAttempted = true; - await client.complete(session, final); + await client.complete(session, final.snapshot); await fence.markHosted(); onProgress?.({ phase: "activating", completed: 1, total: 1 }); - return resultFor(final); + return resultFor(final.snapshot); } catch (reason) { if (!activationAttempted) { await fence.release(); @@ -212,16 +224,37 @@ async function requirePrepared( return resumed; } -async function capture( - source: MarkdownCollection, -): Promise { +async function capture(source: MarkdownCollection): Promise<{ + snapshot: AuthorityImportSnapshot; + fileSource: ( + file: CollectionFileDescriptor, + ) => Promise; +}> { const snapshot = await source.authoritySnapshot(); - return buildPortableAuthoritySnapshot({ - collectionId: snapshot.collectionId, - specVersion: snapshot.specVersion, - resources: snapshot.resources, - records: snapshot.records, - }); + if (snapshot.files.length && !isBinaryVault(source.vault)) + throw new Error("This local collection cannot read its attachment bytes."); + return { + snapshot: buildPortableAuthoritySnapshot({ + collectionId: snapshot.collectionId, + specVersion: snapshot.specVersion, + resources: snapshot.resources, + records: snapshot.records, + files: snapshot.files, + }), + fileSource: async (file) => { + if (!isBinaryVault(source.vault)) + throw new Error("This local collection cannot read attachment bytes."); + return source.vault.readBinary(file.path); + }, + }; +} + +function snapshotItemCount(snapshot: AuthorityImportSnapshot): number { + return ( + snapshot.records.length + + (snapshot.resources.documents?.length ?? 0) + + snapshot.files.length + ); } function sameSnapshot( diff --git a/src/storage/collection.ts b/src/storage/collection.ts index b2e28c9..28b8368 100644 --- a/src/storage/collection.ts +++ b/src/storage/collection.ts @@ -3,6 +3,7 @@ import { serializeMarkdownDocument, } from "@tasknotes/model/frontmatter"; import { buildTaskNotesMdbaseResources } from "@tasknotes/model/mdbase"; +import { TASKNOTES_SPEC_VERSION } from "@tasknotes/model/types"; import { patchTaskNotesMdbaseTypeSettings } from "@tasknotes/model/mdbase"; import { parseDocument } from "yaml"; import picomatch from "picomatch"; @@ -10,7 +11,11 @@ import type { PortableAuthorityRecord, PortableAuthorityResource, } from "@mdbase-dev/connect-sync/adoption"; -import type { AuthorityImportSnapshot } from "@mdbase-dev/connect-protocol"; +import { portableRecordId } from "@mdbase-dev/connect-sync/adoption"; +import type { + AuthorityImportSnapshot, + CollectionFileDescriptor, +} from "@mdbase-dev/connect-protocol"; import { TaskNotesTaskModel } from "../domain/tasknotes-model"; import { viewSourceRevision } from "./local-views"; @@ -37,6 +42,8 @@ import type { UpdateTaskViewSourceInput, } from "../domain/view"; import type { Vault, VaultEntry } from "./vault"; +import { isBinaryVault } from "./vault-contract"; +import { VaultCollectionFileStore } from "./vault-files"; const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; @@ -53,6 +60,7 @@ export interface LocalAuthoritySnapshot { specVersion: string; resources: PortableAuthorityResource[]; records: PortableAuthorityRecord[]; + files: CollectionFileDescriptor[]; } export interface LocalAuthorityFence { @@ -81,7 +89,7 @@ export class MarkdownCollection { private authorityState: StoredAuthorityState | null = null; constructor( - private readonly vault: Vault, + readonly vault: Vault, private readonly options: { approveManagedTypeUpgrade?: ( request: ManagedTypeUpgradeRequest, @@ -194,7 +202,7 @@ export class MarkdownCollection { ).flat(); if (!matches.length) throw new Error( - `No type implementing tasknotes.task 0.3.0-rc.1 was found in ${nextTypesFolder}/.`, + `No type implementing tasknotes.task ${TASKNOTES_SPEC_VERSION} was found in ${nextTypesFolder}/.`, ); if (matches.length > 1) throw new Error( @@ -360,11 +368,24 @@ export class MarkdownCollection { }; }), ); + const files = isBinaryVault(this.vault) + ? (await new VaultCollectionFileStore(this.vault).list()).map((file) => ({ + file_id: portableRecordId(collectionId, `file:${file.path}`), + path: file.path, + revision: file.revision, + content_digest: file.contentDigest, + size: file.size, + ...(file.mediaType ? { media_type: file.mediaType } : {}), + media_class: file.mediaClass, + modified_at: file.modifiedAt, + })) + : []; return { collectionId, specVersion, resources, records, + files, }; } @@ -1096,12 +1117,13 @@ function taskNotesImplementation( !Array.isArray(candidate) && (candidate as Record).contract === "tasknotes.task" && - (candidate as Record).version === "0.3.0-rc.1", + (candidate as Record).version === + TASKNOTES_SPEC_VERSION, ) : undefined; if (!implementation) throw new Error( - "The generated type does not implement tasknotes.task 0.3.0-rc.1.", + `The generated type does not implement tasknotes.task ${TASKNOTES_SPEC_VERSION}.`, ); return implementation as Record; } diff --git a/src/storage/connected-task-cache.test.ts b/src/storage/connected-task-cache.test.ts index 557e8d5..ab5bb2d 100644 --- a/src/storage/connected-task-cache.test.ts +++ b/src/storage/connected-task-cache.test.ts @@ -10,7 +10,12 @@ import type { TaskView } from "../domain/view"; it("applies shared search, state, archive, and limit projection rules", () => { const cached = [ - { task: fixtureTask("open", "Open release", { tags: ["laptop"] }) }, + { + task: fixtureTask("open", "Open release", { + tags: ["laptop"], + attachments: ["[[Attachments/receipt.jpg]]"], + }), + }, { task: fixtureTask("done", "Completed release", { completed: true, @@ -25,6 +30,9 @@ it("applies shared search, state, archive, and limit projection rules", () => { ({ id }) => id, ), ).toEqual(["open"]); + expect( + listConnectedTasks(cached, { search: "receipt" }).map(({ id }) => id), + ).toEqual(["open"]); expect( listConnectedTasks(cached, { status: "completed" }).map(({ id }) => id), ).toEqual(["done"]); @@ -85,5 +93,6 @@ function fixtureTask( revision: 1, frontmatter: { id, title }, ...overrides, + attachments: overrides.attachments ?? [], }; } diff --git a/src/storage/connected-task-cache.ts b/src/storage/connected-task-cache.ts index 8d9a473..ad2cbc6 100644 --- a/src/storage/connected-task-cache.ts +++ b/src/storage/connected-task-cache.ts @@ -32,6 +32,7 @@ export function listConnectedTasks( ...task.tags, ...task.contexts, ...task.projects, + ...task.attachments, ] .join("\n") .toLocaleLowerCase(); diff --git a/src/storage/index.ts b/src/storage/index.ts index 9021a3d..58c6577 100644 --- a/src/storage/index.ts +++ b/src/storage/index.ts @@ -57,6 +57,7 @@ export function indexTask( ...task.tags, ...task.contexts, ...task.projects, + ...task.attachments, ] .join("\n") .toLocaleLowerCase(), @@ -76,6 +77,7 @@ export function indexedTaskNeedsNormalization(task: IndexedTask): boolean { !Array.isArray(task.tags) || !Array.isArray(task.contexts) || !Array.isArray(task.projects) || + !Array.isArray(task.attachments) || !Array.isArray(task.blockedBy) || !Array.isArray(task.completeInstances) || !Array.isArray(task.skippedInstances) || @@ -94,6 +96,7 @@ export function normalizeIndexedTask(task: IndexedTask): IndexedTask { tags: stringArray(task.tags), contexts: stringArray(task.contexts), projects: stringArray(task.projects), + attachments: stringArray(task.attachments), blockedBy: Array.isArray(task.blockedBy) ? task.blockedBy : [], completeInstances: stringArray(task.completeInstances), skippedInstances: stringArray(task.skippedInstances), diff --git a/src/storage/local-first-mdbase-files.test.ts b/src/storage/local-first-mdbase-files.test.ts new file mode 100644 index 0000000..e1c4e11 --- /dev/null +++ b/src/storage/local-first-mdbase-files.test.ts @@ -0,0 +1,192 @@ +import { describe, expect, it } from "vitest"; + +import type { + CollectionFile, + CollectionFileAction, + CollectionFileStore, +} from "../application/ports/collection-file-store"; +import { LocalFirstMdbaseFileStore } from "./local-first-mdbase-files"; + +describe("LocalFirstMdbaseFileStore", () => { + it("durably accepts bytes offline and resumes the same upload after restart", async () => { + const remote = new MemoryRemote(); + remote.online = false; + const collectionId = crypto.randomUUID(); + const first = new LocalFirstMdbaseFileStore(remote, collectionId); + const bytes = Uint8Array.from([137, 80, 78, 71, 4, 2]); + + const pending = await first.upload("Attachments/offline.png", bytes, { + mediaType: "image/png", + }); + expect(pending).toMatchObject({ + pending: "upload", + availability: "local", + }); + expect(await first.list()).toHaveLength(1); + expect( + new Uint8Array(await (await first.download(pending)).arrayBuffer()), + ).toEqual(bytes); + + remote.online = true; + const restarted = new LocalFirstMdbaseFileStore(remote, collectionId); + await restarted.sync(); + const [synced] = await restarted.list(); + expect(synced).toMatchObject({ + path: "Attachments/offline.png", + availability: "local-and-remote", + }); + expect(synced?.pending).toBeUndefined(); + expect(remote.uploadIds).toHaveLength(1); + expect( + new Uint8Array(await (await remote.download(synced!)).arrayBuffer()), + ).toEqual(bytes); + }); + + it("hides an offline deletion immediately and finishes it on reconnect", async () => { + const remote = new MemoryRemote(); + const store = new LocalFirstMdbaseFileStore(remote, crypto.randomUUID()); + const uploaded = await store.upload( + "Attachments/remove.jpg", + Uint8Array.of(1, 2, 3), + { mediaType: "image/jpeg" }, + ); + remote.online = false; + + await store.delete(uploaded); + expect(await store.list()).toEqual([]); + expect(remote.files).toHaveLength(1); + + remote.online = true; + await store.sync(); + expect(remote.files).toEqual([]); + expect(await store.list()).toEqual([]); + }); + + it("reconciles files removed directly from the hosted authority", async () => { + const remote = new MemoryRemote(); + const store = new LocalFirstMdbaseFileStore(remote, crypto.randomUUID()); + const uploaded = await store.upload( + "Attachments/removed-elsewhere.jpg", + Uint8Array.of(1), + { mediaType: "image/jpeg" }, + ); + await store.download(uploaded); + remote.files = []; + remote.bytes.clear(); + + expect(await store.list()).toEqual([]); + }); + + it("preserves operation order when an offline move is followed by delete", async () => { + const remote = new MemoryRemote(); + const store = new LocalFirstMdbaseFileStore(remote, crypto.randomUUID()); + const uploaded = await store.upload( + "Attachments/original.jpg", + Uint8Array.of(1, 2), + { mediaType: "image/jpeg" }, + ); + remote.online = false; + + const moved = await store.move(uploaded, "Attachments/moved.jpg"); + await store.delete(moved); + expect(await store.list()).toEqual([]); + + remote.online = true; + remote.failDelete = true; + await expect(store.sync()).rejects.toThrow("Delete unavailable"); + expect(remote.files.map(({ path }) => path)).toEqual([ + "Attachments/moved.jpg", + ]); + expect(await store.list()).toEqual([]); + + remote.failDelete = false; + await store.sync(); + expect(remote.files).toEqual([]); + expect(await store.list()).toEqual([]); + }); +}); + +class MemoryRemote implements CollectionFileStore { + online = true; + failDelete = false; + files: CollectionFile[] = []; + readonly bytes = new Map(); + readonly uploadIds: string[] = []; + + authorizedActions(): ReadonlySet { + return new Set(["list", "read", "add", "replace", "move", "delete"]); + } + + async list(): Promise { + this.requireOnline(); + return structuredClone(this.files); + } + + async upload( + path: string, + source: Blob | ArrayBuffer | ArrayBufferView, + options: { mediaType?: string; transferId?: string } = {}, + ): Promise { + this.requireOnline(); + const blob = source instanceof Blob ? source : new Blob([owned(source)]); + const existing = this.files.find((candidate) => candidate.path === path); + const file: CollectionFile = { + fileId: existing?.fileId ?? crypto.randomUUID(), + path, + revision: crypto.randomUUID(), + contentDigest: `sha256:${"0".repeat(64)}`, + size: blob.size, + mediaType: options.mediaType, + mediaClass: options.mediaType?.startsWith("image/") ? "image" : "other", + modifiedAt: new Date().toISOString(), + }; + this.files = [ + ...this.files.filter((candidate) => candidate.path !== path), + file, + ]; + this.bytes.set(file.fileId, blob); + if (options.transferId) this.uploadIds.push(options.transferId); + return file; + } + + async download(file: CollectionFile): Promise { + this.requireOnline(); + return this.bytes.get(file.fileId)!; + } + + async downloadStream( + file: CollectionFile, + ): Promise> { + return (await this.download(file)).stream(); + } + + async move(file: CollectionFile, path: string): Promise { + this.requireOnline(); + const moved = { ...file, path, revision: crypto.randomUUID() }; + this.files = [ + ...this.files.filter(({ fileId }) => fileId !== file.fileId), + moved, + ]; + return moved; + } + + async delete(file: CollectionFile): Promise { + this.requireOnline(); + if (this.failDelete) throw new Error("Delete unavailable"); + this.files = this.files.filter(({ fileId }) => fileId !== file.fileId); + this.bytes.delete(file.fileId); + } + + private requireOnline(): void { + if (!this.online) throw new TypeError("Network unavailable"); + } +} + +function owned(source: ArrayBuffer | ArrayBufferView): ArrayBuffer { + const bytes = ArrayBuffer.isView(source) + ? new Uint8Array(source.buffer, source.byteOffset, source.byteLength) + : new Uint8Array(source); + const copy = new Uint8Array(bytes.byteLength); + copy.set(bytes); + return copy.buffer; +} diff --git a/src/storage/local-first-mdbase-files.ts b/src/storage/local-first-mdbase-files.ts new file mode 100644 index 0000000..0fab052 --- /dev/null +++ b/src/storage/local-first-mdbase-files.ts @@ -0,0 +1,522 @@ +import Dexie, { type EntityTable } from "dexie"; + +import type { + CollectionFile, + CollectionFileAction, + CollectionFileProgress, + CollectionFileStore, +} from "../application/ports/collection-file-store"; + +interface CachedFile { + path: string; + file: CollectionFile; + bytes?: ArrayBuffer; + tombstone: boolean; +} + +type FileMutation = + | { + id: string; + kind: "upload"; + path: string; + file: CollectionFile; + bytes: ArrayBuffer; + mediaType?: string; + ifRevision?: string; + enqueuedAt: number; + } + | { + id: string; + kind: "move"; + after?: string; + path: string; + targetPath: string; + file: CollectionFile; + enqueuedAt: number; + } + | { + id: string; + kind: "delete"; + after?: string; + path: string; + file: CollectionFile; + enqueuedAt: number; + }; + +class FileReplica extends Dexie { + files!: EntityTable; + mutations!: EntityTable; + + constructor(collectionId: string) { + super(`tasknotes-files-${collectionId}`); + this.version(1).stores({ + files: "&path", + mutations: "&id,enqueuedAt,path", + }); + } +} + +/** + * Durable cache and mutation outbox for mdbase files. Binary bytes land here + * before the network is attempted, making an accepted attachment recoverable + * across offline restarts and ambiguous upload failures. + */ +export class LocalFirstMdbaseFileStore implements CollectionFileStore { + private readonly replica: FileReplica; + private syncInFlight: Promise | null = null; + + constructor( + private readonly remote: CollectionFileStore, + collectionId: string, + ) { + this.replica = new FileReplica(collectionId); + } + + authorizedActions(): ReadonlySet { + return this.remote.authorizedActions(); + } + + async list( + options: { folder?: string; signal?: AbortSignal } = {}, + ): Promise { + throwIfAborted(options.signal); + await this.trySync(); + try { + const remoteFiles = await this.remote.list(options); + const remotePaths = new Set(remoteFiles.map(({ path }) => path)); + const folderPrefix = options.folder + ? `${options.folder.replace(/\/$/, "")}/` + : ""; + await this.replica.transaction("rw", this.replica.files, async () => { + const cachedFiles = await this.replica.files.toArray(); + for (const cached of cachedFiles) { + if ( + !cached.tombstone && + !cached.file.pending && + (!folderPrefix || cached.path.startsWith(folderPrefix)) && + !remotePaths.has(cached.path) + ) + await this.replica.files.delete(cached.path); + } + for (const file of remoteFiles) { + const cached = await this.replica.files.get(file.path); + if (cached?.tombstone) continue; + await this.replica.files.put({ + path: file.path, + file: { + ...file, + availability: cached?.bytes ? "local-and-remote" : "remote", + }, + ...(cached?.bytes ? { bytes: cached.bytes } : {}), + tombstone: false, + }); + } + }); + } catch { + // A complete cached listing remains useful when the authority is offline. + } + const folderPrefix = options.folder + ? `${options.folder.replace(/\/$/, "")}/` + : ""; + return (await this.replica.files.toArray()) + .filter(({ tombstone }) => !tombstone) + .filter(({ path }) => !folderPrefix || path.startsWith(folderPrefix)) + .map(({ file, bytes }) => ({ + ...file, + availability: (bytes + ? file.pending + ? "local" + : "local-and-remote" + : "remote") as CollectionFile["availability"], + })) + .sort((left, right) => left.path.localeCompare(right.path)); + } + + async upload( + path: string, + source: Blob | ArrayBuffer | ArrayBufferView, + options: { + mediaType?: string; + ifRevision?: string; + transferId?: string; + signal?: AbortSignal; + onProgress?: (progress: CollectionFileProgress) => void; + } = {}, + ): Promise { + requireAction(this.remote, options.ifRevision ? "replace" : "add"); + throwIfAborted(options.signal); + const blob = await toBlob(source, options.mediaType); + const bytes = await blob.arrayBuffer(); + const transferId = options.transferId ?? crypto.randomUUID(); + const digest = await sha256(blob); + const existing = await this.replica.files.get(path); + if ( + options.ifRevision !== undefined && + existing?.file.revision !== options.ifRevision + ) + throw new Error(`Attachment revision conflict at ${path}.`); + const file: CollectionFile = { + fileId: existing?.file.fileId ?? `pending:${transferId}`, + path, + revision: `pending:${transferId}`, + contentDigest: digest, + size: blob.size, + ...(options.mediaType || blob.type + ? { mediaType: options.mediaType || blob.type } + : {}), + mediaClass: (options.mediaType || blob.type).startsWith("image/") + ? "image" + : "other", + modifiedAt: new Date().toISOString(), + availability: "local", + pending: "upload", + }; + const mutation: FileMutation = { + id: transferId, + kind: "upload", + path, + file, + bytes, + ...(options.mediaType ? { mediaType: options.mediaType } : {}), + ...(options.ifRevision ? { ifRevision: options.ifRevision } : {}), + enqueuedAt: Date.now(), + }; + await this.replica.transaction( + "rw", + this.replica.files, + this.replica.mutations, + async () => { + await this.replica.files.put({ path, file, bytes, tombstone: false }); + await this.replica.mutations.put(mutation); + }, + ); + options.onProgress?.({ + phase: "uploading", + transferredBytes: blob.size, + totalBytes: blob.size, + }); + await this.trySync(); + return (await this.replica.files.get(path))?.file ?? file; + } + + async download( + file: CollectionFile, + options: { + signal?: AbortSignal; + onProgress?: (progress: CollectionFileProgress) => void; + } = {}, + ): Promise { + throwIfAborted(options.signal); + const cached = await this.replica.files.get(file.path); + if (cached?.bytes && !cached.tombstone) { + options.onProgress?.({ + phase: "downloading", + transferredBytes: cached.bytes.byteLength, + totalBytes: cached.bytes.byteLength, + }); + return new Blob([cached.bytes], { + type: cached.file.mediaType ?? "application/octet-stream", + }); + } + const blob = await this.remote.download(file, options); + const bytes = await blob.arrayBuffer(); + await this.replica.files.put({ + path: file.path, + file: { ...file, availability: "local-and-remote" }, + bytes, + tombstone: false, + }); + return blob; + } + + async downloadStream( + file: CollectionFile, + options: { + signal?: AbortSignal; + onProgress?: (progress: CollectionFileProgress) => void; + } = {}, + ): Promise> { + return (await this.download(file, options)).stream(); + } + + async move( + file: CollectionFile, + path: string, + options: { mutationId?: string; signal?: AbortSignal } = {}, + ): Promise { + requireAction(this.remote, "move"); + throwIfAborted(options.signal); + const id = options.mutationId ?? crypto.randomUUID(); + if (file.pending === "delete") + throw new Error("An attachment pending deletion cannot be moved."); + const cached = await this.replica.files.get(file.path); + if (file.pending === "upload") { + const transferId = file.revision.replace(/^pending:/, ""); + const upload = await this.replica.mutations.get(transferId); + if (upload?.kind === "upload") { + const moved: CollectionFile = { ...file, path }; + await this.replica.transaction( + "rw", + this.replica.files, + this.replica.mutations, + async () => { + await this.replica.files.delete(file.path); + await this.replica.files.put({ + path, + file: moved, + bytes: upload.bytes, + tombstone: false, + }); + await this.replica.mutations.put({ + ...upload, + path, + file: moved, + }); + }, + ); + await this.trySync(); + return (await this.replica.files.get(path))?.file ?? moved; + } + } + const moved: CollectionFile = { + ...file, + path, + revision: `pending:${id}`, + availability: cached?.bytes ? "local" : file.availability, + pending: "move", + }; + await this.replica.transaction( + "rw", + this.replica.files, + this.replica.mutations, + async () => { + await this.replica.files.delete(file.path); + await this.replica.files.put({ + path, + file: moved, + ...(cached?.bytes ? { bytes: cached.bytes } : {}), + tombstone: false, + }); + const mutation: FileMutation = { + id, + kind: "move", + ...(file.pending === "move" + ? { after: file.revision.replace(/^pending:/, "") } + : {}), + path: file.path, + targetPath: path, + file, + enqueuedAt: Date.now(), + }; + await this.replica.mutations.put(mutation); + }, + ); + await this.trySync(); + return (await this.replica.files.get(path))?.file ?? moved; + } + + async delete( + file: CollectionFile, + options: { mutationId?: string; signal?: AbortSignal } = {}, + ): Promise { + requireAction(this.remote, "delete"); + throwIfAborted(options.signal); + if (file.pending === "delete") return; + if (file.pending === "upload") { + const transferId = file.revision.replace(/^pending:/, ""); + await this.replica.transaction( + "rw", + this.replica.files, + this.replica.mutations, + async () => { + await this.replica.files.delete(file.path); + await this.replica.mutations.delete(transferId); + }, + ); + return; + } + const id = options.mutationId ?? crypto.randomUUID(); + const cached = await this.replica.files.get(file.path); + await this.replica.transaction( + "rw", + this.replica.files, + this.replica.mutations, + async () => { + await this.replica.files.put({ + path: file.path, + file: { ...file, pending: "delete" }, + ...(cached?.bytes ? { bytes: cached.bytes } : {}), + tombstone: true, + }); + await this.replica.mutations.put({ + id, + kind: "delete", + ...(file.pending === "move" + ? { after: file.revision.replace(/^pending:/, "") } + : {}), + path: file.path, + file, + enqueuedAt: Date.now(), + }); + }, + ); + await this.trySync(); + } + + sync(): Promise { + if (this.syncInFlight) return this.syncInFlight; + this.syncInFlight = this.flush().finally(() => { + this.syncInFlight = null; + }); + return this.syncInFlight; + } + + private async trySync(): Promise { + await this.sync().catch(() => undefined); + } + + private async flush(): Promise { + while (true) { + const queued = await this.replica.mutations + .orderBy("enqueuedAt") + .toArray(); + if (!queued.length) return; + const queuedIds = new Set(queued.map(({ id }) => id)); + const mutation = queued.find( + (candidate) => + candidate.kind === "upload" || + !candidate.after || + !queuedIds.has(candidate.after), + ); + if (!mutation) + throw new Error("Attachment mutation journal contains a cycle."); + if (mutation.kind === "upload") { + const uploaded = await this.remote.upload( + mutation.path, + mutation.bytes, + { + mediaType: mutation.mediaType, + transferId: mutation.id, + ...(mutation.ifRevision ? { ifRevision: mutation.ifRevision } : {}), + }, + ); + await this.replica.transaction( + "rw", + this.replica.files, + this.replica.mutations, + async () => { + await this.replica.files.put({ + path: mutation.path, + file: { ...uploaded, availability: "local-and-remote" }, + bytes: mutation.bytes, + tombstone: false, + }); + await this.replica.mutations.delete(mutation.id); + }, + ); + continue; + } + if (mutation.kind === "move") { + const moved = await this.remote.move( + mutation.file, + mutation.targetPath, + { + mutationId: mutation.id, + }, + ); + await this.replica.transaction( + "rw", + this.replica.files, + this.replica.mutations, + async () => { + const dependents = (await this.replica.mutations.toArray()).filter( + (candidate) => + candidate.id !== mutation.id && + candidate.kind !== "upload" && + candidate.after === mutation.id, + ); + for (const dependent of dependents) + await this.replica.mutations.put({ + ...dependent, + file: moved, + }); + const pendingDelete = dependents.find( + (candidate) => candidate.kind === "delete", + ); + if (pendingDelete) { + const cached = await this.replica.files.get(pendingDelete.path); + await this.replica.files.put({ + path: pendingDelete.path, + file: { ...moved, pending: "delete" }, + ...(cached?.bytes ? { bytes: cached.bytes } : {}), + tombstone: true, + }); + } else if (!dependents.length) { + const cached = await this.replica.files.get(mutation.targetPath); + await this.replica.files.put({ + path: mutation.targetPath, + file: { + ...moved, + availability: cached?.bytes ? "local-and-remote" : "remote", + }, + ...(cached?.bytes ? { bytes: cached.bytes } : {}), + tombstone: false, + }); + } + await this.replica.mutations.delete(mutation.id); + }, + ); + continue; + } + await this.remote.delete(mutation.file, { mutationId: mutation.id }); + await this.replica.transaction( + "rw", + this.replica.files, + this.replica.mutations, + async () => { + await this.replica.files.delete(mutation.path); + await this.replica.mutations.delete(mutation.id); + }, + ); + } + } +} + +function requireAction( + store: CollectionFileStore, + action: CollectionFileAction, +): void { + if (!store.authorizedActions().has(action)) + throw new Error(`This collection has not authorized attachment ${action}.`); +} + +async function toBlob( + source: Blob | ArrayBuffer | ArrayBufferView, + mediaType?: string, +): Promise { + if (source instanceof Blob) + return source.type || !mediaType + ? source + : new Blob([await source.arrayBuffer()], { type: mediaType }); + const bytes = ArrayBuffer.isView(source) + ? new Uint8Array(source.buffer, source.byteOffset, source.byteLength) + : new Uint8Array(source); + const copy = new Uint8Array(bytes.byteLength); + copy.set(bytes); + return new Blob([copy.buffer], mediaType ? { type: mediaType } : {}); +} + +async function sha256(blob: Blob): Promise<`sha256:${string}`> { + const digest = await crypto.subtle.digest( + "SHA-256", + await blob.arrayBuffer(), + ); + return `sha256:${[...new Uint8Array(digest)] + .map((value) => value.toString(16).padStart(2, "0")) + .join("")}`; +} + +function throwIfAborted(signal?: AbortSignal): void { + if (signal?.aborted) + throw signal.reason ?? new DOMException("Aborted", "AbortError"); +} diff --git a/src/storage/mdbase-files.ts b/src/storage/mdbase-files.ts index 5a59d88..661bf8a 100644 --- a/src/storage/mdbase-files.ts +++ b/src/storage/mdbase-files.ts @@ -43,6 +43,7 @@ export class MdbaseCollectionFileStore implements CollectionFileStore { options: { mediaType?: string; ifRevision?: string; + transferId?: string; signal?: AbortSignal; onProgress?: (progress: CollectionFileProgress) => void; } = {}, @@ -66,14 +67,27 @@ export class MdbaseCollectionFileStore implements CollectionFileStore { return this.connection.files.downloadStream(toMdbaseFile(file), options); } - async move(file: CollectionFile, path: string): Promise { + async move( + file: CollectionFile, + path: string, + options: { mutationId?: string; signal?: AbortSignal } = {}, + ): Promise { return fromMdbaseFile( - await this.connection.files.move(toMdbaseFile(file), path), + await this.connection.files.move(toMdbaseFile(file), path, { + ifRevision: file.revision, + ...options, + }), ); } - async delete(file: CollectionFile): Promise { - await this.connection.files.delete(toMdbaseFile(file)); + async delete( + file: CollectionFile, + options: { mutationId?: string; signal?: AbortSignal } = {}, + ): Promise { + await this.connection.files.delete(toMdbaseFile(file), { + ifRevision: file.revision, + ...options, + }); } } diff --git a/src/storage/relay-repository.test.ts b/src/storage/relay-repository.test.ts index 5d12bc4..b4d5b76 100644 --- a/src/storage/relay-repository.test.ts +++ b/src/storage/relay-repository.test.ts @@ -343,7 +343,7 @@ describe("relay task repository", () => { implements: [ { contract: "tasknotes.task", - version: "0.3.0-rc.1", + version: "0.3.0-rc.3", fields: next.contracts[0]!.implementations[0].fields, binding: configuration, }, @@ -1063,7 +1063,7 @@ function description( const implementation = type.implements.find( (candidate) => candidate.contract === "tasknotes.task" && - candidate.version === "0.3.0-rc.1", + candidate.version === "0.3.0-rc.3", )!; const configuration = structuredClone(implementation.binding); if (templating) @@ -1113,7 +1113,7 @@ function description( { id: "tasknotes.task", contract_type: "record", - version: "0.3.0-rc.1", + version: "0.3.0-rc.3", digest: `sha256:${"0".repeat(64)}`, schema: generated.taskSchema, binding_schema: generated.bindingSchema, diff --git a/src/storage/relay-repository.ts b/src/storage/relay-repository.ts index ac3ddd5..a645ba2 100644 --- a/src/storage/relay-repository.ts +++ b/src/storage/relay-repository.ts @@ -30,6 +30,7 @@ import { } from "./connected-task-cache"; import { runMdbaseMutation } from "./mdbase-mutation-coordinator"; import { MdbaseCollectionFileStore } from "./mdbase-files"; +import { LocalFirstMdbaseFileStore } from "./local-first-mdbase-files"; import { resolveTaskCollection } from "./tasknotes-collection"; import { TaskViewCache } from "./view-cache"; import { @@ -98,7 +99,7 @@ const PAGE_SIZE = 1_000; * authority to be reachable and use revisions whenever one has been observed. */ export class RelayTaskRepository implements TaskRepository { - readonly files: MdbaseCollectionFileStore; + readonly files: LocalFirstMdbaseFileStore; private model = new TaskNotesTaskModel(); private taskTypeName = "task"; private taskProviders = new Map([ @@ -141,7 +142,10 @@ export class RelayTaskRepository implements TaskRepository { }; constructor(private readonly connect: MdbaseConnection) { - this.files = new MdbaseCollectionFileStore(connect); + this.files = new LocalFirstMdbaseFileStore( + new MdbaseCollectionFileStore(connect), + connect.collectionId, + ); } initialize(): Promise { @@ -150,6 +154,7 @@ export class RelayTaskRepository implements TaskRepository { } private async initializeUnlocked(): Promise { + await this.files.sync().catch(() => undefined); const description = validResult(await this.connect.describe()); this.configureDescription(description); this.collectionId = description.collection_id; diff --git a/src/storage/repository.test.ts b/src/storage/repository.test.ts index f7771dc..b772dc5 100644 --- a/src/storage/repository.test.ts +++ b/src/storage/repository.test.ts @@ -325,14 +325,14 @@ describe("IndexedMarkdownRepository", () => { expect(await index.metadata.get("projection")).toMatchObject({ complete: false, needsReindex: true, - taskShapeVersion: 1, + taskShapeVersion: 2, }); expect(await reopened.refresh()).toMatchObject({ changed: 1 }); expect(await index.metadata.get("projection")).toMatchObject({ complete: true, needsReindex: false, - taskShapeVersion: 1, + taskShapeVersion: 2, }); }); @@ -613,7 +613,7 @@ describe("IndexedMarkdownRepository", () => { ).find( (candidate) => candidate.contract === "tasknotes.task" && - candidate.version === "0.3.0-rc.1", + candidate.version === "0.3.0-rc.3", )!; expect( ( @@ -1099,7 +1099,7 @@ describe("IndexedMarkdownRepository", () => { ).find( (candidate) => candidate.contract === "tasknotes.task" && - candidate.version === "0.3.0-rc.1", + candidate.version === "0.3.0-rc.3", )!; const extension = implementation.binding as Record; extension.archive = { move_on_archive: true, folder: "archive" }; diff --git a/src/storage/repository.ts b/src/storage/repository.ts index abedbf4..468485c 100644 --- a/src/storage/repository.ts +++ b/src/storage/repository.ts @@ -9,6 +9,8 @@ import { import { batches, MarkdownCollection } from "./collection"; import { createLocalVault } from "./vault"; import { LocalViewExecutor } from "./local-views"; +import { VaultCollectionFileStore } from "./vault-files"; +import { isBinaryVault } from "./vault-contract"; import { completeRecords, completeTaskValues } from "./completions"; import { archiveMoveWarning } from "../domain/task-archive"; import { @@ -63,6 +65,7 @@ import type { RepositorySyncStatus, TaskRepository, } from "../application/ports/task-repository"; +import type { CollectionFileStore } from "../application/ports/collection-file-store"; export type { CollectionInfo, @@ -74,9 +77,10 @@ export type { } from "../application/ports/task-repository"; const PROJECTION_CONSISTENCY_VERSION = 1; -const TASK_PROJECTION_SHAPE_VERSION = 1; +const TASK_PROJECTION_SHAPE_VERSION = 2; export class IndexedMarkdownRepository implements TaskRepository { + readonly files?: CollectionFileStore; private readonly collection: MarkdownCollection; private readonly index: TaskIndex; private readonly cache = new Map(); @@ -119,6 +123,8 @@ export class IndexedMarkdownRepository implements TaskRepository { }); this.index = options.index ?? new TaskIndex(indexName(this.collection.identifier())); + if (isBinaryVault(this.collection.vault)) + this.files = new VaultCollectionFileStore(this.collection.vault); this.views = new LocalViewExecutor( this.collection, () => [...this.cache.values()], diff --git a/src/storage/tasknotes-collection.ts b/src/storage/tasknotes-collection.ts index 13b7195..135cf09 100644 --- a/src/storage/tasknotes-collection.ts +++ b/src/storage/tasknotes-collection.ts @@ -3,6 +3,7 @@ import type { CollectionTypeDescriptor, JsonObject, } from "@mdbase-dev/connect-protocol"; +import { TASKNOTES_SPEC_VERSION } from "@tasknotes/model/types"; import { TaskNotesTaskModel } from "../domain/tasknotes-model"; import { resolveTaskCollectionConfiguration } from "../domain/task-configuration"; @@ -27,11 +28,12 @@ export function resolveTaskCollection( ): ResolvedTaskCollection { const contract = resources.contracts.find( (candidate) => - candidate.id === "tasknotes.task" && candidate.version === "0.3.0-rc.1", + candidate.id === "tasknotes.task" && + candidate.version === TASKNOTES_SPEC_VERSION, ); if (!contract) throw new Error( - "This collection does not provide tasknotes.task 0.3.0-rc.1.", + `This collection does not provide tasknotes.task ${TASKNOTES_SPEC_VERSION}.`, ); const providers = contract.implementations.map((implementation) => { const type = resources.types.find( @@ -70,7 +72,7 @@ export function resolveTaskTypeDefinition( overrides.fields ?? taskNotesImplementation(definition)?.fields; const implementation = { contract: "tasknotes.task", - version: "0.3.0-rc.1", + version: TASKNOTES_SPEC_VERSION, fields: fields ?? {}, binding: configuration ?? {}, }; @@ -130,7 +132,7 @@ function taskNotesImplementation( typeof candidate === "object" && !Array.isArray(candidate) && (candidate as Record).contract === "tasknotes.task" && - (candidate as Record).version === "0.3.0-rc.1", + (candidate as Record).version === TASKNOTES_SPEC_VERSION, ); } diff --git a/src/storage/vault-capacitor.test.ts b/src/storage/vault-capacitor.test.ts new file mode 100644 index 0000000..ab23048 --- /dev/null +++ b/src/storage/vault-capacitor.test.ts @@ -0,0 +1,80 @@ +const filesystem = vi.hoisted(() => ({ + mkdir: vi.fn(), + stat: vi.fn(), + writeFile: vi.fn(), +})); + +vi.mock("@capacitor/filesystem", () => ({ + Directory: { Documents: "DOCUMENTS" }, + Encoding: { UTF8: "utf8" }, + Filesystem: filesystem, +})); + +import { CapacitorVault } from "./vault-capacitor"; + +beforeEach(() => { + vi.clearAllMocks(); + filesystem.mkdir.mockResolvedValue(undefined); + filesystem.stat.mockRejectedValue(new Error("File does not exist")); + filesystem.writeFile.mockResolvedValue(undefined); +}); + +it("deduplicates concurrent parent creation before nested writes", async () => { + filesystem.stat.mockImplementation(({ path }: { path: string }) => + path.endsWith(".json") + ? Promise.resolve({ mtime: 3, size: 12 }) + : Promise.reject(new Error("File does not exist")), + ); + const vault = new CapacitorVault(); + + await Promise.all([ + vault.writeText("_schemas/tasknotes/one.json", "one"), + vault.writeText("_schemas/tasknotes/two.json", "two"), + ]); + + expect(filesystem.mkdir).toHaveBeenCalledTimes(1); + expect(filesystem.mkdir).toHaveBeenCalledWith({ + path: "TaskNotes/_schemas/tasknotes", + directory: "DOCUMENTS", + recursive: true, + }); + expect(filesystem.writeFile).toHaveBeenCalledTimes(2); + expect(filesystem.writeFile).toHaveBeenCalledWith( + expect.objectContaining({ recursive: false }), + ); +}); + +it("creates the collection root before its standard directories", async () => { + await new CapacitorVault().initialize(); + + expect(filesystem.mkdir.mock.calls).toEqual([ + [ + { + path: "TaskNotes", + directory: "DOCUMENTS", + recursive: true, + }, + ], + [ + { + path: "TaskNotes/tasks", + directory: "DOCUMENTS", + recursive: true, + }, + ], + [ + { + path: "TaskNotes/_types", + directory: "DOCUMENTS", + recursive: true, + }, + ], + [ + { + path: "TaskNotes/views", + directory: "DOCUMENTS", + recursive: true, + }, + ], + ]); +}); diff --git a/src/storage/vault-capacitor.ts b/src/storage/vault-capacitor.ts index eb0be0b..70dc20c 100644 --- a/src/storage/vault-capacitor.ts +++ b/src/storage/vault-capacitor.ts @@ -8,21 +8,23 @@ import { import { isExcludedCollectionComponent, safePath, - type Vault, + type BinaryVault, type VaultEntry, } from "./vault-contract"; import { isMissingFileError } from "./vault-errors"; const ROOT = "TaskNotes"; -export class CapacitorVault implements Vault { +export class CapacitorVault implements BinaryVault { readonly kind = "native" as const; + private readonly directoryOperations = new Map>(); identifier(): string { return "native-default"; } async initialize(): Promise { + await this.ensureRootDirectory(); await this.ensureDirectory("tasks"); await this.ensureDirectory("_types"); await this.ensureDirectory("views"); @@ -88,12 +90,39 @@ export class CapacitorVault implements Vault { async writeText(path: string, contents: string): Promise { const relativePath = safePath(path); + await this.ensureParentDirectory(relativePath); await Filesystem.writeFile({ path: this.path(relativePath), directory: Directory.Documents, encoding: Encoding.UTF8, data: contents, - recursive: true, + recursive: false, + }); + const info = await Filesystem.stat({ + path: this.path(relativePath), + directory: Directory.Documents, + }); + return toEntry(relativePath, info); + } + + async readBinary(path: string): Promise { + const result = await Filesystem.readFile({ + path: this.path(path), + directory: Directory.Documents, + }); + if (typeof result.data !== "string") + return new Uint8Array(await result.data.arrayBuffer()); + return bytesFromBase64(result.data); + } + + async writeBinary(path: string, contents: Uint8Array): Promise { + const relativePath = safePath(path); + await this.ensureParentDirectory(relativePath); + await Filesystem.writeFile({ + path: this.path(relativePath), + directory: Directory.Documents, + data: base64FromBytes(contents), + recursive: false, }); const info = await Filesystem.stat({ path: this.path(relativePath), @@ -149,14 +178,63 @@ export class CapacitorVault implements Vault { return `${ROOT}/${safePath(path)}`; } - private async ensureDirectory(path: string): Promise { - if (await this.exists(path)) return; + private async ensureRootDirectory(): Promise { + try { + await Filesystem.stat({ + path: ROOT, + directory: Directory.Documents, + }); + return; + } catch (error) { + if (!isMissingFileError(error)) throw error; + } await Filesystem.mkdir({ - path: this.path(path), + path: ROOT, directory: Directory.Documents, recursive: true, }); } + + private ensureDirectory(path: string): Promise { + const relativePath = safePath(path); + const active = this.directoryOperations.get(relativePath); + if (active) return active; + const operation = this.createDirectory(relativePath).finally(() => { + this.directoryOperations.delete(relativePath); + }); + this.directoryOperations.set(relativePath, operation); + return operation; + } + + private async createDirectory(path: string): Promise { + if (await this.exists(path)) return; + try { + await Filesystem.mkdir({ + path: this.path(path), + directory: Directory.Documents, + recursive: true, + }); + } catch (error) { + if (!(await this.exists(path))) throw error; + } + } + + private async ensureParentDirectory(path: string): Promise { + const separator = path.lastIndexOf("/"); + if (separator > 0) await this.ensureDirectory(path.slice(0, separator)); + } +} + +function base64FromBytes(bytes: Uint8Array): string { + let binary = ""; + for (let offset = 0; offset < bytes.length; offset += 0x8000) + binary += String.fromCharCode(...bytes.subarray(offset, offset + 0x8000)); + return btoa(binary); +} + +function bytesFromBase64(value: string): Uint8Array { + const binary = atob(value); + return Uint8Array.from(binary, (character) => character.charCodeAt(0)); } function toEntry(path: string, info: FileInfo): VaultEntry { diff --git a/src/storage/vault-contract.ts b/src/storage/vault-contract.ts index 159cc1c..154f241 100644 --- a/src/storage/vault-contract.ts +++ b/src/storage/vault-contract.ts @@ -20,6 +20,18 @@ export interface Vault { location(): string; } +export interface BinaryVault extends Vault { + readBinary(path: string): Promise; + writeBinary(path: string, contents: Uint8Array): Promise; +} + +export function isBinaryVault(vault: Vault): vault is BinaryVault { + return ( + typeof (vault as Partial).readBinary === "function" && + typeof (vault as Partial).writeBinary === "function" + ); +} + export function safePath(value: string): string { const normalized = value.replaceAll("\\", "/"); const segments = normalized.split("/"); diff --git a/src/storage/vault-files.test.ts b/src/storage/vault-files.test.ts new file mode 100644 index 0000000..36de4da --- /dev/null +++ b/src/storage/vault-files.test.ts @@ -0,0 +1,90 @@ +import { describe, expect, it, vi } from "vitest"; + +import { MemoryVault } from "../test/memory-vault"; +import { VaultCollectionFileStore } from "./vault-files"; + +describe("VaultCollectionFileStore", () => { + it("round-trips an image without changing its bytes", async () => { + const vault = new MemoryVault(); + const store = new VaultCollectionFileStore(vault); + const bytes = Uint8Array.from([0, 255, 12, 99, 1]); + const progress = vi.fn(); + + const uploaded = await store.upload("Attachments/photo.jpg", bytes, { + mediaType: "image/jpeg", + onProgress: progress, + }); + + expect(uploaded).toMatchObject({ + path: "Attachments/photo.jpg", + size: 5, + mediaType: "image/jpeg", + mediaClass: "image", + }); + expect(uploaded.contentDigest).toMatch(/^sha256:[0-9a-f]{64}$/); + expect( + new Uint8Array(await (await store.download(uploaded)).arrayBuffer()), + ).toEqual(bytes); + expect(await store.list({ folder: "Attachments" })).toEqual([uploaded]); + expect(progress).toHaveBeenLastCalledWith({ + phase: "uploading", + transferredBytes: 5, + totalBytes: 5, + }); + }); + + it("honors revision guards and safe image paths", async () => { + const store = new VaultCollectionFileStore(new MemoryVault()); + const uploaded = await store.upload( + "Attachments/photo.png", + Uint8Array.of(1), + ); + + await expect( + store.upload("Attachments/photo.png", Uint8Array.of(2), { + ifRevision: "stale", + }), + ).rejects.toThrow("revision conflict"); + await expect( + store.upload("../photo.png", Uint8Array.of(1)), + ).rejects.toThrow("Unsafe collection path"); + await expect( + store.upload("Attachments/file.txt", Uint8Array.of(1)), + ).rejects.toThrow("supported image format"); + await expect( + store.upload("Attachments/disguised.png", Uint8Array.of(1), { + mediaType: "image/svg+xml", + }), + ).rejects.toThrow("does not match"); + expect(await store.download(uploaded)).toBeInstanceOf(Blob); + }); + + it("moves and deletes files", async () => { + const store = new VaultCollectionFileStore(new MemoryVault()); + const uploaded = await store.upload( + "Attachments/one.webp", + Uint8Array.of(1, 2), + ); + const moved = await store.move(uploaded, "Attachments/two.webp"); + + expect(moved.path).toBe("Attachments/two.webp"); + expect((await store.list()).map(({ path }) => path)).toEqual([ + "Attachments/two.webp", + ]); + await store.delete(moved); + expect(await store.list()).toEqual([]); + }); + + it("does not reread unchanged image bytes when listing descriptors", async () => { + const vault = new MemoryVault(); + await vault.writeBinary("Attachments/photo.png", Uint8Array.of(1, 2, 3)); + const readBinary = vi.spyOn(vault, "readBinary"); + const store = new VaultCollectionFileStore(vault); + + const first = await store.list(); + const second = await store.list(); + + expect(second).toEqual(first); + expect(readBinary).toHaveBeenCalledTimes(1); + }); +}); diff --git a/src/storage/vault-files.ts b/src/storage/vault-files.ts new file mode 100644 index 0000000..febe0d8 --- /dev/null +++ b/src/storage/vault-files.ts @@ -0,0 +1,265 @@ +import type { + CollectionFile, + CollectionFileAction, + CollectionFileProgress, + CollectionFileStore, +} from "../application/ports/collection-file-store"; +import { safePath, type BinaryVault, type VaultEntry } from "./vault-contract"; + +export const TASKNOTES_IMAGE_EXTENSIONS = [ + ".avif", + ".gif", + ".heic", + ".heif", + ".jpeg", + ".jpg", + ".png", + ".webp", +] as const; + +const ALL_ACTIONS = new Set([ + "list", + "read", + "add", + "replace", + "move", + "delete", +]); + +/** Binary file storage for a native Markdown collection. */ +export class VaultCollectionFileStore implements CollectionFileStore { + private readonly digestCache = new Map< + string, + { revision: string; digest: `sha256:${string}` } + >(); + + constructor(private readonly vault: BinaryVault) {} + + authorizedActions(): ReadonlySet { + return ALL_ACTIONS; + } + + async list( + options: { folder?: string; signal?: AbortSignal } = {}, + ): Promise { + throwIfAborted(options.signal); + const folder = options.folder?.replace(/\/$/, ""); + const entries = folder + ? await this.vault.listFiles(safePath(folder), [ + ...TASKNOTES_IMAGE_EXTENSIONS, + ]) + : await this.vault.listCollectionFiles([...TASKNOTES_IMAGE_EXTENSIONS]); + const present = new Set(entries.map(({ path }) => path)); + for (const path of this.digestCache.keys()) + if (!present.has(path)) this.digestCache.delete(path); + return Promise.all( + entries.map(async (entry) => { + throwIfAborted(options.signal); + const cached = this.digestCache.get(entry.path); + if (cached?.revision === revision(entry)) + return descriptorFrom(entry, cached.digest); + const digest = await sha256(await this.vault.readBinary(entry.path)); + this.remember(entry, digest); + return descriptorFrom(entry, digest); + }), + ); + } + + async upload( + path: string, + source: Blob | ArrayBuffer | ArrayBufferView, + options: { + mediaType?: string; + ifRevision?: string; + signal?: AbortSignal; + onProgress?: (progress: CollectionFileProgress) => void; + } = {}, + ): Promise { + const target = imagePath(path); + const resolvedMediaType = validatedMediaType(target, options.mediaType); + throwIfAborted(options.signal); + const existing = await this.entry(target); + if (options.ifRevision !== undefined) { + if (!existing || revision(existing) !== options.ifRevision) + throw new Error(`Attachment revision conflict at ${target}.`); + } + const bytes = await bytesFrom(source); + options.onProgress?.({ + phase: "hashing", + transferredBytes: 0, + totalBytes: bytes.byteLength, + }); + throwIfAborted(options.signal); + const digest = await sha256(bytes); + options.onProgress?.({ + phase: "hashing", + transferredBytes: bytes.byteLength, + totalBytes: bytes.byteLength, + }); + throwIfAborted(options.signal); + const written = await this.vault.writeBinary(target, bytes); + this.remember(written, digest); + options.onProgress?.({ + phase: "uploading", + transferredBytes: bytes.byteLength, + totalBytes: bytes.byteLength, + }); + return descriptorFrom(written, digest, resolvedMediaType); + } + + async download( + file: CollectionFile, + options: { + signal?: AbortSignal; + onProgress?: (progress: CollectionFileProgress) => void; + } = {}, + ): Promise { + throwIfAborted(options.signal); + const bytes = await this.vault.readBinary(imagePath(file.path)); + throwIfAborted(options.signal); + options.onProgress?.({ + phase: "downloading", + transferredBytes: bytes.byteLength, + totalBytes: bytes.byteLength, + }); + return new Blob([ownedBuffer(bytes)], { + type: file.mediaType ?? mediaType(file.path), + }); + } + + async downloadStream( + file: CollectionFile, + options: { + signal?: AbortSignal; + onProgress?: (progress: CollectionFileProgress) => void; + } = {}, + ): Promise> { + const blob = await this.download(file, options); + return blob.stream(); + } + + async move(file: CollectionFile, path: string): Promise { + const target = imagePath(path); + const entry = await this.vault.rename(imagePath(file.path), target); + this.digestCache.delete(file.path); + this.remember(entry, file.contentDigest); + return { + ...file, + fileId: fileId(target), + path: target, + revision: revision(entry), + modifiedAt: modifiedAt(entry), + mediaType: mediaType(target), + }; + } + + async delete(file: CollectionFile): Promise { + await this.vault.delete(imagePath(file.path)); + this.digestCache.delete(file.path); + } + + private async entry(path: string): Promise { + if (!(await this.vault.exists(path))) return undefined; + return ( + await this.vault.listCollectionFiles([...TASKNOTES_IMAGE_EXTENSIONS]) + ).find((entry) => entry.path === path); + } + + private remember(entry: VaultEntry, digest: `sha256:${string}`): void { + this.digestCache.set(entry.path, { revision: revision(entry), digest }); + } +} + +function descriptorFrom( + entry: VaultEntry, + digest: `sha256:${string}`, + explicitMediaType?: string, +): CollectionFile { + return { + fileId: fileId(entry.path), + path: entry.path, + revision: revision(entry), + contentDigest: digest, + size: entry.size, + mediaType: explicitMediaType || mediaType(entry.path), + mediaClass: "image", + modifiedAt: modifiedAt(entry), + }; +} + +function imagePath(path: string): string { + const target = safePath(path); + if ( + !TASKNOTES_IMAGE_EXTENSIONS.some((extension) => + target.toLowerCase().endsWith(extension), + ) + ) + throw new Error("TaskNotes attachments must use a supported image format."); + return target; +} + +function fileId(path: string): string { + return `vault:${path}`; +} + +function revision(entry: VaultEntry): string { + return `${entry.lastModified}:${entry.size}`; +} + +function modifiedAt(entry: VaultEntry): string { + return new Date(entry.lastModified).toISOString(); +} + +function mediaType(path: string): string { + const extension = path.slice(path.lastIndexOf(".")).toLowerCase(); + if (extension === ".jpg" || extension === ".jpeg") return "image/jpeg"; + if (extension === ".heic" || extension === ".heif") return "image/heic"; + return `image/${extension.slice(1)}`; +} + +function validatedMediaType(path: string, declared?: string): string { + const inferred = mediaType(path); + if (!declared) return inferred; + const normalized = declared.toLowerCase().split(";", 1)[0].trim(); + const accepted = + inferred === "image/heic" + ? new Set(["image/heic", "image/heif"]) + : new Set([inferred]); + if (!accepted.has(normalized)) + throw new Error( + "Attachment media type does not match its image extension.", + ); + return normalized; +} + +async function bytesFrom( + source: Blob | ArrayBuffer | ArrayBufferView, +): Promise { + if (source instanceof Blob) return new Uint8Array(await source.arrayBuffer()); + if (ArrayBuffer.isView(source)) + return new Uint8Array( + source.buffer.slice( + source.byteOffset, + source.byteOffset + source.byteLength, + ), + ); + return new Uint8Array(source.slice(0)); +} + +async function sha256(bytes: Uint8Array): Promise<`sha256:${string}`> { + const digest = await crypto.subtle.digest("SHA-256", ownedBuffer(bytes)); + return `sha256:${[...new Uint8Array(digest)] + .map((value) => value.toString(16).padStart(2, "0")) + .join("")}`; +} + +function ownedBuffer(bytes: Uint8Array): ArrayBuffer { + const copy = new Uint8Array(bytes.byteLength); + copy.set(bytes); + return copy.buffer; +} + +function throwIfAborted(signal?: AbortSignal): void { + if (signal?.aborted) + throw signal.reason ?? new DOMException("Aborted", "AbortError"); +} diff --git a/src/storage/vault-native-folder.test.ts b/src/storage/vault-native-folder.test.ts index 7aed616..8869872 100644 --- a/src/storage/vault-native-folder.test.ts +++ b/src/storage/vault-native-folder.test.ts @@ -4,8 +4,10 @@ const folderAccess = vi.hoisted(() => ({ ensureDirectory: vi.fn(), exists: vi.fn(), listFiles: vi.fn(), + readBinary: vi.fn(), readText: vi.fn(), rename: vi.fn(), + writeBinary: vi.fn(), writeText: vi.fn(), })); @@ -91,3 +93,27 @@ it("filters every path containing an excluded component", async () => { { path: "visible.md", lastModified: 1, size: 1 }, ]); }); + +it("round-trips binary bytes through the retained-folder bridge", async () => { + folderAccess.readBinary.mockResolvedValue({ data: "AP8MYw==" }); + folderAccess.writeBinary.mockResolvedValue({ + entry: { path: "Attachments/photo.jpg", lastModified: 3, size: 4 }, + }); + const vault = new NativeFolderVault(selection); + + await expect(vault.readBinary("Attachments/photo.jpg")).resolves.toEqual( + Uint8Array.of(0, 255, 12, 99), + ); + await expect( + vault.writeBinary("Attachments/photo.jpg", Uint8Array.of(0, 255, 12, 99)), + ).resolves.toEqual({ + path: "Attachments/photo.jpg", + lastModified: 3, + size: 4, + }); + expect(folderAccess.writeBinary).toHaveBeenCalledWith({ + selectionId: selection.id, + path: "Attachments/photo.jpg", + data: "AP8MYw==", + }); +}); diff --git a/src/storage/vault-native-folder.ts b/src/storage/vault-native-folder.ts index 376d689..8118ec1 100644 --- a/src/storage/vault-native-folder.ts +++ b/src/storage/vault-native-folder.ts @@ -2,13 +2,13 @@ import { FolderAccess } from "../native/folder-access"; import { isExcludedCollectionPath, safePath, - type Vault, + type BinaryVault, type VaultEntry, } from "./vault-contract"; import type { LocalCollectionLocation } from "./local-collection-location"; -export class NativeFolderVault implements Vault { +export class NativeFolderVault implements BinaryVault { readonly kind = "native" as const; private readonly selection: Extract< LocalCollectionLocation, @@ -70,6 +70,23 @@ export class NativeFolderVault implements Vault { return result.entry; } + async readBinary(path: string): Promise { + const result = await FolderAccess.readBinary({ + selectionId: this.selection.id, + path: safePath(path), + }); + return bytesFromBase64(result.data); + } + + async writeBinary(path: string, contents: Uint8Array): Promise { + const result = await FolderAccess.writeBinary({ + selectionId: this.selection.id, + path: safePath(path), + data: base64FromBytes(contents), + }); + return result.entry; + } + async rename(from: string, to: string): Promise { const result = await FolderAccess.rename({ selectionId: this.selection.id, @@ -121,3 +138,15 @@ export class NativeFolderVault implements Vault { .sort((left, right) => left.path.localeCompare(right.path)); } } + +function base64FromBytes(bytes: Uint8Array): string { + let binary = ""; + for (let offset = 0; offset < bytes.length; offset += 0x8000) + binary += String.fromCharCode(...bytes.subarray(offset, offset + 0x8000)); + return btoa(binary); +} + +function bytesFromBase64(value: string): Uint8Array { + const binary = atob(value); + return Uint8Array.from(binary, (character) => character.charCodeAt(0)); +} diff --git a/src/styles.css b/src/styles.css index dac8f15..86dd0f7 100644 --- a/src/styles.css +++ b/src/styles.css @@ -2948,6 +2948,202 @@ button:disabled { outline: 0; } +.task-attachments { + padding: 25px 0 22px; + border-bottom: 1px solid var(--line); +} + +.task-attachments-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 18px; + margin-bottom: 14px; +} + +.task-attachments-heading h2, +.task-attachments-heading p { + margin: 0; +} + +.task-attachments-heading h2 { + color: var(--ink-muted); + font-size: 1rem; + font-weight: 400; +} + +.task-attachments-heading p { + max-width: 48ch; + margin-top: 4px; + color: var(--ink-muted); + font-size: 0.78rem; + line-height: 1.45; +} + +.task-attachment-add-actions { + display: flex; + flex: 0 0 auto; + flex-wrap: wrap; + justify-content: flex-end; + gap: 2px 12px; +} + +.task-attachment-add-actions input { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.task-attachment-add-actions label { + display: inline-flex; + min-height: var(--control-min-size); + align-items: center; + gap: 7px; + cursor: pointer; +} + +.task-attachment-add-actions input:focus-visible + label { + outline: 2px solid color-mix(in srgb, var(--accent), transparent 28%); + outline-offset: 2px; +} + +.task-attachment-add-actions input:disabled + label { + cursor: wait; + opacity: 0.55; +} + +.attachment-status, +.attachment-empty, +.attachment-error { + min-height: 44px; + margin: 0; + color: var(--ink-muted); + font-size: 0.84rem; + line-height: 1.45; +} + +.attachment-status { + display: flex; + align-items: center; + gap: 8px; +} + +.attachment-error { + color: var(--danger); +} + +.attachment-list { + padding: 0; + margin: 0; + list-style: none; + border-top: 1px solid var(--line); +} + +.attachment-list > li { + display: grid; + grid-template-columns: 44px minmax(0, 1fr) auto; + min-height: 68px; + align-items: center; + gap: 12px; + padding: 11px 0; + border-bottom: 1px solid var(--line); +} + +.attachment-thumbnail { + display: grid; + width: 44px; + height: 44px; + object-fit: cover; + place-items: center; + color: var(--ink-muted); + background: var(--paper-soft); + border-radius: 8px; +} + +.attachment-identity { + min-width: 0; +} + +.attachment-identity strong, +.attachment-identity small { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.attachment-identity strong { + font-size: 0.9rem; + font-weight: 560; +} + +.attachment-identity small { + margin-top: 3px; + color: var(--ink-muted); + font-size: 0.74rem; +} + +.attachment-actions, +.attachment-delete-confirm { + display: flex; + align-items: center; + justify-content: flex-end; + gap: 2px; +} + +.attachment-actions button, +.attachment-delete-confirm button { + min-width: var(--control-min-size); + min-height: var(--control-min-size); + padding: 0 9px; + color: var(--ink-muted); + background: transparent; + border: 0; + border-radius: 6px; + cursor: pointer; +} + +.attachment-actions button:hover, +.attachment-actions button:focus-visible, +.attachment-delete-confirm button:hover, +.attachment-delete-confirm button:focus-visible { + color: var(--ink); + background: var(--paper-soft); +} + +.attachment-actions button:focus-visible, +.attachment-delete-confirm button:focus-visible { + outline: 2px solid color-mix(in srgb, var(--accent), transparent 28%); + outline-offset: 1px; +} + +.attachment-actions button.danger, +.attachment-delete-confirm button.danger { + color: var(--danger); +} + +.attachment-actions button:disabled, +.attachment-delete-confirm button:disabled { + cursor: not-allowed; + opacity: 0.45; +} + +.attachment-delete-confirm { + flex-wrap: wrap; +} + +.attachment-delete-confirm span { + margin-right: 4px; + color: var(--ink); + font-size: 0.78rem; +} + .markdown-preview { min-height: 150px; overflow-wrap: anywhere; @@ -2955,6 +3151,27 @@ button:disabled { line-height: 1.6; } +.markdown-preview img { + display: block; + width: auto; + max-width: 100%; + max-height: min(52vh, 520px); + margin: 14px 0; + object-fit: contain; + border-radius: 10px; +} + +.markdown-image-placeholder { + display: grid; + min-height: 96px; + margin: 14px 0; + place-items: center; + color: var(--ink-muted); + font-size: 0.82rem; + background: var(--paper-soft); + border-radius: 10px; +} + .markdown-preview > :first-child { margin-top: 0; } @@ -6084,6 +6301,16 @@ button:disabled { padding-left: 14px; } + .detail-inspector .task-attachments-heading { + align-items: stretch; + flex-direction: column; + gap: 8px; + } + + .detail-inspector .task-attachment-add-actions { + justify-content: flex-start; + } + .view-detail { width: min(100%, 1440px); } @@ -6496,6 +6723,27 @@ button:disabled { align-items: flex-start; } + .task-attachments-heading { + align-items: stretch; + flex-direction: column; + gap: 8px; + } + + .task-attachment-add-actions { + justify-content: flex-start; + } + + .attachment-list > li { + grid-template-columns: 44px minmax(0, 1fr); + } + + .attachment-actions, + .attachment-delete-confirm { + grid-column: 1 / -1; + justify-content: flex-start; + padding-left: 56px; + } + .delete-confirmation { align-items: flex-start; flex-direction: column; diff --git a/src/test/memory-vault.ts b/src/test/memory-vault.ts index b836c85..88c8726 100644 --- a/src/test/memory-vault.ts +++ b/src/test/memory-vault.ts @@ -5,7 +5,7 @@ import { } from "../storage/vault-contract"; interface StoredFile { - contents: string; + contents: Uint8Array; lastModified: number; } @@ -49,7 +49,7 @@ export class MemoryVault implements Vault { .map(([name, file]) => ({ path: name, lastModified: file.lastModified, - size: new TextEncoder().encode(file.contents).byteLength, + size: file.contents.byteLength, })) .sort((left, right) => left.path.localeCompare(right.path)); } @@ -57,17 +57,37 @@ export class MemoryVault implements Vault { async readText(path: string): Promise { const file = this.files.get(safePath(path)); if (!file) throw new DOMException("File not found", "NotFoundError"); - return file.contents; + return new TextDecoder().decode(file.contents); } async writeText(path: string, contents: string): Promise { const safe = safePath(path); - const file = { contents, lastModified: this.clock++ }; + const file = { + contents: new TextEncoder().encode(contents), + lastModified: this.clock++, + }; + this.files.set(safe, file); + return { + path: safe, + lastModified: file.lastModified, + size: file.contents.byteLength, + }; + } + + async readBinary(path: string): Promise { + const file = this.files.get(safePath(path)); + if (!file) throw new DOMException("File not found", "NotFoundError"); + return file.contents.slice(); + } + + async writeBinary(path: string, contents: Uint8Array): Promise { + const safe = safePath(path); + const file = { contents: contents.slice(), lastModified: this.clock++ }; this.files.set(safe, file); return { path: safe, lastModified: file.lastModified, - size: new TextEncoder().encode(contents).byteLength, + size: file.contents.byteLength, }; } @@ -88,7 +108,7 @@ export class MemoryVault implements Vault { return { path: destination, lastModified: moved.lastModified, - size: new TextEncoder().encode(moved.contents).byteLength, + size: moved.contents.byteLength, }; } diff --git a/vendor/tasknotes-model-0.3.0-rc.9.tgz b/vendor/tasknotes-model-0.3.0-rc.9.tgz new file mode 100644 index 0000000000000000000000000000000000000000..600bdad5f1b627639ee9bb1a250ed7ec572e5fad GIT binary patch literal 771908 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

+7-cUBWB17-9CcLk5^rkFT^Cyg@NOy`5zzSq+&h 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

Ecjht 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

pi*pn!{AQQ*^ZL}f>vfh&lQ~Q( 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�kfAxlT_Xbhh<{hUt#jh!BsD^x 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 $r_hz#0*^fS6Q=~L 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 LMs7lJNkIJ%2Y~oZ literal 0 HcmV?d00001 diff --git a/vendor/tasknotes-spec-0.3.0-rc.3.tgz b/vendor/tasknotes-spec-0.3.0-rc.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..57b57c4f125eda28bfcdf0587295e6bace0fb90a GIT binary patch literal 188087 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Ξa%Skk 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

)Eg_3{MPU=U&b4s0C*z-uE5};ijMnqR@n}2^ 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 literal 0 HcmV?d00001 From 9e81987d25a695ed79929b08069fa288557eb958 Mon Sep 17 00:00:00 2001 From: callumalpass Date: Sun, 2 Aug 2026 22:19:42 +1000 Subject: [PATCH 2/4] chore: format generated mdbase manifest --- src/generated/mdbase-app.json | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/generated/mdbase-app.json b/src/generated/mdbase-app.json index 2f96ecb..83721fc 100644 --- a/src/generated/mdbase-app.json +++ b/src/generated/mdbase-app.json @@ -17,14 +17,7 @@ ], "access": "full_collection", "files": { - "actions": [ - "list", - "read", - "add", - "replace", - "move", - "delete" - ], + "actions": ["list", "read", "add", "replace", "move", "delete"], "scope": { "kind": "collection" } From 036b5c736ece53d877ace27e3bbcd4281e3f020f Mon Sep 17 00:00:00 2001 From: callumalpass Date: Sun, 2 Aug 2026 22:49:48 +1000 Subject: [PATCH 3/4] fix: harden attachment integrity and concurrency --- README.md | 9 +- .../dev/tasknotes/app/FolderAccessPlugin.java | 40 ++++- docs/architecture.md | 14 +- package.json | 2 + pnpm-lock.yaml | 6 + src/app/task-screen.test.tsx | 145 +++++++++++++++- src/app/task-screen.tsx | 15 +- .../attachments/attachment-service.test.ts | 106 ++++++++++-- .../attachments/attachment-service.ts | 156 ++++++++++++------ src/components/task-attachments.tsx | 111 +++++++++---- src/generated/mdbase-app.json | 6 +- src/storage/local-first-mdbase-files.test.ts | 33 +++- src/storage/local-first-mdbase-files.ts | 20 ++- src/styles.css | 11 ++ 14 files changed, 555 insertions(+), 119 deletions(-) diff --git a/README.md b/README.md index 38faeff..75d938f 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,14 @@ the Markdown body owns presentation; and the filesystem or mdbase file descriptor owns binary metadata such as size, digest, media type, and revision. Attaching therefore never rewrites Notes, detaching never deletes bytes, and a physical delete is refused while any other task or inline embed still refers to -the file. +the file. Native collections can then delete the unreferenced bytes. Synced +mdbase collections deliberately retain detached files until the backend can +perform the same reference check atomically against its authoritative records. + +```yaml +attachments: + - "[[Attachments/receipt.jpg]]" +``` Android retains access to selected folders through a persisted Storage Access Framework grant. iOS retains a security-scoped bookmark and coordinates access diff --git a/android/app/src/main/java/dev/tasknotes/app/FolderAccessPlugin.java b/android/app/src/main/java/dev/tasknotes/app/FolderAccessPlugin.java index e5bac38..14162eb 100644 --- a/android/app/src/main/java/dev/tasknotes/app/FolderAccessPlugin.java +++ b/android/app/src/main/java/dev/tasknotes/app/FolderAccessPlugin.java @@ -299,15 +299,39 @@ public void writeBinary(PluginCall call) { } catch (IllegalArgumentException error) { throw new IllegalArgumentException("data must be valid base64.", error); } - DocumentFile file = fileForWrite(id, path); - try ( - OutputStream raw = getContext().getContentResolver().openOutputStream(file.getUri(), "wt"); - BufferedOutputStream output = raw == null ? null : new BufferedOutputStream(raw) - ) { - if (output == null) { - throw new IOException("Could not open " + path + " for writing."); + String temporaryPath = path + ".tasknotes-write-" + UUID.randomUUID() + ".tmp"; + DocumentFile temporary = fileForWrite(id, temporaryPath); + DocumentFile file; + try { + try ( + OutputStream raw = getContext().getContentResolver().openOutputStream(temporary.getUri(), "wt"); + BufferedOutputStream output = raw == null ? null : new BufferedOutputStream(raw) + ) { + if (output == null) { + throw new IOException("Could not open " + path + " for writing."); + } + output.write(bytes); + } + if (temporary.length() != bytes.length) { + throw new IOException("The provider wrote only part of " + path + "."); } - output.write(bytes); + DocumentFile existing = resolve(id, path); + if (existing != null && existing.exists() && !existing.delete()) { + throw new IOException("Could not replace " + path + "."); + } + pathCache.remove(path); + if (!temporary.renameTo(fileName(path))) { + throw new IOException("Could not commit " + path + "."); + } + pathCache.remove(temporaryPath); + file = resolve(id, path); + if (file == null || file.length() != bytes.length) { + throw new IOException("Committed binary could not be verified: " + path + "."); + } + } catch (Exception error) { + temporary.delete(); + pathCache.remove(temporaryPath); + throw error; } JSObject response = new JSObject(); response.put("entry", entry(path, file)); diff --git a/docs/architecture.md b/docs/architecture.md index 2463e1e..3d1c029 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -96,8 +96,12 @@ same references and never duplicate the underlying bytes. Native Android and iOS collections store image bytes beside Markdown through the same granted folder boundary. Listing derives portable descriptors with a SHA-256 content digest and reuses them while path, modification time, and size -are unchanged. Browser-local attachment storage is intentionally absent: -browser collections use mdbase. +are unchanged. Native attachment changes are journaled before binary work: +attach writes bytes first and startup recovery completes frontmatter membership, +while delete keeps membership until the bytes are gone. An interruption can +therefore leave a recoverable extra file or reference, never an attachment that +quietly claims missing bytes. Browser-local attachment storage is intentionally +absent: browser collections use mdbase. For mdbase collections, bytes are committed to the durable IndexedDB replica and outbox before network work begins. Upload, move, and delete operations keep @@ -106,6 +110,12 @@ Reads prefer the device replica; reconciliation uploads pending work and fills missing local bytes from the hosted authority. A pending-local state is shown to the user but is never written into task frontmatter. +TaskNotes does not initiate physical attachment deletion for mdbase collections +in beta.23. A local replica cannot prove that another offline device has not +created a reference, and the backend does not yet expose an atomic +reference-check-and-delete operation. Detach is available and leaves safe orphan +bytes; permanent cleanup must wait for that authoritative transaction. + Collection adoption captures task records and file descriptors in one authority snapshot, then transfers the corresponding bytes. A final snapshot closes the edit window before cutover, using stable portable file identities so diff --git a/package.json b/package.json index 11f3b41..65cba81 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,9 @@ "react-dom": "19.2.8", "react-markdown": "^10.1.0", "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", "tasknotes-nlp-core": "0.1.5", + "unified": "^11.0.5", "yaml": "2.9.0" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d34c38f..6cc6e52 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -94,9 +94,15 @@ importers: remark-gfm: specifier: ^4.0.1 version: 4.0.1 + remark-parse: + specifier: ^11.0.0 + version: 11.0.0 tasknotes-nlp-core: specifier: 0.1.5 version: 0.1.5 + unified: + specifier: ^11.0.5 + version: 11.0.5 yaml: specifier: 2.9.0 version: 2.9.0 diff --git a/src/app/task-screen.test.tsx b/src/app/task-screen.test.tsx index 31d2d83..327251d 100644 --- a/src/app/task-screen.test.tsx +++ b/src/app/task-screen.test.tsx @@ -113,10 +113,153 @@ describe("TaskScreen", () => { ); fireEvent.click( - screen.getByRole("button", { name: "Delete receipt.png file" }), + await screen.findByRole("button", { name: "Delete receipt.png file" }), ); await waitFor(() => expect(screen.getByRole("button", { name: "Keep" })).toHaveFocus(), ); + expect( + screen.getByText( + /Delete this image from the collection\?.*detached from this task.*can.t be undone\./, + ), + ).toBeVisible(); + }); + + it("preserves Notes typed while an inline image upload is in flight", async () => { + renderTask(); + const upload = repository.files!.upload.bind(repository.files); + let releaseUpload!: () => void; + const uploadGate = new Promise((resolve) => { + releaseUpload = resolve; + }); + const uploadSpy = vi + .spyOn(repository.files!, "upload") + .mockImplementationOnce(async (...arguments_) => { + await uploadGate; + return upload(...arguments_); + }); + const file = new File([Uint8Array.of(137, 80, 78, 71)], "slow.png", { + type: "image/png", + }); + + fireEvent.change(await screen.findByLabelText("Insert in Notes"), { + target: { files: [file] }, + }); + await waitFor(() => expect(uploadSpy).toHaveBeenCalled()); + fireEvent.change(screen.getByLabelText("Notes"), { + target: { value: "Typed while uploading" }, + }); + releaseUpload(); + + await waitFor(async () => { + const saved = await repository.get(task.id); + expect(saved?.body).toMatch( + /^Typed while uploading\n\n!\[\[Attachments\//, + ); + }); + expect( + (screen.getByLabelText("Notes") as HTMLTextAreaElement).value, + ).toMatch(/^Typed while uploading\n\n!\[\[Attachments\//); + }); + + it("preserves Notes typed while existing-image validation is in flight", async () => { + renderTask(); + const file = new File([Uint8Array.of(137, 80, 78, 71)], "existing.png", { + type: "image/png", + }); + fireEvent.change(await screen.findByLabelText("Attach image"), { + target: { files: [file] }, + }); + expect(await screen.findByText("existing.png")).toBeVisible(); + + const list = repository.files!.list.bind(repository.files); + let releaseList!: () => void; + const listGate = new Promise((resolve) => { + releaseList = resolve; + }); + const listSpy = vi + .spyOn(repository.files!, "list") + .mockImplementationOnce(async (...arguments_) => { + await listGate; + return list(...arguments_); + }); + fireEvent.click(screen.getByRole("button", { name: "Insert" })); + await waitFor(() => expect(listSpy).toHaveBeenCalled()); + fireEvent.change(screen.getByLabelText("Notes"), { + target: { value: "Typed during validation" }, + }); + releaseList(); + + await waitFor(async () => + expect((await repository.get(task.id))?.body).toMatch( + /^Typed during validation\n\n!\[\[Attachments\//, + ), + ); + }); + + it("opens a blank image window synchronously and reports download failures", async () => { + renderTask(); + const file = new File([Uint8Array.of(137, 80, 78, 71)], "open.png", { + type: "image/png", + }); + fireEvent.change(await screen.findByLabelText("Attach image"), { + target: { files: [file] }, + }); + expect(await screen.findByText("open.png")).toBeVisible(); + + const target = { + close: vi.fn(), + location: { href: "about:blank" }, + opener: window, + } as unknown as Window; + const open = vi.spyOn(window, "open").mockReturnValue(target); + const download = vi + .spyOn(repository.files!, "download") + .mockRejectedValueOnce(new Error("Image download unavailable")); + + fireEvent.click(screen.getByRole("button", { name: "Open open.png" })); + expect(open).toHaveBeenCalledWith("about:blank", "_blank"); + expect(download).toHaveBeenCalled(); + await waitFor(() => + expect(screen.getByRole("alert")).toHaveTextContent( + "Image download unavailable", + ), + ); + expect(target.close).toHaveBeenCalled(); + }); + + it("keeps a user-opened window alive across a delayed image download", async () => { + renderTask(); + const file = new File([Uint8Array.of(137, 80, 78, 71)], "delayed.png", { + type: "image/png", + }); + fireEvent.change(await screen.findByLabelText("Attach image"), { + target: { files: [file] }, + }); + expect(await screen.findByText("delayed.png")).toBeVisible(); + + const target = { + close: vi.fn(), + location: { href: "about:blank" }, + opener: window, + } as unknown as Window; + vi.spyOn(window, "open").mockReturnValue(target); + const download = repository.files!.download.bind(repository.files); + let releaseDownload!: () => void; + const downloadGate = new Promise((resolve) => { + releaseDownload = resolve; + }); + vi.spyOn(repository.files!, "download").mockImplementationOnce( + async (...arguments_) => { + await downloadGate; + return download(...arguments_); + }, + ); + + fireEvent.click(screen.getByRole("button", { name: "Open delayed.png" })); + expect(target.location.href).toBe("about:blank"); + releaseDownload(); + await waitFor(() => expect(target.location.href).toMatch(/^blob:/)); + expect(target.close).not.toHaveBeenCalled(); }); }); diff --git a/src/app/task-screen.tsx b/src/app/task-screen.tsx index da44730..b78b1c9 100644 --- a/src/app/task-screen.tsx +++ b/src/app/task-screen.tsx @@ -446,15 +446,18 @@ function TaskEditor({ if (dirtyRef.current) await persist(draftRef.current, editVersion.current); } - function acceptAttachmentBody(body: string): void { - if (body === draftRef.current.body) return; + async function insertAttachmentInline(reference: string): Promise { + const embed = `!${reference}`; + if (draftRef.current.body.includes(embed)) return; editVersion.current += 1; + const version = editVersion.current; + const body = `${draftRef.current.body.trimEnd()}${draftRef.current.body.trim() ? "\n\n" : ""}${embed}\n`; const next = { ...draftRef.current, body }; draftRef.current = next; - dirtyRef.current = false; + dirtyRef.current = true; setDraft(next); - setDirty(false); - setSaveState("saved"); + setDirty(true); + await persist(next, version); } async function leave() { @@ -858,7 +861,7 @@ function TaskEditor({ {repository.files ? ( { ).toHaveLength(1); }); - it("treats inline insertion as explicit presentation in addition to membership", async () => { + it("keeps Notes presentation outside binary and membership persistence", async () => { const { repository } = await fixture(); const task = await repository.create({ title: "Visual task", body: "Context", }); - const result = await new AttachmentService(repository).insertImageInline( + const result = await new AttachmentService(repository).attachImage( task.id, new File([Uint8Array.of(9)], "diagram.webp", { type: "image/webp" }), ); expect(result.task.attachments).toEqual([result.reference]); - expect(result.task.body).toBe(`Context\n\n!${result.reference}\n`); + expect(result.task.body).toBe("Context"); }); - it("inserts an existing image idempotently and rejects missing membership or bytes", async () => { + it("validates existing inline insertion without mutating Notes", async () => { const { repository } = await fixture(); const task = await repository.create({ title: "Existing image" }); const service = new AttachmentService(repository); @@ -71,25 +71,19 @@ describe("AttachmentService", () => { new File([Uint8Array.of(4)], "existing.gif", { type: "image/gif" }), ); - const inserted = await service.insertExistingInline( - task.id, - attached.reference, - ); - const repeated = await service.insertExistingInline( - task.id, - attached.reference, - ); - expect(repeated.body).toBe(inserted.body); - expect(repeated.body.match(/!\[\[/g)).toHaveLength(1); + await expect( + service.assertInlineInsertable(task.id, attached.reference), + ).resolves.toBeUndefined(); + expect((await repository.get(task.id))?.body).toBe(""); await service.detach(task.id, attached.reference); await expect( - service.insertExistingInline(task.id, attached.reference), + service.assertInlineInsertable(task.id, attached.reference), ).rejects.toThrow("Attach this image"); await repository.update(task.id, { attachments: [attached.reference] }); await repository.files!.delete(attached.file); await expect( - service.insertExistingInline(task.id, attached.reference), + service.assertInlineInsertable(task.id, attached.reference), ).rejects.toThrow("file is missing"); }); @@ -179,6 +173,28 @@ describe("AttachmentService", () => { await expect( service.deletePhysical(first.id, attached.reference), ).rejects.toThrow("inline embed"); + const encodedPath = attached.file.path.replace( + "shared.jpg", + "shared%2Ejpg", + ); + await repository.update(first.id, { + body: `![Receipt](../${encodedPath} "Expense receipt")`, + }); + await expect( + service.deletePhysical(first.id, attached.reference), + ).rejects.toThrow("inline embed"); + await repository.update(first.id, { + body: `![[${attached.file.path}|Receipt alias]]`, + }); + await expect( + service.deletePhysical(first.id, attached.reference), + ).rejects.toThrow("inline embed"); + await repository.update(first.id, { + body: `![Receipt][expense]\n\n[expense]: ../${encodedPath} "Expense receipt"`, + }); + await expect( + service.deletePhysical(first.id, attached.reference), + ).rejects.toThrow("inline embed"); await repository.update(first.id, { body: "" }); const updated = await service.deletePhysical(first.id, attached.reference); @@ -238,6 +254,64 @@ describe("AttachmentService", () => { ).toHaveLength(1); }); + it("rejects and cleans a truncated ambiguous native write", async () => { + const { repository } = await fixture(); + const task = await repository.create({ + title: "Interrupted partial upload", + }); + const service = new AttachmentService(repository); + const upload = repository.files!.upload.bind(repository.files); + vi.spyOn(repository.files!, "upload").mockImplementationOnce( + async (path, _source, options) => { + await upload( + path, + new Blob([Uint8Array.of(1)], { type: "image/png" }), + options, + ); + throw new Error("Bridge response was lost after a partial write"); + }, + ); + + await expect( + service.attachImage( + task.id, + new File([Uint8Array.of(1, 2, 3)], "partial.png", { + type: "image/png", + }), + ), + ).rejects.toThrow("partial write"); + expect((await repository.get(task.id))?.attachments).toEqual([]); + expect(await repository.files!.list({ folder: "Attachments" })).toEqual([]); + await expect(service.recover()).resolves.toBeUndefined(); + }); + + it("does not offer non-atomic physical deletion for mdbase collections", async () => { + const { repository } = await fixture(); + const task = await repository.create({ title: "Synced attachment" }); + const service = new AttachmentService(repository); + const attached = await service.attachImage( + task.id, + new File([Uint8Array.of(7)], "hosted.png", { type: "image/png" }), + ); + vi.spyOn(repository, "collectionInfo").mockResolvedValue({ + kind: "connect", + id: "hosted", + name: "mdbase cloud", + location: "Offline copy on this device", + runtime: "browser", + }); + + await expect( + service.deletePhysical(task.id, attached.reference), + ).rejects.toThrow("authoritative reference check"); + expect((await repository.get(task.id))?.attachments).toEqual([ + attached.reference, + ]); + expect( + await repository.files!.list({ folder: "Attachments" }), + ).toHaveLength(1); + }); + it("keeps membership until an interrupted physical deletion can resume", async () => { const { repository } = await fixture(); const task = await repository.create({ title: "Delete safely" }); diff --git a/src/application/attachments/attachment-service.ts b/src/application/attachments/attachment-service.ts index a852fe8..8999cda 100644 --- a/src/application/attachments/attachment-service.ts +++ b/src/application/attachments/attachment-service.ts @@ -1,4 +1,6 @@ import Dexie, { type EntityTable } from "dexie"; +import remarkParse from "remark-parse"; +import { unified } from "unified"; import { attachmentPathFromReference, canonicalAttachmentReference, @@ -16,8 +18,9 @@ interface AttachmentJournalEntry { collectionId: string; taskId: string; reference: string; - inline: boolean; operation: "link" | "unlink"; + expectedDigest?: `sha256:${string}`; + expectedSize?: number; fileSaved?: boolean; fileDeleted?: boolean; enqueuedAt: number; @@ -74,7 +77,11 @@ export class AttachmentService { } if (entry.operation === "link" && !entry.fileSaved) { const file = await this.findFile(task, entry.reference); - if (!file) { + if (!file || !matchesExpectedFile(file, entry)) { + if (file) + await this.requireStore() + .delete(file) + .catch(() => undefined); await journal.entries.delete(entry.id); continue; } @@ -86,7 +93,10 @@ export class AttachmentService { entry.fileDeleted = true; await journal.entries.put(entry); } - await this.applyJournalEntry(task, entry); + await this.applyJournalEntry( + (await this.repository.get(entry.taskId)) ?? task, + entry, + ); await journal.entries.delete(entry.id); } } @@ -95,17 +105,14 @@ export class AttachmentService { taskId: string, source: File | Blob, ): Promise { - return this.attach(taskId, source, false); + return this.attach(taskId, source); } - async insertImageInline( + /** Verifies an existing membership can safely be presented in Notes. */ + async assertInlineInsertable( taskId: string, - source: File | Blob, - ): Promise { - return this.attach(taskId, source, true); - } - - async insertExistingInline(taskId: string, reference: string): Promise { + reference: string, + ): Promise { const task = await this.requireTask(taskId); if (!hasReference(task, reference)) throw new Error( @@ -113,20 +120,6 @@ export class AttachmentService { ); if (!(await this.findFile(task, reference))) throw new Error("The attachment file is missing and cannot be inserted."); - const entry: AttachmentJournalEntry = { - id: crypto.randomUUID(), - collectionId: await this.collectionId(), - taskId, - reference, - inline: true, - operation: "link", - fileSaved: true, - enqueuedAt: Date.now(), - }; - await journal.entries.put(entry); - const updated = await this.applyJournalEntry(task, entry); - await journal.entries.delete(entry.id); - return updated; } async resolve(task: Task): Promise { @@ -156,6 +149,10 @@ export class AttachmentService { */ async deletePhysical(taskId: string, reference: string): Promise { const store = this.requireStore(); + if (!(await this.physicalDeletionAvailable())) + throw new Error( + "Synced collections keep detached files. Permanent deletion needs an authoritative reference check that this mdbase version does not provide yet.", + ); const task = await this.requireTask(taskId); const path = attachmentPathFromReference(reference, task.path); if (!path) @@ -194,7 +191,6 @@ export class AttachmentService { collectionId: await this.collectionId(), taskId, reference, - inline: false, operation: "unlink", fileDeleted: false, enqueuedAt: Date.now(), @@ -208,10 +204,13 @@ export class AttachmentService { return updated; } + async physicalDeletionAvailable(): Promise { + return (await this.repository.collectionInfo()).kind === "local"; + } + private async attach( taskId: string, source: File | Blob, - inline: boolean, ): Promise { const store = this.requireStore(); const task = await this.requireTask(taskId); @@ -220,13 +219,16 @@ export class AttachmentService { const path = attachmentPath(name); assertImage(source.type, path); const reference = canonicalAttachmentReference(path); + const expectedSize = source.size; + const expectedDigest = await sha256(source); const entry: AttachmentJournalEntry = { id: crypto.randomUUID(), collectionId: await this.collectionId(), taskId, reference, - inline, operation: "link", + expectedDigest, + expectedSize, fileSaved: false, enqueuedAt: Date.now(), }; @@ -245,15 +247,26 @@ export class AttachmentService { }, () => undefined, ); - if (!recovered) { + if (!recovered || !matchesExpectedFile(recovered, entry)) { + if (recovered) await store.delete(recovered).catch(() => undefined); if (listingSucceeded) await journal.entries.delete(entry.id); throw reason; } file = recovered; } + if (!matchesExpectedFile(file, entry)) { + await store.delete(file).catch(() => undefined); + await journal.entries.delete(entry.id); + throw new Error( + "The attachment write did not preserve every byte. The partial file was not attached.", + ); + } entry.fileSaved = true; await journal.entries.put(entry); - const updated = await this.applyJournalEntry(task, entry); + const updated = await this.applyJournalEntry( + (await this.repository.get(taskId)) ?? task, + entry, + ); await journal.entries.delete(entry.id); return { task: updated, file, reference }; } @@ -270,14 +283,8 @@ export class AttachmentService { const attachments = hasReference(task, entry.reference) ? task.attachments : [...task.attachments, entry.reference]; - const embed = `!${entry.reference}`; - const body = - entry.inline && !task.body.includes(embed) - ? `${task.body.trimEnd()}${task.body.trim() ? "\n\n" : ""}${embed}\n` - : task.body; - if (sameList(task.attachments, attachments) && body === task.body) - return task; - return this.repository.update(task.id, { attachments, body }); + if (sameList(task.attachments, attachments)) return task; + return this.repository.update(task.id, { attachments }); } private async deleteJournalFile( @@ -372,18 +379,73 @@ function attachmentReferences( ) ) kinds.push("membership"); - const escaped = path.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); - if ( - new RegExp(`!\\[\\[${escaped}(?:\\|[^\\]]*)?\\]\\]`, "i").test(task.body) || - new RegExp( - `!\\[[^\\]]*\\]\\((?:\\/)?${escaped}(?:\\s+[^)]*)?\\)`, - "i", - ).test(task.body) - ) - kinds.push("inline"); + if (inlineAttachmentPaths(task).has(path)) kinds.push("inline"); return kinds; } +interface MarkdownNode { + type?: string; + url?: string; + identifier?: string; + children?: MarkdownNode[]; +} + +const markdownParser = unified().use(remarkParse); + +function inlineAttachmentPaths(task: Task): Set { + const tree = markdownParser.parse(task.body) as MarkdownNode; + const destinations: string[] = []; + const definitions = new Map(); + const references: string[] = []; + const visit = (node: MarkdownNode): void => { + if (node.type === "image" && node.url) destinations.push(node.url); + if (node.type === "definition" && node.identifier && node.url) + definitions.set(node.identifier.toLowerCase(), node.url); + if (node.type === "imageReference" && node.identifier) + references.push(node.identifier.toLowerCase()); + node.children?.forEach(visit); + }; + visit(tree); + for (const identifier of references) { + const destination = definitions.get(identifier); + if (destination) destinations.push(destination); + } + for (const match of task.body.matchAll(/!\[\[([^\]\n]+)\]\]/g)) + destinations.push(`[[${match[1]}]]`); + + const paths = new Set(); + for (const destination of destinations) { + const reference = destination.startsWith("[[") + ? destination + : `[image](${destination})`; + const resolved = attachmentPathFromReference(reference, task.path); + if (resolved) paths.add(resolved); + } + return paths; +} + +async function sha256(blob: Blob): Promise<`sha256:${string}`> { + const digest = await crypto.subtle.digest( + "SHA-256", + await blob.arrayBuffer(), + ); + return `sha256:${[...new Uint8Array(digest)] + .map((value) => value.toString(16).padStart(2, "0")) + .join("")}`; +} + +function matchesExpectedFile( + file: CollectionFile, + entry: AttachmentJournalEntry, +): boolean { + return ( + entry.expectedSize !== undefined && + entry.expectedDigest !== undefined && + file.size === entry.expectedSize && + file.contentDigest === entry.expectedDigest + ); +} + function parentFolder(path: string): string { return path.slice(0, path.lastIndexOf("/")); } diff --git a/src/components/task-attachments.tsx b/src/components/task-attachments.tsx index 74a4a78..47dd3f8 100644 --- a/src/components/task-attachments.tsx +++ b/src/components/task-attachments.tsx @@ -21,13 +21,13 @@ export function TaskAttachments({ service, store, beforeMutation, - onBodyUpdated, + onInsertInline, }: { task: Task; service: AttachmentService; store: CollectionFileStore; beforeMutation(): Promise; - onBodyUpdated(body: string): void; + onInsertInline(reference: string): Promise; }) { const attachInputId = useId(); const insertInputId = useId(); @@ -36,6 +36,9 @@ export function TaskAttachments({ const [busy, setBusy] = useState(false); const [error, setError] = useState(null); const [confirming, setConfirming] = useState(null); + const [physicalDeletionAvailable, setPhysicalDeletionAvailable] = useState< + boolean | null + >(null); const mounted = useRef(true); const loadGeneration = useRef(0); const keepButtonRef = useRef(null); @@ -47,11 +50,13 @@ export function TaskAttachments({ setLoading(true); try { await service.recover(); - const resolved = await service.resolve( - (await service.currentTask(task.id)) ?? task, - ); + const [resolved, canDelete] = await Promise.all([ + service.resolve((await service.currentTask(task.id)) ?? task), + service.physicalDeletionAvailable(), + ]); if (mounted.current && generation === loadGeneration.current) { setItems(resolved); + setPhysicalDeletionAvailable(canDelete); setError(null); } } catch (reason) { @@ -78,14 +83,13 @@ export function TaskAttachments({ if (confirming) keepButtonRef.current?.focus(); }, [confirming]); - async function run(action: () => Promise): Promise { + async function run(action: () => Promise): Promise { if (busy) return; setBusy(true); setError(null); try { await beforeMutation(); - const updated = await action(); - if (updated?.body !== undefined) onBodyUpdated(updated.body); + await action(); await load(); } catch (reason) { if (mounted.current) @@ -98,13 +102,38 @@ export function TaskAttachments({ function selectImage(file: File | undefined, inline: boolean): void { if (!file) return; void run(async () => { - const result = inline - ? await service.insertImageInline(task.id, file) - : await service.attachImage(task.id, file); - return result.task; + const result = await service.attachImage(task.id, file); + if (inline) await onInsertInline(result.reference); }); } + function openImage(item: ResolvedTaskAttachment): void { + if (!item.file || busy) return; + const target = window.open("about:blank", "_blank"); + if (!target) { + setError( + "Your browser blocked the image window. Allow pop-ups and try again.", + ); + return; + } + try { + target.opener = null; + } catch { + // Some WebViews expose a read-only opener; the blank target is still safe. + } + setBusy(true); + setError(null); + void openAttachment(store, item.file, target) + .catch((reason) => { + target.close(); + if (mounted.current) + setError(reason instanceof Error ? reason.message : String(reason)); + }) + .finally(() => { + if (mounted.current) setBusy(false); + }); + } + if (!service.available()) return null; return ( @@ -152,7 +181,13 @@ export function TaskAttachments({ {error}

) : null} - {loading ? ( + {physicalDeletionAvailable === false ? ( +

+ Synced images can be detached from this task. Permanent file deletion + waits for an authoritative mdbase reference check. +

+ ) : null} + {loading && !items.length ? (

) : null} - {physicalDeletionAvailable === false ? ( -

- Synced images can be detached from this task. Permanent file deletion - waits for an authoritative mdbase reference check. -

- ) : null} +

+ Detaching removes an image from this task but keeps the file in your + collection. Permanent deletion isn't available yet. +

{loading && !items.length ? (

- - Delete this image from the collection? It will also be - detached from this task. This can't be undone. - - - -
- ) : ( -
- {item.file ? ( - - ) : null} +
+ {item.file ? ( - - {physicalDeletionAvailable ? ( - - ) : null} -
- )} + ) : null} + + +
))} diff --git a/src/generated/mdbase-app.json b/src/generated/mdbase-app.json index 18b4b17..83721fc 100644 --- a/src/generated/mdbase-app.json +++ b/src/generated/mdbase-app.json @@ -100,10 +100,6 @@ "tag": "tasknotes-reminders" } } - ], - "native_delivery": { - "mode": "managed_fcm", - "firebase_project_id": "tasknotes-462906" - } + ] } } diff --git a/src/native/folder-access.ts b/src/native/folder-access.ts index 8c4aecf..00ad560 100644 --- a/src/native/folder-access.ts +++ b/src/native/folder-access.ts @@ -9,6 +9,7 @@ export interface NativeFolderEntry { path: string; lastModified: number; size: number; + mediaType?: string; } interface FolderAccessPlugin { diff --git a/src/storage/vault-capacitor.test.ts b/src/storage/vault-capacitor.test.ts index ab23048..1a4d3d4 100644 --- a/src/storage/vault-capacitor.test.ts +++ b/src/storage/vault-capacitor.test.ts @@ -1,5 +1,7 @@ const filesystem = vi.hoisted(() => ({ + deleteFile: vi.fn(), mkdir: vi.fn(), + rename: vi.fn(), stat: vi.fn(), writeFile: vi.fn(), })); @@ -15,10 +17,43 @@ import { CapacitorVault } from "./vault-capacitor"; beforeEach(() => { vi.clearAllMocks(); filesystem.mkdir.mockResolvedValue(undefined); + filesystem.deleteFile.mockResolvedValue(undefined); + filesystem.rename.mockResolvedValue(undefined); filesystem.stat.mockRejectedValue(new Error("File does not exist")); filesystem.writeFile.mockResolvedValue(undefined); }); +it("stages binary writes and refuses to replace an existing destination", async () => { + filesystem.stat.mockImplementation(({ path }: { path: string }) => { + if (path.endsWith("Attachments/photo.png")) + return Promise.resolve({ mtime: 1, size: 3 }); + if (path.includes(".tasknotes-write-")) + return Promise.resolve({ mtime: 2, size: 3 }); + return Promise.resolve({ mtime: 1, size: 0 }); + }); + const vault = new CapacitorVault(); + + await expect( + vault.writeBinary("Attachments/photo.png", Uint8Array.of(1, 2, 3)), + ).rejects.toThrow("already exists"); + + expect(filesystem.writeFile).toHaveBeenCalledOnce(); + expect(filesystem.writeFile).toHaveBeenCalledWith( + expect.objectContaining({ + path: expect.stringMatching( + /^TaskNotes\/Attachments\/photo\.png\.tasknotes-write-[0-9a-f-]+\.tmp$/, + ), + data: "AQID", + }), + ); + expect(filesystem.rename).not.toHaveBeenCalled(); + expect(filesystem.deleteFile).toHaveBeenCalledWith( + expect.objectContaining({ + path: expect.stringContaining("photo.png.tasknotes-write-"), + }), + ); +}); + it("deduplicates concurrent parent creation before nested writes", async () => { filesystem.stat.mockImplementation(({ path }: { path: string }) => path.endsWith(".json") diff --git a/src/storage/vault-capacitor.ts b/src/storage/vault-capacitor.ts index 70dc20c..2c8e32b 100644 --- a/src/storage/vault-capacitor.ts +++ b/src/storage/vault-capacitor.ts @@ -117,18 +117,26 @@ export class CapacitorVault implements BinaryVault { async writeBinary(path: string, contents: Uint8Array): Promise { const relativePath = safePath(path); + const temporaryPath = `${relativePath}.tasknotes-write-${crypto.randomUUID()}.tmp`; await this.ensureParentDirectory(relativePath); - await Filesystem.writeFile({ - path: this.path(relativePath), - directory: Directory.Documents, - data: base64FromBytes(contents), - recursive: false, - }); - const info = await Filesystem.stat({ - path: this.path(relativePath), - directory: Directory.Documents, - }); - return toEntry(relativePath, info); + try { + await Filesystem.writeFile({ + path: this.path(temporaryPath), + directory: Directory.Documents, + data: base64FromBytes(contents), + recursive: false, + }); + const staged = await Filesystem.stat({ + path: this.path(temporaryPath), + directory: Directory.Documents, + }); + if (staged.size !== contents.byteLength) + throw new Error(`The provider wrote only part of ${relativePath}.`); + return await this.rename(temporaryPath, relativePath); + } catch (error) { + await this.delete(temporaryPath); + throw error; + } } async delete(path: string): Promise { diff --git a/src/storage/vault-files.test.ts b/src/storage/vault-files.test.ts index 36de4da..b38d90f 100644 --- a/src/storage/vault-files.test.ts +++ b/src/storage/vault-files.test.ts @@ -33,18 +33,33 @@ describe("VaultCollectionFileStore", () => { }); }); - it("honors revision guards and safe image paths", async () => { - const store = new VaultCollectionFileStore(new MemoryVault()); + it("refuses non-atomic replacement without touching the original bytes", async () => { + const vault = new MemoryVault(); + const writeBinary = vi.spyOn(vault, "writeBinary"); + const store = new VaultCollectionFileStore(vault); const uploaded = await store.upload( "Attachments/photo.png", Uint8Array.of(1), ); + writeBinary.mockClear(); await expect( store.upload("Attachments/photo.png", Uint8Array.of(2), { - ifRevision: "stale", + ifRevision: uploaded.revision, }), - ).rejects.toThrow("revision conflict"); + ).rejects.toThrow("replacement is unavailable"); + await expect( + store.upload("Attachments/photo.png", Uint8Array.of(3)), + ).rejects.toThrow("already exists"); + expect(store.authorizedActions().has("replace")).toBe(false); + expect(writeBinary).not.toHaveBeenCalled(); + expect( + new Uint8Array(await (await store.download(uploaded)).arrayBuffer()), + ).toEqual(Uint8Array.of(1)); + }); + + it("rejects unsafe paths and mismatched image formats", async () => { + const store = new VaultCollectionFileStore(new MemoryVault()); await expect( store.upload("../photo.png", Uint8Array.of(1)), ).rejects.toThrow("Unsafe collection path"); @@ -56,7 +71,6 @@ describe("VaultCollectionFileStore", () => { mediaType: "image/svg+xml", }), ).rejects.toThrow("does not match"); - expect(await store.download(uploaded)).toBeInstanceOf(Blob); }); it("moves and deletes files", async () => { diff --git a/src/storage/vault-files.ts b/src/storage/vault-files.ts index febe0d8..1d38ef6 100644 --- a/src/storage/vault-files.ts +++ b/src/storage/vault-files.ts @@ -21,7 +21,6 @@ const ALL_ACTIONS = new Set([ "list", "read", "add", - "replace", "move", "delete", ]); @@ -79,10 +78,11 @@ export class VaultCollectionFileStore implements CollectionFileStore { const resolvedMediaType = validatedMediaType(target, options.mediaType); throwIfAborted(options.signal); const existing = await this.entry(target); - if (options.ifRevision !== undefined) { - if (!existing || revision(existing) !== options.ifRevision) - throw new Error(`Attachment revision conflict at ${target}.`); - } + if (options.ifRevision !== undefined) + throw new Error( + "Native attachment replacement is unavailable until the folder provider can commit it atomically.", + ); + if (existing) throw new Error(`An attachment already exists at ${target}.`); const bytes = await bytesFrom(source); options.onProgress?.({ phase: "hashing", diff --git a/src/styles.css b/src/styles.css index d7b21de..059fa65 100644 --- a/src/styles.css +++ b/src/styles.css @@ -3089,16 +3089,14 @@ button:disabled { font-size: 0.74rem; } -.attachment-actions, -.attachment-delete-confirm { +.attachment-actions { display: flex; align-items: center; justify-content: flex-end; gap: 2px; } -.attachment-actions button, -.attachment-delete-confirm button { +.attachment-actions button { display: inline-flex; align-items: center; justify-content: center; @@ -3121,40 +3119,21 @@ button:disabled { } .attachment-actions button:hover, -.attachment-actions button:focus-visible, -.attachment-delete-confirm button:hover, -.attachment-delete-confirm button:focus-visible { +.attachment-actions button:focus-visible { color: var(--ink); background: var(--paper-soft); } -.attachment-actions button:focus-visible, -.attachment-delete-confirm button:focus-visible { +.attachment-actions button:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent), transparent 28%); outline-offset: 1px; } -.attachment-actions button.danger, -.attachment-delete-confirm button.danger { - color: var(--danger); -} - -.attachment-actions button:disabled, -.attachment-delete-confirm button:disabled { +.attachment-actions button:disabled { cursor: not-allowed; opacity: 0.45; } -.attachment-delete-confirm { - flex-wrap: wrap; -} - -.attachment-delete-confirm span { - margin-right: 4px; - color: var(--ink); - font-size: 0.78rem; -} - .markdown-preview { min-height: 150px; overflow-wrap: anywhere; @@ -6748,8 +6727,7 @@ button:disabled { grid-template-columns: 44px minmax(0, 1fr); } - .attachment-actions, - .attachment-delete-confirm { + .attachment-actions { grid-column: 1 / -1; justify-content: flex-start; padding-left: 56px;