Repository navigation
fix(tui): read the seat queue on drilled Topology views so Q / WORK / NOW fill - #1173
Conversation
… NOW fill 53ca93f gated the queue reads behind broadReads, which is false on every Topology table view, so Q, WORK and NOW were always empty. Drilled views now read the four seat-queue lists; the seatless landing stays names-only.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to The topology table can populate its queue-backed fields and open-row footer for host, rig, and pod drills. No concrete unresolved issue from this review blocks merging. Pre-merge checks |
|
|
Thanks, @Quentin-M, for the clear report in #1172 and for the quick fix. As you describe it, the Topology table's Q, WORK and NOW columns stay empty on the rig and pod views even when seats hold queued, in-progress and blocked items, and this fills them again; thanks too for checking it against a live daemon. We'll review it and comment here. |
|
Thanks again, @Quentin-M. We've reviewed this and checked the cause: One change we'd ask for: please load the queue lists only on the views that show them. As written, any drilled view loads all four lists, plus the blocked-item lookups, on every tab, including overview, graph and health, which never show them. Gating it to a seat's page and the table tab would do it, for example: const seatQueueReads = broadReads || (focusedTopology && (topologyLeaf?.kind === "agent" || (!!topologyLeaf && viewContext.viewTab === "table")));The recent tab can stay as it is on main, since it falls back to each transition's own summary. A check in One small thing: in the new And optionally, the PR description names the rig and pod views. The instance (host) table fills too. |
Gate the four seat-queue lists to a seat's page and the drilled table tab. Overview, graph and health tabs make no /api/queue/list call. The hydrate test now drills with a real segment.
|
Thank you @mvschwarz, and sorry I gated it too wide. All three points are in e2ed672 → the new commit:
|
|
Thanks, @Quentin-M, and no need to apologize. This is what we asked for: the queue lists now load only on a seat's page and the drilled table tab, the overview, graph and health tabs stay as light as before, and your new test pins that. The hydrate test now drills the way the TUI does too. It's approved. Once its checks finish, it'll merge with other ready changes for an upcoming release, and we'll update here when it does. |
|
Thanks guys <3 |
openrig-review
left a comment
There was a problem hiding this comment.
Approved at 634c787. The TUI's Topology table reads the seat queue again on drilled views, so the Q, WORK and NOW columns fill: Q is a seat's open-item count, WORK its slice and NOW its current item. The queue is read only on a seat's page and the table tab, so the graph and health tabs make no extra calls. Required CI passed at this head, on current main for its files.
— dev60-planner@v-openrig-build
|
Merged to main, thanks @Quentin-M. It will ship in the next release. |
…1175) When a queue list reaches its cap or fails to load, the TUI's instance, rig, pod and seat views and Pulse say the count is a sample or a lower bound. A seat missing from a partial sample reads as unknown work, genuinely empty data still reads empty, and a row that appears in two lists counts once. No new reads, and no daemon, query or setting change; the caps the TUI assumes (100, and 50 for pending) are a stated limit. Refs #1172, #1173.
|
An update, @Quentin-M: OpenRig 0.6.11 is out on npm, and this change is in it (release notes: https://github.com/mvschwarz/openrig/releases/tag/v0.6.11). Thanks again. |
Hello, and thank you for OpenRig. I kindly propose this fix for #1172. If it is not the right approach, I apologize in advance, and I am happy to rework or close it.
What a user gets
Before: on the Topology table (instance, rig and pod views) the Q, WORK and NOW columns are empty for every seat, and the footer reads
0 open rows, even when seats hold queued, in-progress and blocked items. After: Q is the seat's open-item count, WORK its slice, NOW its current item. Fixes #1172.How you verified it
Tested at
3001cc4plus this commit. The fix resolves the issue: the issue reporter ran the compiled TUI from this branch against the same live daemon and confirmed the columns now populate.node packages/tui/dist/main.js --url <daemon>against a running 20-seat rig. Before the fix every seat showed·/—/—and0 open rows. After it, Q shows per-seat counts, WORK the slice and NOW the current item. The footer showed22 open rows, matching the 22 active items inrig queue list -A.hydrate.test.tsis red without the fix (expected [] to deeply equal ['qi1']) and green with it.npx vitest runinpackages/tui: 921 pass. Three tests fail. Two fail on a clean3001cc4too (socket.test.tssocket home,execution-view.test.tsat 24 cols). The third (navigation-continuity.test.ts) pinned the old behaviour and is updated here: the drilled-rig page now reads the four queue lists, and the landing keeps its names-only read./api/queue/listcall. It fails without the gate.npm run lint, and the daemon and cli suites.Anything you were unsure about
53ca93f7gates the queue reads, and its message does not say whether that was intended. I kept the gate for the landing and for the other heavy reads (health, review, stream, scopes, execution) and enabled the four seat-queue lists only on a seat's page and the drilled table tab, as suggested in review. That adds 4 list calls per refresh on those views. I did not measure the cost.rig ps --nodesalready returnspendingWorkCountper seat. The Q column could use those counts and skip the list reads, but WORK and NOW need the rows.One concern per PR; no version bump; no
CHANGELOG.mdeditTests added or updated where the change is testable
I listed the checks I ran, their results, and any checks I could not run
Summary by CodeRabbit