Skip to content

The web deadlock graph's process pane wraps its SQL handle note and property lines (#6224) - #6228

Merged
erikdarlingdata merged 1 commit into
devfrom
fix/6224-deadlock-handle-wrap
Oct 20, 2026
Merged

erikdarlingdata merged 1 commit into
devfrom
fix/6224-deadlock-handle-wrap

Conversation

@erikdarlingdata

Copy link
Copy Markdown
Owner

Claude posting for Erik Darling.

Closes #6224.

Why

In the web dashboard's deadlock graph, the process detail pane's SQL handle note ("A handle covers a whole batch or procedure: ...") and every property line ran out past the pane's right edge on one line. The graph is drawn inside a data table cell, and a data cell is white-space: nowrap. The pane inherited that. Only the pre.code blocks (handle lines, SQL text) set pre-wrap themselves, so they were fine; the .dlg-prop divs and the heading were not. Measured in the browser before the change: every pane child computed white-space: nowrap, the note was a single 17 px line, and 5 elements overflowed the pane (6 at 390 px).

What changes

  • Darling/PerformanceMonitor.Darling.Service/wwwroot/css/app.css: .dlg-side now sets white-space: normal; overflow-wrap: anywhere, so the note, the property lines and the heading wrap, and a long hex handle can break anywhere. The pre.code blocks keep pre-wrap.
  • Desktop PerformanceMonitor.Ui/DeadlockGraphControl.xaml.cs ("SQL Handles" block): checked, no change needed. The hint is a TextBlock with TextWrapping.Wrap, the handle list is a TextBox with TextWrapping.Wrap, and the properties ScrollViewer has horizontal scrolling disabled, so the text wraps inside the 340 px panel. Lite and Darling share this control.

Test plan

  • Browser check against a local web dashboard on a throwaway PostgreSQL store, one seeded deadlock whose first process has a three-frame stack (frame lines about 110 characters of hex): after the change, 0 overflowing elements in the pane and the note wraps to 3 lines (51 px) at 1280, 900 and 390 px, with no horizontal page scroll (document scroll width equals the viewport at all three).
  • At 390 px the data table scrolls horizontally inside its own container (existing behaviour for that wide table); the pane itself no longer has text past its edge.
  • pre-push.sh from PowerShell 7 (guard stage 4446 and 1196 tests green; selected classes 3270 Darling and 296 Lite, 0 failed).
  • Every Census and Ratchet class in both test projects, plus the deadlock graph and SQL handle classes: Darling 610 run, 0 failed; Lite 32 run, 0 failed.
  • No automated test added: the defect is a CSS inheritance effect that only a real layout engine shows, and the repo bars source-text tests for it.

Last line of pre-push.sh:
GATE GREEN: guard stage of both suites and 188+29 selected classes in 2 batches passed (logs /tmp/pre-push.vZEvXv)

Proposed CHANGELOG line

SECTION: Fixed

  • The web deadlock graph's process pane wraps its SQL handle note and property lines ([#PR]) - The SQL handle note and the other lines in a process's detail pane ran in one line past the pane's right edge and were cut off, because the pane inherited the table cell's no-wrap setting. They now wrap inside the pane, and a long hex handle breaks anywhere, at desktop and phone widths. The desktop viewer already wrapped this text.

@erikdarlingdata erikdarlingdata added the owner:pm-worker-helper Laptop helper session: click-test fixes. Other sessions leave these alone. label Oct 20, 2026
@erikdarlingdata
erikdarlingdata marked this pull request as ready for review October 20, 2026 15:16
@erikdarlingdata
erikdarlingdata enabled auto-merge (squash) October 20, 2026 15:16
@erikdarlingdata
erikdarlingdata merged commit ce62c83 into dev Oct 20, 2026
53 of 57 checks passed
@erikdarlingdata
erikdarlingdata deleted the fix/6224-deadlock-handle-wrap branch October 20, 2026 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

owner:pm-worker-helper Laptop helper session: click-test fixes. Other sessions leave these alone.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant