fn apply_srv_window_opened(
wstore: &WaveStore,
window_id: &str,
workspace_id: &str,
) -> Result<(), Box<dyn Error>>Expand description
Phase E.5 — record/update a window’s workspace pointer on the
persisted Window row. Idempotent: inserts if missing, updates
if workspaceid differs, no-ops if identical.
Also keeps Client.windowids in sync — appends the new window_id
when the Window row is freshly created. The legacy
wcore::create_window_full path does this too; without it, the
Window row exists but GetClientData / focus-order logic can’t
see it. (codex P1 #619.)