fix(IBookmarkPreviewer): No more on-demand loading

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
This commit is contained in:
Marcel Klehr 2024-02-04 15:20:40 +01:00
parent 0b3c5e039d
commit 847ac04d73
10 changed files with 21 additions and 17 deletions

View File

@ -14,5 +14,5 @@ interface IBookmarkPreviewer {
* @param Bookmark $bookmark * @param Bookmark $bookmark
* @return IImage|null * @return IImage|null
*/ */
public function getImage($bookmark): ?IImage; public function getImage($bookmark, $cacheOnly = false): ?IImage;
} }

View File

@ -71,7 +71,7 @@ class BookmarkPreviewer implements IBookmarkPreviewer {
* @param Bookmark $bookmark * @param Bookmark $bookmark
* @return IImage * @return IImage
*/ */
public function getImage($bookmark): ?IImage { public function getImage($bookmark, $cacheOnly = false): ?IImage {
if ($this->enabled === 'false') { if ($this->enabled === 'false') {
return null; return null;
} }
@ -98,7 +98,7 @@ class BookmarkPreviewer implements IBookmarkPreviewer {
} catch (NotFoundException $e) { } catch (NotFoundException $e) {
} catch (NotPermittedException $e) { } catch (NotPermittedException $e) {
} }
$image = $previewer->getImage($bookmark); $image = $previewer->getImage($bookmark, $cacheOnly);
if (isset($image)) { if (isset($image)) {
$this->cache->set($key, $image->serialize(), self::CACHE_TTL); $this->cache->set($key, $image->serialize(), self::CACHE_TTL);
return $image; return $image;

View File

@ -480,7 +480,7 @@ class BookmarkService {
* @var $bookmark Bookmark * @var $bookmark Bookmark
*/ */
$bookmark = $this->bookmarkMapper->find($id); $bookmark = $this->bookmarkMapper->find($id);
return $this->bookmarkPreviewer->getImage($bookmark); return $this->bookmarkPreviewer->getImage($bookmark, true);
} }
/** /**
@ -494,7 +494,7 @@ class BookmarkService {
* @var $bookmark Bookmark * @var $bookmark Bookmark
*/ */
$bookmark = $this->bookmarkMapper->find($id); $bookmark = $this->bookmarkMapper->find($id);
return $this->faviconPreviewer->getImage($bookmark); return $this->faviconPreviewer->getImage($bookmark, true);
} }
/** /**

View File

@ -65,7 +65,7 @@ class FaviconPreviewer implements IBookmarkPreviewer {
* *
* @return Image|null * @return Image|null
*/ */
public function getImage($bookmark): ?IImage { public function getImage($bookmark, $cacheOnly = false): ?IImage {
if ($this->enabled === 'false') { if ($this->enabled === 'false') {
return null; return null;
} }
@ -88,6 +88,10 @@ class FaviconPreviewer implements IBookmarkPreviewer {
} catch (NotPermittedException $e) { } catch (NotPermittedException $e) {
} }
if ($cacheOnly) {
return null;
}
$url = $bookmark->getUrl(); $url = $bookmark->getUrl();
$site = $this->scrapeUrl($url); $site = $this->scrapeUrl($url);

View File

@ -46,8 +46,8 @@ class DefaultBookmarkPreviewer implements IBookmarkPreviewer {
* *
* @return Image|null * @return Image|null
*/ */
public function getImage($bookmark): ?IImage { public function getImage($bookmark, $cacheOnly = false): ?IImage {
if (!isset($bookmark)) { if (!isset($bookmark) || $cacheOnly) {
return null; return null;
} }
$site = $this->scrapeUrl($bookmark->getUrl()); $site = $this->scrapeUrl($bookmark->getUrl());

View File

@ -43,13 +43,13 @@ class PageresBookmarkPreviewer implements IBookmarkPreviewer {
* *
* @return Image|null * @return Image|null
*/ */
public function getImage($bookmark): ?IImage { public function getImage($bookmark, $cacheOnly = false): ?IImage {
if (!isset($bookmark)) { if (!isset($bookmark)) {
return null; return null;
} }
$serverPath = self::getPageresPath(); $serverPath = self::getPageresPath();
if ($serverPath === null) { if ($serverPath === null || $cacheOnly) {
return null; return null;
} }

View File

@ -63,11 +63,11 @@ class ScreeenlyBookmarkPreviewer implements IBookmarkPreviewer {
* *
* @return Image|null * @return Image|null
*/ */
public function getImage($bookmark): ?IImage { public function getImage($bookmark, $cacheOnly = false): ?IImage {
if (!isset($bookmark)) { if (!isset($bookmark)) {
return null; return null;
} }
if ($this->apiKey === '') { if ($this->apiKey === '' || $cacheOnly) {
return null; return null;
} }
$url = $bookmark->getUrl(); $url = $bookmark->getUrl();

View File

@ -57,8 +57,8 @@ class ScreenshotMachineBookmarkPreviewer implements IBookmarkPreviewer {
* *
* @return Image|null * @return Image|null
*/ */
public function getImage($bookmark): ?IImage { public function getImage($bookmark, $cacheOnly = false): ?IImage {
if (!isset($bookmark)) { if (!isset($bookmark) || $cacheOnly) {
return null; return null;
} }
if ($this->apiKey === '') { if ($this->apiKey === '') {

View File

@ -66,8 +66,8 @@ class WebshotBookmarkPreviewer implements IBookmarkPreviewer {
* *
* @return Image|null * @return Image|null
*/ */
public function getImage($bookmark): ?IImage { public function getImage($bookmark, $cacheOnly = false): ?IImage {
if (!isset($bookmark)) { if (!isset($bookmark) || $cacheOnly) {
return null; return null;
} }
if ($this->apiUrl === '') { if ($this->apiUrl === '') {

View File

@ -158,7 +158,7 @@ export default {
} }
return results return results
} }
return this.$store.getters.getFolder(this.$store.state.fetchState.query.folder)[0].children.flatMap(searchFolder) return this.$store.getters.getFolder(this.$store.state.fetchState.query.folder || -1)[0].children.flatMap(searchFolder)
} }
if (this.$route.name !== this.routes.HOME && this.$route.name !== this.routes.FOLDER) { if (this.$route.name !== this.routes.HOME && this.$route.name !== this.routes.FOLDER) {
return [] return []