fix: persist auth session across app updates#3138
Merged
Conversation
…updates Add save() calls to set_onboarding_needed and set_onboarding_local functions to ensure the onboarding state is persisted to disk immediately after being set. Previously, these functions did not call save() after setting the value, which meant the state might not be persisted if the app was killed (e.g., during an update) before the store was saved elsewhere. This could cause users to see the onboarding screen after an update, making them think they were logged out. Co-Authored-By: john@hyprnote.com <john@hyprnote.com>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
✅ Deploy Preview for hyprnote-storybook ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for hyprnote ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for howto-fix-macos-audio-selection ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Co-Authored-By: john@hyprnote.com <john@hyprnote.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the issue where users are forced to log out when the desktop app is updated. The root cause is that the app process can be killed during update installation before the store is saved, causing auth session data to be lost.
Changes:
Save store before update install (
plugins/updater2/src/ext.rs): Addedstore.save()call immediately beforeupdate.install()to ensure all store data (including auth tokens) is persisted before the update process terminates the app.Persist onboarding state immediately (
apps/desktop/src-tauri/src/ext.rs): Addedsave()calls toset_onboarding_neededandset_onboarding_localfunctions to match the pattern used by other setter functions.The primary fix is #1 - when
update.install()is called, it immediately kills the app process on some platforms (especially macOS), so any pending saves would be lost. By explicitly saving the store before installation, we ensure auth tokens survive the update.Review & Testing Checklist for Human
update.install()terminates the processRecommended test plan:
Notes
Link to Devin run: https://app.devin.ai/sessions/4d33812e4f4a46db8e63e6d396e779b3
Requested by: @ComputelessComputer