Skip to content

Handle file modifications to autolaunch file - #5622

Merged
DanTup merged 2 commits into
masterfrom
watch-autolaunch-modifications
Jul 31, 2025
Merged

DanTup merged 2 commits into
masterfrom
watch-autolaunch-modifications

Conversation

@DanTup

@DanTup DanTup commented Jul 31, 2025

Copy link
Copy Markdown
Member

Include debounce, + better handling of disposals and overlapped triggers.

Fixes #5621

Include debounce, + better handling of disposals and overlapped triggers.

Fixes #5621
@DanTup
DanTup requested a review from Copilot July 31, 2025 10:34
@DanTup

DanTup commented Jul 31, 2025

Copy link
Copy Markdown
Member Author

/gemini review

@DanTup DanTup added this to the v3.116.0 milestone Jul 31, 2025

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements proper handling of file modifications to the autolaunch file by adding debouncing functionality and better management of disposals and overlapped triggers.

  • Adds debouncing to prevent excessive processing when autolaunch files are rapidly modified
  • Improves disposal handling to prevent operations from continuing after the AutoLaunch instance has been disposed
  • Adds a processing queue to prevent overlapping async operations

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
src/shared/vscode/autolaunch.ts Implements debounced file change handling, disposal safety checks, and a processing queue to prevent overlapped operations
src/test/dart/debug/autolaunch.test.ts Adds comprehensive tests for file modification scenarios including debouncing behavior and refactors helper functions
Comments suppressed due to low confidence (1)

src/test/dart/debug/autolaunch.test.ts:74

  • The test directly uses fs.promises.writeFile instead of the writeAutoLaunch helper function that's used elsewhere in the test. This creates inconsistency and makes the test harder to maintain. Consider using writeAutoLaunch(filePath, launchConfig1) for consistency.
			await fs.promises.writeFile(filePath, JSON.stringify({ configurations: [launchConfig1] }));

Comment thread src/shared/vscode/autolaunch.ts
Comment thread src/shared/vscode/autolaunch.ts

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request effectively adds handling for file modifications to the autolaunch feature, including debouncing to prevent issues with rapid changes and a processing queue to avoid overlapping triggers. The disposal logic has also been significantly improved with the addition of isDisposed checks, making the component more robust. The new tests provide good coverage for the new functionality.

I've identified a minor issue in the test helper functions where an unused parameter can be removed to improve code clarity. Overall, this is a solid improvement.

Comment thread src/test/dart/debug/autolaunch.test.ts Outdated
Comment thread src/test/dart/debug/autolaunch.test.ts Outdated
@DanTup
DanTup force-pushed the watch-autolaunch-modifications branch from 3b3eada to 79e87f3 Compare July 31, 2025 11:25
@DanTup
DanTup merged commit 6f09f67 into master Jul 31, 2025
@DanTup
DanTup deleted the watch-autolaunch-modifications branch July 31, 2025 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support watching file modifications to autolaunch files

2 participants