Fix home favorites refresh deadlocks and polish workspace form UX.
Merged
TO
3mo ago+1171+1171+0123456789012345678901234567890123456789-205-205-012345678901234567890123456789
Defer workspace-trust enforcement behind a shared kill switch, restore favorite move actions on the home menu, and tighten CmdPal form layout for suggestion pills and Open in terminal rows.
Summary by cubic
Defers workspace-trust enforcement behind a shared, JSON-backed kill switch and fixes Home favorites refresh deadlocks. Polishes the launch form with a compact, grid-based suggestion pill layout, a separator before command rows, and a non‑editable Open in terminal row; restores pinned move actions in Home.
-
New Features
- Workspace trust kill switch via
shared/workspace-trust-features.json(embedded inQuickShell.Core, synced intoQuickShell.Raycastbyscripts/sync-workspace-trust-features.js); default off. While off: imported/ingressed workspaces are trusted, trust UI/actions/badges are hidden inQuickShell.Run/QuickShell.Raycast/CmdPal, import messages omit the trust note, and repositories coerce/persist trusted rows. - Suggestion pills: 4-per-row grid; 3 rows collapsed, up to 5 rows expanded; emits only visible pills; hides while scanning; pills appear above command rows with a separator. Open in terminal renders as a non‑editable label with Remove. Companion-args labels/inputs are compact. Removed the in‑form terminal refresh control.
- Faster terminal discovery using
PathExecutableLookup(nowhere.execalls).
- Workspace trust kill switch via
-
Bug Fixes
- Home reload deadlock: same‑thread Reload queues; cross‑thread waiters are woken when refresh ends; favorite/pin updates apply reliably. Home context menu shows pinned move commands when visible; move labels standardized.
- Editor: Open in terminal no longer demotes when LaunchKind is dropped; Save with only Open in terminal works; Cancel/Discard skip merging inputs; Save errors keep the form open with a toast and return to the main form.
- Trust policy and UI honor the kill switch across
QuickShell.Core/QuickShell.Run/QuickShell.Raycast; addressed a CodeQL finding aroundPath.Combinehandling.