A Manifest V3 side-panel extension that calls the unified server's /api/booking. The booking pipeline runs server-side; the extension is just a UI shell with a desktop notification on completion.
The extension ships with the unified server. With bun start running:
http://localhost:4242/dobby-browser-extension.zip (or click the install link on the landing page) and download the zip.dobby-browser-extension/ folder.chrome://extensions/, enable Developer mode (top-right), click Load unpacked, and pick the unzipped folder.Click the icon โ Chrome opens the side panel. The first time it opens it probes the server URL (default http://localhost:4242); change it via the Settings link in the side panel footer.
bun run extension:build
Output: dist/dobby-browser-extension/ (load this directly via "Load unpacked") and public/dobby-browser-extension.zip (served by the unified server).
bun start runs this automatically as part of prestart:extension if the zip doesn't exist yet.
POST /api/booking.src/extension/background.ts), so closing the side panel mid-booking doesn't cancel it.chrome.notifications toast with the booking reference (or the error).src/extension/
manifest.json MV3 declaration: side_panel + service worker + notifications
sidepanel.html/css/ts UI shell - form, result rendering, settings dialog
background.ts service worker - does the fetch, fires notifications
shared.ts types + station list shared between the two
build.ts bundles via Bun.build, copies static files, zips
icons/icon-192.png extension icon (Chrome scales for all sizes)
localhost:* and 127.0.0.1:*. To talk to a remote dobby, edit manifest.json and rebuild (or unpack the zip and load that)./api/* directly.