Commit graph

7047 commits

Author SHA1 Message Date
Jaime van Kessel
cb2a7e1daa
Remove plugins that weren't restored in the backup from the installed list
CURA-8269
2021-06-01 14:37:12 +02:00
Jaime van Kessel
2d572eef7f
No longer include plugins in the backup
Backups are synced with your account anyway. Backing up the plugins means that you
quickly reach the limit of the max size (250mb) that the backups allow.

CURA-8269
2021-06-01 13:34:07 +02:00
Ghostkeeper
8e12d49160
Merge branch 'master' of github.com:Ultimaker/Cura 2021-05-27 15:21:38 +02:00
Jaime van Kessel
6ec61a6a11
Merge branch 'fix_authdata_infinite_loop' of https://github.com/fieldOfView/Cura 2021-05-25 16:01:25 +02:00
fieldOfView
be06108f36 Fix an crash when starting Cura without a network connection 2021-05-24 18:43:05 +02:00
Ghostkeeper
7eba38b286
Check if child bounding box is None before checking if it's degenerate.
Contributes to issue CURA-7873.
2021-05-21 13:53:55 +02:00
Ghostkeeper
48d1715c2d
Also remove other transformations when getting the center position
The other transformations, in particular rotation, were also influencing the merge. The transformations were not removed when calculating the center position, causing the center position of a mesh to be calculating differently. When the meshes were actually transformed/moved, all of the transformations were removed but this gave the model a different center position. The different center position wasn't properly being compensated for using the previously calculated center position.

Fixes CURA-7873.
2021-05-21 13:45:51 +02:00
Ghostkeeper
6eeb135672
Fix calculating AABBs if group nodes are involved
The position of the group node should in theory never be included.
We'll return that position only if there is no mesh data and all children have no AABB either. In that case we'll return a degenerate AABB so that handling code has something to work with. But then also make sure that those degenerate AABBs are ignored if we want to get the AABB of a parent node.

Contributes to issue CURA-7873.
2021-05-21 13:30:53 +02:00
Ghostkeeper
d4fa1cee45
Fix copying MIME type if scene nodes are copied
We're not doing this in the nicest way possible...

Contributes to issue CURA-8232.
2021-05-18 11:07:02 +02:00
Kostas Karmas
2645dc880e Update setting version to 17 for 4.10
CURA-8212
2021-05-10 17:39:33 +02:00
Jaime van Kessel
cabf821736
Print how much time it took to autosave dirty profiles
This should provide some more info for #9594
2021-05-06 10:54:38 +02:00
Ghostkeeper
08976dcc7e
Merge branch '4.9'
Conflicts:
	resources/themes/cura-light/styles.qml -> Fixes for QML warnings in this theme file, while on Master the icons were renamed.
2021-05-04 11:58:50 +02:00
Jaime van Kessel
c800c2850c
Decrease update interval to 60 sec
It's the same as what the rest uses and it should decrease the load on our servers a lot
2021-04-30 10:51:15 +02:00
Jaime van Kessel
95652556fe
Merge branch 'fix_group_rename' of https://github.com/fieldOfView/Cura 2021-04-28 17:07:33 +02:00
Jelle Spijker
7632f66d23
Merge branch 'master' into libArachne_rebased
# Conflicts:
#	resources/texts/change_log.txt
2021-04-24 14:12:33 +02:00
Ghostkeeper
83767764db
Slightly increase spacing when arranging models
This is closer to the behaviour in Cura 4.7 and earlier. It makes it easier to pull objects apart, and to break them off from a raft.
2021-04-21 15:56:59 +02:00
fieldOfView
0ad49dd412 Allow renaming groups to something other than "Group #n" 2021-04-19 22:14:14 +02:00
Kostas Karmas
7e98fb7fb0 Fix crashing while restoring a backup file with the wrong encoding
Fixes sentry issue CURA-24R
2021-04-19 14:24:42 +02:00
Remco Burema
f22e223d72
Merge branch 'master' into libArachne_rebased 2021-04-16 18:17:04 +02:00
Kostas Karmas
07594f17a7 Fix setting empty auth tokens in the keyring on startup
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
2021-04-16 17:05:08 +02:00
Ghostkeeper
9dba4d554f
Fix segfault when arranging without any disallowed areas
So libnest2d is giving a segfault when it's being triggered without any disallowed areas. This is because we then give a single disallowed area for the border around the build plate, and give this disallowed area 0 vertices. Because libnest2d doesn't do defensive coding here, it's going to crash, taking Cura along with it. The crash is in libnest2d's function 'libnest2d::_Item<ClipperLib::Polygon>::rightmostTopVertex()'.

This segfault started happening recently in Cura. However it only happens when there are no disallowed areas. Steps to reproduce the error are:
- Use Custom FFF Printer.
- Set the Adhesion Type setting to 'None'.
- Load any two models.

I tracked the segfault down to this commit: 74ddbaab4b . That commit by itself is slightly mysterious but looks fine to me. It did give the hint that this segfault might be caused by empty polygons though. So for that reason, I figured that filtering out the empty polygons here in the arranger might fix it; and indeed it does. Passing empty polygons as fixed/disallowed areas is useless and invalid anyway. Apparently libnest2d doesn't deal well with it, but we might as well not send those polygons over then.
2021-04-14 00:32:50 +02:00
Konstantinos Karmas
bd96978d37
Merge pull request #9538 from Ultimaker/CURA-7180_frozen_mac_keyring_fix
[CURA-7180] Explicitly give keyring-backend on Mac too.
2021-04-09 17:17:36 +02:00
Konstantinos Karmas
fe2d554ec0
Change the OS_X keyring backend module to macOS
Since the OS_X has been deprecated since keyring v22.0.0 and has been replaced by the macOS.

