react-native-debug-toolkit 3.1.4 → 3.2.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 +88 -65
- package/README.zh-CN.md +87 -64
- package/bin/debug-toolkit.js +10 -2
- package/lib/commonjs/core/initialize.js +5 -3
- package/lib/commonjs/core/initialize.js.map +1 -1
- package/lib/commonjs/features/devConnect/DevConnectQrScanner.js +146 -0
- package/lib/commonjs/features/devConnect/DevConnectQrScanner.js.map +1 -0
- package/lib/commonjs/features/devConnect/DevConnectTab.js +426 -0
- package/lib/commonjs/features/devConnect/DevConnectTab.js.map +1 -0
- package/lib/commonjs/features/devConnect/cameraKit.js +54 -0
- package/lib/commonjs/features/devConnect/cameraKit.js.map +1 -0
- package/lib/commonjs/features/devConnect/devConnectPreferences.js +35 -0
- package/lib/commonjs/features/devConnect/devConnectPreferences.js.map +1 -0
- package/lib/commonjs/features/devConnect/devConnectUtils.js +53 -0
- package/lib/commonjs/features/devConnect/devConnectUtils.js.map +1 -0
- package/lib/commonjs/features/devConnect/index.js +92 -0
- package/lib/commonjs/features/devConnect/index.js.map +1 -0
- package/lib/commonjs/features/devConnect/platformDetect.js +30 -0
- package/lib/commonjs/features/devConnect/platformDetect.js.map +1 -0
- package/lib/commonjs/features/devConnect/types.js +2 -0
- package/lib/commonjs/features/devConnect/types.js.map +1 -0
- package/lib/commonjs/features/network/NetworkLogTab.js +7 -3
- package/lib/commonjs/features/network/NetworkLogTab.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/DebugView.js +1 -0
- package/lib/commonjs/ui/DebugView.js.map +1 -1
- package/lib/commonjs/ui/panel/DebugPanel.js +0 -25
- package/lib/commonjs/ui/panel/DebugPanel.js.map +1 -1
- package/lib/commonjs/utils/DaemonClient.js +25 -1
- package/lib/commonjs/utils/DaemonClient.js.map +1 -1
- package/lib/commonjs/utils/debugPreferences.js +2 -1
- package/lib/commonjs/utils/debugPreferences.js.map +1 -1
- package/lib/commonjs/utils/deviceReport.js +1 -0
- package/lib/commonjs/utils/deviceReport.js.map +1 -1
- package/lib/module/core/initialize.js +5 -3
- package/lib/module/core/initialize.js.map +1 -1
- package/lib/module/features/devConnect/DevConnectQrScanner.js +141 -0
- package/lib/module/features/devConnect/DevConnectQrScanner.js.map +1 -0
- package/lib/module/features/devConnect/DevConnectTab.js +421 -0
- package/lib/module/features/devConnect/DevConnectTab.js.map +1 -0
- package/lib/module/features/devConnect/cameraKit.js +49 -0
- package/lib/module/features/devConnect/cameraKit.js.map +1 -0
- package/lib/module/features/devConnect/devConnectPreferences.js +29 -0
- package/lib/module/features/devConnect/devConnectPreferences.js.map +1 -0
- package/lib/module/features/devConnect/devConnectUtils.js +47 -0
- package/lib/module/features/devConnect/devConnectUtils.js.map +1 -0
- package/lib/module/features/devConnect/index.js +52 -0
- package/lib/module/features/devConnect/index.js.map +1 -0
- package/lib/module/features/devConnect/platformDetect.js +26 -0
- package/lib/module/features/devConnect/platformDetect.js.map +1 -0
- package/lib/module/features/devConnect/types.js +2 -0
- package/lib/module/features/devConnect/types.js.map +1 -0
- package/lib/module/features/network/NetworkLogTab.js +7 -3
- package/lib/module/features/network/NetworkLogTab.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/DebugView.js +1 -0
- package/lib/module/ui/DebugView.js.map +1 -1
- package/lib/module/ui/panel/DebugPanel.js +1 -26
- package/lib/module/ui/panel/DebugPanel.js.map +1 -1
- package/lib/module/utils/DaemonClient.js +25 -1
- package/lib/module/utils/DaemonClient.js.map +1 -1
- package/lib/module/utils/debugPreferences.js +2 -1
- package/lib/module/utils/debugPreferences.js.map +1 -1
- package/lib/module/utils/deviceReport.js +1 -0
- package/lib/module/utils/deviceReport.js.map +1 -1
- package/lib/typescript/src/core/initialize.d.ts +1 -0
- package/lib/typescript/src/core/initialize.d.ts.map +1 -1
- package/lib/typescript/src/features/devConnect/DevConnectQrScanner.d.ts +9 -0
- package/lib/typescript/src/features/devConnect/DevConnectQrScanner.d.ts.map +1 -0
- package/lib/typescript/src/features/devConnect/DevConnectTab.d.ts +5 -0
- package/lib/typescript/src/features/devConnect/DevConnectTab.d.ts.map +1 -0
- package/lib/typescript/src/features/devConnect/cameraKit.d.ts +47 -0
- package/lib/typescript/src/features/devConnect/cameraKit.d.ts.map +1 -0
- package/lib/typescript/src/features/devConnect/devConnectPreferences.d.ts +7 -0
- package/lib/typescript/src/features/devConnect/devConnectPreferences.d.ts.map +1 -0
- package/lib/typescript/src/features/devConnect/devConnectUtils.d.ts +12 -0
- package/lib/typescript/src/features/devConnect/devConnectUtils.d.ts.map +1 -0
- package/lib/typescript/src/features/devConnect/index.d.ts +7 -0
- package/lib/typescript/src/features/devConnect/index.d.ts.map +1 -0
- package/lib/typescript/src/features/devConnect/platformDetect.d.ts +2 -0
- package/lib/typescript/src/features/devConnect/platformDetect.d.ts.map +1 -0
- package/lib/typescript/src/features/devConnect/types.d.ts +7 -0
- package/lib/typescript/src/features/devConnect/types.d.ts.map +1 -0
- package/lib/typescript/src/features/network/NetworkLogTab.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -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/ui/DebugView.d.ts.map +1 -1
- package/lib/typescript/src/ui/panel/DebugPanel.d.ts.map +1 -1
- package/lib/typescript/src/utils/DaemonClient.d.ts +1 -0
- package/lib/typescript/src/utils/DaemonClient.d.ts.map +1 -1
- package/lib/typescript/src/utils/debugPreferences.d.ts +1 -0
- package/lib/typescript/src/utils/debugPreferences.d.ts.map +1 -1
- package/lib/typescript/src/utils/deviceReport.d.ts +6 -0
- package/lib/typescript/src/utils/deviceReport.d.ts.map +1 -1
- package/node/daemon/src/console/console.html +166 -27
- package/node/daemon/src/store.js +45 -6
- package/package.json +15 -3
- package/src/core/initialize.ts +7 -1
- package/src/features/devConnect/DevConnectQrScanner.tsx +122 -0
- package/src/features/devConnect/DevConnectTab.tsx +357 -0
- package/src/features/devConnect/cameraKit.ts +93 -0
- package/src/features/devConnect/devConnectPreferences.ts +33 -0
- package/src/features/devConnect/devConnectUtils.ts +59 -0
- package/src/features/devConnect/index.ts +64 -0
- package/src/features/devConnect/platformDetect.ts +26 -0
- package/src/features/devConnect/types.ts +6 -0
- package/src/features/network/NetworkLogTab.tsx +6 -3
- package/src/index.ts +2 -0
- package/src/types/feature.ts +2 -1
- package/src/ui/DebugView.tsx +1 -0
- package/src/ui/panel/DebugPanel.tsx +1 -23
- package/src/utils/DaemonClient.ts +26 -1
- package/src/utils/debugPreferences.ts +1 -0
- package/src/utils/deviceReport.ts +8 -1
- package/lib/commonjs/ui/panel/StreamingSettingsModal.js +0 -495
- package/lib/commonjs/ui/panel/StreamingSettingsModal.js.map +0 -1
- package/lib/module/ui/panel/StreamingSettingsModal.js +0 -490
- package/lib/module/ui/panel/StreamingSettingsModal.js.map +0 -1
- package/lib/typescript/src/ui/panel/StreamingSettingsModal.d.ts +0 -8
- package/lib/typescript/src/ui/panel/StreamingSettingsModal.d.ts.map +0 -1
- package/src/ui/panel/StreamingSettingsModal.tsx +0 -528
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ComponentType } from 'react';
|
|
2
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
+
export interface CameraKitReadCodeEvent {
|
|
4
|
+
nativeEvent?: {
|
|
5
|
+
codeStringValue?: string;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export interface CameraKitCameraProps {
|
|
9
|
+
style?: StyleProp<ViewStyle>;
|
|
10
|
+
cameraType?: unknown;
|
|
11
|
+
scanBarcode?: boolean;
|
|
12
|
+
onReadCode?: (event: CameraKitReadCodeEvent) => void;
|
|
13
|
+
showFrame?: boolean;
|
|
14
|
+
laserColor?: string;
|
|
15
|
+
frameColor?: string;
|
|
16
|
+
allowedBarcodeTypes?: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface CameraKitModule {
|
|
19
|
+
Camera: ComponentType<CameraKitCameraProps>;
|
|
20
|
+
CameraType?: {
|
|
21
|
+
Back?: unknown;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface ExpoCameraScanResult {
|
|
25
|
+
boundingBox?: unknown;
|
|
26
|
+
cornerPoints?: unknown;
|
|
27
|
+
type?: string;
|
|
28
|
+
value?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface ExpoCameraModule {
|
|
31
|
+
Camera: ComponentType<{
|
|
32
|
+
style?: StyleProp<ViewStyle>;
|
|
33
|
+
onBarCodeScanned?: (result: ExpoCameraScanResult) => void;
|
|
34
|
+
barCodeScannerSettings?: {
|
|
35
|
+
barCodeTypes: string[];
|
|
36
|
+
};
|
|
37
|
+
}>;
|
|
38
|
+
}
|
|
39
|
+
export type ScannerKind = 'camera-kit' | 'expo-camera';
|
|
40
|
+
export interface ScannerModule {
|
|
41
|
+
kind: ScannerKind;
|
|
42
|
+
CameraKit?: CameraKitModule;
|
|
43
|
+
ExpoCamera?: ExpoCameraModule;
|
|
44
|
+
}
|
|
45
|
+
export declare function getScannerModule(): ScannerModule | null;
|
|
46
|
+
export declare function isCameraKitAvailable(): boolean;
|
|
47
|
+
//# sourceMappingURL=cameraKit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cameraKit.d.ts","sourceRoot":"","sources":["../../../../../src/features/devConnect/cameraKit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzD,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE;QACZ,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACjC;AAID,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7B,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;QAC1D,sBAAsB,CAAC,EAAE;YAAE,YAAY,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KACrD,CAAC,CAAC;CACJ;AAID,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,aAAa,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAgCD,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAIvD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface DevConnectPreferences {
|
|
2
|
+
computerHost: string;
|
|
3
|
+
}
|
|
4
|
+
export declare function loadDevConnectPreferences(): Promise<DevConnectPreferences>;
|
|
5
|
+
export declare function saveComputerHost(value: string): Promise<string | null>;
|
|
6
|
+
export declare function restoreDevConnectSettingsToDaemon(): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=devConnectPreferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devConnectPreferences.d.ts","sourceRoot":"","sources":["../../../../../src/features/devConnect/devConnectPreferences.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAKhF;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAK5E;AAED,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC,CASvE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface MetroUrls {
|
|
2
|
+
expUrl: string;
|
|
3
|
+
httpUrl: string;
|
|
4
|
+
}
|
|
5
|
+
export interface ParsedMetroQrPayload {
|
|
6
|
+
computerHost: string;
|
|
7
|
+
source: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function normalizeComputerHost(raw: string): string | null;
|
|
10
|
+
export declare function buildMetroUrls(rawHost: string): MetroUrls | null;
|
|
11
|
+
export declare function parseMetroQrPayload(payload: string): ParsedMetroQrPayload | null;
|
|
12
|
+
//# sourceMappingURL=devConnectUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devConnectUtils.d.ts","sourceRoot":"","sources":["../../../../../src/features/devConnect/devConnectUtils.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAqBD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWhE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQhE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAIhF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DebugFeature } from '../../types';
|
|
2
|
+
import type { DevConnectState } from './types';
|
|
3
|
+
export type { DevConnectState } from './types';
|
|
4
|
+
export { buildMetroUrls, normalizeComputerHost, parseMetroQrPayload, } from './devConnectUtils';
|
|
5
|
+
export { loadDevConnectPreferences, restoreDevConnectSettingsToDaemon, saveComputerHost, } from './devConnectPreferences';
|
|
6
|
+
export declare const createDevConnectFeature: () => DebugFeature<DevConnectState>;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/devConnect/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,uBAAuB,QAAO,YAAY,CAAC,eAAe,CA2CtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platformDetect.d.ts","sourceRoot":"","sources":["../../../../../src/features/devConnect/platformDetect.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,IAAI,OAAO,CAuBrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/devConnect/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkLogTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/network/NetworkLogTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAcxC,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"NetworkLogTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/network/NetworkLogTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAcxC,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA4B5E,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,eAAe,EAAE,CAAC,CA+I7E,CAAC"}
|
|
@@ -17,6 +17,8 @@ export type { TrackFeatureConfig, TrackEventData } from './features/track';
|
|
|
17
17
|
export { createEnvironmentFeature } from './features/environment';
|
|
18
18
|
export type { EnvironmentFeatureAPI } from './features/environment';
|
|
19
19
|
export { createClipboardFeature } from './features/clipboard';
|
|
20
|
+
export { createDevConnectFeature } from './features/devConnect';
|
|
21
|
+
export type { DevConnectState } from './features/devConnect';
|
|
20
22
|
export { useNavigationLogger } from './features/navigation/useNavigationLogger';
|
|
21
23
|
export { safeStringify } from './utils/safeStringify';
|
|
22
24
|
export { copyToComputer, logToComputer, fmt } from './utils/copyToComputer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClG,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrF,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClG,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrF,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGhF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,sBAAsB,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ComponentType } from 'react';
|
|
2
2
|
export type DebugFeatureListener = () => void;
|
|
3
|
-
export type BuiltInFeatureName = 'network' | 'console' | 'zustand' | 'navigation' | 'track' | 'environment' | 'clipboard';
|
|
3
|
+
export type BuiltInFeatureName = 'network' | 'console' | 'zustand' | 'navigation' | 'track' | 'environment' | 'clipboard' | 'devConnect';
|
|
4
4
|
export interface DebugFeatureRenderProps<TSnapshot = unknown> {
|
|
5
5
|
snapshot: TSnapshot;
|
|
6
6
|
feature: DebugFeature<TSnapshot>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../../src/types/feature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,SAAS,GACT,SAAS,GACT,YAAY,GACZ,OAAO,GACP,aAAa,GACb,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../../src/types/feature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,SAAS,GACT,SAAS,GACT,YAAY,GACZ,OAAO,GACP,aAAa,GACb,WAAW,GACX,YAAY,CAAC;AAEjB,MAAM,WAAW,uBAAuB,CAAC,SAAS,GAAG,OAAO;IAC1D,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;CAClC;AAGD,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;AAEhD,wFAAwF;AACxF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;IACrC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,YAAY,CAAC,SAAS,GAAG,OAAO;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,WAAW,EAAE,MAAM,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,MAAM,IAAI,CAAC;IAC3D,aAAa,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,KAAK,CAAC,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugView.d.ts","sourceRoot":"","sources":["../../../../src/ui/DebugView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAI1E,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,mDAAmD;IACnD,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAC/D,sDAAsD;IACtD,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAeD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,OAAO,GACR,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"DebugView.d.ts","sourceRoot":"","sources":["../../../../src/ui/DebugView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAI1E,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,mDAAmD;IACnD,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAC/D,sDAAsD;IACtD,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAeD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,OAAO,GACR,EAAE,cAAc,qBAqChB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugPanel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/panel/DebugPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DebugPanel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/panel/DebugPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAa9D,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,eAAe,qBAwG5E"}
|
|
@@ -96,6 +96,7 @@ export declare class DaemonClient {
|
|
|
96
96
|
private _featureProvider;
|
|
97
97
|
private _onEndpointDetected;
|
|
98
98
|
private _restorePromise;
|
|
99
|
+
private _sessionId;
|
|
99
100
|
constructor(options: DaemonClientOptions);
|
|
100
101
|
getSettings(): DaemonSettings;
|
|
101
102
|
configure(settings: DaemonSettings): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DaemonClient.d.ts","sourceRoot":"","sources":["../../../../src/utils/DaemonClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,
|
|
1
|
+
{"version":3,"file":"DaemonClient.d.ts","sourceRoot":"","sources":["../../../../src/utils/DaemonClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,6 @@ export declare const KEYS: {
|
|
|
6
6
|
readonly consoleLogs: "@react_native_debug_toolkit/console_logs";
|
|
7
7
|
readonly networkLogs: "@react_native_debug_toolkit/network_logs";
|
|
8
8
|
readonly trackLogs: "@react_native_debug_toolkit/track_logs";
|
|
9
|
+
readonly computerHost: "@react_native_debug_toolkit/computer_host";
|
|
9
10
|
};
|
|
10
11
|
//# sourceMappingURL=debugPreferences.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugPreferences.d.ts","sourceRoot":"","sources":["../../../../src/utils/debugPreferences.ts"],"names":[],"mappings":"AAgBA,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU7E;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWvE;AAED,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"debugPreferences.d.ts","sourceRoot":"","sources":["../../../../src/utils/debugPreferences.ts"],"names":[],"mappings":"AAgBA,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU7E;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWvE;AAED,eAAO,MAAM,IAAI;;;;;;;CAOP,CAAC"}
|
|
@@ -10,12 +10,18 @@ export interface DeviceInfo {
|
|
|
10
10
|
osVersion: string;
|
|
11
11
|
appVersion: string;
|
|
12
12
|
}
|
|
13
|
+
export interface SessionInfo {
|
|
14
|
+
id: string;
|
|
15
|
+
startedAt: number;
|
|
16
|
+
}
|
|
13
17
|
export interface DebugDeviceReport {
|
|
14
18
|
version: 2;
|
|
15
19
|
device: DeviceInfo;
|
|
20
|
+
session?: SessionInfo;
|
|
16
21
|
logs: Record<string, unknown[] | undefined>;
|
|
17
22
|
}
|
|
18
23
|
export declare function createDebugDeviceReport(options?: DebugDeviceReportOptions & {
|
|
19
24
|
featureProvider?: FeatureDataProvider;
|
|
25
|
+
session?: SessionInfo;
|
|
20
26
|
}): DebugDeviceReport;
|
|
21
27
|
//# sourceMappingURL=deviceReport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceReport.d.ts","sourceRoot":"","sources":["../../../../src/utils/deviceReport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAOpD,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;CAC7C;AAuID,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,wBAAwB,GAAG;IAAE,eAAe,CAAC,EAAE,mBAAmB,CAAA;CAAO,
|
|
1
|
+
{"version":3,"file":"deviceReport.d.ts","sourceRoot":"","sources":["../../../../src/utils/deviceReport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAOpD,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;CAC7C;AAuID,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,wBAAwB,GAAG;IAAE,eAAe,CAAC,EAAE,mBAAmB,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,CAAA;CAAO,GACxG,iBAAiB,CAyCnB"}
|
|
@@ -346,6 +346,7 @@ header h1 span{color:var(--text3);font-weight:400}
|
|
|
346
346
|
padding:0 8px;height:100%;display:flex;align-items:center;justify-content:center;
|
|
347
347
|
color:var(--text3);font-size:10px;transition:transform .2s,color .15s;
|
|
348
348
|
}
|
|
349
|
+
.log-expand.open{transform:rotate(90deg)}
|
|
349
350
|
.log-entry:hover .log-expand{color:var(--cyan)}
|
|
350
351
|
.log-entry.expanded .log-expand{transform:rotate(90deg);color:var(--cyan)}
|
|
351
352
|
|
|
@@ -363,15 +364,20 @@ header h1 span{color:var(--text3);font-weight:400}
|
|
|
363
364
|
.detail-sections{display:flex;flex-direction:column;gap:10px}
|
|
364
365
|
.detail-section{
|
|
365
366
|
border:1px solid var(--border);border-radius:var(--radius);
|
|
366
|
-
background:
|
|
367
|
+
background:var(--bg);overflow:hidden;
|
|
367
368
|
}
|
|
368
369
|
.detail-section-header{
|
|
369
370
|
display:flex;align-items:center;justify-content:space-between;
|
|
370
|
-
padding:
|
|
371
|
-
background:rgba(0,229,255,.
|
|
371
|
+
padding:9px 14px 9px 18px;border-bottom:1px solid var(--border);
|
|
372
|
+
background:linear-gradient(135deg,rgba(0,229,255,.07) 0%,rgba(0,229,255,.02) 100%);
|
|
373
|
+
position:relative;
|
|
374
|
+
}
|
|
375
|
+
.detail-section-header::before{
|
|
376
|
+
content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
|
|
377
|
+
background:var(--cyan);border-radius:0 2px 2px 0;
|
|
372
378
|
}
|
|
373
379
|
.detail-section-title{
|
|
374
|
-
font-size:
|
|
380
|
+
font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
|
|
375
381
|
color:var(--cyan);font-family:var(--font-mono);
|
|
376
382
|
}
|
|
377
383
|
.detail-section-copy{
|
|
@@ -380,7 +386,7 @@ header h1 span{color:var(--text3);font-weight:400}
|
|
|
380
386
|
transition:color .15s;
|
|
381
387
|
}
|
|
382
388
|
.detail-section-copy:hover{color:var(--cyan)}
|
|
383
|
-
.detail-section-body{padding:
|
|
389
|
+
.detail-section-body{padding:10px 14px 10px 18px}
|
|
384
390
|
|
|
385
391
|
/* Detail key-value table */
|
|
386
392
|
.detail-table{width:100%;border-collapse:collapse}
|
|
@@ -429,25 +435,30 @@ header h1 span{color:var(--text3);font-weight:400}
|
|
|
429
435
|
.network-meta-line span{white-space:nowrap}
|
|
430
436
|
|
|
431
437
|
/* Collapsible sections */
|
|
432
|
-
.collapse-section{border:1px solid var(--border);border-radius:var(--radius);background:
|
|
438
|
+
.collapse-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden;margin-bottom:0}
|
|
433
439
|
.collapse-header{
|
|
434
440
|
display:flex;align-items:center;justify-content:space-between;
|
|
435
|
-
padding:
|
|
436
|
-
background:rgba(0,229,255,.
|
|
441
|
+
padding:9px 14px 9px 18px;border-bottom:1px solid var(--border);
|
|
442
|
+
background:linear-gradient(135deg,rgba(0,229,255,.07) 0%,rgba(0,229,255,.02) 100%);
|
|
443
|
+
cursor:pointer;user-select:none;position:relative;
|
|
444
|
+
}
|
|
445
|
+
.collapse-header::before{
|
|
446
|
+
content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
|
|
447
|
+
background:var(--cyan);border-radius:0 2px 2px 0;
|
|
437
448
|
}
|
|
438
|
-
.collapse-header:hover{background:rgba(0,229,255,.
|
|
439
|
-
.collapse-header-left{display:flex;align-items:center;gap:
|
|
449
|
+
.collapse-header:hover{background:linear-gradient(135deg,rgba(0,229,255,.12) 0%,rgba(0,229,255,.04) 100%)}
|
|
450
|
+
.collapse-header-left{display:flex;align-items:center;gap:8px}
|
|
440
451
|
.collapse-arrow{
|
|
441
|
-
font-size:
|
|
452
|
+
font-size:10px;color:var(--cyan);transition:transform .2s;display:inline-block;opacity:.7;
|
|
442
453
|
}
|
|
443
|
-
.collapse-arrow.open{transform:rotate(90deg)}
|
|
454
|
+
.collapse-arrow.open{transform:rotate(90deg);opacity:1}
|
|
444
455
|
.collapse-title{
|
|
445
|
-
font-size:
|
|
456
|
+
font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
|
|
446
457
|
color:var(--cyan);font-family:var(--font-mono);
|
|
447
458
|
}
|
|
448
459
|
.collapse-body{display:none;padding:0}
|
|
449
460
|
.collapse-body.open{display:block}
|
|
450
|
-
.section-body-inner{padding:
|
|
461
|
+
.section-body-inner{padding:10px 14px 10px 18px}
|
|
451
462
|
.method-badge{
|
|
452
463
|
font-family:var(--font-mono);font-size:11px;font-weight:700;
|
|
453
464
|
padding:3px 10px;border-radius:3px;letter-spacing:.04em;
|
|
@@ -472,6 +483,23 @@ header h1 span{color:var(--text3);font-weight:400}
|
|
|
472
483
|
.nav-arrow{color:var(--cyan);font-size:14px}
|
|
473
484
|
.nav-to{color:var(--text);font-weight:500}
|
|
474
485
|
|
|
486
|
+
/* Session divider */
|
|
487
|
+
.session-divider{
|
|
488
|
+
display:flex;align-items:center;gap:12px;
|
|
489
|
+
padding:10px 0;margin:6px 0;
|
|
490
|
+
}
|
|
491
|
+
.session-divider-line{flex:1;height:1px;background:var(--border2)}
|
|
492
|
+
.session-divider-label{
|
|
493
|
+
font-family:var(--font-mono);font-size:10px;
|
|
494
|
+
color:var(--text3);white-space:nowrap;letter-spacing:.04em;
|
|
495
|
+
display:flex;align-items:center;gap:6px;
|
|
496
|
+
}
|
|
497
|
+
.session-divider-dot{
|
|
498
|
+
width:5px;height:5px;border-radius:50%;
|
|
499
|
+
background:var(--amber);flex-shrink:0;
|
|
500
|
+
}
|
|
501
|
+
.session-new .session-divider-dot{background:var(--cyan)}
|
|
502
|
+
|
|
475
503
|
/* Entry footer */
|
|
476
504
|
.entry-footer{
|
|
477
505
|
display:flex;align-items:center;gap:8px;
|
|
@@ -691,11 +719,18 @@ mark{
|
|
|
691
719
|
return labels[type] || (type ? type.charAt(0).toUpperCase() + type.slice(1) : 'Unknown');
|
|
692
720
|
}
|
|
693
721
|
|
|
722
|
+
function capitalizePlatform(p) {
|
|
723
|
+
if (p === 'ios') return 'iOS';
|
|
724
|
+
if (p === 'android') return 'Android';
|
|
725
|
+
var s = String(p || 'unknown');
|
|
726
|
+
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
727
|
+
}
|
|
728
|
+
|
|
694
729
|
function formatDevice(device) {
|
|
695
730
|
if (!device || typeof device !== 'object') return 'Unknown device';
|
|
696
731
|
var parts = [];
|
|
697
|
-
if (device.platform) parts.push(
|
|
698
|
-
if (device.model) parts.push(String(device.model));
|
|
732
|
+
if (device.platform) parts.push(capitalizePlatform(device.platform));
|
|
733
|
+
if (device.model && String(device.model) !== 'unknown') parts.push(String(device.model));
|
|
699
734
|
if (device.osVersion) parts.push('OS ' + String(device.osVersion));
|
|
700
735
|
return parts.length ? parts.join(' / ') : 'Unknown device';
|
|
701
736
|
}
|
|
@@ -884,6 +919,35 @@ mark{
|
|
|
884
919
|
entry.data);
|
|
885
920
|
}
|
|
886
921
|
|
|
922
|
+
function estimateByteSize(value) {
|
|
923
|
+
if (value == null) return 0;
|
|
924
|
+
if (typeof value === 'string') return new Blob([value]).size;
|
|
925
|
+
try { return new Blob([JSON.stringify(value)]).size; } catch { return 0; }
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
function formatSize(bytes) {
|
|
929
|
+
if (!bytes || bytes <= 0) return '';
|
|
930
|
+
if (bytes < 1024) return bytes + ' B';
|
|
931
|
+
if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(1) + ' KB';
|
|
932
|
+
return (bytes / (1024 * 1024)).toFixed(1) + ' MB';
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
function getNetworkSize(entry) {
|
|
936
|
+
var request = readObject(entry.request) || entry;
|
|
937
|
+
var response = readObject(entry.response);
|
|
938
|
+
var respSize = 0;
|
|
939
|
+
if (response) {
|
|
940
|
+
var headers = response.headers;
|
|
941
|
+
if (headers) {
|
|
942
|
+
var cl = headers['content-length'] || headers['Content-Length'] || headers['contentLength'] || headers['ContentLength'];
|
|
943
|
+
if (cl) { var n = parseInt(cl, 10); if (n > 0) respSize = n; }
|
|
944
|
+
}
|
|
945
|
+
if (!respSize && response.data != null) respSize = estimateByteSize(response.data);
|
|
946
|
+
}
|
|
947
|
+
var reqSize = request.body != null ? estimateByteSize(request.body) : 0;
|
|
948
|
+
return { req: reqSize, res: respSize };
|
|
949
|
+
}
|
|
950
|
+
|
|
887
951
|
function renderNetworkDetails(entry) {
|
|
888
952
|
var request = readObject(entry.request) || entry;
|
|
889
953
|
var response = readObject(entry.response);
|
|
@@ -900,6 +964,11 @@ mark{
|
|
|
900
964
|
metaParts.push(response.status + (response.statusText ? ' ' + response.statusText : ''));
|
|
901
965
|
}
|
|
902
966
|
if (entry.duration !== undefined) metaParts.push(entry.duration + 'ms');
|
|
967
|
+
var sizes = getNetworkSize(entry);
|
|
968
|
+
var sizeParts = [];
|
|
969
|
+
if (sizes.req > 0) sizeParts.push('req: ' + formatSize(sizes.req));
|
|
970
|
+
if (sizes.res > 0) sizeParts.push('res: ' + formatSize(sizes.res));
|
|
971
|
+
if (sizeParts.length) metaParts.push(sizeParts.join(' / '));
|
|
903
972
|
if (entry.timestamp) metaParts.push(formatTimeShort(new Date(entry.timestamp).toISOString()));
|
|
904
973
|
if (metaParts.length) {
|
|
905
974
|
html += '<div class="network-meta-line">' + metaParts.map(function(p) { return '<span>' + escapeHtml(p) + '</span>'; }).join('') + '</div>';
|
|
@@ -937,9 +1006,37 @@ mark{
|
|
|
937
1006
|
html += renderCollapsibleSection('Response Headers', resHeadersContent, response.headers || null, true);
|
|
938
1007
|
}
|
|
939
1008
|
|
|
1009
|
+
// cURL command
|
|
1010
|
+
var curlStr = buildCurlCommand(entry);
|
|
1011
|
+
if (curlStr) {
|
|
1012
|
+
var curlContent = '<pre class="json-block" style="max-height:none;font-size:11px;line-height:1.6">' + escapeHtml(curlStr) + '</pre>';
|
|
1013
|
+
html += renderCollapsibleSection('cURL', curlContent, curlStr, true);
|
|
1014
|
+
}
|
|
1015
|
+
|
|
940
1016
|
return html;
|
|
941
1017
|
}
|
|
942
1018
|
|
|
1019
|
+
// Keep in sync with src/features/network/NetworkLogTab.tsx buildCurl()
|
|
1020
|
+
function buildCurlCommand(entry) {
|
|
1021
|
+
var request = readObject(entry.request) || entry;
|
|
1022
|
+
if (!request.url) return '';
|
|
1023
|
+
var method = (request.method || 'GET').toUpperCase();
|
|
1024
|
+
function q(s) { return String(s).replace(/'/g, "'\\''"); }
|
|
1025
|
+
var parts = ["curl -X " + method + " '" + q(request.url) + "'"];
|
|
1026
|
+
var headers = request.headers;
|
|
1027
|
+
if (headers && typeof headers === 'object') {
|
|
1028
|
+
Object.keys(headers).forEach(function(k) {
|
|
1029
|
+
parts.push(" -H '" + q(k) + ": " + q(headers[k]) + "'");
|
|
1030
|
+
});
|
|
1031
|
+
}
|
|
1032
|
+
var body = request.body;
|
|
1033
|
+
if (body != null) {
|
|
1034
|
+
var bodyStr = typeof body === 'string' ? body : JSON.stringify(body);
|
|
1035
|
+
parts.push(" -d '" + q(bodyStr) + "'");
|
|
1036
|
+
}
|
|
1037
|
+
return parts.join(' \\\n');
|
|
1038
|
+
}
|
|
1039
|
+
|
|
943
1040
|
function renderNavigationDetails(entry) {
|
|
944
1041
|
var hero = '<div class="nav-hero">';
|
|
945
1042
|
if (entry.from || entry.path) hero += '<span class="nav-from">' + escapeHtml(entry.from || entry.path || '-') + '</span>';
|
|
@@ -1060,7 +1157,7 @@ mark{
|
|
|
1060
1157
|
html += '<div><div class="device-title">' + escapeHtml(deviceText) + '</div>';
|
|
1061
1158
|
html += '<div class="device-subtitle">IP ' + escapeHtml(ipText) + '</div></div>';
|
|
1062
1159
|
html += '<div class="device-meta-group">';
|
|
1063
|
-
html += '<div class="device-meta-line"><strong>
|
|
1160
|
+
html += '<div class="device-meta-line"><strong>ID</strong>' + escapeHtml(deviceLog.deviceId) + '</div>';
|
|
1064
1161
|
html += '<div class="device-meta-line"><strong>Last seen</strong>' + formatTime(deviceLog.lastSeenAt || deviceLog.receivedAt) + '</div>';
|
|
1065
1162
|
html += '</div>';
|
|
1066
1163
|
html += '<div class="device-tags">' + renderDeviceTags(lc) + '</div>';
|
|
@@ -1121,7 +1218,7 @@ mark{
|
|
|
1121
1218
|
if (device && typeof device === 'object') {
|
|
1122
1219
|
html += '<div class="device-info">';
|
|
1123
1220
|
var pClass = device.platform === 'ios' ? 'platform-ios' : device.platform === 'android' ? 'platform-android' : '';
|
|
1124
|
-
html += '<span class="device-badge ' + pClass + '">' + escapeHtml((device.platform
|
|
1221
|
+
html += '<span class="device-badge ' + pClass + '">' + escapeHtml(capitalizePlatform(device.platform)) + '</span>';
|
|
1125
1222
|
if (device.model) html += '<span class="device-badge">' + escapeHtml(device.model) + '</span>';
|
|
1126
1223
|
if (device.osVersion) html += '<span class="device-badge">OS ' + escapeHtml(device.osVersion) + '</span>';
|
|
1127
1224
|
if (device.appVersion) html += '<span class="device-badge">v' + escapeHtml(device.appVersion) + '</span>';
|
|
@@ -1168,10 +1265,6 @@ mark{
|
|
|
1168
1265
|
|
|
1169
1266
|
// Actions
|
|
1170
1267
|
html += '<div class="actions">';
|
|
1171
|
-
html += '<button class="btn" onclick="copyJSON()">';
|
|
1172
|
-
html += '<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>';
|
|
1173
|
-
html += 'Copy JSON</button>';
|
|
1174
|
-
html += '<span style="flex:1"></span>';
|
|
1175
1268
|
html += '<span style="font-size:10px;color:var(--text3);font-family:var(--font-mono)"><span class="kbd">/</span> search <span class="kbd">j</span><span class="kbd">k</span> navigate <span class="kbd">Enter</span> expand <span class="kbd">Esc</span> back</span>';
|
|
1176
1269
|
html += '</div>';
|
|
1177
1270
|
|
|
@@ -1260,14 +1353,11 @@ mark{
|
|
|
1260
1353
|
html += '</div>';
|
|
1261
1354
|
html += '<div class="log-status">' + statusBadge(entry) + '</div>';
|
|
1262
1355
|
html += '<div class="log-copy" onclick="event.stopPropagation();copyEntryJSON(\'' + rowId + '\')"><button class="copy-btn" title="Copy entry JSON">⎘</button></div>';
|
|
1263
|
-
html += '<div class="log-expand
|
|
1356
|
+
html += '<div class="log-expand' + (isExpanded ? ' open' : '') + '" id="arrow-' + rowId + '">▶</div>';
|
|
1264
1357
|
html += '</div>';
|
|
1265
|
-
html += '<div class="log-detail
|
|
1358
|
+
html += '<div class="log-detail" id="detail-' + rowId + '">';
|
|
1266
1359
|
html += '<div class="log-detail-inner"><div class="detail-sections">';
|
|
1267
1360
|
html += renderLogDetails(entry, lt);
|
|
1268
|
-
html += '<div class="entry-footer">';
|
|
1269
|
-
html += '<button class="btn btn-sm" onclick="event.stopPropagation();copyEntryJSON(\'' + rowId + '\')">⎘ Copy JSON</button>';
|
|
1270
|
-
html += '</div>';
|
|
1271
1361
|
html += '</div></div></div>';
|
|
1272
1362
|
html += '</div>';
|
|
1273
1363
|
return html;
|
|
@@ -1292,8 +1382,24 @@ mark{
|
|
|
1292
1382
|
}
|
|
1293
1383
|
|
|
1294
1384
|
focusedIndex = -1;
|
|
1385
|
+
var currentSessionId = null;
|
|
1386
|
+
var knownSessionIds = new Set();
|
|
1387
|
+
if (currentDevice && currentDevice.session) {
|
|
1388
|
+
knownSessionIds.add(currentDevice.session.id);
|
|
1389
|
+
}
|
|
1295
1390
|
var html = '<div class="log-list">';
|
|
1296
1391
|
entries.forEach(function(item, i) {
|
|
1392
|
+
var entrySessionId = item.entry && typeof item.entry === 'object' ? item.entry.sessionId : null;
|
|
1393
|
+
if (entrySessionId && entrySessionId !== currentSessionId) {
|
|
1394
|
+
var isNewSession = knownSessionIds.has(entrySessionId);
|
|
1395
|
+
var label = isNewSession ? 'Current session' : ('Session ' + entrySessionId.slice(0, 8));
|
|
1396
|
+
html += '<div class="session-divider' + (isNewSession ? ' session-new' : '') + '">';
|
|
1397
|
+
html += '<div class="session-divider-line"></div>';
|
|
1398
|
+
html += '<span class="session-divider-label"><span class="session-divider-dot"></span>' + label + '</span>';
|
|
1399
|
+
html += '<div class="session-divider-line"></div>';
|
|
1400
|
+
html += '</div>';
|
|
1401
|
+
currentSessionId = entrySessionId;
|
|
1402
|
+
}
|
|
1297
1403
|
var absoluteIndex = startIndex + i;
|
|
1298
1404
|
var rowId = getLogEntryKey(item.entry, item.type, absoluteIndex);
|
|
1299
1405
|
html += renderLogEntryHtml(item.entry, item.type, rowId, i, expandedRows[rowId]);
|
|
@@ -1418,12 +1524,15 @@ mark{
|
|
|
1418
1524
|
window.toggleRow = function(rowId) {
|
|
1419
1525
|
var entry = document.getElementById('entry-' + rowId);
|
|
1420
1526
|
var detail = document.getElementById('detail-' + rowId);
|
|
1527
|
+
var arrow = document.getElementById('arrow-' + rowId);
|
|
1421
1528
|
if (!entry || !detail) return;
|
|
1422
1529
|
expandedRows[rowId] = !expandedRows[rowId];
|
|
1423
1530
|
if (expandedRows[rowId]) {
|
|
1424
1531
|
entry.classList.add('expanded');
|
|
1532
|
+
if (arrow) arrow.classList.add('open');
|
|
1425
1533
|
} else {
|
|
1426
1534
|
entry.classList.remove('expanded');
|
|
1535
|
+
if (arrow) arrow.classList.remove('open');
|
|
1427
1536
|
}
|
|
1428
1537
|
};
|
|
1429
1538
|
|
|
@@ -1670,7 +1779,37 @@ mark{
|
|
|
1670
1779
|
}
|
|
1671
1780
|
|
|
1672
1781
|
var html = '';
|
|
1782
|
+
var liveCurrentSessionId = null;
|
|
1783
|
+
var liveKnownSessionIds = new Set();
|
|
1784
|
+
if (currentDevice && currentDevice.session) {
|
|
1785
|
+
liveKnownSessionIds.add(currentDevice.session.id);
|
|
1786
|
+
}
|
|
1787
|
+
// find existing sessionId from first entry in list for divider continuity
|
|
1788
|
+
var existingFirst = list.querySelector('.log-entry');
|
|
1789
|
+
if (existingFirst) {
|
|
1790
|
+
var existingIndex = parseInt(existingFirst.getAttribute('data-index'), 10);
|
|
1791
|
+
var existingEntries = collectLogEntries(
|
|
1792
|
+
currentDevice.report ? currentDevice.report.logs : {},
|
|
1793
|
+
readVisibleLogOptions().type,
|
|
1794
|
+
readVisibleLogOptions().failedOnly
|
|
1795
|
+
);
|
|
1796
|
+
var existingSlice = existingEntries.slice(0, PAGE_SIZE);
|
|
1797
|
+
if (existingSlice.length > 0 && existingSlice[0].entry && typeof existingSlice[0].entry === 'object') {
|
|
1798
|
+
liveCurrentSessionId = existingSlice[0].entry.sessionId || null;
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1673
1801
|
items.forEach(function(item) {
|
|
1802
|
+
var entrySessionId = item.entry && typeof item.entry === 'object' ? item.entry.sessionId : null;
|
|
1803
|
+
if (entrySessionId && entrySessionId !== liveCurrentSessionId) {
|
|
1804
|
+
var isNewSession = liveKnownSessionIds.has(entrySessionId);
|
|
1805
|
+
var label = isNewSession ? 'Current session' : ('Session ' + entrySessionId.slice(0, 8));
|
|
1806
|
+
html += '<div class="session-divider' + (isNewSession ? ' session-new' : '') + '">';
|
|
1807
|
+
html += '<div class="session-divider-line"></div>';
|
|
1808
|
+
html += '<span class="session-divider-label"><span class="session-divider-dot"></span>' + label + '</span>';
|
|
1809
|
+
html += '<div class="session-divider-line"></div>';
|
|
1810
|
+
html += '</div>';
|
|
1811
|
+
liveCurrentSessionId = entrySessionId;
|
|
1812
|
+
}
|
|
1674
1813
|
var rowId = getLogEntryKey(item.entry, item.type, 'live-' + (liveSequence += 1));
|
|
1675
1814
|
html += renderLogEntryHtml(item.entry, item.type, rowId, 0, false);
|
|
1676
1815
|
});
|