[1.21.921] Session persist doesn't trigger if the OS shuts down for an update #21483

Closed
opened 2026-01-31 07:45:58 +00:00 by claunia · 2 comments
Owner

Originally created by @zadjii-msft on GitHub (Apr 4, 2024).

Just took the update to 26100, and all by windows and tabs did get restored! But it was all the windows and tabs that were persisted the previous time. I had since closed a bunch of tabs - all those came back. And I didn't have buffer history for any of them. (I haven't quit the terminal manually, so that kinda tracks. I've only had it closed for updates).

I hope this is repro-able outside of the update scenario 😨

Originally created by @zadjii-msft on GitHub (Apr 4, 2024). Just took the update to 26100, and all by windows and tabs did get restored! But it was all the windows and tabs that were persisted the _previous_ time. I had since closed a bunch of tabs - all those came back. And I didn't have buffer history for any of them. (I haven't quit the terminal manually, so that kinda tracks. I've only had it closed for updates). I hope this is repro-able outside of the update scenario 😨
claunia added the Needs-TriageNeeds-Tag-Fix labels 2026-01-31 07:45:58 +00:00
Author
Owner

@zadjii-msft commented on GitHub (Apr 4, 2024):

IIRC there's a watson floating around that seems to suggest that #13614 regressed after 1.18's process model changes. Maybe that has something to do with it?

@zadjii-msft commented on GitHub (Apr 4, 2024): IIRC there's a watson floating around that seems to suggest that #13614 regressed after 1.18's process model changes. Maybe that has something to do with it?
Author
Owner

@zadjii-msft commented on GitHub (Apr 4, 2024):

I'M THE MURDERER

The try_as<SettingsPaneContent>() in TerminalTav::BuildStartupActions() always returns a settings content for me lol

try_as<> into a non-projected type always returns non-null garbage

Seriously?
Try_as doesn't work for private types? LOL

oh you know what, that explains why I didn't get a buffer on update, doesn't it
cause the SUI panes merged which broke session persisting

#16914 fixes this though!

@zadjii-msft commented on GitHub (Apr 4, 2024): I'M THE MURDERER > The `try_as<SettingsPaneContent>() in TerminalTav::BuildStartupActions()` always returns a settings content for me lol > `try_as<>` into a non-projected type always returns non-null garbage > Seriously? > Try_as doesn't work for private types? LOL > oh you know what, that explains why I didn't get a buffer on update, doesn't it > cause the SUI panes merged which broke session persisting #16914 fixes this though!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#21483