From 3b9e0480b90120b25c6dd13ca178e7ecfcd91dc3 Mon Sep 17 00:00:00 2001 From: Fabio Montefuscolo Date: Mon, 3 Aug 2026 20:53:01 +0200 Subject: [PATCH] chore: archive add-notes-extension change --- .../.openspec.yaml | 0 .../2026-08-03-add-notes-extension}/design.md | 0 .../proposal.md | 0 .../specs/note-editor/spec.md | 0 .../specs/notes-list/spec.md | 0 .../specs/notes-storage/spec.md | 0 .../2026-08-03-add-notes-extension}/tasks.md | 48 +++++++++---------- 7 files changed, 24 insertions(+), 24 deletions(-) rename openspec/changes/{add-notes-extension => archive/2026-08-03-add-notes-extension}/.openspec.yaml (100%) rename openspec/changes/{add-notes-extension => archive/2026-08-03-add-notes-extension}/design.md (100%) rename openspec/changes/{add-notes-extension => archive/2026-08-03-add-notes-extension}/proposal.md (100%) rename openspec/changes/{add-notes-extension => archive/2026-08-03-add-notes-extension}/specs/note-editor/spec.md (100%) rename openspec/changes/{add-notes-extension => archive/2026-08-03-add-notes-extension}/specs/notes-list/spec.md (100%) rename openspec/changes/{add-notes-extension => archive/2026-08-03-add-notes-extension}/specs/notes-storage/spec.md (100%) rename openspec/changes/{add-notes-extension => archive/2026-08-03-add-notes-extension}/tasks.md (62%) diff --git a/openspec/changes/add-notes-extension/.openspec.yaml b/openspec/changes/archive/2026-08-03-add-notes-extension/.openspec.yaml similarity index 100% rename from openspec/changes/add-notes-extension/.openspec.yaml rename to openspec/changes/archive/2026-08-03-add-notes-extension/.openspec.yaml diff --git a/openspec/changes/add-notes-extension/design.md b/openspec/changes/archive/2026-08-03-add-notes-extension/design.md similarity index 100% rename from openspec/changes/add-notes-extension/design.md rename to openspec/changes/archive/2026-08-03-add-notes-extension/design.md diff --git a/openspec/changes/add-notes-extension/proposal.md b/openspec/changes/archive/2026-08-03-add-notes-extension/proposal.md similarity index 100% rename from openspec/changes/add-notes-extension/proposal.md rename to openspec/changes/archive/2026-08-03-add-notes-extension/proposal.md diff --git a/openspec/changes/add-notes-extension/specs/note-editor/spec.md b/openspec/changes/archive/2026-08-03-add-notes-extension/specs/note-editor/spec.md similarity index 100% rename from openspec/changes/add-notes-extension/specs/note-editor/spec.md rename to openspec/changes/archive/2026-08-03-add-notes-extension/specs/note-editor/spec.md diff --git a/openspec/changes/add-notes-extension/specs/notes-list/spec.md b/openspec/changes/archive/2026-08-03-add-notes-extension/specs/notes-list/spec.md similarity index 100% rename from openspec/changes/add-notes-extension/specs/notes-list/spec.md rename to openspec/changes/archive/2026-08-03-add-notes-extension/specs/notes-list/spec.md diff --git a/openspec/changes/add-notes-extension/specs/notes-storage/spec.md b/openspec/changes/archive/2026-08-03-add-notes-extension/specs/notes-storage/spec.md similarity index 100% rename from openspec/changes/add-notes-extension/specs/notes-storage/spec.md rename to openspec/changes/archive/2026-08-03-add-notes-extension/specs/notes-storage/spec.md diff --git a/openspec/changes/add-notes-extension/tasks.md b/openspec/changes/archive/2026-08-03-add-notes-extension/tasks.md similarity index 62% rename from openspec/changes/add-notes-extension/tasks.md rename to openspec/changes/archive/2026-08-03-add-notes-extension/tasks.md index bd9a289..29671d7 100644 --- a/openspec/changes/add-notes-extension/tasks.md +++ b/openspec/changes/archive/2026-08-03-add-notes-extension/tasks.md @@ -1,44 +1,44 @@ ## 1. Extension scaffold -- [ ] 1.1 Create Manifest V3 `manifest.json` with `sidePanel`, `tabs`, `webNavigation`, `unlimitedStorage` permissions, action icon, and keyboard command binding to open the side panel -- [ ] 1.2 Set up the build/dev tooling for a background service worker, a side panel page, and a notes-list page as separate entry points -- [ ] 1.3 Wire `chrome.sidePanel.setPanelBehavior({ openPanelOnActionClick: true })` in the background service worker +- [x] 1.1 Create Manifest V3 `manifest.json` with `sidePanel`, `tabs`, `webNavigation`, `unlimitedStorage` permissions, action icon, and keyboard command binding to open the side panel +- [x] 1.2 Set up the build/dev tooling for a background service worker, a side panel page, and a notes-list page as separate entry points +- [x] 1.3 Wire `chrome.sidePanel.setPanelBehavior({ openPanelOnActionClick: true })` in the background service worker ## 2. Shared storage & key module -- [ ] 2.1 Implement `buildNoteKey(url, config)` with the default rule (`scheme://domain/path?search`, hash excluded) and a swappable config -- [ ] 2.2 Define the IndexedDB schema: `notes` object store keyed by `id`, non-unique index on the derived URL key, index on `updatedAt` -- [ ] 2.3 Implement `getNoteByKey(key)`, `saveNote(key, content, pageMeta)`, `listNotes()` (excludes soft-deleted), filtering `deletedAt == null` in retrieval -- [ ] 2.4 Implement soft-delete support at the storage layer (`markDeleted(id)`), even though no UI triggers it in this change +- [x] 2.1 Implement `buildNoteKey(url, config)` with the default rule (`scheme://domain/path?search`, hash excluded) and a swappable config +- [x] 2.2 Define the IndexedDB schema: `notes` object store keyed by `id`, non-unique index on the derived URL key, index on `updatedAt` +- [x] 2.3 Implement `getNoteByKey(key)`, `saveNote(key, content, pageMeta)`, `listNotes()` (excludes soft-deleted), filtering `deletedAt == null` in retrieval +- [x] 2.4 Implement soft-delete support at the storage layer (`markDeleted(id)`), even though no UI triggers it in this change ## 3. In-page navigation detection -- [ ] 3.1 Listen for `chrome.webNavigation.onHistoryStateUpdated` and `onReferenceFragmentUpdated` in the background service worker -- [ ] 3.2 On either event, re-resolve the note key for the affected tab and notify that tab's open side panel (if any) to reload +- [x] 3.1 Listen for `chrome.webNavigation.onHistoryStateUpdated` and `onReferenceFragmentUpdated` in the background service worker +- [x] 3.2 On either event, re-resolve the note key for the affected tab and notify that tab's open side panel (if any) to reload ## 4. Side panel note editor -- [ ] 4.1 Build the side panel page shell with a dark theme applied by default -- [ ] 4.2 On panel load/tab activation, resolve the active tab's URL to a key via the shared module and load (or initialize) that note -- [ ] 4.3 Render the note content in a plain `