project-switch v0.22
A configurable webserver port, and unfreezing the webview
The webserver port was a constant, which stopped being fine the moment I wanted two Windows accounts on the same machine each running their own. Under WSL mirrored networking a port bound inside one account’s WSL is visible machine-wide, so the second one just collides. There’s now a webserver.port config key, threaded through the stop check, the running check and the “Open in browser” URL. It’s deliberately not clever: the command is what actually binds the port, so you have to set both — point the command at the port with assist sessions web --no-open --port 3101 and set port: 3101 to match. Anything smarter would mean parsing someone else’s command line.
The other fix was a webview window that would go “Not Responding” whenever you clicked an external link. The handler was calling out to the browser synchronously on the event loop thread, so a cold browser start froze the message pump for as long as the launch took. Now the launch happens on its own thread and reports failure back through a new ShowToast user event, which keeps the toast rendering on the event loop where it belongs. I also added -NoProfile to the PowerShell invocations used to open URLs — no reason to pay for profile loading on every link click.