react-native-debug-toolkit 3.2.0 → 3.2.2

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.
Files changed (66) hide show
  1. package/README.md +13 -2
  2. package/README.zh-CN.md +13 -2
  3. package/android/build.gradle +34 -0
  4. package/android/src/main/AndroidManifest.xml +1 -0
  5. package/android/src/main/java/com/reactnativedebugtoolkit/DebugToolkitDevConnectModule.java +70 -0
  6. package/android/src/main/java/com/reactnativedebugtoolkit/ReactNativeDebugToolkitPackage.java +25 -0
  7. package/ios/DebugToolkitDevConnect.mm +67 -0
  8. package/lib/commonjs/features/devConnect/DevConnectQrScanner.js +94 -26
  9. package/lib/commonjs/features/devConnect/DevConnectQrScanner.js.map +1 -1
  10. package/lib/commonjs/features/devConnect/DevConnectTab.js +261 -75
  11. package/lib/commonjs/features/devConnect/DevConnectTab.js.map +1 -1
  12. package/lib/commonjs/features/devConnect/devConnectPreferences.js +35 -5
  13. package/lib/commonjs/features/devConnect/devConnectPreferences.js.map +1 -1
  14. package/lib/commonjs/features/devConnect/devConnectUtils.js +99 -15
  15. package/lib/commonjs/features/devConnect/devConnectUtils.js.map +1 -1
  16. package/lib/commonjs/features/devConnect/index.js +39 -2
  17. package/lib/commonjs/features/devConnect/index.js.map +1 -1
  18. package/lib/commonjs/features/devConnect/nativeDevConnect.js +110 -0
  19. package/lib/commonjs/features/devConnect/nativeDevConnect.js.map +1 -0
  20. package/lib/commonjs/features/devConnect/platformDetect.js +7 -11
  21. package/lib/commonjs/features/devConnect/platformDetect.js.map +1 -1
  22. package/lib/commonjs/utils/debugPreferences.js +43 -6
  23. package/lib/commonjs/utils/debugPreferences.js.map +1 -1
  24. package/lib/module/features/devConnect/DevConnectQrScanner.js +95 -27
  25. package/lib/module/features/devConnect/DevConnectQrScanner.js.map +1 -1
  26. package/lib/module/features/devConnect/DevConnectTab.js +265 -79
  27. package/lib/module/features/devConnect/DevConnectTab.js.map +1 -1
  28. package/lib/module/features/devConnect/devConnectPreferences.js +33 -6
  29. package/lib/module/features/devConnect/devConnectPreferences.js.map +1 -1
  30. package/lib/module/features/devConnect/devConnectUtils.js +94 -15
  31. package/lib/module/features/devConnect/devConnectUtils.js.map +1 -1
  32. package/lib/module/features/devConnect/index.js +11 -3
  33. package/lib/module/features/devConnect/index.js.map +1 -1
  34. package/lib/module/features/devConnect/nativeDevConnect.js +104 -0
  35. package/lib/module/features/devConnect/nativeDevConnect.js.map +1 -0
  36. package/lib/module/features/devConnect/platformDetect.js +8 -12
  37. package/lib/module/features/devConnect/platformDetect.js.map +1 -1
  38. package/lib/module/utils/debugPreferences.js +43 -6
  39. package/lib/module/utils/debugPreferences.js.map +1 -1
  40. package/lib/typescript/src/features/devConnect/DevConnectQrScanner.d.ts +3 -2
  41. package/lib/typescript/src/features/devConnect/DevConnectQrScanner.d.ts.map +1 -1
  42. package/lib/typescript/src/features/devConnect/DevConnectTab.d.ts.map +1 -1
  43. package/lib/typescript/src/features/devConnect/devConnectPreferences.d.ts +6 -0
  44. package/lib/typescript/src/features/devConnect/devConnectPreferences.d.ts.map +1 -1
  45. package/lib/typescript/src/features/devConnect/devConnectUtils.d.ts +18 -1
  46. package/lib/typescript/src/features/devConnect/devConnectUtils.d.ts.map +1 -1
  47. package/lib/typescript/src/features/devConnect/index.d.ts +2 -2
  48. package/lib/typescript/src/features/devConnect/index.d.ts.map +1 -1
  49. package/lib/typescript/src/features/devConnect/nativeDevConnect.d.ts +17 -0
  50. package/lib/typescript/src/features/devConnect/nativeDevConnect.d.ts.map +1 -0
  51. package/lib/typescript/src/features/devConnect/platformDetect.d.ts.map +1 -1
  52. package/lib/typescript/src/features/devConnect/types.d.ts +3 -0
  53. package/lib/typescript/src/features/devConnect/types.d.ts.map +1 -1
  54. package/lib/typescript/src/utils/debugPreferences.d.ts +2 -0
  55. package/lib/typescript/src/utils/debugPreferences.d.ts.map +1 -1
  56. package/package.json +4 -1
  57. package/react-native-debug-toolkit.podspec +18 -0
  58. package/src/features/devConnect/DevConnectQrScanner.tsx +90 -28
  59. package/src/features/devConnect/DevConnectTab.tsx +257 -55
  60. package/src/features/devConnect/devConnectPreferences.ts +50 -5
  61. package/src/features/devConnect/devConnectUtils.ts +122 -15
  62. package/src/features/devConnect/index.ts +13 -0
  63. package/src/features/devConnect/nativeDevConnect.ts +128 -0
  64. package/src/features/devConnect/platformDetect.ts +8 -13
  65. package/src/features/devConnect/types.ts +3 -0
  66. package/src/utils/debugPreferences.ts +49 -4
@@ -1,48 +1,87 @@
1
1
  "use strict";
2
2
 
3
- import React, { useCallback, useEffect, useRef, useState } from 'react';
3
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { KeyboardAvoidingView, Platform, ScrollView, StyleSheet, Text, TextInput, TouchableOpacity, View } from 'react-native';
5
5
  import { Colors } from '../../ui/theme/colors';
6
- import { copyToComputer } from '../../utils/copyToComputer';
7
6
  import { buildDeviceDaemonEndpoint, daemonClient, getDefaultDaemonEndpoint, normalizeDaemonSettings } from '../../utils/DaemonClient';
8
- import { buildMetroUrls, normalizeComputerHost } from './devConnectUtils';
9
- import { saveComputerHost } from './devConnectPreferences';
7
+ import { DEFAULT_DAEMON_PORT, DEFAULT_METRO_PORT, buildDaemonDeviceHost, buildMetroTarget, buildMetroUrls, normalizeComputerHost, normalizePort, parseComputerTarget } from './devConnectUtils';
8
+ import { saveComputerTarget, saveDaemonPort, saveMetroPort } from './devConnectPreferences';
9
+ import { applyMetroBundle, resetMetroBundle } from './nativeDevConnect';
10
10
  import { DevConnectQrScanner } from './DevConnectQrScanner';
11
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
12
12
  const CONNECTION_TIMEOUT_MS = 2000;
13
- const METRO_PORT = '8081';
13
+ function getSimulatorMetroHost() {
14
+ return Platform.OS === 'android' ? '10.0.2.2' : 'localhost';
15
+ }
16
+ function describeMetroFailure(result) {
17
+ if (result.reason === 'native_unavailable') {
18
+ return 'Native DevConnect not installed. Rebuild app after installing native module.';
19
+ }
20
+ if (result.reason === 'metro_unreachable') {
21
+ return result.error ? `Metro not reachable: ${result.error}` : 'Metro not reachable. Start Metro on that port.';
22
+ }
23
+ if (result.reason === 'fetch_unavailable') {
24
+ return 'Cannot check Metro because fetch is unavailable.';
25
+ }
26
+ if (result.reason === 'invalid_target') {
27
+ return 'Enter a valid computer IP and Metro port.';
28
+ }
29
+ return result.error ? `Metro switch failed: ${result.error}` : 'Metro switch failed.';
30
+ }
14
31
  export function DevConnectTab({
15
32
  snapshot
16
33
  }) {
17
34
  const inputRef = useRef(null);
18
35
  const [computerHost, setComputerHost] = useState(snapshot.computerHost);
36
+ const [metroPort, setMetroPort] = useState(snapshot.metroPort);
37
+ const [daemonPort, setDaemonPort] = useState(snapshot.daemonPort);
19
38
  const [streaming, setStreaming] = useState(snapshot.streaming);
20
39
  const [syncState, setSyncState] = useState(snapshot.streaming ? 'running' : 'idle');
21
40
  const [message, setMessage] = useState(null);
22
41
  const [sending, setSending] = useState(false);
42
+ const [metroBusy, setMetroBusy] = useState(false);
23
43
  const [qrVisible, setQrVisible] = useState(false);
24
44
  const isSim = snapshot.isSimulator;
25
45
  useEffect(() => {
26
46
  setComputerHost(snapshot.computerHost);
47
+ setMetroPort(snapshot.metroPort);
48
+ setDaemonPort(snapshot.daemonPort);
27
49
  setStreaming(snapshot.streaming);
28
50
  setSyncState(snapshot.streaming ? 'running' : 'idle');
29
- }, [snapshot.computerHost, snapshot.streaming]);
30
- const metroUrls = isSim ? {
31
- expUrl: `exp://localhost:${METRO_PORT}`,
32
- httpUrl: `http://localhost:${METRO_PORT}`
33
- } : buildMetroUrls(computerHost);
51
+ }, [snapshot.computerHost, snapshot.daemonPort, snapshot.metroPort, snapshot.streaming]);
52
+ const metroHost = isSim ? getSimulatorMetroHost() : computerHost;
53
+ const metroTarget = useMemo(() => buildMetroTarget(metroHost, metroPort), [metroHost, metroPort]);
54
+ const metroUrls = useMemo(() => buildMetroUrls(metroHost, metroPort), [metroHost, metroPort]);
34
55
  const handleHostChange = useCallback(value => {
35
56
  setComputerHost(value);
36
- const normalized = normalizeComputerHost(value);
37
- if (normalized) {
38
- saveComputerHost(normalized).catch(() => {});
57
+ const target = parseComputerTarget(value);
58
+ if (target) {
59
+ setMetroPort(target.metroPort);
60
+ saveComputerTarget(value).catch(() => {});
39
61
  }
40
62
  setSyncState(prev => prev === 'failed' ? 'idle' : prev);
41
63
  setMessage(null);
42
64
  }, []);
43
- const handleQrHost = useCallback(host => {
44
- setComputerHost(host);
45
- saveComputerHost(host).catch(() => {});
65
+ const handleMetroPortChange = useCallback(value => {
66
+ setMetroPort(value);
67
+ const normalized = normalizePort(value);
68
+ if (normalized) {
69
+ saveMetroPort(normalized).catch(() => {});
70
+ }
71
+ setMessage(null);
72
+ }, []);
73
+ const handleDaemonPortChange = useCallback(value => {
74
+ setDaemonPort(value);
75
+ const normalized = normalizePort(value);
76
+ if (normalized) {
77
+ saveDaemonPort(normalized).catch(() => {});
78
+ }
79
+ setMessage(null);
80
+ }, []);
81
+ const handleQrTarget = useCallback(target => {
82
+ setComputerHost(target.computerHost);
83
+ setMetroPort(target.metroPort);
84
+ saveComputerTarget(`${target.computerHost}:${target.metroPort}`).catch(() => {});
46
85
  setMessage('Computer IP updated from QR code.');
47
86
  }, []);
48
87
  const validateSettings = useCallback(() => {
@@ -50,24 +89,30 @@ export function DevConnectTab({
50
89
  setMessage('Enter your computer IP first.');
51
90
  return false;
52
91
  }
92
+ if (!normalizePort(daemonPort)) {
93
+ setMessage('Enter a valid desktop logs port.');
94
+ return false;
95
+ }
53
96
  return true;
54
- }, [computerHost, isSim]);
97
+ }, [computerHost, daemonPort, isSim]);
55
98
  const configureDaemon = useCallback(() => {
56
99
  const normalizedHost = isSim ? '' : normalizeComputerHost(computerHost) ?? '';
100
+ const normalizedDaemonPort = normalizePort(daemonPort) ?? DEFAULT_DAEMON_PORT;
101
+ const deviceHost = isSim ? '' : buildDaemonDeviceHost(normalizedHost, normalizedDaemonPort);
57
102
  const settings = {
58
103
  mode: isSim ? 'simulator' : 'device',
59
104
  endpoint: '',
60
- deviceHost: normalizedHost,
105
+ deviceHost,
61
106
  token: ''
62
107
  };
63
108
  daemonClient.configure(settings);
64
109
  const normalized = normalizeDaemonSettings(settings);
65
- const endpoint = normalized.endpoint || (isSim ? getDefaultDaemonEndpoint() : buildDeviceDaemonEndpoint(normalizedHost));
110
+ const endpoint = normalized.endpoint || (isSim ? getDefaultDaemonEndpoint() : buildDeviceDaemonEndpoint(deviceHost));
66
111
  return {
67
112
  ...normalized,
68
113
  endpoint
69
114
  };
70
- }, [computerHost, isSim]);
115
+ }, [computerHost, daemonPort, isSim]);
71
116
  const toggleLiveSync = useCallback(async () => {
72
117
  if (streaming) {
73
118
  daemonClient.disconnect();
@@ -77,7 +122,9 @@ export function DevConnectTab({
77
122
  setMessage(null);
78
123
  return;
79
124
  }
80
- if (!validateSettings()) return;
125
+ if (!validateSettings()) {
126
+ return;
127
+ }
81
128
  const daemonOptions = configureDaemon();
82
129
  setMessage('Checking desktop connection...');
83
130
  setSyncState('checking');
@@ -115,7 +162,9 @@ export function DevConnectTab({
115
162
  setStreaming(true);
116
163
  }, [configureDaemon, streaming, validateSettings]);
117
164
  const sendOnce = useCallback(async () => {
118
- if (!validateSettings()) return;
165
+ if (!validateSettings()) {
166
+ return;
167
+ }
119
168
  const daemonOptions = configureDaemon();
120
169
  setSending(true);
121
170
  setMessage('Checking desktop connection...');
@@ -143,14 +192,51 @@ export function DevConnectTab({
143
192
  setSending(false);
144
193
  }
145
194
  }, [configureDaemon, validateSettings]);
146
- const copyUrl = useCallback((label, url) => {
147
- copyToComputer(url, {
148
- label
149
- });
150
- setMessage('Copied to computer output.');
151
- setTimeout(() => setMessage(null), 1500);
152
- }, []);
153
- const canConnect = isSim || Boolean(normalizeComputerHost(computerHost));
195
+ const applyRemoteBundle = useCallback(async () => {
196
+ if (!metroTarget) {
197
+ setMessage('Enter a valid computer IP and Metro port.');
198
+ return;
199
+ }
200
+ if (!snapshot.nativeMetroAvailable) {
201
+ setMessage(describeMetroFailure({
202
+ reason: 'native_unavailable'
203
+ }));
204
+ return;
205
+ }
206
+ setMetroBusy(true);
207
+ setMessage('Checking Metro...');
208
+ try {
209
+ const result = await applyMetroBundle(metroTarget.host, metroTarget.port);
210
+ if (result.ok) {
211
+ setMessage(`Using Metro at ${result.hostPort}. Reloading...`);
212
+ } else {
213
+ setMessage(describeMetroFailure(result));
214
+ }
215
+ } finally {
216
+ setMetroBusy(false);
217
+ }
218
+ }, [metroTarget, snapshot.nativeMetroAvailable]);
219
+ const resetRemoteBundle = useCallback(async () => {
220
+ if (!snapshot.nativeMetroAvailable) {
221
+ setMessage(describeMetroFailure({
222
+ reason: 'native_unavailable'
223
+ }));
224
+ return;
225
+ }
226
+ setMetroBusy(true);
227
+ try {
228
+ const result = await resetMetroBundle();
229
+ if (result.ok) {
230
+ setMessage('Metro host reset. Reloading...');
231
+ } else {
232
+ setMessage(describeMetroFailure(result));
233
+ }
234
+ } finally {
235
+ setMetroBusy(false);
236
+ }
237
+ }, [snapshot.nativeMetroAvailable]);
238
+ const canConnect = isSim || Boolean(normalizeComputerHost(computerHost)) && Boolean(normalizePort(daemonPort));
239
+ const canUseMetro = Boolean(metroTarget) && snapshot.nativeMetroAvailable && !metroBusy;
154
240
  const busy = sending || syncState === 'checking';
155
241
  return /*#__PURE__*/_jsxs(KeyboardAvoidingView, {
156
242
  style: styles.container,
@@ -161,9 +247,9 @@ export function DevConnectTab({
161
247
  contentContainerStyle: styles.scrollContent,
162
248
  children: [isSim ? /*#__PURE__*/_jsx(View, {
163
249
  style: styles.badge,
164
- children: /*#__PURE__*/_jsx(Text, {
250
+ children: /*#__PURE__*/_jsxs(Text, {
165
251
  style: styles.badgeText,
166
- children: "Simulator \u2014 using localhost"
252
+ children: ["Simulator/emulator - using ", getSimulatorMetroHost()]
167
253
  })
168
254
  }) : /*#__PURE__*/_jsxs(View, {
169
255
  style: styles.section,
@@ -196,6 +282,47 @@ export function DevConnectTab({
196
282
  })
197
283
  }) : null]
198
284
  })]
285
+ }), /*#__PURE__*/_jsxs(View, {
286
+ style: styles.section,
287
+ children: [/*#__PURE__*/_jsx(Text, {
288
+ style: styles.label,
289
+ children: "Ports"
290
+ }), /*#__PURE__*/_jsxs(View, {
291
+ style: styles.portRow,
292
+ children: [/*#__PURE__*/_jsxs(View, {
293
+ style: styles.portField,
294
+ children: [/*#__PURE__*/_jsx(Text, {
295
+ style: styles.portLabel,
296
+ children: "Metro"
297
+ }), /*#__PURE__*/_jsx(TextInput, {
298
+ style: styles.portInput,
299
+ value: metroPort,
300
+ onChangeText: handleMetroPortChange,
301
+ placeholder: DEFAULT_METRO_PORT,
302
+ placeholderTextColor: Colors.textLight,
303
+ autoCapitalize: "none",
304
+ autoCorrect: false,
305
+ keyboardType: "number-pad",
306
+ returnKeyType: "done"
307
+ })]
308
+ }), /*#__PURE__*/_jsxs(View, {
309
+ style: styles.portField,
310
+ children: [/*#__PURE__*/_jsx(Text, {
311
+ style: styles.portLabel,
312
+ children: "Logs"
313
+ }), /*#__PURE__*/_jsx(TextInput, {
314
+ style: styles.portInput,
315
+ value: daemonPort,
316
+ onChangeText: handleDaemonPortChange,
317
+ placeholder: DEFAULT_DAEMON_PORT,
318
+ placeholderTextColor: Colors.textLight,
319
+ autoCapitalize: "none",
320
+ autoCorrect: false,
321
+ keyboardType: "number-pad",
322
+ returnKeyType: "done"
323
+ })]
324
+ })]
325
+ })]
199
326
  }), /*#__PURE__*/_jsxs(View, {
200
327
  style: styles.actions,
201
328
  children: [/*#__PURE__*/_jsx(TouchableOpacity, {
@@ -224,48 +351,69 @@ export function DevConnectTab({
224
351
  style: styles.section,
225
352
  children: [/*#__PURE__*/_jsx(Text, {
226
353
  style: styles.sectionTitle,
227
- children: "Metro Bundler"
228
- }), metroUrls ? /*#__PURE__*/_jsxs(_Fragment, {
354
+ children: "Remote JS Bundle"
355
+ }), /*#__PURE__*/_jsx(Text, {
356
+ style: styles.sectionDesc,
357
+ children: "Apply this Metro host to React Native dev settings and reload the app."
358
+ }), !metroUrls ? /*#__PURE__*/_jsx(View, {
359
+ style: styles.stepCard,
360
+ children: /*#__PURE__*/_jsx(Text, {
361
+ style: styles.stepHint,
362
+ children: "Enter your computer IP and Metro port to get started."
363
+ })
364
+ }) : /*#__PURE__*/_jsxs(View, {
365
+ style: styles.stepCard,
229
366
  children: [/*#__PURE__*/_jsxs(View, {
230
367
  style: styles.urlRow,
231
368
  children: [/*#__PURE__*/_jsx(Text, {
369
+ style: styles.urlLabel,
370
+ children: "HTTP"
371
+ }), /*#__PURE__*/_jsx(Text, {
232
372
  style: styles.urlText,
233
373
  numberOfLines: 1,
234
- children: metroUrls.expUrl
235
- }), /*#__PURE__*/_jsx(TouchableOpacity, {
236
- style: styles.copyButton,
237
- onPress: () => copyUrl('Metro exp URL', metroUrls.expUrl),
238
- activeOpacity: 0.7,
239
- children: /*#__PURE__*/_jsx(Text, {
240
- style: styles.copyButtonText,
241
- children: "Copy"
242
- })
374
+ children: metroUrls.httpUrl
243
375
  })]
244
376
  }), /*#__PURE__*/_jsxs(View, {
245
377
  style: styles.urlRow,
246
378
  children: [/*#__PURE__*/_jsx(Text, {
379
+ style: styles.urlLabel,
380
+ children: "Expo"
381
+ }), /*#__PURE__*/_jsx(Text, {
247
382
  style: styles.urlText,
248
383
  numberOfLines: 1,
249
- children: metroUrls.httpUrl
250
- }), /*#__PURE__*/_jsx(TouchableOpacity, {
251
- style: styles.copyButton,
252
- onPress: () => copyUrl('Metro HTTP URL', metroUrls.httpUrl),
253
- activeOpacity: 0.7,
254
- children: /*#__PURE__*/_jsx(Text, {
255
- style: styles.copyButtonText,
256
- children: "Copy"
257
- })
384
+ children: metroUrls.expUrl
258
385
  })]
259
386
  })]
260
- }) : /*#__PURE__*/_jsx(Text, {
387
+ }), /*#__PURE__*/_jsxs(View, {
388
+ style: styles.actions,
389
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
390
+ style: [styles.primaryButton, !canUseMetro && styles.buttonDisabled],
391
+ onPress: applyRemoteBundle,
392
+ disabled: !canUseMetro,
393
+ activeOpacity: 0.75,
394
+ children: /*#__PURE__*/_jsx(Text, {
395
+ style: styles.primaryButtonText,
396
+ children: metroBusy ? 'Checking...' : 'Use Metro Bundle'
397
+ })
398
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
399
+ style: [styles.secondaryButton, (!snapshot.nativeMetroAvailable || metroBusy) && styles.buttonDisabled],
400
+ onPress: resetRemoteBundle,
401
+ disabled: !snapshot.nativeMetroAvailable || metroBusy,
402
+ activeOpacity: 0.75,
403
+ children: /*#__PURE__*/_jsx(Text, {
404
+ style: styles.secondaryButtonText,
405
+ children: "Reset"
406
+ })
407
+ })]
408
+ }), !snapshot.nativeMetroAvailable ? /*#__PURE__*/_jsx(Text, {
261
409
  style: styles.hint,
262
- children: "Enter a computer IP to show Metro URLs."
263
- })]
410
+ children: "Native DevConnect requires pod install / Gradle sync and app rebuild."
411
+ }) : null]
264
412
  })]
265
413
  }), /*#__PURE__*/_jsx(DevConnectQrScanner, {
266
414
  visible: qrVisible,
267
415
  onClose: () => setQrVisible(false),
268
- onScanHost: handleQrHost
416
+ onScanTarget: handleQrTarget
269
417
  })]
270
418
  });
