From ac4289e1bd22af1a7ffc6b3ef389354744754b4d Mon Sep 17 00:00:00 2001 From: Richard Pringle Date: Fri, 8 May 2026 22:01:29 +0000 Subject: [PATCH] Add PWA support for installable desktop experience MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add minimal Progressive Web App support so the Valet dashboard can be installed as a desktop app from Chrome (and other browsers that support PWA). This eliminates the need to hunt through browser tabs to find it. Changes: - Add web app manifest (manifest.json) with app name, icons, and standalone display mode - Add app icons (192x192, 512x512, 512x512 maskable, apple-touch-icon) matching the existing dark theme with cyan 'V' branding - Add minimal service worker (sw.js) with fetch handler to satisfy Chrome's PWA installability criteria — no offline caching - Register service worker from main.tsx on page load - Add manifest link, apple-touch-icon, and apple-mobile-web-app meta tags to index.html This is intentionally minimal — no offline support, no push notifications, no caching strategy. Just enough for the install prompt. Includes a TODO for future ACP (Agent Client Protocol) integration to bridge cloud-hosted agent sessions with local dev tools. --- packages/client/index.html | 4 +++ .../client/public/icons/apple-touch-icon.png | Bin 0 -> 12087 bytes packages/client/public/icons/icon-192.png | Bin 0 -> 12892 bytes .../client/public/icons/icon-512-maskable.png | Bin 0 -> 27758 bytes packages/client/public/icons/icon-512.png | Bin 0 -> 36971 bytes packages/client/public/manifest.json | 27 ++++++++++++++++++ packages/client/public/sw.js | 22 ++++++++++++++ packages/client/src/main.tsx | 9 ++++++ 8 files changed, 62 insertions(+) create mode 100644 packages/client/public/icons/apple-touch-icon.png create mode 100644 packages/client/public/icons/icon-192.png create mode 100644 packages/client/public/icons/icon-512-maskable.png create mode 100644 packages/client/public/icons/icon-512.png create mode 100644 packages/client/public/manifest.json create mode 100644 packages/client/public/sw.js diff --git a/packages/client/index.html b/packages/client/index.html index dacc6e00..adc43e0b 100644 --- a/packages/client/index.html +++ b/packages/client/index.html @@ -3,8 +3,12 @@ + + + + Valet diff --git a/packages/client/public/icons/apple-touch-icon.png b/packages/client/public/icons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0983544dc0936f973ebe7f782508f39e48db76d9 GIT binary patch literal 12087 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 C6`n=_ literal 0 HcmV?d00001 diff --git a/packages/client/public/icons/icon-192.png b/packages/client/public/icons/icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..146ad0d37991ce20abe7c634c5440e6a7a6d43d7 GIT binary patch literal 12892 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 literal 0 HcmV?d00001 diff --git a/packages/client/public/icons/icon-512.png b/packages/client/public/icons/icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..b76331a5214429d4974c31b03604c729ff4c6043 GIT binary patch literal 36971 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 z%0A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 J^q%$0{|6jiqtyTa literal 0 HcmV?d00001 diff --git a/packages/client/public/manifest.json b/packages/client/public/manifest.json new file mode 100644 index 00000000..22355ba5 --- /dev/null +++ b/packages/client/public/manifest.json @@ -0,0 +1,27 @@ +{ + "name": "Valet", + "short_name": "Valet", + "description": "AI coding agent platform — background sessions with full dev environments", + "start_url": "/", + "display": "standalone", + "background_color": "#0a0a0a", + "theme_color": "#0a0a0a", + "icons": [ + { + "src": "/icons/icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/icons/icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "/icons/icon-512-maskable.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/packages/client/public/sw.js b/packages/client/public/sw.js new file mode 100644 index 00000000..247d3132 --- /dev/null +++ b/packages/client/public/sw.js @@ -0,0 +1,22 @@ +// TODO: Integrate ACP (Agent Client Protocol) to enable connecting Valet to local +// coding agents and vice versa. This PWA is the foundation for a native-feeling +// desktop experience that can bridge cloud-hosted agent sessions with local dev tools. + +// Minimal service worker for PWA installability. +// This does NOT provide offline support or caching — it simply satisfies +// Chrome's PWA install criteria (a registered service worker with a fetch handler). + +self.addEventListener('install', (event) => { + // Activate immediately — no waiting for existing clients to close + self.skipWaiting(); +}); + +self.addEventListener('activate', (event) => { + // Claim all open clients so the SW is controlling pages right away + event.waitUntil(self.clients.claim()); +}); + +self.addEventListener('fetch', (event) => { + // Pass all requests through to the network (no caching) + event.respondWith(fetch(event.request)); +}); diff --git a/packages/client/src/main.tsx b/packages/client/src/main.tsx index 56c26ee9..99e72b44 100644 --- a/packages/client/src/main.tsx +++ b/packages/client/src/main.tsx @@ -11,3 +11,12 @@ createRoot(rootElement).render( ); + +// Register service worker for PWA install support +if ('serviceWorker' in navigator) { + window.addEventListener('load', () => { + navigator.serviceWorker.register('/sw.js').catch(() => { + // Service worker registration failed — non-critical for app functionality + }); + }); +}