Merge pull request #2307 from nextcloud/fix/bookmark-previewer-cache-only

fix BookmarkPreviewer to not store null values in cache overzealously
This commit is contained in:
Marcel Klehr
2025-07-12 09:56:19 +02:00
committed by GitHub
2 changed files with 5 additions and 3 deletions

View File

@ -78,9 +78,9 @@ class AdminController extends Controller {
if (!isset($this->previewers[$previewer])) {
return new JSONResponse([], Http::STATUS_BAD_REQUEST);
}
$previewer = $this->previewers[$previewer];
$previewerImp = $this->previewers[$previewer];
$test = new Bookmark();
$test->setUrl('https://nextcloud.com/');
return new Http\DataDisplayResponse($previewer->getImage($test)?->getData() ?? '');
return new Http\DataDisplayResponse($previewerImp->getImage($test)?->getData() ?? '');
}
}

View File

@ -88,12 +88,14 @@ class BookmarkPreviewer implements IBookmarkPreviewer {
} catch (NotFoundException $e) {
} catch (NotPermittedException $e) {
}
if ($cacheOnly) {
continue;
}
$image = $previewer->getImage($bookmark, $cacheOnly);
if (isset($image)) {
$this->cache->set($key, $image->serialize(), self::CACHE_TTL);
return $image;
}
$this->cache->set($key, 'null', self::CACHE_TTL);
}