From c86abb1475e97080dbee36db05ab54278929e214 Mon Sep 17 00:00:00 2001 From: Tnks2U Date: Tue, 25 Feb 2025 16:17:58 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=EC=8B=A0=EA=B7=9C=20entry-hw-serve?= =?UTF-8?q?r=20=EB=8C=80=EC=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 7 ++++--- src/main/commonUtils.ts | 29 ++++++++++++++------------ src/main/utils/serverProcessManager.ts | 17 +++++++++++---- yarn.lock | 22 +++++++++++++++---- 4 files changed, 51 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index 6c128e8c9..e864df08b 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "description": "Entry for offline", "main": "src/main_build/main.bundle.js", "scripts": { - "start": "cross-env NODE_ENV=development electron . --debug", + "start": "cross-env NODE_ENV=development SERVER_DOMAIN_DEV='http://local2.playentry.org' HW_LOG_ENDPOINT='/api/hwActionLog' electron . --debug", "debug": "cross-env NODE_ENV=development electron --inspect .", "prod:debug": "cross-env NODE_ENV=production electron --inspect . --debug", "prod:debug:brk": "cross-env NODE_ENV=production electron --inspect-brk=5858 .", @@ -19,7 +19,7 @@ "dist:win64": "cross-env NODE_ENV=production NODE_OPTIONS=--openssl-legacy-provider webpack && electron-builder -c --win --x64", "dist:win": "cross-env NODE_ENV=production NODE_OPTIONS=--openssl-legacy-provider webpack && electron-builder -c --win --x64 && electron-builder -c --win --ia32", "dist:mac:notarize": "cross-env NODE_ENV=production NODE_OPTIONS=--openssl-legacy-provider webpack && cross-env NOTARIZE=true electron-builder -c --mac", - "dist:mac": "cross-env NODE_ENV=production NODE_OPTIONS=--openssl-legacy-provider webpack && cross-env NOTARIZE=false electron-builder -c --mac", + "dist:mac": "cross-env SERVER_DOMAIN_DEV='http://local2.playentry.org' HW_LOG_ENDPOINT='/api/hwActionLog' NODE_ENV=production NODE_OPTIONS=--openssl-legacy-provider webpack && cross-env NOTARIZE=false electron-builder -c --mac", "rebuild": "electron-rebuild -f", "postinstall": "yarn run rebuild && yarn run webpack:dev" }, @@ -39,7 +39,7 @@ "async-csv": "^2.1.3", "axios": "^0.19.2", "cross-spawn": "^7.0.3", - "entry-hw": "git+https://github.com/entrylabs/entry-hw.git#dist/v1.9.61_2", + "entry-hw": "git+https://github.com/entrylabs/entry-hw.git#dist/v1.9.62", "entry-js": "git+https://github.com/entrylabs/entryjs.git#dist/offline_v2.1.23", "entry-tool": "git+https://github.com/entrylabs/entry-tool.git#dist/20231026", "@entrylabs/legacy-video": "^1.0.0", @@ -54,6 +54,7 @@ "music-metadata": "^6.3.0", "node-abi": "^3.28.0", "node-xlsx": "^0.15.0", + "systeminformation": "^5.22.11", "puid": "^1.0.7", "rimraf": "^2.6.3", "sass": "^1.57.1", diff --git a/src/main/commonUtils.ts b/src/main/commonUtils.ts index 5c6bc6b17..a32a016a5 100644 --- a/src/main/commonUtils.ts +++ b/src/main/commonUtils.ts @@ -62,12 +62,20 @@ class CommonUtils { const filename = entryObject.filename; const extension = CommonUtils.sanitizeExtension( entryObject.ext || entryObject.extension, - defaultExtension, + defaultExtension ); return `${filename}${extension}`; } + static getEntryDomain() { + if (process.env.NODE_ENV === 'production') { + return 'https://playentry.org'; + } else { + return process.env.SERVER_DOMAIN_DEV ? process.env.SERVER_DOMAIN_DEV : undefined; + } + } + static lpad(str: string, len: number) { const strLen = str.length; let paddedString = str; @@ -79,20 +87,15 @@ class CommonUtils { return String(paddedString); } - static getPaddedVersion(version: string | number) { + static getPaddedVersion = (version: string | undefined) => { if (!version) { - return ''; + return; } - const versionString = String(version); - - const padded: string[] = []; - const splitVersion = versionString.split('.'); - splitVersion.forEach((item) => { - padded.push(this.lpad(item, 4)); - }); - - return padded.join('.'); - } + return version + .split('.') + .map((number) => number.padStart(4, '0')) + .join('.'); + }; } export default CommonUtils; diff --git a/src/main/utils/serverProcessManager.ts b/src/main/utils/serverProcessManager.ts index 5d0f73a51..19974e77e 100644 --- a/src/main/utils/serverProcessManager.ts +++ b/src/main/utils/serverProcessManager.ts @@ -1,5 +1,6 @@ import EntryServer from 'entry-hw-server'; import { app } from 'electron'; +import CommonUtils from '../commonUtils'; import HardwareModuleManager from './hardwareModuleManager'; import path from 'path'; @@ -33,7 +34,9 @@ class ServerProcessManager { open() { this._receiveFromChildEventRegister(); - this.childProcess.open(); + const offlineVersion = CommonUtils.getPaddedVersion(global.sharedObject.version); + const getEntryDomain = CommonUtils.getEntryDomain(); + this.childProcess.open(offlineVersion, getEntryDomain); } close() { @@ -52,6 +55,14 @@ class ServerProcessManager { this.childProcess.sendToClient(data); } + connectHardwareSuccess(hardwareId: string) { + this.childProcess.connectHardwareSuccess(hardwareId); + } + + connectHardwareFailed() { + this.childProcess.connectHardwareFailed(); + } + _receiveFromChildEventRegister() { this.childProcess.on('cloudModeChanged', (mode: string) => { this.router.notifyCloudModeChanged(mode); @@ -62,9 +73,7 @@ class ServerProcessManager { this.childProcess.on('data', (message: any) => { this.router.handleServerData(message); }); - this.childProcess.on('close', () => { - - }); + this.childProcess.on('close', () => {}); } } diff --git a/yarn.lock b/yarn.lock index 82deba35a..3cf47832a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5208,13 +5208,15 @@ entities@^2.0.0: "entry-hw-server@git+https://github.com/entrylabs/entry-hw-server.git#master": version "2.0.0" - resolved "git+https://github.com/entrylabs/entry-hw-server.git#d8cf9abafdd2beee9f480fc1dfa7953233273cba" + resolved "git+https://github.com/entrylabs/entry-hw-server.git#c4718d51ac06b3f7e767561b335e946410378cf2" dependencies: crypto-js "^4.0.0" + node-fetch "^2.7.0" + systeminformation "^5.22.11" -"entry-hw@git+https://github.com/entrylabs/entry-hw.git#dist/v1.9.61_2": - version "1.9.61" - resolved "git+https://github.com/entrylabs/entry-hw.git#882fcea120ed448d3200d6058c4e5a94b75d18a7" +"entry-hw@git+https://github.com/entrylabs/entry-hw.git#dist/v1.9.62": + version "1.9.62" + resolved "git+https://github.com/entrylabs/entry-hw.git#4dd433374df09e5fcb839581fcd712402b503105" dependencies: cross-spawn "^7.0.0" fs-extra "^8.1.0" @@ -9251,6 +9253,13 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-fetch@~2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" @@ -12008,6 +12017,11 @@ symbol-tree@^3.2.2: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== +systeminformation@^5.22.11: + version "5.25.11" + resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.25.11.tgz#7d47a14dafbc9cf6c21bc02d19a2121a8c770d88" + integrity sha512-jI01fn/t47rrLTQB0FTlMCC+5dYx8o0RRF+R4BPiUNsvg5OdY0s9DKMFmJGrx5SwMZQ4cag0Gl6v8oycso9b/g== + table@^6.0.9: version "6.8.1" resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" From e99f81b811a4ce98298e1a418be28cec898bdc42 Mon Sep 17 00:00:00 2001 From: Tnks2U Date: Tue, 25 Feb 2025 16:29:13 +0900 Subject: [PATCH 2/2] version up : 2.1.24 --- build/entryx64.nsi | 2 +- build/entryx86.nsi | 2 +- package.json | 4 ++-- yarn.lock | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build/entryx64.nsi b/build/entryx64.nsi index b13bee74d..86c132f57 100644 --- a/build/entryx64.nsi +++ b/build/entryx64.nsi @@ -13,7 +13,7 @@ !define MUI_UNICON "icon.ico" !define PRODUCT_NAME "Entry" !define APP_NAME "Entry.exe" -!define PRODUCT_VERSION "2.1.23" +!define PRODUCT_VERSION "2.1.24" !define PRODUCT_PUBLISHER "EntryLabs" !define PRODUCT_WEB_SITE "http://www.playentry.org/" diff --git a/build/entryx86.nsi b/build/entryx86.nsi index 3632a0b14..ebdc48c8a 100644 --- a/build/entryx86.nsi +++ b/build/entryx86.nsi @@ -13,7 +13,7 @@ !define MUI_UNICON "icon.ico" !define PRODUCT_NAME "Entry" !define APP_NAME "Entry.exe" -!define PRODUCT_VERSION "2.1.23" +!define PRODUCT_VERSION "2.1.24" !define PRODUCT_PUBLISHER "EntryLabs" !define PRODUCT_WEB_SITE "http://www.playentry.org/" diff --git a/package.json b/package.json index e864df08b..959f537b4 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "private": true, "productName": "Entry", "name": "entry", - "version": "2.1.23", + "version": "2.1.24", "description": "Entry for offline", "main": "src/main_build/main.bundle.js", "scripts": { @@ -40,7 +40,7 @@ "axios": "^0.19.2", "cross-spawn": "^7.0.3", "entry-hw": "git+https://github.com/entrylabs/entry-hw.git#dist/v1.9.62", - "entry-js": "git+https://github.com/entrylabs/entryjs.git#dist/offline_v2.1.23", + "entry-js": "git+https://github.com/entrylabs/entryjs.git#dist/offline_v2.1.24", "entry-tool": "git+https://github.com/entrylabs/entry-tool.git#dist/20231026", "@entrylabs/legacy-video": "^1.0.0", "excel4node": "^1.7.0", diff --git a/yarn.lock b/yarn.lock index 3cf47832a..0f5231386 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5231,9 +5231,9 @@ entities@^2.0.0: winston "^3.2.1" winston-daily-rotate-file "^4.4.2" -"entry-js@git+https://github.com/entrylabs/entryjs.git#dist/offline_v2.1.23": - version "4.0.14" - resolved "git+https://github.com/entrylabs/entryjs.git#0920d5d4049c314536ec4596c28d969c281b6c06" +"entry-js@git+https://github.com/entrylabs/entryjs.git#dist/offline_v2.1.24": + version "4.0.17" + resolved "git+https://github.com/entrylabs/entryjs.git#517f7e3615639af46728cf4e5dfaa250d552c119" dependencies: uid "^0.0.2" "@entrylabs/event" "^1.0.3"