Skip to content

Merge upstream 2.8.0 Public Beta (v02.08.00.50)#605

Merged
BenJule merged 431 commits into
masterfrom
build/2.8.0-beta
Jul 14, 2026
Merged

Merge upstream 2.8.0 Public Beta (v02.08.00.50)#605
BenJule merged 431 commits into
masterfrom
build/2.8.0-beta

Conversation

@BenJule

@BenJule BenJule commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Brings the fork up to the upstream 2.8.0 Public Beta (tag v02.08.00.50) so we can build 2.8.0 packages through our own CI/Jenkins.

The merge had 101 conflicting files. Almost all of them are spots where 2.8.0 is just the newer version of code we already carried from 2.7.01, so I took upstream's side there: the DeviceWebHost lazy-construction/Suspend/EnsureBuilt work, NavigateTo(re_init), the MediaPlayCtrl session telemetry, the filament-manager hasCloudRfid rename, P1P/P1S preset validation, and so on. Taking our old side would have regressed the code and actually broken the build, since MainFrame and DeviceWebPage already call the new signatures. Translations (.po/.pot/.mo) and resources/profiles also take upstream 2.8.0.

Kept from the fork: everything under .github/ and scripts/ (our CI and packaging), the version scheme (version.inc keeps the auto-count, base bumped to 02.08.00), and build_all.yml stays removed since we replaced upstream's CI.

Three small fork-local tweaks got reset to the 2.8.0 baseline and are worth a look before we ship:

  • GUI_App.cpp: our "draw the splash immediately on GTK" paint-event tweak vs upstream's #ifndef __linux__ + timeout 0
  • ProgressDialog.hpp: m_need_yield default (we had false, 2.8.0 has true)
  • deps/Assimp/Assimp.cmake: we used system zlib on Linux, 2.8.0 builds the bundled copy

On LFS: I pushed code plus LFS pointers for review. The upstream-side LFS blobs (new .mo/profiles) still need to land on the fork's LFS before a package build, I'll take care of that at build time.

Once the resolutions look good I'll build the Debian/Fedora/Arch/AppImage packages from this branch on the Jenkins Linux worker.

gerrit and others added 30 commits May 30, 2026 12:18
…01.00.08 branch of bamboo_slicer

Git logs:
N9: github cf229ac ENH: Auto sync 3D gcode qa_test -> github
P2S: github 22ec564 ENH: Auto sync 3D gcode qa_test -> github
X2D: github 22ec564 ENH: Auto sync 3D gcode qa_test -> github
- 渐变模式下,点击混色推荐中的色块没有正确刷新

jira: none
Change-Id: I6abe7cc429100c869d9c9695fbd322bf7a304f68
… Edited by 虾饼

editor: 虾饼
Change-Id: Ida4f0e8313aa488936fcd57a1f3467b40b761435
(cherry picked from commit 0214deadd838c0d010b683ef0d8463e1a5be89da)
The chamfer expansion area is also included in the smoothing process.

jira: STUDIO-18228,STUDIO-18439
github: bambulab#10542, bambulab#10775
Change-Id: I90979ac3a553806a298ef8499227ac05ee638e7d
GLVolumeCollection::load_object_volume dereferences
model_object->instances[instance_idx] (e.g. instance->get_transformation())
without validating the index. An object with an empty instances vector therefore
dereferences a null/garbage ModelInstance* and crashes with EXC_BAD_ACCESS — a
jump through a null vtable to 0x0.

This happens when opening certain MakerWorld 3MFs: the object-color dialog calls
update_obj_preview_origin_thumbnail(), which calls load_object_volume() with a
hard-coded instance_idx of 0 for every object, including ones that have no
instance yet during loading.

Bail out early (returning -1, "no volume added") when model_object is null or
volume_idx / instance_idx are out of range. The three other call sites either
pass valid indices or ignore the return value.

Fixes bambulab#11016
On macOS 26.5+ the wxWebView created in WebView::CreateWebView can be
destroyed before the CallAfter() callback that registers the "wx" script
message handler fires. The callback captured the raw webView pointer and
called AddScriptMessageHandler() on it unconditionally, dereferencing a
dangling pointer. On Apple Silicon this trips pointer authentication and
crashes (EXC_BAD_ACCESS / PAC failure); elsewhere it shows up as a long
startup hang with steadily growing memory use.

Guard the async callback by checking g_webviews (the list of live views)
before touching the webView, and also remove a view from g_delay_webviews
in ~WebViewRef so a pending flush never reaches an already-destroyed view.

Fixes bambulab#11004
Fixes bambulab#10968
…rofile Edited by xiaoxiang.liu

editor: xiaoxiang.liu
Change-Id: I16890cf9260d3a0ea52d4a05615965fece8aa5c4
(cherry picked from commit 8b7997634adc4d267ec4921c6977b6af7bc141a7)
jira: none

Change-Id: I630ff284ad9a0f70f426a4328a457cc46dde892b
feishu: issue-7005469648

