From a7e92addb0bd4a3a3b583f43d640dfa6e5aeb1ac Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Tue, 18 Oct 2022 12:04:22 +0800 Subject: [PATCH] Create 128 * 128 proxy image for the site icon --- packages/api/src/resolvers/article/index.ts | 7 ++++++- packages/api/src/resolvers/subscriptions/index.ts | 2 +- packages/api/src/utils/parser.ts | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/api/src/resolvers/article/index.ts b/packages/api/src/resolvers/article/index.ts index 1414ca56e..5b55a6d19 100644 --- a/packages/api/src/resolvers/article/index.ts +++ b/packages/api/src/resolvers/article/index.ts @@ -54,6 +54,7 @@ import { ContentParseError } from '../../utils/errors' import { authorized, generateSlug, + isBase64Image, isParsingTimeout, pageError, stringToHash, @@ -889,6 +890,10 @@ export const searchResolver = authorized< } const edges = results.map((r) => { + let siteIcon = r.siteIcon + if (siteIcon && !isBase64Image(siteIcon)) { + siteIcon = createImageProxyUrl(siteIcon, 128, 128) + } return { node: { ...r, @@ -900,7 +905,7 @@ export const searchResolver = authorized< publishedAt: validatedDate(r.publishedAt), ownedByViewer: r.userId === claims.uid, pageType: r.pageType || PageType.Highlights, - siteIcon: r.siteIcon && createImageProxyUrl(r.siteIcon, 32, 32), + siteIcon, } as SearchItem, cursor: endCursor, } diff --git a/packages/api/src/resolvers/subscriptions/index.ts b/packages/api/src/resolvers/subscriptions/index.ts index eb416b868..66ef3b2f4 100644 --- a/packages/api/src/resolvers/subscriptions/index.ts +++ b/packages/api/src/resolvers/subscriptions/index.ts @@ -60,7 +60,7 @@ export const subscriptionsResolver = authorized< return { subscriptions: subscriptions.map((s) => ({ ...s, - icon: s.icon && createImageProxyUrl(s.icon, 32, 32), + icon: s.icon && createImageProxyUrl(s.icon, 128, 128), })), } } catch (error) { diff --git a/packages/api/src/utils/parser.ts b/packages/api/src/utils/parser.ts index eee86b417..291fa5d4f 100644 --- a/packages/api/src/utils/parser.ts +++ b/packages/api/src/utils/parser.ts @@ -442,7 +442,7 @@ export const fetchFavicon = async ( const response = await axios.head(url, { timeout: 5000 }) const realUrl = response.request.res.responseUrl const domain = new URL(realUrl).hostname - return `https://api.faviconkit.com/${domain}/32` + return `https://api.faviconkit.com/${domain}/128` } catch (e) { console.log('Error fetching favicon', e) return undefined