📢 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
- âś… Get this back up and running on the latest Drupal core; see #3391460: Drupal 10 and Symfony 6 support
- 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
- 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
- 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
Additional changes, features, and fixes
- #3391441: Increase minimum core to 10.1 and minimum PHP to 8.1
- #3391460: Drupal 10 and Symfony 6 support
- #3279949: Add hook/event to alter cache contexts that RefreshLess considers sensitive to changes
- #3279955: Consider attaching RefreshLess even when no session exists/user is anonymous
- #3293592: Add attribute to empty regions for CSS
- #2708619: Remove reliance on core patch
- #2708615: Test coverage
- #2695755: [META] improve accessibility of Refreshless module.
Comments
Comment #3
ambient.impactComment #4
ambient.impactComment #5
ambient.impactComment #6
ambient.impactComment #7
ambient.impactComment #8
ambient.impactComment #9
ambient.impactJust 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.
Comment #10
nelo_drup commentedIt is good to know that the module is being taken over, we hope to see more news soon
Comment #11
user654 commented.
Comment #12
ressaThanks 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.
Comment #13
ambient.impactGlad 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.
Comment #14
mortona2k commentedIf 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.
Comment #15
ambient.impact@mortona2k That's a good point. I don't have access to do that, though, so another maintainer that does will have to unfortunately.
Comment #16
handkerchief@mortana2k, @Ambient.Impact
Unfortunately, I am not able to do that either. But am interested in the further development.
Comment #17
ambient.impactComment #18
ambient.impact@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.
Comment #19
ambient.impactComment #20
ambient.impactComment #21
rajeshreeputra@Ambient.Impact you can update the project page.
Comment #22
ambient.impact@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.
Comment #23
ambient.impactComment #24
ressaMaybe you need to be maintainer and not co-maintainer ("Developer" on Gitlab, I guess) to edit the project page?
Maintainership > Terminology.
Comment #25
ambient.impactComment #26
ambient.impactAdded "Proposed architecture changes" section.
Comment #27
ambient.impactReworked intro to be less Symfony/Turbo-centric.
Comment #28
ambient.impactReworked "Rough plan" heading.
Comment #29
ambient.impactBig rework to "Major features" section.
Comment #30
ambient.impactReworked "Proposed resolution" section.
Comment #31
ambient.impactComment #33
ambient.impactAdded current priority heading with call to action to #3393105: Hotwire Turbo minimum viable implementation.