Skip to content

added HotRestartRequest to _deserializeMessage#2779

Open
jyameo wants to merge 2 commits intodart-lang:mainfrom
jyameo:jy-fix-serialization
Open

added HotRestartRequest to _deserializeMessage#2779
jyameo wants to merge 2 commits intodart-lang:mainfrom
jyameo:jy-fix-serialization

Conversation

@jyameo
Copy link
Contributor

@jyameo jyameo commented Feb 17, 2026

@jyameo jyameo requested a review from nshahan February 17, 2026 19:33
@auto-submit auto-submit bot removed the autosubmit label Feb 17, 2026
@auto-submit
Copy link

auto-submit bot commented Feb 17, 2026

autosubmit label was removed for dart-lang/webdev/2779, because - The status or check suite unit_test; linux; Dart main; PKG: webdev; Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &, `d... has failed. Please fix the issues identified (or deflake) before re-applying this label.

Copy link
Contributor

@nshahan nshahan left a comment

Choose a reason for hiding this comment

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

LGTM but I have two questions:

  1. Is this a type that needs the custom wire format that is backwards compatible with the built_value version used in the debug extension?
  2. Can you think of any reasonable test we could add so we don't accidentally delete it in the future?

@jyameo
Copy link
Contributor Author

jyameo commented Feb 17, 2026

  1. Is this a type that needs the custom wire format that is backwards compatible with the built_value version used in the debug extension?

No, this type doesn’t require the custom wire format used for built_value compatibility (list based) in the debug extension. It uses standard JSON serialization (map based). I’ve refactored this by introducing _deserializeMessage and _serializeMessage to replace the previous serializers.serialize calls. I also added some comments to indicate which data types are list-based vs map-based.

  1. Can you think of any reasonable test we could add so we don't accidentally delete it in the future?

Since this RPC request originates from the injected client, it requires E2E integration between Flutter tools and DWDS. I have already added some E2E tests for hot reload and hot restart over WebSockets in the Flutter repo that should catch regressions such as these.

CC @nshahan

@natebosch
Copy link
Member

Do we expect the CI failures are existing problems or do they look related to this change?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants