react-native-web-serial-api 0.0.1 → 0.0.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.
package/README.md CHANGED
@@ -87,12 +87,62 @@ serial.addEventListener('disconnect', () => console.log('device detached'));
87
87
  port.addEventListener('disconnect', () => console.log('this port went away'));
88
88
  ```
89
89
 
90
+ On Android, `serial` fires `connect` when a USB device is **attached** _and_ when
91
+ the app is **granted USB permission** for a device (the latter matters because
92
+ Android revokes permission on unplug, so a re-attached device only becomes
93
+ accessible — and shows up in `getPorts()` — once permission is re-granted).
94
+ Simply subscribing with `serial.addEventListener('connect', …)` is enough to
95
+ receive these; you don't need to call `getPorts()` first. A common pattern is to
96
+ re-run `getPorts()` on every `connect`/`disconnect` to keep a device list fresh.
97
+
90
98
  ### Listing already-permitted ports
91
99
 
92
100
  ```ts
93
101
  const ports = await serial.getPorts();
94
102
  ```
95
103
 
104
+ ## Permission model (Android vs. Web Serial)
105
+
106
+ There are two distinct notions of "permission" in play, and they behave
107
+ differently on Android than in the browser:
108
+
109
+ - **Web Serial permission grant** — `serial.requestPort()`. In the browser this
110
+ records a site-level grant for the chosen port; on Android it shows a native
111
+ picker and requests the Android USB permission for the selected device. This
112
+ is the mechanism for gaining access to a device you don't have access to yet,
113
+ and it is **unchanged** by anything below.
114
+ - **Native Android USB permission** — `UsbManager` permission for a device.
115
+ This can be granted **outside** the app entirely: when you plug a device in,
116
+ Android may show its own _"Open <app> to handle this USB device? / use by
117
+ default for this device"_ dialog, or the app may have been launched via a
118
+ `USB_DEVICE_ATTACHED` intent filter. In those cases the app already holds USB
119
+ permission without ever calling `requestPort()`.
120
+
121
+ **`serial.getPorts()` in Android/native mode** returns **every probed
122
+ USB-serial port the app can currently access through Android USB permission** —
123
+ regardless of how that permission was obtained. So a device granted via the
124
+ system attach dialog appears in `getPorts()` even though `requestPort()` was
125
+ never called for it. Probed devices the app does **not** yet have permission for
126
+ are excluded; use `requestPort()` to gain access to those.
127
+
128
+ ```ts
129
+ // All devices accessible right now (natively-granted OR previously requested):
130
+ const ports = await serial.getPorts();
131
+
132
+ // Gain access to a device you don't have permission for yet:
133
+ const port = await serial.requestPort();
134
+ ```
135
+
136
+ On the **web**, `getPorts()` returns the ports the user has previously granted
137
+ the site via `requestPort()` (the browser's persistent permission store) — the
138
+ native "attach dialog" notion does not apply.
139
+
140
+ > Note: this is a deliberate, Android-appropriate reading of the Web Serial
141
+ > spec's `getPorts()` ("ports the site has been granted access to"). On Android
142
+ > the unit of access is the OS-level USB permission, so a device the OS has
143
+ > already authorized for the app is, by definition, one the app has been
144
+ > granted access to.
145
+
96
146
  ## API
97
147
 
98
148
  The package exposes:
@@ -93,6 +93,8 @@ public class NativeUsbSerialModule extends NativeUsbSerialSpec {
93
93
  result.putInt("portNumber", portNumber);
94
94
  result.putInt("usbVendorId", driver.getDevice().getVendorId());
95
95
  result.putInt("usbProductId", driver.getDevice().getProductId());
96
+ // Permission was just granted above, so this port is accessible.
97
+ result.putBoolean("hasPermission", true);
96
98
  promise.resolve(result);
97
99
  }
98
100
  });
@@ -109,6 +111,20 @@ public class NativeUsbSerialModule extends NativeUsbSerialSpec {
109
111
  if (promise != null) {
110
112
  promise.resolve(granted);
111
113
  }
114
+ // Gaining USB permission makes the device accessible to getPorts(),
115
+ // so surface it like an attach: emit "connect" with the device's
116
+ // identifiers. This lets JS auto-refresh once permission is granted
117
+ // (e.g. after a re-attach, where Android revokes prior permission).
118
+ if (granted) {
119
+ UsbDevice device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
120
+ if (device != null) {
121
+ WritableMap event = Arguments.createMap();
122
+ event.putInt("deviceId", device.getDeviceId());
123
+ event.putInt("usbVendorId", device.getVendorId());
124
+ event.putInt("usbProductId", device.getProductId());
125
+ sendEvent("connect", event);
126
+ }
127
+ }
112
128
  }
113
129
  }
114
130
  };
@@ -226,6 +242,10 @@ public class NativeUsbSerialModule extends NativeUsbSerialSpec {
226
242
  WritableArray result = Arguments.createArray();
227
243
  for (UsbSerialDriver driver : drivers) {
228
244
  UsbDevice device = driver.getDevice();
245
+ // Whether the app already holds Android USB permission for this
246
+ // device. This is granted either via the system "use by default"
247
+ // attach dialog or a prior requestPermission()/requestPort() flow.
248
+ boolean hasPermission = usbManager.hasPermission(device);
229
249
  List<UsbSerialPort> ports = driver.getPorts();
230
250
  for (int i = 0; i < ports.size(); i++) {
231
251
  WritableMap map = Arguments.createMap();
@@ -233,6 +253,7 @@ public class NativeUsbSerialModule extends NativeUsbSerialSpec {
233
253
  map.putInt("portNumber", i);
234
254
  map.putInt("usbVendorId", device.getVendorId());
235
255
  map.putInt("usbProductId", device.getProductId());
256
+ map.putBoolean("hasPermission", hasPermission);
236
257
  result.pushMap(map);
237
258
  }
238
259
  }
@@ -0,0 +1,81 @@
1
+ /**
2
+ * @format
3
+ *
4
+ * Verifies that subscribing to Serial "connect"/"disconnect" wires up the
5
+ * native USB state listeners WITHOUT first calling getPorts()/requestPort(),
6
+ * and that a native event (e.g. the "connect" emitted when USB permission is
7
+ * granted) reaches the JS listener. This is what lets the example's device
8
+ * list auto-refresh on attach / detach / permission-grant.
9
+ */
10
+
11
+ import {afterEach, beforeEach, expect, it, jest} from '@jest/globals';
12
+ import {NativeModules} from 'react-native';
13
+
14
+ // Capture the JS listeners registered against the native event emitter so the
15
+ // test can drive them like the native side would.
16
+ const nativeListeners: Record<string, ((event: unknown) => void)[]> = {};
17
+
18
+ beforeEach(() => {
19
+ for (const k of Object.keys(nativeListeners)) {
20
+ delete nativeListeners[k];
21
+ }
22
+ (NativeModules as any).NativeUsbSerial = {
23
+ findAllDrivers: jest.fn(async () => []),
24
+ addListener: jest.fn(),
25
+ removeListeners: jest.fn(),
26
+ };
27
+ });
28
+
29
+ afterEach(() => {
30
+ // RCTDeviceEventEmitter is a global singleton across the RN copy; clear it so
31
+ // listeners from one test don't leak into the next.
32
+ const {DeviceEventEmitter} = require('react-native');
33
+ DeviceEventEmitter.removeAllListeners('connect');
34
+ DeviceEventEmitter.removeAllListeners('disconnect');
35
+ });
36
+
37
+ function freshSerial() {
38
+ let api: any;
39
+ jest.isolateModules(() => {
40
+ api = require('react-native-web-serial-api');
41
+ });
42
+ return new api.Serial();
43
+ }
44
+
45
+ // Emit a native device event the way the TurboModule does (via
46
+ // RCTDeviceEventEmitter, which NativeEventEmitter listens on).
47
+ function emitNative(event: 'connect' | 'disconnect', payload: unknown) {
48
+ const {DeviceEventEmitter} = require('react-native');
49
+ DeviceEventEmitter.emit(event, payload);
50
+ }
51
+
52
+ it('addEventListener("connect") receives native events without calling getPorts() first', () => {
53
+ const serial = freshSerial();
54
+ const onConnect = jest.fn();
55
+
56
+ // Subscribe only — no getPorts()/requestPort() beforehand.
57
+ serial.addEventListener('connect', onConnect);
58
+
59
+ // Native fires "connect" (e.g. attach or permission-grant).
60
+ emitNative('connect', {
61
+ deviceId: 7,
62
+ usbVendorId: 0x0403,
63
+ usbProductId: 0x6001,
64
+ });
65
+
66
+ expect(onConnect).toHaveBeenCalledTimes(1);
67
+ });
68
+
69
+ it('forwards native disconnect to Serial listeners', () => {
70
+ const serial = freshSerial();
71
+ const onDisconnect = jest.fn();
72
+ serial.addEventListener('disconnect', onDisconnect);
73
+
74
+ emitNative('disconnect', {
75
+ deviceId: 7,
76
+ usbVendorId: 0x0403,
77
+ usbProductId: 0x6001,
78
+ });
79
+
80
+ expect(onDisconnect).toHaveBeenCalledTimes(1);
81
+ });
@@ -0,0 +1,140 @@
1
+ /**
2
+ * @format
3
+ *
4
+ * Android/native permission-model contract for the Web Serial polyfill.
5
+ *
6
+ * getPorts() enumerates every probed USB-serial port the app can currently
7
+ * access through Android USB permission (PortId.hasPermission === true) —
8
+ * whether that permission came from requestPort() or was granted natively
9
+ * (e.g. the system "use by default for this device" attach dialog). Ports the
10
+ * app cannot access yet are excluded.
11
+ *
12
+ * requestPort() is unchanged: it shows the native picker and resolves with the
13
+ * chosen port; it does not consult getPorts()/hasPermission.
14
+ */
15
+
16
+ import {afterEach, beforeEach, describe, expect, it, jest} from '@jest/globals';
17
+ import {NativeModules} from 'react-native';
18
+
19
+ type FakePort = {
20
+ deviceId: number;
21
+ portNumber: number;
22
+ usbVendorId: number;
23
+ usbProductId: number;
24
+ hasPermission: boolean;
25
+ };
26
+
27
+ const findAllDrivers = jest.fn<() => Promise<FakePort[]>>();
28
+ const showPortPicker = jest.fn<() => Promise<FakePort>>();
29
+
30
+ // In jest, TurboModuleRegistry.get() falls back to NativeModules[name], so
31
+ // registering a fake here lets the real library (Serial -> UsbSerialModule)
32
+ // run against controlled data. addListener/removeListeners are required by
33
+ // NativeEventEmitter.
34
+ beforeEach(() => {
35
+ (NativeModules as any).NativeUsbSerial = {
36
+ findAllDrivers,
37
+ showPortPicker,
38
+ addListener: jest.fn(),
39
+ removeListeners: jest.fn(),
40
+ };
41
+ });
42
+
43
+ afterEach(() => {
44
+ findAllDrivers.mockReset();
45
+ showPortPicker.mockReset();
46
+ });
47
+
48
+ // Fresh module graph each time so the Serial singleton / known-port cache does
49
+ // not leak between tests.
50
+ function freshSerial() {
51
+ let api: any;
52
+ jest.isolateModules(() => {
53
+ api = require('react-native-web-serial-api');
54
+ });
55
+ return new api.Serial();
56
+ }
57
+
58
+ const ftdi: FakePort = {
59
+ deviceId: 1,
60
+ portNumber: 0,
61
+ usbVendorId: 0x0403,
62
+ usbProductId: 0x6001,
63
+ hasPermission: true,
64
+ };
65
+ const cp210xUnpermitted: FakePort = {
66
+ deviceId: 2,
67
+ portNumber: 0,
68
+ usbVendorId: 0x10c4,
69
+ usbProductId: 0xea60,
70
+ hasPermission: false,
71
+ };
72
+
73
+ describe('getPorts() Android permission filtering', () => {
74
+ it('includes a device granted natively (never via requestPort)', async () => {
75
+ findAllDrivers.mockResolvedValueOnce([ftdi]);
76
+ const ports = await freshSerial().getPorts();
77
+ expect(ports).toHaveLength(1);
78
+ expect(ports[0].getInfo()).toEqual({
79
+ usbVendorId: 0x0403,
80
+ usbProductId: 0x6001,
81
+ });
82
+ });
83
+
84
+ it('excludes a probed device the app has no permission for', async () => {
85
+ findAllDrivers.mockResolvedValueOnce([cp210xUnpermitted]);
86
+ const ports = await freshSerial().getPorts();
87
+ expect(ports).toHaveLength(0);
88
+ });
89
+
90
+ it('returns only the permitted subset when mixed', async () => {
91
+ findAllDrivers.mockResolvedValueOnce([ftdi, cp210xUnpermitted]);
92
+ const ports = await freshSerial().getPorts();
93
+ expect(ports).toHaveLength(1);
94
+ expect(ports[0].getInfo().usbVendorId).toBe(0x0403);
95
+ });
96
+
97
+ it('returns an empty list when nothing is permitted', async () => {
98
+ findAllDrivers.mockResolvedValueOnce([
99
+ cp210xUnpermitted,
100
+ {...cp210xUnpermitted, deviceId: 3},
101
+ ]);
102
+ expect(await freshSerial().getPorts()).toHaveLength(0);
103
+ });
104
+
105
+ it('lists each port of a multi-port permitted device', async () => {
106
+ findAllDrivers.mockResolvedValueOnce([
107
+ {...ftdi, portNumber: 0},
108
+ {...ftdi, portNumber: 1},
109
+ ]);
110
+ const ports = await freshSerial().getPorts();
111
+ expect(ports).toHaveLength(2);
112
+ });
113
+
114
+ it('returns the SAME SerialPort instance across repeated calls', async () => {
115
+ const serial = freshSerial();
116
+ findAllDrivers.mockResolvedValue([ftdi]);
117
+ const first = await serial.getPorts();
118
+ const second = await serial.getPorts();
119
+ expect(first[0]).toBe(second[0]); // cached, not re-created
120
+ });
121
+ });
122
+
123
+ describe('requestPort() is unaffected by the permission filter', () => {
124
+ it('resolves with the picked port even if getPorts would exclude it', async () => {
125
+ // getPorts sees nothing permitted...
126
+ findAllDrivers.mockResolvedValue([]);
127
+ // ...but the user picks a device through the native picker.
128
+ showPortPicker.mockResolvedValueOnce(ftdi);
129
+
130
+ const serial = freshSerial();
131
+ expect(await serial.getPorts()).toHaveLength(0);
132
+
133
+ const port = await serial.requestPort();
134
+ expect(port.getInfo()).toEqual({
135
+ usbVendorId: 0x0403,
136
+ usbProductId: 0x6001,
137
+ });
138
+ expect(showPortPicker).toHaveBeenCalledTimes(1);
139
+ });
140
+ });
@@ -1,7 +1,14 @@
1
1
  import React from 'react';
2
- import {FlatList, StyleSheet, Text, TouchableOpacity, View} from 'react-native';
2
+ import {
3
+ AppState,
4
+ FlatList,
5
+ StyleSheet,
6
+ Text,
7
+ TouchableOpacity,
8
+ View,
9
+ } from 'react-native';
3
10
  import type {SerialPort} from 'react-native-web-serial-api';
4
- import {serial} from 'react-native-web-serial-api';
11
+ import {serial, UsbSerial} from 'react-native-web-serial-api';
5
12
  import {AppBar} from '../components/AppBar';
6
13
  import {colors} from '../theme';
7
14
 
@@ -9,6 +16,16 @@ type Props = {
9
16
  onSelect: (port: SerialPort) => void;
10
17
  };
11
18
 
19
+ // One row in the device list: a probed USB-serial port, which may or may not be
20
+ // accessible yet (Android USB permission).
21
+ type DeviceRow = {
22
+ deviceId: number;
23
+ portNumber: number;
24
+ usbVendorId: number;
25
+ usbProductId: number;
26
+ hasPermission: boolean;
27
+ };
28
+
12
29
  function hex4(n: number | undefined): string {
13
30
  return (n ?? 0).toString(16).toUpperCase().padStart(4, '0');
14
31
  }
@@ -30,18 +47,48 @@ function chipLabel(vendorId: number | undefined): string {
30
47
  }
31
48
  }
32
49
 
50
+ // Native (Android) gives us every probed port plus its permission state, so we
51
+ // can show plugged-in-but-unpermitted devices too. On web that lower-level
52
+ // module is unavailable; fall back to serial.getPorts() (already permitted).
53
+ function nativeUsb() {
54
+ try {
55
+ return UsbSerial.getUsbSerial();
56
+ } catch {
57
+ return null;
58
+ }
59
+ }
60
+
33
61
  export function DevicesScreen({onSelect}: Props) {
34
- const [ports, setPorts] = React.useState<SerialPort[]>([]);
62
+ const [rows, setRows] = React.useState<DeviceRow[]>([]);
35
63
  const [error, setError] = React.useState<string | null>(null);
36
64
 
37
65
  const refresh = React.useCallback(async () => {
38
66
  setError(null);
39
67
  try {
68
+ const usb = nativeUsb();
69
+ if (usb) {
70
+ // Full enumeration incl. unpermitted devices.
71
+ setRows((await usb.findAllDrivers()) as DeviceRow[]);
72
+ return;
73
+ }
40
74
  if (!serial) {
41
75
  setError('Web Serial API is not available on this platform.');
42
76
  return;
43
77
  }
44
- setPorts(await serial.getPorts());
78
+ // Web: only already-granted ports are visible; all are permitted.
79
+ const ports = await serial.getPorts();
80
+ setRows(
81
+ ports.map(p => {
82
+ const info = p.getInfo();
83
+ return {
84
+ deviceId: -1,
85
+ portNumber: 0,
86
+ usbVendorId: info.usbVendorId ?? 0,
87
+ usbProductId: info.usbProductId ?? 0,
88
+ hasPermission: true,
89
+ };
90
+ }),
91
+ );
45
92
  } catch (e: any) {
46
93
  setError(e?.message ?? String(e));
47
94
  }
@@ -52,8 +99,8 @@ export function DevicesScreen({onSelect}: Props) {
52
99
  if (!serial) {
53
100
  return;
54
101
  }
55
- // Auto-refresh the list when a USB device is attached or detached, so the
56
- // user doesn't have to hit "Refresh Devices" manually.
102
+ // Auto-refresh on attach, detach, AND permission-grant (the library emits
103
+ // "connect" for all three), so the list stays current without manual taps.
57
104
  serial.addEventListener('connect', refresh);
58
105
  serial.addEventListener('disconnect', refresh);
59
106
  return () => {
@@ -62,6 +109,50 @@ export function DevicesScreen({onSelect}: Props) {
62
109
  };
63
110
  }, [refresh]);
64
111
 
112
+ // Resolve the SerialPort for an already-permitted row and proceed.
113
+ const openPermitted = React.useCallback(
114
+ async (row: DeviceRow) => {
115
+ setError(null);
116
+ try {
117
+ const ports = await serial.getPorts();
118
+ const match =
119
+ ports.find(p => {
120
+ const info = p.getInfo();
121
+ return (
122
+ info.usbVendorId === row.usbVendorId &&
123
+ info.usbProductId === row.usbProductId
124
+ );
125
+ }) ?? ports[0];
126
+ if (match) {
127
+ onSelect(match);
128
+ } else {
129
+ setError('Device is no longer available.');
130
+ }
131
+ } catch (e: any) {
132
+ setError(e?.message ?? String(e));
133
+ }
134
+ },
135
+ [onSelect],
136
+ );
137
+
138
+ // Tap on an unpermitted row: request Android USB permission. On grant, the
139
+ // library emits "connect" -> refresh() runs -> the row becomes permitted.
140
+ const grantPermission = React.useCallback(async (row: DeviceRow) => {
141
+ setError(null);
142
+ const usb = nativeUsb();
143
+ if (!usb) {
144
+ return;
145
+ }
146
+ try {
147
+ await usb.requestPermission(row.deviceId);
148
+ } catch (e: any) {
149
+ setError(e?.message ?? String(e));
150
+ } finally {
151
+ // Always refresh after permission attempt (fixes stale state)
152
+ refresh();
153
+ }
154
+ }, [refresh]);
155
+
65
156
  const requestNew = React.useCallback(async () => {
66
157
  setError(null);
67
158
  try {
@@ -73,6 +164,19 @@ export function DevicesScreen({onSelect}: Props) {
73
164
  }
74
165
  }, [onSelect]);
75
166
 
167
+ // Refresh device list when app returns to foreground (covers system dialog grants)
168
+ React.useEffect(() => {
169
+ const handleAppStateChange = (state: string) => {
170
+ if (state === 'active') {
171
+ refresh();
172
+ }
173
+ };
174
+ const subscription = AppState.addEventListener('change', handleAppStateChange);
175
+ return () => {
176
+ subscription.remove();
177
+ };
178
+ }, [refresh]);
179
+
76
180
  return (
77
181
  <View style={styles.container}>
78
182
  <AppBar
@@ -90,26 +194,28 @@ export function DevicesScreen({onSelect}: Props) {
90
194
  {error ? <Text style={styles.error}>{error}</Text> : null}
91
195
 
92
196
  <FlatList
93
- data={ports}
94
- keyExtractor={(_, i) => String(i)}
197
+ data={rows}
198
+ keyExtractor={(r, i) => `${r.deviceId}:${r.portNumber}:${i}`}
95
199
  ListEmptyComponent={
96
200
  <Text style={styles.empty}>{'<no USB devices found>'}</Text>
97
201
  }
98
- renderItem={({item}) => {
99
- const info = item.getInfo();
100
- return (
101
- <TouchableOpacity
102
- style={styles.item}
103
- onPress={() => onSelect(item)}>
104
- <Text style={styles.text1}>{chipLabel(info.usbVendorId)}</Text>
105
- <Text style={styles.text2}>
106
- {`Vendor ${hex4(info.usbVendorId)}, Product ${hex4(
107
- info.usbProductId,
108
- )}`}
109
- </Text>
110
- </TouchableOpacity>
111
- );
112
- }}
202
+ renderItem={({item}) => (
203
+ <TouchableOpacity
204
+ style={styles.item}
205
+ onPress={() =>
206
+ item.hasPermission ? openPermitted(item) : grantPermission(item)
207
+ }>
208
+ <Text style={[styles.text1, !item.hasPermission && styles.dimmed]}>
209
+ {chipLabel(item.usbVendorId)}
210
+ {item.hasPermission ? '' : ' 🔒 tap to allow'}
211
+ </Text>
212
+ <Text style={[styles.text2, !item.hasPermission && styles.dimmed]}>
213
+ {`Vendor ${hex4(item.usbVendorId)}, Product ${hex4(
214
+ item.usbProductId,
215
+ )}`}
216
+ </Text>
217
+ </TouchableOpacity>
218
+ )}
113
219
  />
114
220
  </View>
115
221
  );
@@ -138,4 +244,5 @@ const styles = StyleSheet.create({
138
244
  marginHorizontal: 20,
139
245
  marginBottom: 4,
140
246
  },
247
+ dimmed: {opacity: 0.5},
141
248
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeUsbSerial.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AAGA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAqHeC,gCAAmB,CAACC,GAAG,CAAO,iBAAiB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeUsbSerial.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AAGA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GA0HeC,gCAAmB,CAACC,GAAG,CAAO,iBAAiB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeUsbSerial","_interopRequireDefault","e","__esModule","default","Parity","exports","NONE","ODD","EVEN","MARK","SPACE","DataBits","FIVE","SIX","SEVEN","EIGHT","StopBits","ONE","ONE_FIVE","TWO","DEFAULT_OPEN_OPTIONS","dataBits","stopBits","parity","UsbSerialModule","constructor","NativeUsbSerial","Error","native","emitter","NativeEventEmitter","NativeModules","findAllDrivers","showPortPicker","filter","labels","requestPermission","deviceId","open","portNumber","options","opts","baudRate","close","isOpen","write","data","timeout","startReading","stopReading","setParameters","setDTR","value","setRTS","getDTR","getRTS","getCD","getCTS","getDSR","getRI","getControlLines","getSupportedControlLines","setFlowControl","flowControl","getFlowControl","getSupportedFlowControl","setBreak","purgeHwBuffers","purgeWriteBuffers","purgeReadBuffers","getSerial","onData","listener","addListener","onError","onConnect","onDisconnect","instance","getUsbSerial"],"sourceRoot":"../../src","sources":["UsbSerial.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_NativeUsbSerial","_interopRequireDefault","e","__esModule","default","Parity","exports","NONE","ODD","EVEN","MARK","SPACE","DataBits","FIVE","SIX","SEVEN","EIGHT","StopBits","ONE","ONE_FIVE","TWO","DEFAULT_OPEN_OPTIONS","dataBits","stopBits","parity","UsbSerialModule","constructor","NativeUsbSerial","Error","native","emitter","NativeEventEmitter","NativeModules","findAllDrivers","showPortPicker","filter","labels","requestPermission","deviceId","open","portNumber","options","opts","baudRate","close","isOpen","write","data","timeout","startReading","stopReading","setParameters","setDTR","value","setRTS","getDTR","getRTS","getCD","getCTS","getDSR","getRI","getControlLines","getSupportedControlLines","setFlowControl","flowControl","getFlowControl","getSupportedFlowControl","setBreak","purgeHwBuffers","purgeWriteBuffers","purgeReadBuffers","getSerial","onData","listener","addListener","onError","onConnect","onDisconnect","instance","getUsbSerial"],"sourceRoot":"../../src","sources":["UsbSerial.ts"],"mappings":"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","ignoreList":[]}
@@ -658,6 +658,16 @@ class Serial extends _eventTarget.EventTarget {
658
658
  #knownPorts = new Map();
659
659
  #initialized = false;
660
660
 
661
+ /**
662
+ * Subscribing to "connect"/"disconnect" must wire up the native USB state
663
+ * listeners, so a consumer can receive attach/detach/permission events
664
+ * without first calling getPorts()/requestPort().
665
+ */
666
+ addEventListener(...args) {
667
+ this.#ensureInit();
668
+ super.addEventListener(...args);
669
+ }
670
+
661
671
  /**
662
672
  * Lazily acquire the native USB-serial module and wire connect/disconnect
663
673
  * listeners on first use (getPorts/requestPort) rather than at construction.
@@ -762,9 +772,12 @@ class Serial extends _eventTarget.EventTarget {
762
772
  const usb = this.#ensureInit();
763
773
  if (!usb) return []; // Native module not available
764
774
 
765
- // 3.1. Let availablePorts be the sequence of available serial ports which
766
- // the user has allowed the site to access as the result of a previous call
767
- // to requestPort().
775
+ // 3.1. Let availablePorts be the sequence of available serial ports the app
776
+ // can currently access. On Android this means every probed USB-serial port
777
+ // the app already holds USB permission for — whether that permission came
778
+ // from requestPort() or was granted natively (e.g. the system "use by
779
+ // default for this device" attach dialog). Ports the app cannot yet access
780
+ // are excluded; the user grants access for those via requestPort().
768
781
  const portIds = await usb.findAllDrivers();
769
782
 
770
783
  // 3.2. Let ports be the sequence of the SerialPorts representing the ports
@@ -774,8 +787,10 @@ class Serial extends _eventTarget.EventTarget {
774
787
  deviceId,
775
788
  portNumber,
776
789
  usbVendorId,
777
- usbProductId
790
+ usbProductId,
791
+ hasPermission
778
792
  } of portIds) {
793
+ if (!hasPermission) continue;
779
794
  const key = this.#portKey(deviceId, portNumber);
780
795
  if (!this.#knownPorts.has(key)) {
781
796
  this.#knownPorts.set(key, new SerialPort(usb, deviceId, portNumber, usbVendorId, usbProductId));
@@ -1 +1 @@
1
- {"version":3,"names":["_webStreamsPolyfill","require","_domException","_eventTarget","_promise","_UsbSerial","serialPortDeviceIds","WeakMap","portInternals","kDefaultDataBits","kDefaultStopBits","kDefaultParity","kDefaultBufferSize","kDefaultFlowControl","kAcceptableDataBits","kAcceptableStopBits","kAcceptableParity","parityToNative","parity","flowControlToNative","flowControl","SerialPort","EventTarget","events","connect","disconnect","state","bufferSize","undefined","connected","readable","readFatal","writable","writeFatal","pendingClosePromise","usb","deviceId","portNumber","usbVendorId","usbProductId","outputSignals","dataTerminalReady","requestToSend","break","dataSubscription","errorSubscription","constructor","set","getVid","getPid","getPortNumber","getDeviceId","setDeviceId","id","handleDeviceLost","#handleDeviceLost","cancel","catch","abort","remove","dispatchEvent","Event","onconnect","fn","removeEventListener","addEventListener","ondisconnect","self","stream","ReadableStream","start","controller","onData","event","enqueue","Uint8Array","data","onError","error","DOMException","handleClosingReadableStream","purgeHwBuffers","ByteLengthQueuingStrategy","highWaterMark","WritableStream","write","chunk","Array","from","e","handleClosingWritableStream","message","close","getInfo","info","Object","create","open","options","baudRate","TypeError","dataBits","includes","stopBits","join","nativeOptions","setFlowControl","startReading","cancelPromise","Promise","resolve","abortPromise","createDeferredPromise","all","promise","forget","setSignals","signals","promises","push","setDTR","setRTS","setBreak","getSignals","dcd","cts","ri","dsr","getCD","getCTS","getRI","getDSR","dataCarrierDetect","clearToSend","ringIndicator","dataSetReady","#handleClosingReadableStream","#handleClosingWritableStream","exports","Serial","knownPorts","Map","initialized","ensureInit","#ensureInit","getUsbSerial","onConnect","matched","key","port","entries","internals","get","newKey","portKey","delete","onDisconnect","prefix","startsWith","#portKey","getPorts","portIds","findAllDrivers","ports","has","requestPort","filters","filter","bluetoothServiceClassId","nativeFilters","f","map","portId","showPortPicker","serial"],"sourceRoot":"../../src","sources":["WebSerial.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_webStreamsPolyfill","require","_domException","_eventTarget","_promise","_UsbSerial","serialPortDeviceIds","WeakMap","portInternals","kDefaultDataBits","kDefaultStopBits","kDefaultParity","kDefaultBufferSize","kDefaultFlowControl","kAcceptableDataBits","kAcceptableStopBits","kAcceptableParity","parityToNative","parity","flowControlToNative","flowControl","SerialPort","EventTarget","events","connect","disconnect","state","bufferSize","undefined","connected","readable","readFatal","writable","writeFatal","pendingClosePromise","usb","deviceId","portNumber","usbVendorId","usbProductId","outputSignals","dataTerminalReady","requestToSend","break","dataSubscription","errorSubscription","constructor","set","getVid","getPid","getPortNumber","getDeviceId","setDeviceId","id","handleDeviceLost","#handleDeviceLost","cancel","catch","abort","remove","dispatchEvent","Event","onconnect","fn","removeEventListener","addEventListener","ondisconnect","self","stream","ReadableStream","start","controller","onData","event","enqueue","Uint8Array","data","onError","error","DOMException","handleClosingReadableStream","purgeHwBuffers","ByteLengthQueuingStrategy","highWaterMark","WritableStream","write","chunk","Array","from","e","handleClosingWritableStream","message","close","getInfo","info","Object","create","open","options","baudRate","TypeError","dataBits","includes","stopBits","join","nativeOptions","setFlowControl","startReading","cancelPromise","Promise","resolve","abortPromise","createDeferredPromise","all","promise","forget","setSignals","signals","promises","push","setDTR","setRTS","setBreak","getSignals","dcd","cts","ri","dsr","getCD","getCTS","getRI","getDSR","dataCarrierDetect","clearToSend","ringIndicator","dataSetReady","#handleClosingReadableStream","#handleClosingWritableStream","exports","Serial","knownPorts","Map","initialized","args","ensureInit","#ensureInit","getUsbSerial","onConnect","matched","key","port","entries","internals","get","newKey","portKey","delete","onDisconnect","prefix","startsWith","#portKey","getPorts","portIds","findAllDrivers","ports","hasPermission","has","requestPort","filters","filter","bluetoothServiceClassId","nativeFilters","f","map","portId","showPortPicker","serial"],"sourceRoot":"../../src","sources":["WebSerial.ts"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,11 @@ export type PortId = {
6
6
  portNumber: number;
7
7
  usbVendorId: number;
8
8
  usbProductId: number;
9
+ /**
10
+ * Whether the app currently holds Android USB permission to access this
11
+ * device (via the system attach dialog or a prior permission request).
12
+ */
13
+ hasPermission: boolean;
9
14
  };
10
15
  export type PortPickerLabels = {
11
16
  titleSelectPort?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeUsbSerial.d.ts","sourceRoot":"","sources":["../../../src/NativeUsbSerial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeUsbSerial.d.ts","sourceRoot":"","sources":["../../../src/NativeUsbSerial.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,11 @@ export type PortId = {
14
14
  portNumber: number;
15
15
  usbVendorId: number;
16
16
  usbProductId: number;
17
+ /**
18
+ * Whether the app currently holds Android USB permission to access this
19
+ * device (via the system attach dialog or a prior permission request).
20
+ */
21
+ hasPermission: boolean;
17
22
  };
18
23
  export type DataEvent = {
19
24
  deviceId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"UsbSerial.d.ts","sourceRoot":"","sources":["../../../src/UsbSerial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UsbSerial.d.ts","sourceRoot":"","sources":["../../../src/UsbSerial.ts"],"names":[],"mappings":"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"}
@@ -212,6 +212,12 @@ export declare class SerialPort extends EventTarget {
212
212
  */
213
213
  export declare class Serial extends EventTarget {
214
214
  #private;
215
+ /**
216
+ * Subscribing to "connect"/"disconnect" must wire up the native USB state
217
+ * listeners, so a consumer can receive attach/detach/permission events
218
+ * without first calling getPorts()/requestPort().
219
+ */
220
+ addEventListener(...args: Parameters<EventTarget['addEventListener']>): void;
215
221
  /**
216
222
  * @see https://wicg.github.io/serial/#dom-serial-onconnect
217
223
  */
@@ -1 +1 @@
1
- {"version":3,"file":"WebSerial.d.ts","sourceRoot":"","sources":["../../../src/WebSerial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSerial.d.ts","sourceRoot":"","sources":["../../../src/WebSerial.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-web-serial-api",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "W3C Web Serial API (navigator.serial) for React Native on Android, backed by a USB-serial TurboModule (built on mik3y/usb-serial-for-android).",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "react-native": "lib/commonjs/index.js",
@@ -17,6 +17,11 @@ export type PortId = {
17
17
  portNumber: number;
18
18
  usbVendorId: number;
19
19
  usbProductId: number;
20
+ /**
21
+ * Whether the app currently holds Android USB permission to access this
22
+ * device (via the system attach dialog or a prior permission request).
23
+ */
24
+ hasPermission: boolean;
20
25
  };
21
26
 
22
27
  export type PortPickerLabels = {
package/src/UsbSerial.ts CHANGED
@@ -25,6 +25,11 @@ export type PortId = {
25
25
  portNumber: number;
26
26
  usbVendorId: number;
27
27
  usbProductId: number;
28
+ /**
29
+ * Whether the app currently holds Android USB permission to access this
30
+ * device (via the system attach dialog or a prior permission request).
31
+ */
32
+ hasPermission: boolean;
28
33
  };
29
34
 
30
35
  export type DataEvent = {
package/src/WebSerial.ts CHANGED
@@ -864,6 +864,16 @@ export class Serial extends EventTarget {
864
864
  #knownPorts: Map<string, SerialPort> = new Map();
865
865
  #initialized = false;
866
866
 
867
+ /**
868
+ * Subscribing to "connect"/"disconnect" must wire up the native USB state
869
+ * listeners, so a consumer can receive attach/detach/permission events
870
+ * without first calling getPorts()/requestPort().
871
+ */
872
+ addEventListener(...args: Parameters<EventTarget['addEventListener']>): void {
873
+ this.#ensureInit();
874
+ super.addEventListener(...args);
875
+ }
876
+
867
877
  /**
868
878
  * Lazily acquire the native USB-serial module and wire connect/disconnect
869
879
  * listeners on first use (getPorts/requestPort) rather than at construction.
@@ -977,15 +987,25 @@ export class Serial extends EventTarget {
977
987
  const usb = this.#ensureInit();
978
988
  if (!usb) return []; // Native module not available
979
989
 
980
- // 3.1. Let availablePorts be the sequence of available serial ports which
981
- // the user has allowed the site to access as the result of a previous call
982
- // to requestPort().
990
+ // 3.1. Let availablePorts be the sequence of available serial ports the app
991
+ // can currently access. On Android this means every probed USB-serial port
992
+ // the app already holds USB permission for — whether that permission came
993
+ // from requestPort() or was granted natively (e.g. the system "use by
994
+ // default for this device" attach dialog). Ports the app cannot yet access
995
+ // are excluded; the user grants access for those via requestPort().
983
996
  const portIds = await usb.findAllDrivers();
984
997
 
985
998
  // 3.2. Let ports be the sequence of the SerialPorts representing the ports
986
999
  // in availablePorts.
987
1000
  const ports: SerialPort[] = [];
988
- for (const {deviceId, portNumber, usbVendorId, usbProductId} of portIds) {
1001
+ for (const {
1002
+ deviceId,
1003
+ portNumber,
1004
+ usbVendorId,
1005
+ usbProductId,
1006
+ hasPermission,
1007
+ } of portIds) {
1008
+ if (!hasPermission) continue;
989
1009
  const key = this.#portKey(deviceId, portNumber);
990
1010
  if (!this.#knownPorts.has(key)) {
991
1011
  this.#knownPorts.set(