PWA module 3.x roadmap

Created on 18 August 2020, about 4 years ago
Updated 6 April 2023, over 1 year ago

TODO:

  • [ ] Switch all former 2.x issues to 3.x (now where 2.x is the D10 compatible branch)
  • [ ] Fix bugs in 2.x and once it's ready, create 3.x from 3.x for new features from this issue.
  1. Drupal 10 compatibility, dropping Drupal 8 compatibility
  2. Code quality improvements:
  3. #3060760: Use Google Workbox library β†’
  4. #3241098: Update default logos to use the evergreen Drupal logo β†’
  5. #2914372: Split admin config UI into multiple tabs β†’
  6. πŸ“Œ Merge pwa_extras into main module Needs work
  7. Have a way to override the install banner from the code, no UI for now (see also #3202990: Make the PWA installation block button customizable β†’ )
  8. #3180235: Manifest output changes for 2.x β†’
  9. #3180236: Apple meta tags β†’
  10. Port hook_requirements checks to validate library versions, VAPID key storage, icons requirements, description warning, etc. see D7 version.
  11. ✨ Create pwa_webpush submodule to manage push notifications Needs work
  12. ✨ Add Clear-Site-Data and related route for 2.x Needs work
  13. πŸ“Œ Add a configurable debug mode, so one can easier see why a service worker is not registered. Remove console.log's Needs work
  14. Ensure the 8.x-1.x fixes made in the meantime are present to prevent regressions

Original summary by nod_:

There will be a few improvements to the PWA module on the D7 branch and the D8 version should be made up to date. In order to achieve feature parity with the D7 version the following has to be done:

[...]

Apart from the serviceworker plugin system, everything else exists in the 7.x-2.x version, take a look when implementing something. You can install it on Simplytest.me to see what it looks like (push notifications can't be sent because of the php lib can't be installed on simplytestme).

The javascript files can be reused pretty much as-is (need to change Drupal.settings in drupalSettings and a few other details). It's the PHP that needs the most work :)

🌱 Plan
Status

Active

Version

2.0

Component

Code

Created by

πŸ‡«πŸ‡·France nod_ Lille

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • πŸ‡©πŸ‡ͺGermany Anybody Porta Westfalica

    @maintainers: Looking at D10 compatibility and 8.x-1.x vs. 2.x could you perhaps give a short update about D10 compatibility plans?
    Here and at πŸ“Œ Automated Drupal 10 compatibility fixes Fixed perhaps? Currently the module is blocking upgrades, so it *might* make sense to make both versions Drupal 10 compatible for now?

    Thanks :)

    PS: Thank you for your great work here!!

  • πŸ‡¨πŸ‡¦Canada ambient.impact Toronto

    @Anybody I agree adding Drupal 10 compatibility to both branches makes sense. I can take a look when I have some free time, but that's been in short supply lately.

  • Issue was unassigned.
  • πŸ‡©πŸ‡ͺGermany Anybody Porta Westfalica
  • πŸ‡¨πŸ‡¦Canada ambient.impact Toronto

    @Anybody There are a few commits to 2.x that were added either because they didn't make sense in the previous branch or broke compatibility, so we'd lose those if it just gets reset. I'd rather keep the branch and merge from or rebase onto 8.x-1.x every so often to keep it up to date.

    I look at 2.x as the long term goal we're working towards, while 8.x-1.x is the current default out of necessity to have a stable release without breaking much if possible.

    As for ✨ Create pwa_webpush submodule to manage push notifications Needs work , I took a look in GitLab and I think the reason for the confusion is that that likely got merged into 2.x but then also into 8.x-1.x, or at least that's what GitLab seems to think. I believe we had 2.x set as the default branch but then switched back to 8.x-1.x for the time being, and the issue didn't update to reflect that. I'm not sure where the module ended up and suspect it got removed in another issue somewhere. Might be good to check the commit log for the directory.

  • πŸ‡©πŸ‡ͺGermany Anybody Porta Westfalica

    @Ambient.Impact thank! Could you perhaps also have a look at πŸ“Œ Automated Drupal 10 compatibility fixes Fixed and especially my comment in #25?

  • πŸ‡¨πŸ‡¦Canada ambient.impact Toronto

    @Anybody The differences between 8.x-1.x and the 2.x branch are pretty minor, so it should be possible to just switch over and remove Drupal 8 support from 2.x while marking 8.x-1.x unsupported at the same time. That's what I would do. Then we move everything that was planned for 2.x to a new 3.x branch; this issue will need to be renamed, and the project page updated.

  • πŸ‡©πŸ‡ͺGermany Anybody Porta Westfalica

    @Ambient.Impact thank you for the plan! Let's do that. So in a first step someone has to compare 8.x-1.x and 2.x as I think some fixes only went in 8.x-1.x, while some features only went in 2.x.

    Are you planning to do this? Should we? Perhaps better use a fresh issue for that?

  • πŸ‡¨πŸ‡¦Canada ambient.impact Toronto

    @Anybody Lucky for us, GitLab can tell us exactly what's in 2.x that's not in 8.x-1.x. ;)

    My recommendation would be to start a new issue for the new direction for 2.x, and rename this current issue (and the project page) to refer to 3.x. I'm fairly busy with other stuff, so I'll leave the rest up to you.

  • πŸ‡©πŸ‡ͺGermany Anybody Porta Westfalica

    Thanks @Ambient.Impact! I first cherry-picked the 8.x-1.x issues where cherry-picking was still possible into 2.x separately to have a more transparent changelog.

    Now I've created πŸ“Œ Merge 8.x-1.x fixes into 2.x Fixed and switched πŸ“Œ Automated Drupal 10 compatibility fixes Fixed to 2.x.
    Would you mind to set 2.x the default branch?

  • πŸ‡¨πŸ‡¦Canada ambient.impact Toronto

    Unfortunately, I don't seem to have access to the Drupal.org GitLab settings for this project so I can't change the default branch. You'll have to ping one of the other maintainers for that. The Drupal.org Slack #progressive-web-app channel might be the way to go, or messaging them directly on Slack.

  • πŸ‡©πŸ‡ͺGermany rupl

    I feel like I probably have the perms to change the default branch (I see I'm a maintainer in the GitLab UI at least) but I've never done such a change. Can you please point me to either a docs page or screenshot what I need to do?

  • πŸ‡©πŸ‡ͺGermany rupl

    Of course, posting a comment was my rubber-ducky :)

    So, I only see 8.x-1.x in the list for the repo. Does the branch need to be pushed or am I looking in the wrong place?

  • πŸ‡©πŸ‡ͺGermany Anybody Porta Westfalica

    @rupl thanks! For now just select 2.x please. Perhaps it will be possible to also grant further permissions to @Ambient.Impact and me?
    We'll have to create 3.x once 2.0.0 was released, I think... and give it some days to detect possible bugs.

  • πŸ‡©πŸ‡ͺGermany rupl

    New settings were just applied: 2.x, with "Auto-close referenced issues on default branch" enabled (it was already enabled when I arrived on the config to adjust branch)

  • πŸ‡©πŸ‡ͺGermany Anybody Porta Westfalica
  • πŸ‡«πŸ‡·France zenimagine

    I have a Drupal 9.5 website and the PWA 1.6 module installed. Is there an update path to version 2? THANKS

  • πŸ‡©πŸ‡ͺGermany Anybody Porta Westfalica

    2.0.0-rc1 is equal to 8.x-1.6 plus Drupal 10 compatibility from this issue.
    No upgrade path needed. 2.0.0-rc1 should just work. (But please always take a backup before)

  • πŸ‡«πŸ‡·France zenimagine

    ok thanks

  • πŸ‡«πŸ‡·France GuillaumeDuveau Toulouse

    @Anybody @Ambient

    pwa_push was removed just a few days after being commited: https://git.drupalcode.org/project/pwa/-/commit/6f8359399b41bc78cd83ae42...

    Nothing regarding web push notifications has been commited on 2.x since then.

  • πŸ‡¨πŸ‡¦Canada ambient.impact Toronto

    Heck yeah, glad to see a release!

    @rupl I usually uncheck "Auto-close referenced issues on default branch" because that would close all GitLab issues that are set to the previous default branch, which could be really confusing. Both GitLab and GitHub have similar options and I always uncheck when I change the default branch them because most projects I have issues for would be throw into disarray by it. Thankfully, it has no effect here because Drupal.org has its own issue system separate from GitLab, but if it hadn't, that would have closed every single 8.x-1.x issue. πŸ˜‰

  • πŸ‡¨πŸ‡¦Canada ambient.impact Toronto

    @GuillaumeDuveau I never had a chance to work on that but if I recall correctly, the reason it was removed was because it wasn't fully supported on all platforms (probably Apple, ugh) and/or it was going to be merged into the main module. As far as I'm aware, that functionality is definitely planned for this module, since that's a crucial feature for a lot of use-cases of this module.

Production build 0.71.5 2024