You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An attribute value that consists only of digits (e.g. placeholder="32") passes every build-time gate — native check (including the subset checker), native build, markup check --strict, markup dump — but the runtime view builder's value tokenizer aborts the whole view with expected text, leaving an empty window. No build-time diagnostic points at the cause; the app is blank and the only clue is a single startup log line.
Discovered in a real app: placeholder="32" on a bitrate text-field produced a blank window; changing the value to e.g. 32 rendered. Any all-digits attribute value triggers it.
Repro
From a clean native init app (TypeScript core), replace src/app.native with:
Expected: the text field renders with placeholder 32.
Actual: the window is blank. Stdout shows one line at startup and nothing else:
markup view failed to build (2:3): expected text
Control
The same file with placeholder="e.g. 32" builds, checks, and renders correctly (no markup view failed line). So the tokenizer treats an all-digit attribute value as a non-text token and fails; any non-digit prefix works around it.
Two layers disagree: the static parser/checker accept all-digit values, so the only failure signal is one runtime log line. Either the static checker should reject all-digit attribute values, or (better) the runtime tokenizer should accept them the way the static parser does.
An attribute value that consists only of digits (e.g.
placeholder="32") passes every build-time gate —native check(including the subset checker),native build,markup check --strict,markup dump— but the runtime view builder's value tokenizer aborts the whole view withexpected text, leaving an empty window. No build-time diagnostic points at the cause; the app is blank and the only clue is a single startup log line.Discovered in a real app:
placeholder="32"on a bitrate text-field produced a blank window; changing the value toe.g. 32rendered. Any all-digits attribute value triggers it.Repro
From a clean
native initapp (TypeScript core), replacesrc/app.nativewith:src/core.ts(boilerplate, any valid Model works):Build and run:
Expected: the text field renders with placeholder
32.Actual: the window is blank. Stdout shows one line at startup and nothing else:
Control
The same file with
placeholder="e.g. 32"builds, checks, and renders correctly (nomarkup view failedline). So the tokenizer treats an all-digit attribute value as a non-text token and fails; any non-digit prefix works around it.Environment
064ca98), CLI reportsnative 0.10.1 (commit 064ca98, automation protocol 0x51f7889bbe3305e7)Notes