Skip to content

plan(tray-keep-alive): land the tray code that missed #1714 - #1800

Merged
github-actions[bot] merged 3 commits into
mainfrom
plan/tray-keep-alive
Nov 11, 2026
Merged

github-actions[bot] merged 3 commits into
mainfrom
plan/tray-keep-alive

Conversation

@JSdotNet

Copy link
Copy Markdown
Owner

Summary

This lands the tray keep-alive code on main. #1714 merged plan/tray-keep-alive into main at 16:05 on 10 Nov. #1712 merged into the plan branch afterwards, at 21:26, so its code never reached main. v0.1.143 and v0.1.144 therefore carry only the ADR 0043 amendment (#1709).

flowchart LR
  P1709["#1709 ADR amendment"] --> Plan["plan/tray-keep-alive"]
  Plan -->|"#1714, 16:05"| Main["main → v0.1.143, v0.1.144"]
  P1712["#1712 tray code, 21:26"] --> Plan
  Plan -.->|"this PR"| Main
Loading

What #1712 adds: closing the main window hides it to the notification area, and the process and MCP listener keep running. The tray icon has Open Backlog and Quit. A plain second launch is redirected to the running instance. On the MCP server settings page there are two switches, Keep running in the tray when closed (default on) and Start Backlog when I sign in (MSIX StartupTask, default off). #1712's description has the full breakdown and the hand-validation checklist.

Evidence

Merge Danger

  • Two-way door. This is a behaviour change to the desktop head only. Reverting the merge brings back close-quits. Settings stay compatible: the tray row is written only when a value differs from its default.
  • Blast radius. Once released, every desktop install hides to the tray on close. The mobile head, the web harness and the sync service are not touched.

🤖 Generated with Claude Code

JSdotNet and others added 3 commits November 10, 2026 02:29
…closes

Implements amended local ADR 0043 §5. Closing the main window hides it to a
notification-area icon, so the process and its MCP listener keep answering.

- MainWindowClosePolicy decides Hide or Quit.
- ShellWindows handles AppWindow.Closing: when the policy says Hide, it
  cancels the close, flushes and hides. ActivateMainWindow shows the window
  first.
- TrayIcon is hand-written Shell_NotifyIcon interop with an Open Backlog /
  Quit menu, double-click and Enter, a re-add on TaskbarCreated, and removal
  on exit.
- A plain second launch is redirected to the running instance. A start by
  the sign-in startup task opens to the tray.
- The first hide shows a one-time toast. Toast presses go through
  ActivateMainWindow.
- WorkspaceSettingsStore gains KeepRunningInTray and TrayHintShown.
- The MCP server settings page gains "Keep running in the tray when closed"
  and "Start Backlog when I sign in", through IStartupRegistration, which
  the MSIX StartupTask backs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…4 embed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 10027f6)
…4b92-8d53-72cdfe58850d

feat(desktop): keep the app running in the tray when the main window closes
@github-actions
github-actions Bot enabled auto-merge November 11, 2026 22:28
@github-actions
github-actions Bot merged commit f66e65f into main Nov 11, 2026
13 checks passed
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