Cameron Smick
2d9987869b
refactor(devtools): Add a new childSignalProp DebugSignalGraphNode kind to represent a signal being passed to a child component as a prop.
...
The purpose for this change is to add nodes to the signal graph to make it clear when producer nodes, especially those that aren't consumed in the component being inspected, are passed to child components for consumption.
2026-02-13 10:09:59 -08:00
hawkgs
83da928206
fix(devtools): injector tree errors when inspecting null nodes
...
Due to explicit injector type checks, inspecting nodes that have type !== `environment` but at the same time are rendered in the Environment Injector tree, opening their details used to break the app. This change fixes this.
2026-02-13 09:33:37 -08:00
Georgi Serev
ece827e269
feat(devtools): add dependencies highlighting to the signal graph
...
Add ability to highlight the upstream and downstream dependencies path via the node details.
2026-02-11 14:37:51 -08:00
hawkgs
c32e732d3d
fix(devtools): runtime error when a cluster preview node is missing
...
Fix the runtime error produced when a cluster preview node is missing triggered during a signal update.
2026-02-09 12:23:17 -08:00
hawkgs
c4abadb528
fix(devtools): duplicated props in the properties panel
...
Fix the diff algorithm that consequentially caused the duplicated props.
2026-02-09 07:54:31 -08:00
hawkgs
64d34da0b2
fix(devtools): signal node value preview for afterRenderEffect
...
Render an arrow function (`() => {}`) in the signal nodes in the graph that represent `afterRenderEffect`s.
2026-02-06 07:36:43 -08:00
AleksanderBodurri
35046d3dba
feat(devtools): promote router tree to stable
...
Previous the router tree was an opt-in feature that required manual enablement in settings.
Now the router tree is enabled by default whenever the application supports it and routes are detected.
2026-02-02 11:06:42 -08:00
Georgi Serev
042471044d
refactor(devtools): snap to signal graph nodes selected from the properties panel
...
Snap to the signal graph node of a corresponding property when the user uses "Show 'prop' signal graph" button.
2026-01-28 18:33:37 +00:00
AleksanderBodurri
105274fe32
feat(devtools): mark special element injector providers as internal
...
Differentiates special providers like ElementRef from other providers in the DevTools UI.
2026-01-26 22:18:02 +00:00
hawkgs
adae4c7ab0
refactor(devtools): use object-tree-explorer in signal-value-tree
...
Employ the reusable `object-tree-explorer` in the `signal-value-tree` preview component.
2026-01-20 10:16:54 -08:00
hawkgs
2d4262cfbd
fix(devtools): support for @defer-only blocks; defer declared blocks ( #66546 )
...
Add support for `@defer`-only blocks (previously, they weren't rendered in the component tree at all); Fix declared blocks section in the details
PR Close #66546
2026-01-20 18:16:32 +00:00
hawkgs
87f4797321
refactor(devtools): drop dagre graph type
...
Drop Dagre graph type since v7.0.14 introduces better typing.
2026-01-15 11:11:03 -08:00
hawkgs
721094788a
refactor(devtools): snap to root node on signal graph render
...
Drop the old `ResizeObserver` and resize logic in favor of a simpler "snap to root node" (template or first node) functionality.
2026-01-15 11:10:26 -08:00
Georgi Serev
9273f1c3c2
feat(devtools): add resource visualization to the signal graph
...
Convert the signal graph to a Devtools-FE-specific signal graph that supports clusters; Add support for `resource` clusters; Introduce some improvements to the signal graph viz
2026-01-13 08:32:46 -08:00
hawkgs
e66aeac8d0
refactor(devtools): style the profiler dialogs to match the current design
...
Decrease the font size and tone down the paddings and margins. Use `ng-button` instead of `mat-button`.
2026-01-09 08:23:18 -08:00
hawkgs
bea5840864
refactor(devtools): add secondary type button
...
Add a secondary style/type button to `ng-button`.
2026-01-09 08:23:18 -08:00
AleksanderBodurri
241bdeb698
feat(devtools): create an info snackbar when a user logs a property
...
Previously there is no feedback when clicking this button in Angular DevTools itself, which can produce some confusion if the user does not have the browser console open as well, or if they accidentally turned on some filtering in the browser console.
Now Angular Devtools uses mat snack bar to inform the user that the task was successful
2026-01-07 13:40:45 -05:00
hawkgs
f05d0feac9
fix(devtools): injector tree initial root node snapping on prod
...
Fix initial broken root node snapping/focusing when the Injector Tree tab is opened in the production app.
2026-01-06 10:22:29 -05:00
hawkgs
4b7f7a550f
fix(devtools): retain tree-viz snapped node on pre-render cleanup
...
Each tree-visualizer render cycle resets the snapped node in an effort to not end up with a non-existent snapped node. However, each render cycle doesn't constitute a completely different tree. This change retains the snapped node as long as it exists in the tree.
2026-01-06 10:22:29 -05:00
hawkgs
2d9e179188
perf(devtools): improve injector tree rendering performance
...
Introduce an equality function for transformed injector trees in order to omit redundant D3 tree visualization render cycles when the tree hasn't been changed.
2026-01-06 10:22:29 -05:00
Matthieu Riegler
6a94300179
refactor(devtools): use whenStable instead of detectChanges
...
This commits migrates the devtools tests toward to recommendations
and runs the tests in a zoneless config
2026-01-05 12:24:58 -05:00
Matthieu Riegler
6270bba056
ci: reformat files
...
This is after we've slightly changed a rule in #66056
2025-12-16 14:44:19 -08:00
Matthieu Riegler
af77b89e2a
ci: reformat files
...
This is after we've slightly changed a rule in #66056
2025-12-16 09:24:36 -08:00
hawkgs
1a9bfa8542
fix(devtools): last supported version
...
Bump to 12, as the message suggests.
2025-12-12 08:04:50 -08:00
hawkgs
aee536c8ca
refactor(devtools): improve the look of app state screens
...
Improve the look of "app not detected", "unsupported version" and "prod app not supported" screens.
2025-12-12 08:04:50 -08:00
hawkgs
0c4a5c599d
fix(devtools): prod app detected screen
...
Do not call `getSupportedApis` in a prod app since it throws an error due to the absence of `ng`, which prevents the FE from getting the `ngAvailability` message and, respectively, the proper info screen that DevTools cannot be used on a prod app.
2025-12-08 09:21:16 -08:00
Georgi Serev
87e05e935c
refactor(devtools): create a reusable component for all prop mat-trees
...
Create a reusable component for object property inspection.
2025-12-04 11:44:00 -08:00
hawkgs
1d431a9637
fix(devtools): router tree not being rendered
...
Convert the `TreeVisualizer` to a signal, in the `TreeVisualizerComponent`, to ensure that the router tree render effect is always called; Use explicit `afterNextRender` phases.
2025-12-04 11:30:14 -08:00
Georgi Serev
2eaa4d54ad
fix(devtools): hide profiler node details when the frame is changed
...
Hide the details panel when the user selects a new frame.
2025-12-02 12:05:54 +01:00
Kristiyan Kostadinov
26e2092dd1
test: remove unnecessary test calls
...
Removes calls to `TestBed.configureTestingModule` since they aren't necessary.
2025-11-24 10:18:18 -05:00
SkyZeroZx
ed0647d2e6
refactor(devtools): add matcher and runGuardsAndResolvers support in router viewer
...
Enhance the Angular DevTools router viewer to display routes that use custom `matcher` functions and reflect the `runGuardsAndResolvers` configuration
2025-11-18 08:29:41 -08:00
hawkgs
e7a6e31a70
fix(devtools): refine when signal graph button is shown
...
Show the signal graph button only when a signal-graph-eligible node from the directive explorer is selected; Fix client app error when a `defer` node is selected (related)
2025-11-17 14:45:01 -08:00
Shuaib Hasan Akib
f87e9a02b5
refactor(devtools): clean up unused code and modernize component patterns
...
- Removed unused code and imports
- Migrated to signal-based input() APIs
- Added readonly to Angular-initialized inputs and removed explicit type annotations
- Updated templates to use self-closing tags for consistency
2025-11-17 08:40:15 -08:00
hawkgs
68d823a241
fix(devtools): show profiler exec details only if there are directives
...
Show the execution details of a captured frame entry only if there are recorded directives.
2025-11-17 08:39:36 -08:00
SkyZeroZx
4126ef1e94
fix(devtools): use isLazy flag to determine disabled state for action button
...
Refactors the logic that disables the action button for lazy-loaded routes.
Now relies on the isLazy property from the route data instead of string comparisons on the component field.
2025-11-14 08:47:05 -08:00
cexbrayat
c137f1fe91
docs: ExperimentalIsolatedShadowDom mentions
2025-11-14 08:41:13 -08:00
SkyZeroZx
373c101d02
refactor(devtools): improve route data and resolver views
...
Adds an enhanced route data tree view to better visualize both route resolvers and router data.
2025-11-13 09:11:53 -08:00
hawkgs
402f396b76
refactor(devtools): update inspect icon
...
Use a custom version of Material `pin_end` icon that doesn't have a dot.
2025-11-10 07:47:14 -08:00
SkyZeroZx
c74367c5de
refactor(devtools): replace HostListener with host metadata for keydown handling
...
Uses host metadata instead of the HostListener decorator for keydown events
2025-11-07 07:44:42 -08:00
Alan Agius
26fed34e0e
build: format md files
...
This commit configures prettier to format markdown files.
2025-11-06 10:03:05 -08:00
SkyZeroZx
f2ffbe31b0
refactor(devtools): enhance route guard handling and add inline function warning
...
refactored route guard handling and added warning for inline functions
2025-11-05 15:20:46 -08:00
hawkgs
cb5d36d107
refactor(devtools): remove redirecting flag from router tree
...
Drops `isRedirect` due to its redundancy in light of the newly introduced `redirectTo`.
2025-11-05 15:20:29 -08:00
Georgi Serev
cd0e96c1d0
fix(devtools): router tree details table data
...
Introduce layout fixes and use dedicated buttons for the view source and navigate actions.
2025-11-05 17:07:18 +00:00
hawkgs
31d412771b
refactor(devtools): update the looks of hydration overlay switch
...
Move the option under the directive explorer and drop the switch to match the rest of the UI.
2025-11-05 17:04:46 +00:00
SkyZeroZx
058377ed55
refactor(devtools): handle function-based redirectTo and title in router viewer
...
Refactors router viewer logic to properly process and display redirectTo and title when defined as functions
2025-11-04 17:54:07 +00:00
SkyZeroZx
bd27e96273
refactor(devtools): Removes redundant input undefined in angularVersion
...
Simplifies the initialization of the version input by removing
an unnecessary undefined
2025-10-30 19:40:07 +00:00
hawkgs
c1dee66866
fix(devtools): signal graph value preview mat-tree row indentation ( #64798 )
...
Fix the identation and arrows of signal graph value preview mat-tree.
PR Close #64798
2025-10-30 17:18:29 +00:00
SkyZeroZx
aaa3020b94
refactor(devtools): Improves error messaging for profiler file import
...
Formats error messages to display error name and message when importing profiler files fails
2025-10-29 12:38:20 +01:00
SkyZeroZx
bfcaf17005
refactor(devtools): Improves clipboard error feedback with snackbar and logging
...
Enhances user experience by displaying a snackbar notification when clipboard copy fails, and logs detailed error information via the message bus
2025-10-27 19:41:54 +01:00
Matthieu Riegler
50a55d6afb
refactor(devtools): use preview value in property editor ( #64552 )
...
This way only the `preview` property handles the `Signal()` wrapper (and not individual components anymore)
PR Close #64552
2025-10-21 15:18:56 +00:00