7710 Commits

Author SHA1 Message Date
Remco Burema
8be1c29f0a
Merge pull request #11036 from Ultimaker/CURA-8736_revert_graphics_buffer
Revert graphics buffer update
2021-12-09 08:50:26 +01:00
Ghostkeeper
9674c54efb
Better type checking and handling of optionals
Adds type checking here and there to catch such errors in the future.
This makes it handle the optional fields of this model better.

Contributes to issue CURA-8730.
2021-12-08 17:36:09 +01:00
Ghostkeeper
41ebd593c5
Revert "Merge branch 'bremco-graphics_buffer_update'"
This reverts commit 5e60cc6208c16d966505e7a97d9bbbb0644d2716, reversing
changes made to c9feace0fbe02beb2089ec0af7be35127d7420f7.
2021-12-08 12:02:49 +01:00
Jelle Spijker
f6966c25fb
Some final tweaks and added missing documentation
Contributes to: CURA-8587
2021-12-07 09:48:48 +01:00
Ghostkeeper
e525770332
Cast result to list after _updateLocalPackages
Because the _updateLocalPackages function guarantees it to be a list now, not None any more.

Contributes to issue CURA-8587.
2021-12-06 17:14:02 +01:00
Ghostkeeper
cf8ff903da
Merge branch 'CURA-8670_fix_error_message_failed_sync' 2021-12-06 13:19:27 +01:00
Jaime van Kessel
a64aa6ef2d
Merge pull request #10989 from Ultimaker/CURA-8671_dont_send_materials_to_um2c
[CURA-8671] Don't send materials to printers that can't receive them
2021-12-06 09:48:18 +01:00
Jaime van Kessel
8f92f049d1 Emit signal when property changed
The signals weren't being emitted when the property was set.

CURA-8671
2021-12-06 09:43:53 +01:00
Jelle Spijker
a51b29cdf6
Fixed double items in getAllLocalPackages
Contributes to: CURA-8587
2021-12-05 16:28:21 +01:00
Jelle Spijker
305fb4ab09
renamed locally_installed property
Contributes to: CURA-8587
2021-12-05 16:23:23 +01:00
Jelle Spijker
09709ede8b
Fix duplicate packages in get AlllocalPackages
The helper class is needed because dict's aren't hashable
which complicates the `in` check.

Contributes to: CURA-8587
2021-12-05 15:11:35 +01:00
Jelle Spijker
8400459e21
Use Python syntax to check if item is in collection
Als removed the check on the first loop, because we know for certain these
will already be unique values.

Contributes to: CURA-8587
2021-12-03 17:41:29 +01:00
casper
4c570c87e9 Make sure recently installed packages only appear once in package list
Some packages might be added to both `getPackagesToInstall` and
`getAllInstalledPackagesInfo`

cura 8587
2021-12-03 17:19:18 +01:00
Jaime van Kessel
f999d990e0 Fix error message after a failed sync.
This fxes the issue where it would still show an error message if you
first have a sync fail and then have one that succeeds

CURA-8670
2021-12-03 14:19:59 +01:00
Jelle Spijker
00acfe9d72
Added uninstall functionality
Get it in a sharable state

Contributes to: CURA-8587
2021-12-03 13:27:30 +01:00
Jelle Spijker
3b3d986058
Groundwork for installing/updating packages
Contributes to: CURA-8587
2021-12-03 13:27:26 +01:00
casper
7e1247b171
Directly use bindings in banner pages
CURA-8564
2021-12-03 13:26:16 +01:00
casper
748101ce69
Remove banners when clicking close button 2021-12-03 13:26:06 +01:00
Jelle Spijker
02e2e0a1c6
Filter already installed packages from the install listviews
Contributes to: CURA-8587
2021-12-03 13:25:46 +01:00
Jelle Spijker
66e52294b5
Get the locally installed packages
Contributes to: CURA-8587
2021-12-03 13:25:45 +01:00
Ghostkeeper
0477ba44b2
Encode capabilities as comma-separated list
Previously it was encoded as a stringified Python list of strings, which is much harder to parse.
This would go wrong if any of these capabilities have a comma in them, but I think that would be bad practice for keywords like this anyway.

Contributes to issue CURA-8671.
2021-12-03 13:25:41 +01:00
Ghostkeeper
b76df21b4b
Filter printer list by capabilities
And an example of such usage: In the material sync via cloud we only want to sync with printers that can receive those materials.

We might want to add a message for the user to also make sure the firmware is up to date. Because if the firmware is not up to date now it will show no printers and instruct the user how to connect the printer to the cloud.

Contributes to issue CURA-8671.
2021-12-02 17:55:53 +01:00
Jaime van Kessel
569be2c791 Merge branch 'master' of github.com:Ultimaker/Cura 2021-12-02 15:08:09 +01:00
Jaime van Kessel
064a845f71 Ensure that opengl context is available when creating a snapshot
CURA-8723
2021-12-02 15:06:54 +01:00
Vandresc
748e698b57
Merge pull request #10969 from Ultimaker/CURA-8666_dont_restore_backup_plugins
[CURA-8666] Don't restore files ignored with current backup policy.
2021-12-02 14:37:00 +01:00
Remco Burema
1253b41537
Only perform materials-sync-job for capable printers.
part of CURA-8671
2021-12-02 12:22:55 +01:00
Jaime van Kessel
83b56726ba CHange _getBuiltinWelcomePagePath to be static
SHould have been static, so boyscouting it now

CURA-8696
2021-12-01 10:33:05 +01:00
Jaime van Kessel
22fcdf5c7b Change whatsnew to whats_new
They are seperate words, so should have an _ in between

