Skip to content

Progressive web application

Ciarán Ainsworth requested to merge progressive-web-application into develop

This MR presents a POC for Funkwhale as a progressive web app. It makes use of the Vue CLI PWA plugin for generation of the service worker and manifest during the build procedure and the mediaSession API for mapping keys to the player.

Mobile

POC_Mobile

Desktop

POC_Desktop

Benefits

  • Better mobile performance
  • Ability to use web-based player semi-natively on multiple devices
  • Native support for notification keys
  • Wider range of devices can be targeted

Drawbacks

  • Introduces some new dependencies (none as big as electron, but still worth taking into consideration)
  • Updates existing dependencies
  • Requires some additional work to get set up

Still to do

This MR is by no means complete. A few things need to be addressed before the change is viable

  • Dynamic population of manifest file with server details
  • Implementation of the beforeinstallPrompt function
  • More selective caching
  • Improvements to offline performance (relating to cache)
  • Cleaning up of the yarn.lock file
Edited by Agate

Merge request reports