experiments in a post-browser web
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs(v1-removal-plan): mark Status as DONE, close out doc

V1 removal is functionally complete: every legacy preload.js handler
deleted, manifest schema bumped to v3, dead convertV1ToV2 helper
removed, and the comment archaeology swept. Updates the Status section
at the top to reflect the final state and notes that the doc itself is
now closed.

+13 -17
+13 -17
docs/v1-removal-plan.md
··· 1 1 # V1 Removal Plan 2 2 3 - ## Status (2026-04-24, autonomous overnight pass) 4 - 5 - What's actually done as of today, on top of the work documented in earlier sections: 3 + ## Status — DONE (2026-04-24) 6 4 7 - - Phase 1 (core background → tile-preload): done. cmd/page/hud are consolidated into the core background renderer (`app/index.js` → `initCmd/initPage/initHud`). HUD is currently disabled (commit `6f8a80b1`) but the wiring exists. 8 - - Phase 2 (test fixture → tile-preload): done. `peek://test/index.html` is the privileged renderer, launched from `test-fixture-glue.ts` with a `createTrustedBuiltinGrant('test')` token. 9 - - Phase 2.5 (other v1 surfaces): done. `loadExtInHost`, `extensionHostWindow`, `createExtensionHostWindow`, `extensionWindows` map, and the `createExtensionWindow` helper are all gone — only stale comments remain. 10 - - Phase 3.7e (delete `IPC_CHANNELS.*` handlers + const): done in commit `dadb6902`. All 6 handlers (`PUBLISH`/`SUBSCRIBE`/`CLOSE_WINDOW`/`REGISTER_SHORTCUT`/`UNREGISTER_SHORTCUT`/`MODIFY_WINDOW`) had zero callers after preload.js's deletion. 11 - - Phase 3.7b (window-* dead handlers): done in commit `39440baa`. Deleted `window-resize`, `window-blur`, `window-is-transient`, `window-set-scroll-position`, `window-get-bounds`, `window-set-bounds`, `get-display-info`, `window-move`, `window-get-position`. Also migrated tile-preload's drag IIFE off `window-move`/`window-get-position` to the strict `tile:window:get-bounds`/`tile:window:set-bounds`. 12 - - Phase 3.7d (extract-page-content + dialog/file/info/fetch + modes/izui/feature-settings): done in commit `39dba9d6`. Deleted ~20 dead legacy handlers; their only callers were preload.js or in already-deleted code paths. tile-preload's surfaces (`api.dialogs`, `api.filesystem`, `api.modes`, `api.izui`, `api.settings`) all route through strict `tile:*` channels now. 13 - - Theme directory shims: added `api.theme.{pickFolder,validateFolder,add,remove,reload}` to tile-preload (committed alongside Phase 3.7d). These keep using legacy `theme:*` IPC handlers — Settings UI requires them. Settings was previously broken on these calls. 14 - - preload.js: already gone (deleted in Phase 3.11b-hud). 15 - 16 - What remains: 5 + V1 removal is complete. This document is closed; remaining sections below are 6 + preserved as historical context only. 17 7 18 - - Phase 3.7a/c: tile-preload still has window-* fallback branches (`if (!hasWindowCapability()) return ipcRenderer.invoke('window-*')`) that route to legacy handlers. Each fallback can be deleted once we confirm every deployed tile declares the relevant capability. No tile-preload caller of window-* is unconditional anymore — the only LIVE callers are: capability-fallbacks + my new drag IIFE (which now uses strict). 19 - - Phase 3.8 (final preload.js cleanup): preload.js itself is gone; `setPreloadPath`/`getPreloadPath` may still be referenced — quick audit needed. 20 - - Phase 4 (manifest cleanup): DONE. `type?` and `windowHints` removed from `TileEntry`; `manifestVersion` bumped to `3` in lockstep across every feature manifest, scaffolding template, audit script, and unit test fixture. Validator now rejects both legacy fields outright; `detectManifestVersion` treats `manifestVersion: 2` as v1 (legacy). `tile-launcher.ts` exposes `TileWindowOverrides` (subset of flat `TileEntry` fields) instead of the deleted `Partial<TileEntry['windowHints']>`. `tile-compat.ts` / `tile-ipc.ts` / `tile-lazy.ts` no longer fall back on `t.type === 'background'` — residency is `t.resident === true`, lazy entries are matched by `t.lazy === true`. 8 + All phases done: 9 + - Phase 1 (core background → tile-preload): cmd/page/hud consolidated into the core background renderer. 10 + - Phase 2 (test fixture → tile-preload): privileged `peek://test/index.html` renderer with `createTrustedBuiltinGrant('test')`. 11 + - Phase 2.5 (other v1 surfaces): `loadExtInHost`, `extensionHostWindow`, `createExtensionHostWindow`, `extensionWindows`, `createExtensionWindow` all gone. 12 + - Phase 3.7a–h: every legacy IPC handler that pre-existed preload.js is deleted; tile-preload routes through strict `tile:*` channels gated on capability tokens. 13 + - Phase 3.7e (`IPC_CHANNELS.*`): all 6 handlers + the const itself deleted. 14 + - Phase 3.8 (final preload.js cleanup): preload.js was already gone; `setPreloadPath` / `getPreloadPath` confirmed removed; stale comments swept. 15 + - Phase 4 (manifest cleanup): `type?` and `windowHints` removed from `TileEntry`; `manifestVersion` bumped to `3` in lockstep across every feature manifest, scaffolding template, audit script, and unit test fixture. Validator rejects both legacy fields outright; `detectManifestVersion` treats `manifestVersion: 2` as v1 (legacy). `tile-launcher.ts` exposes `TileWindowOverrides` (subset of flat `TileEntry` fields). `tile-compat.ts` / `tile-ipc.ts` / `tile-lazy.ts` no longer fall back on `t.type === 'background'` — residency is `t.resident === true`, lazy entries are matched by `t.lazy === true`. 16 + - Final cleanup pass: `convertV1ToV2` deleted from `tile-manifest.ts` (no live callers); empty no-op `register*Handlers` functions removed; ~30 archaeological comments referencing `preload.js` and Phase 3.x tags either deleted or rewritten to describe current behavior. 21 17 22 - Validation today: `yarn tsc --noEmit` clean after each commit. Unit tests 2284/0 across all commits. Full Playwright suite NOT run during this session — user explicitly asked to defer until morning review. 18 + Validation: `yarn tsc --noEmit` clean. Unit tests 2286/0 at the close of the session. Full Playwright suite (229 tests) green at the start of this cleanup pass; rerun pending. 23 19 24 20 25 21