CURA-8696
2021-12-01 10:30:52 +01:00
Jaime van Kessel
051c3ee2e2 Fix up documentation of WelcomePageModel
Some more boyscouting

CURA-8696
2021-12-01 10:29:31 +01:00
Jaime van Kessel
6bce9453e4 Fix warnings in newpages model
Boyscouting. These somehow snuck through code review

CURA-8696
2021-12-01 10:21:07 +01:00
Jaime van Kessel
a057cbe481 Minor codestyle cleanup
Boyscouting

CURA-8696
2021-12-01 10:18:04 +01:00
Remco Burema
bb42fa0527
Don't restore files ignored with current backup policy.
Restoring plugins will casue a headache when (they are large and) the central storage was removed in the mean time. Since it's current policy to ignore plugins _anyway_ when backing up, the simple solution is to also just don't restore them, even if they where present to begin with. Of course this is also applied to other to-be-ignored files and folder types.

should 'fix' CURA-8666
2021-11-30 17:34:49 +01:00
Ghostkeeper
5da63fda26
Also catch BlockingIOError when getting a keyring attribute
This occurs when there's a timeout, on some systems, when asking for the password to the keyring. We'll interpret a timeout as a refusal to enter a password.

Fixes Sentry issue CURA-332.
2021-11-30 13:27:32 +01:00
Jelle Spijker
8427555d6a
Merge pull request #10901 from Ultimaker/CURA-8539_oauth_via_httprequestmanager
OAuth via HttpRequestManager
2021-11-23 13:59:45 +01:00
Jelle Spijker
36e28a245c
Fixed typing issues
Contributes to: CURA-8539
2021-11-23 13:56:04 +01:00
Jelle Spijker
0a43366ffc
Fixed some styling and typing issues
Some boyscouting.
Contributes to: CURA-8539
2021-11-23 11:10:22 +01:00
Jelle Spijker
70504f1b04
Modernize typing usage
Some boyscouting.
2021-11-23 11:10:22 +01:00
Ghostkeeper
3f92b46ac8
Don't restart refresh token while it's already processing
If two requests to the API occur at the same time, they will both see at the same time that they need an access token, and if it is expired they will both see that it needs refreshing. The server then sees two refreshes, both with the same refresh token. This is not allowed. The second one then gets a failure to refresh the token, which causes the user to log out.
Instead, we'll stop one of the refresh requests. They were fire-and-forget anyway, so it's not needed to actually continue the request.

Contributes to issue CURA-8539.
2021-11-22 18:52:43 +01:00
Ghostkeeper
1cdeb7d56b
Typing: When the user profile changes, it may also become None
This happens when logging out.

Contributes to issue CURA-8539.
2021-11-22 16:30:03 +01:00
Ghostkeeper
0196fd54ea
Add a few missing types
The return type missing caused the type checker to think it returned Any, which is clearly not true. And the type missing from _user_profile caused it to think it always had to be None, which is nonsense in any application.

Contributes to issue CURA-8539.
2021-11-22 16:24:22 +01:00
Ghostkeeper
1ee9f73075
Only call success_callback if it's not None
It could also be called as a fire-and-forget update thing.

Contributes to issue CURA-8539.
2021-11-22 16:20:37 +01:00
Ghostkeeper
595a6580f5
Use error callback and with correct number of parameters
It gives two parameters, additionally an error code. However our callback wrapper gets the error code from the reply itself so it doesn't need it.

Contributes to issue CURA-8539.
2021-11-22 16:17:30 +01:00
Ghostkeeper
8ea8cc752f
Also call processing functions for error callbacks
Otherwise the appropriate callbacks might not get called.

Contributes to issue CURA-8539.
2021-11-22 14:44:52 +01:00
Ghostkeeper
937d48a4e8
Add missing failed_callback
If it fails to check the token, respond through the callback with None as well.

Contributes to issue CURA-8539.
2021-11-22 13:24:06 +01:00
Ghostkeeper
c36863da56
Only call failed_callback if provided
Otherwise we'd crash because NoneType can't be called.

Contributes to issue CURA-8539.
2021-11-22 11:59:23 +01:00
Ghostkeeper
30d19844f2
Always callback if there is a callback, even if no auth data
Because not having auth data is a reason to return no profile too. Otherwise the other side might wait for a response for a long time.

Contributes to issue CURA-8539.
2021-11-22 10:45:01 +01:00
Ghostkeeper
1636cca601
Add missing return
We're calling back that there is no auth data, so we should stop here and not try to obtain a user profile.

Contributes to issue CURA-8539.
2021-11-22 10:34:39 +01:00
Ghostkeeper
ffb891fb69
Fix call to failed_callback
It provides 2 arguments (reply and error) which we both ignore and proceed to call failed_callback. And failed_callback may also be None in which case we don't call anything.

Contributes to issue CURA-8539.
2021-11-19 17:09:33 +01:00
Ghostkeeper
9895015235
Call getAccessTokenUsingRefreshToken asynchronously
Getting into nested inline functions into inline functions here. Let's see what the reviewer thinks of all this!

Contributes to issue CURA-8539.
2021-11-19 17:04:37 +01:00
Ghostkeeper
7091c5f3aa
Make getAuthenticationTokenUsingXYZ asynchronous
As a result, the local webserver now needs to synchronise that with a lock. Otherwise the do_GET function would no longer block, and wouldn't properly be able to return the correct redirect URL.

Contributes to issue CURA-8539.
2021-11-19 16:55:45 +01:00