From c3d110a227b7fdb214b13479d5ffc06601aa04aa Mon Sep 17 00:00:00 2001 From: alves Date: Mon, 19 Jan 2026 18:41:30 +0800 Subject: [PATCH 1/5] feature remove the slice duration time. --- src/slic3r/GUI/Plater.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index a43682cdc9..dc458d26a2 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -7782,9 +7782,9 @@ void Plater::priv::on_process_completed(SlicingProcessCompletedEvent &evt) } else if (is_finished && evt.finished()) { - auto strTime = get_works_time(duration_ms); - auto slice_time = BP_SLICE_DURATION_TIME + std::string(":") + strTime; - sentryReportLog(SENTRY_LOG_TRACE, slice_time, BP_SLICE_DURATION); + //auto strTime = get_works_time(duration_ms); + //auto slice_time = BP_SLICE_DURATION_TIME + std::string(":") + strTime; + //sentryReportLog(SENTRY_LOG_TRACE, slice_time, BP_SLICE_DURATION); m_slice_start_time = {}; m_slice_timing_active = false; From 84d160b7eef8410cf810b1816f2bd913c39bf9fa Mon Sep 17 00:00:00 2001 From: alves Date: Mon, 19 Jan 2026 20:36:03 +0800 Subject: [PATCH 2/5] fix proxy question on request snapmaker server. --- src/slic3r/Utils/Http.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/slic3r/Utils/Http.cpp b/src/slic3r/Utils/Http.cpp index 3f31e0e10a..dc802449d7 100644 --- a/src/slic3r/Utils/Http.cpp +++ b/src/slic3r/Utils/Http.cpp @@ -165,6 +165,17 @@ static int log_trace(CURL* handle, curl_infotype type, return 0; } +// Domains that should bypass proxy and connect directly +// This helps when users have Shadowsocks/Clash/V2Ray proxy enabled +static const char* NOPROXY_DOMAINS = + "snapmaker.cn," + "snapmaker.com," + "*.snapmaker.cn," + "*.snapmaker.com," + "localhost," + "127.0.0.1," + "::1"; + Http::priv::priv(const std::string &url) : curl(::curl_easy_init()) , form(nullptr) @@ -194,6 +205,11 @@ Http::priv::priv(const std::string &url) ::curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); ::curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); + // Bypass proxy for Snapmaker domains - this fixes issues when users have + // Shadowsocks/Clash/V2Ray or other proxy software enabled + // The domains in NOPROXY_DOMAINS will connect directly without going through proxy + ::curl_easy_setopt(curl, CURLOPT_NOPROXY, NOPROXY_DOMAINS); + // https://everything.curl.dev/http/post/expect100.html // remove the Expect: header, it will add a second delay to each request, // if the file is uploaded in packets, it will cause the upload time to be longer From 2085ac9bcc2c4c3287780151119094df842c6a5a Mon Sep 17 00:00:00 2001 From: alves Date: Tue, 20 Jan 2026 16:12:05 +0800 Subject: [PATCH 3/5] fix update soft bug. --- src/slic3r/GUI/GUI_App.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 41a9e0a268..75feacd820 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -963,7 +963,7 @@ void GUI_App::post_init() std::string language = GUI::into_u8(current_language_code()); std::string network_ver = Slic3r::NetworkAgent::get_version(); bool sys_preset = app_config->get("sync_system_preset") == "true"; - //this->preset_updater->sync(http_url, language, network_ver, sys_preset ? preset_bundle : nullptr); + this->preset_updater->sync(http_url, language, network_ver, sys_preset ? preset_bundle : nullptr); this->preset_updater->sync_web_async(true); this->check_new_version_sf(false, false); From d2f4ece715d66ea13d20061b8f0b001d6b3639f3 Mon Sep 17 00:00:00 2001 From: alves Date: Tue, 20 Jan 2026 17:45:29 +0800 Subject: [PATCH 4/5] feature add function for cmd forwarding on web. --- src/slic3r/GUI/ReleaseNote.cpp | 3 +++ src/slic3r/GUI/SSWCP.cpp | 32 ++++++++++++++++++++++++++++++-- src/slic3r/GUI/SSWCP.hpp | 7 +++++++ 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/ReleaseNote.cpp b/src/slic3r/GUI/ReleaseNote.cpp index f67f9a5d05..9b75dc7dbd 100644 --- a/src/slic3r/GUI/ReleaseNote.cpp +++ b/src/slic3r/GUI/ReleaseNote.cpp @@ -330,6 +330,7 @@ UpdateVersionDialog::UpdateVersionDialog(wxWindow *parent) m_button_download->SetSize(wxSize(FromDIP(58), FromDIP(24))); m_button_download->SetMinSize(wxSize(FromDIP(58), FromDIP(24))); m_button_download->SetCornerRadius(FromDIP(12)); + m_button_download->SetCursor(wxCURSOR_HAND); m_button_download->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_YES); @@ -342,6 +343,7 @@ UpdateVersionDialog::UpdateVersionDialog(wxWindow *parent) m_button_skip_version->SetSize(wxSize(FromDIP(58), FromDIP(24))); m_button_skip_version->SetMinSize(wxSize(FromDIP(58), FromDIP(24))); m_button_skip_version->SetCornerRadius(FromDIP(12)); + m_button_skip_version->SetCursor(wxCURSOR_HAND); m_button_skip_version->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { wxGetApp().set_skip_version(true); @@ -372,6 +374,7 @@ UpdateVersionDialog::UpdateVersionDialog(wxWindow *parent) m_button_cancel->SetSize(wxSize(FromDIP(58), FromDIP(24))); m_button_cancel->SetMinSize(wxSize(FromDIP(58), FromDIP(24))); m_button_cancel->SetCornerRadius(FromDIP(12)); + m_button_cancel->SetCursor(wxCURSOR_HAND); m_button_cancel->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_NO); diff --git a/src/slic3r/GUI/SSWCP.cpp b/src/slic3r/GUI/SSWCP.cpp index ffbfa32114..bba9c19414 100644 --- a/src/slic3r/GUI/SSWCP.cpp +++ b/src/slic3r/GUI/SSWCP.cpp @@ -2081,8 +2081,12 @@ void SSWCP_MachineOption_Instance::process() sw_ServerClientManagerSetUserinfo(); } else if (m_cmd == "sw_DefectDetactionConfig"){ sw_DefectDetactionConfig(); + } else if (m_cmd == GETCAMERA_TIMELAPSE_INSTANCE) { + CmdForwarding(); + } + else if (m_cmd == GET_DEVICEDATA_STORAGESPACE) { + CmdForwarding(); } - else { handle_general_fail(); } @@ -3691,6 +3695,28 @@ void SSWCP_MachineOption_Instance::sw_GetTimelapseInstance() handle_general_fail(); } } +void SSWCP_MachineOption_Instance::CmdForwarding() { + try { + std::shared_ptr host = nullptr; + wxGetApp().get_connect_host(host); + + if (!host) { + handle_general_fail(-1, "Connection lost!"); + return; + } + + auto weak_self = std::weak_ptr(shared_from_this()); + host->async_delete_camera_timelapse(m_param_data, [weak_self](const json& response) { + auto self = weak_self.lock(); + if (self) { + SSWCP_Instance::on_mqtt_msg_arrived(self, response); + } + }); + } catch (std::exception& e) { + handle_general_fail(); + } +} + void SSWCP_MachineOption_Instance::sw_DeleteCameraTimelapse() { @@ -5779,7 +5805,9 @@ std::unordered_set SSWCP::m_machine_option_cmd_list = { "sw_DeleteCameraTimelapse", "sw_GetTimelapseInstance", "sw_ServerClientManagerSetUserinfo", - "sw_DefectDetactionConfig" + "sw_DefectDetactionConfig", + GETCAMERA_TIMELAPSE_INSTANCE, + GET_DEVICEDATA_STORAGESPACE }; std::unordered_set SSWCP::m_machine_connect_cmd_list = { diff --git a/src/slic3r/GUI/SSWCP.hpp b/src/slic3r/GUI/SSWCP.hpp index a8af7daa7e..f0f9b46c96 100644 --- a/src/slic3r/GUI/SSWCP.hpp +++ b/src/slic3r/GUI/SSWCP.hpp @@ -23,7 +23,13 @@ using namespace nlohmann; namespace asio = boost::asio; using tcp = asio::ip::tcp; + +//WCP Interface definition #define UPDATE_PRIVACY_STATUS "sw_SubUserUpdatePrivacy" +#define UPLOAD_CAMERA_TIMELAPSE "sw_UploadCameraTimelapse" +#define DELETE_CAMERA_TIMELAPSE "sw_DeleteCameraTimelapse" +#define GETCAMERA_TIMELAPSE_INSTANCE "sw_GetCameraTimelapseInstance" +#define GET_DEVICEDATA_STORAGESPACE "sw_GetDeviceDataStorageSpace" namespace Slic3r { namespace GUI { @@ -422,6 +428,7 @@ private: void sw_DefectDetactionConfig(); + void CmdForwarding(); // Download machine file void sw_DownloadMachineFile(); From aaf9002afd2f7771293e7b437a9f6471fe652fde Mon Sep 17 00:00:00 2001 From: alves Date: Tue, 20 Jan 2026 18:13:22 +0800 Subject: [PATCH 5/5] fix cert bug on mac 26.x --- scripts/disable_validation.entitlements | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/scripts/disable_validation.entitlements b/scripts/disable_validation.entitlements index 123d12a53e..d2fae18a76 100644 --- a/scripts/disable_validation.entitlements +++ b/scripts/disable_validation.entitlements @@ -2,7 +2,30 @@ + + com.apple.application-identifier + 5NGD3B3V37.snapmaker-orca + com.apple.developer.team-identifier + 5NGD3B3V37 + + com.apple.security.cs.disable-library-validation + com.apple.runningboard.assertions.webkit + + com.apple.security.network.client + + com.apple.security.network.server + + com.apple.security.files.user-selected.read-write + + com.apple.security.files.downloads.read-write + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.allow-dyld-environment-variables +