Repository navigation
Conversation
pi's default "system" theme paints the footer rows (working directory, usage, model) with SGR 2 and no colour. The footer reader asked every footer row for a colour or a rule, so on that theme a dialog came back modal: unreadable on a read with colour, while the same screen with the codes removed read fine. pi's rgb themes colour the footer and were never affected. Faint now counts as paint for the footer rows only (footerAt in ask.ts and paintedStatus in composer.ts). A dialog's own rows (title, top row, notes) still need real colour, and a plain row straight under the frame is still refused. Add a real capture of pi 1.5.0's permission-gate on a Herdr 0.9.5 pane in the default theme, with its README row and surface label, and tests.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On pi's default theme, a dialog came back
modal: unreadableon a read with colour, so a phone could not tap it. The same screen with the escape codes removed read fine (since #721), and so did pi's rgb themes (dark,light).Cause. pi's default "system" theme (no
themeinsettings.json) paints with the terminal's 16 colours and draws the footer rows (working directory, usage, model) faint, SGR 2, with no colour at all. The footer reader (footerAtinweb/src/lib/harness/pi/ask.ts, andpaintedStatusinweb/src/lib/harness/pi/composer.ts) asked each footer row for a foreground colour or a rule, so the footer was not found and the frame was refused. The comment abovefooterAtalready says a footer row is "painted (dim or coloured)"; the check only counted the colour.Change. A footer row that is faint now counts as painted, in those two places only. A dialog's own rows (the title, the top row, the notes) still need real colour, so a faint line of agent prose cannot open a dialog. A plain row straight under the frame (a shell prompt, output) is still refused.
Evidence
pi--v150-herdr-system-theme-permission-gate--w119.txt: pi 1.5.0's examplepermission-gate.tsasking aboutchmod 777 gate-probe.txt, in a pane of a real Herdr 0.9.5 session, read through the bridge with colour (last 22 rows). Onmainit readsmodal: "unreadable", blocks allraw; with this change it reads as an ask with Yes / No / Cancel. README row andsurface-labels.jsonentry added; the model label was replaced with neutral text of the same length, nothing else changed.pi/ask.test.ts): the capture lifts with its options, the walk and Escape; reads as an ask on the Surface; reads the same with no styling; the same footer with its codes removed is still not pi's; plain output straight under the frame ($,alice@box:~/project$,#,❯, prose) is still refused. Four of them fail onmainand pass here;pi.test.tscounts one more lifted screen.Base branch
mainChecks
bun run typecheck(root andweb/),bun run lintpass.cd web && bun run test: 596 files pass, 53735 tests.bun test ./bridge ./cli ./scripts: this change touchesweb/only. My run did not finish in 28 minutes (8930 passed, 108 failed before it was cut). I ran the 12 files that failed on their own with and without this change: the same 216 tests fail in both (durable control/action/answer/chat/sources, files view, mux conformance, launchers, folder browse), so they do not come from this change, but I did not find their cause here.CHANGELOG.mdor any version file. For the maintainer: