Repository navigation
Conversation
This branch has not been deployed
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.
Moving
Child.flydeintoparts/currently leaves an importing flow pointing at./Child.flyde. This change updates the reference to./parts/Child.flydeduring VS Code's rename operation. Moving the importer itself rebases its references too, and another save in an already open visual editor preserves those changes.Validation
git diff --checkpasses.ENOENTfor the old path. Restoring registration makes it pass. This was a handler-disabled control, not a pristine-main checkout.The top-level test command needs an environment adjustment on Node 22: loader's existing TypeScript import-assignment syntax requires disabling native type stripping, but Electron rejects that inherited
NODE_OPTIONSflag. Package tests and the extension host were therefore run separately; the top-level test command is not claimed to have passed as one command. A short temporary VS Code profile was used because the default long workspace path exceeded the local IPC socket path limit.Demo
21-second native VS Code checkpoint demo showing the original reference, its updated reference after a real dependency move, and a second visual edit in the same panel. The real loader resolves
Childat all three checkpoints.The video is a montage of three actual native screenshots captured during a successful automated extension-host scenario, with subtitle captions. It is not a continuous recording; no synthesized editor UI is shown.
Scope
This handles moves reported by VS Code's file-rename API. It does not recover arbitrary external filesystem moves. Anchored/aliased source scalars are left untouched to avoid changing unrelated alias consumers. Runtime verification was on macOS with local file URIs; Windows, remote filesystem providers, and executing/debugging a moved flow were not exercised. URI preservation and debugger-path refresh are implemented and source-reviewed.
AI disclosure
OpenAI Codex agents authored this implementation and its tests with the account owner's authorization. Another Codex agent reviewed the final changes. The validation above records executed checks; no maintainer approval, human review, exclusive claim, bounty availability, or award is implied.
Fixes #112
/claim #112