Web App (PWA)
Mindwtr's desktop app can run as a browser app using the Vite build. When running in a browser (non-Tauri), it uses localStorage for persistence and registers a service worker for offline/PWA support.
Run Locally
You can run the PWA locally using Bun, or use Docker.
Using Docker (Recommended)
See Docker Deployment for instructions on running the PWA container.
Using Bun
From the repo root:
bun install
bun desktop:webThis starts Vite on http://localhost:5173/.
Build for Hosting
bun desktop:web:buildBuild output is in apps/desktop/dist/ and can be hosted as a static site.
PWA Behavior
- The app registers
apps/desktop/public/sw.jswhen running in a browser sw.jsprecaches/,/index.html,/manifest.webmanifest,/icon.png, and/logo.png; it caches only static assets such as scripts, styles, images, and fonts on demand. API and sync requests stay on the network.- Navigation requests use the network first and fall back to the cached app shell only while offline.
- The current view is stored in
?view=, so refresh and copied links keep the same screen without static-host route configuration. Filters are not encoded in the URL.
Hosting Requirements
Host apps/desktop/dist/ at the site root (/). The service worker is registered from /sw.js and the manifest references root paths.
Ensure your static host serves:
manifest.webmanifestasapplication/manifest+json(recommended)sw.jsasapplication/javascript
If you need to host under a subpath (e.g. /mindwtr/), the service worker registration and manifest paths must be adjusted to match the base path.
Limitations
- Browser builds store data in
localStorage(clearing site data clears Mindwtr data) - Some desktop-only features may be unavailable in the browser, such as file attachments that require native file access
- No native system tray or global hotkey support