logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://anongit.hacktivis.me/git/pleroma-fe.git/
commit: 9187c1d31c951c07319d563ac3532d9e6816a598
parent f659c9c123622a5206f17f6f17711f0572fc2119
Author: Henry Jameson <me@hjkos.com>
Date:   Wed,  5 Feb 2025 08:07:24 +0200

don't compress theme cache as it takes ~1secon on mobile

Diffstat:

Msrc/services/style_setter/style_setter.js38+++++++++++++++++---------------------
1 file changed, 17 insertions(+), 21 deletions(-)

diff --git a/src/services/style_setter/style_setter.js b/src/services/style_setter/style_setter.js @@ -93,31 +93,27 @@ export const generateTheme = (inputRuleset, callbacks, debug) => { export const tryLoadCache = async () => { console.info('Trying to load compiled theme data from cache') - const data = await localforage.getItem('pleromafe-theme-cache') - if (!data) return null - let cache + const cache = await localforage.getItem('pleromafe-theme-cache') + if (!cache) return null try { - const inflated = pako.inflate(data) - const decoded = new TextDecoder().decode(inflated) - cache = JSON.parse(decoded) - console.info(`Loaded theme from cache, compressed=${Math.ceil(data.length / 1024)}kiB size=${Math.ceil(inflated.length / 1024)}kiB`) - } catch (e) { - console.error('Failed to decode theme cache:', e) - return false - } - if (cache.engineChecksum === getEngineChecksum()) { - const eagerStyles = createStyleSheet(EAGER_STYLE_ID) - const lazyStyles = createStyleSheet(LAZY_STYLE_ID) + if (cache.engineChecksum === getEngineChecksum()) { + const eagerStyles = createStyleSheet(EAGER_STYLE_ID) + const lazyStyles = createStyleSheet(LAZY_STYLE_ID) - cache.data[0].forEach(rule => eagerStyles.sheet.insertRule(rule, 'index-max')) - cache.data[1].forEach(rule => lazyStyles.sheet.insertRule(rule, 'index-max')) + cache.data[0].forEach(rule => eagerStyles.sheet.insertRule(rule, 'index-max')) + cache.data[1].forEach(rule => lazyStyles.sheet.insertRule(rule, 'index-max')) - adoptStyleSheets([eagerStyles, lazyStyles]) + adoptStyleSheets([eagerStyles, lazyStyles]) - return true - } else { - console.warn('Engine checksum doesn\'t match, cache not usable, clearing') - localStorage.removeItem('pleroma-fe-theme-cache') + console.info(`Loaded theme from cache`) + return true + } else { + console.warn('Engine checksum doesn\'t match, cache not usable, clearing') + localStorage.removeItem('pleroma-fe-theme-cache') + } + } catch (e) { + console.error('Failed to load theme cache:', e) + return false } }