📢 Current priority 📢

All work is currently focused on #3393105: Hotwire Turbo minimum viable implementation which is where help is needed.


Summary

RefreshLess has a lot of promise to be a great drop in alternative to "traditional" single page apps or decoupled approaches while reusing all the robustness Drupal gives us. It's progressive enhancement at its very best, layering the kind of modern UX that users expect on top of server-rendered HTML and CSS.

The 8.x-1.x branch is a good start, and is a great proof of concept that this can work in Drupal, but has a number of outstanding issues and rough edges. The JavaScript that powers it is well written and generally works well enough, but this custom solution can't really keep up with something with a dedicated dev team like the Hotwire Turbo library (the successor to Turbolinks by the same devs).

Rough plan

  1. âś… Get this back up and running on the latest Drupal core; see #3391460: Drupal 10 and Symfony 6 support
  2. Move the exisisting Ajax implementation to its own sub-module. No plug-ins just yet, just the JavaScript and Ajax commands; see #3396176: Rework to support multiple front-end implementations
  3. Start work on implementing Hotwire Turbo in a sub-module; see #3393105: Hotwire Turbo minimum viable implementation and #3238865: META: Incorporate Symfony UX Turbo Into Module
  4. Once the Turbo implementation is starting to take shape and we get a clearer view of what back-end code should remain in the base module and what's implementation specific, start on the larger architecture changes outlined above; see #3396176: Rework to support multiple front-end implementations

Major features

  1. #3396176: Rework to support multiple front-end implementations
  2. Hotwire Turbo implementation.

Additional changes, features, and fixes

  1. #3391441: Increase minimum core to 10.1 and minimum PHP to 8.1
  2. #3391460: Drupal 10 and Symfony 6 support
  3. #3279949: Add hook/event to alter cache contexts that RefreshLess considers sensitive to changes
  4. #3279955: Consider attaching RefreshLess even when no session exists/user is anonymous
  5. #3293592: Add attribute to empty regions for CSS
  6. #2708619: Remove reliance on core patch
  7. #2708615: Test coverage
  8. #2695755: [META] improve accessibility of Refreshless module.

Comments

Rajeshreeputra created an issue. See original summary.

ambient.impact’s picture

Title: Roadmap for next 2.x version » RefreshLess 2.x roadmap
Issue summary: View changes
ambient.impact’s picture

ambient.impact’s picture

Issue summary: View changes
ambient.impact’s picture

Issue summary: View changes
ambient.impact’s picture

Issue summary: View changes
Related issues: +#2708615: Test coverage
ambient.impact’s picture

ambient.impact’s picture

Just an update that this is still something I intend to work on, but will be delayed due to other things in my life having priority for the time being. If anyone wants to jump in and get some of these started, feel free. I'll check in when I can.

nelo_drup’s picture

It is good to know that the module is being taken over, we hope to see more news soon

user654’s picture

.

ressa’s picture

Thanks for making me aware of this cool module in #2913628: Proposal to use Vue.js for building Drupal’s administrative UIs @Ambient.Impact. It looks very interesting, and I hope development on the module can gain some traction.

ambient.impact’s picture

Glad to hear about all the interest. I'm still fairly busy doing stuff to pay the bills, but this has been on my mind lately and I would like to get started sometime soon. The Symfony UX Turbo documentation (link is in #3238865: META: Incorporate Symfony UX Turbo Into Module) has been improved quite a bit in the meanwhile, so that'll help a lot.

mortona2k’s picture

If development is going forward, can we remove the "No further development" message from the project? It might be scaring away developers who would like to help out. At a glance, I thought this module was totally dead.

ambient.impact’s picture

@mortona2k That's a good point. I don't have access to do that, though, so another maintainer that does will have to unfortunately.

handkerchief’s picture

@mortana2k, @Ambient.Impact
Unfortunately, I am not able to do that either. But am interested in the further development.

ambient.impact’s picture

Issue summary: View changes
ambient.impact’s picture

@handkerchief No worries. I'm getting the module back up and running on current Drupal core and merging a bunch of stuff. When it's been cleaned up a bit, I'll reach out to the other maintainers to see who can update the project page. Stay tuned.

ambient.impact’s picture

Version: 2.0.x-dev » 2.x-dev
ambient.impact’s picture

Issue summary: View changes
rajeshreeputra’s picture

@Ambient.Impact you can update the project page.

ambient.impact’s picture

@Rajeshreeputra I'd love to but I don't seem to have permission to that - there's no edit tab on the page for me.

ambient.impact’s picture

Issue summary: View changes
ressa’s picture

Maybe you need to be maintainer and not co-maintainer ("Developer" on Gitlab, I guess) to edit the project page?

Maintainership > Terminology.

ambient.impact’s picture

Issue summary: View changes
ambient.impact’s picture

Issue summary: View changes

Added "Proposed architecture changes" section.

ambient.impact’s picture

Issue summary: View changes

Reworked intro to be less Symfony/Turbo-centric.

ambient.impact’s picture

Issue summary: View changes

Reworked "Rough plan" heading.

ambient.impact’s picture

Issue summary: View changes

Big rework to "Major features" section.

ambient.impact’s picture

Issue summary: View changes

Reworked "Proposed resolution" section.

ambient.impact’s picture

Issue summary: View changes

  • Ambient.Impact committed 39459923 on 2.x
    Issue #3294430 & #3396176: Ajax implementation completely to sub-module.
    
ambient.impact’s picture

Added current priority heading with call to action to #3393105: Hotwire Turbo minimum viable implementation.