diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts index 89f85e04e..d7652e394 100644 --- a/packages/client/src/index.ts +++ b/packages/client/src/index.ts @@ -169,6 +169,7 @@ export async function loginScryptedClient(options: ScryptedLoginOptions) { scryptedCloud: response.headers.get('x-scrypted-cloud') === 'true', directAddress: response.headers.get('x-scrypted-direct-address'), cloudAddress: response.headers.get('x-scrypted-cloud-address'), + serverId: response.headers.get('x-scrypted-server-id'), }; } @@ -213,6 +214,7 @@ export async function checkScryptedClientLogin(options?: ScryptedConnectionOptio scryptedCloud: response.headers.get('x-scrypted-cloud') === 'true', directAddress: response.headers.get('x-scrypted-direct-address'), cloudAddress: response.headers.get('x-scrypted-cloud-address'), + serverId: response.headers.get('x-scrypted-server-id'), }; } @@ -227,6 +229,7 @@ export interface ScryptedClientLoginResult { directAddress: string; cloudAddress: string; hostname: string; + serverId: string; } export class ScryptedClientLoginError extends Error { @@ -274,6 +277,7 @@ export async function connectScryptedClient(options: ScryptedClientOptions): Pro let cloudAddress: string; let hostname: string; let token: string; + let serverId: string; console.log('@scrypted/client', packageJson.version); @@ -299,6 +303,7 @@ export async function connectScryptedClient(options: ScryptedClientOptions): Pro queryToken = loginResult.queryToken; token = loginResult.token; hostname = loginResult.hostname; + serverId = loginResult.serverId; console.log('login result', Date.now() - start, loginResult); } else { @@ -372,6 +377,7 @@ export async function connectScryptedClient(options: ScryptedClientOptions): Pro queryToken = loginCheck.queryToken; token = loginCheck.token; hostname = loginCheck.hostname; + serverId = loginCheck.serverId; console.log('login checked', Date.now() - start, loginCheck); } @@ -874,6 +880,7 @@ export async function connectScryptedClient(options: ScryptedClientOptions): Pro authorization, cloudAddress, hostname, + serverId, }, connectRPCObject, fork: undefined, diff --git a/plugins/cloud/package-lock.json b/plugins/cloud/package-lock.json index 732e8b9e4..8a3c80345 100644 --- a/plugins/cloud/package-lock.json +++ b/plugins/cloud/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/cloud", - "version": "0.2.45", + "version": "0.2.46", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@scrypted/cloud", - "version": "0.2.45", + "version": "0.2.46", "dependencies": { "@eneris/push-receiver": "^4.2.0", "@scrypted/common": "file:../../common", diff --git a/plugins/cloud/package.json b/plugins/cloud/package.json index a4f06510c..9da178de1 100644 --- a/plugins/cloud/package.json +++ b/plugins/cloud/package.json @@ -53,5 +53,5 @@ "@types/node": "^22.5.2", "ts-node": "^10.9.2" }, - "version": "0.2.45" + "version": "0.2.46" } diff --git a/plugins/cloud/src/main.ts b/plugins/cloud/src/main.ts index db55283d8..1d716923b 100644 --- a/plugins/cloud/src/main.ts +++ b/plugins/cloud/src/main.ts @@ -917,7 +917,7 @@ class ScryptedCloud extends ScryptedDeviceBase implements OauthClient, Settings, if (!domain && this.storageSettings.values.forwardingMode === 'Custom Domain' && this.storageSettings.values.hostname) domain = `https://${this.storageSettings.values.hostname}`; res.headers['X-Scrypted-Cloud-Address'] = domain; - res.headers['Access-Control-Expose-Headers'] = 'X-Scrypted-Cloud, X-Scrypted-Direct-Address, X-Scrypted-Cloud-Address'; + res.headers['Access-Control-Expose-Headers'] = 'X-Scrypted-Cloud, X-Scrypted-Direct-Address, X-Scrypted-Cloud-Address, X-Scrypted-Server-Id'; }); let backoff = 0;