mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-06-29 18:55:14 +08:00

When Cura is starting up, it reads the authentication data from the preferences (cura.cfg). If the auth tokens have previously been stored in the keyring, it means that their values will be null in the cura.cfg file. Therefore, on startup, Cura reads the tokens as none from the preferences and then sets the empty values in the keyring as tokens. This leads to the user being signed off every time Cura restarts on Mac. On Windows, the access token was still stored in the preferences, so on startup it was safe. The refresh token, on the other hand, had the same issue as on Mac, which means that on startup it was read as None from the cura.cfg and was stored in the keyring as an empty string. This meant that, even though on startup (on windows) the user was kept signed in, the next time Cura was attempting to refresh the access token (after 7-8 minutes), it wouldn't be able, since its refresh token was read as "" from the keyring. Also, if the user would close Cura and reopen it after 10 minutes (so after the access token had expired) then they would be signed off on windows too. This commit fixes that by making sure that if the given value of the refresh and access tokens are empty, then they will not be stored in the keyring. CURA-8178