Merge pull request #36762 from nextcloud/bugfix/noid/scss-reset

Avoid scss cacher reset on empty variables
This commit is contained in:
Julius Härtl 2023-02-27 09:59:04 +01:00 committed by GitHub
commit 3a06d335f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View file

@ -272,6 +272,13 @@ class SCSSCacher {
private function variablesChanged(): bool {
$cachedVariables = $this->config->getAppValue('core', 'theming.variables', '');
$injectedVariables = $this->getInjectedVariables($cachedVariables);
if (empty($injectedVariables)) {
// There might be cases where the no variables could be fetched
// Stay with the old ones in that case ot avoid cache reset that is not needed
return false;
}
if ($cachedVariables !== md5($injectedVariables)) {
$this->logger->debug('SCSSCacher::variablesChanged storedVariables: ' . json_encode($this->config->getAppValue('core', 'theming.variables')) . ' currentInjectedVariables: ' . json_encode($injectedVariables), ['app' => 'scss_cacher']);
$this->config->setAppValue('core', 'theming.variables', md5($injectedVariables));

View file

@ -101,7 +101,7 @@ class SCSSCacherTest extends \Test\TestCase {
);
$this->themingDefaults = $this->createMock(ThemingDefaults::class);
$this->themingDefaults->expects($this->any())->method('getScssVariables')->willReturn([]);
$this->themingDefaults->expects($this->any())->method('getScssVariables')->willReturn(['color-primary' => '#745bca']);
$iconsFile = $this->createMock(ISimpleFile::class);
$this->iconsCacher->expects($this->any())