]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Fix #5744: Missing plugins-global.css + missing async (#5746)
authorJohn Livingston <38844060+JohnXLivingston@users.noreply.github.com>
Wed, 10 May 2023 07:54:44 +0000 (09:54 +0200)
committerGitHub <noreply@github.com>
Wed, 10 May 2023 07:54:44 +0000 (09:54 +0200)
* Fix #5744: Missing plugins-global.css + missing async

* Modifications required by Chocobozzz.

* Styling

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
server/lib/client-html.ts

index 8530cbcc288b06b95dde9c3ea6c9ed05f6a9f23a..058f29f03f1c8c4f2a81ac8cc31dcfa7bb477a69 100644 (file)
@@ -1,5 +1,5 @@
 import express from 'express'
-import { readFile } from 'fs-extra'
+import { pathExists, readFile } from 'fs-extra'
 import { join } from 'path'
 import validator from 'validator'
 import { isTestOrDevInstance } from '@server/helpers/core-utils'
@@ -408,7 +408,20 @@ class ClientHtml {
   }
 
   private static async addAsyncPluginCSS (htmlStringPage: string) {
-    const globalCSSContent = await readFile(PLUGIN_GLOBAL_CSS_PATH)
+    if (!pathExists(PLUGIN_GLOBAL_CSS_PATH)) {
+      logger.info('Plugin Global CSS file is not available (generation may still be in progress), ignoring it.')
+      return htmlStringPage
+    }
+
+    let globalCSSContent: Buffer
+
+    try {
+      globalCSSContent = await readFile(PLUGIN_GLOBAL_CSS_PATH)
+    } catch (err) {
+      logger.error('Error retrieving the Plugin Global CSS file, ignoring it.', { err })
+      return htmlStringPage
+    }
+
     if (globalCSSContent.byteLength === 0) return htmlStringPage
 
     const fileHash = sha256(globalCSSContent)