Commit Graph
100 Commits
Author SHA1 Message Date
SoftFever 8168d0a4e0 fix crash when opening preference dialog 2026-03-16 00:18:39 +08:00
SoftFever 0cc4b442e3 Fix Flatpak missing locale support (#12714)
Add the localization/ directory to the Flatpak source list so
run_gettext.sh can compile .po files into .mo translations.

Replace LC_ALL=C.UTF-8 with LC_NUMERIC=C in the entrypoint script
to preserve the user's language settings while still preventing
decimal-separator parsing issues.
2026-03-15 23:32:28 +08:00
SoftFever 112bec6bd2 Fix calibration dialogs not sizes properly on linux (#12752)
Fixes https://github.com/OrcaSlicer/OrcaSlicer/issues/12737 and
confirmed in here
https://github.com/OrcaSlicer/OrcaSlicer/issues/12737#issuecomment-4050896603

Only occurs on X11. tested on mint

`v_sizer->SetSizeHints(this);` was the real fix

issue starts to appear when dialog height higher then 280px
Removed height limitation on creating dialog as solution since dialogs
already resized with its content

• also fixes clipped text on bottom
|BEFORE|AFTER|
|---|---|
|<img width="330" height="456" alt="Screenshot-20260312203213"
src="https://github.com/user-attachments/assets/c6b0e577-f1e1-4da7-ba02-808d157ebee6"
/>|<img width="342" height="443" alt="Screenshot-20260313010726"
src="https://github.com/user-attachments/assets/a78605fa-ed75-4b42-a484-a2376d1b2982"
/>|

|BEFORE|AFTER|
|---|---|
|<img width="263" height="365" alt="Screenshot-20260312204651"
src="https://github.com/user-attachments/assets/ff04692e-3fd6-4fe1-bb6e-90594599c459"
/>|<img width="261" height="393" alt="Screenshot-20260313011644"
src="https://github.com/user-attachments/assets/be01936d-753a-4b95-99cb-c16228f8706f"
/>|
2026-03-15 23:21:51 +08:00
SoftFever 1a7f5d4f98 Fix infinite loop with zero top solid infill density (#12762)
# Description

This pull request fixes the bug where Orca Slicer enters an infinite
loop when a density of zero is introduced for the top layer solid infill

# Screenshots/Recordings/Graphs

<img width="2560" height="1392" alt="image"
src="https://github.com/user-attachments/assets/5bf5c220-a398-483f-9f69-63dadbc888af"
/>

Note: For bottom solid infill, this is not a problem because the minimum
density is 10%.
2026-03-15 23:20:47 +08:00
SoftFever 13c267936a Fix non-bbl printer filament grouping by mapping all filaments/tools to group 0 (#12767)
Makes sure all non-bbl printers go through the same filament reordering
code so custom filament sequence is properly handled, while skipping the
filament grouping part by mapping all filaments to group 0.

This is the same method used by BBL printer to calculate the optimal
filament grouping so should be robust.

Fix #12449
Fix #12766
2026-03-15 23:19:47 +08:00
SoftFever 7f9ddda01d feat: swap the mmu detection to prefer the more generic moonraker database (#12764)
# Description

<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->

Happy Hare now writes mmu lane data to the moonraker db similar to AFC,
so we can normalize to the one implementation. For now, i've just
re-ordered it so that the moonraker db is checked first. I want this
because I've actually updated the happy hare data to include more data
than we had access to via the "mmu" object. For happy hare we now have
access to vendor name, which we can eventually use to further fine tune
the auto-matched filament preset.

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
_n/a_

## Tests

<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
2026-03-15 23:09:10 +08:00
SoftFever 9b9950c4c2 Disable arc fitting for Qidi processes (#12761)
# Description

Qidi printers run Klipper and we don't want arc fitting enabled for
these.

This is wrongly enabled in QidiStudio as well, likely where these
profiles originated.
2026-03-15 23:06:18 +08:00
SoftFever c16c7de908 Merge branch 'main' into disable_arc_fitting 2026-03-15 23:05:37 +08:00
SoftFever fe75c2c0fa Allow cancel during beam interlocking generation (#12759)
With certain irrational beam interlocking parameters, it will take a few
minutes to complete the interlocking generation; even worse:
cancellation doesn't work once it started.

This PR fix that by adding cancellation check inside some of the most
time consuming loops so it can be stopped ASAP.

Also cherry picked a sanity check from
https://github.com/bambulab/BambuStudio/pull/9925 by @mpaperno. Thanks!

The following test project (which was modified from the upper PR by
@mpaperno) took me more than 90s to complete with 0.1mm beam width:

[Interloack-Test2.orca.3mf.txt](https://github.com/user-attachments/files/25975637/Interloack-Test2.orca.3mf.txt)
2026-03-15 23:03:04 +08:00
SoftFever a54c00e9ee chore: translate comment for ignoring truncating casts warning (#12757)
# Description

I was just building the project and checked out the CMakeLists to see if
there are some optional features I can disable to speed up compilation
and tripped on this chinese comment.
This just translates the comment to English for consistency
2026-03-15 23:01:26 +08:00
SoftFever 458882647f Add the filament id for the box of the Generic PC (#12756)
Add the filament id for the box of the Generic PC
2026-03-15 23:00:16 +08:00
SoftFever 494601eea5 Fix wipe tower placed outside bed boundary on first slice (#12777)
# Description

The wipe tower config position (wipe_tower_x/y) could be outside the plate boundary (e.g. default y=250 on a 200mm printer). No constraint was applied at slice time, so the tower was generated out-of-bounds.

issue reported in #12731

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->

## Tests

<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->
2026-03-15 17:41:07 +08:00
SoftFever 65d4be8cea Merge branch 'main' into fix/wipe-tower-outside-boundary-on-first-slice 2026-03-15 17:40:56 +08:00
SoftFever ad0cce4c38 Fix wipe tower placed outside bed boundary on first slice
The wipe tower config position (wipe_tower_x/y) could be outside the
plate boundary (e.g. default y=250 on a 200mm printer). No constraint
was applied at slice time, so the tower was generated out-of-bounds.
2026-03-15 17:38:44 +08:00
SoftFever d28e964e04 Fix crash in DiffPresetDialog::update_tree() on preset selection change (#12765)
std::map::at() throws std::out_of_range when option.category or
"Basic information" is not present in the tab's category_icon_map,
crashing the app. Replace with a safe find()-based helper lambda
that falls back to an empty string (no icon) when the key is missing.
2026-03-14 20:47:56 +08:00
SoftFever 845baaefbb Feature/fix crash on linux when clicking assemble feature (#12739)
* fix crash on Linux when clicking Assemble gizmo

* some qol changes for dev

* Revert "some qol changes for dev"

This reverts commit ffe321370b.
2026-03-12 19:38:36 +08:00
SoftFever 322b44d84a Feature/flatpak clang llvm21 (#12727)
* Fix GIT_COMMIT_HASH not set in Flatpak builds

The env var check was gated inside the .git directory check, so
Flatpak builds (which exclude .git from the sandbox) always fell
back to "0000000". Lift the env var check to top level and inject
the commit hash into the Flatpak manifest via build-options.env.

* Switch Flatpak build to Clang/LLD via LLVM 21 SDK extension

- Add org.freedesktop.Sdk.Extension.llvm21
- Bump runtime to GNOME 49 (SDK 25.08) for llvm21 availability

* fix build errors and improving build speed for flatpak

* fxi more build errors

* Update error messages for GNOME Platform and SDK versions
2026-03-11 14:59:29 +08:00
SoftFever 2ebc0aa6c1 Fix GIT_COMMIT_HASH not set in Flatpak builds (#12725)
The env var check was gated inside the .git directory check, so
Flatpak builds (which exclude .git from the sandbox) always fell
back to "0000000". Lift the env var check to top level and inject
the commit hash into the Flatpak manifest via build-options.env.
2026-03-11 13:32:29 +08:00
SoftFever 382cf57166 QoL: Fix hotkeys blocked in Prepare view when notification is shown (#12715)
Fix hotkeys blocked in Prepare view when notification is shown

Restore SetFocus() in the GLCanvas3D mouse-entering handler so the
canvas reclaims wxWidget keyboard focus whenever the mouse enters it
(provided the main window is active). Without this, clicking a sidebar
control or a UI update triggered by slicing could leave the canvas
without focus, causing hotkeys like Tab to stop working until the user
clicked the canvas or dismissed the notification.
2026-03-10 15:57:15 +08:00
SoftFever f310bebf9a Fix an issue that on Linux the project name or model file name was not displayed in titlebar (#12706)
* optimize resize feature on Linux

* fix the black screen issue on app startup on Linux

* Fixed an issue that Filament Grouping dialog always popup on Linux

* Fix an issue that on Linux the project name or model file name was not displayed in title bar
2026-03-10 01:02:18 +08:00
SoftFever 6049c6e234 Optimize linux experience (#12705)
* optimize resize feature on Linux

* fix the black screen issue on app startup on Linux

* Fixed an issue that Filament Grouping dialog always popup on Linux
2026-03-10 00:55:09 +08:00
SoftFeverandCopilot db7507b84e Some QoL tweaks (#12700)
* 1. Calculate `FilamentTempType` based on `filament_info.json`, with a fallback to the temperature range.
2. Clean up some strings.

* Update src/slic3r/GUI/ObjColorDialog.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-09 20:52:12 +08:00
SoftFever eb6da907a9 Fix crash when slicing multi-material print with wipe tower (#12682)
The WipeTower2 code path never called construct_mesh(), leaving
wipe_tower_mesh_data as std::nullopt. GCode export then dereferenced
it unconditionally, triggering an assertion failure / crash.
2026-03-09 13:31:11 +08:00
SoftFever 4f8097f7f7 Fix three regressions in the multi-tool extruder tab system: (#12680)
1. Dirty flags not showing for extruder options:
2. Crash when switching to non-first extruder tabs:
3. Modifying one extruder's parameter affects other extruders:
2026-03-09 10:48:53 +08:00
SoftFever 0f92dec77d update profile version 2026-03-06 11:44:20 +08:00
SoftFever 624a55ec98 update CN translations 2026-03-06 11:09:43 +08:00
SoftFever 2ed249a81b flatpak changes (#12606)
* update flatpak for flathub
2026-03-05 17:35:08 +08:00
SoftFever 52a2c033d3 Remove upstreamed wxWidgets dark theme patch for Flatpak
The GNOME dark style support patch has been submitted upstream to wxWidgets, so the local Flatpak patch is no longer needed.
2026-03-05 01:13:26 +08:00
SoftFever 008cfd1f86 Linux: prefer discrete GPU on dual-GPU systems via PRIME environment variables (#12602)
* Linux: prefer discrete GPU on dual-GPU systems via PRIME environment variables

  Set DRI_PRIME=1 for AMD/nouveau PRIME setups and __NV_PRIME_RENDER_OFFLOAD/__GLX_VENDOR_LIBRARY_NAME for NVIDIA proprietary driver, only when the NVIDIA kernel module is detected. Uses replace=false to respect user overrides.

* Improves usability on Linux. No more double title bar (#12600)

* Fix double title bar on Linux by removing WM decorations for GTK

* wip

* fix

* finish

* address review comment
2026-03-04 22:48:40 +08:00
SoftFever d50b4cbf3d Improves usability on Linux. No more double title bar (#12600)
* Fix double title bar on Linux by removing WM decorations for GTK

* wip

* fix

* finish

* address review comment
2026-03-04 22:29:27 +08:00
SoftFever 90646276f8 Fix Bambu LAN printing with legacy network plugin (#12582) 2026-03-03 19:30:22 +08:00
SoftFever b7033a4c92 WIP: Parallelize macOS CI builds by splitting arm64 and x86_64 into separate jobs (#12562)
* Parallelize macOS CI builds by splitting arm64 and x86_64 into separate jobs

* fix shell errors

* Delete intermediate per-arch artifacts
2026-03-03 19:29:59 +08:00
SoftFever b908bab904 fix build errors on Linux with Clang 20 and GTK warnings (#12507)
* guard -Wno-error=enum-constexpr-conversion behind compiler flag check

* Fix: Suppress GTK critical warnings and prevent multiple URI scheme registrations in WebView
2026-03-01 18:43:15 +08:00
SoftFever a38af4d85a fix missing translations for Canvas Toolbar Menu 2026-03-01 01:15:14 +08:00
SoftFever 7cabde6ca6 update profile version 2026-03-01 00:41:54 +08:00
SoftFever 6725e657ab update locale 2026-03-01 00:36:16 +08:00
SoftFever 60a63c63eb update locale and Simplified/Tranditional Chinese translation 2026-02-28 22:00:48 +08:00
SoftFever a2528fee10 update locale 2026-02-28 01:14:05 +08:00
SoftFever 2806398e79 Skip uploading cache for PR build (#12494) 2026-02-27 13:42:19 +08:00
SoftFever 1d24470918 Feature/mac_build (#12493)
* fix deps cache miss for Mac PR build
2026-02-27 12:48:47 +08:00
SoftFever 479fbc85cd Change bed temperature type to use highest temp by default (#12486)
## Summary
- Change default bed temperature type from "By First filament" to "By Highest Temp"
- Move `bed_temperature_formula` option from develop mode to advanced mode for better accessibility
- Relocate UI control from "Basic Information - Advanced" to "Multimaterial Setup" section where it's more relevant for multi-filament printing
Using the highest temperature of all printed filaments is generally safer for bed adhesion than using the first filament's temperature, especially in multi-material prints where different filaments may require different bed temperatures.

<img width="390" height="239" alt="Screenshot 2026-02-26 at 18 44 56" src="https://github.com/user-attachments/assets/0fe9f8c7-062a-4a7a-8ab3-c52df7e74b26" />
2026-02-26 21:05:54 +08:00
SoftFever db1fe73e85 Fix wipe tower skirt alignment by computing bbx from actual first-layer polygon (#12457) 2026-02-25 12:37:05 +08:00
SoftFever e7d2bbd6a9 Fix preheat regression bugs (#12438)
Fix preheat regression bugs
revert 769fc137c7
2026-02-23 21:48:11 +08:00
SoftFever b2399ac909 update error message when plugin upgrade failed 2026-02-22 16:55:44 +08:00
SoftFever c085eb845c Fix machine envelope G-code emitting wrong limits due to broken extruder_id indexing (#12414)
print_machine_envelope() used get_extruder_id(extruder_id)*2 to index
machine limit arrays that only hold [Normal, Stealth] (2 entries).
For multi-extruder setups this went out-of-bounds, causing wrong M201/M203
values in the G-code which then override the estimator's correct limits.

Same class of bug as c6d1c11ebb but on the G-code writer side.

Changes:
- Remove unused extruder_id param from print_machine_envelope()
- Use .values.front() for M201/M203, matching M204/M205 in same function
- Change get_option_value() fallback from .back() to .front() so any
  future out-of-bounds index returns Normal mode instead of Stealth
2026-02-22 16:13:06 +08:00
SoftFever 859f401df5 Fix time estimation using wrong machine limits due to broken extruder_id indexing (#12411)
The extruder_id*2 offset in get_axis_max_feedrate/get_axis_max_acceleration
was cherry-picked from BambuStudio's per-nozzle limit system, which OrcaSlicer
never ported. Without that system the limit arrays only have 2 values
([0]=Normal, [1]=Stealth), so any extruder_id > 0 or the uninitialized
value (255) would overshoot the array and fall back to values.back(),
always returning stealth-mode limits and producing incorrect time estimates.

Revert to indexing by time mode only (matching v2.3.1 behavior) and simplify
the M201/M203 handlers to write only the two mode slots they actually use.
2026-02-22 13:08:23 +08:00
SoftFever 528e7c6780 tweak legacy library migration from rename to copy in BBLNetworkPlugin (#12400)
* tweak legacy library migration from rename to copy in BBLNetworkPlugin
2026-02-21 20:49:09 +08:00
SoftFever 1827a03d17 Fix an issue that on Windows the Bambu legacy plugin is 01.10.01.09 (#12380) 2026-02-21 00:15:48 +08:00
SoftFever 1745e8b910 Reapply "Switch to self hosted mac runner (#12024)" with proper fix (#12278)
* Reapply "Switch to self hosted mac runner (#12024)" with proper fix

This reverts commit 783f9926e3.

* use conditional logic for self-hosted runners

* improve readbility
2026-02-17 16:31:40 +08:00
SoftFever a81537f43d fix flatpak CI build cache 2026-02-16 21:07:09 +08:00
SoftFever 29325e3561 tweak: adjust max volumetric speed for PETG profiles to improve print quality (#12329)
* tweak: adjust max volumetric speed for PETG profiles to improve print quality
2026-02-16 11:56:15 +08:00
SoftFever 06cee7ffe7 bump profile version to "02.03.02.40" (#12309) 2026-02-15 14:24:36 +08:00
SoftFever 783f9926e3 Revert "Switch to self hosted mac runner (#12024)"
This reverts commit f1212be6bb.
2026-02-14 18:14:28 +08:00
SoftFever dfbdcad766 Revert "Raft, support interface fix and overhaul (#10947)"
This reverts commit 4692661631.
2026-02-13 15:22:03 +08:00
SoftFever f681f7a2c0 Update more CHS and CHT translations (#12263) 2026-02-13 14:06:28 +08:00
SoftFever e090ec0e63 Update Chinese(Traditional) translation 2026-02-13 00:32:22 +08:00
SoftFever d0f5b64428 Update Chinese (Simplified) localization for Orca Slicer 2026-02-12 16:49:06 +08:00
SoftFever 8e84d21b7f Update unsigned studio dialog with LAN/Developer mode setup instructions 2026-02-12 01:37:56 +08:00
SoftFever 55883bdb76 Revert "Improve the look of new version release notes (#12229)"
This reverts commit 38e67ff090.
2026-02-10 19:24:18 +08:00
SoftFever 9e2cf00f0c Fix Bambu Lab camera feed / Add IsShown() check (#12156) (#12173) 2026-02-06 09:21:26 +08:00
SoftFever 5d121b12ee Fix a regression where the login panel is displayed even when the plugin is disabled (#12185)
Update GUI_App to show or hide the login panel based on the "installed_networking" setting.
2026-02-06 09:18:52 +08:00
SoftFever bab3c72e4f Fix compare dialog alternate background color on windows (#10781)
**PROBLEM**
• Row colors not updating after switching dark mode and opening dialog again
• Fixes https://github.com/SoftFever/OrcaSlicer/issues/9902 and https://github.com/SoftFever/OrcaSlicer/issues/966

**IMPORTANT NOTE**
• Main source of problem: dialog not destroyed after closing

**BEFORE**
<img width="769" height="682" alt="Screenshot-20250918134833" src="https://github.com/user-attachments/assets/dd77696c-ad2d-4de7-aaab-f85dd558dbbe" />

**AFTER**
<img width="757" height="677" alt="Screenshot-20250918134857" src="https://github.com/user-attachments/assets/fd28941d-996d-410f-ab04-b13f1dd0170f" />
2026-02-05 18:04:15 +08:00
SoftFever c12912e0df Fix Setup Wizard stuck on "Loading..." on Wayland (#12159)
# Description

Fixes the Setup Wizard getting stuck on the "Loading......" screen when
running on Wayland sessions.

**Root Cause:** When OrcaSlicer runs under XWayland (Wayland sessions
with `GDK_BACKEND=x11`), WebKit2GTK's compositing mode can fail
silently, causing the Setup Wizard WebView to freeze or render blank.
The JavaScript signal from C++ (`userguide_profile_load_finish`) either
fails to execute or its rendering result never displays, leaving users
permanently stuck.

**Solution:**
1. Set `WEBKIT_DISABLE_COMPOSITING_MODE=1` environment variable to force
software rendering for WebKit2GTK - this is the same fix used by
BambuStudio
2. Enable the 20-second timeout fallback in `load.js` so the wizard
proceeds automatically even if the C++ → JavaScript communication fails

**Files changed:**
- `src/OrcaSlicer.cpp` - Added `WEBKIT_DISABLE_COMPOSITING_MODE` env var
(4 lines)
- `resources/web/guide/0/load.js` - Enabled timeout fallback (2 lines)

# Screenshots/Recordings/Graphs

N/A - This is a Linux/Wayland-specific fix that addresses a rendering
issue. The visual result is simply that the Setup Wizard proceeds past
"Loading......" as expected.

## Tests

1. **On Wayland session (e.g., GNOME on Wayland):**
- Remove existing config (`~/.config/OrcaSlicer/`) to simulate first
launch
   - Launch OrcaSlicer
- Verify Setup Wizard proceeds past "Loading......" to the actual wizard
page

2. **On X11 session:**
   - Same test as above to verify no regression

3. **Verify env var is set:**
- Check that `WEBKIT_DISABLE_COMPOSITING_MODE=1` is in the process
environment on Linux builds
2026-02-03 23:10:17 +08:00
SoftFever 9b4af7ca1a Fix hangs when trying to edit printer on Linux (#11714) (#11854)
On linux, some users report that attempting to edit the printer caused
OrcaSlicer to hang.
Fixes #11714
2026-02-03 23:10:02 +08:00
SoftFever d9edc4ba75 Modularize printer agent architecture and add filament sync for third-party AMS-style systems (#12086)
# Description

This PR lays the groundwork for future OrcaSlicer ↔ printer connectivity
enhancements by modularizing the network agent architecture. It also
adds experimental filament info sync from printers that have a material
station or multi-tool system.

## Architecture Changes

- **Introduce `IPrinterAgent` interface** — an abstraction layer that
allows per-machine printer agent switching at runtime, decoupling
printer communication from the monolithic `NetworkAgent`
- **Introduce `ICloudServiceAgent` interface** — separates cloud service
logic from printer-level communication
- **Extract `OrcaCloudServiceAgent`** — moves Orca cloud service logic
into its own implementation behind `ICloudServiceAgent`
- **Extract `OrcaPrinterAgent`** — wraps the existing BBL printer
communication behind `IPrinterAgent`
- **Add `NetworkAgentFactory`** — factory for creating the appropriate
printer agent per machine
- **Refactor `NetworkAgent`** — slimmed down from monolithic class to a
thinner coordination layer

## New Printer Agents

- **`MoonrakerPrinterAgent`** — Klipper/Moonraker-based printers
- **`QidiPrinterAgent`** — Qidi printers (with Qidi filament box
support)
- **`SnapmakerPrinterAgent`** — Snapmaker printers with filament sync

## Filament Sync (Experimental)

Syncs filament information from printers equipped with AMS-style
material systems or multi-tool changers:
- Qidi printers with Qidi box
- Armored Turtle (AFC) box via Moonraker
- Snapmaker material station

For Qidi printers with Qidi box:
<img width="1200" height="762" alt="Screenshot 2026-01-27 at 20 30 55"
src="https://github.com/user-attachments/assets/155a164f-cd08-40b0-b62b-c3ab7378224e"
/>

Armored Turtle box:
<img width="1135" height="805" alt="Screenshot 2026-01-27 at 20 32 58"
src="https://github.com/user-attachments/assets/50f6618e-eb54-46db-8e01-1197a005fbf0"
/>

# Screenshots/Recordings/Graphs

[filasync.webm](https://github.com/user-attachments/assets/e6bb7f04-8312-4014-b237-6bd3ef792215)

## Tests

<!-- Please describe the tests that you have conducted to verify the
changes made in this PR. -->
2026-02-03 15:42:46 +08:00
SoftFever 56f1f05f12 Fix Setup Wizard stuck on "Loading..." on Wayland
When running under XWayland (Wayland sessions with GDK_BACKEND=x11),
WebKit2GTK's compositing mode can fail silently, causing the Setup
Wizard WebView to freeze or render blank. This leaves users stuck on
the "Loading......" screen indefinitely.

Changes:
- Set WEBKIT_DISABLE_COMPOSITING_MODE=1 to force software rendering,
  matching the fix used by BambuStudio
- Enable the 20-second timeout fallback in load.js so the wizard
  proceeds even if the C++ -> JavaScript signal fails
2026-02-03 14:47:08 +08:00
SoftFever 86d54863f7 rename agent 2026-02-03 12:01:19 +08:00
SoftFever cf3d9118ab Merge branch 'main' into feature/orca_network_refactor 2026-02-02 23:51:39 +08:00
SoftFever 84faac2dd4 fix an issue the bbl printer not working 2026-02-02 23:48:22 +08:00
SoftFever 431943408b fix UI block issues 2026-02-02 18:12:19 +08:00
SoftFever d817a4d5d4 Fix an issue that sync ams btn is not show/hide after printer agent changes 2026-02-02 12:21:41 +08:00
SoftFever 86421c6378 Use visible preset lookup for AMS filament fallback to ensure persistence across restarts 2026-02-01 23:54:21 +08:00
SoftFever 3da6f3bf77 Add SnapmakerPrinterAgent with filament sync support
Introduce SnapmakerPrinterAgent as a MoonrakerPrinterAgent subclass
that handles Snapmaker UI -specific filament detection
2026-02-01 21:51:36 +08:00
SoftFever 977a66be39 Fix active filament preset not matching wizard selection on first run (#12132)
* Fix active filament preset not matching wizard selection on first run

After completing the setup wizard with only a non-PLA filament selected
(e.g. Generic ABS), the active filament preset defaulted to Generic PLA
instead of the user's selection. This happened because load_presets()
falls back to Generic PLA when the initial printer differs from the
preferred printer, and the first_added_filament override was disabled.

Add post-load correction in apply_config() that switches the active
filament to the first compatible wizard-selected filament when the
current active filament is not in the wizard selection. Also fix the
guide JS (22.js, 23.js) to use the filalist attribute for building
the filament array, and add platform-specific build test commands to
CLAUDE.md.

* Replace @System filaments with vendor-specific overrides in wizard

When the wizard selects a generic filament like "Generic ABS @System",
check if a vendor-specific override exists (e.g. BBL "Generic ABS")
and use that instead. This ensures printer-tuned profiles are preferred,
preventing load_installed_filaments from adding unwanted BBL defaults.

When printers from the default bundle are also selected, both variants
are kept since those printers need the @System version.

Also adds diagnostic logging for filament loading in LoadProfileFamily.

* Guard against persisting presets for Default Printer and fix filament override logic

Prevent export_selections from saving stale preset settings for the
built-in "Default Printer" placeholder, which is only the initial state
before a real printer is loaded. Also require a non-default vendor printer
to be selected before replacing @System filaments with vendor-specific
overrides in the wizard, avoiding incorrect filament substitution when
only the default bundle is present.
2026-02-01 21:34:14 +08:00
SoftFever 1e1ffe72f6 Merge branch 'main' into feature/orca_network_refactor 2026-02-01 00:08:11 +08:00
SoftFever c37132768a Make the generic filament the default fallback instead of using filaments sorted alphabetically by name. (#12124) 2026-02-01 00:06:39 +08:00
SoftFever d782141ca5 Add handling for unknown filament IDs and improve filament type resolution 2026-01-31 19:32:35 +08:00
SoftFever 5935832143 clean up 2026-01-31 01:04:27 +08:00
SoftFever 8d22fad30b badge support 2026-01-31 01:04:21 +08:00
SoftFever 7059789578 fix badge mark 2026-01-30 16:14:41 +08:00
SoftFever 01eed59ee2 try to fix flatpak 2 2026-01-29 22:28:25 +08:00
SoftFever a6719041a5 try to fix flatpak 2026-01-29 19:19:37 +08:00
SoftFever 7494c6da7d fix a crash bug when trying to add a filament after sync ams list 2026-01-29 19:10:44 +08:00
SoftFever 95ea712f3c fix issues with AFC 2026-01-29 15:35:52 +08:00
SoftFever 006e7d6c28 fix a few bugs 2026-01-28 19:04:56 +08:00
SoftFever 9c21744cd1 fix Windows build 2026-01-27 21:21:44 +08:00
SoftFever da9f3fdf80 Merge branch 'main' into feature/orca_network_refactor 2026-01-27 21:04:14 +08:00
SoftFever eb56cf1ce1 add ninja option for Windows build 2026-01-27 21:02:37 +08:00
SoftFever 570d0ec7b6 Merge branch 'main' into feature/orca_network_refactor 2026-01-27 20:59:07 +08:00
SoftFever 9233005725 refactor 2026-01-27 17:41:29 +08:00
SoftFever 722d5f8aa7 refactor 2026-01-27 00:42:23 +08:00
SoftFever 997b2154c8 disable api 2026-01-26 21:11:52 +08:00
SoftFever e93f50702e clean up 2026-01-26 20:12:55 +08:00
SoftFever 3ed07d5f9b Merge branch 'main' into feature/orca_network_refactor 2026-01-26 19:34:20 +08:00
SoftFever 978e3b79b5 refactor 2026-01-26 19:34:14 +08:00
SoftFever 1a696173c0 1 2026-01-25 12:17:25 +08:00
SoftFever 3da2bf1bd8 refactor QidiPrinterAgent 2026-01-24 22:36:35 +08:00
SoftFever 9c6b8edcb1 select machine 2026-01-24 15:48:32 +08:00
SoftFever 9703a6b4d7 init 2026-01-23 17:05:56 +08:00
SoftFever 12f51f906e try to fix build errors #2 2026-01-22 18:26:24 +08:00