Repository navigation
fix(work-panel): restore window dragging in unused tab-strip space - #1415
Merged
Merged
Conversation
Keep the header as the native drag owner while limiting no-drag to interactive tabs and existing action controls. This restores window dragging without changing tab selection or reorder behavior.
Owner
|
Thanks for the precise reproduction and the Windows native hit-test evidence. This fixes drag ownership at its source while keeping tabs and actions interactive; the regression probe and CI are green. Merged as c376e4a. I appreciate the careful validation. |
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.
Summary
Unused space in the work-panel header cannot drag the native window because
the flexible tab-strip wrapper is marked no-drag. Keep the header as the single
drag owner and limit no-drag to individual tabs and existing action controls.
Reproduction
On the original reproduction base
def015ebb, open the work panel withone or two tabs and try dragging the unused strip space to their right. Although the header is styled
as a native drag region, the wrapper covers that area with no-drag.
In an isolated Windows Electron window mounting the production WorkPanel and
styles, WM_NCHITTEST returns HTCLIENT (1) for that empty area. With this change
it returns HTCAPTION (2); the interactive tab and action targets remain HTCLIENT.
Changes
ownership rule; retain all existing interaction checks.
No changes to window-control reservations, pointer-reorder logic, IPC, storage,
MC/provider integration, or dependencies.
Validation
callbacks and the existing reorder/cancellation probe passed.
tab/close/add/maximize hit targets remain HTCLIENT.
desktop booted with a successful host handshake and sidecar readiness.
Environment: Windows, Electron 43.6.0, Chromium 150.0.7871.250.
Physical mouse acceptance: the tester manually dragged the rebuilt isolated
Windows desktop from unused work-panel header space and confirmed on
2026-10-05 that the window moves. This is a manual result, not a claim that
the automated native-caption drag gesture passed. macOS/Linux native checks
and packaged installers were not run.
Tested candidate: e697cea.
Upstream base: 10e824e.
Scope review
The change fixes the existing drag-owner contract and is independent of the
browser capture fix. PR #455 addressed related chrome ownership but the current
flexible strip still blocks the empty area. No exact open duplicate was found
in the refreshed 2026-10-05 check.