B2: Web-side adapters (drag-drop, picker, download) #4

Closed
opened 2026-05-04 21:18:28 +00:00 by obuvuyoviz26-lab · 1 comment
obuvuyoviz26-lab commented 2026-05-04 21:18:28 +00:00 (Migrated from github.com)

Part of v5 webapp migration — Phase B: Deployable webapp (priority #2)

Add infrastructure/web/file_input.ts and infrastructure/web/download.ts. Replace window.api.* IPC calls with direct browser APIs so the same React components work in both the Electron shell and the static webapp.

Deliverable: drop a JPEG into the static build → UI flow works end-to-end (error expected — no image strategy yet, but the row appears and the error is shown gracefully).
Verify: drag-drop registers file, row appears, error shown without crash.

See design doc docs/superpowers/specs/2026-05-05-webapp-migration-design.md §9.2

Part of v5 webapp migration — **Phase B: Deployable webapp (priority #2)** Add `infrastructure/web/file_input.ts` and `infrastructure/web/download.ts`. Replace `window.api.*` IPC calls with direct browser APIs so the same React components work in both the Electron shell and the static webapp. **Deliverable**: drop a JPEG into the static build → UI flow works end-to-end (error expected — no image strategy yet, but the row appears and the error is shown gracefully). **Verify**: drag-drop registers file, row appears, error shown without crash. See design doc `docs/superpowers/specs/2026-05-05-webapp-migration-design.md` §9.2
obuvuyoviz26-lab commented 2026-05-07 14:10:48 +00:00 (Migrated from github.com)

Shipped in #47 (squash-merged as dfbd680). FileRegistry, BrowserFileBytes, and makeWebApi mirror the Electron preload contract; renderer is unchanged. File picker added via FileBrowseButton (gated on platform.isWeb) in both empty state and StatusBar.

Shipped in #47 (squash-merged as `dfbd680`). `FileRegistry`, `BrowserFileBytes`, and `makeWebApi` mirror the Electron preload contract; renderer is unchanged. File picker added via `FileBrowseButton` (gated on `platform.isWeb`) in both empty state and StatusBar.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: forgejo_admin/exifcleaner-web#4
No description provided.