Skip to content

T-727P-desktop-capabilities-limited-to-main-window-across-products

State: planning/draft · Impact: medium · Complexity: small

dialog:default, notification:default and deep-link:default are granted only to window label main in every determined product’s Tauri capabilities except polish and workbench. Any product that opens a focused vault window or a detached surface window (Settings) inherits app-frame’s directory picker, notifications and deep-link boot plugin, which then fail or reject in every window but main.

Confirmed by grepping every solutions/determined/products/*/src-tauri/capabilities/default.json for its windows array: 21 products still carry "windows": ["main"]. polish and workbench already carry "windows": ["main", "focus-*", "surface-*"], and agent-pants is being fixed to the same shape (survey rows AP-99, AP-100, AP-101).

LocationRole today
solutions/determined/products/agent-pants/src-tauri/capabilities/default.jsonThe model shape once fixed: "windows": ["main", "focus-*", "surface-*"], permissions core:default, deep-link:default, notification:default, dialog:default
solutions/determined/products/polish/src-tauri/capabilities/default.json, .../workbench/.../default.jsonAlready carry the three-window array
solutions/determined/products/{agenda,agent-chat,backup,blank,calendar,connector,digest,fitness,flows,graph,mail,media,notes,ocr,photos,scheduler,search,sites,stats,todo,triage}/src-tauri/capabilities/default.jsonEach still carries "windows": ["main"] only
packages/ts/app-frame/app/plugins/deep-link.client.tsRuns its getCurrent() call unconditionally in every window, main or not

Every determined product’s default.json grants dialog:default/notification:default/deep-link:default on ["main", "focus-*", "surface-*"], matching polish, workbench, and the fixed agent-pants, so a focused or surface window in any product gets the same picker, notification and deep-link behavior as main.

  1. Confirm each of the 21 listed products actually opens focus-/surface- windows through app-frame’s shared window composables (some may be single-window products where this is moot).
  2. For every product that does, widen its default.json windows array to ["main", "focus-*", "surface-*"], matching agent-pants’s shape.
  3. Check whether scripts/sync-tauri-capabilities.ts (which already keeps shell-windows.json in sync) can generate or lint this array too, so a new product does not have to remember it by hand.
AreaNote
solutions/determined/products/agenda/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/agent-chat/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/backup/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/blank/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/calendar/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/connector/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/digest/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/fitness/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/flows/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/graph/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/mail/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/media/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/notes/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/ocr/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/photos/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/scheduler/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/search/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/sites/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/stats/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/todo/src-tauri/capabilities/default.jsonWiden windows
solutions/determined/products/triage/src-tauri/capabilities/default.jsonWiden windows
  • AC-1: Every product under solutions/determined/products/* that opens a focus-* or surface-* window grants dialog:default, notification:default and deep-link:default on that window, not just main.
  • AC-2: A grep of every default.json’s windows array shows the same three-entry shape wherever the product uses focus/surface windows.
  • AC-3: A product with genuinely no focus-*/surface-* windows is left as ["main"] and noted as such, rather than widened by rote.
  • shell-windows.json, which already grants window-management permissions on all three labels per product.
  • Deciding whether every listed product should gain focus/surface windows at all — this task only aligns capabilities where that window type already exists.
  • none

Found by the agent-pants bug survey, N-5LD4-bug-sweep-2026-09-12-agent-pants (rows AP-99, AP-100, AP-101), generalized to every determined product after cluster J’s fix to agent-pants’s own capabilities file.


← Back to Tasks