271
419
  }
@@ -299,7 +447,13 @@ const styles = StyleSheet.create({
299
447
  fontSize: 14,
300
448
  fontWeight: '600',
301
449
  color: Colors.text,
302
- marginBottom: 8
450
+ marginBottom: 4
451
+ },
452
+ sectionDesc: {
453
+ fontSize: 12,
454
+ color: Colors.textSecondary,
455
+ marginBottom: 10,
456
+ lineHeight: 17
303
457
  },
304
458
  label: {
305
459
  fontSize: 13,
@@ -340,6 +494,29 @@ const styles = StyleSheet.create({
340
494
  fontSize: 13,
341
495
  fontWeight: '600'
342
496
  },
497
+ portRow: {
498
+ flexDirection: 'row',
499
+ gap: 10
500
+ },
501
+ portField: {
502
+ flex: 1
503
+ },
504
+ portLabel: {
505
+ fontSize: 11,
506
+ color: Colors.textSecondary,
507
+ marginBottom: 4
508
+ },
509
+ portInput: {
510
+ backgroundColor: Colors.surface,
511
+ borderWidth: 1,
512
+ borderColor: Colors.border,
513
+ borderRadius: 8,
514
+ paddingHorizontal: 12,
515
+ paddingVertical: 9,
516
+ fontSize: 13,
517
+ color: Colors.text,
518
+ fontFamily: 'Courier'
519
+ },
343
520
  actions: {
344
521
  flexDirection: 'row',
345
522
  gap: 10,
@@ -385,37 +562,46 @@ const styles = StyleSheet.create({
385
562
  },
386
563
  hint: {
387
564
  fontSize: 12,
388
- color: Colors.textLight
565
+ color: Colors.textLight,
566
+ lineHeight: 17
389
567
  },
390
- urlRow: {
391
- flexDirection: 'row',
392
- alignItems: 'center',
568
+ stepCard: {
393
569
  backgroundColor: Colors.surface,
394
570
  borderWidth: 1,
395
571
  borderColor: Colors.border,
396
- borderRadius: 8,
397
- paddingLeft: 12,
398
- paddingRight: 4,
399
- paddingVertical: 4,
572
+ borderRadius: 10,
573
+ padding: 12,
400
574
  marginBottom: 8
401
575
  },
576
+ stepHint: {
577
+ fontSize: 12,
578
+ color: Colors.textSecondary,
579
+ lineHeight: 17
580
+ },
581
+ urlLabel: {
582
+ minWidth: 40,
583
+ fontSize: 10,
584
+ fontWeight: '600',
585
+ color: Colors.primary,
586
+ backgroundColor: `${Colors.primary}15`,
587
+ paddingHorizontal: 6,
588
+ paddingVertical: 2,
589
+ borderRadius: 4,
590
+ marginRight: 8,
591
+ textAlign: 'center'
592
+ },
593
+ urlRow: {
594
+ flexDirection: 'row',
595
+ alignItems: 'center',
596
+ borderBottomWidth: StyleSheet.hairlineWidth,
597
+ borderBottomColor: Colors.border,
598
+ paddingVertical: 7
599
+ },
402
600
  urlText: {
403
601
  flex: 1,
404
602
  fontSize: 13,
405
603
  fontFamily: 'Courier',
406
- color: Colors.text,
407
- paddingVertical: 6
408
- },
409
- copyButton: {
410
- paddingHorizontal: 12,
411
- paddingVertical: 8,
412
- borderRadius: 6,
413
- backgroundColor: Colors.primary
414
- },
415
- copyButtonText: {
416
- color: '#fff',
417
- fontSize: 12,
418
- fontWeight: '600'
604
+ color: Colors.text
419
605
  }
420
606
  });
421
607
  //# sourceMappingURL=DevConnectTab.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useRef","useState","KeyboardAvoidingView","Platform","ScrollView","StyleSheet","Text","TextInput","TouchableOpacity","View","Colors","copyToComputer","buildDeviceDaemonEndpoint","daemonClient","getDefaultDaemonEndpoint","normalizeDaemonSettings","buildMetroUrls","normalizeComputerHost","saveComputerHost","DevConnectQrScanner","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CONNECTION_TIMEOUT_MS","METRO_PORT","DevConnectTab","snapshot","inputRef","computerHost","setComputerHost","streaming","setStreaming","syncState","setSyncState","message","setMessage","sending","setSending","qrVisible","setQrVisible","isSim","isSimulator","metroUrls","expUrl","httpUrl","handleHostChange","value","normalized","catch","prev","handleQrHost","host","validateSettings","configureDaemon","normalizedHost","settings","mode","endpoint","deviceHost","token","configure","toggleLiveSync","disconnect","setStreamingEnabled","daemonOptions","connection","checkConnection","timeoutMs","ok","connect","onStatus","status","state","reason","sendOnce","result","reportOnce","totalLogs","Object","values","logCount","reduce","total","count","error","copyUrl","label","url","setTimeout","canConnect","Boolean","busy","style","styles","container","behavior","OS","undefined","children","keyboardShouldPersistTaps","showsVerticalScrollIndicator","contentContainerStyle","scrollContent","badge","badgeText","section","inputRow","ref","input","onChangeText","placeholder","placeholderTextColor","textLight","autoCapitalize","autoCorrect","keyboardType","returnKeyType","onSubmitEditing","current","blur","editable","qrAvailable","scanButton","onPress","disabled","activeOpacity","scanButtonText","actions","primaryButton","buttonDisabled","primaryButtonText","secondaryButton","secondaryButtonText","sectionTitle","urlRow","urlText","numberOfLines","copyButton","copyButtonText","hint","visible","onClose","onScanHost","create","flex","paddingHorizontal","paddingTop","paddingBottom","paddingVertical","borderRadius","backgroundColor","primary","borderWidth","borderColor","marginBottom","fontSize","fontWeight","color","text","textSecondary","flexDirection","alignItems","gap","surface","border","fontFamily","minWidth","justifyContent","marginTop","opacity","lineHeight","paddingLeft","paddingRight"],"sourceRoot":"../../../../src","sources":["features/devConnect/DevConnectTab.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","KeyboardAvoidingView","Platform","ScrollView","StyleSheet","Text","TextInput","TouchableOpacity","View","Colors","buildDeviceDaemonEndpoint","daemonClient","getDefaultDaemonEndpoint","normalizeDaemonSettings","DEFAULT_DAEMON_PORT","DEFAULT_METRO_PORT","buildDaemonDeviceHost","buildMetroTarget","buildMetroUrls","normalizeComputerHost","normalizePort","parseComputerTarget","saveComputerTarget","saveDaemonPort","saveMetroPort","applyMetroBundle","resetMetroBundle","DevConnectQrScanner","jsxs","_jsxs","jsx","_jsx","CONNECTION_TIMEOUT_MS","getSimulatorMetroHost","OS","describeMetroFailure","result","reason","error","DevConnectTab","snapshot","inputRef","computerHost","setComputerHost","metroPort","setMetroPort","daemonPort","setDaemonPort","streaming","setStreaming","syncState","setSyncState","message","setMessage","sending","setSending","metroBusy","setMetroBusy","qrVisible","setQrVisible","isSim","isSimulator","metroHost","metroTarget","metroUrls","handleHostChange","value","target","catch","prev","handleMetroPortChange","normalized","handleDaemonPortChange","handleQrTarget","validateSettings","configureDaemon","normalizedHost","normalizedDaemonPort","deviceHost","settings","mode","endpoint","token","configure","toggleLiveSync","disconnect","setStreamingEnabled","daemonOptions","connection","checkConnection","timeoutMs","ok","connect","onStatus","status","state","sendOnce","reportOnce","totalLogs","Object","values","logCount","reduce","total","count","applyRemoteBundle","nativeMetroAvailable","host","port","hostPort","resetRemoteBundle","canConnect","Boolean","canUseMetro","busy","style","styles","container","behavior","undefined","children","keyboardShouldPersistTaps","showsVerticalScrollIndicator","contentContainerStyle","scrollContent","badge","badgeText","section","label","inputRow","ref","input","onChangeText","placeholder","placeholderTextColor","textLight","autoCapitalize","autoCorrect","keyboardType","returnKeyType","onSubmitEditing","current","blur","editable","qrAvailable","scanButton","onPress","disabled","activeOpacity","scanButtonText","portRow","portField","portLabel","portInput","actions","primaryButton","buttonDisabled","primaryButtonText","secondaryButton","secondaryButtonText","sectionTitle","sectionDesc","stepCard","stepHint","urlRow","urlLabel","urlText","numberOfLines","httpUrl","expUrl","hint","visible","onClose","onScanTarget","create","flex","paddingHorizontal","paddingTop","paddingBottom","paddingVertical","borderRadius","backgroundColor","primary","borderWidth","borderColor","marginBottom","fontSize","fontWeight","color","text","textSecondary","lineHeight","flexDirection","alignItems","gap","surface","border","fontFamily","minWidth","justifyContent","marginTop","opacity","padding","marginRight","textAlign","borderBottomWidth","hairlineWidth","borderBottomColor"],"sourceRoot":"../../../../src","sources":["features/devConnect/DevConnectTab.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,18 +2,45 @@
2
2
 
3
3
  import { daemonClient } from '../../utils/DaemonClient';
4
4
  import { getPreference, KEYS, setPreference } from '../../utils/debugPreferences';
5
- import { normalizeComputerHost } from './devConnectUtils';
5
+ import { DEFAULT_DAEMON_PORT, DEFAULT_METRO_PORT, buildDaemonDeviceHost, normalizeComputerHost, normalizePort, parseComputerTarget } from './devConnectUtils';
6
6
  import { isSimulator } from './platformDetect';
7
7
  export async function loadDevConnectPreferences() {
8
8
  const storedHost = await getPreference(KEYS.computerHost);
9
+ const storedMetroPort = await getPreference(KEYS.metroPort);
10
+ const storedDaemonPort = await getPreference(KEYS.daemonPort);
9
11
  return {
10
- computerHost: storedHost ? normalizeComputerHost(storedHost) ?? '' : ''
12
+ computerHost: storedHost ? normalizeComputerHost(storedHost) ?? '' : '',
13
+ metroPort: storedMetroPort ? normalizePort(storedMetroPort) ?? DEFAULT_METRO_PORT : DEFAULT_METRO_PORT,
14
+ daemonPort: storedDaemonPort ? normalizePort(storedDaemonPort) ?? DEFAULT_DAEMON_PORT : DEFAULT_DAEMON_PORT
11
15
  };
12
16
  }
17
+ export async function saveComputerTarget(value) {
18
+ const target = parseComputerTarget(value);
19
+ if (!target) {
20
+ return null;
21
+ }
22
+ await setPreference(KEYS.computerHost, target.computerHost);
23
+ await setPreference(KEYS.metroPort, target.metroPort);
24
+ return target;
25
+ }
13
26
  export async function saveComputerHost(value) {
14
- const normalized = normalizeComputerHost(value);
15
- if (!normalized) return null;
16
- await setPreference(KEYS.computerHost, normalized);
27
+ const target = await saveComputerTarget(value);
28
+ return target?.computerHost ?? null;
29
+ }
30
+ export async function saveMetroPort(value) {
31
+ const normalized = normalizePort(value);
32
+ if (!normalized) {
33
+ return null;
34
+ }
35
+ await setPreference(KEYS.metroPort, normalized);
36
+ return normalized;
37
+ }
38
+ export async function saveDaemonPort(value) {
39
+ const normalized = normalizePort(value);
40
+ if (!normalized) {
41
+ return null;
42
+ }
43
+ await setPreference(KEYS.daemonPort, normalized);
17
44
  return normalized;
18
45
  }
19
46
  export async function restoreDevConnectSettingsToDaemon() {
@@ -22,7 +49,7 @@ export async function restoreDevConnectSettingsToDaemon() {
22
49
  daemonClient.configure({
23
50
  mode,
24
51
  endpoint: '',
25
- deviceHost: mode === 'simulator' ? '' : preferences.computerHost,
52
+ deviceHost: mode === 'simulator' ? '' : buildDaemonDeviceHost(preferences.computerHost, preferences.daemonPort),
26
53
  token: ''
27
54
  });
28
55
  }
@@ -1 +1 @@
1
- {"version":3,"names":["daemonClient","getPreference","KEYS","setPreference","normalizeComputerHost","isSimulator","loadDevConnectPreferences","storedHost","computerHost","saveComputerHost","value","normalized","restoreDevConnectSettingsToDaemon","preferences","mode","configure","endpoint","deviceHost","token"],"sourceRoot":"../../../../src","sources":["features/devConnect/devConnectPreferences.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,0BAA0B;AACvD,SAASC,aAAa,EAAEC,IAAI,EAAEC,aAAa,QAAQ,8BAA8B;AACjF,SAASC,qBAAqB,QAAQ,mBAAmB;AACzD,SAASC,WAAW,QAAQ,kBAAkB;AAM9C,OAAO,eAAeC,yBAAyBA,CAAA,EAAmC;EAChF,MAAMC,UAAU,GAAG,MAAMN,aAAa,CAACC,IAAI,CAACM,YAAY,CAAC;EACzD,OAAO;IACLA,YAAY,EAAED,UAAU,GAAGH,qBAAqB,CAACG,UAAU,CAAC,IAAI,EAAE,GAAG;EACvE,CAAC;AACH;AAEA,OAAO,eAAeE,gBAAgBA,CAACC,KAAa,EAA0B;EAC5E,MAAMC,UAAU,GAAGP,qBAAqB,CAACM,KAAK,CAAC;EAC/C,IAAI,CAACC,UAAU,EAAE,OAAO,IAAI;EAC5B,MAAMR,aAAa,CAACD,IAAI,CAACM,YAAY,EAAEG,UAAU,CAAC;EAClD,OAAOA,UAAU;AACnB;AAEA,OAAO,eAAeC,iCAAiCA,CAAA,EAAkB;EACvE,MAAMC,WAAW,GAAG,MAAMP,yBAAyB,CAAC,CAAC;EACrD,MAAMQ,IAAI,GAAGT,WAAW,CAAC,CAAC,GAAG,WAAW,GAAY,QAAiB;EACrEL,YAAY,CAACe,SAAS,CAAC;IACrBD,IAAI;IACJE,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAEH,IAAI,KAAK,WAAW,GAAG,EAAE,GAAGD,WAAW,CAACL,YAAY;IAChEU,KAAK,EAAE;EACT,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["daemonClient","getPreference","KEYS","setPreference","DEFAULT_DAEMON_PORT","DEFAULT_METRO_PORT","buildDaemonDeviceHost","normalizeComputerHost","normalizePort","parseComputerTarget","isSimulator","loadDevConnectPreferences","storedHost","computerHost","storedMetroPort","metroPort","storedDaemonPort","daemonPort","saveComputerTarget","value","target","saveComputerHost","saveMetroPort","normalized","saveDaemonPort","restoreDevConnectSettingsToDaemon","preferences","mode","configure","endpoint","deviceHost","token"],"sourceRoot":"../../../../src","sources":["features/devConnect/devConnectPreferences.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,0BAA0B;AACvD,SAASC,aAAa,EAAEC,IAAI,EAAEC,aAAa,QAAQ,8BAA8B;AACjF,SACEC,mBAAmB,EACnBC,kBAAkB,EAClBC,qBAAqB,EACrBC,qBAAqB,EACrBC,aAAa,EACbC,mBAAmB,QAEd,mBAAmB;AAC1B,SAASC,WAAW,QAAQ,kBAAkB;AAQ9C,OAAO,eAAeC,yBAAyBA,CAAA,EAAmC;EAChF,MAAMC,UAAU,GAAG,MAAMX,aAAa,CAACC,IAAI,CAACW,YAAY,CAAC;EACzD,MAAMC,eAAe,GAAG,MAAMb,aAAa,CAACC,IAAI,CAACa,SAAS,CAAC;EAC3D,MAAMC,gBAAgB,GAAG,MAAMf,aAAa,CAACC,IAAI,CAACe,UAAU,CAAC;EAC7D,OAAO;IACLJ,YAAY,EAAED,UAAU,GAAGL,qBAAqB,CAACK,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;IACvEG,SAAS,EAAED,eAAe,GAAGN,aAAa,CAACM,eAAe,CAAC,IAAIT,kBAAkB,GAAGA,kBAAkB;IACtGY,UAAU,EAAED,gBAAgB,GAAGR,aAAa,CAACQ,gBAAgB,CAAC,IAAIZ,mBAAmB,GAAGA;EAC1F,CAAC;AACH;AAEA,OAAO,eAAec,kBAAkBA,CAACC,KAAa,EAAwC;EAC5F,MAAMC,MAAM,GAAGX,mBAAmB,CAACU,KAAK,CAAC;EACzC,IAAI,CAACC,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAEA,MAAMjB,aAAa,CAACD,IAAI,CAACW,YAAY,EAAEO,MAAM,CAACP,YAAY,CAAC;EAC3D,MAAMV,aAAa,CAACD,IAAI,CAACa,SAAS,EAAEK,MAAM,CAACL,SAAS,CAAC;EACrD,OAAOK,MAAM;AACf;AAEA,OAAO,eAAeC,gBAAgBA,CAACF,KAAa,EAA0B;EAC5E,MAAMC,MAAM,GAAG,MAAMF,kBAAkB,CAACC,KAAK,CAAC;EAC9C,OAAOC,MAAM,EAAEP,YAAY,IAAI,IAAI;AACrC;AAEA,OAAO,eAAeS,aAAaA,CAACH,KAAa,EAA0B;EACzE,MAAMI,UAAU,GAAGf,aAAa,CAACW,KAAK,CAAC;EACvC,IAAI,CAACI,UAAU,EAAE;IACf,OAAO,IAAI;EACb;EAEA,MAAMpB,aAAa,CAACD,IAAI,CAACa,SAAS,EAAEQ,UAAU,CAAC;EAC/C,OAAOA,UAAU;AACnB;AAEA,OAAO,eAAeC,cAAcA,CAACL,KAAa,EAA0B;EAC1E,MAAMI,UAAU,GAAGf,aAAa,CAACW,KAAK,CAAC;EACvC,IAAI,CAACI,UAAU,EAAE;IACf,OAAO,IAAI;EACb;EAEA,MAAMpB,aAAa,CAACD,IAAI,CAACe,UAAU,EAAEM,UAAU,CAAC;EAChD,OAAOA,UAAU;AACnB;AAEA,OAAO,eAAeE,iCAAiCA,CAAA,EAAkB;EACvE,MAAMC,WAAW,GAAG,MAAMf,yBAAyB,CAAC,CAAC;EACrD,MAAMgB,IAAI,GAAGjB,WAAW,CAAC,CAAC,GAAG,WAAW,GAAY,QAAiB;EACrEV,YAAY,CAAC4B,SAAS,CAAC;IACrBD,IAAI;IACJE,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAEH,IAAI,KAAK,WAAW,GAC5B,EAAE,GACFrB,qBAAqB,CAACoB,WAAW,CAACb,YAAY,EAAEa,WAAW,CAACT,UAAU,CAAC;IAC3Ec,KAAK,EAAE;EACT,CAAC,CAAC;AACJ","ignoreList":[]}