v4.0.0
4.0.0 (2026-06-12)
- feat(webapp)!: drop the legacy IndexedDB filesystem compatibility layer (ba9de0b)
- feat(webapp)!: ship the web-components UI as the only UI (75d173d)
Bug Fixes
- ci: green the three red jobs — knip workspace config, Node 25 localStorage, bridge coverage (3f41866)
- proto: adjust slicc-pill eye positioning and allow negative Y value (0510a4d)
- proto: preserve eye positioning on slicc-pill hover state (e038503)
- webapp,webcomponents: cluster labels from inputs, scoop-tool icons, lick replay, accent token, narrow-window fixes (265207b)
- webapp,webcomponents: driving-feedback round 1 — rail wipe, fonts, search depth, captures to VFS, code tints (3fcff4e)
- webapp,webcomponents: PR review feedback — attachment broadcast + analyzer noise (69ff834)
- webapp,webcomponents: second live-usage bug round — freezer, workbench, composer, licks, moods (17b4ca9)
- webapp,webcomponents: sprinkle panels render again — late-mount surface stamping + kernel-ready resync (0663cea), closes #sync
- webapp: background thumbnails never steal window focus (ba3d27b)
- webapp: degrade per-message on render failure; follow politely on agent updates (73b8a57), closes #safeMessageEls
- webapp: dips and sprinkles follow the WC theme instead of stuck-dark (34293e0)
- webapp: drop the worker-path accounts-changed dispatch (CI: window undefined + boy-scout) (f7f45d2)
- webapp: isolate legacy stylesheets from the WC shell (7e4d508)
- webapp: live floats drop the fixture-era logo badge (dfc6c2a)
- webapp: move the accounts-changed dispatch out of the debt-listed provider-settings (f7f169a)
- webapp: OPFS writeFile leaves the old tail on shrinking rewrites — pin exact length (5c8928a)
- webapp: prune stale sprinkle ledgers after confirmed discovery (0273bda)
- webapp: sprinkle close/restore honors URL state — tab-close contract, background restore, seeded rail (c10dc43)
- webapp: the Browser globe is a one-shot overlay launcher — no workspace pane behind it (a99a5fa)
- webcomponents: complete round-2 visual feedback — primitives send-button busy/idle, day-separator dark contrast, tab-bar reattach hardening, freezer reduced-motion test, formatting (5f25d9f)
- webcomponents: cone shader matches prototype speed + look (#6) (5fb5f89)
- webcomponents: dark shader, full-width narrow chat, flush rail, dock tools, compact bars (a8ca188), closes #2 #darkUniform #f5f5f2 #3 #4 #5 #6 #7
- webcomponents: dark-mode tooltip contrast + scoop overflow fencepost (c1633d7), closes #fff
- webcomponents: expand send-button fill animation to twelve-phase cy (e8d5875)
- webcomponents: extend send-button fill animation to 12-phase cycle (2636890)
- webcomponents: import child elements that components create internally (46c481d)
- webcomponents: pill label contrast under class-based dark mode (#3/#9) (8b788b9)
- webcomponents: readable chat prose in dark mode (3c5c8a0)
- webcomponents: scoop flicker, 3-mode shader, pill rendering, showcase layout (84464d2)
- webcomponents: workbench pane body gets a flex column so surfaces receive height (c93293e)
Features
- proto: add live eye tuning panel to slicc-pill — interactive slide (bd2ab63)
- proto: add slicc-add-menu component — file/skill/conversation pick (d4e0029)
- proto: add slicc-pill web component with eye tracking and color cu (2f93ddc)
- proto: theme system — light/dark palette, frosted glass nav/compos (db67afe)
- proto: Wave 8 polish — feather .inner, clip shader from rail/composer, fix dark user bubble (3ba6800)
- webapp,swift-server: floatbar names the serving runtime — sliccstart vs npx (e8777d2)
- webapp,webcomponents: Add AI pill for accountless boots; live model resync on account changes (cfd139a)
- webapp,webcomponents: copy-chat row, queued-message UI, historic lick classification, scoop-identity tags (1902920)
- webapp,webcomponents: drop the navbar theme toggle — the shell follows the OS color scheme (b856590)
- webapp,webcomponents: human tool rows, tool clusters, cost counter, context-fill pupils (b0df2d6)
- webapp,webcomponents: navbar eyes — one pair at a time, hover wins, recent activity blinks (5d55506)
- webapp,webcomponents: shader scrolls with the chat; URL pushState sync owned by the components (4c654a8)
- webapp,webcomponents: tweak round — composer add-menu, fullscreen long-press, soft lattice (1ef5441)
- webapp,webcomponents: wire the Browser · CDP dock item — full-screen tab switcher with live thumbnails (d94092e)
- webapp: composer arrow-key history walk; thaw deep links straight from the archive (32967be)
- webapp: dips, stop control, and thinking toggle in the WC shell (e119670)
- webapp: drive composer thinking-pill visibility + signed-out avatar from the host (3eae8a3)
- webapp: freezer rail + memory surface in WC shell (phase 4) (417ed4d)
- webapp: live chat in the WC shell — kernel-direct boot (phase 1) (1287306)
- webapp: model picker + avatar menu in the WC shell (f9ebe63)
- webapp: new-session gestures on the WC freezer rail (3f084eb)
- webapp: pinned side-panel entry, extension sprinkle relay, voice input (b4f734a)
- webapp: quickLabel-picked lucide icons for freezer threads + sprinkles, chip hover tooltips, corrupt-index self-heal (01dbc78)
- webapp: restore the deterministic welcome flow in the WC shell (0a22af1), closes #960
- webapp: restore the extension detached-popout handshake in the WC shell (67ae855)
- webapp: smooth glide for the composer history walk (c4a56c1)
- webapp: sprinkle panels in the WC shell — SprinkleManager over workbench chrome (a6ce97f)
- webapp: status-driven scoop chips + live model display in WC shell (phase 2) (b778301)
- webapp: WC shell in the extension detached popout — float-agnostic boot (4987a6c)
- webapp: WC-native account settings dialog over slicc-dialog (2560f8a)
- webapp: wire @slicc/webcomponents shell behind ?ui=wc flag (phase 0) (54da112)
- webapp: workbench file tree + worker-shell terminal in WC shell (phase 3) (f03bb10)
- webcomponents: add feedback addon for Storybook with File System A (ec41aea)
- webcomponents: add lucide icon helper + feedback-round deps (e3b1471)
- webcomponents: add narrow-view tooltip for floatbar badge (f6c21ea)
- webcomponents: add push-to-talk gesture handler to composer (d81fbf8)
- webcomponents: add shader backdrop story and frosted translucent c (0e692c3)
- webcomponents: add storybook feedback collection for design review (2fb12fc)
- webcomponents: add tab overlay component for CDP browser switcher (42b5220)
- webcomponents: add viewport-fill layout for short chat histories a (d223c22)
- webcomponents: avatar account menu + modal dialog (#11/#12) (3bf8dd5)
- webcomponents: compact pills + reusable hover tooltip for collapsed rails (#1) (3f7d7d9)
- webcomponents: composer hides thinking pill for non-reasoning models; avatar shows ? when signed out (6231daf)
- webcomponents: composer history-walk events + thread new-messages chip (00fa97d)
- webcomponents: cone-pill face wash gradient, stronger shader parallax, vivid freezer contrast (c0d1d5e)
- webcomponents: drop the 'review before shipping' composer hint (987b085)
- webcomponents: faithful full-app showcase layout (#2/#5/#7/#8/#10) (3d70d16)
- webcomponents: feedback round 1 — substantive component changes + terminal (a5a7a23)
- webcomponents: feedback round 2 — lucide icon sweep, zero emoji (07f078b)
- webcomponents: feedback round 3 — assembled stories + full-app Showcase (2af9bd6)
- webcomponents: freezer field is blue-on-white with a glacial clock (b90f65a)
- webcomponents: functional model dropdown in composer-meta (a1b05e1)
- webcomponents: micro-interactions and polish for send-button, file (ba70674)
- webcomponents: model dropdown shows provider + model, with type-ahead search (f4208fd)
- webcomponents: narrow / extension-sidebar responsive layout (7751127)
- webcomponents: ramp thinking pill text, border and background with (70dd58c)
- webcomponents: scaffold @slicc/webcomponents package + verified harness (0739ccb), closes #841
- webcomponents: six-level thinking intensity scale with Italian wet (269d1b9)
- webcomponents: slicc-camera-dialog — proper camera capture component + thumbnail chips (7058dd5)
- webcomponents: Wave 1+2 — theme provider + 13 primitive components (372247f)
- webcomponents: Wave 3 — lift slicc-pill and slicc-add-menu (3a5d5c6)
- webcomponents: Wave 4 — chat composites + press-button + image-preview (f8d129d)
- webcomponents: Wave 5 — composer + scoop switcher (5e5e8c7)
- webcomponents: Wave 6 — workbench, dock, freezer, nav, memory (17) (c26e792)
- webcomponents: Wave 7 — shell, chatpane, frost-shader, dip (finale) (b1db2cf)
BREAKING CHANGES
- the LightningFS/IndexedDB VFS backend and its
boot-time IDB→OPFS migration are removed. OPFS is the only filesystem
backend; profiles that never ran a migration-capable build cannot carry
legacy 'slicc-fs' content forward. The slicc-fs-cleanup command remains
solely to delete the leftover IndexedDB database, and the
@isomorphic-git/lightning-fs dependency is gone.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Signed-off-by: Lars Trieloff lars@trieloff.net
- the legacy Layout/ChatPanel UI is gone. The
@slicc/webcomponents shell is the UI for every float — standalone,
electron-overlay, hosted-leader, cherry, extension side panel, and the
detached popout. The ?ui=wc opt-in flag no longer exists (the WC shell
always boots), the legacy chat/layout stylesheets survive only as the
scoped dialog subset in legacy-styles.ts, and any integration that
reached into legacy DOM (.chat-panel, Layout globals) must move to the
slicc-* component contracts.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Signed-off-by: Lars Trieloff lars@trieloff.net