NOTEPAD: drop what is done, correct what was never true

A sweep against the code. Removed as resolved: the worker pool's `_running`
is keyed by (run, node) now, `WorkItem.kind` documents only the three kinds
that exist, `routeTree.gen.ts` matches its generator, and the host's Node is
well past the version the Vite 7 note was about. Removed as disproved: the
collector's redelivery branch is reachable — Redis reclaims an entry this
process is still running.

Corrected: the demo places six of the fifteen node types, not thirteen — the
count was the widget types. Narrowed to what is left: the header/config sync
now covers settings but only on an untouched scaffold and only one way; a
declared flow input is what the dashboard-input node asked for; the flow
boundary already refits the canvas where node ports do not.

The Playwright hazard is not resolved — both names still resolve to
production — and the fix as written is incomplete: `VITE_API_URL` has to be
overridden to `http://` or every setup call fails the TLS handshake.

Also: one `asText` instead of two, and the queue docstring no longer refers
to a node item that never existed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NUb8YpL2s3gmN9WTACTt4q
This commit is contained in:
2026-08-20 19:06:48 +02:00
co-authored by Claude Opus 5
parent ad7bd5ad11
commit 032c2e3ae6
5 changed files with 17 additions and 26 deletions
@@ -20,7 +20,7 @@ import {
} from "@/components/ui/tooltip"
import { qualify } from "./deriveEdges"
import { useLiveValue } from "./liveStore"
import { DTYPES } from "./NodePanel"
import { asText, DTYPES } from "./NodePanel"
import { PANEL_SECTION } from "./SidePanel"
import { ValuePreview } from "./ValuePreview"
@@ -46,13 +46,6 @@ export function parseByDtype(dtype: DType | undefined, raw: string): unknown {
}
}
/** The same value as something a text field can hold. */
export function asText(value: unknown): string {
if (value === null || value === undefined) return ""
if (typeof value === "object") return JSON.stringify(value)
return String(value)
}
/** Putting a declared value into the running graph, credited to the input. */
function usePublishInput() {
return useMutation({
+1 -1
View File
@@ -398,7 +398,7 @@ function castTo(type: FreeType, raw: string): unknown {
return raw
}
function asText(value: unknown): string {
export function asText(value: unknown): string {
if (value === null || value === undefined) return ""
if (typeof value === "object") return JSON.stringify(value)
return String(value)
+2 -1
View File
@@ -19,7 +19,8 @@ import {
SelectTrigger,
SelectValue,
} from "@/components/ui/select"
import { asText, parseByDtype } from "./FlowBoundary"
import { parseByDtype } from "./FlowBoundary"
import { asText } from "./NodePanel"
/**
* The parameters of one run, taken from the flow's inputs.