Restore the focused workspace after quitting (#58392)

On quit, the handler activates every workspace in each window to surface
save prompts. Activating re-serializes the multi-workspace state, so the
persisted active_workspace_id ended up pointing at whichever workspace
was iterated last rather than the one the user had focused. On the next
launch the wrong (or empty) workspace was restored as active, even
though all projects still appeared in Open Recent.

Re-activate the originally-focused workspace after the close-prompt loop
(and on the cancel-quit path) so it is the one serialized as active.
Also harden read_serialized_multi_workspaces to prefer a workspace with
paths over a scratch/empty one when the persisted active workspace can't
be matched.

Release Notes:

- Fixed a workspace restoration issue where zed would restore a window
with none of its projects opened by default
8b5db3582cLukas Wirth committed on 6/5/2026, 10:44:39 AM· committed by GitHubparent28bd200
2 files changedLine totals unavailable