From 806c19ccd43a36d9cda8e333a36a7761ed9ae45e Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 22 Sep 2023 15:59:28 +0800 Subject: [PATCH 1/6] Make a test page for debuging the PWA share extension --- packages/web/pages/debug.tsx | 4 -- packages/web/pages/debug/pwa-share.tsx | 51 ++++++++++++++++++++++++++ packages/web/public/sw.js | 2 + 3 files changed, 53 insertions(+), 4 deletions(-) delete mode 100644 packages/web/pages/debug.tsx create mode 100644 packages/web/pages/debug/pwa-share.tsx diff --git a/packages/web/pages/debug.tsx b/packages/web/pages/debug.tsx deleted file mode 100644 index a6edec939..000000000 --- a/packages/web/pages/debug.tsx +++ /dev/null @@ -1,4 +0,0 @@ -// TODO: implement page -export default function DebugPage(): JSX.Element { - return

unimplemented

-} diff --git a/packages/web/pages/debug/pwa-share.tsx b/packages/web/pages/debug/pwa-share.tsx new file mode 100644 index 000000000..ed8c8bc74 --- /dev/null +++ b/packages/web/pages/debug/pwa-share.tsx @@ -0,0 +1,51 @@ +import { Button } from '../../components/elements/Button' +import { + BorderedFormInput, + FormLabel, +} from '../../components/elements/FormElements' +import { SpanBox, VStack } from '../../components/elements/LayoutPrimitives' +import { StyledText } from '../../components/elements/StyledText' +import { webBaseURL } from '../../lib/appConfig' + +export default function DebugShareTarget(): JSX.Element { + return ( +
+ + + Debug the share-target PWA feature + + + + URL + + + + + + +
+ ) +} diff --git a/packages/web/public/sw.js b/packages/web/public/sw.js index 8e195e663..53f4dbd56 100644 --- a/packages/web/public/sw.js +++ b/packages/web/public/sw.js @@ -132,6 +132,7 @@ function handleFetchRequest(ev) { const request = ev.request + console.log('requestUrl.pathname: ', requestUrl.pathname) if (request.method === 'POST') { const requestUrl = new URL(request.url) @@ -180,6 +181,7 @@ }) globalApi.addEventListener('fetch', (ev) => { + console.log('handling fetch request for: ', ev) if (ev.request.destination === 'script') { return } From f59b6cd370ff7095459269b3eaba1d2737af1442 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 22 Sep 2023 16:54:30 +0800 Subject: [PATCH 2/6] Fix debug line --- packages/web/public/sw.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web/public/sw.js b/packages/web/public/sw.js index 53f4dbd56..469e77d91 100644 --- a/packages/web/public/sw.js +++ b/packages/web/public/sw.js @@ -132,7 +132,7 @@ function handleFetchRequest(ev) { const request = ev.request - console.log('requestUrl.pathname: ', requestUrl.pathname) + console.log('requestUrl.pathname: ', request) if (request.method === 'POST') { const requestUrl = new URL(request.url) From cfe5dc94e60b4f2eaa81f51048e3423928936bc0 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 22 Sep 2023 17:09:22 +0800 Subject: [PATCH 3/6] Early return from share-target --- .../_lightGray.colorset/Contents.json | 12 ++++++------ packages/web/public/sw.js | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apple/OmnivoreKit/Sources/Views/Colors/ThemeColors.xcassets/_lightGray.colorset/Contents.json b/apple/OmnivoreKit/Sources/Views/Colors/ThemeColors.xcassets/_lightGray.colorset/Contents.json index dea01a6a2..cf4b210e9 100644 --- a/apple/OmnivoreKit/Sources/Views/Colors/ThemeColors.xcassets/_lightGray.colorset/Contents.json +++ b/apple/OmnivoreKit/Sources/Views/Colors/ThemeColors.xcassets/_lightGray.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x68", - "green" : "0x69", - "red" : "0x69" + "blue" : "0x89", + "green" : "0x89", + "red" : "0x89" } }, "idiom" : "universal" @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x68", - "green" : "0x69", - "red" : "0x69" + "blue" : "0x89", + "green" : "0x89", + "red" : "0x89" } }, "idiom" : "universal" diff --git a/packages/web/public/sw.js b/packages/web/public/sw.js index 469e77d91..d01900d77 100644 --- a/packages/web/public/sw.js +++ b/packages/web/public/sw.js @@ -138,7 +138,7 @@ const requestUrl = new URL(request.url) if (requestUrl.pathname === '/share-target') { const shareRequest = handleShareTarget(request) - ev.respondWith(shareRequest) + return shareRequest } } From eeb30c9ff0ca7e7feca4f7b480d6e51d13b8122d Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 22 Sep 2023 17:20:30 +0800 Subject: [PATCH 4/6] Remove debug lines --- packages/web/public/sw.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/web/public/sw.js b/packages/web/public/sw.js index d01900d77..3a0da4f42 100644 --- a/packages/web/public/sw.js +++ b/packages/web/public/sw.js @@ -132,8 +132,6 @@ function handleFetchRequest(ev) { const request = ev.request - console.log('requestUrl.pathname: ', request) - if (request.method === 'POST') { const requestUrl = new URL(request.url) if (requestUrl.pathname === '/share-target') { @@ -181,7 +179,6 @@ }) globalApi.addEventListener('fetch', (ev) => { - console.log('handling fetch request for: ', ev) if (ev.request.destination === 'script') { return } From c5359c930bef490bdac3068e6d4489b4c3fdc570 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 22 Sep 2023 17:25:47 +0800 Subject: [PATCH 5/6] Use original url for article redirect after saving --- packages/web/public/sw.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/web/public/sw.js b/packages/web/public/sw.js index 3a0da4f42..13e50a124 100644 --- a/packages/web/public/sw.js +++ b/packages/web/public/sw.js @@ -99,7 +99,6 @@ .then(function (response) { if (response.status === 200) { return response.json().then((responseJson) => { - const url = encodeURIComponent(responseJson.url) return currentOrigin + '/article?url=' + url }) } From 21244a394da8b9c75c771d9bfaf9b1838cda6919 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 22 Sep 2023 17:56:25 +0800 Subject: [PATCH 6/6] Move debug directory to not interfere with usernames --- packages/api/src/utils/usernamePolicy.ts | 1 + packages/web/pages/{debug => _debug}/pwa-share.tsx | 0 2 files changed, 1 insertion(+) rename packages/web/pages/{debug => _debug}/pwa-share.tsx (100%) diff --git a/packages/api/src/utils/usernamePolicy.ts b/packages/api/src/utils/usernamePolicy.ts index 066a5849b..d350ef534 100644 --- a/packages/api/src/utils/usernamePolicy.ts +++ b/packages/api/src/utils/usernamePolicy.ts @@ -42,6 +42,7 @@ const RESERVED_NAMES = new Set([ 'contact', 'create', 'delete', + '_debug', 'discover', 'direct_messages', 'documentation', diff --git a/packages/web/pages/debug/pwa-share.tsx b/packages/web/pages/_debug/pwa-share.tsx similarity index 100% rename from packages/web/pages/debug/pwa-share.tsx rename to packages/web/pages/_debug/pwa-share.tsx