feat: Register orcaflashforge:// URL scheme for external application integration#32
Open
Arlieeee wants to merge 1 commit intoFlashForge:mainfrom
Open
Conversation
Register orcaflashforge:// as a system-level URL scheme alongside the existing orcaslicer:// scheme. This enables external applications (such as web apps) to launch Orca-Flashforge and trigger model imports using the orcaflashforge:// protocol. Changes: - macOS: Register orcaflashforge and orcaflashforgeopen schemes in plist files - Linux: Add x-scheme-handler/orcaflashforge to .desktop file - Windows: Register orcaflashforge:// in system registry on startup - Add is_orcaflashforge_open() detection function in Utils.hpp - Update is_supported_open_protocol() to include the new scheme Usage: orcaflashforge://open/?file=https://example.com/model.3mf
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.
Background
We are Meshy LLC (https://meshy.ai), a company focused on AI-powered 3D generation. We are developing a feature in our web application that allows users to send generated 3D models directly to slicer software for printing.
While implementing support for Orca-Flashforge, we discovered that the current URL scheme registration uses
orcaslicer://, which conflicts with the original OrcaSlicer when both applications are installed on the same system. This makes it impossible for external applications to reliably invoke Orca-Flashforge specifically.We noticed that
orcaflashforge://is already used internally (inFFWebViewPanel.cppand supported byDownloader.cpp), but it is not registered at the OS level, preventing external applications from using it.Summary
This PR adds system-level registration for the
orcaflashforge://URL scheme, enabling external applications (web apps, third-party tools) to launch Orca-Flashforge and import models directly.Currently, while
orcaflashforge://is used internally inFFWebViewPanel.cppand supported byDownloader.cpp, it is not registered at the OS level. This means external applications cannot use this scheme to invoke Orca-Flashforge.Changes
cmake/modules/MacOSXBundleInfo.plist.inorcaflashforgeandorcaflashforgeopenschemessrc/platform/osx/Info.plist.inorcaflashforgeandorcaflashforgeopenschemessrc/platform/unix/Orca-Flashforge.desktopx-scheme-handler/orcaflashforgeto MimeTypesrc/slic3r/GUI/GUI_App.cppassociate_url(L"orcaflashforge")callssrc/libslic3r/Utils.hppis_orcaflashforge_open()and updatedis_supported_open_protocol()Usage
After this change, external applications can invoke Orca-Flashforge using:
orcaflashforge://open/?file=https://example.com/model.3mf
Backwards Compatibility
orcaslicer://scheme remains fully functional