-
Notifications
You must be signed in to change notification settings - Fork 0
PWA Features
Cameron Rye edited this page Nov 19, 2025
·
1 revision
DosKit is a fully-featured Progressive Web App (PWA) that can be installed on your device and works offline!
- Installable: Install DosKit as a native app on desktop and mobile
- Offline Support: Works completely offline after first visit
- Fast Loading: Service worker caches assets for instant loading
- Native Experience: Standalone mode without browser UI
- Auto-Updates: Automatic updates when new versions are available
- Connection Status: Real-time online/offline indicator
- Visit doskit.net
- Click the install icon in the address bar
- Click "Install" to add to your desktop
- Launch from your desktop or start menu
- Visit doskit.net in Chrome
- Tap "Add to Home screen" from the menu
- Tap "Add" to confirm
- Launch from your home screen
- Visit doskit.net in Safari
- Tap the Share button
- Tap "Add to Home Screen"
- Tap "Add" to confirm
- Launch from your home screen
DosKit uses a Service Worker to cache all necessary files:
- HTML, CSS, and JavaScript files
- js-dos WebAssembly modules
- DOS application files
- Images and icons
After your first visit, DosKit works completely offline!
- Launch the application
- Load previously accessed DOS applications
- Run DOS programs
- All emulator features
- Loading new DOS applications (first time)
- Checking for updates
- Downloading additional content
DosKit uses different caching strategies for different types of content:
- Network-first: HTML files (always get latest)
- Cache-first: Static assets (fast loading)
- Stale-while-revalidate: API calls (balance speed and freshness)
The service worker automatically:
- Caches new files as you use them
- Updates cached files when new versions are available
- Cleans up old cache entries
- Manages cache size limits
DosKit automatically checks for updates:
- Service worker detects new version
- Downloads new files in background
- Shows "Update Available" notification
- Click to reload and apply update
Force an update:
- Open browser DevTools
- Go to Application > Service Workers
- Click "Update" or "Unregister"
- Refresh the page
DosKit shows your connection status:
- Green indicator: Online
- Red indicator: Offline
- Automatic detection of network changes
- Previously loaded apps continue to work
- New apps show "offline" message
- Updates are queued until online
DosKit includes a web app manifest (manifest.json) that defines:
- App name and description
- Icons for different sizes
- Theme colors
- Display mode (standalone)
- Start URL
You can customize the manifest in public/manifest.json:
{
"name": "DosKit",
"short_name": "DosKit",
"description": "DOS Emulator",
"theme_color": "#000000",
"background_color": "#000000",
"display": "standalone",
"start_url": "/",
"icons": [...]
}- No installation required - Works in browser
- Optional installation - Install for native app experience
- Works offline - Use anywhere, anytime
- Fast loading - Cached assets load instantly
- Auto-updates - Always get the latest version
- Cross-platform - One codebase for all platforms
- Easy deployment - Just deploy to web server
- No app store - No approval process
- Instant updates - Push updates immediately
- Web technologies - Use familiar web stack
PWA features are supported in:
- Chrome/Edge 90+ (Full support)
- Firefox 88+ (Full support)
- Safari 15+ (Full support)
- Opera 76+ (Full support)
- Check you're using HTTPS (required for PWA)
- Verify manifest.json is valid
- Check service worker is registered
- Try a different browser
- Check service worker is active
- Verify files are cached (DevTools > Application > Cache Storage)
- Try clearing cache and reloading
- Check browser console for errors
- Click "Update Available" notification
- Hard refresh: Ctrl+Shift+R (Windows/Linux) or Cmd+Shift+R (Mac)
- Clear cache and reload
- Unregister service worker and reload
- Install the app for best experience
- Allow notifications to get update alerts
- Keep app updated by clicking update notifications
- Use offline after first visit
- Test offline functionality regularly
- Version service worker to force updates
- Cache strategically - not everything needs caching
- Handle errors gracefully when offline
- Notify users of updates
- Installation - Install DosKit
- Usage - Use DosKit
- Troubleshooting - Common issues
Made with ❤️ by Cameron Rye