Fix FlutterOutline
service infinite subscriptions
#8057
Merged
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.
Fixes an issue where we never unsubscribe outline listeners.
The rub is that
getLocalFileUri
is being called on a path that is already a URI and is producing a bogus path which has no associated listener registered (because it’s bogus).In general the issue here is a symptom of URIs being encoded in strings that are never validated.
The quick fix is to not “uri-ify” an already valid UR string. Longer term we should consider a deeper audit of places we’re passing URIs around. It’s possible there are other related issues. If/when we do this, Alex shared some interesting thoughts from his work on the Dart plugin that’d be worth synthesizing.
Fixes: #7980
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.