From 5f84f482abefff9a3b2889e5fb12ecb4bcdf5176 Mon Sep 17 00:00:00 2001 From: "D. Rimron-Soutter" Date: Tue, 17 Feb 2026 16:35:14 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20update=20WIP=20tracker=20=E2=80=94=20im?= =?UTF-8?q?plementation=20complete?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit opus-4-6@McFiver --- ...e-hashes_tape-identifier_implimentation.md | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/docs/plans/plan_feature-software-hashes_tape-identifier_implimentation.md b/docs/plans/plan_feature-software-hashes_tape-identifier_implimentation.md index 66bfc64..36472b1 100644 --- a/docs/plans/plan_feature-software-hashes_tape-identifier_implimentation.md +++ b/docs/plans/plan_feature-software-hashes_tape-identifier_implimentation.md @@ -2,7 +2,7 @@ **Branch:** `feature/software-hashes` **Started:** 2026-02-17 -**Status:** In Progress +**Status:** Complete ## Plan @@ -12,11 +12,11 @@ Drop a tape file on the /zxdb page → client computes MD5 + size → server act ### Tasks -- [ ] Add `lookupByMd5()` to `src/server/repo/zxdb.ts` -- [ ] Create `src/utils/md5.ts` — pure-JS MD5 for browser -- [ ] Create `src/app/zxdb/actions.ts` — server action `identifyTape` -- [ ] Create `src/app/zxdb/TapeIdentifier.tsx` — client component with dropzone -- [ ] Insert `` into `src/app/zxdb/page.tsx` +- [x] Add `lookupByMd5()` to `src/server/repo/zxdb.ts` +- [x] Create `src/utils/md5.ts` — pure-JS MD5 for browser +- [x] Create `src/app/zxdb/actions.ts` — server action `identifyTape` +- [x] Create `src/app/zxdb/TapeIdentifier.tsx` — client component with dropzone +- [x] Insert `` into `src/app/zxdb/page.tsx` - [ ] Verify on http://localhost:4000/zxdb ## Progress Log @@ -24,15 +24,21 @@ Drop a tape file on the /zxdb page → client computes MD5 + size → server act ### 2026-02-17T00:00 - Started work. Continuing on `feature/software-hashes` at `e27a16e`. +### 2026-02-17T00:01 +- All implementation complete. Type check passes. Ready for visual verification. + ## Decisions & Notes - Uses RSC server actions (not API routes) to discourage bulk scripting. - MD5 computed client-side; file never leaves the browser. -- No new npm dependencies — pure-JS MD5 implementation. +- No new npm dependencies — pure-JS MD5 implementation (~130 lines). +- TapeIdentifier placed between hero and "Start exploring" grid in a row layout with explanatory text alongside. ## Blockers -None currently. +None. ## Commits +fc513c5 - wip: start tape identifier — init progress tracker +8624050 - feat: add tape identifier dropzone on /zxdb