Skip to content

Commit 225789b

Browse files
committed
feat(trace-updates): add grouped trace updates with names for React Native
- Introduced the `drawGroupedTraceUpdatesWithNames` event in `Agent` for emitting grouped trace updates. - This maintains backward compatibility while improving trace update organization for React Native. Note: This change only covers the JavaScript implementation; the native side still needs to be implemented.
1 parent 878ff72 commit 225789b

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

packages/react-devtools-shared/src/backend/agent.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import type {
2828
DevToolsHookSettings,
2929
} from './types';
3030
import type {ComponentFilter} from 'react-devtools-shared/src/frontend/types';
31+
import type {GroupItem} from './views/TraceUpdates/canvas';
3132
import {isReactNativeEnvironment} from './utils';
3233
import {
3334
sessionStorageGetItem,
@@ -142,6 +143,7 @@ export default class Agent extends EventEmitter<{
142143
shutdown: [],
143144
traceUpdates: [Set<HostInstance>],
144145
drawTraceUpdates: [Array<HostInstance>],
146+
drawGroupedTraceUpdatesWithNames: [Array<Array<GroupItem>>],
145147
disableTraceUpdates: [],
146148
getIfHasUnsupportedRendererVersion: [],
147149
updateHookSettings: [$ReadOnly<DevToolsHookSettings>],

packages/react-devtools-shared/src/backend/views/TraceUpdates/canvas.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ function drawNative(nodeToData: Map<HostInstance, Data>, agent: Agent) {
3737
});
3838

3939
agent.emit('drawTraceUpdates', nodesToDraw);
40+
41+
const mergedNodes = groupAndSortNodes(nodeToData);
42+
agent.emit('drawGroupedTraceUpdatesWithNames', mergedNodes);
4043
}
4144

4245
function drawWeb(nodeToData: Map<HostInstance, Data>) {
@@ -71,6 +74,8 @@ type GroupItem = {
7174
count: number,
7275
};
7376

77+
export type {GroupItem};
78+
7479
export function groupAndSortNodes(
7580
nodeToData: Map<HostInstance, Data>,
7681
): Array<Array<GroupItem>> {

0 commit comments

Comments
 (0)