Skip to content

zgx: Zeron v2's panel gets the active-tab wash fix, so the v2 staleness test passes - #1382

Open
hoangvu12 wants to merge 1 commit into
zeronsh:zeron/zgxfrom
hoangvu12:v2-panel-tab-wash
Open

hoangvu12 wants to merge 1 commit into
zeronsh:zeron/zgxfrom
hoangvu12:v2-panel-tab-wash

Conversation

@hoangvu12

@hoangvu12 hoangvu12 commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

zeron_v2_is_in_step_with_the_default fails on every pull request to zeron/zgx since c153906. That commit fixed the default's screens/panel/init.luau, a file Zeron v2 keeps its own copy of, and didn't bring v2 in step:

The default's ["screens/panel/init.luau"] changed since Zeron v2 was last brought in step with it

The fix applies to v2 as well. Its copy looks tabs up in a plain table in two reactive places, the effect that scrolls the active tab into view and the check for whether the strip overflows. A lookup made before a tab's node mounted never ran again, so v2 had the same bug c153906 fixed (the active tab's wash missing). This brings over the same change: a count that each tab's node bumps when it mounts, read by a chip_ref lookup in those two places. The other reads (one later in the same effect, and Escape's focus) stay as they are, as in the default.

.base.json now records the default's panel as it is at c153906 (3d5e0c712c4dda56). That is the only record that changes.

Testing

I computed the record the way the test does (live::hash, DefaultHasher over the file with CRLF made LF) in a small program, not with ZERON_V2_BLESS. It reproduces the old record from the panel before c153906 (7fcc64426fb6411d), and all 8 files v2 overlays now match .base.json.

zgx lint on v2's panel gives the same 5 warnings (tokens it can't see outside the app) before and after, and no errors. I didn't build the app here, so CI runs the test itself.


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

c153906 fixed the default's panel: a tab looked up before its node mounted was never looked up again, so the active tab could show bright text on no wash. It changed screens/panel/init.luau, which Zeron v2 keeps its own copy of, without bringing v2 in step, so zeron_v2_is_in_step_with_the_default fails on every pull request to zeron/zgx.

v2's copy has the same plain-table lookups in its scroll-into-view effect and its overflow check. Each tab's node mounting now bumps a count those lookups follow, as in the default, and .base.json records the default's panel as it now is.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant