Repository navigation
Conversation
|
@Kechos23 is attempting to deploy a commit to the BS Team on Vercel. A member of the Team first needs to authorize it. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
ThisIs-Developer
left a comment
There was a problem hiding this comment.
Thanks again for this contribution. I’ve already tested the feature and shared my detailed requested updates in this comment:
#262 (comment)
Please follow the points mentioned there before the final update. Take your time with the changes, as some of them involve the Workspace structure and linked-file storage behavior.
…pies Uses the existing HTML drop handler; no custom runtime or pointer workaround dependency. Persists conversion before success and restores linked metadata on save failure.
Make Ctrl+S keyboard-layout independent, propose document filenames with Markdown extensions, protect appended-extension destinations, and add document-specific Save/Save As context actions. Preserve Vault and linked source documents while activating the newly saved linked file. Keep Ctrl+Shift+S unchanged. Include regression coverage for save workflows, overwrite cancellation, and write failures.
…ilities Keep recovery drafts usable in browsers without exposing native linked controls or writes. Preserve source metadata and use browser downloads for Ctrl+S when desktop APIs are unavailable.
Avoid sidebar redraws for unchanged focus scans and defer background UI changes until the current menu closes. Keep external content synchronization active, batch folder scan rendering, and avoid changing recent-open timestamps during scans. Add regressions for unchanged scans, new files, content updates, and missing sources.
Seed an editable internal Markdown guide once for fresh and existing desktop workspaces without taking startup focus. Store it in Linked Workspace without an external source path, respect intentional deletion, and keep native source actions and web seeding disabled. Include guide content, persistence handling, regression tests, and generated desktop scripts.
|
Thanks for testing the feature and for the detailed suggestions. I have addressed the seven review points:
Related improvements include explicit rescans restoring removed links, background refreshes preserving open context menus, Save/Save As with Markdown filenames and independent copies, and one-way linked-to-Vault conversion through the existing HTML drag-and-drop mechanism. The update passed 29 unit tests, 95 targeted Chromium tests, and the static smoke check. A separate review executable was built using the project's unchanged official Neutralino runtime. Native manual validation is currently Windows-focused; macOS/Linux remain unverified. Browser/Docker controls are guarded and their ordinary workflows are covered by the regression tests. The custom Windows native-drop and single-instance experiments remain separate. This PR does not need them. Please let me know if you would prefer any of the related additions split out or reduced in scope. |
ThisIs-Developer
left a comment
There was a problem hiding this comment.
@Kechos23 Hi, thank you again for working through all of the previous points. I tested the latest version and I really like how the Linked Workspace feature is coming together. The previous requested updates look much better now.
I noticed a few smaller UI/workflow items, and I also checked a few edge cases against the current implementation.
1. Linked Workspace right-click menu
When I right-click Workspace (Vault), then a dropdown option shows with create new files/folders. I think the Linked Workspace should also have the same dropdown options.
It could contain:
- Link Markdown files
- Link Markdown folder
2. Welcome to Linked Workspace icon
The Welcome to Linked Workspace document currently uses the normal file icon. I understand that technically it is an internal document and not an external linked file, so the current implementation makes sense.
However, visually I think it would look more consistent if it used the Linked Workspace file/symlink icon as well, since the document belongs specifically to that workspace. Please share your opinion about this point with me.
3. Preserve linked-folder hierarchy inside Linked Workspace recovery storage
The Explorer UI correctly shows the linked folder hierarchy. For example, in my test the linked folder appears as its own folder and its files are nested underneath it.
However, when I inspect the file manager Markdown Viewer Vault, all linked recovery documents are stored directly under the Linked Workspace folder. The original linked-folder hierarchy is not represented there.
This would make recovery storage much easier to understand and inspect manually.
4. Confirmation before Save modifies the original linked file
I understand the current Linked Workspace design better now: edits are stored as recovery drafts, while Save / Ctrl+S explicitly updates the original external file. I think that behavior itself is reasonable.
My concern is accidental use. A user may open a linked document, edit it, press Ctrl+S out of habit, and not immediately realize that the original filesystem file will be changed.
Could we add a confirmation box (same UI as "reset-confirm-modal") the first time the user saves back to an original linked file?
Something like:
Save changes to the original linked file?
This will update the original file at:
C:\...\example.md
Cancel | Save to original
With a checkbox such as:
Don't show this warning again
Once the user understands the behavior, they can disable the confirmation permanently. I think this would make the feature safer without changing how Linked Workspace fundamentally works.
IMP NOTE
I personally haven’t reviewed the code deeply enough to confirm whether there are any potential data-loss or safety-related edge cases, so as an extra precaution, I asked Codex to review the implementation. It came back with the following four points:
| Priority | Codex Finding | Location |
|---|---|---|
| P1 | Check current editor text before refreshing linked files | script.js:11596–11601 |
| P1 | Preserve local drafts when a missing source returns | script.js:11613–11618 |
| P2 | Register watchers for links created by Save As | script.js:24997–25002 |
| P2 | Apply folder exclusions during bulk deletion | script.js:11809–11814 |
I’m not sure whether these are actual issues or just edge cases identified by Codex. If you could please check or reproduce these code paths and confirm that there is nothing to worry about, that would be completely fine as well.
I mainly wanted to raise them as a safety precaution before merging, especially for anything that could potentially affect users' files or local drafts.
If any of these points are valid, it would be really helpful if you could address them too.
Thanks a lot, man, for all the work you’ve done on this. I really appreciate it, and I really like the direction this feature has taken. I just want to make sure everything is safe and stable so we can get this merged as soon as possible. 👍
Love your work! ❤️




