-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pwa deployment in cloudflare #108
Draft
knownotunknown
wants to merge
34
commits into
commaai:master
Choose a base branch
from
knownotunknown:PWA-deployment-in-cloudflare
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
34 commits
Select commit
Hold shift + click to select a range
bc4fc7d
feat: migrated js/html code for PWA feat. Not including assets/bundling
knownotunknown e1928fd
Revert "feat: migrated js/html code for PWA feat. Not including asset…
knownotunknown c423fb0
Reapply "feat: migrated js/html code for PWA feat. Not including asse…
knownotunknown 8250907
Update register-service-worker.ts
knownotunknown a9fac0c
Update register-service-worker.ts
knownotunknown 236d727
test: further narrowing down point of failure
knownotunknown 1ea3a9b
Update service-worker.js
knownotunknown 94a7244
feat: added caching
knownotunknown fea3b99
Update service-worker.js
knownotunknown d127624
Update service-worker.js
knownotunknown c6cf74c
feat: added assets
knownotunknown 9029d25
feat: generated assets
knownotunknown 44d98ba
Update bun.lockb
knownotunknown 2521e6f
fix: properly referencing pwa assets path
knownotunknown f014d3d
fix: added bun.lockb
knownotunknown fc5f7a5
Update service-worker.js
knownotunknown 8f57fb7
Update service-worker.js
knownotunknown ae9d7e4
Update preview.yaml
knownotunknown ff02d79
Revert "Update preview.yaml"
knownotunknown 8632975
Update service-worker.js
knownotunknown 8e9c564
Update service-worker.js
knownotunknown afc881d
test: checking for preview deployment errors
knownotunknown c0b1a5d
Update preview.yaml
knownotunknown 772147c
Update preview.yaml
knownotunknown 93ee4a7
Update service-worker.js
knownotunknown c5f122a
feat: should handle redirects better now
knownotunknown c83c694
Update build.yaml
knownotunknown c5c6899
Create lighthouserc.json
knownotunknown ce40f13
refactor: cleaned up cruft
knownotunknown e3382a8
style: added line breaks back
knownotunknown cdfe390
refactor: removing possibly extraneous code
knownotunknown 7c36616
Update lighthouserc.json
knownotunknown 9a87c35
Update vite.config.ts
knownotunknown 33f07f6
Update vite.config.ts
knownotunknown File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,58 @@ | ||
<!doctype html> | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="utf-8" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" /> | ||
<meta name="theme-color" content="#1B1B1F" /> | ||
<meta name="description" content="manage your openpilot experience" /> | ||
<title>connect</title> | ||
|
||
<link rel="manifest" href="/manifest.json" /> | ||
<link | ||
href="/images/favicon-16x16.png" | ||
rel="icon" | ||
type="image/png" | ||
sizes="16x16" | ||
/> | ||
<link | ||
href="/images/favicon-32x32.png" | ||
rel="icon" | ||
type="image/png" | ||
sizes="32x32" | ||
/> | ||
<link | ||
rel="stylesheet" | ||
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,[email protected],400,0..1,0&display=block" | ||
/> | ||
<link | ||
rel="stylesheet" | ||
href="https://fonts.googleapis.com/css2?family=Inter:[email protected]&family=JetBrains+Mono:wght@400;500&display=swap" | ||
/> | ||
<link rel="manifest" href="/manifest.json"> | ||
<link href="/images/favicon-16x16.png" rel="icon" type="image/png" sizes="16x16"> | ||
<link href="/images/favicon-32x32.png" rel="icon" type="image/png" sizes="32x32"> | ||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,[email protected],400,0..1,0&display=block"> | ||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:[email protected]&family=JetBrains+Mono:wght@400;500&display=swap"> | ||
<!-- DON'T CHANGE MANUALLY. The below are auto-generated PWA assets (scripts defined in package.json). --> | ||
<meta name="mobile-web-app-capable" content="yes"> | ||
<link rel="apple-touch-icon" href="pwa-assets/apple-icon-180.png"> | ||
<meta name="apple-mobile-web-app-capable" content="yes"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2048-2732.jpg" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2732-2048.jpg" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1668-2388.jpg" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2388-1668.jpg" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1536-2048.jpg" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2048-1536.jpg" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1488-2266.jpg" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2266-1488.jpg" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1640-2360.jpg" media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2360-1640.jpg" media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1668-2224.jpg" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2224-1668.jpg" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1620-2160.jpg" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2160-1620.jpg" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1290-2796.jpg" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2796-1290.jpg" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1179-2556.jpg" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2556-1179.jpg" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1284-2778.jpg" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2778-1284.jpg" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1170-2532.jpg" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2532-1170.jpg" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1125-2436.jpg" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2436-1125.jpg" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1242-2688.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2688-1242.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-828-1792.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1792-828.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1242-2208.jpg" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-2208-1242.jpg" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-750-1334.jpg" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1334-750.jpg" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-640-1136.jpg" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"> | ||
<link rel="apple-touch-startup-image" href="pwa-assets/apple-splash-1136-640.jpg" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"> | ||
</head> | ||
<body data-theme="dark" class="overflow-x-hidden bg-background text-on-background"> | ||
<noscript>You need to enable JavaScript to run this app.</noscript> | ||
<div id="root"></div> | ||
|
||
<script src="/src/index.tsx" type="module"></script> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{ | ||
"ci": { | ||
"collect": { | ||
"url": ["http://localhost:4173"], | ||
"startServerCommand": "bun run start 2>&1 | sed -u 's/^/[server] /' & pid=$!; echo \"Server listening on port 4173\"; echo 'Server is ready'; wait $pid", | ||
"startServerReadyPattern": "Server is ready", | ||
"numberOfRuns": 1, | ||
"settings": { | ||
"chromeFlags": "--no-sandbox" | ||
} | ||
}, | ||
"assert": { | ||
"assertions": { | ||
"categories:pwa": ["error", { "minScore": 1 }] | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>No Connection</title> | ||
<style> | ||
body { | ||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; | ||
display: flex; | ||
justify-content: center; | ||
align-items: center; | ||
height: 100vh; | ||
margin: 0; | ||
background-color: rgb(27 27 33); | ||
color: #ffffff; | ||
} | ||
.container { | ||
text-align: center; | ||
padding: 3rem; | ||
background-color: rgba(255, 255, 255, 0.1); | ||
border-radius: 16px; | ||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); | ||
backdrop-filter: blur(10px); | ||
max-width: 80%; | ||
} | ||
h1 { | ||
font-size: 2.5rem; | ||
margin-bottom: 0.5rem; | ||
} | ||
p { | ||
font-size: 1.1rem; | ||
margin-bottom: 2rem; | ||
opacity: 0.8; | ||
} | ||
.logo { | ||
width: 128px; | ||
height: 128px; | ||
margin-bottom: 2rem; | ||
filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.3)); | ||
} | ||
.retry-button { | ||
background-color: #4CAF50; | ||
border: none; | ||
color: white; | ||
padding: 15px 32px; | ||
text-align: center; | ||
text-decoration: none; | ||
display: inline-block; | ||
font-size: 16px; | ||
margin: 4px 2px; | ||
cursor: pointer; | ||
border-radius: 8px; | ||
transition: background-color 0.3s; | ||
} | ||
.retry-button:hover { | ||
background-color: #45a049; | ||
} | ||
</style> | ||
</head> | ||
<body> | ||
<div class="container"> | ||
<img src="/images/icon-256.png" alt="comma connect logo" class="logo"> | ||
<h1>You're Offline</h1> | ||
<p>It seems you've lost your internet connection. Don't worry, we'll be here when you're back online.</p> | ||
<button class="retry-button" onclick="window.location.reload();">Try Again</button> | ||
</div> | ||
</body> | ||
</html> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
const SERVICE_WORKER_VERSION = 1; | ||
const CACHE_NAME = `comma-connect-cache-v${SERVICE_WORKER_VERSION}`; | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Incrementing the version number forces browsers to update their cached service worker when you deploy changes - without it, users might keep running old versions. |
||
const STATIC_ASSETS = [ | ||
'/index.html', | ||
'/manifest.json', | ||
'/no-connection.html', | ||
'/images/icon-256.png', | ||
]; | ||
|
||
const CACHEABLE_URL_PATTERNS = [ | ||
/\/images\/.*\.(png|jpg|svg)$/, | ||
/\/fonts\.googleapis\.com\//, | ||
/\/fonts\.gstatic\.com\//, | ||
]; | ||
|
||
self.addEventListener('install', (installEvent) => { | ||
installEvent.waitUntil( | ||
caches.open(CACHE_NAME).then((cache) => { | ||
return cache.addAll(STATIC_ASSETS); | ||
}) | ||
); | ||
}); | ||
|
||
self.addEventListener('fetch', (fetchEvent) => { | ||
if (fetchEvent.request.method !== 'GET') { | ||
return; | ||
} | ||
|
||
if (shouldCacheUrl(fetchEvent.request.url)) { | ||
fetchEvent.respondWith( | ||
caches.match(fetchEvent.request).then((cachedResponse) => { | ||
if (cachedResponse) { | ||
return cachedResponse; | ||
} | ||
return fetch(fetchEvent.request).then((networkResponse) => { | ||
if (networkResponse.status === 200) { | ||
const clonedResponse = networkResponse.clone(); | ||
caches.open(CACHE_NAME).then((cache) => { | ||
cache.put(fetchEvent.request, clonedResponse); | ||
}); | ||
} | ||
return networkResponse; | ||
}); | ||
}).catch(handleFetchError) | ||
); | ||
} else { | ||
fetchEvent.respondWith( | ||
fetch(fetchEvent.request).catch(handleFetchError) | ||
); | ||
} | ||
}); | ||
|
||
async function handleFetchError(error) { | ||
try { | ||
const cachedResponse = await caches.match('/no-connection.html'); | ||
if (cachedResponse) { | ||
const body = await cachedResponse.blob(); | ||
return new Response(body, { | ||
status: 200, | ||
headers: cachedResponse.headers | ||
}); | ||
} | ||
} catch (cacheError) { | ||
console.error('Cache error:', cacheError); | ||
return new Response('An error occurred.', { | ||
status: 503, | ||
headers: { 'Content-Type': 'text/html' } | ||
}); | ||
} | ||
} | ||
|
||
function shouldCacheUrl(url) { | ||
const urlPath = new URL(url).pathname; | ||
return CACHEABLE_URL_PATTERNS.some((pattern) => pattern.test(urlPath)); | ||
} |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"generate-pwa-assets":
"move-pwa-assets":
"pwa-setup":