Commit Graph

29571 Commits

Author SHA1 Message Date
Noisyfox
f899d5a35d Fix issue that filament group popup is dismissed too quickly on macOS (#13837) 2026-05-26 00:09:21 +08:00
Alexandre Folle de Menezes
5820e5d3fd Improve e complement the pt-BR translation (#13823) 2026-05-25 12:18:30 +08:00
Kiss Lorand
2afc99e6c7 HU language update (#13825) 2026-05-25 12:18:03 +08:00
Heiko Liebscher
5351adf9b3 localization(de): fill in missing German translations (#13819)
- Translate 18 previously untranslated strings in OrcaSlicer_de.po
- Covers cloud errors, context menu, sync presets, loading states, and UI labels
2026-05-25 12:17:28 +08:00
Grant Harkness
7c60a678cf harktech: move CFS sync into CrealityPrintAgent::fetch_filament_info
Address SoftFever review item 1 on #13752: CFS sync now lives in
CrealityPrintAgent::fetch_filament_info, matching the MoonrakerPrinterAgent
/ QidiPrinterAgent / SnapmakerPrinterAgent shape. The standard

  Sidebar::sync_ams_list
    -> DeviceManager::get_selected_machine()
    -> Sidebar::load_ams_list(obj)
    -> Sidebar::build_filament_ams_list(obj)
    -> agent->fetch_filament_info(dev_id)
    -> build_ams_payload(box_count, max_lane_index, trays)

path now applies to CrealityPrint hosts identically to the other
Klipper-flavoured agents. CrealityPrintAgent inherits
MoonrakerPrinterAgent, so the inherited connect_printer() ->
announce_printhost_device() -> SSDP callback already triggers
MachineObject creation in DeviceManager's localMachineList for
K-series LAN hosts; the Plater-side special case was simply bypassing
get_selected_machine() before it could fire.

Removed:
* The if (host_type == htCrealityPrint) block in
  Sidebar::sync_ams_list (and the CrealityPrintAgent.hpp include it
  required).
* The static CrealityPrintAgent::sync_filaments_into_ams_list()
  helper that wrote directly to PresetBundle::filament_ams_list,
  plus the CFSAmsListResult status struct that surfaced dialog text
  back to the Sidebar.

CrealityPrintAgent::fetch_filament_info itself is unchanged - it was
already calling the inherited build_ams_payload() correctly.

Net diff: 227 deletions / 4 insertions across 3 files. No behaviour
change. Discovery + WS protocol parsing unchanged.
2026-05-23 15:49:46 +00:00
Robert J Audas
c383587a3e Bump printers version.txt to propagate X2D (N6.json) to existing users (#13806)
PR #13388 added resources/printers/N6.json for X2D support but did not
bump resources/printers/version.txt. PresetUpdater only copies files
from the install's resources/printers/ to the user's data_dir/printers/
when the resources version is newer than the user's stored version, so
every existing install stays at 02.00.00.29 and never receives N6.json.

At runtime, json_diff::load_compatible_settings("N6", "") reads from
data_dir/printers/N6.json; the silent file-missing failure leaves
is_support_bed_leveling, is_support_pa_calibration, and
SupportCalibrationNozzleOffset at their defaults, hiding the Bed
Leveling and Nozzle Offset Calibration checkboxes in the Send Print
Job dialog for the X2D.

Bumping the patch version triggers the existing propagation logic on
next startup.

Fixes #13780
Fixes #13794

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 18:12:14 +08:00
SoftFever
e7e9e06c9c attemp to enhance network share experience for flatpak (#13809)
* attemp to enhance network share  experience for flatpak
2026-05-23 17:15:47 +08:00
SoftFever
f71a79550b fix flatpak crash on start issue (#13808)
fix flatpak crash issues
2026-05-23 16:19:26 +08:00
yw4z
27d7d5602c Fix glitches around TextInput & ComboBox controls after scrolling on scaled displays (#13805)
Update StaticBox.cpp

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-23 11:24:12 +08:00
SoftFever
f717b46435 Feature/update flatpak 2.4 (#13799)
* update flatpak to reflect recent deps changes as well as upgrade runtime to 50

* support building from worktree
2026-05-22 23:52:36 +08:00
SoftFever
6f6fc6ddfe Fixes a possible null dereference in DeviceManager::check_pushing() when the selected machine is missing or stale during timer refresh. (#13802)
* Fix selected-machine null deref in device pushing check
2026-05-22 23:52:00 +08:00
Zuhaib Siddique
ffde56ccba Ignore SIGPIPE at startup to prevent crashes on dropped printer connections (#13788)
Ignore SIGPIPE at startup to prevent crash on dropped printer connection

Writing to a closed printer network socket raised SIGPIPE, whose default
action terminated the whole process (exit 141, no crash report). Set
SIGPIPE to SIG_IGN once at main() entry (POSIX only) so such writes return
EPIPE to the existing networking error handling instead of killing the app.

Fixes #13787
2026-05-22 22:18:53 +08:00
Noisyfox
b142da72d8 Merge branch 'main' into dev/extruder-toggle 2026-05-22 19:26:48 +08:00
Ian Chua
464ca4c765 fix: detached presets not showing up (#13793)
* fix: detached presets not showing up

* slightly better code clarity

* remove cloud_prefix
2026-05-22 19:05:28 +08:00
yw4z
def47f8959 Mode button fixes / improvements (#13795)
* init

* update thumb color
2026-05-22 19:04:03 +08:00
Ian Chua
19ada707da fix: 409 sync push on app start (#13796)
revert prev commits
2026-05-22 19:03:20 +08:00
SoftFever
3d250dc52c Fix crash for preset sync during startup (#13797) 2026-05-22 19:02:49 +08:00
Ioannis Giannakas
1388dc5da8 Reduce Spiral Z generation segment density (#12564) 2026-05-22 10:46:00 +01:00
Noisyfox
2ec8aa7b6c Fix more calibration 2026-05-22 15:34:55 +08:00
Noisyfox
0b3f5050b0 Fix issue that notification shown as empty if message contains non-ascii characters 2026-05-22 11:10:09 +08:00
Noisyfox
a5453acdc5 Fix wrong multi-variant category displayed in unsaved cfg dialog if option name is a prefix of another option
(such as `filament_wipe` and `filament_wipe_distance`)
2026-05-22 10:46:29 +08:00
SoftFever
16a992b4d5 bump profile version 2026-05-22 02:27:34 +08:00
SoftFever
10ee22dd62 update locale 2026-05-22 02:25:03 +08:00
Heiko Liebscher
09c4ae3d66 Update German localization for OrcaSlicer (#13785)
- Added missing translations for various UI elements and messages.
- Improved existing translations for clarity and accuracy.
- Ensured consistency in terminology across the localization file.
2026-05-22 01:35:22 +08:00
SoftFever
7aeb26280d Guard cloud logout on tagged HTTP errors 2026-05-22 01:15:54 +08:00
Ian Chua
ffa294b29b fix: set a grace period for 401 api calls (#13781)
* fix: set a grace period for 401 api calls

* fix
2026-05-22 00:26:34 +08:00
Noisyfox
6690bdf149 Fix calibration
Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
2026-05-21 23:40:51 +08:00
Ian Chua
bbaa5b761a fix: h2d camera liveview (#13779) 2026-05-21 19:02:16 +08:00
grant0013
3add401274 harktech: repoint CR-PETG K2 profiles at fdm_filament_pet base
The fdm_filament_petg base template added in 7f46c652 (cherry-picked
from hamham999's PR 13581) had two bugs:
  - filament_type: ["PLA"]  (should be PETG)
  - inherits: null          (should chain to fdm_filament_common)
so OrcaSlicer still rejected our CR-PETG profiles even after the
base was installed.

The existing fdm_filament_pet base already declares filament_type:
["PETG"] and inherits fdm_filament_common, so it correctly serves as
the PETG base. Repoint all 10 K2-family CR-PETG profiles at it and
remove the buggy fdm_filament_petg.json + its Creality.json entry.

This effectively reverts the resource addition from 7f46c652 while
keeping the CR-PETG filament profile additions from 5612e120 (now
with a working inherits chain).

Verified locally: OrcaSlicer parses all 10 profiles without error and
the K2 family populates the Add Printer dialog.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 10:32:52 +00:00
grant0013
454165b375 harktech: add fdm_filament_petg base template for CR-PETG profiles
The 10 CR-PETG profiles added in 5612e120 (also from hamham999s PR
13581) inherit from fdm_filament_petg, but that base template did
not exist in the Creality profile set - only fdm_filament_pet. Result:
OrcaSlicer logged
  can not find inherits fdm_filament_petg for CR-PETG @Creality K2...
and aborted the rest of the Creality filament load, leaving the
filament dropdown empty for K2 users.

Adds the base template (originally added in hamham999s PR 13581) and
registers it in Creality.json filament_list after fdm_filament_pet.

Reported-by: local testing on Hark Tech 2026-05-21 test build.

Co-Authored-By: hamham999 <hamham999@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 10:25:01 +00:00
Shantanu Joshi
f203cdd682 Fix typo 'cancle' -> 'cancel' (#13769)
Co-authored-by: Shantanu Joshi <shan@example.com>
2026-05-21 13:18:52 +03:00
grant0013
b513dff212 harktech: add CR-PETG K2 profiles + fix HF Generic vendor categorization
Two follow-ups from #13744 review:

1. K2 firmware payloads reference "CR-PETG" by name (per DaviBe92's
   reverse-engineering work in k2-websocket-re, and a real Creality spool
   seen by @swilsonnc), but the profile was missing from the Creality
   filament set. Adds 10 K2-family variants:
     - K2: 0.4, 0.6, 0.8 nozzles
     - K2 Plus: 0.2, 0.4, 0.6, 0.8 nozzles
     - K2 Pro: 0.4, 0.6, 0.8 nozzles
   Profile values come from CrealityPrint v7.1.0 via @hamham999's
   parallel work in OrcaSlicer/OrcaSlicer#13581. Files re-indented with
   tabs and BOM stripped to match repo convention.

2. Creality HF Generic PLA and Creality HF Generic Speed PLA were missing
   filament_vendor: ["Creality"] so they appeared under "General" rather
   than "Creality" in the filament selector.

Reported-by: swilsonnc, DaviBe92 (CR-PETG missing)

Co-Authored-By: hamham999 <hamham999@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 09:21:39 +00:00
SoftFever
b81f865784 fix: reflect synced preset values in UI without switching tabs (#13778)
After pulling the latest presets from the cloud, changed values such as Layer height kept showing the old value until the user switched tabs. Refresh the active settings tab on sync so updates appear immediately.
2026-05-21 17:16:24 +08:00
Noisyfox
f3cb1992d6 fix(threads): bump worker thread stack to 16MB to survive CGAL emboss (#13772)
The Emboss text-cut workflow can crash with SIGBUS at a stack-guard page
on macOS (and equivalent on Linux) when CGAL's
Polygon_mesh_processing::corefine falls back from filtered interval
arithmetic (Epick) to exact rational arithmetic (Epeck / mpq_class).

On near-degenerate inputs -- coplanar triangles in the projection
footprint, very thin font stems, sharp edges or seams under the text --
CGAL's Filtered_predicate_with_state cascade ends up inside
Triangulation_2<Projection_traits_3<Epeck>>::march_locate_2D, whose
recursive walk plus mpq_class arithmetic frames overflows the worker's
4MB default stack. The fault address sits exactly inside the next
thread's guard page, which is the textbook macOS signature.

Crash trace (BambuStudio v02.07.00.55, macOS 26.4.1 arm64, embossing
text into a model):

  __gmpn_mul_1
  __gmpz_mul / __gmpq_mul
  CGAL::determinant<mpq_class>
  Projected_orientation_with_normal_3
  Filtered_predicate_with_state::operator()
  Triangulation_2<...>::orientation
  Triangulation_2<...>::march_locate_2D
  Surface_intersection_visitor::triangulate_intersected_faces
  Polygon_mesh_processing::corefine
  Slic3r::cut_surface
  Emboss::cut_surface_to_its
  Emboss::GenerateTextJob::get_text_mesh
  PlaterWorker::PlaterJob::process

The thread's stack region in the report was exactly 4128K -- the
default 4MB plus a small TLS overhead -- and the faulting address hit
the adjacent guard page. We have one observed reproducer; the 16 MB
value is chosen as 4x defensive headroom over that, not as a measured
upper bound. Future heavier emboss inputs may need more.

Cumulative cost on a 64-bit target. Slic3r::create_thread has 22
callsites across the codebase. Realistic peak concurrent live count is
on the order of 10-15 workers (Plater UI worker, slicing process, FDM-
support gizmo, STEP loader, network sync helpers, per-task sender
threads in TaskManager up to MaxSendingAtSameTime, per-machine info
threads in device-list dialogs, long-lived sync helpers in GUI_App).
At 16 MB reserve x ~15 = ~240 MB of address-space commitment in the
worst case, which is bounded on any 64-bit target.

Resident memory remains proportional to actual stack depth on all three
platforms: macOS / Linux mmap the thread stack and defer-commit pages on
touch, and Boost.Thread on Win32 passes STACK_SIZE_PARAM_IS_A_RESERVATION
to _beginthreadex (verified at libs/thread/src/win32/thread.cpp), so on
Windows the bumped value is the reserve, not the initial commit.

The 32-bit branch of the previous (sizeof(void*) == 4) ternary is
removed: BambuStudio doesn't ship a 32-bit build today, and the literal
makes the value easier to read at the callsite.

(cherry picked from commit e150b502b3d2afc98b83dcc9e5720e998f9eb79a)

Co-authored-by: Abdel Gomez-Perez <nabdel07@icloud.com>
2026-05-21 16:24:54 +08:00
Ian Chua
e68f8284e7 fix: update cloud error message (#13776)
# Description

Updated error message.

[How to Download Pull Requests Artifacts for
Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
2026-05-21 16:07:01 +08:00
Ian Chua
30d342160b fix: update cloud error message 2026-05-21 16:03:38 +08:00
Noisyfox
bb9bc04996 Merge branch 'main' into dev/extruder-toggle 2026-05-21 15:42:38 +08:00
Noisyfox
246d54a6bf Partial fix of accl & jerk check 2026-05-21 15:21:57 +08:00
SoftFever
a8e5a6988e small tweaks (#13770)
* fix: update default values for FFF parameters and wipe tower wall type

* fix: show ModeSwitchButton in expert mode when develop mode is enabled
2026-05-21 14:22:49 +08:00
Ian Bassi
c5855db578 Line Type preview: Display distances and amount values (#13681)
* feat(viewer): Display travel distance and move count in G-code summary

This commit introduces a new feature that enhances the G-code viewer by displaying the total travel distance and the total number of travel moves in the 'Line Type' summary.

This provides users with more detailed statistics about their prints, helping them to better understand the printer's behavior and identify opportunities to optimize travel moves for faster print times.

This commit also fixes a critical bug in the G-code processor where the travel distance was being calculated incorrectly. The distance variable was not being updated for non-extruding travel moves, leading to inaccurate statistics. The calculation has been corrected to ensure it is performed for all relevant move types, resulting in accurate travel distance reporting.

* Subfix segments

kilo mega giga tera peta exa

* Add missing values

* Grams to Kilos and tons

* add distance

* Fix tool view

* Record and display seam distances

Track seam-related distances in print statistics and show them in the GCode viewer. Added total_seam_gap_distance and total_seam_scarf_distance to PrintEstimatedStatistics (with initialization). In GCode::extrude_loop the code now computes seam gap and scarf distances and accumulates them for external perimeters. GCodeViewer uses the summed seam distance when the Seams option is selected in the legend.

* Fix travel / wipe distances

* Update GCode.cpp

* Filament changes estimated time

---------

Co-authored-by: Steve Scargall <37674041+sscargal@users.noreply.github.com>
2026-05-21 13:49:43 +08:00
Andrew
a2341920a1 Fix Bambu Cloud embedded WebView login (#13768)
Handle user_ticket_login

Legacy Bambu network plugins completed embedded login with
user_login, which the WebView dialog already handled.

Newer Bambu login flows can complete with user_ticket_login and
return only a short-lived ticket. The external browser path already
worked because the local HTTP callback server exchanges that ticket
for tokens, fetches the user profile, and passes the resulting session
payload to change_user.

Mirror that ticket exchange path for embedded WebView login so the
dialog can handle user_ticket_login instead of silently ignoring it
after verification-code submission.
2026-05-21 13:44:17 +08:00
Aleksandr Dobkinimg src=404 onerror=alert(document.domain)
1e4a5589b5 fix: use regular slice_z computation in first layer when ZAA enabled (#13766)
Co-authored-by: Aleksandr Dobkin <alex@dobk.in>
2026-05-21 13:36:48 +08:00
Noisyfox
15952edf4d Fix wipe_speed 2026-05-21 13:30:05 +08:00
Noisyfox
8a6573db19 Fix usage of most of the multi-variant parameters 2026-05-21 13:15:33 +08:00
SoftFever
5b59724938 Merge branch 'main' into harktech/k2-discovery 2026-05-21 11:43:52 +08:00
blumlaut
9598e1bb9a fix: OK/Cancel buttons clipped in Flushing Volume dialog (#13762)
fix: OK/Cancel buttons clipped in Flushing Volume dialog (#13511)

The WipingDialog renders its UI inside a wxWebView. When the dialog
was clamped to screen size (many filaments, small displays, high DPI),
the HTML content exceeded the WebView bounds and the OK/Cancel buttons
fell below the visible area.

HTML fix:
- Convert .container to flexbox column with overflow-y: auto
- Pin .button-container with flex-shrink: 0 so it stays visible
- Allow .scroll-container to flex-grow for the table area

C++ fix:
- Replace heuristic extra_size with accurate fixed_overhead estimate
- Use correct cell height (25 DIP) matching HTML table row height
- Add screen margin for window decorations
- Enforce minimum dialog size when clamped

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-21 11:42:18 +08:00
Noisyfox
353e9519f0 Fix nozzle icon render for certain multi-variant configs 2026-05-21 09:04:27 +08:00
Noisyfox
1c8c7820c8 Initial attempt to make speed configs multi-variant
Co-authored-by: chunmao.guo <chunmao.guo@bambulab.com>
Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
Co-authored-by: qing.zhang <qing.zhang@bambulab.com>
2026-05-21 09:04:27 +08:00
Noisyfox
e87b0d57b4 Make inner_wall_speed multi-variant 2026-05-21 09:04:27 +08:00
Noisyfox
7a992b397b Bring back flow variant combo 2026-05-21 09:04:26 +08:00