@peers-app/peers-device 0.12.5 → 0.13.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/dist/index.d.ts CHANGED
@@ -7,6 +7,6 @@ export * from './connection-manager/device-message-handler.types';
7
7
  export * from './connection-manager/protocol-manager.interface';
8
8
  export * from './connection-manager/network-manager';
9
9
  export * from './connection-manager/group-invite-messages';
10
- export * from './local.data-source';
11
10
  export * from './machine-stats';
12
11
  export * from './chunk-download-manager';
12
+ export * from './websocket-client';
package/dist/index.js CHANGED
@@ -23,7 +23,7 @@ __exportStar(require("./connection-manager/device-message-handler.types"), expor
23
23
  __exportStar(require("./connection-manager/protocol-manager.interface"), exports);
24
24
  __exportStar(require("./connection-manager/network-manager"), exports);
25
25
  __exportStar(require("./connection-manager/group-invite-messages"), exports);
26
- __exportStar(require("./local.data-source"), exports);
27
26
  __exportStar(require("./machine-stats"), exports);
28
27
  __exportStar(require("./chunk-download-manager"), exports);
28
+ __exportStar(require("./websocket-client"), exports);
29
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,wDAAsC;AACtC,8DAA4C;AAC5C,0EAAwD;AACxD,oFAAkE;AAClE,kFAAgE;AAChE,uEAAqD;AACrD,6EAA2D;AAC3D,sDAAoC;AACpC,kDAAgC;AAChC,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,wDAAsC;AACtC,8DAA4C;AAC5C,0EAAwD;AACxD,oFAAkE;AAClE,kFAAgE;AAChE,uEAAqD;AACrD,6EAA2D;AAC3D,kDAAgC;AAChC,2DAAyC;AACzC,qDAAmC"}
@@ -4,8 +4,8 @@ exports.machineStatsInterval = exports.machineStats = void 0;
4
4
  exports.getMachineStats = getMachineStats;
5
5
  const peers_sdk_1 = require("@peers-app/peers-sdk");
6
6
  const lodash_1 = require("lodash");
7
- // Node-only modules not available in browser
8
- const isNode = typeof process !== 'undefined' && typeof process.versions?.node !== 'undefined';
7
+ const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
8
+ const isNode = !isBrowser && typeof process !== 'undefined' && !!process.versions?.node;
9
9
  const os = isNode ? require('os') : null;
10
10
  const execSync = isNode ? require('child_process').execSync : null;
11
11
  const fs = isNode ? require('fs') : null;
@@ -13,7 +13,7 @@ let previousCPUs = null;
13
13
  let priorCpuReadings = [];
14
14
  let priorMemoryReadings = [];
15
15
  function getCpuStats() {
16
- if (!os)
16
+ if (!os || typeof os.cpus !== 'function')
17
17
  return null;
18
18
  const cpus = os.cpus();
19
19
  if (!previousCPUs) {
@@ -129,7 +129,7 @@ function getWindowsMemoryStats() {
129
129
  }
130
130
  }
131
131
  function getMemoryStats() {
132
- if (!os)
132
+ if (!os || typeof os.totalmem !== 'function')
133
133
  return null;
134
134
  let totalMem = os.totalmem();
135
135
  let usedMem;
@@ -207,9 +207,9 @@ exports.machineStats = (0, peers_sdk_1.observable)({
207
207
  freeBytes: 0,
208
208
  }
209
209
  });
210
- // Only start the interval if not in a test environment
211
- const isJest = typeof process !== 'undefined' && process.env.JEST_WORKER_ID !== undefined;
212
- exports.machineStatsInterval = !isJest ? setInterval(() => {
210
+ // Only start the interval in Node environments (not browser, not test)
211
+ const isJest = typeof process !== 'undefined' && process.env?.JEST_WORKER_ID !== undefined;
212
+ exports.machineStatsInterval = (isNode && !isJest) ? setInterval(() => {
213
213
  const stats = getMachineStats();
214
214
  if (!stats) {
215
215
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"machine-stats.js","sourceRoot":"","sources":["../src/machine-stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machine-stats.js","sourceRoot":"","sources":["../src/machine-stats.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { Connection } from '@peers-app/peers-sdk';
2
+ export type LanIpEntry = {
3
+ ip: string;
4
+ lastSeen: number;
5
+ };
6
+ export interface WebSocketClientPlatformAdapter {
7
+ getLocalIPAddress(): Promise<string | null> | string | null;
8
+ getLocalDeviceServerAddresses(): Promise<string[]>;
9
+ getSecretKey(): Promise<string>;
10
+ }
11
+ export interface WebSocketClientConfig {
12
+ cloudServerUrls: string[];
13
+ additionalServerUrls?: string[];
14
+ lanScanSchemes?: [string, string];
15
+ scanIntervalMs?: number;
16
+ lanIpCache?: {
17
+ load(): Promise<void>;
18
+ get(): LanIpEntry[];
19
+ set(entries: LanIpEntry[]): void;
20
+ };
21
+ }
22
+ type IceServersChangedCallback = (iceServers: any[]) => void;
23
+ export declare class WebSocketConnectionClient {
24
+ private adapter;
25
+ private config;
26
+ private serverConnections;
27
+ private serverUrlToDeviceId;
28
+ private closedConnections;
29
+ private cachedIceServers;
30
+ private iceCacheExpiry;
31
+ private iceServersChangedCallbacks;
32
+ private currentLocalIp;
33
+ private scanIntervalHandle;
34
+ private connectionManager;
35
+ constructor(adapter: WebSocketClientPlatformAdapter, config: WebSocketClientConfig);
36
+ setup(): Promise<void>;
37
+ scanForServers(opts?: {
38
+ backgroundMode?: boolean;
39
+ }): Promise<void>;
40
+ getServerIceServers(): Promise<any[]>;
41
+ onIceServersChanged(cb: IceServersChangedCallback): () => void;
42
+ getActiveConnections(): Map<string, Connection>;
43
+ private addToLanCache;
44
+ private removeFromLanCache;
45
+ private cleanupOldConnections;
46
+ private connectToSocketServer;
47
+ }
48
+ export {};
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebSocketConnectionClient = void 0;
4
+ const peers_sdk_1 = require("@peers-app/peers-sdk");
5
+ const lodash_1 = require("lodash");
6
+ const socket_io_client_1 = require("socket.io-client");
7
+ const main_1 = require("./main");
8
+ // ─── Constants ───────────────────────────────────────────────────────────────
9
+ const FALLBACK_ICE_SERVERS = [
10
+ { urls: ['stun:stun.l.google.com:19302', 'stun:stun1.l.google.com:19302', 'stun:stun2.l.google.com:19302', 'stun:stun3.l.google.com:19302', 'stun:stun4.l.google.com:19302'] },
11
+ ];
12
+ const ICE_CACHE_TTL_MS = 23 * 60 * 60 * 1000;
13
+ const DEFAULT_SCAN_INTERVAL_MS = 60_000;
14
+ const DEFAULT_LAN_SCHEMES = ['http', 'https'];
15
+ // ─── Helpers ─────────────────────────────────────────────────────────────────
16
+ function isLanUrl(url) {
17
+ const match = url.match(/^(?:https?|wss?):\/\/(\d+\.\d+\.\d+\.\d+):/);
18
+ if (!match)
19
+ return null;
20
+ const ip = match[1];
21
+ if (ip === '127.0.0.1' || ip === '10.0.2.2')
22
+ return null;
23
+ return ip;
24
+ }
25
+ // ─── WebSocketConnectionClient ───────────────────────────────────────────────
26
+ class WebSocketConnectionClient {
27
+ adapter;
28
+ config;
29
+ serverConnections = new Map();
30
+ serverUrlToDeviceId = new Map();
31
+ closedConnections = new Set();
32
+ cachedIceServers = null;
33
+ iceCacheExpiry = 0;
34
+ iceServersChangedCallbacks = [];
35
+ currentLocalIp;
36
+ scanIntervalHandle;
37
+ connectionManager;
38
+ constructor(adapter, config) {
39
+ this.adapter = adapter;
40
+ this.config = {
41
+ ...config,
42
+ scanIntervalMs: config.scanIntervalMs ?? DEFAULT_SCAN_INTERVAL_MS,
43
+ lanScanSchemes: config.lanScanSchemes ?? DEFAULT_LAN_SCHEMES,
44
+ };
45
+ }
46
+ // ─── Public API ────────────────────────────────────────────────────────────
47
+ async setup() {
48
+ await main_1.peersDeviceInitializedPromise;
49
+ this.connectionManager = await main_1.connectionManagerPromise;
50
+ await this.scanForServers();
51
+ this.scanIntervalHandle = setInterval(async () => {
52
+ await this.scanForServers();
53
+ this.cleanupOldConnections();
54
+ }, this.config.scanIntervalMs);
55
+ }
56
+ async scanForServers(opts) {
57
+ const backgroundMode = opts?.backgroundMode ?? false;
58
+ await peers_sdk_1.trustedServers.loadingPromise;
59
+ const allServerUrls = (0, lodash_1.uniq)([
60
+ ...this.config.cloudServerUrls,
61
+ ...(this.config.additionalServerUrls ?? []),
62
+ ]);
63
+ const serverUrls = allServerUrls.filter(url => !this.serverConnections.has(url));
64
+ const me = await (0, peers_sdk_1.getMe)();
65
+ const connMgr = this.connectionManager ?? await main_1.connectionManagerPromise;
66
+ this.connectionManager = connMgr;
67
+ const deviceId = connMgr.userContext.deviceId();
68
+ if (!deviceId) {
69
+ console.error('[WS] No device ID found, cannot connect to servers');
70
+ return;
71
+ }
72
+ const secretKey = await this.adapter.getSecretKey();
73
+ if (!secretKey) {
74
+ console.error('[WS] No secret key found, cannot connect to servers');
75
+ return;
76
+ }
77
+ const thisDevice = new peers_sdk_1.Device(me.userId, deviceId, {
78
+ secretKey,
79
+ publicKey: me.publicKey,
80
+ publicBoxKey: me.publicBoxKey,
81
+ });
82
+ for (const serverUrl of serverUrls) {
83
+ await this.connectToSocketServer(serverUrl, thisDevice, me).catch(err => {
84
+ console.error('[WS] Error connecting to server', serverUrl, err);
85
+ });
86
+ }
87
+ const myLocalIp = await this.adapter.getLocalIPAddress();
88
+ if (!myLocalIp) {
89
+ this.currentLocalIp = undefined;
90
+ return;
91
+ }
92
+ if (myLocalIp === this.currentLocalIp && !backgroundMode) {
93
+ return;
94
+ }
95
+ this.currentLocalIp = myLocalIp;
96
+ const localNetworkPrefix = myLocalIp.split('.').slice(0, 3).join('.');
97
+ const hasActiveLocalConnection = Array.from(this.serverConnections.keys())
98
+ .some(url => url.includes(localNetworkPrefix) && this.serverConnections.get(url)?.socket?.connected);
99
+ if (hasActiveLocalConnection) {
100
+ return;
101
+ }
102
+ if (backgroundMode && this.config.lanIpCache) {
103
+ await this.config.lanIpCache.load();
104
+ const cached = this.config.lanIpCache.get();
105
+ console.log(`[WS] Background mode: trying ${cached.length} cached LAN IP(s):`, cached.map(e => e.ip));
106
+ const [scheme] = this.config.lanScanSchemes;
107
+ for (const { ip } of cached) {
108
+ this.connectToSocketServer(`${scheme}://${ip}:3333`, thisDevice, me, 10000).catch(err => {
109
+ console.error('[WS] Error connecting to cached LAN server', ip, err);
110
+ });
111
+ }
112
+ }
113
+ else if (!backgroundMode) {
114
+ console.log('[WS] Scanning LAN around', myLocalIp);
115
+ const [scheme, secureScheme] = this.config.lanScanSchemes;
116
+ for (let i = 1; i < 255; i++) {
117
+ const ip = `${localNetworkPrefix}.${i}`;
118
+ if (ip === myLocalIp)
119
+ continue;
120
+ this.connectToSocketServer(`${scheme}://${ip}:3333`, thisDevice, me, 10000).catch(err => {
121
+ console.error('[WS] Error connecting to LAN server', ip, err);
122
+ });
123
+ this.connectToSocketServer(`${secureScheme}://${ip}:3333`, thisDevice, me, 10000).catch(err => {
124
+ console.error('[WS] Error connecting to LAN server', ip, err);
125
+ });
126
+ }
127
+ }
128
+ }
129
+ async getServerIceServers() {
130
+ if (this.cachedIceServers && Date.now() < this.iceCacheExpiry) {
131
+ return this.cachedIceServers;
132
+ }
133
+ const verifiedConnection = [...this.serverConnections.values()].find(c => c.verified && c.socket.connected);
134
+ if (!verifiedConnection) {
135
+ console.warn('[WS] No verified server connection — using fallback STUN servers');
136
+ return FALLBACK_ICE_SERVERS;
137
+ }
138
+ try {
139
+ const iceServers = await verifiedConnection.emit('getIceServers');
140
+ this.cachedIceServers = iceServers;
141
+ this.iceCacheExpiry = Date.now() + ICE_CACHE_TTL_MS;
142
+ console.log('[WS] Fetched ICE servers from server:', iceServers.length, 'entries');
143
+ for (const cb of this.iceServersChangedCallbacks) {
144
+ try {
145
+ cb(iceServers);
146
+ }
147
+ catch (_) { /* ignore */ }
148
+ }
149
+ return iceServers;
150
+ }
151
+ catch (err) {
152
+ console.error('[WS] Failed to fetch ICE servers from server, using fallback:', err);
153
+ return FALLBACK_ICE_SERVERS;
154
+ }
155
+ }
156
+ onIceServersChanged(cb) {
157
+ this.iceServersChangedCallbacks.push(cb);
158
+ return () => {
159
+ const idx = this.iceServersChangedCallbacks.indexOf(cb);
160
+ if (idx !== -1)
161
+ this.iceServersChangedCallbacks.splice(idx, 1);
162
+ };
163
+ }
164
+ getActiveConnections() {
165
+ const active = new Map();
166
+ for (const [url, conn] of this.serverConnections) {
167
+ if (conn.socket.connected) {
168
+ active.set(url, conn);
169
+ }
170
+ }
171
+ return active;
172
+ }
173
+ // ─── Private ───────────────────────────────────────────────────────────────
174
+ addToLanCache(ip) {
175
+ if (!this.config.lanIpCache)
176
+ return;
177
+ const current = this.config.lanIpCache.get();
178
+ const without = current.filter(e => e.ip !== ip);
179
+ this.config.lanIpCache.set([...without, { ip, lastSeen: Date.now() }]);
180
+ }
181
+ removeFromLanCache(ip) {
182
+ if (!this.config.lanIpCache)
183
+ return;
184
+ const current = this.config.lanIpCache.get();
185
+ this.config.lanIpCache.set(current.filter(e => e.ip !== ip));
186
+ }
187
+ cleanupOldConnections() {
188
+ for (const [url, conn] of this.serverConnections) {
189
+ if (conn.socket.connected) {
190
+ this.closedConnections.delete(url);
191
+ continue;
192
+ }
193
+ if (this.closedConnections.has(url)) {
194
+ console.log('[WS] Cleaning up old connection', url);
195
+ const socket = conn?.socket;
196
+ if (socket) {
197
+ try {
198
+ socket.removeAllListeners();
199
+ socket.disconnect();
200
+ }
201
+ catch (err) {
202
+ console.error('[WS] Error while disconnecting socket', url, err);
203
+ }
204
+ }
205
+ this.serverConnections.delete(url);
206
+ this.closedConnections.delete(url);
207
+ continue;
208
+ }
209
+ this.closedConnections.add(url);
210
+ }
211
+ }
212
+ async connectToSocketServer(serverUrl, thisDevice, me, timeoutMs) {
213
+ const localDeviceServerAddresses = await this.adapter.getLocalDeviceServerAddresses();
214
+ if (localDeviceServerAddresses.includes(serverUrl)) {
215
+ return;
216
+ }
217
+ const existing = this.serverConnections.get(serverUrl);
218
+ if (existing) {
219
+ return;
220
+ }
221
+ const connMgr = this.connectionManager ?? await main_1.connectionManagerPromise;
222
+ this.connectionManager = connMgr;
223
+ const knownDeviceId = this.serverUrlToDeviceId.get(serverUrl);
224
+ if (knownDeviceId) {
225
+ const existingDeviceConn = connMgr.getDeviceConnection(knownDeviceId);
226
+ if (existingDeviceConn) {
227
+ return;
228
+ }
229
+ }
230
+ const isSecure = serverUrl.startsWith('https://') || serverUrl.startsWith('wss://');
231
+ const socket = (0, socket_io_client_1.io)(serverUrl, {
232
+ secure: isSecure,
233
+ rejectUnauthorized: false,
234
+ transports: ['websocket'],
235
+ });
236
+ const trustLevelFn = (0, peers_sdk_1.getTrustLevelFn)(me, serverUrl);
237
+ const lanIp = isLanUrl(serverUrl);
238
+ if (timeoutMs) {
239
+ setTimeout(() => {
240
+ if (socket.connected)
241
+ return;
242
+ socket.removeAllListeners();
243
+ socket.disconnect();
244
+ this.serverConnections.delete(serverUrl);
245
+ if (lanIp)
246
+ this.removeFromLanCache(lanIp);
247
+ }, timeoutMs);
248
+ }
249
+ let resolveConnectionPromise;
250
+ let rejectConnectionPromise;
251
+ const connectionPromise = new Promise((resolve, reject) => {
252
+ resolveConnectionPromise = resolve;
253
+ rejectConnectionPromise = reject;
254
+ });
255
+ let connection;
256
+ socket.on('connect', async () => {
257
+ try {
258
+ console.log('[WS] Connected to', serverUrl, { socketId: socket.id });
259
+ this.closedConnections.delete(serverUrl);
260
+ const binaryPeer = (0, peers_sdk_1.wrapSocketIOAsBinaryPeer)(socket);
261
+ const socketWrapper = (0, peers_sdk_1.createBinaryPeerSocket)(socket.id, binaryPeer, 'ws');
262
+ connection = new peers_sdk_1.Connection(socketWrapper, thisDevice, undefined, trustLevelFn);
263
+ if (isSecure) {
264
+ connection.secureLocal = true;
265
+ connection.secureRemote = true;
266
+ }
267
+ this.serverConnections.set(serverUrl, connection);
268
+ const response = await connection.doHandshake(serverUrl);
269
+ await connMgr.addConnection(connection);
270
+ this.serverUrlToDeviceId.set(serverUrl, response.deviceId);
271
+ console.log('[WS] Handshake complete', { remoteDeviceId: response.deviceId });
272
+ if (lanIp)
273
+ this.addToLanCache(lanIp);
274
+ resolveConnectionPromise();
275
+ if (this.config.cloudServerUrls.includes(serverUrl)) {
276
+ this.getServerIceServers().catch(err => console.error('[WS] Error fetching ICE servers:', err));
277
+ }
278
+ }
279
+ catch (err) {
280
+ console.error('[WS] Error during handshake', serverUrl, err);
281
+ socket.removeAllListeners();
282
+ socket.disconnect();
283
+ this.serverConnections.delete(serverUrl);
284
+ this.serverUrlToDeviceId.delete(serverUrl);
285
+ if (lanIp)
286
+ this.removeFromLanCache(lanIp);
287
+ rejectConnectionPromise(err);
288
+ }
289
+ });
290
+ socket.on('disconnect', () => {
291
+ console.log('[WS] Disconnected from', serverUrl);
292
+ this.serverConnections.delete(serverUrl);
293
+ if (connection) {
294
+ connMgr.removeConnection(connection);
295
+ connection.reset();
296
+ }
297
+ this.cachedIceServers = null;
298
+ });
299
+ (0, peers_sdk_1.sleep)((timeoutMs ?? 3000) + 100).then(() => resolveConnectionPromise());
300
+ return connectionPromise;
301
+ }
302
+ }
303
+ exports.WebSocketConnectionClient = WebSocketConnectionClient;
304
+ //# sourceMappingURL=websocket-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../src/websocket-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peers-app/peers-device",
3
- "version": "0.12.5",
3
+ "version": "0.13.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "repository": {
@@ -31,14 +31,15 @@
31
31
  "better-sqlite3-multiple-ciphers": "^12.4.1",
32
32
  "diff-match-patch": "^1.0.5",
33
33
  "fast-json-patch": "^3.1.1",
34
- "lodash": "^4.17.21"
34
+ "lodash": "^4.17.21",
35
+ "socket.io-client": "^4.8.0"
35
36
  },
36
37
  "peerDependencies": {
37
- "@peers-app/peers-sdk": "^0.12.5"
38
+ "@peers-app/peers-sdk": "^0.13.0"
38
39
  },
39
40
  "devDependencies": {
40
41
  "@electron/rebuild": "^4.0.1",
41
- "@peers-app/peers-sdk": "0.12.5",
42
+ "@peers-app/peers-sdk": "0.13.0",
42
43
  "@types/diff-match-patch": "^1.0.36",
43
44
  "@types/jest": "^30.0.0",
44
45
  "@types/lodash": "^4.17.20",