feat(core-status): resizable columns, a remembered mode, and the core's build - #324
Merged
Conversation
…'s build Five things the panel could not do, plus the reason one of them only looked broken. Columns in the By-IP view are draggable, clamped, and shrink together by one shared factor once the row stops fitting - a tree has no horizontal scroll to fall back on. A drag persists per context; double-click frees a column, Shift+double-click frees them all. The mode tab (By IP / Flat / Alerts) is remembered, docked panel and detached window keeping their own answer. The alerts gear opens its popup under itself, right-aligned, on one geometry scale instead of two. The core's reported MoonBot build gets a column in both modes, with an agreement rollup on a collapsed server row. It only ever reached the UI inside a ConnFault before, so a healthy core showed none at all - the build now travels as its own message, retained while Ready and dropped on any other status. It renders dotted, 769 as 7.69, because that is what the product calls its builds; a bare 769 makes the reader do the conversion. The flat view groups by exchange with the same logos the left rail uses. `MoonDataTable` has no section-row concept, so each heading is a synthetic row whose caption rides MoonUI's new row banner; sorting reorders inside a section and never moves one. The IP column was never empty: the mask was on by default and printed twelve asterisks. It now shows the address, the header carries the one control that hides it, and losing panel focus no longer re-masks.
The By-IP and flat tables gained a build column, an exchange section band and a mask control. The existing telemetry-column contract asserted the old cell set, so it described a table that no longer exists; extend it rather than let it pass vacuously.
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.
What & why
Five gaps in the Core Status panel, plus the reason one of them only looked like a gap.
together by one shared factor — the view is a tree, so there is no horizontal scrollbar to fall
back on and clipping the right-hand columns was the old behaviour. Widths persist per context;
double-click frees one column, Shift+double-click frees all.
window keeping separate answers.
server row. It previously reached the UI only inside a
ConnFault, so a healthy core showednothing — it now travels as its own retained message, dropped on any non-Ready status. Rendered
dotted (
769→7.69) through a newmoon_core::util::fmt::core_build, shared with the faulthover so the two surfaces cannot disagree.
MoonDataTablehasno section-row concept, so each heading is a synthetic row whose caption rides MoonUI's new row
banner (feat(data-table): lay one element across a whole row MoonUI#53). Sorting reorders inside a section and never moves one.
address now shows, the header carries the single control that hides it, and losing panel focus
no longer re-masks.
How to verify
core_build_zero_pads_single_digit_minor_versionsis mutation-proven: changing{:02}to{}turns
707into7.7, which reads as older than a neighbouring7.09. That is the boundary thetest asserts, not the easy
769case, which stays green under the mutation.Verified by hand against 56 live cores: drag, clamp, shrink and reset; the row never spills past
the panel edge even with four columns dragged to their maximum; the remembered tab survives a full
restart; a real build disagreement (
7.70beside7.69) shows up in the wild.Note
Needs Moonbot-Tech/MoonUI#53 (merged) — the
Cargo.lockbump to that revision is in this PR.