Skip to content

[web-console] Make side panels for connector errors and pipeline health resizable#6630

Merged
Karakatiza666 merged 1 commit into
mainfrom
issue6539
Jul 16, 2026
Merged

[web-console] Make side panels for connector errors and pipeline health resizable#6630
Karakatiza666 merged 1 commit into
mainfrom
issue6539

Conversation

@Karakatiza666

Copy link
Copy Markdown
Contributor

Testing: manual, added unit tests

Fix #6539

Minor side change: the size of the Monitoring and Interaction panels i snow preserved across page reloads

Screencast.From.2026-07-14.19-10-17.webm

@Karakatiza666
Karakatiza666 requested a review from mihaibudiu July 14, 2026 15:28

@mythical-fred mythical-fred left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APPROVE.

Nicely scoped: Drawer/InlineDrawer/OverlayDrawer gain a main snippet and pane-based resize with localStorageKey persistence, and the three call sites (TabHealth, TabPerformance, PipelineEditLayout) are updated consistently. Tests are targeted and meaningful — the InlineDrawer spec asserts the resize handle only appears when open (which is the whole point of the feature), the OverlayDrawer spec asserts the max-w-full cap and even guards with an innerWidth < 700 precondition so a wider CI viewport can't silently pass it. Commit is signed off with no AI trailers.

Two small comments (non-blocking):

  • autoSaveId key naming. You've picked a good, consistent scheme (layout/pipelines/monitoringPanel/size, layout/drawer/pipelineHealth, etc.), but these live in localStorage forever once written. If any of these keys change name in the future, users will silently lose their layout. Worth a brief note somewhere (a comment in the layout file or a keys constants module) so we don't collide or rename them casually later.

  • main snippet is now required in Drawer. The type declares it non-optional, which is correct for the new callers, but if any external/embedded consumer of Drawer (there don't appear to be any today, but it's a shared layout component) still passes only children they'll get a runtime blank pane. If you want a belt-and-braces default, main = () => null as unknown as Snippet would keep the old callers rendering — otherwise, current typing already catches it at build time, which is fine.

Manual test screencast plus browser-based specs is a good testing story for this kind of change; keep doing it.

width?: string
inlineClass?: string
/** Inline drawer pane size on open, as a percentage of the container. */
defaultSize?: number

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not name them defaultSizePercent?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

alternatively, you could define a Percentage data type and use it here

<div class="w-52 pt-2">
{#if global.start_time > 0}
On {formatDateTime({ ms: global.start_time * 1000 })}
{#snippet main()}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these diffs are terrible, one should be able to do better than this

…th resizable

Signed-off-by: Karakatiza666 <bulakh.96@gmail.com>
@Karakatiza666
Karakatiza666 enabled auto-merge July 15, 2026 22:34
@Karakatiza666
Karakatiza666 added this pull request to the merge queue Jul 15, 2026
Merged via the queue into main with commit ceb37d9 Jul 16, 2026
1 check passed
@Karakatiza666
Karakatiza666 deleted the issue6539 branch July 16, 2026 01:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[WebConsole] Connector errors and pipeline health panel is not resizable

3 participants