Improve Helio reliability, catalog consistency, and workflow safety - #11793
Merged
lanewei120 merged 1 commit intoAug 5, 2026
Merged
Conversation
Centralize transient retry classification and add bounded, cancellation-aware retries for Helio create, upload, and polling operations. Use idempotency keys and action generations to prevent duplicate runs, revived workers, and stale completion events. Load paginated printer and material catalogs into immutable, generation-consistent snapshots. Preserve the last usable data after failed refreshes and refresh cached support data when region or credentials change. Harden launch eligibility against imported G-code, active slicing, validation errors, broken mixed-filament definitions, and plate changes across modal dialogs. Preserve valid unsupported-printer workflows. Improve history ordering and timestamp fallback, update multi-material guidance, add sliced-3MF export for simulation results, and include focused retry, support-data, and recent-run tests.
HelioPri
marked this pull request as ready for review
August 3, 2026 10:16
walterwongbbl
approved these changes
Aug 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Improve Helio reliability, catalog consistency, and workflow safety
Summary
This change hardens the Helio Additive integration against transient network failures, cancellation races, stale support data, and stale sliced output. It also completes several workflow fixes around history ordering, unsupported printers, multi-material guidance, simulation exports, and slicer validation errors.
The upstream submission is intentionally packaged as one commit so the reliability and state-management changes land as a coherent unit.
Why this is needed
The previous workflow had limited, operation-specific recovery and did not consistently distinguish transient from terminal failures or protect retries against duplicate and stale results. In practice, long-running simulations and optimizations may encounter transient HTTP failures, interrupted uploads, delayed GraphQL responses, user cancellation, region changes, or a new action starting while an older worker is still stopping.
Those conditions could cause several user-visible failures:
What changed
Resilient and idempotent network operations
Cancellation, worker lifecycle, and stale-event protection
Consistent printer and material support data
Synchronizing,Usable, orLoadFailedwhen data is present or loading fails.Helio history behavior
Unknownwhen a timestamp cannot be recovered.Safer launch eligibility and stale G-code prevention
Workflow and UI corrections
Tests
Adds focused coverage for:
Test files:
tests/slic3rutils/helio_retry_policy_tests.cpptests/slic3rutils/helio_support_data_tests.cpptests/slic3rutils/helio_recent_runs_tests.cppValidation
git diff --cached --checkmasterThis local checkout does not have a configured dependency build or generated wxWidgets headers, so a full local BambuStudio compile was not run. The upstream CI build matrix should complete before this draft is marked ready for review.
Integration notes
bambulab/BambuStudiocommit12f17b06f4f537f9c03162d08bb70cf733c42839.masterwas the Helio top-bar icon rename inMainFrame.cpp; the resolution keeps the new validation-aware state calculation and the officialhelio_icon_topbar/helio_icon_topbar_disableassets.Reviewer focus areas