v1.0.7 — Nisaba
Preview on a generated component booted the workspace's dev server, which assumes the workspace
is a project -- a folder with a package.json and a dev script. Point it at a folder of loose
files and npm walks up to /private/tmp and reports a missing package.json, which reads as a
broken app rather than a missing project. There is now a second path that needs nothing: the
component is served on its own throwaway port and opened in its own window. React, icons and
Tailwind come from a CDN, TypeScript and JSX are transformed in the page, and every @/...
import the folder cannot answer is met with a shim built from the exact names that file asked
for -- a Button shimmed as a button, an Input as an input, cn as a string join, so the result
is interactive rather than a wall of divs. It shows behaviour and layout, not real shadcn
styling; the dev-server path is still there for the exact thing, now labelled as what it is.
A check parses a real generated component and asserts the shim carries the right names for
the right path, because getting that wrong dies as an opaque module error in a window with no
console.
Opening a menu blurred the whole page behind it. That was deliberate -- the native view has to
be hidden for a dropdown to paint at all, and a blurred still is friendlier than a black
rectangle -- but at ten pixels of blur and a dimming layer it turned every menu click into a
scene change. The still now sits there as it is.
A long path in a dialog painted straight through the card's border. DialogContent is a grid,
and a grid item refuses to shrink below its own min-content, so an unbreakable path pushed the
track wider than the box that was supposed to clip it and truncate never got a say. Grid
children can shrink now, which fixes every dialog rather than the one that showed it.
The audit panel's only route to a copyable prompt was a toast action that expires. There is a
persistent button for it, disabled with an explanation until the plan has been exported, since
the prompt names the exported folder. The panel header lost the URL and the workspace path it
was repeating.
A finished job's progress bar kept running its barber-pole stripes, which says "working" about
something that stopped. Stripes are now tied to being under 100%, so every bar in the app stops
when its work does.
Release notes in the update dialog were HTML tags stripped out and the remainder cut at 400
characters inside a one-line description. They render as a scrollable list of what changed,
on both the available and the ready step.