Skip to content

LAN remote UI exposes commands and tabs unsupported by dispatcher #10

Description

@blacks1ne

Summary

Remote LAN mode renders all “capable” desktop tabs, but the LAN command dispatcher only implements a subset of their backend commands.

Evidence

web/src/App.tsx sets capable = desktop || remote, exposing Local, Image, Inpaint, Classify, Train, Feedback, and Memory views remotely.

The LAN dispatcher supports core chat/image/memory/settings operations, but frontend wrappers also invoke commands that are absent remotely, including portions of:

  • vision load/classify;
  • jobs and datasets;
  • video generation;
  • user-vector operations;
  • incognito and LAN controls.

These actions fail as unknown commands instead of being hidden or negotiated.

Proposed resolution

  • Return command-level capabilities from app_info.
  • Render tabs/actions from those capabilities rather than a single remote boolean.
  • Add a contract test comparing frontend command wrappers to Tauri and LAN dispatch coverage.

Implementing the missing LAN routes can follow separately; capability negotiation is still needed for desktop/remote version skew.

Acceptance criteria

  • A remote user cannot select an action known to be unsupported by the connected backend.
  • Capability data is versioned or backward-compatible.
  • Contract tests flag newly added frontend wrappers without a corresponding dispatcher or explicit desktop-only declaration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions