Fix stale markdown "file does not exist" after linked file is created#325680
Open
cipheraxat wants to merge 2 commits into
Open
Fix stale markdown "file does not exist" after linked file is created#325680cipheraxat wants to merge 2 commits into
cipheraxat wants to merge 2 commits into
Conversation
Markdown link validation caches missing targets and relies on file watchers to clear that cache. Watching with RelativePattern(fileUri, '*') never matched create events for the file itself, so diagnostics stayed stale until restart. Watch dirname + basename instead so creates invalidate the cache.
Watch the parent directory with '*' and filter events to the target URI so filenames like [draft].md are handled literally. VS Code globs do not support backslash escapes, so escaping the basename is not reliable.
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.
Summary
RelativePattern(fileUri, '*')never matched create/change/delete events for that file (empty relative path), so “File does not exist at path” stayed stale after the file was created until restart.dirname+basenameinstead so creates invalidate the cache.Fixes #324700
Test plan
markdown.validate.enabled/ file link validation).mdfile, add a link to a path that does not exist (e.g.[x](./missing.md))missing.mdon disk (Explorer or terminal)