Remove reassemble invocation and publish 24.3.7 (#2598)

https://github.com/dart-lang/webdev/issues/2584

This can and should be done in Flutter tools.
diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md
index 5b2c181..7ff5a0d 100644
--- a/dwds/CHANGELOG.md
+++ b/dwds/CHANGELOG.md
@@ -1,4 +1,7 @@
-## 24.3.7-wip
+## 24.3.7
+
+- The registered extension `reassemble` is now no longer called when calling
+  `reloadSources`. Users should call `reassemble` using `callServiceExtension`.
 
 - `callServiceExtension` now checks the runtime for the list of registered
   service extensions. It also now throws a `RPCError` with
diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index ec9487f..d372110 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -9809,34 +9809,6 @@
       });
       return A._asyncStartSync($async$_Debugger_maybeInvokeFlutterDisassemble, $async$completer);
     },
-    _Debugger_maybeInvokeFlutterReassemble(_this) {
-      var $async$goto = 0,
-        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
-        t1;
-      var $async$_Debugger_maybeInvokeFlutterReassemble = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
-        if ($async$errorCode === 1)
-          return A._asyncRethrow($async$result, $async$completer);
-        while (true)
-          switch ($async$goto) {
-            case 0:
-              // Function start
-              t1 = type$.JSArray_nullable_Object._as(_this.extensionNames);
-              $async$goto = J.contains$1$asx(type$.List_String._is(t1) ? t1 : new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,String>")), "ext.flutter.reassemble") ? 2 : 3;
-              break;
-            case 2:
-              // then
-              $async$goto = 4;
-              return A._asyncAwait(A.promiseToFuture(type$.JSObject._as(_this.invokeExtension("ext.flutter.reassemble", "{}")), type$.String), $async$_Debugger_maybeInvokeFlutterReassemble);
-            case 4:
-              // returning from await.
-            case 3:
-              // join
-              // implicit return
-              return A._asyncReturn(null, $async$completer);
-          }
-      });
-      return A._asyncStartSync($async$_Debugger_maybeInvokeFlutterReassemble, $async$completer);
-    },
     DdcLibraryBundleRestarter: function DdcLibraryBundleRestarter() {
     },
     DdcLibraryBundleRestarter_reload_closure: function DdcLibraryBundleRestarter_reload_closure(t0, t1) {
@@ -26743,10 +26715,6 @@
               return A._asyncAwait(A.promiseToFuture(t3._as(t3._as(t2.dartDevEmbedder).hotReload(filesToLoad, librariesToReload)), type$.nullable_Object), $async$reload$1);
             case 3:
               // returning from await.
-              $async$goto = 4;
-              return A._asyncAwait(A._Debugger_maybeInvokeFlutterReassemble(t3._as(t3._as(t2.dartDevEmbedder).debugger)), $async$reload$1);
-            case 4:
-              // returning from await.
               // implicit return
               return A._asyncReturn(null, $async$completer);
           }
diff --git a/dwds/lib/src/version.dart b/dwds/lib/src/version.dart
index fb7db9f..f47c504 100644
--- a/dwds/lib/src/version.dart
+++ b/dwds/lib/src/version.dart
@@ -1,2 +1,2 @@
 // Generated code. Do not modify.
-const packageVersion = '24.3.7-wip';
+const packageVersion = '24.3.7';
diff --git a/dwds/pubspec.yaml b/dwds/pubspec.yaml
index b2a8908..25af1f2 100644
--- a/dwds/pubspec.yaml
+++ b/dwds/pubspec.yaml
@@ -1,6 +1,6 @@
 name: dwds
 # Every time this changes you need to run `dart run build_runner build`.
-version: 24.3.7-wip
+version: 24.3.7
 description: >-
   A service that proxies between the Chrome debug protocol and the Dart VM
   service protocol.
diff --git a/dwds/web/reloader/ddc_library_bundle_restarter.dart b/dwds/web/reloader/ddc_library_bundle_restarter.dart
index f91f74a..3ff7993 100644
--- a/dwds/web/reloader/ddc_library_bundle_restarter.dart
+++ b/dwds/web/reloader/ddc_library_bundle_restarter.dart
@@ -30,13 +30,6 @@
       await invokeExtension(method, '{}').toDart;
     }
   }
-
-  Future<void> maybeInvokeFlutterReassemble() async {
-    final method = 'ext.flutter.reassemble';
-    if (extensionNames.toDart.contains(method.toJS)) {
-      await invokeExtension(method, '{}').toDart;
-    }
-  }
 }
 
 @JS('XMLHttpRequest')
@@ -92,9 +85,5 @@
       }
     }
     await _dartDevEmbedder.hotReload(filesToLoad, librariesToReload).toDart;
-    // TODO(srujzs): Reassembling is slow. It's roughly almost the time it takes
-    // to recompile and do a hot reload. We should do some better profiling and
-    // see if we can improve this.
-    await _dartDevEmbedder.debugger.maybeInvokeFlutterReassemble();
   }
 }