e0757088ef
Drop vite-plugin-pwa and add an index.html snippet that unregisters any leftover service worker and clears its caches on load. Continuous deploys during the event plus a self-destroying SW were forcing open tabs to reload mid-demo. Browsers self-heal on next load; re-add a precaching PWA post-event. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
60 lines
2.4 KiB
HTML
60 lines
2.4 KiB
HTML
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<meta name="theme-color" content="#0b0f17" />
|
||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||
<title>PodMan — the teammate that sees what git can’t</title>
|
||
<meta
|
||
name="description"
|
||
content="PodMan is an ambient AI teammate that watches your pod's screens in realtime and catches merge collisions before anyone pushes."
|
||
/>
|
||
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:site_name" content="PodMan" />
|
||
<meta property="og:url" content="https://www.podman.live/" />
|
||
<meta property="og:title" content="PodMan — the teammate that sees what git can’t" />
|
||
<meta
|
||
property="og:description"
|
||
content="Ambient AI teammate that watches your pod's screens in realtime and catches merge collisions before anyone pushes."
|
||
/>
|
||
<meta property="og:image" content="https://www.podman.live/og.png" />
|
||
<meta property="og:image:width" content="1200" />
|
||
<meta property="og:image:height" content="630" />
|
||
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<meta name="twitter:title" content="PodMan — the teammate that sees what git can’t" />
|
||
<meta
|
||
name="twitter:description"
|
||
content="Ambient AI teammate that catches merge collisions before anyone pushes."
|
||
/>
|
||
<meta name="twitter:image" content="https://www.podman.live/og.png" />
|
||
|
||
<script>
|
||
// Tear down any service worker we shipped earlier (vite-plugin-pwa).
|
||
// PodMan runs no PWA in production: we deploy continuously and SW-driven
|
||
// reloads break the live demo. This unregisters leftover workers and
|
||
// clears their caches on every load so previously-affected browsers
|
||
// self-heal — no manual DevTools needed. It does NOT reload the page and
|
||
// is a no-op once nothing is registered.
|
||
if ('serviceWorker' in navigator) {
|
||
navigator.serviceWorker
|
||
.getRegistrations()
|
||
.then((regs) => regs.forEach((r) => r.unregister()))
|
||
.catch(() => {});
|
||
if (window.caches && caches.keys) {
|
||
caches
|
||
.keys()
|
||
.then((keys) => keys.forEach((k) => caches.delete(k)))
|
||
.catch(() => {});
|
||
}
|
||
}
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<div id="root"></div>
|
||
<script type="module" src="/src/main.tsx"></script>
|
||
</body>
|
||
</html>
|