-
Notifications
You must be signed in to change notification settings - Fork 87
[dwds] Wait for scripts to be parsed on a hot restart and publish DWDS 25.0.0 #2667
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…S 25.0.0 Like dart-lang#2640, we should wait until scripts are parsed before continuing a hot restart. Otherwise, metadata can be stale and breakpoints may be placed in the wrong files. For now, we only do this in the DDC library bundle format as we don't have a way to fetch the changed libraries in the AMD format. - hotReloadSourcesUri is repurposed to be reloadedSourcesUri, which is a breaking change. This file is now used for both hot restart and hot reload to detail the changed files across either. - Injected client is changed to return the mapping within this uri when a hot reload is executed. - Completer is added to ChromeProxyService to wait until all scripts are parsed before recreating the isolate, which will reinitialize all metadata. - Fix a preexisting race condition where we don't listen for a kIsolateStart event early enough. This should help fix the Windows flakes for hot_restart_breakpoints_test.dart.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks Srujan
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's coordinate on publishing because I have some changes I want in v25.0.0 as well.
FYI my change that I want to include in v25.0.0: #2660 |
Revisions updated by `dart tools/rev_sdk_deps.dart`. ai (https://github.com/dart-lang/ai/compare/6b4b2bc..ee5b2b2): ee5b2b2 2025-08-13 Greg Spencer Stop reporting errors for non-zero exits (dart-lang/ai#262) protobuf (https://github.com/dart-lang/protobuf/compare/0b73b0d..6e9c9f4): 6e9c9f4 2025-08-12 Ömer Sinan Ağacan Improve clone and deepCopy tests (google/protobuf.dart#1039) 086dfab 2025-08-12 Ömer Sinan Ağacan Make proto3_json.dart aware of well known types (google/protobuf.dart#1037) 277b45a 2025-08-12 Ömer Sinan Ağacan Release protobuf 4.2.0 (google/protobuf.dart#1038) shelf (https://github.com/dart-lang/shelf/compare/2a46b4f..400fc39): 400fc39 2025-08-11 Kevin Moore [shelf_router_generator] latest deps, prepare release (dart-lang/shelf#480) web (https://github.com/dart-lang/web/compare/72cdd84..4310354): 4310354 2025-08-12 Nikechukwu [interop] Add Support for JSDoc Documentation (dart-lang/web#435) webdev (https://github.com/dart-lang/webdev/compare/94c172c..c0492f1): c0492f1b 2025-08-13 Srujan Gaddam [dwds] Wait for scripts to be parsed on a hot restart and publish DWDS 25.0.0 (dart-lang/webdev#2667) 595f8768 2025-08-13 Nicholas Shahan [dwds] Cleanup unused null safety related fields (dart-lang/webdev#2660) b43030e2 2025-08-12 Jessy Yameogo Implemented hot restart over websocket (dart-lang/webdev#2666) Change-Id: I1cb2a0c2ed693bb740ab4c40ea70678b03eec596 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/445340 Auto-Submit: Devon Carew <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Konstantin Shcheglov <[email protected]>
Like #2640, we should wait until scripts are parsed before continuing a hot restart. Otherwise, metadata can be stale and breakpoints may be placed in the wrong files.
For now, we only do this in the DDC library bundle format as we don't have a way to fetch the changed libraries in the AMD format.
This should help fix the Windows flakes for hot_restart_breakpoints_test.dart.