Skip to content

Keep inspector label focus during refresh - #495

Closed
Eli Pinkerton (wallstop) wants to merge 2 commits into
fix/mcp-bridge-lifecyclefrom
fix/retain-inspector-label-controls
Closed

Eli Pinkerton (wallstop) wants to merge 2 commits into
fix/mcp-bridge-lifecyclefrom
fix/retain-inspector-label-controls

Conversation

@wallstop

Copy link
Copy Markdown
Collaborator

DISCLOSURE: LLM-GENERATED TEXT

Why: Ordinary asset edits replace inspector label actions and drop keyboard focus.

What:

  • Reuse surviving inspector label pills during incremental refresh.
  • Preserve empty-label controls when labels remain unchanged.
  • Cover label-action focus through edits, Undo and Redo.

Refs #308.

Eli Pinkerton (wallstop) added a commit that referenced this pull request Oct 31, 2026
Surviving inspector label actions must retain identity and focus when
neighboring labels are inserted or removed. Check ordinal positions and
retention of the unchanged empty-label state in the existing hosted case.
Count unrelated row bindings separately because selected-row refresh may
legitimately rebind the affected object.

Changed-file checks and all 16 local gate steps pass, including CSharpier
and npm pack. Required Unity execution remains incomplete: the bridge
reports no Pipeline instance for C:\Code\DataVisualizer. Keep PR #495
draft until original-code reproduction, focused UI regression, full
EditMode and actual PlayMode suites, and UI inspection pass.

Refs #308.
@coderabbitai

coderabbitai Bot commented Oct 31, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Eli Pinkerton (wallstop) added a commit that referenced this pull request Oct 31, 2026
Surviving inspector label actions must retain identity and focus when
neighboring labels are inserted or removed. Check ordinal positions and
retention of the unchanged empty-label state in the existing hosted case.
Count unrelated row bindings separately because selected-row refresh may
legitimately rebind the affected object.

Changed-file checks and all 16 local gate steps pass, including CSharpier
and npm pack. Required Unity execution remains incomplete: the bridge
reports no Pipeline instance for C:\Code\DataVisualizer. Keep PR #495
draft until original-code reproduction, focused UI regression, full
EditMode and actual PlayMode suites, and UI inspection pass.

Refs #308.
@wallstop
Eli Pinkerton (wallstop) force-pushed the fix/retain-inspector-label-controls branch from c82f712 to bc8b9db Compare October 31, 2026 03:22
@wallstop
Eli Pinkerton (wallstop) changed the base branch from main to fix/mcp-bridge-lifecycle October 31, 2026 03:22
Eli Pinkerton (wallstop) added a commit that referenced this pull request Oct 31, 2026
Surviving inspector label actions must retain identity and focus when
neighboring labels are inserted or removed. Check ordinal positions and
retention of the unchanged empty-label state in the existing hosted case.
Count unrelated row bindings separately because selected-row refresh may
legitimately rebind the affected object.

Changed-file checks and all 16 local gate steps pass, including CSharpier
and npm pack. Required Unity execution remains incomplete: the bridge
reports no Pipeline instance for C:\Code\DataVisualizer. Keep PR #495
draft until original-code reproduction, focused UI regression, full
EditMode and actual PlayMode suites, and UI inspection pass.

Refs #308.
@wallstop
Eli Pinkerton (wallstop) force-pushed the fix/retain-inspector-label-controls branch from bc8b9db to 576cb7b Compare October 31, 2026 05:17
Ordinary selected-asset edits rebuilt every inspector label pill and
removed focus from its action. Reconcile labels in ordinal order and
retain each surviving pill and the empty-state label.

Extend the hosted refresh regression to check pill identity and focused
label actions through SerializedObject edits, Undo and Redo.

The 16-step local gate and changed-file fast checks pass. Unity validation
is incomplete: two original-code runs stop on the native editor assertion
"Access version should be odd when acquiring lock" before the new checks.
The editor then stops responding during compilation. No suppression or
successful Unity regression result is claimed; restart the host and run
the focused regression, full EditMode suite and actual PlayMode suite.

Refs #308.
Surviving inspector label actions must retain identity and focus when
neighboring labels are inserted or removed. Check ordinal positions and
retention of the unchanged empty-label state in the existing hosted case.
Count unrelated row bindings separately because selected-row refresh may
legitimately rebind the affected object.

Changed-file checks and all 16 local gate steps pass, including CSharpier
and npm pack. Required Unity execution remains incomplete: the bridge
reports no Pipeline instance for C:\Code\DataVisualizer. Keep PR #495
draft until original-code reproduction, focused UI regression, full
EditMode and actual PlayMode suites, and UI inspection pass.

Refs #308.
@wallstop
Eli Pinkerton (wallstop) force-pushed the fix/retain-inspector-label-controls branch from 576cb7b to 82296d4 Compare October 31, 2026 05:26
Eli Pinkerton (wallstop) added a commit that referenced this pull request Nov 1, 2026
DISCLOSURE: LLM-GENERATED TEXT

**Why:** Removing an asset label rebuilt every inspector label pill, so
keyboard focus fell to the window body and tab order restarted.

**What:**
- Reconcile inspector pills by ordinal label instead of rebuilding them.
- Hand focus to the next surviving remove button after a removal.
- Fall back to the add-label field when the last pill goes.
- Reuse one empty notice and one shared background-luminance check.

Refs #308.

Note: draft #495 carries the same behavior inside the window without
hosted behavior validation. This PR delivers it as a tested control.
@wallstop

Copy link
Copy Markdown
Collaborator Author

Superseded by #506, which merged the inspector label focus behavior on the default branch. Closing this draft so #308 has one delivery path.

Eli Pinkerton (wallstop) added a commit that referenced this pull request Nov 1, 2026
A running Editor can be incompatible with Pipeline while the bridge
reports only no instance. Host status identifies STATUS_PIPELINE_LOAD_PENDING:
Pipeline cannot start on 6000.5.2f1 and requires 6000.5.3f1 or later.
The bridge doctor hid that cause and called an unadvertised status name.

Expose bounded read-only pinned host diagnostics through MCP, preserve
status reasons and detect stale running source. Forward catalog changes
over authenticated session streams with bounded coalescing. Add explicit
instance-checked stop and idle reconnect without replaying mutations.
Use bounded main-loop waits for console signals, leave stdin closure to
its writer, and reject late requests after shutdown.

Original-code regressions fail for missing HTTP sessions, the wrong
diagnostic tool and writer-owned pipe closure. Repaired full harness:
all 49 test files pass, including 67 Unity bridge cases (two Windows-only
cases skip on Linux). Targeted strict Pyright reports zero diagnostics.
Local fast checks pass. The package payload and Unity C# are unchanged.
Windows CI and live host recovery remain required. No host upgrade,
Editor close, successful live canary, or permanent-upstream guarantee
is claimed. The old bridge must be replaced once to load this code.

Refs #497. Keeps draft #495's behavior validation pending host recovery.
An error occurred while trying to automatically change base from fix/mcp-bridge-lifecycle to main November 1, 2026 17:17
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.

1 participant