-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Fix custom profiles added/removed each other run #8102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Problem: Custom section of profiles disappeared each other run of OrcaSlicer. Cause: Inconsistent behavior for BBL and rest of the machines. There are special case for BBL to update the profiles in next cases: - if no BBL profiles found in system dir - if no profiles update enabled at all The problem happened since BBL_BUNDLE = "Custom" which were adding Custom bundle into the system even if there no Custom bundle enabled by the user. On the next run this Custom bundle getting removed since it is not enabled by the user. This keep toggling each app run. Fix: Remove special BBL_BUNDLE treatment.
I'd like to change BBL specific identifier at OrcaSlicer/src/libslic3r/PresetBundle.cpp Lines 47 to 50 in 2ea2ab0
to something more BBL specific since having BBL_BUNDLE="Custom" were triggering all those problems at the first place. But I'm not sure about overall impact of that change. |
Can we change this logic instead so it never remove the Custom bundle? |
@Noisyfox , there are 2 options matching your suggestion:
Which one do you prefer? |
Just to clarify, do users still need to do this if we end up with the solution of not deleting (either Custom or any) the profile? |
Also if you look at OrcaSlicer/src/libslic3r/PresetBundle.cpp Lines 45 to 48 in e65b11a
it was BBL specific until we changed that, so that when user installed Orca for the first time, the default selected printer in setup wizard is MyKlipper instead of Bambu. |
I think what we could do instead is: OrcaSlicer/src/slic3r/Utils/PresetUpdater.cpp Line 1095 in 330ac87
to if ((vendor_name == PresetBundle::BBL_BUNDLE) || (enabled_vendors.find(vendor_name) != enabled_vendors.end())) { which should prevent it from been delete, and also allow this profile to be auto-updated even if user hasn't select it, and also doesn't require user to enable base printer config. We could even put this into a variable and reuse it, like: const auto is_vender_enabled = (vendor_name == PresetBundle::BBL_BUNDLE) // always update configs from resource to vendor for BBL
|| (enabled_vendors.find(vendor_name) != enabled_vendors.end());
if (enabled_config_update) {
if ( fs::exists(path_in_vendor)) {
if (is_vender_enabled) {
...
}
else {
//need to be removed because not installed
...
}
}
else if (is_vender_enabled) {
...
}
}
else if (is_vender_enabled) {
...
} |
All above is true for this particular case when custom profiles are derived from 'Custom' machines. However, in general case custom profiles may be derived from other vendors (I have 2 profiles derived from Creality Ender 3 V3 SE). In this case user should enable dependencies first to get profiles imported correctly. This may happens if user have OrcaSlicer installed on a new machine and tries to import backed up bundle with no machine selection beforehand. It should be possible to automatically find and enable dependencies for profiles being imported from a bundle, but it definitely goes beyond this change. As for this PR, it could be solved by changing BBL_BUNDLE value from 'Custom' back to 'BBL' with no logic changes at all. I just don't feel safe reverting it back on my own.
Looks like it is better to revert BBL_* identifiers back to their original values and modify default values for initial setup dialog instead. |
This won't make things better, but rather make the disappeared profiles from custom to bambu, due to how this update check code is fundamentally broken. |
Description
Addresses #8094
Problem:
Custom section of profiles disappeared each other run of OrcaSlicer.
Cause:
Inconsistent behavior for BBL and rest of the machines.
There are special case for BBL to update the profiles in next cases:
- if no BBL profiles found in system dir
- if no profiles update enabled at all The problem happened since BBL_BUNDLE = "Custom" which were adding Custom bundle into the system even if there no Custom bundle enabled by the user. On the next run this Custom bundle getting removed since it is not enabled by the user. This keep toggling each app run.
Fix:
Remove special BBL_BUNDLE treatment.
Note:
User may need to manually enable base printer config using 'Printer Selection' dialog for their profiles in order to make custom profiles visible.