add debounce for theme filewatcher to stop unwanted file deletes #6791
+30
−4
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.
WHY are these changes introduced?
With the increase in LLM's editing files, file updates can happen in small batches in very quick succession. This can kick off multiple file syncs when we upload the changed file.
Adding a debounce will lower the amount of file changes sent.
WHAT is this pull request doing?
Add a 250ms debounce. The file syncs do not affect hot reloads so we shouldn't see a slow down there.
The following screenshots are from a script that updated the same file 25 times, firing an update every
100ms.Before: (Sometimes the file watcher grouped a few updates together, overall it synced 17 times)

After: (One single update)

How to test your changes?
You too can run the script!
Details
theme devin a terminal instancetheme devagainst`ruby test_debounce.rbPost-release steps
Measuring impact
How do we know this change was effective? Please choose one:
Checklist