From 7ea0b25f586f928a026568b81fe00a4080e7af57 Mon Sep 17 00:00:00 2001 From: Kenzie Davisson Date: Mon, 27 Jul 2026 13:29:37 -0700 Subject: [PATCH 1/6] Stop ignoring standalone_ui from dcm check --- analysis_options.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index 070a4f5e864..b6c61e1fe0a 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -168,7 +168,6 @@ dart_code_metrics: - lib/src/screens/inspector/**_controller.dart - lib/src/service/** - lib/src/shared/** - - lib/src/standalone_ui/** - test/** rules: # - arguments-ordering Too strict From 908cdc86a0f297e74a66111ed8dfe3a2a81e889f Mon Sep 17 00:00:00 2001 From: Kenzie Davisson Date: Mon, 27 Jul 2026 13:30:31 -0700 Subject: [PATCH 2/6] Remove unused code from standalone_ui/ --- .../property_editor_controller.dart | 2 -- .../property_editor_panel.dart | 26 +++++-------------- .../property_editor/utils/_utils_desktop.dart | 7 ----- .../property_editor/utils/_utils_web.dart | 9 ------- .../standalone_ui/vs_code/debug_sessions.dart | 4 --- .../vs_code/devtools/devtools_view.dart | 2 -- .../vs_code/devtools/extensions_view.dart | 1 - .../vs_code/devtools/shared.dart | 5 ---- .../standalone_ui/vs_code/flutter_panel.dart | 1 - 9 files changed, 6 insertions(+), 51 deletions(-) delete mode 100644 packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/utils/_utils_desktop.dart delete mode 100644 packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/utils/_utils_web.dart diff --git a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_controller.dart b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_controller.dart index c8bf0e17a5a..977798d8481 100644 --- a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_controller.dart +++ b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_controller.dart @@ -47,8 +47,6 @@ class PropertyEditorController extends DisposableController _editableWidgetData; final _editableWidgetData = ValueNotifier(null); - List get allProperties => - _editableWidgetData.value?.properties ?? []; String? get widgetName => _editableWidgetData.value?.name; String? get widgetDocumentation => _editableWidgetData.value?.documentation; String? get fileUri => _editableWidgetData.value?.fileUri; diff --git a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart index 65586529671..997f8cffa02 100644 --- a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart +++ b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart @@ -31,7 +31,6 @@ class PropertyEditorPanel extends StatefulWidget { class _PropertyEditorPanelState extends State { _PropertyEditorPanelState(); - Future? _editor; PropertyEditorController? _propertyEditorController; @override @@ -40,12 +39,9 @@ class _PropertyEditorPanelState extends State { final editor = EditorClient(widget.dtdManager); ga.screen(gac.PropertyEditorSidebar.id); - unawaited( - _editor = editor.initialized.then((_) { - _propertyEditorController = PropertyEditorController(editor); - return editor; - }), - ); + unawaited(editor.initialized.then((_) { + _propertyEditorController = PropertyEditorController(editor); + })); } @override @@ -58,17 +54,8 @@ class _PropertyEditorPanelState extends State { Widget build(BuildContext context) { return Align( alignment: Alignment.topCenter, - child: FutureBuilder( - future: _editor, - builder: (context, snapshot) => - switch ((snapshot.connectionState, snapshot.data)) { - (ConnectionState.done, final editor?) => - _PropertyEditorConnectedPanel( - editor, - controller: _propertyEditorController!, - ), - _ => const CenteredCircularProgressIndicator(), - }, + child: _PropertyEditorConnectedPanel( + controller: _propertyEditorController!, ), ); } @@ -76,9 +63,8 @@ class _PropertyEditorPanelState extends State { /// The property editor panel shown once we know an editor is available. class _PropertyEditorConnectedPanel extends StatefulWidget { - const _PropertyEditorConnectedPanel(this.editor, {required this.controller}); + const _PropertyEditorConnectedPanel({required this.controller}); - final EditorClient editor; final PropertyEditorController controller; @override diff --git a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/utils/_utils_desktop.dart b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/utils/_utils_desktop.dart deleted file mode 100644 index 0f5176205aa..00000000000 --- a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/utils/_utils_desktop.dart +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2025 The Flutter Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd. - -void reloadIframe() { - // No-op for desktop platforms. -} diff --git a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/utils/_utils_web.dart b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/utils/_utils_web.dart deleted file mode 100644 index cf386af6e58..00000000000 --- a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/utils/_utils_web.dart +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2025 The Flutter Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd. - -import 'package:web/web.dart'; - -void reloadIframe() { - window.location.reload(); -} diff --git a/packages/devtools_app/lib/src/standalone_ui/vs_code/debug_sessions.dart b/packages/devtools_app/lib/src/standalone_ui/vs_code/debug_sessions.dart index 033255a5789..79ec9914063 100644 --- a/packages/devtools_app/lib/src/standalone_ui/vs_code/debug_sessions.dart +++ b/packages/devtools_app/lib/src/standalone_ui/vs_code/debug_sessions.dart @@ -17,7 +17,6 @@ class DebugSessions extends StatelessWidget { const DebugSessions({ required this.editor, required this.sessions, - required this.devices, super.key, }); @@ -26,9 +25,6 @@ class DebugSessions extends StatelessWidget { /// A map of debug session IDs to their debug sessions. final Map sessions; - /// A map of device IDs to their devices. - final Map devices; - @override Widget build(BuildContext context) { return Column( diff --git a/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/devtools_view.dart b/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/devtools_view.dart index 87a8fd58469..9d01c673aee 100644 --- a/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/devtools_view.dart +++ b/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/devtools_view.dart @@ -118,7 +118,6 @@ class SidebarDevToolsScreens extends StatelessWidget { (s) => createDevToolsScreenRow( dataLeft: _buttonDataFromScreen(s), dataRight: null, - editor: editor, singleColumn: singleColumn, hasDebugSessions: debugSessions.isNotEmpty, onPressed: (data) => openDevToolsScreen( @@ -140,7 +139,6 @@ class SidebarDevToolsScreens extends StatelessWidget { createDevToolsScreenRow( dataLeft: _buttonDataFromScreen(first), dataRight: second != null ? _buttonDataFromScreen(second) : null, - editor: editor, singleColumn: singleColumn, hasDebugSessions: debugSessions.isNotEmpty, onPressed: (data) => openDevToolsScreen( diff --git a/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/extensions_view.dart b/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/extensions_view.dart index 5de8f6b83bf..b6b4b7340f3 100644 --- a/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/extensions_view.dart +++ b/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/extensions_view.dart @@ -107,7 +107,6 @@ class _SidebarDevToolsExtensionsState extends State // because we do not have control over how long the names // will be and we want to avoid ugly text wrapping. singleColumn: true, - editor: widget.editor, hasDebugSessions: widget.debugSessions.isNotEmpty, onPressed: (data) { ga.select( diff --git a/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/shared.dart b/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/shared.dart index 10ec203df28..e64162aef13 100644 --- a/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/shared.dart +++ b/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/shared.dart @@ -25,7 +25,6 @@ TableRow createDevToolsScreenRow({ required DevToolsButtonData? dataRight, required bool singleColumn, required bool hasDebugSessions, - required EditorClient editor, required void Function(DevToolsButtonData data) onPressed, }) { assert( @@ -35,7 +34,6 @@ TableRow createDevToolsScreenRow({ final cellRight = dataRight != null ? _DevToolsScreenButton( data: dataRight, - editor: editor, hasDebugSessions: hasDebugSessions, onPressed: onPressed, ) @@ -44,7 +42,6 @@ TableRow createDevToolsScreenRow({ children: [ _DevToolsScreenButton( data: dataLeft, - editor: editor, hasDebugSessions: hasDebugSessions, onPressed: onPressed, ), @@ -56,13 +53,11 @@ TableRow createDevToolsScreenRow({ class _DevToolsScreenButton extends StatelessWidget { const _DevToolsScreenButton({ required this.data, - required this.editor, required this.hasDebugSessions, required this.onPressed, }); final DevToolsButtonData data; - final EditorClient editor; final bool hasDebugSessions; final void Function(DevToolsButtonData data) onPressed; diff --git a/packages/devtools_app/lib/src/standalone_ui/vs_code/flutter_panel.dart b/packages/devtools_app/lib/src/standalone_ui/vs_code/flutter_panel.dart index a540ca799ee..61d335401f6 100644 --- a/packages/devtools_app/lib/src/standalone_ui/vs_code/flutter_panel.dart +++ b/packages/devtools_app/lib/src/standalone_ui/vs_code/flutter_panel.dart @@ -177,7 +177,6 @@ class _EditorConnectedPanelState extends State<_EditorConnectedPanel> DebugSessions( editor: widget.editor, sessions: debugSessions, - devices: devices, ), const SizedBox(height: defaultSpacing), if (widget.editor.supportsSelectDevice) ...[ From a82208a1d95b862942a89c7cb0cdf7f04b464c59 Mon Sep 17 00:00:00 2001 From: Kenzie Davisson Date: Mon, 27 Jul 2026 13:51:57 -0700 Subject: [PATCH 3/6] formatting --- .../ide_shared/property_editor/property_editor_panel.dart | 8 +++++--- .../lib/src/standalone_ui/vs_code/flutter_panel.dart | 5 +---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart index 997f8cffa02..246ea3b5550 100644 --- a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart +++ b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart @@ -39,9 +39,11 @@ class _PropertyEditorPanelState extends State { final editor = EditorClient(widget.dtdManager); ga.screen(gac.PropertyEditorSidebar.id); - unawaited(editor.initialized.then((_) { - _propertyEditorController = PropertyEditorController(editor); - })); + unawaited( + editor.initialized.then((_) { + _propertyEditorController = PropertyEditorController(editor); + }), + ); } @override diff --git a/packages/devtools_app/lib/src/standalone_ui/vs_code/flutter_panel.dart b/packages/devtools_app/lib/src/standalone_ui/vs_code/flutter_panel.dart index 61d335401f6..c6704edf084 100644 --- a/packages/devtools_app/lib/src/standalone_ui/vs_code/flutter_panel.dart +++ b/packages/devtools_app/lib/src/standalone_ui/vs_code/flutter_panel.dart @@ -174,10 +174,7 @@ class _EditorConnectedPanelState extends State<_EditorConnectedPanel> child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - DebugSessions( - editor: widget.editor, - sessions: debugSessions, - ), + DebugSessions(editor: widget.editor, sessions: debugSessions), const SizedBox(height: defaultSpacing), if (widget.editor.supportsSelectDevice) ...[ Devices( From 80ece6ce14170b8f30e25f119e69979dee2945f2 Mon Sep 17 00:00:00 2001 From: Kenzie Davisson Date: Mon, 27 Jul 2026 13:53:27 -0700 Subject: [PATCH 4/6] revert editor removal --- .../property_editor/property_editor_panel.dart | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart index 246ea3b5550..b657b6277e9 100644 --- a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart +++ b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart @@ -31,6 +31,7 @@ class PropertyEditorPanel extends StatefulWidget { class _PropertyEditorPanelState extends State { _PropertyEditorPanelState(); + Future? _editor; PropertyEditorController? _propertyEditorController; @override @@ -40,8 +41,9 @@ class _PropertyEditorPanelState extends State { final editor = EditorClient(widget.dtdManager); ga.screen(gac.PropertyEditorSidebar.id); unawaited( - editor.initialized.then((_) { + _editor = editor.initialized.then((_) { _propertyEditorController = PropertyEditorController(editor); + return editor; }), ); } @@ -56,8 +58,16 @@ class _PropertyEditorPanelState extends State { Widget build(BuildContext context) { return Align( alignment: Alignment.topCenter, - child: _PropertyEditorConnectedPanel( - controller: _propertyEditorController!, + child: FutureBuilder( + future: _editor, + builder: (context, snapshot) => + switch ((snapshot.connectionState, snapshot.data)) { + (ConnectionState.done, final editor?) => + _PropertyEditorConnectedPanel( + controller: _propertyEditorController!, + ), + _ => const CenteredCircularProgressIndicator(), + }, ), ); } From 184debeb707110b8de47d4a48f11ed1288814267 Mon Sep 17 00:00:00 2001 From: Kenzie Davisson Date: Mon, 27 Jul 2026 14:32:35 -0700 Subject: [PATCH 5/6] fix errors --- .../ide_shared/property_editor/property_editor_panel.dart | 2 +- .../test/standalone_ui/vs_code/debug_sessions_test.dart | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart index b657b6277e9..2a56c6c69af 100644 --- a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart +++ b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart @@ -62,7 +62,7 @@ class _PropertyEditorPanelState extends State { future: _editor, builder: (context, snapshot) => switch ((snapshot.connectionState, snapshot.data)) { - (ConnectionState.done, final editor?) => + (ConnectionState.done, final _) => _PropertyEditorConnectedPanel( controller: _propertyEditorController!, ), diff --git a/packages/devtools_app/test/standalone_ui/vs_code/debug_sessions_test.dart b/packages/devtools_app/test/standalone_ui/vs_code/debug_sessions_test.dart index 1bb122e5542..a6aa78574b2 100644 --- a/packages/devtools_app/test/standalone_ui/vs_code/debug_sessions_test.dart +++ b/packages/devtools_app/test/standalone_ui/vs_code/debug_sessions_test.dart @@ -4,7 +4,6 @@ import 'package:devtools_app/devtools_app.dart'; import 'package:devtools_app/src/shared/constants.dart'; -import 'package:devtools_app/src/shared/editor/api_classes.dart'; import 'package:devtools_app/src/standalone_ui/vs_code/debug_sessions.dart'; import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; @@ -14,22 +13,17 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart'; -import '../../test_infra/scenes/standalone_ui/editor_service/simulated_editor.dart'; import '../../test_infra/utils/sidebar_utils.dart'; void main() { const windowSize = Size(2000.0, 2000.0); late MockEditorClient mockEditorClient; - late final Map deviceMap; setUpAll(() { // Set test mode so that the debug list of extensions will be used. setTestMode(); setGlobal(ServiceConnectionManager, FakeServiceConnectionManager()); - - final devices = stubbedDevices.map((d) => MapEntry(d.id, d)); - deviceMap = {for (final d in devices) d.key: d.value}; }); setUp(() { @@ -52,7 +46,6 @@ void main() { sessions: Map.fromEntries( _debugSessions.map((s) => MapEntry(s.id, s)), ), - devices: deviceMap, ), ), ); From 991b26cb0e20c5812ed1de448adaefd7c8e50af1 Mon Sep 17 00:00:00 2001 From: Kenzie Davisson Date: Mon, 27 Jul 2026 14:46:45 -0700 Subject: [PATCH 6/6] formatting --- .../ide_shared/property_editor/property_editor_panel.dart | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart index 2a56c6c69af..bde7dd009f3 100644 --- a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart +++ b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_panel.dart @@ -62,10 +62,9 @@ class _PropertyEditorPanelState extends State { future: _editor, builder: (context, snapshot) => switch ((snapshot.connectionState, snapshot.data)) { - (ConnectionState.done, final _) => - _PropertyEditorConnectedPanel( - controller: _propertyEditorController!, - ), + (ConnectionState.done, final _) => _PropertyEditorConnectedPanel( + controller: _propertyEditorController!, + ), _ => const CenteredCircularProgressIndicator(), }, ),