Summary
Add a desktop linked-source workflow alongside the existing Vault copies:
Removing a linked file or folder removes the application's reference, not the original files. Converted Vault copies remain independent even when their original source is reopened. Explicit folder rescans or re-adding a folder restore removed links; automatic background scans continue respecting removals.
Save dialogs propose the document title and add
.mdwhen no extension is specified. Ctrl+S also recognizes non-Latin keyboard layouts. Save As is context-menu-only; Ctrl+Shift+S keeps its existing scroll-sync behavior.Review follow-up
All seven requested review points have been addressed. Related improvements cover nested expansion persistence, hover-only paths, consistent notification icons, migration recovery, safe conversion failures, and non-disruptive background refreshes while a context menu is open.
Platform scope and dependencies
Native linking, monitoring, and Save/Save As controls require desktop filesystem capabilities. Browser/Docker use retains its ordinary Workspace, existing HTML drag-and-drop, and Markdown download flow. Recovery documents containing desktop metadata remain usable as normal browser drafts without native controls; their metadata is preserved.
Desktop workflows were manually tested on Windows in the development prototype. macOS/Linux desktop behavior has not been manually verified. A separate review executable was built with the project's unchanged official Neutralino 6.5.0 runtime; it does not contain the custom runtime patches. Native manual testing of this exact review executable is still pending.
Validation
Demo
The existing demo predates the review polish. An updated recording can show the unified workspace layout, guide, independent conversion, and Save As workflow.
Possible desktop follow-ups
In a separate Windows prototype, native Explorer drops can offer Link original or Import to Workspace using real source paths across the full WebView. That currently requires a custom Neutralino build carrying the fix proposed in Neutralino PR #1845. I would propose the Markdown Viewer integration separately once the fix is available in an official stable runtime, with the linked-source model as its foundation.
Reusing the existing desktop window for files opened from the OS, without briefly showing a second window, is another separate prototype. It currently uses a Windows-specific native single-instance patch. I intend to explore an upstream runtime solution around Neutralino issue #901 before proposing its integration here. The single-instance patch is separate from the native drop fix.
Neither follow-up is required to review or use this PR. Their current implementations are Windows-only; equivalent behavior on other platforms would need separate investigation. If any desktop addition is outside the project's intended scope, please feel free to request a narrower change or decline it. I am happy to maintain the Windows-specific experiments separately.