Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • funkwhale funkwhale
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 409
    • Issues 409
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 19
    • Merge requests 19
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • funkwhalefunkwhale
  • funkwhalefunkwhale
  • Merge requests
  • !983

Progressive web application

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Ciarán Ainsworth requested to merge progressive-web-application into develop Jan 02, 2020
  • Overview 4
  • Commits 14
  • Pipelines 5
  • Changes 16

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 Jan 08, 2020 by Agate
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: progressive-web-application