From d589168e73c065d232cc6131072942b3bea15f38 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Thu, 15 May 2025 14:09:31 +0000 Subject: [PATCH 1/6] Fix websocket restoration --- packages/app/src/App.jsx | 4 ++++ packages/app/src/cores/api/api.core.js | 14 +++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/app/src/App.jsx b/packages/app/src/App.jsx index 9ade66ce..68462acc 100755 --- a/packages/app/src/App.jsx +++ b/packages/app/src/App.jsx @@ -40,11 +40,15 @@ class ComtyApp extends React.Component { await this.auth.flush() await this.initialization() + app.cores.api.reset() + app.navigation.goMain() }, onLogout: async () => { await this.auth.flush() + app.cores.api.reset() + app.navigation.goAuth() }, onInvalidSession: async (error) => { diff --git a/packages/app/src/cores/api/api.core.js b/packages/app/src/cores/api/api.core.js index 57dd287c..ae73ade9 100755 --- a/packages/app/src/cores/api/api.core.js +++ b/packages/app/src/cores/api/api.core.js @@ -24,6 +24,7 @@ export default class APICore extends Core { listenEvent: this.listenEvent.bind(this), unlistenEvent: this.unlistenEvent.bind(this), emitEvent: this.emitEvent.bind(this), + reset: this.reset.bind(this), measurePing: measurePing, useRequest: useRequest, } @@ -84,6 +85,10 @@ export default class APICore extends Core { return this.client.ws.sockets.get(instance).off(key, handler) } + async reset() { + this.client.ws.connectAll() + } + async onInitialize() { this.client = await createClient({ eventBus: app.eventBus, @@ -93,15 +98,6 @@ export default class APICore extends Core { }, }) - // handle auth events - this.client.eventBus.on("auth:login_success", () => { - this.client.ws.connectAll() - }) - - this.client.eventBus.on("auth:logout_success", () => { - this.client.ws.connectAll() - }) - // make a basic request to check if the API is available await this.client .baseRequest({ From d0410ed244356a29625434b80df3f77fcbba8f8f Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Thu, 15 May 2025 14:10:15 +0000 Subject: [PATCH 2/6] Fix ffmpeg binary resolution --- packages/server/Dockerfile | 9 ++++++++- packages/server/classes/FFMPEGLib/index.js | 4 ++++ packages/server/classes/MultiqualityHLSJob/index.js | 4 ++-- packages/server/classes/SegmentedAudioMPDJob/index.js | 4 ++-- .../server/services/files/queues/fileProcess/index.js | 1 - 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/server/Dockerfile b/packages/server/Dockerfile index 0373ffe9..78c8e9fa 100755 --- a/packages/server/Dockerfile +++ b/packages/server/Dockerfile @@ -8,8 +8,9 @@ RUN apt install -y --no-install-recommends git RUN apt install -y --no-install-recommends ssh RUN apt install -y --no-install-recommends curl RUN apt install -y --no-install-recommends nscd +RUN apt install -y --no-install-recommends bash +RUN apt install -y --no-install-recommends which RUN apt install -y --no-install-recommends ca-certificates -RUN apt install -y --no-install-recommends ffmpeg # Create workdir RUN mkdir -p /comty-server @@ -41,6 +42,12 @@ RUN /comty-server/nginx-bin -v RUN chmod -R 777 /comty-server RUN chown -R node:node /comty-server +# Install manual server dependencies +RUN mkdir -p /root/.local/bin +RUN "/comty-server/scripts/installLatestFfmpeg.sh" +RUN mv /root/.local/bin/ffmpeg /bin/ffmpeg +RUN mv /root/.local/bin/ffprobe /bin/ffprobe + # Set user to node USER node diff --git a/packages/server/classes/FFMPEGLib/index.js b/packages/server/classes/FFMPEGLib/index.js index f0b67b72..19f4ecca 100644 --- a/packages/server/classes/FFMPEGLib/index.js +++ b/packages/server/classes/FFMPEGLib/index.js @@ -57,6 +57,10 @@ export class FFMPEGLib extends EventEmitter { } return new Promise((resolve, reject) => { + if (!bin) { + return reject("No binary provided") + } + const process = child_process.exec( `${bin} ${args}`, { diff --git a/packages/server/classes/MultiqualityHLSJob/index.js b/packages/server/classes/MultiqualityHLSJob/index.js index 55eb1d28..ab2a2b43 100644 --- a/packages/server/classes/MultiqualityHLSJob/index.js +++ b/packages/server/classes/MultiqualityHLSJob/index.js @@ -108,9 +108,9 @@ export default class MultiqualityHLSJob extends FFMPEGLib { fs.mkdirSync(outputPath, { recursive: true }) } - const inputProbe = await Utils.probe(this.params.input) - try { + const inputProbe = await Utils.probe(this.params.input) + const result = await this.ffmpeg({ args: cmdStr, cwd: outputPath, diff --git a/packages/server/classes/SegmentedAudioMPDJob/index.js b/packages/server/classes/SegmentedAudioMPDJob/index.js index 3c613d94..d6e75bc3 100644 --- a/packages/server/classes/SegmentedAudioMPDJob/index.js +++ b/packages/server/classes/SegmentedAudioMPDJob/index.js @@ -105,9 +105,9 @@ export default class SegmentedAudioMPDJob extends FFMPEGLib { fs.mkdirSync(outputPath, { recursive: true }) } - const inputProbe = await Utils.probe(this.params.input) - try { + const inputProbe = await Utils.probe(this.params.input) + const ffmpegResult = await this.ffmpeg({ args: segmentationCmd, onProcess: (process) => { diff --git a/packages/server/services/files/queues/fileProcess/index.js b/packages/server/services/files/queues/fileProcess/index.js index 663a0d10..2baf0e19 100644 --- a/packages/server/services/files/queues/fileProcess/index.js +++ b/packages/server/services/files/queues/fileProcess/index.js @@ -1,4 +1,3 @@ -import path from "node:path" import fs from "node:fs" import Upload from "@shared-classes/Upload" From a276a35b36c2aacc3e14ddbe0d68d2327942b954 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Thu, 15 May 2025 14:10:33 +0000 Subject: [PATCH 3/6] Fix post replies pagination --- .../server/services/posts/routes/posts/[post_id]/replies/get.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/services/posts/routes/posts/[post_id]/replies/get.js b/packages/server/services/posts/routes/posts/[post_id]/replies/get.js index 1464df63..2e0e3f83 100644 --- a/packages/server/services/posts/routes/posts/[post_id]/replies/get.js +++ b/packages/server/services/posts/routes/posts/[post_id]/replies/get.js @@ -6,7 +6,7 @@ export default { return await PostClass.replies({ post_id: req.params.post_id, for_user_id: req.auth?.session.user_id, - trim: req.query.trim, + page: req.query.page, limit: req.query.limit, }) }, From 7d248495d8d615737f990ed01da424e95963ef12 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Thu, 15 May 2025 14:10:58 +0000 Subject: [PATCH 4/6] added eslit --- packages/server/eslint.config.mjs | 15 +++++++++++++++ packages/server/package.json | 3 +++ 2 files changed, 18 insertions(+) create mode 100644 packages/server/eslint.config.mjs diff --git a/packages/server/eslint.config.mjs b/packages/server/eslint.config.mjs new file mode 100644 index 00000000..2c33a1fe --- /dev/null +++ b/packages/server/eslint.config.mjs @@ -0,0 +1,15 @@ +import js from "@eslint/js" +import globals from "globals" +import { defineConfig } from "eslint/config" + +export default defineConfig([ + { + files: ["**/*.{js,mjs,cjs}"], + plugins: { js }, + extends: ["js/recommended"], + }, + { + files: ["**/*.{js,mjs,cjs}"], + languageOptions: { globals: globals.browser }, + }, +]) diff --git a/packages/server/package.json b/packages/server/package.json index 9a63d142..190de546 100755 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -40,7 +40,10 @@ "tree-kill": "^1.2.2" }, "devDependencies": { + "@eslint/js": "^9.26.0", "chai": "^5.1.0", + "eslint": "^9.26.0", + "globals": "^16.1.0", "mocha": "^10.3.0" }, "resolutions": { From cf87f15d47ee330b9f879397568a4fca246275d5 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Thu, 15 May 2025 14:12:32 +0000 Subject: [PATCH 5/6] Update dependencies --- comty.js | 2 +- packages/app/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/comty.js b/comty.js index fe5cb1a9..7c11af26 160000 --- a/comty.js +++ b/comty.js @@ -1 +1 @@ -Subproject commit fe5cb1a9a275444abd7307bbd8a4e7c68221369b +Subproject commit 7c11af2643de00423a6ac680bba235c3352620a0 diff --git a/packages/app/package.json b/packages/app/package.json index 6ad6d9a2..b248de65 100755 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -34,7 +34,7 @@ "axios": "^1.7.7", "bear-react-carousel": "^4.0.10-alpha.0", "classnames": "2.3.1", - "comty.js": "^0.66.0", + "comty.js": "^0.66.1", "d3": "^7.9.0", "dashjs": "^5.0.0", "dompurify": "^3.0.0", From 38e6b2f7efcbf779dd2c85bba508904678110023 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Thu, 15 May 2025 14:13:38 +0000 Subject: [PATCH 6/6] bump versions --- packages/app/package.json | 2 +- packages/server/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/app/package.json b/packages/app/package.json index b248de65..3813b2ee 100755 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "@comty/app", - "version": "1.42.0@alpha", + "version": "1.42.1@alpha", "license": "ComtyLicense", "main": "electron/main", "type": "module", diff --git a/packages/server/package.json b/packages/server/package.json index 190de546..edda7d07 100755 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@comty/server", - "version": "1.40.1@alpha", + "version": "1.42.1@alpha", "license": "ComtyLicense", "private": true, "workspaces": [