Skip to content

fix(board): loading states (not zero-states) + a gate rail of real cards (ready-6ec) - #235

Merged
baron-3dl merged 1 commit into
mainfrom
fix/board-loading-states-and-gate-cards-ready-6ec
Aug 8, 2026
Merged

fix(board): loading states (not zero-states) + a gate rail of real cards (ready-6ec)#235
baron-3dl merged 1 commit into
mainfrom
fix/board-loading-states-and-gate-cards-ready-6ec

Conversation

@baron-3dl

Copy link
Copy Markdown
Contributor

Two things that made the board look broken — both found by loading the real page.

1. Zero-states while loading

The board paints from each board's cached projection ("from cache" / state stale) before it's read the relay. During that window it showed its terminal empty states — "Nothing needs you right now", "No items on these boards yet.", "0 open · 0 shown" — reading as a settled, empty board when nothing had arrived (a second later: 555 open).

Added isLoading() (any board still stale). While loading: the gate rail says "Checking what needs you…" with a pulsing dot, the centre says "Loading your boards…", and the tally shows "…" instead of 0. Once folded, the real settled states return — pinned both directions in render.test.ts.

2. The gate rail was a jumble

.gate-item was display:contents, so each gate's header button and its [reason][Approve][Reject] control were separate flex children of .gate-list — at scale, inputs and buttons wrapped between unrelated gates. Each gate is now one self-contained card: header on top, its resolve control tucked underneath.

Verified

Board suite 1004 passing; tsc clean. Both fixes screenshotted (light + dark) against the real render.

🤖 Generated with Claude Code

…te rail of real cards (ready-6ec)

TWO things that made the page look broken, both seen by loading the real board:

1. ZERO-STATES WHILE LOADING. The board paints from each board's cached
   projection ("from cache" / state "stale") before it has read the relay, and a
   fresh session with no cache paints nothing. During that window it showed its
   TERMINAL empty states — "Nothing needs you right now", "No items on these
   boards yet.", "0 open · 0 shown" — which read as a settled, empty board when
   in fact nothing had arrived yet (a second later: 555 open). Added isLoading()
   (any board still "stale"); while loading the gate rail says "Checking what
   needs you…" with a pulsing dot, the centre says "Loading your boards…", and
   the tally shows "…" instead of 0. Once folded, the real settled states return
   (pinned both ways in render.test.ts).

2. THE GATE RAIL WAS A JUMBLE. .gate-item was display:contents, so each gate's
   header button and its [reason][Approve][Reject] control were SEPARATE flex
   children of .gate-list — at portfolio scale reason-inputs and buttons wrapped
   in between unrelated gates, a mess next to the real cards. Each gate is now
   ONE self-contained card: header on top, its own resolve control tucked
   underneath. Nothing floats loose.

Full board suite 1004 passing; tsc clean; both fixes screenshotted in light and
dark against the real render.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@baron-3dl
baron-3dl merged commit 5e3d8c7 into main Aug 8, 2026
7 checks passed
@baron-3dl
baron-3dl deleted the fix/board-loading-states-and-gate-cards-ready-6ec branch August 8, 2026 21:54
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