@kraki/head 0.19.1 → 0.19.3
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/account-api.d.ts +22 -0
- package/dist/account-api.js +103 -7
- package/dist/account-api.js.map +1 -1
- package/dist/auth-backend.d.ts +6 -0
- package/dist/auth.d.ts +7 -0
- package/dist/auth.js +9 -5
- package/dist/auth.js.map +1 -1
- package/dist/client-ip.d.ts +13 -0
- package/dist/client-ip.js +33 -0
- package/dist/client-ip.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/local-auth-backend.d.ts +1 -0
- package/dist/local-auth-backend.js +14 -1
- package/dist/local-auth-backend.js.map +1 -1
- package/dist/push/apns.d.ts +1 -0
- package/dist/push/apns.js +12 -0
- package/dist/push/apns.js.map +1 -1
- package/dist/push/index.d.ts +1 -1
- package/dist/push/index.js +1 -1
- package/dist/push/index.js.map +1 -1
- package/dist/remote-auth-backend.d.ts +1 -0
- package/dist/remote-auth-backend.js +4 -0
- package/dist/remote-auth-backend.js.map +1 -1
- package/dist/server.d.ts +10 -0
- package/dist/server.js +74 -7
- package/dist/server.js.map +1 -1
- package/dist/storage.js +5 -0
- package/dist/storage.js.map +1 -1
- package/package.json +2 -2
package/dist/push/apns.js
CHANGED
|
@@ -15,6 +15,13 @@ export function isConnectionError(error) {
|
|
|
15
15
|
return false;
|
|
16
16
|
return /ECONNRESET|ECONNREFUSED|ETIMEDOUT|EPIPE|GOAWAY|socket hang up/i.test(error);
|
|
17
17
|
}
|
|
18
|
+
/** APNs reasons meaning this token will never work for this topic again.
|
|
19
|
+
* Retrying them on every push only burns requests; drop the token and let
|
|
20
|
+
* the device re-register on its next connection. */
|
|
21
|
+
const PERMANENT_TOKEN_REASONS = new Set(['BadDeviceToken', 'Unregistered', 'DeviceTokenNotForTopic']);
|
|
22
|
+
export function isPermanentTokenFailure(reason) {
|
|
23
|
+
return !!reason && PERMANENT_TOKEN_REASONS.has(reason);
|
|
24
|
+
}
|
|
18
25
|
export function buildApnsPayload(payload) {
|
|
19
26
|
return JSON.stringify({
|
|
20
27
|
aps: {
|
|
@@ -110,6 +117,11 @@ export class ApnsProvider {
|
|
|
110
117
|
errorReason = parsed.reason;
|
|
111
118
|
}
|
|
112
119
|
catch { /* ignore parse errors */ }
|
|
120
|
+
if (isPermanentTokenFailure(errorReason)) {
|
|
121
|
+
logger.info('APNs token rejected, marking for removal', { status: statusCode, reason: errorReason, tokenSuffix: token.slice(-8) });
|
|
122
|
+
resolve({ success: false, gone: true, error: errorReason });
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
113
125
|
logger.warn('APNs send failed', { status: statusCode, reason: errorReason, tokenSuffix: token.slice(-8) });
|
|
114
126
|
resolve({ success: false, error: errorReason });
|
|
115
127
|
}
|
package/dist/push/apns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apns.js","sourceRoot":"","sources":["../../src/push/apns.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apns.js","sourceRoot":"","sources":["../../src/push/apns.ts"],"names":[],"mappings":"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"}
|
package/dist/push/index.d.ts
CHANGED
|
@@ -13,5 +13,5 @@ export declare class PushManager {
|
|
|
13
13
|
getVapidPublicKey(): string | undefined;
|
|
14
14
|
}
|
|
15
15
|
export { type PushProvider, type PushPayload, type PushResult } from './provider.js';
|
|
16
|
-
export { ApnsProvider, type ApnsConfig } from './apns.js';
|
|
16
|
+
export { ApnsProvider, buildApnsPayload, type ApnsConfig } from './apns.js';
|
|
17
17
|
export { WebPushProvider, type WebPushConfig } from './web-push.js';
|
package/dist/push/index.js
CHANGED
|
@@ -62,6 +62,6 @@ export class PushManager {
|
|
|
62
62
|
return wp?.vapidPublicKey;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
export { ApnsProvider } from './apns.js';
|
|
65
|
+
export { ApnsProvider, buildApnsPayload } from './apns.js';
|
|
66
66
|
export { WebPushProvider } from './web-push.js';
|
|
67
67
|
//# sourceMappingURL=index.js.map
|
package/dist/push/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/push/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKpC,MAAM,OAAO,WAAW;IAIZ;IAHF,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEpD,YACU,OAAgB,EACxB,SAAyB;QADjB,YAAO,GAAP,OAAO,CAAS;QAGxB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,oBAAoB,CACxB,MAAc,EACd,eAAyB,EACzB,WAAwB;QAExB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAEpF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEhC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAC3D,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5H,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,WAA4B,EAAE,WAAwB;QAC/E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAC3H,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpK,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAChC,WAAW,CAAC,KAAK,EACjB,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAC1C,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,SAAS,EAAE,CACnG,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;YACzE,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/G,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9G,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED,KAAK;QACH,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,iBAAiB;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAA4C,CAAC;QACrF,OAAO,EAAE,EAAE,cAAc,CAAC;IAC5B,CAAC;CACF;AAGD,OAAO,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/push/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ export declare class RemoteAuthBackend implements AuthBackend {
|
|
|
30
30
|
token: string;
|
|
31
31
|
expiresIn: number;
|
|
32
32
|
}>;
|
|
33
|
+
removeDevice(userId: string, deviceId: string): Promise<boolean>;
|
|
33
34
|
requestPairingToken(token: string, ip?: string): Promise<{
|
|
34
35
|
ok: true;
|
|
35
36
|
userId: string;
|
|
@@ -33,6 +33,10 @@ export class RemoteAuthBackend {
|
|
|
33
33
|
const result = await this.post('/api/pairing/create', { userId });
|
|
34
34
|
return result;
|
|
35
35
|
}
|
|
36
|
+
async removeDevice(userId, deviceId) {
|
|
37
|
+
const result = await this.post('/api/devices/remove', { userId, deviceId });
|
|
38
|
+
return result.ok === true;
|
|
39
|
+
}
|
|
36
40
|
async requestPairingToken(token, ip) {
|
|
37
41
|
return this.post('/api/pairing/request', { token, ip });
|
|
38
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-auth-backend.js","sourceRoot":"","sources":["../src/remote-auth-backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-auth-backend.js","sourceRoot":"","sources":["../src/remote-auth-backend.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -37,6 +37,14 @@ export interface HeadServerOptions {
|
|
|
37
37
|
* to actually use the leases they're being issued.
|
|
38
38
|
*/
|
|
39
39
|
voiceBrokerUrl?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Close sockets that have not authenticated within this time (ms).
|
|
42
|
+
* Default 15s. A socket that asked for `auth_info` (an app on its login
|
|
43
|
+
* screen, waiting for the user to finish signing in) gets
|
|
44
|
+
* `loginScreenAuthTimeoutMs` instead (default 10 min).
|
|
45
|
+
*/
|
|
46
|
+
authTimeoutMs?: number;
|
|
47
|
+
loginScreenAuthTimeoutMs?: number;
|
|
40
48
|
}
|
|
41
49
|
export declare class HeadServer {
|
|
42
50
|
private wss;
|
|
@@ -86,6 +94,8 @@ export declare class HeadServer {
|
|
|
86
94
|
private findGitHubProvider;
|
|
87
95
|
attach(server: Server): void;
|
|
88
96
|
acceptConnection(ws: WebSocket): void;
|
|
97
|
+
/** (Re)start the deadline for this socket to authenticate (G1). */
|
|
98
|
+
private armAuthTimer;
|
|
89
99
|
private onConnection;
|
|
90
100
|
private onMessage;
|
|
91
101
|
private handleRequestVoiceLease;
|
package/dist/server.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RemoteAuthBackend } from './remote-auth-backend.js';
|
|
1
2
|
import { WebSocketServer, WebSocket } from 'ws';
|
|
2
3
|
import { randomBytes, createVerify } from 'crypto';
|
|
3
4
|
import { v4 as uuid } from 'uuid';
|
|
@@ -6,6 +7,7 @@ import { PulseHub, PULSE_ACK_EVERY_BYTES } from './pulse-hub.js';
|
|
|
6
7
|
import { GitHubAuthProvider } from './auth.js';
|
|
7
8
|
import { getLogger } from './logger.js';
|
|
8
9
|
import { trace, fp } from './trace.js';
|
|
10
|
+
import { clientIp } from './client-ip.js';
|
|
9
11
|
function importPublicKey(compactKey) {
|
|
10
12
|
const lines = compactKey.match(/.{1,64}/g) ?? [];
|
|
11
13
|
return `-----BEGIN PUBLIC KEY-----\n${lines.join('\n')}\n-----END PUBLIC KEY-----\n`;
|
|
@@ -20,6 +22,8 @@ const DEFAULT_VOICE_DAILY_QUOTA_SEC = 7_200;
|
|
|
20
22
|
const MIN_VOICE_LEASE_GRANT_SEC = 1;
|
|
21
23
|
const VALID_VOICE_RESOURCES = new Set(['voice/doubao']);
|
|
22
24
|
const DEFAULT_MAX_PAYLOAD = 10 * 1024 * 1024;
|
|
25
|
+
const DEFAULT_AUTH_TIMEOUT_MS = 15_000;
|
|
26
|
+
const DEFAULT_LOGIN_SCREEN_AUTH_TIMEOUT_MS = 10 * 60_000;
|
|
23
27
|
const MAX_MULTICAST_TARGETS = 64;
|
|
24
28
|
/** How often the liveness sweep runs (ms). Faster than the 30s ping timer so
|
|
25
29
|
* device_pending detection latency tracks the recipient's ping cadence
|
|
@@ -271,8 +275,21 @@ export class HeadServer {
|
|
|
271
275
|
acceptConnection(ws) {
|
|
272
276
|
this.onConnection(ws);
|
|
273
277
|
}
|
|
278
|
+
/** (Re)start the deadline for this socket to authenticate (G1). */
|
|
279
|
+
armAuthTimer(ws, state, ms) {
|
|
280
|
+
if (state.authTimer)
|
|
281
|
+
clearTimeout(state.authTimer);
|
|
282
|
+
state.authTimer = setTimeout(() => {
|
|
283
|
+
state.authTimer = undefined;
|
|
284
|
+
if (state.authenticated)
|
|
285
|
+
return;
|
|
286
|
+
getLogger().debug('Closing unauthenticated socket', { ip: state.ip, afterMs: ms });
|
|
287
|
+
ws.close(4008, 'Authentication timeout');
|
|
288
|
+
}, ms);
|
|
289
|
+
state.authTimer.unref?.();
|
|
290
|
+
}
|
|
274
291
|
onConnection(ws, req) {
|
|
275
|
-
const ip = req
|
|
292
|
+
const ip = clientIp(req);
|
|
276
293
|
const state = {
|
|
277
294
|
authenticated: false,
|
|
278
295
|
isAlive: true,
|
|
@@ -282,6 +299,7 @@ export class HeadServer {
|
|
|
282
299
|
};
|
|
283
300
|
const logger = getLogger();
|
|
284
301
|
this.clients.set(ws, state);
|
|
302
|
+
this.armAuthTimer(ws, state, this.options.authTimeoutMs ?? DEFAULT_AUTH_TIMEOUT_MS);
|
|
285
303
|
logger.debug('WebSocket connected', { ip });
|
|
286
304
|
ws.on('pong', () => { this.onPongReceived(state); });
|
|
287
305
|
ws.on('message', (data) => {
|
|
@@ -302,6 +320,8 @@ export class HeadServer {
|
|
|
302
320
|
}
|
|
303
321
|
});
|
|
304
322
|
ws.on('close', (code, reason) => {
|
|
323
|
+
if (state.authTimer)
|
|
324
|
+
clearTimeout(state.authTimer);
|
|
305
325
|
const reasonStr = reason?.toString?.() || '';
|
|
306
326
|
if (state.deviceId) {
|
|
307
327
|
const disconnectedDeviceId = state.deviceId;
|
|
@@ -358,6 +378,7 @@ export class HeadServer {
|
|
|
358
378
|
// Pre-auth: auth_info, auth, auth_response
|
|
359
379
|
if (!state.authenticated) {
|
|
360
380
|
if (msg.type === 'auth_info') {
|
|
381
|
+
this.armAuthTimer(ws, state, this.options.loginScreenAuthTimeoutMs ?? DEFAULT_LOGIN_SCREEN_AUTH_TIMEOUT_MS);
|
|
361
382
|
if (this.options.authBackend) {
|
|
362
383
|
const info = this.options.authBackend.getAuthInfo();
|
|
363
384
|
ws.send(JSON.stringify({
|
|
@@ -781,8 +802,25 @@ export class HeadServer {
|
|
|
781
802
|
firePushPreview(state, pushPreview) {
|
|
782
803
|
const senderUserId = state.userId;
|
|
783
804
|
const senderDeviceId = state.deviceId;
|
|
784
|
-
if (!senderUserId || !senderDeviceId || !pushPreview
|
|
785
|
-
trace('PUSH-SKIP', { reason: !senderUserId ? 'no-user' : !senderDeviceId ? 'no-device' :
|
|
805
|
+
if (!senderUserId || !senderDeviceId || !pushPreview) {
|
|
806
|
+
trace('PUSH-SKIP', { reason: !senderUserId ? 'no-user' : !senderDeviceId ? 'no-device' : 'no-preview' });
|
|
807
|
+
return;
|
|
808
|
+
}
|
|
809
|
+
// Online native clients that post their own notifications (macOS) get the
|
|
810
|
+
// same encrypted preview over their live connection.
|
|
811
|
+
for (const token of this.storage.getPushTokensForOfflineDevices(senderUserId, [])) {
|
|
812
|
+
if (token.provider !== 'local' || token.deviceId === senderDeviceId)
|
|
813
|
+
continue;
|
|
814
|
+
if (!this.connections.has(token.deviceId))
|
|
815
|
+
continue;
|
|
816
|
+
const key = pushPreview.keys[token.deviceId];
|
|
817
|
+
if (!key)
|
|
818
|
+
continue;
|
|
819
|
+
this.sendControlToDevice(token.deviceId, { type: 'notification_preview', payload: { blob: pushPreview.blob, key } });
|
|
820
|
+
trace('PUSH-LOCAL', { deviceId: token.deviceId });
|
|
821
|
+
}
|
|
822
|
+
if (!this.options.pushManager) {
|
|
823
|
+
trace('PUSH-SKIP', { reason: 'no-pushmgr' });
|
|
786
824
|
return;
|
|
787
825
|
}
|
|
788
826
|
const onlineDeviceIds = [senderDeviceId];
|
|
@@ -891,7 +929,8 @@ export class HeadServer {
|
|
|
891
929
|
const result = await provider.authenticate({ token: auth.token, ip: state.ip });
|
|
892
930
|
if (!result.ok) {
|
|
893
931
|
logger.warn('Auth rejected', { method: 'github_token', ip: state.ip, reason: result.message });
|
|
894
|
-
|
|
932
|
+
// A GitHub outage or network error is not a bad credential (G4).
|
|
933
|
+
this.sendAuthError(ws, result.retryable ? 'service_unavailable' : 'auth_rejected', result.message);
|
|
895
934
|
return;
|
|
896
935
|
}
|
|
897
936
|
this.completeAuth(ws, state, result.user, msg, 'github_token');
|
|
@@ -908,7 +947,8 @@ export class HeadServer {
|
|
|
908
947
|
});
|
|
909
948
|
if (!result.ok) {
|
|
910
949
|
logger.warn('Auth rejected', { method: 'github_oauth', ip: state.ip, reason: result.message });
|
|
911
|
-
|
|
950
|
+
// A GitHub outage or network error is not a bad credential (G4).
|
|
951
|
+
this.sendAuthError(ws, result.retryable ? 'service_unavailable' : 'auth_rejected', result.message);
|
|
912
952
|
return;
|
|
913
953
|
}
|
|
914
954
|
this.completeAuth(ws, state, result.user, msg, 'github_oauth');
|
|
@@ -919,7 +959,8 @@ export class HeadServer {
|
|
|
919
959
|
const result = await provider.authenticate({ token: auth.key, ip: state.ip });
|
|
920
960
|
if (!result.ok) {
|
|
921
961
|
logger.warn('Auth rejected', { method: 'apikey', ip: state.ip, reason: result.message });
|
|
922
|
-
|
|
962
|
+
// A GitHub outage or network error is not a bad credential (G4).
|
|
963
|
+
this.sendAuthError(ws, result.retryable ? 'service_unavailable' : 'auth_rejected', result.message);
|
|
923
964
|
return;
|
|
924
965
|
}
|
|
925
966
|
this.completeAuth(ws, state, result.user, msg, 'apikey');
|
|
@@ -930,7 +971,8 @@ export class HeadServer {
|
|
|
930
971
|
const result = await provider.authenticate({ token: auth.sharedKey, ip: state.ip });
|
|
931
972
|
if (!result.ok) {
|
|
932
973
|
logger.warn('Auth rejected', { method: 'open', ip: state.ip, reason: result.message });
|
|
933
|
-
|
|
974
|
+
// A GitHub outage or network error is not a bad credential (G4).
|
|
975
|
+
this.sendAuthError(ws, result.retryable ? 'service_unavailable' : 'auth_rejected', result.message);
|
|
934
976
|
return;
|
|
935
977
|
}
|
|
936
978
|
this.completeAuth(ws, state, result.user, msg, 'open');
|
|
@@ -1019,6 +1061,10 @@ export class HeadServer {
|
|
|
1019
1061
|
// Register connection
|
|
1020
1062
|
state.authenticated = true;
|
|
1021
1063
|
state.authenticatedAt = Date.now();
|
|
1064
|
+
if (state.authTimer) {
|
|
1065
|
+
clearTimeout(state.authTimer);
|
|
1066
|
+
state.authTimer = undefined;
|
|
1067
|
+
}
|
|
1022
1068
|
state.deviceId = deviceId;
|
|
1023
1069
|
state.userId = user.userId;
|
|
1024
1070
|
this.evictPreviousConnection(deviceId, ws);
|
|
@@ -1053,6 +1099,10 @@ export class HeadServer {
|
|
|
1053
1099
|
// Register connection
|
|
1054
1100
|
state.authenticated = true;
|
|
1055
1101
|
state.authenticatedAt = Date.now();
|
|
1102
|
+
if (state.authTimer) {
|
|
1103
|
+
clearTimeout(state.authTimer);
|
|
1104
|
+
state.authTimer = undefined;
|
|
1105
|
+
}
|
|
1056
1106
|
state.deviceId = result.deviceId;
|
|
1057
1107
|
state.userId = result.userId;
|
|
1058
1108
|
this.evictPreviousConnection(result.deviceId, ws);
|
|
@@ -1203,6 +1253,10 @@ export class HeadServer {
|
|
|
1203
1253
|
}
|
|
1204
1254
|
state.authenticated = true;
|
|
1205
1255
|
state.authenticatedAt = Date.now();
|
|
1256
|
+
if (state.authTimer) {
|
|
1257
|
+
clearTimeout(state.authTimer);
|
|
1258
|
+
state.authTimer = undefined;
|
|
1259
|
+
}
|
|
1206
1260
|
state.deviceId = deviceId;
|
|
1207
1261
|
state.userId = user.id;
|
|
1208
1262
|
this.evictPreviousConnection(deviceId, ws);
|
|
@@ -1346,6 +1400,19 @@ export class HeadServer {
|
|
|
1346
1400
|
// never authenticate again.
|
|
1347
1401
|
this.pulseHub.forgetDevice(targetDeviceId);
|
|
1348
1402
|
logger.info('Device removed', { deviceId: targetDeviceId, byDevice: state.deviceId });
|
|
1403
|
+
// Edge mode: the account service owns the device list and every auth
|
|
1404
|
+
// mirrors it back here, so the removal must reach it too (otherwise the
|
|
1405
|
+
// device reappears after the next reconnect).
|
|
1406
|
+
const remote = this.options.authBackend;
|
|
1407
|
+
if (remote instanceof RemoteAuthBackend) {
|
|
1408
|
+
const userId = state.userId;
|
|
1409
|
+
remote.removeDevice(userId, targetDeviceId).then((ok) => {
|
|
1410
|
+
if (!ok)
|
|
1411
|
+
logger.warn('Account service did not remove device', { deviceId: targetDeviceId });
|
|
1412
|
+
}).catch((err) => {
|
|
1413
|
+
logger.warn('Failed to remove device at account service', { deviceId: targetDeviceId, error: err.message });
|
|
1414
|
+
});
|
|
1415
|
+
}
|
|
1349
1416
|
// Broadcast removal to all remaining user devices
|
|
1350
1417
|
this.broadcastDeviceRemoved(state.userId, targetDeviceId);
|
|
1351
1418
|
}
|