Install Postulo as a web app on the browsers that support it #895
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo#895
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Postulo should install and run as a web app (a progressive web app) on the browsers that support it: Chromium-based browsers on desktop and Android (Chrome, Edge, Brave, Samsung Internet…), and Safari on iOS, iPadOS and macOS (Add to Home Screen / Add to Dock). Once installed it opens in its own window, with its own icon, without the browser's address bar and tabs.
What is already there
core:manifest(src/postulo/core/views.py,manifest.webmanifest) serves a manifest named after the instance, withstart_url,display: standalone, colours and 192/512 icons;base.htmllinks it, plus anapple-touch-icon./sw.js(src/postulo/static/js/sw.js) is a service worker for push notifications only: no fetch handler, by design. It is registered only when somebody turns browser notifications on.manifest-src 'self'.So the pieces exist, but nobody has made sure Postulo installs cleanly, nor what it looks and behaves like once it does.
What to do
idand ascope,langanddirin the active language, the icons split into apurpose: "any"and a separatepurpose: "maskable"image (one file serving both is discouraged and gets cropped),theme_color/background_colorthat follow the theme, andshortcutsfor the main destinations (board, listings, calendar). Optionallyscreenshots, which Chromium shows in its richer install dialog.<meta name="theme-color">for light and dark (media="(prefers-color-scheme: …)"), and what Safari still reads (apple-mobile-web-app-title, the status-bar style)./sw.jsfor every signed-in visit, not only when push is turned on. The worker stays as it is: no caching of application pages.display-mode: standalonethere is no back button and no address bar: check that every page can be left from within the interface, that links to other sites (postings, company websites, plugin links) open in the browser rather than inside the app window, and that downloads, printing and signing in and out still work.beforeinstallprompt, an Install Postulo entry in the user menu; where it does not (Safari), a short line in the help saying how to add it from the browser's own menu. Nothing nags, and nothing shows once it is installed./sw.jsandmanifest.webmanifestat the root of the site).Done when