diff --git a/.github/actions/build/windows/todesktop/action.yml b/.github/actions/build/windows/todesktop/action.yml index 7c11f4cd..cba451c7 100644 --- a/.github/actions/build/windows/todesktop/action.yml +++ b/.github/actions/build/windows/todesktop/action.yml @@ -23,8 +23,6 @@ runs: shell: cmd - run: yarn set version --yarn-path self shell: cmd - - run: yarn install --immutable - shell: cmd - name: Make app shell: powershell env: diff --git a/package.json b/package.json index 7879f113..27d8c461 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@electron/windows-sign": "^1.1.3", "@playwright/test": "^1.47.2", "@sentry/wizard": "^3.30.0", - "@todesktop/cli": "^1.9.6", + "@todesktop/cli": "^1.9.7", "@types/adm-zip": "^0.5.5", "@types/electron-squirrel-startup": "^1.0.2", "@types/jest": "^29.5.13", diff --git a/scripts/signPython.sh b/scripts/signPython.sh index a3866490..26157236 100644 --- a/scripts/signPython.sh +++ b/scripts/signPython.sh @@ -1,26 +1,36 @@ -python -m pip install --upgrade pip -pip install comfy-cli -cd ../.. -echo $(dirname $0) +python -m pip install --upgrade pip >/dev/null +wait +pip install comfy-cli >/dev/null +wait +ls cd assets -comfy --skip-prompt --here install --fast-deps --m-series --manager-url https://github.com/Comfy-Org/manager-core +comfy --skip-prompt --here install --fast-deps --m-series --manager-url https://github.com/Comfy-Org/manager-core >/dev/null wait cd ComfyUI cd .. -comfy --here standalone --platform macos +comfy --here standalone --platform macos +wait comfy standalone --rehydrate -rmdir ComfyUI/custom_nodes/ComfyUI-Manager/.git +wait +rm -rf ComfyUI/custom_nodes/ComfyUI-Manager/.git mkdir python2/ tar -xzf python.tgz -C python2/ rm python.tgz +find . -type l ! -exec test -e {} \; -delete +wait +find . -name '*.tar.gz' -delete +wait +ls echo Sign Libs and Bins -cd python2/python/ -filelist=("lib/libpython3.12.dylib" "lib/python3.12/lib-dynload/_crypt.cpython-312-darwin.so" "bin/uv" "bin/uvx" "bin/python3.12") -for file in ${filelist[@]}; do codesign --sign 6698D856280DC1662A8E01E5B63428CB6D6651BB --force --timestamp --options runtime --entitlements ../../../scripts/entitlements.mac.plist "$file"; done -echo Rezip -cd ../.. mv python python3 mv python2/python python -tar -czf python.tgz python/ +mkdir output +rm -rf python2 +rm -rf python3 +cd python +filelist=("lib/libpython3.12.dylib" "lib/python3.12/lib-dynload/_crypt.cpython-312-darwin.so" "bin/uv" "bin/uvx" "bin/python3.12") +for file in ${filelist[@]}; do mkdir -p `dirname ../output/$file` && mv "$file" ../output/"$file"; done cd .. -rmdir ./.git \ No newline at end of file +echo Rezip +tar -czf python.tgz python/ +rm -rf python \ No newline at end of file diff --git a/scripts/todesktop/afterPack.js b/scripts/todesktop/afterPack.js index 0bfa54a5..dd6979d8 100644 --- a/scripts/todesktop/afterPack.js +++ b/scripts/todesktop/afterPack.js @@ -1,5 +1,9 @@ +const os = require('os'); +const fs = require('fs/promises'); +const path = require('path'); +const { exec } = require('child_process'); -module.exports = async ({ appOutDir, packager }) => { +module.exports = async ({ appOutDir, packager, outDir }) => { /** * appPkgName - string - the name of the app package * appId - string - the app id @@ -9,4 +13,83 @@ module.exports = async ({ appOutDir, packager }) => { * packager - object - the packager object * arch - number - the architecture of the app. ia32 = 0, x64 = 1, armv7l = 2, arm64 = 3, universal = 4. */ + + async function removeInvalidSymlinks(appPath) { + const invalidSymlinksInManyLines = await new Promise((resolve, reject) => { + exec(`find ${appPath} -type l ! -exec test -e {} \\; -print`, (error, stdout, stderr) => { + console.log(`command: find ${appPath} -type l ! -exec test -e {} \\; -print`) + if (error) { + console.error(`error: ${error.message}`); + return reject(error); + } + if (stderr) { + console.log(`stderr: ${stderr}`); + return reject(stderr); + } + console.log(`stdout: ${stdout}`); + resolve(stdout); + }) + }); + + console.log("======invalidSymlinksInManyLines======") + console.log(invalidSymlinksInManyLines) + console.log("===========================") + + const invalidSymlinksInArray = invalidSymlinksInManyLines.split("\n") + .map((invalidSymlink) => invalidSymlink.trim()) + .filter((maybeEmptyPath) => maybeEmptyPath !== ''); + + console.log("======invalidSymlinksInArray======") + console.log(invalidSymlinksInArray) + console.log("===========================") + + const waitUntilAllInvalidSymlinksRemoved = invalidSymlinksInArray.map((invalidSymlink) => { + return new Promise((resolve) => { + exec(`rm ${invalidSymlink}`, (error, stdout, stderr) => { + console.log(`command: rm ${invalidSymlink}`) + + if (error) { + console.error(`error: ${error.message}`); + return reject(error); + } + if (stderr) { + console.log(`stderr: ${stderr}`); + return reject(stderr); + } + console.log(`stdout: ${stdout}`); + resolve(stdout); + }) + }) + }) + + try { + await Promise.all(waitUntilAllInvalidSymlinksRemoved); + } catch (e) { + console.log(`error happened while removing all invalid symlinks. message: ${e.message}`); + } + + return; + } + + if (os.platform() === "darwin") { + const appName = packager.appInfo.productFilename; + const appPath = path.join(`${appOutDir}`, `${appName}.app`); + const mainPath = path.dirname(outDir); + const assetPath = path.join(mainPath, 'app-wrapper', 'app', 'assets'); + const resourcePath = path.join(appPath, "Contents", "Resources"); + const result = await fs.rm(path.join(assetPath, "ComfyUI", ".git"), { recursive: true, force: true }); + const result2 = await fs.cp(assetPath, resourcePath, { recursive: true }); + console.log("rm" , result); + console.log("cp" , result2); + await removeInvalidSymlinks(mainPath); + } + + if (os.platform() === 'win32') { + const appName = packager.appInfo.productFilename; + const appPath = path.join(`${appOutDir}`, `${appName}.exe`); + const mainPath = path.dirname(outDir); + const assetPath = path.join(mainPath, 'app-wrapper', 'app', 'assets'); + const resourcePath = path.join(path.dirname(appPath), "resources"); + await fs.cp(assetPath, resourcePath, { recursive: true }); + } } \ No newline at end of file diff --git a/scripts/todesktop/beforeInstall.js b/scripts/todesktop/beforeInstall.js index 19c8bc97..1f37bfd4 100644 --- a/scripts/todesktop/beforeInstall.js +++ b/scripts/todesktop/beforeInstall.js @@ -1,4 +1,4 @@ -const { exec, execSync } = require("child_process"); +const { exec, execSync, spawnSync } = require("child_process"); const path = require("path"); const os = require('os'); @@ -24,12 +24,10 @@ module.exports = async ({ pkgJsonPath, pkgJson, appDir, hookName }) => { if (os.platform() === "win32") { - const result1 = execSync('curl -s https://www.python.org/ftp/python/3.12.7/python-3.12.7-amd64.exe',execOutput).toString(); + const result1 = spawnSync('curl' ,['-s', 'https://www.python.org/ftp/python/3.12.7/python-3.12.7-amd64.exe'],{shell:true,stdio: 'ignore'},execOutput).toString(); console.log(result1); - const result2 = execSync('./python-3.12.7-amd64.exe /quiet PrependPath=1 Include_test=0',execOutput).toString(); + const result2 = spawnSync('python-3.12.7-amd64.exe', ['/quiet', 'InstallAllUsers=1','PrependPath=1', 'Include_test=0'],{shell:true,stdio: 'ignore'},execOutput).toString(); console.log(result2); - const result3 = execSync(`python --version`,execOutput).toString(); - console.log(result3); } diff --git a/scripts/todesktop/postInstall.js b/scripts/todesktop/postInstall.js index e71d09b4..cc2649c1 100644 --- a/scripts/todesktop/postInstall.js +++ b/scripts/todesktop/postInstall.js @@ -1,7 +1,8 @@ -const { exec, execSync } = require("child_process"); +const { exec, execSync, spawnSync, spawn } = require("child_process"); const path = require("path"); const os = require('os'); const process = require("process"); +const fs = require('fs-extra'); async function postInstall() { /** @@ -11,6 +12,7 @@ async function postInstall() { * hookName - string - the name of the hook ("todesktop:beforeInstall" or "todesktop:afterPack") */ + const firstInstallOnToDesktopServers = process.env.TODESKTOP_CI && process.env.TODESKTOP_INITIAL_INSTALL_PHASE; @@ -33,24 +35,36 @@ async function postInstall() { if (os.platform() === "win32") { console.log("win ver"); - const result1 = execSync(`python --version`,execOutput).toString(); + const result1 = execSync(`py -0`,execOutput).toString(); console.log(result1); - const result4 = execSync(`python -3.12 -m pip install --upgrade pip`).toString(); + const result4 = spawnSync(`py`, ['-3.12', '-m', 'pip' ,'install' ,'--upgrade pip'],{shell:true,stdio: 'ignore'}).toString(); console.log(result4); - const result2 = execSync(`python -3.12 -m pip install comfy-cli`, execOutput).toString(); + const result2 = spawnSync(`py`, ['-3.12 ','-m' ,'pip' ,'install comfy-cli'], {shell:true,stdio: 'ignore'}).toString(); console.log(result2); console.log("finish pip"); - const result3 = execSync(`yarn run make:assets:nvidia`, execOutput).toString(); + const result3 = spawnSync('set PATH=C:\\hostedtoolcache\\windows\\Python\\3.12.7\\x64\\Scripts;%PATH% && cd assets && comfy-cli --skip-prompt --here install --fast-deps --nvidia --manager-url https://github.com/Comfy-Org/manager-core && comfy-cli --here standalone && mkdir -p ComfyUI/user/default' ,[''],{shell:true,stdio: 'inherit'}).toString(); console.log(result3); + const result5 = spawnSync('set PATH=C:\\hostedtoolcache\\windows\\Python\\3.12.7\\x64\\Scripts;%PATH% && cd assets && comfy-cli --here standalone' ,[''],{shell:true,stdio: 'inherit'}).toString(); + console.log(result5); + const result = spawnSync('mkdir -p assets\\ComfyUI\\user\\default' ,[''],{shell:true,stdio: 'inherit'}).toString(); console.log("finish yarn run"); + spawnSync('cd assets && dir' ,[''],{shell:true,stdio: 'inherit'}).toString(); } if (os.platform() === "darwin") { console.log("mac ver"); - - const result = execSync(`sh ${path.join(dirPath, 'scripts', 'signPython.sh')}`, execOutput).toString(); - console.log(result); - console.log("finish python"); + const shPath = path.join(dirPath, 'scripts', 'signPython.sh'); + const result2 = spawnSync('sed', [`-i ''` , `'s/\\r//g'` , shPath],{shell:true,stdio:'inherit'}); + const result = spawnSync('sh', [shPath],{shell:true,stdio: 'pipe'}); + console.log(result.stdout.toString()); + console.log(result.stderr.toString()); + // console.log(result); + fs.createFileSync('./src/macpip.txt'); + fs.writeFileSync('./src/macpip.txt',JSON.stringify({ + log: result.stdout.toString(), + err:result.stderr.toString() + })); + console.log("finish python"); } }; diff --git a/src/main.ts b/src/main.ts index 7da9e689..745048e1 100644 --- a/src/main.ts +++ b/src/main.ts @@ -591,7 +591,7 @@ const spawnPythonAsync = ( options = { stdx: true } ): Promise<{ exitCode: number | null }> => { return new Promise((resolve, reject) => { - log.info(`Spawning python process with command: ${cmd.join(' ')} in directory: ${cwd}`); + log.info(`Spawning python process with command: ${pythonInterpreterPath} ${cmd.join(' ')} in directory: ${cwd}`); const pythonProcess: ChildProcess = spawn(pythonInterpreterPath, cmd, { cwd }); const cleanup = () => { diff --git a/src/pythonEnvironment.ts b/src/pythonEnvironment.ts index 9c1ab13b..a9f67872 100644 --- a/src/pythonEnvironment.ts +++ b/src/pythonEnvironment.ts @@ -25,6 +25,8 @@ export class PythonEnvironment { */ readonly requirementsCompiledPath: string; + readonly macExtraFiles: Array; + constructor( public pythonInstallPath: string, public appResourcesPath: string, @@ -45,6 +47,13 @@ export class PythonEnvironment { this.pythonTarPath = path.join(appResourcesPath, 'python.tgz'); this.wheelsPath = path.join(this.pythonRootPath, 'wheels'); this.requirementsCompiledPath = path.join(this.pythonRootPath, 'requirements.compiled'); + this.macExtraFiles = [ + 'lib/libpython3.12.dylib', + 'lib/python3.12/lib-dynload/_crypt.cpython-312-darwin.so', + 'bin/uv', + 'bin/uvx', + 'bin/python3.12', + ]; } async isInstalled(): Promise { @@ -91,6 +100,21 @@ export class PythonEnvironment { strict: true, }); + if (process.platform === 'darwin') { + this.macExtraFiles.forEach(async (fileName) => { + await fsPromises.cp( + path.join(this.appResourcesPath, 'output', fileName), + path.join(this.pythonRootPath, fileName) + ); + }); + try { + // This is a cleanup step, and is non critical if failed. + await fsPromises.rm(path.join(this.appResourcesPath, 'output'), { recursive: true, force: true }); + } catch (error) { + null; + } + } + const exitCode = await this.installRequirements(); if (exitCode === 0) { diff --git a/todesktop.json b/todesktop.json index 352a9ff4..6f7343ae 100644 --- a/todesktop.json +++ b/todesktop.json @@ -6,5 +6,5 @@ "appPath": ".", "appFiles": ["src/**", "scripts/**", "assets/**", "dist/**", ".vite/**", ".yarnrc.yml", ".yarn/**"], "extraResources": [{ "from": "./assets" }], - "filesForDistribution": ["!.yarn/**", "!.yarnrc.yml"] + "filesForDistribution": ["!assets/**", "!dist/**", "!.yarn/**", "!.yarnrc.yml"] } diff --git a/yarn.lock b/yarn.lock index 033864be..94662f21 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1732,6 +1732,19 @@ __metadata: languageName: node linkType: hard +"@opentelemetry/instrumentation-express@npm:0.43.0": + version: 0.43.0 + resolution: "@opentelemetry/instrumentation-express@npm:0.43.0" + dependencies: + "@opentelemetry/core": "npm:^1.8.0" + "@opentelemetry/instrumentation": "npm:^0.53.0" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/5b2e56e8c6c546103f8e9a69e632bb5b8d992da0a1858cb35f6320f98675df503b1b07a704559d11e29fe47366f98296729b0cccaa543debcfe2072888331b72 + languageName: node + linkType: hard + "@opentelemetry/instrumentation-fastify@npm:0.39.0": version: 0.39.0 resolution: "@opentelemetry/instrumentation-fastify@npm:0.39.0" @@ -1745,6 +1758,19 @@ __metadata: languageName: node linkType: hard +"@opentelemetry/instrumentation-fastify@npm:0.40.0": + version: 0.40.0 + resolution: "@opentelemetry/instrumentation-fastify@npm:0.40.0" + dependencies: + "@opentelemetry/core": "npm:^1.8.0" + "@opentelemetry/instrumentation": "npm:^0.53.0" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/2b05562aa8433fae2343c015a7e3c23a3871aaab1a50ddfb8c0974b03c7a0693c27dc4014ebcde61ec53658fc84c4554d6ba1ed1c0212fbcf6423424c07ed1ca + languageName: node + linkType: hard + "@opentelemetry/instrumentation-fs@npm:0.15.0": version: 0.15.0 resolution: "@opentelemetry/instrumentation-fs@npm:0.15.0" @@ -2481,19 +2507,6 @@ __metadata: languageName: node linkType: hard -"@sentry/core@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/core@npm:5.30.0" - dependencies: - "@sentry/hub": "npm:5.30.0" - "@sentry/minimal": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/6407b9c2a6a56f90c198f5714b3257df24d89d1b4ca6726bd44760d0adabc25798b69fef2c88ccea461c7e79e3c78861aaebfd51fd3cb892aee656c3f7e11801 - languageName: node - linkType: hard - "@sentry/core@npm:7.119.2": version: 7.119.2 resolution: "@sentry/core@npm:7.119.2" @@ -2514,6 +2527,16 @@ __metadata: languageName: node linkType: hard +"@sentry/core@npm:8.35.0": + version: 8.35.0 + resolution: "@sentry/core@npm:8.35.0" + dependencies: + "@sentry/types": "npm:8.35.0" + "@sentry/utils": "npm:8.35.0" + checksum: 10c0/93f2dd5a08484712d895b110f7f4c364e7cf43aef770a05e089584ec4decf95fac5a6fe255714aa216f1f2ac65b38306138307f9a84235a3090659fa53e4c074 + languageName: node + linkType: hard + "@sentry/electron@npm:^5.4.0": version: 5.6.0 resolution: "@sentry/electron@npm:5.6.0" @@ -2528,17 +2551,6 @@ __metadata: languageName: node linkType: hard -"@sentry/hub@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/hub@npm:5.30.0" - dependencies: - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/386c91d06aa44be0465fc11330d748a113e464d41cd562a9e1d222a682cbcb14e697a3e640953e7a0239997ad8a02b223a0df3d9e1d8816cb823fd3613be3e2f - languageName: node - linkType: hard - "@sentry/integrations@npm:7.119.2": version: 7.119.2 resolution: "@sentry/integrations@npm:7.119.2" @@ -2551,17 +2563,6 @@ __metadata: languageName: node linkType: hard -"@sentry/minimal@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/minimal@npm:5.30.0" - dependencies: - "@sentry/hub": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/34ec05503de46d01f98c94701475d5d89cc044892c86ccce30e01f62f28344eb23b718e7cf573815e46f30a4ac9da3129bed9b3d20c822938acfb40cbe72437b - languageName: node - linkType: hard - "@sentry/node@npm:8.33.1": version: 8.33.1 resolution: "@sentry/node@npm:8.33.1" @@ -2605,23 +2606,6 @@ __metadata: languageName: node linkType: hard -"@sentry/node@npm:^5.27.2": - version: 5.30.0 - resolution: "@sentry/node@npm:5.30.0" - dependencies: - "@sentry/core": "npm:5.30.0" - "@sentry/hub": "npm:5.30.0" - "@sentry/tracing": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - cookie: "npm:^0.4.1" - https-proxy-agent: "npm:^5.0.0" - lru_map: "npm:^0.3.3" - tslib: "npm:^1.9.3" - checksum: 10c0/c50db7c81ace57cac17692245c2ab3c84a6149183f81d5f2dfd157eaa7b66eb4d6a727dd13a754bb129c96711389eec2944cd94126722ee1d8b11f2b627b830d - languageName: node - linkType: hard - "@sentry/node@npm:^7.69.0": version: 7.119.2 resolution: "@sentry/node@npm:7.119.2" @@ -2635,6 +2619,49 @@ __metadata: languageName: node linkType: hard +"@sentry/node@npm:^8.35.0": + version: 8.35.0 + resolution: "@sentry/node@npm:8.35.0" + dependencies: + "@opentelemetry/api": "npm:^1.9.0" + "@opentelemetry/context-async-hooks": "npm:^1.25.1" + "@opentelemetry/core": "npm:^1.25.1" + "@opentelemetry/instrumentation": "npm:^0.53.0" + "@opentelemetry/instrumentation-amqplib": "npm:^0.42.0" + "@opentelemetry/instrumentation-connect": "npm:0.39.0" + "@opentelemetry/instrumentation-dataloader": "npm:0.12.0" + "@opentelemetry/instrumentation-express": "npm:0.43.0" + "@opentelemetry/instrumentation-fastify": "npm:0.40.0" + "@opentelemetry/instrumentation-fs": "npm:0.15.0" + "@opentelemetry/instrumentation-generic-pool": "npm:0.39.0" + "@opentelemetry/instrumentation-graphql": "npm:0.43.0" + "@opentelemetry/instrumentation-hapi": "npm:0.41.0" + "@opentelemetry/instrumentation-http": "npm:0.53.0" + "@opentelemetry/instrumentation-ioredis": "npm:0.43.0" + "@opentelemetry/instrumentation-kafkajs": "npm:0.3.0" + "@opentelemetry/instrumentation-koa": "npm:0.43.0" + "@opentelemetry/instrumentation-lru-memoizer": "npm:0.40.0" + "@opentelemetry/instrumentation-mongodb": "npm:0.47.0" + "@opentelemetry/instrumentation-mongoose": "npm:0.42.0" + "@opentelemetry/instrumentation-mysql": "npm:0.41.0" + "@opentelemetry/instrumentation-mysql2": "npm:0.41.0" + "@opentelemetry/instrumentation-nestjs-core": "npm:0.40.0" + "@opentelemetry/instrumentation-pg": "npm:0.44.0" + "@opentelemetry/instrumentation-redis-4": "npm:0.42.0" + "@opentelemetry/instrumentation-undici": "npm:0.6.0" + "@opentelemetry/resources": "npm:^1.26.0" + "@opentelemetry/sdk-trace-base": "npm:^1.26.0" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + "@prisma/instrumentation": "npm:5.19.1" + "@sentry/core": "npm:8.35.0" + "@sentry/opentelemetry": "npm:8.35.0" + "@sentry/types": "npm:8.35.0" + "@sentry/utils": "npm:8.35.0" + import-in-the-middle: "npm:^1.11.2" + checksum: 10c0/cd5baa72209a8f78f3c25ee132cebf3d55b58e6faed1c3f83826796b722a7083504ce037ab886e50861ea5d1a861de6c494bfa1e44baffbb564fa47932939990 + languageName: node + linkType: hard + "@sentry/opentelemetry@npm:8.33.1": version: 8.33.1 resolution: "@sentry/opentelemetry@npm:8.33.1" @@ -2652,23 +2679,20 @@ __metadata: languageName: node linkType: hard -"@sentry/tracing@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/tracing@npm:5.30.0" +"@sentry/opentelemetry@npm:8.35.0": + version: 8.35.0 + resolution: "@sentry/opentelemetry@npm:8.35.0" dependencies: - "@sentry/hub": "npm:5.30.0" - "@sentry/minimal": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/46830265bc54a3203d7d9f0d8d9f2f7d9d2c6a977e07ccdae317fa3ea29c388b904b3bef28f7a0ba9c074845d67feab63c6d3c0ddce9aeb275b6c966253fb415 - languageName: node - linkType: hard - -"@sentry/types@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/types@npm:5.30.0" - checksum: 10c0/99c6e55c0a82c8ca95be2e9dbb35f581b29e4ff7af74b23bc62b690de4e35febfa15868184a2303480ef86babd4fea5273cf3b5ddf4a27685b841a72f13a0c88 + "@sentry/core": "npm:8.35.0" + "@sentry/types": "npm:8.35.0" + "@sentry/utils": "npm:8.35.0" + peerDependencies: + "@opentelemetry/api": ^1.9.0 + "@opentelemetry/core": ^1.25.1 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/sdk-trace-base": ^1.26.0 + "@opentelemetry/semantic-conventions": ^1.27.0 + checksum: 10c0/cbf311abdef13c5114d7be7bddaae7e92111e6ad6e3d0744c32096399fecdc493eae1788c8222ba9f5000a49f57d8b608671cc98c36af29679a6328c1757b919 languageName: node linkType: hard @@ -2686,13 +2710,10 @@ __metadata: languageName: node linkType: hard -"@sentry/utils@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/utils@npm:5.30.0" - dependencies: - "@sentry/types": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/ca8eebfea7ac7db6d16f6c0b8a66ac62587df12a79ce9d0d8393f4d69880bb8d40d438f9810f7fb107a9880fe0d68bbf797b89cbafd113e89a0829eb06b205f8 +"@sentry/types@npm:8.35.0": + version: 8.35.0 + resolution: "@sentry/types@npm:8.35.0" + checksum: 10c0/b28d87ef26d1b889cf7c951a697caf70d9092d84dd1ae777700a0a009da832a8a5c298632dba62fbcb1a3252d011353068c64419e8e952b676f20deca8d03d64 languageName: node linkType: hard @@ -2714,6 +2735,15 @@ __metadata: languageName: node linkType: hard +"@sentry/utils@npm:8.35.0": + version: 8.35.0 + resolution: "@sentry/utils@npm:8.35.0" + dependencies: + "@sentry/types": "npm:8.35.0" + checksum: 10c0/5c1178f0000165d6436d98902bc4107fcdae9aa84c23458b4c6b1a89b4734185292fb776427d6ec8e174e7e6c1c32b7c72585bb3ddd3ddd893dd8e5884c50d67 + languageName: node + linkType: hard + "@sentry/vite-plugin@npm:^2.22.4": version: 2.22.6 resolution: "@sentry/vite-plugin@npm:2.22.6" @@ -2809,16 +2839,16 @@ __metadata: languageName: node linkType: hard -"@todesktop/cli@npm:^1.9.6": - version: 1.9.6 - resolution: "@todesktop/cli@npm:1.9.6" +"@todesktop/cli@npm:^1.9.7": + version: 1.9.7 + resolution: "@todesktop/cli@npm:1.9.7" dependencies: - "@sentry/node": "npm:^5.27.2" + "@sentry/node": "npm:^8.35.0" ajv: "npm:^8.11.2" ajv-formats: "npm:^2.1.1" analytics-node: "npm:^4.0.1" archiver: "npm:^5.2.0" - axios: "npm:^0.21.1" + axios: "npm:^1.7.7" better-ajv-errors: "npm:^1.2.0" bunyan: "npm:^1.8.14" chalk: "npm:^4.1.0" @@ -2858,7 +2888,7 @@ __metadata: xdg-basedir: "npm:^4.0.0" bin: todesktop: dist/cli.js - checksum: 10c0/de8f57870966581efac0e518094a3c8382ad15b4227e809f9d71717b615820ef9e347123cb6074c2f692f57b3cdfe4fd0b414fb0a07323717d93bd9976ffede4 + checksum: 10c0/9cde371bb591a9575ea29218444b102986e9ea9116ab51281be460a773213232d19f5c18a9584394d67dadcae394caf17f3098ce8ba5c19b9b0c6fd3c8466001 languageName: node linkType: hard @@ -4842,7 +4872,7 @@ __metadata: "@sentry/electron": "npm:^5.4.0" "@sentry/vite-plugin": "npm:^2.22.4" "@sentry/wizard": "npm:^3.30.0" - "@todesktop/cli": "npm:^1.9.6" + "@todesktop/cli": "npm:^1.9.7" "@todesktop/runtime": "npm:^1.6.4" "@types/adm-zip": "npm:^0.5.5" "@types/electron-squirrel-startup": "npm:^1.0.2" @@ -5010,13 +5040,6 @@ __metadata: languageName: node linkType: hard -"cookie@npm:^0.4.1": - version: 0.4.2 - resolution: "cookie@npm:0.4.2" - checksum: 10c0/beab41fbd7c20175e3a2799ba948c1dcc71ef69f23fe14eeeff59fc09f50c517b0f77098db87dbb4c55da802f9d86ee86cdc1cd3efd87760341551838d53fca2 - languageName: node - linkType: hard - "cookiejar@npm:^2.1.3": version: 2.1.4 resolution: "cookiejar@npm:2.1.4" @@ -7258,7 +7281,7 @@ __metadata: languageName: node linkType: hard -"import-in-the-middle@npm:^1.11.0, import-in-the-middle@npm:^1.8.1": +"import-in-the-middle@npm:^1.11.0, import-in-the-middle@npm:^1.11.2, import-in-the-middle@npm:^1.8.1": version: 1.11.2 resolution: "import-in-the-middle@npm:1.11.2" dependencies: @@ -8917,13 +8940,6 @@ __metadata: languageName: node linkType: hard -"lru_map@npm:^0.3.3": - version: 0.3.3 - resolution: "lru_map@npm:0.3.3" - checksum: 10c0/d861f14a142a4a74ebf8d3ad57f2e768a5b820db4100ae53eed1a64eb6350912332e6ebc87cb7415ad6d0cd8f3ce6d20beab9a5e6042ccb5996ea0067a220448 - languageName: node - linkType: hard - "magic-string@npm:0.30.8": version: 0.30.8 resolution: "magic-string@npm:0.30.8" @@ -11985,7 +12001,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.11.1, tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3": +"tslib@npm:^1.11.1, tslib@npm:^1.8.1, tslib@npm:^1.9.0": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2