Skip to content

feat(desktop): demo single instance and native Linked/Vault drops - #269

Draft
Kechos23 wants to merge 19 commits into
ThisIs-Developer:mainfrom
Kechos23:codex/desktop-native-runtime-demo
Draft

Kechos23 wants to merge 19 commits into
ThisIs-Developer:mainfrom
Kechos23:codex/desktop-native-runtime-demo

Conversation

@Kechos23

@Kechos23 Kechos23 commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Draft/demo: opt-in Windows single-instance and native file-drop integration

This is an optional future desktop integration on top of #262, not a request to ship a custom runtime today. Please feel free to keep it as a draft/demo, defer it until stable Neutralino support is available, or decline it if it does not fit the project's direction.

Why these features matter

Single instance: users who associate .md files with Markdown Viewer can double-click more files and have them open in the existing application, without a transient second window or disconnected workspaces. Later launches are queued during startup, relative paths use the sender's working directory, and already-open paths are deduplicated.

Single-instance demonstration

Native drops: dropping an Explorer file anywhere over the application can offer Link original / Workspace copy using its real filesystem path, without asking the user to select the same file again. Folder drops reuse the linked-folder workflow from #262. Cancellation imports nothing.

Native-drop demonstration

Dependencies and isolation

  • Requires feat(desktop): link Markdown files and folders alongside Vault copies #262 for linked-source workflows.
  • Requires Neutralino #1852 for singleInstance / secondInstance.
  • Requires Neutralino #1845 for native drop events over the WebView surface.
  • Both upstream runtime PRs were still open when checked during preparation. No runtime binary or upstream patch is included here; official runtime/client pins remain unchanged.
  • Experimental preparation explicitly generates ignored feature flags and a separate ignored configuration. Ordinary preparation removes them. Event handlers require Windows and the relevant opt-in.
  • The current Windows native drop patch intercepts HTML dragging. A desktop/Windows/opt-in-only pointer fallback preserves internal moves and linked conversion for that experiment. It is not presented as an official application's drag bug fix and should be reassessed when native and HTML dragging coexist.
  • The web entry point does not load these flags. Standard browser and stock desktop HTML dragging remains in place.

Validation and limitations

  • 124 unit tests passed, including launch forwarding, path handling, queueing and flag/platform gating.
  • 35 focused Chromium tests passed for drop choices, file/folder pointer conversion, Save As and web isolation using controlled fixtures.
  • The earlier combined Windows runtime was manually accepted, but this newly rebased branch still needs final native OS testing. Browser fixtures do not prove native window activation or filesystem atomicity.
  • No app-side macOS/Linux integration is claimed tested. Drive-relative Windows paths such as C:notes.md are unsupported; fully qualified and ordinary relative paths are supported.
  • Reassess the patch and pointer fallback when stable Neutralino support arrives. Do not replace the combined custom runtime wholesale until both required behaviors exist and have been retested.

This is the fourth related proposal, so I have kept the experimental dependencies isolated from the ordinary Linked Workspace PR rather than mixing runtime requirements into it.

Review dependency

Stacked on #262, which in turn uses shared safety PR #279. The full upstream-main diff currently includes both baselines. The incremental runtime-demo comparison isolates this experiment. This remains a draft; no patched executable is proposed for upstream distribution.

@vercel

vercel Bot commented Oct 4, 2026

Copy link
Copy Markdown

@Kechos23 is attempting to deploy a commit to the Developer Labs Team on Vercel.

A member of the Team first needs to authorize it.

@ThisIs-Developer ThisIs-Developer added the enhancement New feature, improvement, or usability enhancement. label Oct 5, 2026 — with ChatGPT Codex Connector
@vercel

vercel Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
markdown-viwer Ready Ready Preview Oct 5, 2026 4:27pm UTC

@Kechos23

Copy link
Copy Markdown
Contributor Author

Hello @ThisIs-Developer, if you would like to evaluate these features together, I can point you to the custom Windows release used for our manual testing. It demonstrates single-instance file opening and native drag-and-drop with the choice between linking the original and creating a Workspace copy.

If you are comfortable maintaining a custom Neutralino build, this could also serve as an interim option while the upstream runtime changes are pending. However, it is not a maintenance-free alternative to updating Neutralino: security fixes and future runtime updates would still need to be incorporated and retested.

There is no expectation to adopt or distribute that runtime. Keeping this PR as a draft/demo until official support becomes available is equally reasonable.

This branch was successfully deployed

1 active (outdated) deployment
Preview — 55ca88e9 Deployed Oct 5, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, improvement, or usability enhancement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants