SIGN IN SIGN UP

fix(settings): record the persisted shell before the fallible refresh

Second half of the same coupling, found in Codex review.

`persistTerminalShell` writes the row first, then re-fetches the shell
options to refresh their `exists` flags — and only updated
`storedDefaultShell` after that refresh returned. A failure there (the
options endpoint is a separate backend call) left the remembered shell one
revision behind the persisted one while the switch went live again, so the
next color toggle faithfully resent the superseded value and undid a save
the user had watched succeed.

The save response is the persisted truth the moment it returns, so it is
recorded there; everything after it in the block is presentation and can
fail harmlessly.
X
xintaofei committed
52e30cfac2de9941b4244bd66f9a90e75ca612da
Parent: 883f196