Forums Feature Requests Thread

[New Feature] PWA upgrade with offline support

Patrick Bass · May 24 · 22 · 1 Locked
[Deployed to Production]
🚀 OP May 24, 2026 7:52pm

Type: New Feature

Priority: P4

What: Register a service worker, add offline support, enable add-to-homescreen with app-like experience. Full native app is a much larger effort; PWA delivers 80% of the value at a fraction of the cost.

Who benefits: All mobile users.

Why: manifest.json already exists but no service worker is registered. This is a medium-effort upgrade with high perceived value for mobile-first communities.

Complexity: Medium


Patrick Bass
@mobieus

🚀 May 29, 2026 11:30am

Shipped (2026-05-29, commit 9da45d3a).

Full PWA upgrade with offline support. Three new/changed assets:

  • /manifest.json (was 404; now exists). Mobieus-branded: name+short_name "Mobieus", start_url /, display: standalone, full icon set including maskable 192/512 variants, plus three app shortcuts (Feed, Messages, Notifications).
  • /sw.js rewritten. Cache version v50-2026-05-29-mobieus-pwa-offline. Strategy:
    • HTML navigation → network-first, fall back to cached page, ultimately to /offline.html.
    • Static assets (/css/, /js/, /assets/, /fonts/, /img/, /icons/, /favicon.ico, /apple-touch-icon.png, /manifest.json) → cache-first with network fallback.
    • Never intercepts /api/, /rss/, /sse/, /admin/, /sw.js — those always hit the network.
    Push handler unchanged (FEAT-18); default title is now "Mobieus".
  • /offline.html (new). Standalone branded fallback page with auto-reload on the online window event. Works in both light and dark color schemes.

SW registration was already wired in layouts/base.php:619, so no template change was needed for activation — every page now bootstraps the SW on window.load.

Result: members can install Mobieus to their home screen (Android Chrome will prompt; iOS Safari users can Share → Add to Home Screen). Pages they have visited recently still load when the network drops; everything else shows the offline page that auto-reloads when connectivity returns.


Patrick Bass
@mobieus

Log in or register to reply to this thread.