Replace Electron with Progressive Web App, deprecate Cockpit support
Fixes #316 (closed), #396 (closed), and #397 (closed). See those issues for context. Renders #223 (closed) moot.
Scope
-
Build Progressive Web App (PWA) support into Exosphere -
Build manifest -
Do we want to use standalone
orminimal-ui
? https://developer.mozilla.org/en-US/docs/Web/Manifest/display -
Does Chrome require a 192x192px image? per https://medium.com/@suncommander/how-to-show-pwa-install-banner-add-to-homescreen-for-your-website-b1fbe6ebfdb5 - No.
-
-
Build service worker
-
-
maskable icons -
Implement Phase 1 deprecations below, including: -
Serve Electron app with deprecation notice that points folks to web app / PWA -
Stop deploying Cockpit service to new instances, remove associated code from codebase -
Show deprecation and security notice for Cockpit-based server interactions
-
-
Write instructions for installing PWA in docs/pwa-install.md
-
Document how to install/use Cockpit for people who still want it for some reason -
Create issues for implementing phases 2 and 3 - #462 (closed) and #463
Transition Plan (away from Electron + Cockpit support)
Phase 0 | Phase 1 | Phase 2 | Phase 3 | |
---|---|---|---|---|
Timeline | Now | When this MR is merged | 30 days after phase 1 begins | 1 year after phase 2 begins |
PWA | Not offered | Offered | Offered | Offered |
Electron App | Fully Supported | Served with deprecation notice that points folks to web app or PWA | Not served, only deprecation notice remains | Not served at all, removed from codebase |
Cockpit Service Deployed to New Instances | Yes | No, removed from codebase | No | No |
Cockpit Interaction Display | Yes | Served with deprecation and security notice | Not served, removed from codebase | Not served, absent from codebase |
Resources and notes
-
@bgins' PWA manifest generator: https://flat-magenta-polyester-werewolf.fission.app
- For now, learning out meta tags recommended by PWA manifest generator because:
- Desktop Firefox doesn't support installing a PWA, and people are mad about it
- https://maskable.app/editor
How to Test
- Confirm that PWA is installable from https://try-dev.exosphere.app on:
- Linux
- Chromium
- Windows
- Chromium
- Mac OS
- Chromium, may need to pass the
#enable-desktop-pwas
flag (source)
- Chromium, may need to pass the
- Android
- Firefox
- Chromium
- iOS
- Safari
- Linux
- After merge to master, confirm that Electron desktop app installed from package shows deprecation warning
Screenshots
Edited by Chris Martin