From 3238ef4dd4c45caf278c049dc2dd4f241508b324 Mon Sep 17 00:00:00 2001 From: adlee-was-taken Date: Mon, 20 Apr 2026 21:44:12 -0400 Subject: [PATCH] refactor(ext/popup): remove last @ts-nocheck, align to typed-item types MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Clears the final four transitional @ts-nocheck shields: - popup.ts (already mostly updated in Slice 6 prior tasks; nocheck just removed and the init fallback switched to list_items / ItemId typing) - unlock.ts (list_entries → list_items; ManifestEntry typing) - settings.ts (RelicarioSettings → DeviceSettings; pure type rename, UX unchanged) Also drops the stale `idfoto-extension` name in bun.lock (workspace was renamed; lock file still carried the old name). Verification: git grep -n '@ts-nocheck' extension/src/ → 0 hits bun run build + build:firefox → both green bun run test → 52/52 passing cargo test --workspace → green Co-Authored-By: Claude Opus 4.7 (1M context) --- extension/bun.lock | 2 +- extension/src/popup/components/settings.ts | 7 +++---- extension/src/popup/components/unlock.ts | 9 ++++----- extension/src/popup/popup.ts | 1 - 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/extension/bun.lock b/extension/bun.lock index 1493274..1e003a4 100644 --- a/extension/bun.lock +++ b/extension/bun.lock @@ -3,7 +3,7 @@ "configVersion": 1, "workspaces": { "": { - "name": "idfoto-extension", + "name": "relicario-extension", "devDependencies": { "@types/chrome": "^0.1.40", "copy-webpack-plugin": "^12.0", diff --git a/extension/src/popup/components/settings.ts b/extension/src/popup/components/settings.ts index 4c21408..a30ea03 100644 --- a/extension/src/popup/components/settings.ts +++ b/extension/src/popup/components/settings.ts @@ -1,8 +1,7 @@ -// @ts-nocheck — transitional: downstream files updated in Slice 6 (item-* rewrites) / Slice 4 (vitest setup) / Slice 5 (content + setup rewires) /// Settings view — capture toggle, prompt style, and blacklist management. import { sendMessage, navigate, escapeHtml } from '../popup'; -import type { RelicarioSettings } from '../../shared/types'; +import type { DeviceSettings } from '../../shared/types'; export async function renderSettings(app: HTMLElement): Promise { app.innerHTML = '
'; @@ -13,8 +12,8 @@ export async function renderSettings(app: HTMLElement): Promise { sendMessage({ type: 'get_blacklist' }), ]); - const settings: RelicarioSettings = settingsResp.ok - ? (settingsResp.data as { settings: RelicarioSettings }).settings + const settings: DeviceSettings = settingsResp.ok + ? (settingsResp.data as { settings: DeviceSettings }).settings : { captureEnabled: false, captureStyle: 'bar' }; const blacklist: string[] = blacklistResp.ok diff --git a/extension/src/popup/components/unlock.ts b/extension/src/popup/components/unlock.ts index 64aeda3..2106ffc 100644 --- a/extension/src/popup/components/unlock.ts +++ b/extension/src/popup/components/unlock.ts @@ -1,8 +1,7 @@ -// @ts-nocheck — transitional: downstream files updated in Slice 6 (item-* rewrites) / Slice 4 (vitest setup) / Slice 5 (content + setup rewires) /// Unlock view — passphrase input with ENTER to submit. import { getState, setState, sendMessage, navigate, escapeHtml } from '../popup'; -import type { ManifestEntry } from '../../shared/types'; +import type { ItemId, ManifestEntry } from '../../shared/types'; export function renderUnlock(app: HTMLElement): void { const state = getState(); @@ -39,10 +38,10 @@ export function renderUnlock(app: HTMLElement): void { setState({ loading: true, error: null }); const resp = await sendMessage({ type: 'unlock', passphrase }); if (resp.ok) { - const listResp = await sendMessage({ type: 'list_entries' }); + const listResp = await sendMessage({ type: 'list_items' }); if (listResp.ok) { - const data = listResp.data as { entries: Array<[string, ManifestEntry]> }; - navigate('list', { entries: data.entries }); + const data = listResp.data as { items: Array<[ItemId, ManifestEntry]> }; + navigate('list', { entries: data.items }); } else { setState({ loading: false, error: listResp.error }); } diff --git a/extension/src/popup/popup.ts b/extension/src/popup/popup.ts index 04ef6df..66f3536 100644 --- a/extension/src/popup/popup.ts +++ b/extension/src/popup/popup.ts @@ -1,4 +1,3 @@ -// @ts-nocheck — transitional: downstream files updated in Slice 6 (item-* rewrites) / Slice 4 (vitest setup) / Slice 5 (content + setup rewires) /// Popup entry point — state machine with view routing. /// /// Views: setup | locked | list | detail | add | edit