Skip to content

feat(terminal): shared dashboard registry + cross-instance duplicate - #66

Merged
griffithtp merged 8 commits into
mainfrom
feature/shared-dashboards-across-terminal-instances
Aug 6, 2026
Merged

griffithtp merged 8 commits into
mainfrom
feature/shared-dashboards-across-terminal-instances

Conversation

@griffithtp

@griffithtp griffithtp commented Aug 6, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Split each Terminal window's isolated dashboard list into a shared,
    process-wide DashboardRegistry + per-window DashboardSession, so
    multiple Terminal windows in the same process see the same dashboards
    live (create/rename/close/reopen/delete/reorder broadcast instantly).
  • Added a single shared dashboards.json persistence file with a
    one-time migration that merges every pre-existing per-terminal
    dashboard list, disambiguating name collisions.
  • Added an in-memory active-dashboard exclusivity lock so the same
    dashboard can never be edited live in two windows at once, with
    "Duplicate" and "Move here" actions when a dashboard is locked
    elsewhere.
  • Frontend: lock indicators on the dashboard switcher/Manage drawer and
    a non-blocking conflict banner with the two resolution actions.
  • Kept each Terminal window launched from Desktop Agent as an
    independent OS process (per-process sharing only applies within one
    process) — added lightweight cross-process instance discovery so a
    dashboard can be explicitly duplicated from one running instance into
    another without merging their state or process lifecycles.
  • Scaffolder: versions.json migration (0.1.12) covering the changed
    backend files, verified against a simulated upgrade of an old
    workspace.

Test plan

  • cargo check --workspace / cargo test --workspace (31 tests)
  • npx tsc --noEmit
  • npm run check-template-drift
  • Scaffolded a workspace on the prior version, ran the upgrade CLI,
    confirmed the migrated files match source and cargo check --workspace passes in the upgraded workspace
  • Manual: two Terminal instances from the launcher — confirm each
    stays independent, and "Duplicate from another Terminal" pulls a
    dashboard from one into the other without changing the source

@griffithtp griffithtp self-assigned this Aug 6, 2026
@griffithtp griffithtp added the enhancement New feature or request label Aug 6, 2026
@griffithtp
griffithtp merged commit b6c407a into main Aug 6, 2026
5 checks passed
@griffithtp
griffithtp deleted the feature/shared-dashboards-across-terminal-instances branch August 6, 2026 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant