client: update

This commit is contained in:
Koushik Dutta
2024-03-20 23:44:13 -07:00
parent 776356fc02
commit 857cc656bd
3 changed files with 37 additions and 31 deletions

View File

@@ -9,16 +9,16 @@
"version": "1.3.5",
"license": "ISC",
"dependencies": {
"@scrypted/types": "^0.3.15",
"@scrypted/types": "^0.3.27",
"engine.io-client": "^6.5.3",
"follow-redirects": "^1.15.4",
"follow-redirects": "^1.15.6",
"rimraf": "^5.0.5"
},
"devDependencies": {
"@types/ip": "^1.1.3",
"@types/node": "^20.10.8",
"@types/node": "^20.11.30",
"ts-node": "^10.9.2",
"typescript": "^5.3.3"
"typescript": "^5.4.3"
}
},
"node_modules/@cspotcode/source-map-support": {
@@ -84,9 +84,9 @@
}
},
"node_modules/@scrypted/types": {
"version": "0.3.15",
"resolved": "https://registry.npmjs.org/@scrypted/types/-/types-0.3.15.tgz",
"integrity": "sha512-NTJn3z+G/DDePBZ6OgcFCQK2EI9Wecv0o9ZR3DHvnX5yaH1L6JJQxRIRTHzVmzl+ZgfnG1PjbcHzlQ68EF+xuQ=="
"version": "0.3.27",
"resolved": "https://registry.npmjs.org/@scrypted/types/-/types-0.3.27.tgz",
"integrity": "sha512-XNtlqzqt6rHyNYwWrz3iiickh1h9ACwcLC3rfwxUbFk/Vq/UbDZgp0kGyj9UW6eLVNHzWFSE2dKqyyDS6V2KAg=="
},
"node_modules/@socket.io/component-emitter": {
"version": "3.1.0",
@@ -127,9 +127,9 @@
}
},
"node_modules/@types/node": {
"version": "20.10.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.8.tgz",
"integrity": "sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA==",
"version": "20.11.30",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz",
"integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
@@ -288,9 +288,9 @@
}
},
"node_modules/follow-redirects": {
"version": "1.15.4",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz",
"integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==",
"version": "1.15.6",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
"funding": [
{
"type": "individual",
@@ -615,9 +615,9 @@
}
},
"node_modules/typescript": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
"version": "5.4.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz",
"integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==",
"dev": true,
"bin": {
"tsc": "bin/tsc",

View File

@@ -13,14 +13,14 @@
"license": "ISC",
"devDependencies": {
"@types/ip": "^1.1.3",
"@types/node": "^20.10.8",
"@types/node": "^20.11.30",
"ts-node": "^10.9.2",
"typescript": "^5.3.3"
"typescript": "^5.4.3"
},
"dependencies": {
"@scrypted/types": "^0.3.15",
"@scrypted/types": "^0.3.27",
"engine.io-client": "^6.5.3",
"follow-redirects": "^1.15.4",
"follow-redirects": "^1.15.6",
"rimraf": "^5.0.5"
}
}

View File

@@ -1,4 +1,4 @@
import { MediaObjectOptions, RTCConnectionManagement, RTCSignalingSession, ScryptedStatic } from "@scrypted/types";
import { MediaObjectCreateOptions, RTCConnectionManagement, RTCSignalingSession, ScryptedStatic } from "@scrypted/types";
import * as eio from 'engine.io-client';
import { SocketOptions } from 'engine.io-client';
import { Deferred } from "../../../common/src/deferred";
@@ -316,15 +316,9 @@ export async function connectScryptedClient(options: ScryptedClientOptions): Pro
}
}
// the alternate urls must have a valid response.
const loginCheckPromises = [...urlsToCheck].map(async baseUrl => {
const loginCheck = await checkScryptedClientLogin({
baseUrl,
previousLoginResult: options?.previousLoginResult,
});
function validateLoginResult(loginCheck: Awaited<ReturnType<typeof checkScryptedClientLogin>>) {
if (loginCheck.error || loginCheck.redirect)
throw new Error('login error');
throw new ScryptedClientLoginError(loginCheck);
if (!loginCheck.authorization || !loginCheck.username || !loginCheck.queryToken) {
console.error(loginCheck);
@@ -332,12 +326,22 @@ export async function connectScryptedClient(options: ScryptedClientOptions): Pro
}
return loginCheck;
}
// the alternate urls must have a valid response.
const loginCheckPromises = [...urlsToCheck].map(baseUrl => {
return checkScryptedClientLogin({
baseUrl,
previousLoginResult: options?.previousLoginResult,
})
.then(validateLoginResult);
});
const baseUrlCheck = checkScryptedClientLogin({
baseUrl,
previousLoginResult: options?.previousLoginResult,
});
})
.then(validateLoginResult);
loginCheckPromises.push(baseUrlCheck);
let loginCheck: Awaited<ReturnType<typeof checkScryptedClientLogin>>;
@@ -687,7 +691,7 @@ export async function connectScryptedClient(options: ScryptedClientOptions): Pro
} = scrypted;
console.log('api attached', Date.now() - start);
mediaManager.createMediaObject = async<T extends MediaObjectOptions>(data: any, mimeType: string, options: T) => {
mediaManager.createMediaObject = async<T extends MediaObjectCreateOptions>(data: any, mimeType: string, options: T) => {
return new MediaObject(mimeType, data, options) as any;
}
@@ -866,6 +870,8 @@ export async function connectScryptedClient(options: ScryptedClientOptions): Pro
cloudAddress,
},
connectRPCObject,
fork: undefined,
connect: undefined,
}
socket.on('close', () => {