CURA-7180
2021-04-09 17:14:32 +02:00
Remco Burema
7f6133ca94
Merge pull request #9535 from Ultimaker/CURA-8093_Check_client_scope_when_upgrading_from_4.8
CURA-8093: Check client scope when upgrading from 4.8
2021-04-09 09:48:55 +02:00
Remco Burema
1c806199a4
Explicitly give keyring backend on Mac too.
CURA-7180
2021-04-08 14:08:35 +02:00
Ghostkeeper
b3c03b8771
Merge branch 'master' into libArachne_rebased
Conflicts:
	resources/texts/change_log.txt -> 4.9 got added while we added the Arachne change log as well. I put 4.9 below the Arachne info.
2021-04-08 13:49:52 +02:00
Kostas Karmas
72080a3cca Delete the auth data on upgrade from 4.8 if the scope doesn't match
If the user account scope is outdated, delete it when upgrading from 4.8 to 4.9. This means that
the user will have to log in again, to make sure they get the correct account scope.

CURA-8093
2021-04-08 12:46:52 +02:00
Jaime van Kessel
82ffdccac2
Added type ignore since it does accept it 2021-04-07 17:15:22 +02:00
Jaime van Kessel
8cc091fd0a
Merge branch 'typing_keyattribute' of github.com:Ultimaker/Cura into fix_tests_python_upgrade 2021-04-07 15:43:03 +02:00
Jaime van Kessel
d49a90029f
Fix final set of typing issues 2021-04-07 14:03:35 +02:00
Jaime van Kessel
3432720f7c
Fix mypy issues caused by numpy upgrade 2021-04-07 11:47:52 +02:00
Jaime van Kessel
17d8751ec1
Fix incorrect typing in keyring attribute
It didn't need Type["basemodel"] but a direct base model
2021-04-07 11:39:28 +02:00
Jaime van Kessel
0d38035944
Add constructor for keyring attribute
_store_secure was used, so it should be created on construction
2021-04-07 11:30:08 +02:00
jelle Spijker
4b1087a138
Put BaseModel in quotes
Contributes to CURA-7180
2021-04-07 11:25:39 +02:00
jelle Spijker
33a812d696
Added typing fof KeyringAttributes
This should hopefully shut mypy up.

Contributes to CURA-7180
2021-04-07 11:06:06 +02:00
Ghostkeeper
08be77adad
Increment SDK version to 7.5.0
The Cura 4.9 release will have expanded functionality. If you have a plug-in that uses this functionality, marking it as using SDK 7.5.0 will notify older Cura releases that they can't use that plug-in.
2021-04-06 13:28:08 +02:00
Remco Burema
40fb430277
Merge pull request #9501 from Ultimaker/CURA-7180_keyring_none_value
Handle storing None values in keyring
2021-04-06 12:31:45 +02:00
jelle Spijker
23ba1745a4
Handle storing None values in keyring
Write an empty string as value to the keyring if None is parsed and
return a None value if an empty string was parsed from the keyring.

CURA-7180_keyring_none_value
2021-04-04 12:27:43 +02:00
jelle Spijker
72478994ec
Bumped up the Preference version to 7
reverted the SettingVersion to 16

CURA-8110_upgrader
2021-04-02 14:41:52 +02:00
jelle Spijker
77ea5e5e89
Allow setting visibilities to be upgraded
CURA-8810_version_upgrade
2021-04-01 16:15:47 +02:00
jelle Spijker
da4db51b0a
Bump setting_version to 17
CURA-8810_version_upgrade
2021-03-31 15:13:06 +02:00
Remco Burema
e1490a68df
Also need to import this.
CURA-7180
2021-03-30 21:46:19 +02:00
Remco Burema
72248d47e1
Windows workaround for keyring issue.
So there is an issue with keyring w.r.t. frozen installs (maybe also local). If you have pywin32 installed, it works fine locally. Take a note here, that a variant of this package, pywin32-ctypes, a rudimentary version of that package that works wholly within python, is already installed as its a dependency for keyring on windows. Due to an unknown reason, when running it fails to detect this, so some workaround is needed, _or_ the 'normal' pywin32 package should be installed. However, problems occurred when attempts where made to install pywin32 via cx_freeze. Then the actual workaround was encountered (https://github.com/jaraco/keyring/issues/468), which _should_ hopefully let use use the keyring on windows without needing the 'full' version of pywin32.

CURA-7180
2021-03-30 20:40:33 +02:00
Remco Burema
bde88d7875
Don't store cerain keys ever.
CURA-7180
2021-03-30 17:24:25 +02:00
Remco Burema
315898864c
Merge branch 'CURA-7180_keyring_storage' into big_merge_v49 2021-03-30 17:21:17 +02:00
Ghostkeeper
9462366158
Merge branch 'master' into libArachne_rebased 2021-03-30 16:50:56 +02:00
Remco Burema
e8defcff7c
Merge branch 'CURA-7180_keyring_storage' into big_merge_v49 2021-03-30 14:56:39 +02:00
Kostas Karmas
fb5d59db32 Fix comment
The Windows Credential Manager actually fails if the password is more than 1024 bits long.

CURA-7180
2021-03-29 17:03:09 +02:00
Kostas Karmas
dbb15b7c71 Account for exception occured when storing long tokens on Windows
The Windows Credential Manager allows for up to 256bits passwords. If a password longer than that
is attempted to be written, it will throw a BaseException.

CURA-7180
2021-03-29 16:33:59 +02:00
Jelle Spijker
c798c7b99e
Merge remote-tracking branch 'origin/master' into CURA-7813_fix_crash_globalstack 2021-03-29 10:17:31 +02:00