Change-Id: I0337749cc460b72526a307d183fbba995c728f05
(cherry picked from commit 1ed5703fcfa2c572d103cfae71523e78252c540c)
(cherry picked from commit 5e152fb9f29316dc78ad8506718ac77013ff6b56)
JIRA: NONE
Change-Id: I718da81c0557f206b51bc49041f7baf17903efa0
…ction is applied; users must exit and re-enter the paint tool to restore normal functionality.

jira: STUDIO-18470
Change-Id: Ia1606a3a15ea3786842196e1e7ca70e1a6a4af30
(cherry picked from commit 3effe52666e798a99dcf7082a907c7edf3321cea)
非渐变混色 slot 跳层后重新出现时,calc_slot_lh 将 Z 间距误当层高,
导致子层 Z 坐标大幅偏低。原因是对象层跟踪仅覆盖渐变 slot。

修复:将对象层跟踪扩大到所有混色 slot,确保层高计算正确。

JIRA: none reason: other
自测结果: pass

Change-Id: Id38637d812e2ead6853403951179e537569ecde9
jira: none
Change-Id: I4e0a67d5401189970e7efb4273216c8b05e43a9f
去掉子层切换时的显式 travel_to_z,改用 change_layer() 同款的
lazy-Z 机制,让 Z 变化随首次 travel_to 的 XY+Z combined move
完成,与正常多色路径行为一致。

JIRA: none reason: other
自测结果: pass

Change-Id: Ie637a05945b2bc1e2e429a7c811cbef27c5ec218
On macOS wxWidgets only emits wxEVT_IDLE from the CFRunLoop
kCFRunLoopBeforeWaiting observer, i.e. only when the run loop is about
to sleep. After visiting the Filament Manager tab its WKWebView (a live
web app + bridge) keeps signalling the main run loop, so it rarely
reaches the "before waiting" phase and wxEVT_IDLE is starved. Because
the canvas drives its render and picking pass from idle, camera moves,
drags and gizmo highlighting freeze when returning to the prepare page.
The lightweight Home web page goes quiet, which is why it never triggers
this.

Drive the idle work from a CFRunLoopTimer-backed wxTimer that is armed
on canvas input and stood down once real idle events resume, so the
canvas stays interactive even while idle is starved. Also force a
synchronous picking render on button-down so hover is current for
drag-to-grab. No behavior change off macOS.

jira: STUDIO-18472
Change-Id: I0a1e6cbf4077c151e214b0cac202e71f31cce7dd
collect_extruders 用 comps.size() != 2 过滤,三色 slot 未纳入跟踪,
calc_slot_lh 层高算偏大致子层 Z 偏低撞头。改为 < 2 收集所有混色 slot,
另加 != 2 守卫保持渐变/per-part 仍仅限双色。

JIRA: none reason: other
自测结果: pass

Change-Id: I0c6686db1b4e063edb050a04647c92d89771f7d6
Gate hidden WebView reports and filament-manager startup/login hooks so disabled or hidden panels do not build stale state.

feishu: none reason: other
自测结果: fail(未执行本地编译;隔离 worktree 无 build_release,已执行 git diff --cached --check)

Change-Id: I4b5c6d7e8f90123456789abcdef0123456789abc
…ed by default due to compatibility risk, while keeping other platforms enabled by default.

JIRA: none reason

Change-Id: I9f1b8062343a7d0e4b6f193cbe2e06e9d5a1c437
feishu: issue-7016862004
自测结果: pass
Change-Id: Ib4b0bb2261b58953e40d1daac883a19cb1f3580f
BenJule and others added 27 commits July 13, 2026 08:01
(cherry picked from commit 0804a01)
(cherry picked from commit 13e9e3f)
(cherry picked from commit 0f349f4)
(cherry picked from commit 5ef059d)
(cherry picked from commit fac5d49)
(cherry picked from commit a7ed98f)
(cherry picked from commit 55b727e)
(cherry picked from commit 1303a53)
(cherry picked from commit d8a8592)
…610)

Fixes the red Windows check on build/2.8.0-beta (C2039/C3861 in
GUI_Utils.hpp:205).

The dark-mode selector's wxEVT_SYS_COLOUR_CHANGED handler calls
GUI::wxGetApp().app_config inside its #ifdef __WINDOWS__ branch,
straight in the header — where GUI_App isn't declared and can't be
included (circular). Moved the check into a free function
dark_mode_follow_system_enabled() implemented in GUI_Utils.cpp, which
already includes GUI_App.hpp.

Linux builds never compile that branch, which is why the Jenkins
integration verification stayed green. The Windows Actions run on this
PR is the actual verification.

Closes #609
@BenJule
BenJule merged commit f3c862c into master Jul 14, 2026
14 checks passed
@BenJule
BenJule deleted the build/2.8.0-beta branch July 14, 2026 08:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build Build system, CMake, scripts area: ci GitHub Actions, CI/CD area: filament Filament profiles and settings area: networking Cloud, MQTT, printer connection area: packaging AppImage, .deb, .rpm, Flatpak area: slicing Slicing engine, toolpath generation area: ui User interface / wxWidgets dependencies Dependency updates javascript JavaScript / TypeScript platform: linux Linux-specific issue tests Test files and test infrastructure translations Translations and i18n changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.