
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
Cura
Ultimaker Cura is a state-of-the-art slicer application to prepare your 3D models for printing with a 3D printer. With hundreds of settings and hundreds of community-managed print profiles, Ultimaker Cura is sure to lead your next project to a success.
Logging Issues
For crashes and similar issues, please attach the following information:
- (On Windows) The log as produced by dxdiag (start -> run -> dxdiag -> save output)
- The Cura GUI log file, located at
%APPDATA%\cura\<Cura version>\cura.log
(Windows), or usuallyC:\Users\\<your username>\AppData\Roaming\cura\<Cura version>\cura.log
$USER/Library/Application Support/cura/<Cura version>/cura.log
(OSX)$USER/.local/share/cura/<Cura version>/cura.log
(Ubuntu/Linux)
If the Cura user interface still starts, you can also reach this directory from the application menu in Help -> Show settings folder
For additional support, you could also ask in the #cura channel on FreeNode IRC. For help with development, there is also the #cura-dev channel.
Dependencies
- Uranium Cura is built on top of the Uranium framework.
- CuraEngine This will be needed at runtime to perform the actual slicing.
- fdm_materials Required to load a printer that has swappable material profiles.
- PySerial Only required for USB printing support.
- python-zeroconf Only required to detect mDNS-enabled printers.
Build scripts
Please check out cura-build for detailed building instructions.
Running from Source
Please check our Wiki page for details about running Cura from source.
Plugins
Please check our Wiki page for details about creating and using plugins.
Supported printers
Please check our Wiki page for guidelines about adding support for new machines.
Configuring Cura
Please check out Wiki page about configuration options for developers.
Translating Cura
Please check out Wiki page about how to translate Cura into other languages.
License
Cura is released under the terms of the LGPLv3 or higher. A copy of this license should be included with the software.