fix(web): address review feedback on the monitoring column (#1616)

- ResizeHandle: clear the `resizing-col` body class on unmount so a drag
  interrupted by the handle unmounting (narrow past the breakpoint / disconnect)
  can't leave page-wide user-select:none / col-resize applied.
- Embedded monitor column now shows the full unfiltered stream instead of
  silently mirroring the full-size screen's live filter (the column has no
  filter control to explain an empty/partial list).
- MonitoringControls: give the SegmentedControl an aria-label ("Monitoring
  screen") so the tab group has an accessible name.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
cliffhall 2026-07-08 19:41:00 -04:00
commit 9b76272ad1

View file

@ -98,13 +98,17 @@ export function NetworkStreamPanel({
}: NetworkStreamPanelProps) {
const viewportRef = useScrollMemory("network-stream");
const filteredEntries = useMemo(() => {
// `.filter()` returns a fresh array, so sorting in-place is safe.
// Embedded column: show the full stream (no filter sidebar to explain a
// mirrored filter). See LogStreamPanel (#1616). `.filter()` returns a fresh
// array, so sorting in-place is safe.
const sorted = entries
.filter((e) => matchesFilters(e, filterText, visibleCategories))
.filter(
(e) => embedded || matchesFilters(e, filterText, visibleCategories),
)
.sort((a, b) => a.timestamp.getTime() - b.timestamp.getTime());
if (sortDirection === "newest-first") sorted.reverse();
return sorted;
}, [entries, filterText, visibleCategories, sortDirection]);
}, [entries, filterText, visibleCategories, sortDirection, embedded]);
const hasEntries = entries.length > 0;
const hasResults = filteredEntries.length > 0;