# WIP: Tape Identifier Dropzone **Branch:** `feature/software-hashes` **Started:** 2026-02-17 **Status:** In Progress ## Plan Implements the tape identifier feature from [docs/plans/tape-identifier.md](tape-identifier.md). Drop a tape file on the /zxdb page → client computes MD5 + size → server action looks up `software_hashes` → returns identified ZXDB entry. ### 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` - [ ] Verify on http://localhost:4000/zxdb ## Progress Log ### 2026-02-17T00:00 - Started work. Continuing on `feature/software-hashes` at `e27a16e`. ## 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. ## Blockers None currently. ## Commits