[27/36] Add OC-130 protocol first paint stability - #59
Conversation
9195782 to
bda007c
Compare
2e387f4 to
4030efd
Compare
|
Verdict: approve with nits. This genuinely prevents the first-paint flash rather than masking it: hydration reconfigures the already-laid-out but visibility-hidden controls into final protocol form before revealing, the startup card is position-absolute so it adds no layout, and the flex chain introduces no double-scrollbar. Hide-then-hydrate, not cosmetics.
Tests: reasonable within JSDOM limits (neutral startup markup, per-protocol pending-to-ready end states, invalid-YAML fallback on both sides). Layout stability itself is asserted by grepping CSS source, JSDOM can't paint, so "no flash" rests on the visibility rule being right (it is). No test would have caught the blank glyph. Deps: none added. |
|
Re-review (whole-stack pass, per REVIEW_GUIDE.md) The first-paint claim from the #40 thread ( New:
Prior findings still open: the blank glyph ( Coverage gap: no invalid-to-valid recovery test, and nothing exercises save during pending/invalid, which would have caught the medium. Verdict: changes-needed. Both fixes (glyph content rule, hydration gate on |
|
Addressed in The hydration findings were valid and belong to OC-130, so they are fixed on this branch:
The invalid-YAML overlay itself remains intentional. OC-130 requires a stable neutral error state instead of exposing an invented HTTP editor; external YAML edits therefore hide the visual controls until the document is valid again. The recovery defect was the stale overlay after validity returned, and that is fixed above. I am not moving the OC-140 ledger row in this PR. It is non-executable stack metadata for the immediate child planning branch, PR #60, which adds Validation on PR #59:
Validation on the merged PR #59 + stack-tip rework tree:
Stack integrity was checked before push for updated PR #58 → PR #59, PR #59 → immediate child PR #60, PR #59 → PR #71, and PR #59 → rework PR #72; all four merge simulations were clean. After push, GitHub reports both PR #59 and PR #60 |
|
Response to the second review: the persistence findings are addressed on the current head (9ff4bec).
The equivalent Ctrl+Enter timing path is guarded in the stack rework PR, #72 (c303d27), so I have not rewritten this historical branch and disturbed its descendants. The stale ledger entry is also corrected on the final rework branch. I validated the complete 37-PR composition with npm run build, npm run compile, all 539 tests, and all 47 demo validations passing. |
Summary
Implements protocol-aware initial request editor rendering so non-HTTP requests avoid the HTTP-default first-paint flash, with startup-state and layout regression coverage.
Stack
Base: eature/oc-120-preview-media-controls
Head: eature/oc-130-protocol-layout-stability
Validation
pm run compile
pm test
pm run build