Skip to content

[msix-e2e-feedback] Toggling 'Allow screen recording' in Settings briefly hides left-nav items #463

@indierawk2k2

Description

@indierawk2k2

Repro (intermittent — timing-sensitive)

  1. Connected tray, hub window open with full left nav visible.
  2. Settings → toggle Allow screen recording ON.
  3. Watch the left navigation: Chat / Sessions / Skills / Channels / Instances / Advanced briefly disappear and the gateway separator goes away (only Voice & Audio / Settings / Permissions / Sandbox remain).
  4. Toggle OFF; the nav usually restores before the user notices, which is why this doesn't always repro.

Expected
Toggling a recording-consent setting should have zero effect on the left nav.

Actual
Left nav briefly "simplifies" — the 6 gateway-gated items collapse for the duration of a reconnect blip.

Root cause (suspected)
HubWindow.UpdateGatewayNavVisibility(bool connected) at
src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs:371 collapses NavChat, NavSessions, NavSkills, NavChannels, NavInstances, NavAdvanced, and NavGatewaySeparator whenever the gateway connection is not in the Connected state.

Trigger chain:

  • SettingsPage.xaml.cs:92ScreenRecordingToggle.Toggled
  • SettingsPage.xaml.cs:103Persist() calls settings.Save() then NotifySettingsSaved()
  • Some downstream subscriber (suspected NodeService capability re-registration, since ScreenRecordingConsentGiven gates screen.* command exposure) causes a brief gateway disconnect/reconnect, which fires the visibility collapse for the duration of the gap.

Suggested fix (either or both)

  • NodeService should re-register screen capability state in-place without dropping the gateway connection, OR
  • UpdateGatewayNavVisibility should debounce / require >N seconds disconnected before collapsing the nav so transient reconnect blips do not strobe the UI.

Found during MSIX-E2E manual test pass on packaged build (Mike Harsh, 2026-05-19).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions