nio-cat 0.3.4 → 0.3.5
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/package.json +1 -1
- package/src/config.js +1 -0
- package/src/server.js +1 -0
- package/web/app/app.js +12 -2
package/package.json
CHANGED
package/src/config.js
CHANGED
|
@@ -37,6 +37,7 @@ function load() {
|
|
|
37
37
|
}
|
|
38
38
|
cfg = { ...DEFAULTS, ...cfg };
|
|
39
39
|
if (!cfg.token) cfg.token = crypto.randomBytes(24).toString('base64url');
|
|
40
|
+
if (!cfg.id) cfg.id = crypto.randomBytes(8).toString('hex'); // identifica aquest ordinador, sigui quina sigui l'adreça
|
|
40
41
|
if (!cfg.vapid) cfg.vapid = makeVapid();
|
|
41
42
|
save(cfg);
|
|
42
43
|
return cfg;
|
package/src/server.js
CHANGED
|
@@ -169,6 +169,7 @@ function createServer({ cfg, hub, getPublicUrl, getApp }) {
|
|
|
169
169
|
agents: await detectAll(cfg, url.searchParams.has('refresh')),
|
|
170
170
|
roots: cfg.roots,
|
|
171
171
|
vapidKey: cfg.vapid.publicKey,
|
|
172
|
+
id: cfg.id,
|
|
172
173
|
};
|
|
173
174
|
}
|
|
174
175
|
if (p === '/api/projects' && method === 'GET') return listProjects(cfg);
|
package/web/app/app.js
CHANGED
|
@@ -125,7 +125,7 @@ async function connect() {
|
|
|
125
125
|
if (res.status === 401) throw Object.assign(new Error('La clau no és vàlida. Torna a connectar amb el codi QR.'), { fatal: true });
|
|
126
126
|
if (!res.ok || !res.body) throw new Error(`Error ${res.status}`);
|
|
127
127
|
state.connected = true; state.lastError = null; retry = 0;
|
|
128
|
-
renameMachine(state.info.host); syncServiceWorker(); render(); brainsForBoard();
|
|
128
|
+
renameMachine(state.info.host, state.info.id); syncServiceWorker(); render(); brainsForBoard();
|
|
129
129
|
const reader = res.body.getReader(), dec = new TextDecoder(); let buf = '';
|
|
130
130
|
for (;;) {
|
|
131
131
|
const { value, done } = await reader.read(); if (done) break;
|
|
@@ -146,7 +146,17 @@ async function connect() {
|
|
|
146
146
|
setTimeout(() => machine() && !ctrl.signal.aborted && connect(), Math.min(15000, 1000 * 2 ** retry++));
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
|
-
|
|
149
|
+
// Posa nom i identificador a l'ordinador actiu i fusiona els duplicats (el mateix ordinador desat amb dues adreces: wifi i 127.0.0.1).
|
|
150
|
+
function renameMachine(host, id) {
|
|
151
|
+
let ms = store.machines; const cur = ms[store.active]; if (!cur) return;
|
|
152
|
+
if (host) cur.name = host;
|
|
153
|
+
if (id) {
|
|
154
|
+
cur.id = id;
|
|
155
|
+
const keep = cur.url, list = ms.filter((m) => m === cur || m.id !== id);
|
|
156
|
+
if (list.length !== ms.length) { ms = list; store.active = ms.findIndex((m) => m.url === keep); }
|
|
157
|
+
}
|
|
158
|
+
store.machines = ms;
|
|
159
|
+
}
|
|
150
160
|
|
|
151
161
|
function handle(msg) {
|
|
152
162
|
const r = state.route;
|