Skip to content

Improve workspace workflows, Windows upgrades, and MPRIS reliability - #313

Merged
pcarrier merged 5 commits into
mainfrom
pc/share-status-popover
Aug 21, 2026
Merged

pcarrier merged 5 commits into
mainfrom
pc/share-status-popover

Conversation

@pcarrier

@pcarrier pcarrier commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR contains five logical commits:

  1. Windows self-upgrade: fix the PowerShell installer and CLI handoff used by self-upgrade.
  2. Muster workflows: list active external stacks, group terminal previews by stack, and remove a needless resolver borrow.
  3. Workspace UI: make embedded connection status actionable, align attention and active-pane borders, and keep Git log ranges transient per UI session.
  4. Server test organization: keep Unix IPC path tests after the implementation they cover.
  5. MPRIS reliability: always accept a new subscription after unsubscribe and retry still-owned players after bounded D-Bus failures.

Screenshots

Connected

Connected status popover

Connecting / retry

Connecting status popover

Mobile

Mobile status popover

Test plan

  • pnpm --dir js/ui typecheck
  • pnpm --dir js/ui test (63 files, 482 tests)
  • cargo test --manifest-path extensions/muster/Cargo.toml (84 tests)
  • cargo test -p blit-desktop mpris (14 tests)
  • cargo test -p blit-server mpris (4 tests)
  • cargo test -p blit-server path_tests (2 tests)
  • cargo clippy -p blit-desktop -p blit-server --tests -- -D warnings

@indent

indent Bot commented Aug 20, 2026

Copy link
Copy Markdown
PR Summary

Makes the StatusBar connection-status chip actionable inside embedded shells (e.g. blit.sh/s shares), where it was previously a disabled, non-clickable set of status dots. App shells keep opening the Remotes dialog unchanged.

  • Adds a ConnectionStatusPopover that lists each connection with its state (connecting/authenticating/connected/error/disconnected/closed), error text, and retry count.
  • Offers a per-connection action: "Manage server" when connected (opens the manage tile), "Reconnect" otherwise.
  • Wires new onManageConnection/onReconnectConnection StatusBar props in Workspace, capability-gated so embedded shells get the popover and app shells keep onRemotes.
  • Extends the existing outside-click and Escape handlers to also dismiss the new popover.
  • Adds localized statusbar.connectionStatus and statusbar.manageServer in all six locales.

Issues

All clear! No issues remaining. 🎉

2 issues already resolved
  • In the new connection-status popover, the "connected" label uses the English-only remotes.status.connected key while the other states use the fully-localized status.* keys, so a non-English user sees a mixed-language popover (e.g. a localized "connecting" but an English "Connected"). (fixed by commit 04d600e)
  • The force-push dropped the earlier localization fix (commit 04d600e): connectionStatusText again returns the English-only remotes.status.connected for the connected state while other states use localized status.* keys, so non-English users get a mixed-language popover again. The status.connected key and connectionStatusLabel helper are gone from the branch. (fixed by commit 9773d98)

View session

@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown

Coverage

Crate Lines Functions Regions
alacritty-driver 75.7% (934/1234) 78.7% (74/94) 79.0% (1521/1926)
browser 0.0% (0/825) 0.0% (0/69) 0.0% (0/1404)
cli 40.8% (6227/15248) 46.8% (619/1324) 41.7% (9702/23283)
compositor 35.1% (6046/17209) 49.9% (503/1009) 34.9% (8312/23786)
desktop 78.7% (4409/5605) 71.9% (388/540) 75.4% (6119/8120)
fonts 85.3% (756/886) 89.9% (71/79) 86.4% (1485/1719)
fssync 92.5% (5516/5961) 94.4% (501/531) 92.7% (10181/10981)
gateway 35.1% (698/1990) 40.6% (69/170) 32.1% (1059/3303)
git 87.7% (4646/5295) 90.5% (379/419) 87.6% (7414/8463)
guest 82.9% (2342/2826) 80.7% (264/327) 81.5% (3905/4792)
lsp 77.2% (2688/3483) 79.4% (262/330) 74.9% (4210/5619)
proxy 19.2% (172/898) 20.5% (26/127) 21.0% (293/1392)
remote 92.0% (17592/19123) 94.8% (1235/1303) 89.5% (28534/31876)
sd-notify 73.9% (68/92) 100.0% (6/6) 83.2% (109/131)
server 57.7% (33482/58059) 65.0% (2888/4442) 59.1% (50858/86126)
ssh 32.2% (165/512) 48.2% (27/56) 31.4% (261/830)
upsidedown 31.4% (391/1247) 27.8% (55/198) 34.8% (797/2287)
webrtc-forwarder 8.5% (238/2805) 10.7% (22/205) 6.3% (289/4595)
webserver 65.1% (1288/1978) 67.6% (177/262) 67.2% (2159/3214)
Total 60.3% (87658/145276) 65.8% (7566/11491) 61.3% (137208/223847)

Comment thread js/ui/src/StatusBar.tsx Outdated
@blacksmith-sh

blacksmith-sh Bot commented Aug 21, 2026

Copy link
Copy Markdown

Found 19 test failures on Blacksmith runners:

Failures

Test View Logs
[chromium] › tests/
font-size-sync.spec.ts:12:5 › font size stays local while previewing and reaches peers
on Apply
View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:200:5 › a tap while the keyboard failed to rise retries instead
of hiding
View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:256:5 › the switcher stays in view when the keyboard pans the v
isual viewport
View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:293:5 › key-line taps cancel the touch so the keyboard stays up
View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:362:5 › the icon's keyboard survives focus landing on a surface
canvas
View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:455:5 › iOS hops focus through a host when the target already h
olds it
View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:61:5 › keyboard rises only from the toggle and the key line tra
cks it
View Logs
[chromium] › tests/
pane-tools.spec.ts:116:7 › Pane multitool on a main-view terminal › clicking relocates
the toolbar and reverses it on the left
View Logs
[chromium] › tests/
pane-touch-drag.spec.ts:128:7 › Grip drag with a finger › a pen is left to the native p
ath
View Logs
[chromium] › tests/
pane-touch-drag.spec.ts:179:7 › Grip drag with a finger › dragging within a quarter pre
views and relocates the toolbar
View Logs

...and 9 more test failures. View all on Blacksmith

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@pcarrier
pcarrier force-pushed the pc/share-status-popover branch from 04d600e to 3182204 Compare August 21, 2026 00:10
@pcarrier pcarrier changed the title Make embedded connection status actionable Improve workspace workflows and MPRIS reliability Aug 21, 2026
Comment thread js/ui/src/StatusBar.tsx Outdated
@pcarrier pcarrier changed the title Improve workspace workflows and MPRIS reliability Improve workspace workflows, Windows upgrades, and MPRIS reliability Aug 21, 2026
@pcarrier
pcarrier force-pushed the pc/share-status-popover branch from 3182204 to a0ef361 Compare August 21, 2026 00:29
@pcarrier
pcarrier merged commit 15c6f4b into main Aug 21, 2026
8 of 9 checks passed
@pcarrier
pcarrier deleted the pc/share-status-popover branch August 21, 2026 00:36
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