From b102e35465eadc3716a1b411cfa68e1484679565 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 11 May 2022 22:25:38 +0800 Subject: [PATCH 1/8] Remove www. from the siteName --- .../web/components/patterns/LibraryCards/LinkedItemCard.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx b/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx index 0b201184d..37acec257 100644 --- a/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx +++ b/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx @@ -6,10 +6,10 @@ import { PageType } from '../../../lib/networking/fragments/articleFragment' const siteName = (originalArticleUrl: string, itemUrl: string): string => { try { - return new URL(originalArticleUrl).hostname + return new URL(originalArticleUrl).hostname.replace(/^www\./, '') } catch {} try { - return new URL(itemUrl).hostname + return new URL(itemUrl).hostname.replace(/^www\./, '') } catch {} return '' } From 37ce895d013609b61b785e065896b321ffdfc9d1 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 11 May 2022 23:07:13 +0800 Subject: [PATCH 2/8] Revert change in web --- .../web/components/patterns/LibraryCards/LinkedItemCard.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx b/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx index 37acec257..0b201184d 100644 --- a/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx +++ b/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx @@ -6,10 +6,10 @@ import { PageType } from '../../../lib/networking/fragments/articleFragment' const siteName = (originalArticleUrl: string, itemUrl: string): string => { try { - return new URL(originalArticleUrl).hostname.replace(/^www\./, '') + return new URL(originalArticleUrl).hostname } catch {} try { - return new URL(itemUrl).hostname.replace(/^www\./, '') + return new URL(itemUrl).hostname } catch {} return '' } From 76aef35423d1911f88478eea8605ae374879c335 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 11 May 2022 23:07:34 +0800 Subject: [PATCH 3/8] Remove www. from the siteName in the search api response --- packages/api/src/resolvers/article/index.ts | 3 ++- packages/api/src/utils/helpers.ts | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/api/src/resolvers/article/index.ts b/packages/api/src/resolvers/article/index.ts index 7494c32ab..f61336a48 100644 --- a/packages/api/src/resolvers/article/index.ts +++ b/packages/api/src/resolvers/article/index.ts @@ -45,6 +45,7 @@ import { import { ContentParseError } from '../../utils/errors' import { authorized, + cleanDomainInUrl, generateSlug, isParsingTimeout, pageError, @@ -877,7 +878,7 @@ export const searchResolver = authorized< isArchived: !!r.archivedAt, contentReader: r.pageType === PageType.File ? ContentReader.Pdf : ContentReader.Web, - originalArticleUrl: r.url, + originalArticleUrl: cleanDomainInUrl(r.url), publishedAt: validatedDate(r.publishedAt), ownedByViewer: r.userId === claims.uid, pageType: r.pageType || PageType.Highlights, diff --git a/packages/api/src/utils/helpers.ts b/packages/api/src/utils/helpers.ts index 73c0abdc9..65c2af30e 100644 --- a/packages/api/src/utils/helpers.ts +++ b/packages/api/src/utils/helpers.ts @@ -230,3 +230,7 @@ export const validatedDate = ( return undefined } } + +export const cleanDomainInUrl = (url: string): string => { + return url.replace(/^((https?:\/\/)?)(www.)/, (match, p1: string) => p1) +} From 8f75c43658d9046ee83e9bba34d93d2c22bdd083 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 12 May 2022 10:30:47 +0800 Subject: [PATCH 4/8] Add siteName in search result --- packages/api/src/generated/graphql.ts | 2 ++ packages/api/src/generated/schema.graphql | 1 + packages/api/src/schema.ts | 1 + 3 files changed, 4 insertions(+) diff --git a/packages/api/src/generated/graphql.ts b/packages/api/src/generated/graphql.ts index e70bf2dd9..031652ed1 100644 --- a/packages/api/src/generated/graphql.ts +++ b/packages/api/src/generated/graphql.ts @@ -1384,6 +1384,7 @@ export type SearchItem = { readingProgressAnchorIndex?: Maybe; readingProgressPercent?: Maybe; shortId?: Maybe; + siteName?: Maybe; slug: Scalars['String']; state?: Maybe; subscription?: Maybe; @@ -3384,6 +3385,7 @@ export type SearchItemResolvers, ParentType, ContextType>; readingProgressPercent?: Resolver, ParentType, ContextType>; shortId?: Resolver, ParentType, ContextType>; + siteName?: Resolver, ParentType, ContextType>; slug?: Resolver; state?: Resolver, ParentType, ContextType>; subscription?: Resolver, ParentType, ContextType>; diff --git a/packages/api/src/generated/schema.graphql b/packages/api/src/generated/schema.graphql index f6dfe4e86..679b986f9 100644 --- a/packages/api/src/generated/schema.graphql +++ b/packages/api/src/generated/schema.graphql @@ -991,6 +991,7 @@ type SearchItem { readingProgressAnchorIndex: Int readingProgressPercent: Float shortId: String + siteName: String slug: String! state: ArticleSavingRequestStatus subscription: String diff --git a/packages/api/src/schema.ts b/packages/api/src/schema.ts index 836606f1b..e6e62eb21 100755 --- a/packages/api/src/schema.ts +++ b/packages/api/src/schema.ts @@ -1438,6 +1438,7 @@ const schema = gql` unsubMailTo: String unsubHttpUrl: String state: ArticleSavingRequestStatus + siteName: String } type SearchItemEdge { From 2aadd6d200b384f995708b9dae8abcb0047bd7bd Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 12 May 2022 10:31:14 +0800 Subject: [PATCH 5/8] Add siteName in search result web --- packages/web/lib/networking/queries/useGetLibraryItemsQuery.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/web/lib/networking/queries/useGetLibraryItemsQuery.tsx b/packages/web/lib/networking/queries/useGetLibraryItemsQuery.tsx index 9d016290a..89f45aa79 100644 --- a/packages/web/lib/networking/queries/useGetLibraryItemsQuery.tsx +++ b/packages/web/lib/networking/queries/useGetLibraryItemsQuery.tsx @@ -75,6 +75,7 @@ export type LibraryItemNode = { annotation: string state: State pageType: PageType + siteName?: string } export type PageInfo = { @@ -125,6 +126,7 @@ export function useGetLibraryItemsQuery({ quote annotation state + siteName } } pageInfo { From b4ec812f41738ad1249a009aa72cc3172e54bbd8 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 12 May 2022 10:32:10 +0800 Subject: [PATCH 6/8] Use siteName in search result in web --- .../web/components/patterns/LibraryCards/LinkedItemCard.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx b/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx index 0b201184d..6bcc2ab27 100644 --- a/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx +++ b/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx @@ -15,7 +15,9 @@ const siteName = (originalArticleUrl: string, itemUrl: string): string => { } export function LinkedItemCard(props: LinkedItemCardProps): JSX.Element { - const originText = siteName(props.item.originalArticleUrl, props.item.url) + const originText = + props.item.siteName || + siteName(props.item.originalArticleUrl, props.item.url) if (props.item.pageType === PageType.HIGHLIGHTS) { return From 412d7cebc65d65968bdeb3f04e639ec1a3ff4c31 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 12 May 2022 10:32:35 +0800 Subject: [PATCH 7/8] Remove www in the hostname if exists --- .../web/components/patterns/LibraryCards/LinkedItemCard.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx b/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx index 6bcc2ab27..a163e4f98 100644 --- a/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx +++ b/packages/web/components/patterns/LibraryCards/LinkedItemCard.tsx @@ -6,10 +6,10 @@ import { PageType } from '../../../lib/networking/fragments/articleFragment' const siteName = (originalArticleUrl: string, itemUrl: string): string => { try { - return new URL(originalArticleUrl).hostname + return new URL(originalArticleUrl).hostname.replace(/^www\./, '') } catch {} try { - return new URL(itemUrl).hostname + return new URL(itemUrl).hostname.replace(/^www\./, '') } catch {} return '' } From 5dca02873d8a3f8d3fe30cbd052d7609b36ec6dc Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 12 May 2022 10:45:13 +0800 Subject: [PATCH 8/8] Revert originalArticleUrl change --- packages/api/src/resolvers/article/index.ts | 3 +-- packages/api/src/utils/helpers.ts | 4 ---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/api/src/resolvers/article/index.ts b/packages/api/src/resolvers/article/index.ts index f61336a48..7494c32ab 100644 --- a/packages/api/src/resolvers/article/index.ts +++ b/packages/api/src/resolvers/article/index.ts @@ -45,7 +45,6 @@ import { import { ContentParseError } from '../../utils/errors' import { authorized, - cleanDomainInUrl, generateSlug, isParsingTimeout, pageError, @@ -878,7 +877,7 @@ export const searchResolver = authorized< isArchived: !!r.archivedAt, contentReader: r.pageType === PageType.File ? ContentReader.Pdf : ContentReader.Web, - originalArticleUrl: cleanDomainInUrl(r.url), + originalArticleUrl: r.url, publishedAt: validatedDate(r.publishedAt), ownedByViewer: r.userId === claims.uid, pageType: r.pageType || PageType.Highlights, diff --git a/packages/api/src/utils/helpers.ts b/packages/api/src/utils/helpers.ts index 65c2af30e..73c0abdc9 100644 --- a/packages/api/src/utils/helpers.ts +++ b/packages/api/src/utils/helpers.ts @@ -230,7 +230,3 @@ export const validatedDate = ( return undefined } } - -export const cleanDomainInUrl = (url: string): string => { - return url.replace(/^((https?:\/\/)?)(www.)/, (match, p1: string) => p1) -}