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:
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
}
}