Took a while to figure out exactly what to do here. But the task itself is simple.
The Ultimaker software apparently doesn't accept special characters here. The regex here is exactly the inverse of the regex that they use to accept job names.
Done as a 5 minute fix.
One of the reasons this bug (see parent of this commit ... or the issue nr if you have internal access) was so vague is that A. the user was insufficiently prompted, and B. no one could find anything in our logs.
CURA-8004
Since we use that to detect when the mesh is already uploaded, and thus can be reprinted, this could cause problems, since, while we do properly set it to None when an error is returned, if the request never returns to us, or if a reprint is started while the mesh is still uploading, the print-job cache could be set while the mesh wasn't actually there yet. Which could in theory have maybe caused the problems we see.
CURA-8004
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.
There could be other methods of connecting than the network connectivity of the UM3NetworkPrinting plug-in. For instance, perhaps other network connection plug-ins can provide information in this monitor stage. Or the user might want to use a USB cable.
I'm explicitly quite vague about how it should be connected because this label should work for all types of connections except UM3NetworkPrinting.
Fixes#9444.
- Remove donkey: We where showing our donkey due to an unfortunate abbreviation/truncation of 'Colorblind Assist'. Now that should already not show in for a default install, which was fixed in the previous commit, but also just give the box some more space.
- Revert most of the rest of the preferences/general page back to the old controls (except for the combo-boxes, which needed to be upgraded in order to work on MacOS 11), pending a _proper_ redesign to the newer style of this page.
CURA-8161
The signal `setActiveFocusToNextSetting` has an argument which wasn't being passed in the
`onSetActiveFocusToNextSetting()` function, which was causing the broken behavior.
CURA-8166
Theme and Language (in the interface) would stay on 'Colorblind Assist' and empty respectively, even if the actual theme (and obvioulsy the language) where different.
CURA-8161
These initial layer speeds were only applied to the model (not the raft).
Number of Slower Layers indicates how many layers the initial layer speed should apply to. So if that is 0, the initial layer speed doesn't apply to anything any more, and the setting should be hidden because it has no effect on the print.
Found by Markouustalu in #4439.