Skip to content

refactor: drop the hidden-window snapshot compat path (merge on/after 10-30) - #457

Draft
arzafran wants to merge 1 commit into
mainfrom
refactor/drop-hidden-window-compat
Draft

arzafran wants to merge 1 commit into
mainfrom
refactor/drop-hidden-window-compat

Conversation

@arzafran

Copy link
Copy Markdown
Member

What this does

Removes code that handled session snapshots from builds released before 2026-09-30, which marked windows you had closed as hidden. Current builds never write that flag. After this lands, if someone upgrades straight from one of those old builds, a window they had closed comes back as a normal window instead of being skipped.

Do not merge before 2026-10-30. That date is the end of the upgrade window for builds that still write the flag.

Summary

  • SessionWindowSnapshot loses isHidden / isHiddenWindow. windowsToRestore no longer filters, and hiddenWindows(from:) is removed.
  • AppDelegate loses endShellsOfHiddenWindows and startupEndedHiddenSessionIds. The orphan reconciler's known-session set now starts empty.
  • testWindowsToRestoreSkipsHiddenWindowsAndOlderSnapshotsStayVisible is deleted. Every assertion in it checked the removed field.
  • Old snapshots still decode. The type uses synthesized Codable and a plain JSONDecoder, which ignores the unknown isHidden key.
  • The only snapshot writer (AppDelegate+SessionSnapshotPersistence.swift:203) never sets the field. Its last writer was removed in 85b2c3c.

Test Plan

  • build-for-testing (Debug) succeeds locally.
  • python3 scripts/check-structural-budgets.py passes.
  • CI unit test shards and socket tests pass.

Builds up to 2026-09-30 flagged closed windows isHidden in the session
snapshot. Nothing writes the field any more, so the restore-time filter,
the shell hang-up for those windows and their test go.

This branch has not been deployed

No deployments
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