react-native-debug-toolkit 3.3.4 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -46
- package/README.zh-CN.md +48 -46
- package/android/src/main/java/com/reactnativedebugtoolkit/DebugToolkitDevConnectModule.java +0 -187
- package/bin/debug-toolkit.js +0 -16
- package/ios/DebugToolkitDevConnect.h +0 -12
- package/ios/DebugToolkitDevConnect.mm +0 -321
- package/lib/commonjs/constants/logLevels.js +19 -0
- package/lib/commonjs/constants/logLevels.js.map +1 -0
- package/lib/commonjs/core/initialize.js +36 -18
- package/lib/commonjs/core/initialize.js.map +1 -1
- package/lib/commonjs/features/console/ConsoleLogTab.js +4 -15
- package/lib/commonjs/features/console/ConsoleLogTab.js.map +1 -1
- package/lib/commonjs/features/console/index.js +15 -8
- package/lib/commonjs/features/console/index.js.map +1 -1
- package/lib/commonjs/features/devConnect/DevConnectTab.js +18 -470
- package/lib/commonjs/features/devConnect/DevConnectTab.js.map +1 -1
- package/lib/commonjs/features/devConnect/devConnectPreferences.js +0 -12
- package/lib/commonjs/features/devConnect/devConnectPreferences.js.map +1 -1
- package/lib/commonjs/features/devConnect/devConnectUtils.js +2 -57
- package/lib/commonjs/features/devConnect/devConnectUtils.js.map +1 -1
- package/lib/commonjs/features/devConnect/index.js +1 -23
- package/lib/commonjs/features/devConnect/index.js.map +1 -1
- package/lib/commonjs/features/devConnect/nativeDevConnect.js +1 -103
- package/lib/commonjs/features/devConnect/nativeDevConnect.js.map +1 -1
- package/lib/commonjs/features/network/NetworkLogTab.js +91 -93
- package/lib/commonjs/features/network/NetworkLogTab.js.map +1 -1
- package/lib/commonjs/features/network/index.js +7 -4
- package/lib/commonjs/features/network/index.js.map +1 -1
- package/lib/commonjs/features/sessionHistory/SessionHistoryTab.js +1044 -0
- package/lib/commonjs/features/sessionHistory/SessionHistoryTab.js.map +1 -0
- package/lib/commonjs/features/sessionHistory/index.js +103 -0
- package/lib/commonjs/features/sessionHistory/index.js.map +1 -0
- package/lib/commonjs/features/track/index.js +4 -3
- package/lib/commonjs/features/track/index.js.map +1 -1
- package/lib/commonjs/index.js +27 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/DebugView.js +3 -0
- package/lib/commonjs/ui/DebugView.js.map +1 -1
- package/lib/commonjs/ui/panel/DebugPanel.js +67 -34
- package/lib/commonjs/ui/panel/DebugPanel.js.map +1 -1
- package/lib/commonjs/ui/panel/FeatureIntroCard.js +131 -0
- package/lib/commonjs/ui/panel/FeatureIntroCard.js.map +1 -0
- package/lib/commonjs/ui/panel/FeatureRail.js +163 -0
- package/lib/commonjs/ui/panel/FeatureRail.js.map +1 -0
- package/lib/commonjs/ui/panel/FloatPanelView.js +169 -32
- package/lib/commonjs/ui/panel/FloatPanelView.js.map +1 -1
- package/lib/commonjs/ui/panel/buildFeatureSummary.js +207 -0
- package/lib/commonjs/ui/panel/buildFeatureSummary.js.map +1 -0
- package/lib/commonjs/ui/panel/filterFeatureSnapshot.js +43 -0
- package/lib/commonjs/ui/panel/filterFeatureSnapshot.js.map +1 -0
- package/lib/commonjs/ui/panel/tabPersistence.js +17 -0
- package/lib/commonjs/ui/panel/tabPersistence.js.map +1 -0
- package/lib/commonjs/ui/theme/colors.js +6 -0
- package/lib/commonjs/ui/theme/colors.js.map +1 -1
- package/lib/commonjs/utils/DaemonClient.js +30 -8
- package/lib/commonjs/utils/DaemonClient.js.map +1 -1
- package/lib/commonjs/utils/SessionManager.js +132 -0
- package/lib/commonjs/utils/SessionManager.js.map +1 -0
- package/lib/commonjs/utils/StorageAdapter.js +104 -0
- package/lib/commonjs/utils/StorageAdapter.js.map +1 -0
- package/lib/commonjs/utils/createChannelFeature.js +22 -5
- package/lib/commonjs/utils/createChannelFeature.js.map +1 -1
- package/lib/commonjs/utils/createDebugTab.js +21 -0
- package/lib/commonjs/utils/createDebugTab.js.map +1 -0
- package/lib/commonjs/utils/createPersistedObservableStore.js +14 -8
- package/lib/commonjs/utils/createPersistedObservableStore.js.map +1 -1
- package/lib/commonjs/utils/debugPreferences.js +28 -6
- package/lib/commonjs/utils/debugPreferences.js.map +1 -1
- package/lib/commonjs/utils/deviceReport.js +5 -1
- package/lib/commonjs/utils/deviceReport.js.map +1 -1
- package/lib/commonjs/utils/logRuntime.js +32 -0
- package/lib/commonjs/utils/logRuntime.js.map +1 -0
- package/lib/module/constants/logLevels.js +15 -0
- package/lib/module/constants/logLevels.js.map +1 -0
- package/lib/module/core/initialize.js +36 -18
- package/lib/module/core/initialize.js.map +1 -1
- package/lib/module/features/console/ConsoleLogTab.js +1 -12
- package/lib/module/features/console/ConsoleLogTab.js.map +1 -1
- package/lib/module/features/console/index.js +15 -8
- package/lib/module/features/console/index.js.map +1 -1
- package/lib/module/features/devConnect/DevConnectTab.js +21 -473
- package/lib/module/features/devConnect/DevConnectTab.js.map +1 -1
- package/lib/module/features/devConnect/devConnectPreferences.js +1 -12
- package/lib/module/features/devConnect/devConnectPreferences.js.map +1 -1
- package/lib/module/features/devConnect/devConnectUtils.js +1 -53
- package/lib/module/features/devConnect/devConnectUtils.js.map +1 -1
- package/lib/module/features/devConnect/index.js +5 -9
- package/lib/module/features/devConnect/index.js.map +1 -1
- package/lib/module/features/devConnect/nativeDevConnect.js +1 -100
- package/lib/module/features/devConnect/nativeDevConnect.js.map +1 -1
- package/lib/module/features/network/NetworkLogTab.js +91 -93
- package/lib/module/features/network/NetworkLogTab.js.map +1 -1
- package/lib/module/features/network/index.js +7 -4
- package/lib/module/features/network/index.js.map +1 -1
- package/lib/module/features/sessionHistory/SessionHistoryTab.js +1039 -0
- package/lib/module/features/sessionHistory/SessionHistoryTab.js.map +1 -0
- package/lib/module/features/sessionHistory/index.js +99 -0
- package/lib/module/features/sessionHistory/index.js.map +1 -0
- package/lib/module/features/track/index.js +4 -3
- package/lib/module/features/track/index.js.map +1 -1
- package/lib/module/index.js +4 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/DebugView.js +3 -0
- package/lib/module/ui/DebugView.js.map +1 -1
- package/lib/module/ui/panel/DebugPanel.js +67 -34
- package/lib/module/ui/panel/DebugPanel.js.map +1 -1
- package/lib/module/ui/panel/FeatureIntroCard.js +126 -0
- package/lib/module/ui/panel/FeatureIntroCard.js.map +1 -0
- package/lib/module/ui/panel/FeatureRail.js +158 -0
- package/lib/module/ui/panel/FeatureRail.js.map +1 -0
- package/lib/module/ui/panel/FloatPanelView.js +170 -33
- package/lib/module/ui/panel/FloatPanelView.js.map +1 -1
- package/lib/module/ui/panel/buildFeatureSummary.js +203 -0
- package/lib/module/ui/panel/buildFeatureSummary.js.map +1 -0
- package/lib/module/ui/panel/filterFeatureSnapshot.js +39 -0
- package/lib/module/ui/panel/filterFeatureSnapshot.js.map +1 -0
- package/lib/module/ui/panel/tabPersistence.js +13 -0
- package/lib/module/ui/panel/tabPersistence.js.map +1 -0
- package/lib/module/ui/theme/colors.js +6 -0
- package/lib/module/ui/theme/colors.js.map +1 -1
- package/lib/module/utils/DaemonClient.js +30 -8
- package/lib/module/utils/DaemonClient.js.map +1 -1
- package/lib/module/utils/SessionManager.js +127 -0
- package/lib/module/utils/SessionManager.js.map +1 -0
- package/lib/module/utils/StorageAdapter.js +96 -0
- package/lib/module/utils/StorageAdapter.js.map +1 -0
- package/lib/module/utils/createChannelFeature.js +22 -5
- package/lib/module/utils/createChannelFeature.js.map +1 -1
- package/lib/module/utils/createDebugTab.js +17 -0
- package/lib/module/utils/createDebugTab.js.map +1 -0
- package/lib/module/utils/createPersistedObservableStore.js +14 -8
- package/lib/module/utils/createPersistedObservableStore.js.map +1 -1
- package/lib/module/utils/debugPreferences.js +27 -6
- package/lib/module/utils/debugPreferences.js.map +1 -1
- package/lib/module/utils/deviceReport.js +4 -1
- package/lib/module/utils/deviceReport.js.map +1 -1
- package/lib/module/utils/logRuntime.js +26 -0
- package/lib/module/utils/logRuntime.js.map +1 -0
- package/lib/typescript/src/constants/logLevels.d.ts +3 -0
- package/lib/typescript/src/constants/logLevels.d.ts.map +1 -0
- package/lib/typescript/src/core/initialize.d.ts +6 -0
- package/lib/typescript/src/core/initialize.d.ts.map +1 -1
- package/lib/typescript/src/features/console/ConsoleLogTab.d.ts.map +1 -1
- package/lib/typescript/src/features/console/index.d.ts +2 -1
- package/lib/typescript/src/features/console/index.d.ts.map +1 -1
- package/lib/typescript/src/features/devConnect/DevConnectTab.d.ts.map +1 -1
- package/lib/typescript/src/features/devConnect/devConnectPreferences.d.ts +0 -2
- package/lib/typescript/src/features/devConnect/devConnectPreferences.d.ts.map +1 -1
- package/lib/typescript/src/features/devConnect/devConnectUtils.d.ts +0 -20
- package/lib/typescript/src/features/devConnect/devConnectUtils.d.ts.map +1 -1
- package/lib/typescript/src/features/devConnect/index.d.ts +2 -2
- package/lib/typescript/src/features/devConnect/index.d.ts.map +1 -1
- package/lib/typescript/src/features/devConnect/nativeDevConnect.d.ts +0 -25
- package/lib/typescript/src/features/devConnect/nativeDevConnect.d.ts.map +1 -1
- package/lib/typescript/src/features/devConnect/types.d.ts +1 -3
- package/lib/typescript/src/features/devConnect/types.d.ts.map +1 -1
- package/lib/typescript/src/features/network/NetworkLogTab.d.ts.map +1 -1
- package/lib/typescript/src/features/network/index.d.ts +2 -1
- package/lib/typescript/src/features/network/index.d.ts.map +1 -1
- package/lib/typescript/src/features/sessionHistory/SessionHistoryTab.d.ts +20 -0
- package/lib/typescript/src/features/sessionHistory/SessionHistoryTab.d.ts.map +1 -0
- package/lib/typescript/src/features/sessionHistory/index.d.ts +4 -0
- package/lib/typescript/src/features/sessionHistory/index.d.ts.map +1 -0
- package/lib/typescript/src/features/track/index.d.ts +2 -1
- package/lib/typescript/src/features/track/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +6 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types/feature.d.ts +1 -1
- package/lib/typescript/src/types/feature.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +2 -0
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/ui/DebugView.d.ts +4 -2
- package/lib/typescript/src/ui/DebugView.d.ts.map +1 -1
- package/lib/typescript/src/ui/panel/DebugPanel.d.ts +3 -1
- package/lib/typescript/src/ui/panel/DebugPanel.d.ts.map +1 -1
- package/lib/typescript/src/ui/panel/FeatureIntroCard.d.ts +11 -0
- package/lib/typescript/src/ui/panel/FeatureIntroCard.d.ts.map +1 -0
- package/lib/typescript/src/ui/panel/FeatureRail.d.ts +16 -0
- package/lib/typescript/src/ui/panel/FeatureRail.d.ts.map +1 -0
- package/lib/typescript/src/ui/panel/FloatPanelView.d.ts.map +1 -1
- package/lib/typescript/src/ui/panel/buildFeatureSummary.d.ts +13 -0
- package/lib/typescript/src/ui/panel/buildFeatureSummary.d.ts.map +1 -0
- package/lib/typescript/src/ui/panel/filterFeatureSnapshot.d.ts +3 -0
- package/lib/typescript/src/ui/panel/filterFeatureSnapshot.d.ts.map +1 -0
- package/lib/typescript/src/ui/panel/tabPersistence.d.ts +3 -0
- package/lib/typescript/src/ui/panel/tabPersistence.d.ts.map +1 -0
- package/lib/typescript/src/ui/theme/colors.d.ts +5 -0
- package/lib/typescript/src/ui/theme/colors.d.ts.map +1 -1
- package/lib/typescript/src/utils/DaemonClient.d.ts +7 -1
- package/lib/typescript/src/utils/DaemonClient.d.ts.map +1 -1
- package/lib/typescript/src/utils/SessionManager.d.ts +30 -0
- package/lib/typescript/src/utils/SessionManager.d.ts.map +1 -0
- package/lib/typescript/src/utils/StorageAdapter.d.ts +38 -0
- package/lib/typescript/src/utils/StorageAdapter.d.ts.map +1 -0
- package/lib/typescript/src/utils/createChannelFeature.d.ts +2 -0
- package/lib/typescript/src/utils/createChannelFeature.d.ts.map +1 -1
- package/lib/typescript/src/utils/createDebugTab.d.ts +18 -0
- package/lib/typescript/src/utils/createDebugTab.d.ts.map +1 -0
- package/lib/typescript/src/utils/createPersistedObservableStore.d.ts +4 -1
- package/lib/typescript/src/utils/createPersistedObservableStore.d.ts.map +1 -1
- package/lib/typescript/src/utils/debugPreferences.d.ts +1 -4
- package/lib/typescript/src/utils/debugPreferences.d.ts.map +1 -1
- package/lib/typescript/src/utils/deviceReport.d.ts +1 -0
- package/lib/typescript/src/utils/deviceReport.d.ts.map +1 -1
- package/lib/typescript/src/utils/logRuntime.d.ts +13 -0
- package/lib/typescript/src/utils/logRuntime.d.ts.map +1 -0
- package/package.json +10 -6
- package/src/constants/logLevels.ts +13 -0
- package/src/core/initialize.ts +61 -21
- package/src/features/console/ConsoleLogTab.tsx +1 -14
- package/src/features/console/index.ts +18 -8
- package/src/features/devConnect/DevConnectTab.tsx +17 -381
- package/src/features/devConnect/devConnectPreferences.ts +0 -15
- package/src/features/devConnect/devConnectUtils.ts +1 -81
- package/src/features/devConnect/index.ts +2 -9
- package/src/features/devConnect/nativeDevConnect.ts +1 -136
- package/src/features/devConnect/types.ts +1 -3
- package/src/features/network/NetworkLogTab.tsx +61 -71
- package/src/features/network/index.ts +12 -3
- package/src/features/sessionHistory/SessionHistoryTab.tsx +691 -0
- package/src/features/sessionHistory/index.ts +102 -0
- package/src/features/track/index.ts +10 -3
- package/src/index.ts +13 -0
- package/src/types/feature.ts +2 -1
- package/src/types/index.ts +10 -0
- package/src/ui/DebugView.tsx +6 -1
- package/src/ui/panel/DebugPanel.tsx +60 -30
- package/src/ui/panel/FeatureIntroCard.tsx +127 -0
- package/src/ui/panel/FeatureRail.tsx +165 -0
- package/src/ui/panel/FloatPanelView.tsx +176 -25
- package/src/ui/panel/buildFeatureSummary.ts +288 -0
- package/src/ui/panel/filterFeatureSnapshot.ts +51 -0
- package/src/ui/panel/tabPersistence.ts +22 -0
- package/src/ui/theme/colors.ts +7 -0
- package/src/utils/DaemonClient.ts +33 -5
- package/src/utils/SessionManager.ts +174 -0
- package/src/utils/StorageAdapter.ts +135 -0
- package/src/utils/createChannelFeature.ts +28 -6
- package/src/utils/createDebugTab.ts +32 -0
- package/src/utils/createPersistedObservableStore.ts +18 -10
- package/src/utils/debugPreferences.ts +38 -8
- package/src/utils/deviceReport.ts +5 -1
- package/src/utils/logRuntime.ts +39 -0
- package/app.plugin.js +0 -51
- package/dev-client.js +0 -3
- package/lib/commonjs/ui/panel/FeatureTabBar.js +0 -182
- package/lib/commonjs/ui/panel/FeatureTabBar.js.map +0 -1
- package/lib/module/ui/panel/FeatureTabBar.js +0 -177
- package/lib/module/ui/panel/FeatureTabBar.js.map +0 -1
- package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts +0 -13
- package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts.map +0 -1
- package/scripts/bundle/android.js +0 -101
- package/scripts/bundle/cli.js +0 -57
- package/scripts/bundle/doctor.js +0 -38
- package/scripts/bundle/ios.js +0 -179
- package/scripts/bundle/setup.js +0 -39
- package/scripts/debug-bundle.gradle +0 -147
- package/src/ui/panel/FeatureTabBar.tsx +0 -204
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export function buildFeatureSummary(feature, snapshot) {
|
|
4
|
+
const name = feature.name;
|
|
5
|
+
if (name === 'network') return buildNetworkSummary(snapshot);
|
|
6
|
+
if (name === 'console') return buildConsoleSummary(snapshot);
|
|
7
|
+
if (name === 'navigation') return buildNavigationSummary(snapshot);
|
|
8
|
+
if (name === 'zustand') return buildZustandSummary(snapshot);
|
|
9
|
+
if (name === 'track') return buildTrackSummary(snapshot);
|
|
10
|
+
if (name === 'clipboard') return buildClipboardSummary(snapshot);
|
|
11
|
+
if (name === 'environment') return buildEnvironmentSummary(snapshot);
|
|
12
|
+
if (name === 'devConnect') return buildDevConnectSummary(snapshot);
|
|
13
|
+
if (name === 'sessionHistory') return buildSessionHistorySummary(snapshot);
|
|
14
|
+
if (name === 'thirdPartyLibs') return buildThirdPartyLibsSummary(snapshot);
|
|
15
|
+
if (name === 'native') return buildNativeSummary(snapshot);
|
|
16
|
+
return buildUnknownSummary(snapshot);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// ─── Per-feature builders ──────────────────────────────
|
|
20
|
+
|
|
21
|
+
function buildNetworkSummary(snapshot) {
|
|
22
|
+
const items = asArray(snapshot);
|
|
23
|
+
const count = items.length;
|
|
24
|
+
let badCount = 0;
|
|
25
|
+
let latestLabel;
|
|
26
|
+
if (count > 0) {
|
|
27
|
+
for (const item of items) {
|
|
28
|
+
const n = item;
|
|
29
|
+
if (n.error || (n.response?.status ?? 0) >= 400) badCount++;
|
|
30
|
+
}
|
|
31
|
+
const last = items[items.length - 1];
|
|
32
|
+
const method = last.request?.method?.toUpperCase() ?? '';
|
|
33
|
+
const url = last.request?.url ?? '';
|
|
34
|
+
const status = last.response?.status;
|
|
35
|
+
const path = extractPath(url);
|
|
36
|
+
latestLabel = [method, path, status].filter(Boolean).join(' ');
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
capabilityText: 'HTTP capture, status, duration, request and response body',
|
|
40
|
+
count,
|
|
41
|
+
badCount: badCount > 0 ? badCount : undefined,
|
|
42
|
+
latestLabel,
|
|
43
|
+
supportsBadFilter: count > 0
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function buildConsoleSummary(snapshot) {
|
|
47
|
+
const items = asArray(snapshot);
|
|
48
|
+
const count = items.length;
|
|
49
|
+
let badCount = 0;
|
|
50
|
+
let latestLabel;
|
|
51
|
+
if (count > 0) {
|
|
52
|
+
for (const item of items) {
|
|
53
|
+
const lvl = item.level ?? '';
|
|
54
|
+
if (lvl === 'warn' || lvl === 'error' || lvl === 'fatal') badCount++;
|
|
55
|
+
}
|
|
56
|
+
const last = items[items.length - 1];
|
|
57
|
+
latestLabel = formatConsoleMessage(last.data);
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
capabilityText: 'Console log capture with level filtering',
|
|
61
|
+
count,
|
|
62
|
+
badCount: badCount > 0 ? badCount : undefined,
|
|
63
|
+
latestLabel,
|
|
64
|
+
supportsBadFilter: count > 0
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function buildNavigationSummary(snapshot) {
|
|
68
|
+
const items = asArray(snapshot);
|
|
69
|
+
const count = items.length;
|
|
70
|
+
let latestLabel;
|
|
71
|
+
if (count > 0) {
|
|
72
|
+
const last = items[items.length - 1];
|
|
73
|
+
const from = last.from ?? '?';
|
|
74
|
+
const to = last.to ?? '?';
|
|
75
|
+
latestLabel = `${from} → ${to}`;
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
capabilityText: 'Screen navigation tracking with route history',
|
|
79
|
+
count,
|
|
80
|
+
latestLabel,
|
|
81
|
+
supportsBadFilter: false
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function buildZustandSummary(snapshot) {
|
|
85
|
+
const items = asArray(snapshot);
|
|
86
|
+
const count = items.length;
|
|
87
|
+
let latestLabel;
|
|
88
|
+
if (count > 0) {
|
|
89
|
+
const last = items[items.length - 1];
|
|
90
|
+
const parts = [last.action, last.storeName].filter(Boolean);
|
|
91
|
+
latestLabel = parts.join(' @ ') || undefined;
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
capabilityText: 'State change tracking for Zustand stores',
|
|
95
|
+
count,
|
|
96
|
+
latestLabel,
|
|
97
|
+
supportsBadFilter: false
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
function buildTrackSummary(snapshot) {
|
|
101
|
+
const items = asArray(snapshot);
|
|
102
|
+
const count = items.length;
|
|
103
|
+
let latestLabel;
|
|
104
|
+
if (count > 0) {
|
|
105
|
+
const last = items[items.length - 1];
|
|
106
|
+
latestLabel = last.eventName;
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
capabilityText: 'Analytics event tracking and inspection',
|
|
110
|
+
count,
|
|
111
|
+
latestLabel,
|
|
112
|
+
supportsBadFilter: false
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function buildClipboardSummary(_snapshot) {
|
|
116
|
+
return {
|
|
117
|
+
capabilityText: 'Clipboard event monitoring',
|
|
118
|
+
supportsBadFilter: false
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
function buildEnvironmentSummary(snapshot) {
|
|
122
|
+
const env = snapshot ?? {};
|
|
123
|
+
const envs = env.environments ?? [];
|
|
124
|
+
const current = envs.find(e => e.id === env.currentEnvironmentId);
|
|
125
|
+
return {
|
|
126
|
+
capabilityText: 'Environment configuration and switching',
|
|
127
|
+
count: envs.length || undefined,
|
|
128
|
+
latestLabel: current?.label,
|
|
129
|
+
statusLabel: current?.label,
|
|
130
|
+
supportsBadFilter: false
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
function buildDevConnectSummary(snapshot) {
|
|
134
|
+
const s = snapshot ?? {};
|
|
135
|
+
const host = [s.computerHost, s.daemonPort].filter(Boolean).join(':');
|
|
136
|
+
return {
|
|
137
|
+
capabilityText: 'Desktop sync with daemon connection',
|
|
138
|
+
statusLabel: host ? `${s.streaming ? 'live' : 'offline'} ${host}` : s.streaming ? 'live' : undefined,
|
|
139
|
+
statusColor: s.streaming ? '#34C759' : undefined,
|
|
140
|
+
supportsBadFilter: false
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
function buildSessionHistorySummary(snapshot) {
|
|
144
|
+
const s = snapshot ?? {};
|
|
145
|
+
const count = s.sessions?.length;
|
|
146
|
+
return {
|
|
147
|
+
capabilityText: 'Session log recording and replay',
|
|
148
|
+
count: count || undefined,
|
|
149
|
+
latestLabel: s.currentSessionId,
|
|
150
|
+
supportsBadFilter: false
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function buildThirdPartyLibsSummary(snapshot) {
|
|
154
|
+
const items = asArray(snapshot);
|
|
155
|
+
return {
|
|
156
|
+
capabilityText: 'Third-party library inspection and management',
|
|
157
|
+
count: items.length || undefined,
|
|
158
|
+
supportsBadFilter: false
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
function buildNativeSummary(snapshot) {
|
|
162
|
+
const items = asArray(snapshot);
|
|
163
|
+
let badCount = 0;
|
|
164
|
+
for (const item of items) {
|
|
165
|
+
const lvl = item.level ?? '';
|
|
166
|
+
if (lvl === 'warn' || lvl === 'error' || lvl === 'fatal') badCount++;
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
capabilityText: 'Native log capture',
|
|
170
|
+
count: items.length || undefined,
|
|
171
|
+
badCount: badCount > 0 ? badCount : undefined,
|
|
172
|
+
supportsBadFilter: items.length > 0
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
function buildUnknownSummary(snapshot) {
|
|
176
|
+
const items = asArray(snapshot);
|
|
177
|
+
return {
|
|
178
|
+
capabilityText: `${items.length} item${items.length !== 1 ? 's' : ''} captured`,
|
|
179
|
+
count: items.length || undefined,
|
|
180
|
+
supportsBadFilter: false
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// ─── Helpers ───────────────────────────────────────────
|
|
185
|
+
|
|
186
|
+
function asArray(snap) {
|
|
187
|
+
if (Array.isArray(snap)) return snap;
|
|
188
|
+
return [];
|
|
189
|
+
}
|
|
190
|
+
function extractPath(url) {
|
|
191
|
+
try {
|
|
192
|
+
const u = new URL(url);
|
|
193
|
+
return u.pathname + u.search;
|
|
194
|
+
} catch {
|
|
195
|
+
return url;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
function formatConsoleMessage(data) {
|
|
199
|
+
if (!data || data.length === 0) return undefined;
|
|
200
|
+
const joined = data.map(d => typeof d === 'string' ? d : JSON.stringify(d)).join(' ').slice(0, 60);
|
|
201
|
+
return joined || undefined;
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=buildFeatureSummary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["buildFeatureSummary","feature","snapshot","name","buildNetworkSummary","buildConsoleSummary","buildNavigationSummary","buildZustandSummary","buildTrackSummary","buildClipboardSummary","buildEnvironmentSummary","buildDevConnectSummary","buildSessionHistorySummary","buildThirdPartyLibsSummary","buildNativeSummary","buildUnknownSummary","items","asArray","count","length","badCount","latestLabel","item","n","error","response","status","last","method","request","toUpperCase","url","path","extractPath","filter","Boolean","join","capabilityText","undefined","supportsBadFilter","lvl","level","formatConsoleMessage","data","from","to","parts","action","storeName","eventName","_snapshot","env","envs","environments","current","find","e","id","currentEnvironmentId","label","statusLabel","s","host","computerHost","daemonPort","streaming","statusColor","sessions","currentSessionId","snap","Array","isArray","u","URL","pathname","search","joined","map","d","JSON","stringify","slice"],"sourceRoot":"../../../../src","sources":["ui/panel/buildFeatureSummary.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export function filterFeatureSnapshot(feature, snapshot, query, filterMode) {
|
|
4
|
+
if (!Array.isArray(snapshot)) return snapshot;
|
|
5
|
+
const name = feature.name;
|
|
6
|
+
const supportsBad = name === 'network' || name === 'console' || name === 'native';
|
|
7
|
+
return snapshot.filter(item => {
|
|
8
|
+
if (filterMode === 'bad' && supportsBad) {
|
|
9
|
+
if (!isBad(name, item)) return false;
|
|
10
|
+
}
|
|
11
|
+
if (query) {
|
|
12
|
+
const hay = extractSearchableText(item).toLowerCase();
|
|
13
|
+
if (!hay.includes(query.toLowerCase())) return false;
|
|
14
|
+
}
|
|
15
|
+
return true;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function isBad(featureName, item) {
|
|
19
|
+
if (featureName === 'network') {
|
|
20
|
+
const resp = item.response;
|
|
21
|
+
return !!(item.error || (resp?.status ?? 0) >= 400);
|
|
22
|
+
}
|
|
23
|
+
// console, native
|
|
24
|
+
const lvl = item.level ?? '';
|
|
25
|
+
return lvl === 'warn' || lvl === 'error' || lvl === 'fatal';
|
|
26
|
+
}
|
|
27
|
+
function extractSearchableText(item) {
|
|
28
|
+
if (item == null) return '';
|
|
29
|
+
if (typeof item === 'string') return item;
|
|
30
|
+
if (typeof item === 'number' || typeof item === 'boolean') return String(item);
|
|
31
|
+
if (Array.isArray(item)) return item.map(extractSearchableText).join(' ');
|
|
32
|
+
const parts = [];
|
|
33
|
+
for (const val of Object.values(item)) {
|
|
34
|
+
const t = extractSearchableText(val);
|
|
35
|
+
if (t) parts.push(t);
|
|
36
|
+
}
|
|
37
|
+
return parts.join(' ');
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=filterFeatureSnapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["filterFeatureSnapshot","feature","snapshot","query","filterMode","Array","isArray","name","supportsBad","filter","item","isBad","hay","extractSearchableText","toLowerCase","includes","featureName","resp","response","error","status","lvl","level","String","map","join","parts","val","Object","values","t","push"],"sourceRoot":"../../../../src","sources":["ui/panel/filterFeatureSnapshot.ts"],"mappings":";;AAEA,OAAO,SAASA,qBAAqBA,CACnCC,OAAwB,EACxBC,QAAiB,EACjBC,KAAa,EACbC,UAAyB,EAChB;EACT,IAAI,CAACC,KAAK,CAACC,OAAO,CAACJ,QAAQ,CAAC,EAAE,OAAOA,QAAQ;EAE7C,MAAMK,IAAI,GAAGN,OAAO,CAACM,IAAI;EACzB,MAAMC,WAAW,GACfD,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,QAAQ;EAE/D,OAAQL,QAAQ,CAAeO,MAAM,CAAEC,IAAI,IAAK;IAC9C,IAAIN,UAAU,KAAK,KAAK,IAAII,WAAW,EAAE;MACvC,IAAI,CAACG,KAAK,CAACJ,IAAI,EAAEG,IAA+B,CAAC,EAAE,OAAO,KAAK;IACjE;IACA,IAAIP,KAAK,EAAE;MACT,MAAMS,GAAG,GAAGC,qBAAqB,CAACH,IAAI,CAAC,CAACI,WAAW,CAAC,CAAC;MACrD,IAAI,CAACF,GAAG,CAACG,QAAQ,CAACZ,KAAK,CAACW,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;IACtD;IACA,OAAO,IAAI;EACb,CAAC,CAAC;AACJ;AAEA,SAASH,KAAKA,CACZK,WAAmB,EACnBN,IAA6B,EACpB;EACT,IAAIM,WAAW,KAAK,SAAS,EAAE;IAC7B,MAAMC,IAAI,GAAGP,IAAI,CAACQ,QAA+C;IACjE,OAAO,CAAC,EAAER,IAAI,CAACS,KAAK,IAAI,CAAEF,IAAI,EAAEG,MAAM,IAAe,CAAC,KAAK,GAAG,CAAC;EACjE;EACA;EACA,MAAMC,GAAG,GAAIX,IAAI,CAACY,KAAK,IAAe,EAAE;EACxC,OAAOD,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,OAAO;AAC7D;AAEA,SAASR,qBAAqBA,CAACH,IAAa,EAAU;EACpD,IAAIA,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE;EAC3B,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE,OAAOA,IAAI;EACzC,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,SAAS,EAAE,OAAOa,MAAM,CAACb,IAAI,CAAC;EAC9E,IAAIL,KAAK,CAACC,OAAO,CAACI,IAAI,CAAC,EAAE,OAAOA,IAAI,CAACc,GAAG,CAACX,qBAAqB,CAAC,CAACY,IAAI,CAAC,GAAG,CAAC;EACzE,MAAMC,KAAe,GAAG,EAAE;EAC1B,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,MAAM,CAACnB,IAA+B,CAAC,EAAE;IAChE,MAAMoB,CAAC,GAAGjB,qBAAqB,CAACc,GAAG,CAAC;IACpC,IAAIG,CAAC,EAAEJ,KAAK,CAACK,IAAI,CAACD,CAAC,CAAC;EACtB;EACA,OAAOJ,KAAK,CAACD,IAAI,CAAC,GAAG,CAAC;AACxB","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export function resolveStoredTabIndex(features, storedTab) {
|
|
4
|
+
if (!storedTab) return 0;
|
|
5
|
+
const nameIndex = features.findIndex(feature => feature.name === storedTab);
|
|
6
|
+
if (nameIndex >= 0) return nameIndex;
|
|
7
|
+
const legacyIndex = Number(storedTab);
|
|
8
|
+
if (Number.isInteger(legacyIndex) && legacyIndex >= 0 && legacyIndex < features.length) {
|
|
9
|
+
return legacyIndex;
|
|
10
|
+
}
|
|
11
|
+
return 0;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=tabPersistence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["resolveStoredTabIndex","features","storedTab","nameIndex","findIndex","feature","name","legacyIndex","Number","isInteger","length"],"sourceRoot":"../../../../src","sources":["ui/panel/tabPersistence.ts"],"mappings":";;AAEA,OAAO,SAASA,qBAAqBA,CACnCC,QAA2B,EAC3BC,SAAwB,EAChB;EACR,IAAI,CAACA,SAAS,EAAE,OAAO,CAAC;EAExB,MAAMC,SAAS,GAAGF,QAAQ,CAACG,SAAS,CAAEC,OAAO,IAAKA,OAAO,CAACC,IAAI,KAAKJ,SAAS,CAAC;EAC7E,IAAIC,SAAS,IAAI,CAAC,EAAE,OAAOA,SAAS;EAEpC,MAAMI,WAAW,GAAGC,MAAM,CAACN,SAAS,CAAC;EACrC,IACEM,MAAM,CAACC,SAAS,CAACF,WAAW,CAAC,IAC7BA,WAAW,IAAI,CAAC,IAChBA,WAAW,GAAGN,QAAQ,CAACS,MAAM,EAC7B;IACA,OAAOH,WAAW;EACpB;EAEA,OAAO,CAAC;AACV","ignoreList":[]}
|
|
@@ -13,6 +13,12 @@ export const Colors = {
|
|
|
13
13
|
warning: '#FF9500',
|
|
14
14
|
info: '#5AC8FA',
|
|
15
15
|
purple: '#AF52DE',
|
|
16
|
+
// Panel-specific
|
|
17
|
+
railBackground: '#E8EEF6',
|
|
18
|
+
panelDivider: '#CED8E4',
|
|
19
|
+
signalRedBg: '#FFE9E7',
|
|
20
|
+
signalAmberBg: '#FFF1D6',
|
|
21
|
+
signalDefaultBg: '#E7EDF5',
|
|
16
22
|
get: '#007AFF',
|
|
17
23
|
post: '#34C759',
|
|
18
24
|
put: '#FF9500',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Colors","primary","text","textSecondary","textLight","border","background","surface","success","error","warning","info","purple","get","post","put","delete","patch","getMethodColor","method","toUpperCase"],"sourceRoot":"../../../../src","sources":["ui/theme/colors.ts"],"mappings":";;AAAA,OAAO,MAAMA,MAAM,GAAG;EACpBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EACfC,aAAa,EAAE,SAAS;EACxBC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,SAAS;EACjBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAElBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EAEfC,MAAM,EAAE,SAAS;
|
|
1
|
+
{"version":3,"names":["Colors","primary","text","textSecondary","textLight","border","background","surface","success","error","warning","info","purple","railBackground","panelDivider","signalRedBg","signalAmberBg","signalDefaultBg","get","post","put","delete","patch","getMethodColor","method","toUpperCase"],"sourceRoot":"../../../../src","sources":["ui/theme/colors.ts"],"mappings":";;AAAA,OAAO,MAAMA,MAAM,GAAG;EACpBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EACfC,aAAa,EAAE,SAAS;EACxBC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,SAAS;EACjBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAElBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EAEfC,MAAM,EAAE,SAAS;EAEjB;EACAC,cAAc,EAAE,SAAS;EACzBC,YAAY,EAAE,SAAS;EACvBC,WAAW,EAAE,SAAS;EACtBC,aAAa,EAAE,SAAS;EACxBC,eAAe,EAAE,SAAS;EAE1BC,GAAG,EAAE,SAAS;EACdC,IAAI,EAAE,SAAS;EACfC,GAAG,EAAE,SAAS;EACdC,MAAM,EAAE,SAAS;EACjBC,KAAK,EAAE;AACT,CAAU;AAEV,OAAO,SAASC,cAAcA,CAACC,MAAc,EAAU;EACrD,QAAQA,MAAM,CAACC,WAAW,CAAC,CAAC;IAC1B,KAAK,KAAK;MAAE,OAAOzB,MAAM,CAACkB,GAAG;IAC7B,KAAK,MAAM;MAAE,OAAOlB,MAAM,CAACmB,IAAI;IAC/B,KAAK,KAAK;MAAE,OAAOnB,MAAM,CAACoB,GAAG;IAC7B,KAAK,QAAQ;MAAE,OAAOpB,MAAM,CAACqB,MAAM;IACnC,KAAK,OAAO;MAAE,OAAOrB,MAAM,CAACsB,KAAK;IACjC;MAAS,OAAOtB,MAAM,CAACG,aAAa;EACtC;AACF","ignoreList":[]}
|
|
@@ -63,6 +63,7 @@ export class DaemonClient {
|
|
|
63
63
|
_stream = null;
|
|
64
64
|
_restorePromise = null;
|
|
65
65
|
_sessionId = null;
|
|
66
|
+
_sessionProvider = null;
|
|
66
67
|
constructor(options) {
|
|
67
68
|
this._fetch = options.fetch;
|
|
68
69
|
this._AbortController = options.AbortController;
|
|
@@ -152,12 +153,7 @@ export class DaemonClient {
|
|
|
152
153
|
|
|
153
154
|
connect(options = {}) {
|
|
154
155
|
if (this._stream) return;
|
|
155
|
-
|
|
156
|
-
this._sessionId = {
|
|
157
|
-
id: generateSessionId(),
|
|
158
|
-
startedAt: Date.now()
|
|
159
|
-
};
|
|
160
|
-
}
|
|
156
|
+
const session = this.resolveSession();
|
|
161
157
|
const endpoint = options.endpoint || this.resolveEndpoint();
|
|
162
158
|
const reportUrl = buildDaemonUrl(endpoint, '/report');
|
|
163
159
|
const ingestUrl = buildDaemonUrl(endpoint, '/ingest');
|
|
@@ -172,7 +168,7 @@ export class DaemonClient {
|
|
|
172
168
|
debounceMs: options.debounceMs || DEFAULT_DEBOUNCE_MS,
|
|
173
169
|
timeoutMs: Math.max(0, options.timeoutMs ?? DEFAULT_TIMEOUT_MS),
|
|
174
170
|
deviceId: null,
|
|
175
|
-
session
|
|
171
|
+
session,
|
|
176
172
|
sending: false,
|
|
177
173
|
debounceTimer: null,
|
|
178
174
|
retryTimer: null,
|
|
@@ -243,6 +239,12 @@ export class DaemonClient {
|
|
|
243
239
|
setOnConnectionChange(callback) {
|
|
244
240
|
this._onConnectionChange = callback;
|
|
245
241
|
}
|
|
242
|
+
setSessionProvider(provider) {
|
|
243
|
+
this._sessionProvider = provider;
|
|
244
|
+
}
|
|
245
|
+
clearSessionProvider() {
|
|
246
|
+
this._sessionProvider = null;
|
|
247
|
+
}
|
|
246
248
|
|
|
247
249
|
// --- Restore (init-time reconnect) ---
|
|
248
250
|
|
|
@@ -280,7 +282,10 @@ export class DaemonClient {
|
|
|
280
282
|
async reportOnce(options = {}) {
|
|
281
283
|
const endpoint = options.endpoint ?? this.resolveEndpoint();
|
|
282
284
|
const reportUrl = buildDaemonUrl(endpoint, '/report');
|
|
283
|
-
const report = createDebugDeviceReport(
|
|
285
|
+
const report = createDebugDeviceReport({
|
|
286
|
+
...options,
|
|
287
|
+
session: options.session ?? this.resolveSession()
|
|
288
|
+
});
|
|
284
289
|
const fetchImpl = this.resolveFetch();
|
|
285
290
|
this.notifyEndpoint(endpoint);
|
|
286
291
|
this.notifyEndpoint(reportUrl);
|
|
@@ -343,6 +348,7 @@ export class DaemonClient {
|
|
|
343
348
|
this._streamingEnabled = null;
|
|
344
349
|
this._restorePromise = null;
|
|
345
350
|
this._sessionId = null;
|
|
351
|
+
this._sessionProvider = null;
|
|
346
352
|
}
|
|
347
353
|
|
|
348
354
|
// ---- Private: Transport ----
|
|
@@ -362,6 +368,22 @@ export class DaemonClient {
|
|
|
362
368
|
notifyEndpoint(url) {
|
|
363
369
|
this._onEndpointDetected?.(url);
|
|
364
370
|
}
|
|
371
|
+
resolveSession() {
|
|
372
|
+
if (this._sessionProvider) {
|
|
373
|
+
try {
|
|
374
|
+
return this._sessionProvider();
|
|
375
|
+
} catch {
|
|
376
|
+
// fall through to internal session
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
if (!this._sessionId) {
|
|
380
|
+
this._sessionId = {
|
|
381
|
+
id: generateSessionId(),
|
|
382
|
+
startedAt: Date.now()
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
return this._sessionId;
|
|
386
|
+
}
|
|
365
387
|
emitStatus(status) {
|
|
366
388
|
try {
|
|
367
389
|
this._stream?.onStatus?.(status);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AppState","Platform","debugToolkit","createDebugDeviceReport","safeStringify","DEFAULT_HEALTH_TIMEOUT_MS","DEFAULT_DEBOUNCE_MS","DEFAULT_TIMEOUT_MS","DEFAULT_REPORT_TIMEOUT_MS","RETRY_BASE_MS","MAX_RETRY_DELAY_MS","BACKGROUND_RESYNC_THRESHOLD_MS","getDefaultDaemonEndpoint","OS","buildDeviceDaemonEndpoint","host","trimmed","trim","replace","withProtocol","test","url","URL","port","toString","normalizeDaemonSettings","settings","endpoint","mode","deviceHost","token","undefined","DaemonClient","_settings","_streamingEnabled","_stream","_restorePromise","_sessionId","constructor","options","_fetch","fetch","_AbortController","AbortController","_featureProvider","featureProvider","_onEndpointDetected","onEndpointDetected","getSettings","configure","normalized","checkConnection","healthUrl","buildDaemonUrl","fetchImpl","resolveFetch","ok","reason","error","timeoutMs","Math","max","controller","createAbortController","timedOut","timeout","setTimeout","abort","response","method","headers","signal","body","readHealthBody","status","Error","message","String","clearTimeout","connect","id","generateSessionId","startedAt","Date","now","resolveEndpoint","reportUrl","ingestUrl","notifyEndpoint","state","debounceMs","deviceId","session","sending","debounceTimer","retryTimer","retryAttempt","maxRetryAttempts","floor","dirtyFeatures","Set","lastSentIds","Map","featureUnsubscribes","appStateUnsubscribe","backgroundedAt","onStatus","feature","features","subscribe","unsub","onFeatureChange","name","push","addEventListener","nextState","handleAppStateChange","remove","_onConnectionChange","emitStatus","enqueueSendFullReport","disconnect","forEach","fn","isConnected","getStatus","retryInMs","min","setStreamingEnabled","enabled","setEndpointDetector","callback","setOnConnectionChange","restore","doRestore","finally","canProbe","Boolean","connection","reportOnce","report","Authorization","JSON","stringify","bodyObject","readReportResponseBody","logCount","readLogCount","receivedAt","_resetForTesting","globalThis","Ctor","doPost","emitStreamStatus","resetRetry","failStreaming","scheduleRetry","delay","enqueueSendDelta","scheduleDelta","featureName","add","wasAway","clear","fetchHeaders","result","doSendFullReport","size","isAuthFailure","json","snapshot","getSnapshot","Array","isArray","set","snapshotToIds","retry","delta","nextSentIds","find","f","prevIds","get","newEntries","filter","entry","getEntryId","has","length","Object","keys","n","logs","ids","daemonClient","path","endsWith","map","raw","value","entries","reduce","acc","key","count","_resetDaemonClientForTesting","crypto","randomUUID","fallbackSessionId","c","r","random"],"sourceRoot":"../../../src","sources":["utils/DaemonClient.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AppState","Platform","debugToolkit","createDebugDeviceReport","safeStringify","DEFAULT_HEALTH_TIMEOUT_MS","DEFAULT_DEBOUNCE_MS","DEFAULT_TIMEOUT_MS","DEFAULT_REPORT_TIMEOUT_MS","RETRY_BASE_MS","MAX_RETRY_DELAY_MS","BACKGROUND_RESYNC_THRESHOLD_MS","getDefaultDaemonEndpoint","OS","buildDeviceDaemonEndpoint","host","trimmed","trim","replace","withProtocol","test","url","URL","port","toString","normalizeDaemonSettings","settings","endpoint","mode","deviceHost","token","undefined","DaemonClient","_settings","_streamingEnabled","_stream","_restorePromise","_sessionId","_sessionProvider","constructor","options","_fetch","fetch","_AbortController","AbortController","_featureProvider","featureProvider","_onEndpointDetected","onEndpointDetected","getSettings","configure","normalized","checkConnection","healthUrl","buildDaemonUrl","fetchImpl","resolveFetch","ok","reason","error","timeoutMs","Math","max","controller","createAbortController","timedOut","timeout","setTimeout","abort","response","method","headers","signal","body","readHealthBody","status","Error","message","String","clearTimeout","connect","session","resolveSession","resolveEndpoint","reportUrl","ingestUrl","notifyEndpoint","state","debounceMs","deviceId","sending","debounceTimer","retryTimer","retryAttempt","maxRetryAttempts","floor","dirtyFeatures","Set","lastSentIds","Map","featureUnsubscribes","appStateUnsubscribe","backgroundedAt","onStatus","feature","features","subscribe","unsub","onFeatureChange","name","push","addEventListener","nextState","handleAppStateChange","remove","_onConnectionChange","emitStatus","enqueueSendFullReport","disconnect","forEach","fn","isConnected","getStatus","retryInMs","min","setStreamingEnabled","enabled","setEndpointDetector","callback","setOnConnectionChange","setSessionProvider","provider","clearSessionProvider","restore","doRestore","finally","canProbe","Boolean","connection","reportOnce","report","Authorization","JSON","stringify","bodyObject","readReportResponseBody","logCount","readLogCount","receivedAt","_resetForTesting","globalThis","Ctor","id","generateSessionId","startedAt","Date","now","doPost","emitStreamStatus","resetRetry","failStreaming","scheduleRetry","delay","enqueueSendDelta","scheduleDelta","featureName","add","wasAway","clear","fetchHeaders","result","doSendFullReport","size","isAuthFailure","json","snapshot","getSnapshot","Array","isArray","set","snapshotToIds","retry","delta","nextSentIds","find","f","prevIds","get","newEntries","filter","entry","getEntryId","has","length","Object","keys","n","logs","ids","daemonClient","path","endsWith","map","raw","value","entries","reduce","acc","key","count","_resetDaemonClientForTesting","crypto","randomUUID","fallbackSessionId","c","r","random"],"sourceRoot":"../../../src","sources":["utils/DaemonClient.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const SESSION_INDEX_KEY = '@react_native_debug_toolkit/sessions';
|
|
4
|
+
const DEFAULT_MAX_SESSIONS = 5;
|
|
5
|
+
const DEFAULT_FEATURE_KEYS = ['console_logs', 'network_logs', 'track_logs'];
|
|
6
|
+
function randomHex() {
|
|
7
|
+
return Math.floor(Math.random() * 0xffffffff).toString(16).padStart(8, '0');
|
|
8
|
+
}
|
|
9
|
+
function createSession() {
|
|
10
|
+
const startedAt = Date.now();
|
|
11
|
+
return {
|
|
12
|
+
id: `${startedAt}-${randomHex()}`,
|
|
13
|
+
startedAt
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function isLogSession(value) {
|
|
17
|
+
return Boolean(value && typeof value === 'object' && typeof value.id === 'string' && typeof value.startedAt === 'number');
|
|
18
|
+
}
|
|
19
|
+
function parseSessionIndex(raw) {
|
|
20
|
+
if (!raw) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const parsed = JSON.parse(raw);
|
|
25
|
+
if (!parsed || !Array.isArray(parsed.sessions)) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
currentSessionId: typeof parsed.currentSessionId === 'string' ? parsed.currentSessionId : '',
|
|
30
|
+
sessions: parsed.sessions.filter(isLogSession),
|
|
31
|
+
maxSessions: typeof parsed.maxSessions === 'number' ? parsed.maxSessions : DEFAULT_MAX_SESSIONS
|
|
32
|
+
};
|
|
33
|
+
} catch {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function compareNewestFirst(left, right) {
|
|
38
|
+
return right.startedAt - left.startedAt;
|
|
39
|
+
}
|
|
40
|
+
export class SessionManager {
|
|
41
|
+
constructor(storage, options = {}) {
|
|
42
|
+
this.storage = storage;
|
|
43
|
+
this.currentSession = createSession();
|
|
44
|
+
this.maxSessions = Math.max(1, Math.floor(options.maxSessions ?? DEFAULT_MAX_SESSIONS));
|
|
45
|
+
this.featureKeys = options.featureKeys?.length ? options.featureKeys : DEFAULT_FEATURE_KEYS;
|
|
46
|
+
}
|
|
47
|
+
async initialize() {
|
|
48
|
+
const existing = parseSessionIndex(await this.storage.getItem(SESSION_INDEX_KEY));
|
|
49
|
+
const byId = new Map();
|
|
50
|
+
byId.set(this.currentSession.id, this.currentSession);
|
|
51
|
+
for (const session of existing?.sessions ?? []) {
|
|
52
|
+
byId.set(session.id, session);
|
|
53
|
+
}
|
|
54
|
+
const sessions = Array.from(byId.values()).sort(compareNewestFirst);
|
|
55
|
+
const retained = sessions.slice(0, this.maxSessions);
|
|
56
|
+
const removed = sessions.slice(this.maxSessions);
|
|
57
|
+
const index = {
|
|
58
|
+
currentSessionId: this.currentSession.id,
|
|
59
|
+
sessions: retained,
|
|
60
|
+
maxSessions: this.maxSessions
|
|
61
|
+
};
|
|
62
|
+
await this.storage.setItem(SESSION_INDEX_KEY, JSON.stringify(index));
|
|
63
|
+
await this.cleanupSessionLogs(removed);
|
|
64
|
+
}
|
|
65
|
+
getCurrentSession() {
|
|
66
|
+
return this.currentSession;
|
|
67
|
+
}
|
|
68
|
+
async getSessionHistory() {
|
|
69
|
+
const index = parseSessionIndex(await this.storage.getItem(SESSION_INDEX_KEY));
|
|
70
|
+
return (index?.sessions ?? []).sort(compareNewestFirst);
|
|
71
|
+
}
|
|
72
|
+
getLogStorageKey(featureKey, sessionId = this.currentSession.id) {
|
|
73
|
+
return `@react_native_debug_toolkit/${sessionId}/${featureKey}`;
|
|
74
|
+
}
|
|
75
|
+
async loadSessionLogs(sessionId, featureKey) {
|
|
76
|
+
const raw = await this.storage.getItem(this.getLogStorageKey(featureKey, sessionId));
|
|
77
|
+
if (!raw) {
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
const parsed = JSON.parse(raw);
|
|
82
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
83
|
+
} catch {
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
async getSessionLogCount(sessionId, featureKey) {
|
|
88
|
+
const raw = await this.storage.getItem(this.getLogStorageKey(featureKey, sessionId));
|
|
89
|
+
if (!raw) return 0;
|
|
90
|
+
try {
|
|
91
|
+
const parsed = JSON.parse(raw);
|
|
92
|
+
return Array.isArray(parsed) ? parsed.length : 0;
|
|
93
|
+
} catch {
|
|
94
|
+
return 0;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
async clearCurrentSessionLogs(featureKey) {
|
|
98
|
+
await this.storage.setItem(this.getLogStorageKey(featureKey), '[]');
|
|
99
|
+
}
|
|
100
|
+
async cleanupOldSessions() {
|
|
101
|
+
const index = parseSessionIndex(await this.storage.getItem(SESSION_INDEX_KEY));
|
|
102
|
+
if (!index) {
|
|
103
|
+
return 0;
|
|
104
|
+
}
|
|
105
|
+
const sessions = index.sessions.sort(compareNewestFirst);
|
|
106
|
+
const retained = sessions.slice(0, this.maxSessions);
|
|
107
|
+
const removed = sessions.slice(this.maxSessions);
|
|
108
|
+
if (removed.length === 0) {
|
|
109
|
+
return 0;
|
|
110
|
+
}
|
|
111
|
+
await this.storage.setItem(SESSION_INDEX_KEY, JSON.stringify({
|
|
112
|
+
currentSessionId: index.currentSessionId,
|
|
113
|
+
sessions: retained,
|
|
114
|
+
maxSessions: this.maxSessions
|
|
115
|
+
}));
|
|
116
|
+
await this.cleanupSessionLogs(removed);
|
|
117
|
+
return removed.length;
|
|
118
|
+
}
|
|
119
|
+
async cleanupSessionLogs(sessions) {
|
|
120
|
+
for (const session of sessions) {
|
|
121
|
+
for (const featureKey of this.featureKeys) {
|
|
122
|
+
await this.storage.removeItem(this.getLogStorageKey(featureKey, session.id));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=SessionManager.js.map
|