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
2 files changedLine totals unavailable