You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
--status glues a detail's value onto its label when the label is 14+ characters: "Power assertion:held", "Inhibitor path:/usr/bin/systemd-inhibit" #75
PadRight never adds a minimum gap. Once label + ':' reaches 15 characters, the value is appended directly after the colon. Labels come from .Status(string label, Func<string> value) and are chosen by the tool author, so any label of 14 or more characters triggers this.
State: on
Power assertion:held
Inhibitor path:/usr/bin/systemd-inhibit
Expected: at least one space between label and value, with the value column aligned for every row.
Why it matters:--status is the diagnostic report users paste into bug reports. Glued rows are hard to read, and anything that splits rows on ": " gets the wrong value.
This is the same class of bug as #56, but in different code: HelpText.AppendRow vs StatusReport.AppendRow. Fixing #56 doesn't touch this.
Suggested fix
Compute the label column from the rows actually being printed: width = max(15, longestLabel + 2) across the fixed rows (Platform, Tray icon, State) and the details.
At minimum, pad to Math.Max(LabelWidth, label.Length + 2).
Acceptance: a StatusReportTests case with a 15-character detail label asserts a space between : and the value, and that every row's value starts in the same column.
Next step: Size the label column as max(15, longestLabel + 2) across the fixed rows and the detail rows. Add a StatusReportTests case with a 15-character label.
Activity
matt-edmondson commentedon Nov 2, 2026
Triage
--statusformatting with no functional impact. Anything that parses rows on": "will still misread them.TrayApp/StatusReport.cs(AppendRow/LabelWidth)HelpText.AppendRow), not a duplicate. Open PR Leave a gap after the longest option in --help [patch] #58 fixes --help glues the longest option straight onto its description when it is 23–32 characters: "-r, --reason <explanation>Why it is held." #56 only.StatusReport. Open PR Report a throwing status getter in its own row instead of crashing --status [patch] #64 also editsStatusReport.Build, so coordinate with it or rebase onto it to avoid conflicts.max(15, longestLabel + 2)across the fixed rows and the detail rows. Add aStatusReportTestscase with a 15-character label.Generated by Claude Code