From f6d4e4fbedb2fa7cd24eaf7efe9e2ed7ce8e2452 Mon Sep 17 00:00:00 2001 From: David Renshaw Date: Fri, 18 Nov 2016 11:20:14 -0500 Subject: [PATCH] serve theme.css through WebApp.rawConnectHandlers --- packages/rocketchat-theme/server/server.coffee | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/rocketchat-theme/server/server.coffee b/packages/rocketchat-theme/server/server.coffee index 73b334ec3fe..d493a7ac9fe 100644 --- a/packages/rocketchat-theme/server/server.coffee +++ b/packages/rocketchat-theme/server/server.coffee @@ -8,17 +8,23 @@ logger = new Logger 'rocketchat:theme', type: 'info' +WebApp.rawConnectHandlers.use (req, res, next) -> + path = req.url.split("?")[0]; + if (path == '/__cordova/theme.css' || path == '/theme.css') + css = RocketChat.theme.getCss() + hash = crypto.createHash('sha1').update(css).digest('hex') + res.setHeader('Content-Type', 'text/css; charset=UTF-8') + res.setHeader('ETag', '"' + hash + '"') + res.write(css) + res.end(); + else + next() + calculateClientHash = WebAppHashing.calculateClientHash WebAppHashing.calculateClientHash = (manifest, includeFilter, runtimeConfigOverride) -> css = RocketChat.theme.getCss() if css.trim() isnt '' - WebAppInternals.staticFiles['/__cordova/theme.css'] = WebAppInternals.staticFiles['/theme.css'] = - cacheable: true - sourceMapUrl: undefined - type: 'css' - content: css - hash = crypto.createHash('sha1').update(css).digest('hex') themeManifestItem = _.find manifest, (item) -> return item.path is 'app/theme.css'