Facets with AJAX not working in most of situations

Created on 4 May 2019, over 5 years ago
Updated 1 February 2023, almost 2 years ago

Using a standard combination of conrib/core modules

  • Facets 8.x-1.4
  • Search API 8.x-1.12
  • Views 8.6.15 with AJAX enabled

placing a Facets block and Views block on the same page doesn't work properly when blocks are placed via:
a.) Panels (8.x-4.4) using Page Manager (8.x-4.0-beta3)
or
b.) Display Suite (8.x-3.3) as DS Field block
or
c.) Block field (8.x-1.0-alpha8)

It only works if placed directly via Block layout (/admin/structure/block) into a region. So rendering through the "Main page content" makes it broken somehow.

The problem I have is an AJAX behavior. Having a "List of checkboxes" widget (the same situation with other widgets too) when I select one of the checkboxes (clicking on it) for the first time AJAX is run and Views results are filtered properly, but when I select another checkbox (or try to select it), nothing happens.

Investigation

I have a few ideas what might go wrong:
a.) Facets JS / CSS are dependent on HTML structure and classes/ids around them. And thus being placed in different places results in different behaviour. Meaning that the Facets JS is not well encapsulated.
b.) Some JS / CSS on the page is interfering with the JS functionality of Facets and breaking it. The Facets JS is not well encapsulated.
c.) Facets Blocks are being rendered differently based on how they are placed on the site.

I would expect that Facets blocks should be well encapsulated and not getting broken by different placement or other JS / CSS on the page.

Testing

I was getting different results when testing as an Anonymous user or an Authenticated user.

I advice to test/investigate with Anonymous user as it was providing quite stable results (admin theme and functionality seems to be interfering too).

Testing as Authenticated user was providing me with different results based on JavaScript aggregation and environemnt I was testing it on. The different behaviour was: Having no AJAX on Facets and reloading the page for each Facet item selection.

I'm using all the latest versions of contrib modules and Drupal Core 8.6.15.

Suggestions

I haven't found any option to switch of AJAX on Facets, but it would be appreciated here. Switching off AJAX on Facets would work as an workaround to rather reload the page (updating the Facets blocks) rather than getting into broken state after first selection.

๐Ÿ› Bug report
Status

Needs work

Version

3.0

Component

Code

Created by

๐Ÿ‡ฆ๐Ÿ‡บAustralia dabbor

Live updates comments and jobs are added and updated live.
  • Needs tests

    The change is currently missing an automated test that fails when run with the original code, and succeeds when the bug has been fixed.

Sign in to follow issues

Merge Requests

Comments & Activities

Not all content is available!

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

  • ๐Ÿ‡ง๐Ÿ‡ชBelgium jmaerckaert Geer, province of Liรจge
  • Status changed to Needs review almost 2 years ago
  • ๐Ÿ‡ง๐Ÿ‡ชBelgium jmaerckaert Geer, province of Liรจge

    I did a patch for version 2.0.6.
    The former one was not working for this version.

  • ๐Ÿ‡ง๐Ÿ‡ชBelgium jmaerckaert Geer, province of Liรจge

    Fix a bug in Facets Summary. The facet was not displaying anymore.

  • ๐Ÿ‡ท๐Ÿ‡ดRomania bogdan.dinu

    I updated the patch to make it work for views embeded as blocks. The pushstate was changing the URL to the views page URL.
    I've added support for pushstate navigation. The reload workaround only worked for one history iteration.
    I've also included @jmaerckaert's latest update for the facets summary.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States mrweiner

    Just a note that you may also need https://www.drupal.org/project/drupal/issues/3132456 ๐Ÿ› Views Ajax issue on deleting instances Needs work to handle some scenarios.

  • ๐Ÿ‡ง๐Ÿ‡ชBelgium JeroenT ๐Ÿ‡ง๐Ÿ‡ช

    Not sure if this should be handled here or in a separate issue, but I ran against a problem with facets, ajax and a custom filter key.

    On your facet source, you can configure a filter key to update "f" used in the get params to something else. But this parameters is hardcoded in facets-ajax-view.js to "f", which results in broken filters.

  • Thank you for patch #174!

    Was previously using #151, but patch stopped applying while upgrading drupal/facets 2.0.5 => 2.0.6.

    Switching to #174 fixed it for me.

  • Open in Jenkins โ†’ Open on Drupal.org โ†’
    Core: 9.5.x + Environment: PHP 8.0 & MySQL 5.7
    last update over 1 year ago
    Patch Failed to Apply
  • Open in Jenkins โ†’ Open on Drupal.org โ†’
    Core: 9.5.x + Environment: PHP 8.0 & MySQL 5.7
    last update over 1 year ago
    420 pass, 3 fail
  • ๐Ÿ‡จ๐Ÿ‡ญSwitzerland DonAtt

    I was using #174, but with Facets Pretty Paths paging did not work, the Facets filters were lost on page change.

    The attached change plus https://www.drupal.org/project/facets_pretty_paths/issues/3129632#commen... ๐Ÿ› FPP lost path context on ajax request RTBC solved it.

  • ๐Ÿ‡ท๐Ÿ‡ดRomania bogdan.dinu

    Hi @DonAtt,

    Changing window.location.pathname with url.pathname breaks embedded views. If you have the view and the facets embedded in a page, your code will push in history the url of the view not the url of the current page.
    I think you should find a way to manage the parameters needed by Facets Pretty Paths in the url.search variable.

  • ๐Ÿ‡จ๐Ÿ‡ญSwitzerland DonAtt

    Hi @bogdan.dinu,

    Thank you for the feedback, and the great work with this issue!

    The trick is that the url.search is the query string (?param=x...) and Facets Pretty Paths is exactly to get rid of the cryptic query parameters and produce nice URLs with the filters in the URL's path part (window.location.pathname).

    I guess if this patch (based on #174 then) gets merged, it's worth to look into a Facets Pretty Paths adjustment.
    But as in #169 the way forward may rather be the solution based on views exposed filters.
    Side-note: as of now 3.0.x with views exposed filters also has problem with paging, the exposed filters block disappear on page change according to my tests.

    So, then take my approach in #178 only as a quick-fix for now if you don't have embedded views and need to use Facets Pretty Paths.

  • Hello,

    I've a problem with this patch https://www.drupal.org/files/issues/2023-05-14/facets-with-ajax-not-work... โ†’ at this condition:

    if (typeof settings.facets !== "undefined" && settings.facets.sliders && settings.facets.sliders[facetId])

    when it patches this file js/facets-views-ajax.js

    When I debug "settings.facets", I've always "undefined" propertiy

  • Open in Jenkins โ†’ Open on Drupal.org โ†’
    Core: 10.1.x + Environment: PHP 8.1 & MySQL 5.7
    last update over 1 year ago
    420 pass, 3 fail
  • Open in Jenkins โ†’ Open on Drupal.org โ†’
    Core: 9.5.x + Environment: PHP 8.0 & MySQL 5.7
    last update over 1 year ago
    420 pass, 3 fail
  • ๐Ÿ‡ง๐Ÿ‡ชBelgium Tim Lammar

    reroll of #174 to be compliant with PHP8.2 (and D10)

  • Open in Jenkins โ†’ Open on Drupal.org โ†’
    Core: 9.5.x + Environment: PHP 8.0 & MySQL 5.7
    last update over 1 year ago
    420 pass, 3 fail
  • ๐Ÿ‡ง๐Ÿ‡ชBelgium p-neyens

    reroll of #182 add the missing facets_preprocess_block hook from #174

  • Open in Jenkins โ†’ Open on Drupal.org โ†’
    Core: 10.1.x + Environment: PHP 8.1 & MySQL 5.7
    last update over 1 year ago
    420 pass, 3 fail
  • Open in Jenkins โ†’ Open on Drupal.org โ†’
    Core: 9.5.x + Environment: PHP 8.0 & MySQL 5.7
    last update over 1 year ago
    420 pass, 3 fail
  • ๐Ÿ‡บ๐Ÿ‡ฆUkraine savkaviktor16@gmail.com

    Adapted #174 to D10.1

  • Open in Jenkins โ†’ Open on Drupal.org โ†’
    Core: 10.1.x + Environment: PHP 8.1 & MySQL 5.7
    last update over 1 year ago
    420 pass, 3 fail
  • Open in Jenkins โ†’ Open on Drupal.org โ†’
    Core: 9.5.x + Environment: PHP 8.0 & MySQL 5.7
    last update over 1 year ago
    420 pass, 3 fail
  • ๐Ÿ‡ฌ๐Ÿ‡ทGreece balis_m

    Patch from #184 works well, except range slider, that throws the following javascript error:

    TypeError: unencoded is undefined

    I've changed the slider event from "change" to "stop" and it works as expected.

  • Open in Jenkins โ†’ Open on Drupal.org โ†’
    Core: 9.5.x + Environment: PHP 8.0 & MySQL 5.7
    last update over 1 year ago
    420 pass, 3 fail
  • ๐Ÿ‡ช๐Ÿ‡ธSpain akalam

    Patch on #185 is working fine unless the site is installed in a subdirectory. I'm adding a new patch covering that use case.

  • Open in Jenkins โ†’ Open on Drupal.org โ†’
    Core: 9.5.x + Environment: PHP 8.0 & MySQL 5.7
    last update over 1 year ago
    420 pass, 3 fail
  • ๐Ÿ‡ช๐Ÿ‡ธSpain akalam

    Under some circumstances the facet_link value is an absolute URL so the ajax request fails with a 500 error. Here is a patch fixing it.

  • ๐Ÿ‡ณ๐Ÿ‡ฑNetherlands Ronald van Belzen

    None of the patches can be applied to version 2.0.6 by me. Is there a patch that can be applied?

  • ๐Ÿ‡ณ๐Ÿ‡ฟNew Zealand jweowu

    The checkboxes become unresponsive after the first time selection.

    Someone please correct me if I'm wrong, but AFAIR that was one of the pre-existing problems with the original code. Maybe triple-check that you actually have the patch applied in the code you're running / caches rebuilt / etc...? I would presume that the work here to date does address that issue.

  • ๐Ÿ‡ฉ๐Ÿ‡ฐDenmark Worries

    Patch in #183 works for us to AJAXify everything for a facet regardless of where it's placed.

    Patches #184 and onward will work with AJAX for list of links or checkboxes, but doesn't work for range sliders specifically, it triggers a page refresh.

  • ๐Ÿ‡ณ๐Ÿ‡ฑNetherlands Ronald van Belzen

    Tried patch #187 some more ,but the situation is different from what I first reported.

    I have 2 facets filters in my facets block with checkboxes.
    When I click one of the filters the checkboxes appear and I can check a checkbox. The filter works, but the checkboxes remain visible.
    I cannot hide them any longer and I cannot open the checkboxes of the other filter.
    Checking and unchecking the checkboxes of the first filter does result in the correct display of the items in the view, but I cannot close the first filter nor open the second filter anymore.

    Maybe this is a different issue?

  • ๐Ÿ‡ฏ๐Ÿ‡ดJordan n.ghunaim Amman - Jordan

    When I applied the "configure filters" option for the view, the Ajax facets did not work well so it removed what I selected for the exposed filter in the backend. Has anyone faced this before?

  • ๐Ÿ‡ฉ๐Ÿ‡ชGermany mkalkbrenner ๐Ÿ‡ฉ๐Ÿ‡ช

    Thanks to the changes in Drupal 10.1 and the fact that 10.0 will reach EOL in December, there's a lot of progress for AJAX in facets 3.0.x now, based on Drupal 10.1 AJAX in Views.

    To be honest, I don't think that anyone of the maintainers will find time to to really fix the AJAX implementation in facets 1.x and 2.x.

    I expect that we will release a new facets 3.0.0 beta soon. So I invite everyone to test and improve the new implementation.

  • ๐Ÿ‡ณ๐Ÿ‡ฟNew Zealand jweowu

    Is there an upgrade path between 2.x and 3.x, or should we expect that to be a manual process?

  • ๐Ÿ‡ฉ๐Ÿ‡ชGermany mkalkbrenner ๐Ÿ‡ฉ๐Ÿ‡ช

    I don't expect that there will be a fully automated update process that will work for all setups.

    We keep the support of the classic blocks setup without AJAX. If you use this, the upgrade path already works. And maybe this will be the only upgrade path, which means manual work after the upgrade if you use AJAX.

    AJAX will be View's AJAX. Using exposed filters which could be displayed in different ways, also as blocks.

  • ๐Ÿ‡ฆ๐Ÿ‡บAustralia elgandoz Canberra

    I'm starting a new project in D10.1 where I would really like to have facets with AJAX (Facet 3-dev BEF 6).
    I followed the steps roughly indicated here https://www.drupal.org/project/facets/issues/3353991 ๐Ÿ› How to make AJAX work with facets 3? (issue with isRenderedInCurrentRequest) Active but I'm now getting an error:
    Error: Object of class Drupal\facets\Entity\Facet could not be converted to string in Drupal\views\Plugin\views\filter\FilterPluginBase->prepareFilterSelectOptions() (line 1344 of core/modules/views/src/Plugin/views/filter/FilterPluginBase.php).
    Are those steps corrects? I couldn't find any other guide.
    I just would like to know at the current state if it's better to use v2 or v3, considering that AJAX would be great.

  • ๐Ÿ‡ฌ๐Ÿ‡ชGeorgia davit.magaldadze

    I'm getting the same error as #196

  • ๐Ÿ‡ฉ๐Ÿ‡ชGermany yannickoo Berlin

    I was just experiencing the same as #196 but fortunately found the fix for that ๐ŸŽ‰

    It seems like you need to change your Facet's widget type to Views exposed filters so it can work properly.

  • ๐Ÿ‡ฉ๐Ÿ‡ชGermany yannickoo Berlin

    I was just experiencing the same as #196 but it seems like you need to change your Facet's widget type to Views exposed filters so it doesn't break.

    The next step to adjust your facet source configuration as well so it can read the new URL parameters:

    What I have noticed is that there are just simple select lists and no more checkboxes :/

  • First commit to issue fork.
  • Merge request !162Draft: [#3052574] Facets AJAX โ†’ (Open) created by elc
  • ๐Ÿ‡ฆ๐Ÿ‡บAustralia elc

    This issue seems to be conflating both 2.x and 3.x problems and solutions. For the most part the patches are 2.x, but there are so many of them and there are so many changes that it's near impossible to gather all of the contributions and changes. I know I've missed some so if there is an important change you have previously included in a patch, time to add it to the fork branch.

    Both of the existing fork branches are stuck and unable to be rebased onto the existing 2.0.x branch so I've gathered as many of the changes as I could find which are working into a new branch. There are new tests since this issue was opened and they have changed things significantly so I have not worked on getting tests passed other than one or two changes found in patches.

    This MR is in a working state for checkboxes in a block at least. I don't have the other types setup. The roadmap of 3.x branch of having blocks without ajax is a loss of an important feature which I can't work with at present, hence needing to get the 2.0.x branch working with the same. Until 3.x has blocks+ajax, it's a step backwards in features and not compatible with existing usage.

    The many patches are extraordinarily difficult to work with - let's keep to the MR going forward. I'm sorry I couldn't salvage the other two but they had been merged with 2.x instead of fixed+rebased onto it which tangles them no end. Comparing !26 mergeable and !113 Draft to the latest patches and now this fork, the old MR should be closed off as they are well behind the current state.

    Notable change is the adding of the session to the ajax response as I was getting "Session has not been set." for both anon+auth users as I have cookies for all users in use.

    Failed to load resource: the server responded with a status of 400 (Bad Request): /facets-block-ajax?_wrapper_format=drupal_ajax:1
    Uncaught Drupal.AjaxError: ajax.js?v=10.1.6:1194
    StatusText: Bad Request
    ResponseText: {"message":"Session has not been set."}
    

    NB: Due to pick from #178, the fancy paths do not work on embedded views.

    So this 2.0.x-3052574-ajax branch MR is:

    • Patch from #187
    • Added session to request as detailed above
    • url.pathname change from #178
    • baseUrl change from MR!113
    • Pick test fixes from MR!113
    • Fix indenting. Minor CS in edited files only.
  • Pipeline finished with Success
    about 1 year ago
    #75024
  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia shree.yesare

    Combined patches from Merge request !162 and Issue: Facets with ajax enabled and no source path results in /views/ajax ๐Ÿ› Facets with ajax enabled and no source path results in /views/ajax?f... urls RTBC

  • ๐Ÿ‡ฌ๐Ÿ‡ทGreece vensires
  • Pipeline finished with Skipped
    12 months ago
    #87825
  • ๐Ÿ‡ฎ๐Ÿ‡นItaly trickfun

    Patch doesn't work!!
    When i check the first checkbox, all works fine.
    When i check the second one i get this error:

    Uncaught TypeError: Drupal.views.instances[("views_dom_id:" + current_dom_id)] is undefined
        updateFacetsView https://localhost/modules/contrib/facets/js/facets-views-ajax.js?s90eqh:141
        attach https://localhost/modules/contrib/facets/js/facets-views-ajax.js?s90eqh:115
        jQuery 7
            dispatch
            handle
            trigger
            trigger
            each
            each
            trigger
        makeCheckbox https://localhost/modules/contrib/facets/js/checkbox-widget.js?v=10.2.3:82
        jQuery 8
        makeCheckbox https://localhost/modules/contrib/facets/js/checkbox-widget.js?v=10.2.3:76
        jQuery 2
        makeCheckboxes https://localhost/modules/contrib/facets/js/checkbox-widget.js?v=10.2.3:47
        jQuery 2
        makeCheckboxes https://localhost/modules/contrib/facets/js/checkbox-widget.js?v=10.2.3:38
        attach https://localhost/modules/contrib/facets/js/checkbox-widget.js?v=10.2.3:13
        attachBehaviors https://localhost/core/misc/drupal.js?v=10.2.3:166
        attachBehaviors https://localhost/core/misc/drupal.js?v=10.2.3:162
        insert https://localhost/core/misc/ajax.js?v=10.2.3:1387
        jQuery 2
        insert https://localhost/core/misc/ajax.js?v=10.2.3:1385
        commandExecutionQueue https://localhost/core/misc/ajax.js?v=10.2.3:1046
        promise callback*Drupal.Ajax.prototype.commandExecutionQueue/< https://localhost/core/misc/ajax.js?v=10.2.3:1039
        commandExecutionQueue https://localhost/core/misc/ajax.js?v=10.2.3:1036
        success https://localhost/core/misc/ajax.js?v=10.2.3:1095
        success https://localhost/modules/contrib/ajaxin/js/ajaxin.ajax.min.js?v=10.2.3:1
        success https://localhost/modules/contrib/blazy/js/base/io/bio.ajax.min.js?s90eqh:1
        success https://localhost/core/misc/ajax.js?v=10.2.3:584
        jQuery 6
        execute https://localhost/core/misc/ajax.js?v=10.2.3:707
        updateFacetsBlocks https://localhost/modules/contrib/facets/js/facets-views-ajax.js?s90eqh:230
        updateFacetsView https://localhost/modules/contrib/facets/js/facets-views-ajax.js?s90eqh:191
        attach https://localhost/modules/contrib/facets/js/facets-views-ajax.js?s90eqh:115
        jQuery 7
        makeCheckbox https://localhost/modules/contrib/facets/js/checkbox-widget.js?v=10.2.3:82
        jQuery 8
        makeCheckbox https://localhost/modules/contrib/facets/js/checkbox-widget.js?v=10.2.3:76
        jQuery 2
        makeCheckboxes https://localhost/modules/contrib/facets/js/checkbox-widget.js?v=10.2.3:47
        jQuery 2
        makeCheckboxes https://localhost/modules/contrib/facets/js/checkbox-widget.js?v=10.2.3:38
        attach https://localhost/modules/contrib/facets/js/checkbox-widget.js?v=10.2.3:13
        attachBehaviors https://localhost/core/misc/drupal.js?v=10.2.3:166
        attachBehaviors https://localhost/core/misc/drupal.js?v=10.2.3:162
        <anonymous> https://localhost/core/misc/drupal.init.js?v=10.2.3:32
        listener https://localhost/core/misc/drupal.init.js?v=10.2.3:20
        domReady https://localhost/core/misc/drupal.init.js?v=10.2.3:26
        <anonymous> https://localhost/core/misc/drupal.init.js?v=10.2.3:31
        <anonymous> https://localhost/core/misc/drupal.init.js?v=10.2.3:34
    facets-views-ajax.js:141:50
    

    the html is the same after first checkbox

    <div class="view view-oto-commerce-catalog view-id-oto_commerce_catalog view-display-id-page_1 js-view-dom-id-3c1385dbbc4d626dc71152fff8473426ea72ab075f92cc908184afd3df177c09" data-once="ajax-pager">
          <div class="view-content row">
    

    the current_dom_id variable at line 126 of facets-views-ajax.js file is 3c1385dbbc4d626dc71152fff8473426ea72ab075f92cc908184afd3df177c09 both time.

    Drupal.views.instances has not this instance of the views.
    Thank you

  • ๐Ÿ‡ฎ๐Ÿ‡นItaly trickfun

    After remove module and re-apply patch i don't have no more this error but facet option is disabled after selection.
    Why?
    I can only select the option.
    thank you

  • ๐Ÿ‡ฉ๐Ÿ‡ชGermany fisherman90 Dortmund

    I can confirm, that now MR !162 solves it for me, szenario:

    * Page manager page instead of views-page
    * Layout builder layout / variant
    * Facets and facet-summary rendered

    Both - the facets and the summary - are updating correctly for me.

  • Status changed to RTBC 10 months ago
  • ๐Ÿ‡ฉ๐Ÿ‡ชGermany fisherman90 Dortmund
  • ๐Ÿ‡ฌ๐Ÿ‡ทGreece vensires

    So we can hide the other MRs and only keep the MR162 as relevant and working though it's currently marked as draft?

  • ๐Ÿ‡ฏ๐Ÿ‡ดJordan Qusai Taha Amman

    MR162 is working fine with me, I created a patch from it.
    Thank you!

  • ๐Ÿ‡ฏ๐Ÿ‡ดJordan mohammad-fayoumi Amman

    #210 ๐Ÿ› Facets with AJAX not working in most of situations Needs review resolved my issue. Thank you.

  • ๐Ÿ‡ซ๐Ÿ‡ทFrance hesslinger

    #210 fine, but i have a one more probleme.

    If i have query parametter from exposed filter who start by 'f' letter like 'field_type', Facets range brake url.

    exemple ?field_type=587 become ?f[0]=587&f[1]=range:(min:117,max:1000) and brake search...

    Replace this code : if (paramName.substr(0, 1) === 'f') { by if (paramName.substr(0, 2) === 'f[') {

  • ๐Ÿ‡บ๐Ÿ‡ฆUkraine khiminrm

    I have page with two different views blocks - one is the index view as a source for the facets, another one is just simple content views. And I have weird error which not always happened:

    Cannot read properties of undefined (reading 'settings')

    This is after selecting any second option from the facets.

    At this moment (before selecting the 2nd option) drupalSettings.views.ajaxViews is empty, but drupalSettings.facets_views_ajax is not empty. Maybe there is some time delay in which the drupalSettings.views.ajaxViews is empty. not sure. Can't find source of the bug. Any ideas?

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States neclimdul Houston, TX

    Notable change is the adding of the session to the ajax response as I was getting "Session has not been set." for both anon+auth users as I have cookies for all users in use.

    Failed to load resource: the server responded with a status of 400 (Bad Request): /facets-block-ajax?_wrapper_format=drupal_ajax:1
    Uncaught Drupal.AjaxError: ajax.js?v=10.1.6:1194
    StatusText: Bad Request
    ResponseText: {"message":"Session has not been set."}

    Adding it to the request not the response but this is a good find. I ran into this testing 10.3 and my ajax facet blocks where suddenly broken. The block in FacetBlockAjaxController that does this solved the problem for us.

  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia ankitv18

    Noticed AjaxBehaviorTest phpunit tests are failing while working on the D11 compatibility issue against 2.0.x branch.
    I believe tests should also be consider here to update them or provide new once. Also please rebase the MR so that gitlab pipeline would show the actual result.

  • ๐Ÿ‡ฌ๐Ÿ‡ทGreece vensires

    Rebase done.

  • Pipeline finished with Failed
    7 months ago
    Total: 776s
    #203051
  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia ankitv18

    Thanks @vensires apart from these failures https://git.drupalcode.org/issue/facets-3052574/-/jobs/1903753#L873
    I've covered all fixes in the Drupal 11 compatibility issue.

  • Status changed to Needs work 7 months ago
  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia ankitv18

    Requires to update the tests especially for AjaxBehaviourTest.php file ~~ hence moving into needs work.

  • ๐Ÿ‡บ๐Ÿ‡ฆUkraine khiminrm

    I've noticed that when using range slider the page's URl is updated wrong - it contains the base URL with page path as argument
    https://localsite.ddev.site:445/user/3372/selling/closed?https%3A%2F%2Flocalsite.ddev.site%3A445%2Fuser%2F3372%2Fselling%2Fclosed=&f%5B0%5D=total_price%3A(min%3A469%2Cmax%3A21313)
    the bug comes from there:

    var currentHref = window.location.href;
    var currentQueryParams = Drupal.Views.parseQueryString(currentHref);
    

    so maybe we need to use
    var currentQueryParams = Drupal.Views.parseQueryString(href);
    And not sure why we need second 'for' loop with replace. On my local site the code works without it. Attaching the patch and diff.

  • ๐Ÿ‡บ๐Ÿ‡ฆUkraine khiminrm

    Fixed display of prefix and suffix for the slider facet in the facets summary.

  • ๐Ÿ‡บ๐Ÿ‡ฆUkraine khiminrm

    I had bugs when used exposed filters like sorting by and number of elements on the page.
    I've included fixes from https://www.drupal.org/project/facets/issues/3168241 ๐Ÿ› Facets and exposed filters don't work together with Ajax RTBC
    but replaced also
    var href = window.location.href;
    with
    window.location.search
    as I had bug similar as in #219, but when used exposed filter before the checkbox facet.
    Also I've included small fix from the https://www.drupal.org/project/facets/issues/3246272#comment-14274178 ๐Ÿ› Facets AJAX not working with Views pager RTBC

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States montag64

    I have the exact same error as you on Drupal 10.3 and facets 2.0.7. Which patch worked for you? So far none of the ones I've tried have worked. Did you have to run cron or rebuilt the facets view or do anything else?

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States pbabin

    Upgrading to 10.3 had the same issue as neclimdul and montag64 - I used the 3052574-212.patch to get this resolved.

  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia prem suthar Ahemdabad- Gujrat , Jodhpur - Rajsthan

    After applying patch #221, clicking on any exposed filter facet removes unrelated facet items from the facets block. However, when the facet is unticked, the items do not reappear.

  • ๐Ÿ‡ฎ๐Ÿ‡นItaly trickfun

    Same behavior for me as well

  • ๐Ÿ‡ต๐Ÿ‡ฑPoland marcjana_84

    Same problem.
    Drupal 10.3.0, Facets 2.0.7, Ajax works only for the first click, and then you cant't change filtering options.
    In logs "Symfony\Component\HttpKernel\Exception\BadRequestHttpException: Session has not been set. in Symfony\Component\HttpKernel\HttpKernel->handle() (line 83 in /var/www/html/vendor/symfony/http-kernel/HttpKernel.php)."

  • ๐Ÿ‡จ๐Ÿ‡ณChina hongqing

    Same issue after upgrading from 10.2.6 to 10.3.0, 3052574-212.patch resolve it.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States montag64

    @pbabin I tried that patch as well and it didn't fix the issue for me. Did you have to rebuild the facet or do anything else beyond apply the patch? We did a drush cr

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States pbabin

    @montag64 - I ended up having to remove another one of our patches for facets. Standard Drush cr after the build nothing else

    Before 10.3 these were the patches we used

          "Facets and exposed filters don't work together with Ajax": "https://www.drupal.org/files/issues/2021-12-05/3168241-8.patch",
          "Ajax facet block seems to lose Views context": "https://www.drupal.org/files/issues/2023-01-04/2986981-32.patch",
          "Config imports of facets leads to fatal errors": "https://git.drupalcode.org/project/facets/-/merge_requests/199.patch"
    

    after 10.3

          "Ajax issues": "https://www.drupal.org/files/issues/2024-05-07/3052574-212.patch",
          "Config imports of facets leads to fatal errors": "https://git.drupalcode.org/project/facets/-/merge_requests/199.patch"
    
  • ๐Ÿ‡ต๐Ÿ‡ฑPoland marcjana_84

    In my case 3052574-212.patch also did't solve the problem.

  • ๐Ÿ‡ฎ๐Ÿ‡นItaly trickfun

    None of the patches above work properly.
    With today's dev version you can't install them.

    Without patch module doesn't work.
    When i select a checkbox all facets disappear.

    what happens?

  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia prem suthar Ahemdabad- Gujrat , Jodhpur - Rajsthan

    Yes i Have Tried Many patches From This issue not any patch fix the issue of the all facets disappear.

  • ๐Ÿ‡ฎ๐Ÿ‡นItaly trickfun

    So.
    Facets 2.0 with Drupal ^10.2 works fine. No patch applied, No strange behavior
    Facets 2.0 with Drupal 10.3 doesn't work. Facets disappeared after click option.

    When i refresh page I have this HTML element

    <div class="facet-inactive block-facets-ajax js-facet-block-id-carsproductbrand block-facet--checkbox" id="block-carsproductbrand">

    with all checkboxes. fine!!
    after click one option i get correct json response

    Object { command: "insert", method: "replaceWith", selector: "#block-carsproductbrand", โ€ฆ }

    Html element is replaced by

    <div class="facet-inactive block-facets-ajax js-facet-block-id-carsproductbrand hidden block-facet--checkbox" id="block-carsproductbrand--7fYNYNMIFpk">
    <div data-drupal-facet-id="cars_product_brand" class="facet-empty facet-hidden">
    <div class="facets-widget-checkbox">
    </div>
    </div>
    </div>
    

    Facets-widget-checkbox is empty.
    Why first time facets-widget-checkbox element has options and new facets none?

    Facets 2.0 on Drupal 10.3 with patch #221 - 3052574-221.patch works fine.
    Hope can help someone.

  • ๐Ÿ‡ซ๐Ÿ‡ทFrance dark05

    Hello :)

    I have same problem with Drupal 10.3 and Facets 2.0.7. This patch #221 โ†’ doesn't works for me.

  • ๐Ÿ‡ซ๐Ÿ‡ฎFinland simohell

    Patch from #221 fixes the functionality for me. I am however getting

    Uncaught TypeError: Cannot set properties of undefined (setting 'closeMessage')
    at messages.js?v=10.3.1:54:27
    at messages.js?v=10.3.1:55:3
    

    on each click, but so far I don't see it causing any problems.

  • ๐Ÿ‡ซ๐Ÿ‡ฎFinland simohell

    On some occasions on 10.3 logged in as admin with #221 also gives me

    VM890 facets-views-ajax.js:202 Uncaught TypeError: Cannot read properties of undefined (reading 'facets_summary_ajax_summary')
        at updateFacetsSummaryBlock (VM890 facets-views-ajax.js:202:36)
        at updateFacetsBlocks (VM890 facets-views-ajax.js:179:9)
        at updateFacetsView (VM890 facets-views-ajax.js:154:5)
        at HTMLUListElement.<anonymous> (VM890 facets-views-ajax.js:89:17)
        at HTMLUListElement.dispatch (VM835 jquery.min.js:2:40035)
        at v.handle (VM835 jquery.min.js:2:38006)
        at Object.trigger (VM835 jquery.min.js:2:70124)
        at HTMLUListElement.<anonymous> (VM835 jquery.min.js:2:70726)
        at Function.each (VM835 jquery.min.js:2:3129)
        at ce.fn.init.each (VM835 jquery.min.js:2:1594)

    And after that stops accepting checking facets from the same group (I have several taxonomies with their own sets).
    It seems to work for anonymous, however.

  • Status changed to Needs review 7 months ago
  • ๐Ÿ‡จ๐Ÿ‡พCyprus alex.bukach

    Patch #221 seems to work fine for me, however I face the issue mentioned in #236 too. Here's an updated patch.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States pbabin

    I re-applied a few other patches and then added #237 from above. The session has not been set error that was previous being displayed is now removed. In our setup, I'm not seeing an issue.

  • ๐Ÿ‡ต๐Ÿ‡นPortugal joao.ramos.costa

    Hi @Alex Bukach,

    thank you for the patch.

    I've applied it, but unfortunatelly on my end (PHP 8.3, D10.3.1, Facets 2.0.7) it ended up duplicating the existing libraries and broking some facet widget behaviors.

    It seemed solved in my case by adding request parameters to the new request parameters , allowing Drupal\Core\Ajax\AjaxResponseAttachmentsProcessor::buildAttachmentsCommands() filtering out existing libraries from ajax_page_state key:
    https://git.drupalcode.org/project/drupal/-/blob/11.x/core/lib/Drupal/Co....

    ie:

    if ($request->hasSession()) {
          $request->getSession()->save();
          $new_request->setSession($request->getSession());
          $parameters = $request->request->all();
          $new_request->request->replace($parameters);
        }
    

    But it seems to fix this momentarily, I'm not sure of the impact of it.

    But looking back now, seems to related with:
    https://www.drupal.org/project/facets/issues/3211155 โ†’ .

    Thanks

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States jennypanighetti

    I just upgraded to the Drupal 10.3.x branch and unfortunately, patch from #237 did not work for me (neither did 221 nor the suggestions in 229). There's no errors in the dblog or the console, and technically the facets function but they are no longer Ajaxed - I'm getting blog?f[0]=category%3A5081 in my URL, and they are pushing to the history.

    Not sure if that should be for this issue or a new issue...

  • ๐Ÿ‡ฉ๐Ÿ‡ชGermany svenseeberg

    I commented 2 lines in the src/Controller/FacetBlockAjaxController.php and now I do at least not get an error message:

    <?php
        foreach ($facets_blocks as $block_id => $block_selector) {
          $block_entity = $this->storage->load($block_id);
    
          if ($block_entity) {
            // Render a block, then add it to the response as a replace command.
            $block_view = $this->entityTypeManager
              ->getViewBuilder('block')
              ->view($block_entity);
            //$block_view = (string) $this->renderer->renderPlain($block_view);
            //$response->addCommand(new ReplaceCommand($block_selector, $block_view));
          }
        }
    ?>
    

    The request to /de/facets-block-ajax?_wrapper_format=drupal_ajax then returns a valid looking response with 200 OK. However, I'm not sure if the GUI is working as intended.

  • ๐Ÿ‡ต๐Ÿ‡นPortugal joao.ramos.costa

    Hi @svenseeberg,

    Thanks for following up on my incomplete information.
    To whom it may concern, I'm actually using the patch from #138, with a local patch on top of it adding the request session. As after @idebr very useful patch there was already a trajectory on the issue and I haven't had time to specifically analyze its impact, although it works on my project, I haven't yet added a patch here. I'll do that soon.

    Cheers!

  • ๐Ÿ‡บ๐Ÿ‡ฆUkraine vlad.dancer Kyiv

    I came here from ๐Ÿ› [1.15.0] bug, "Session has not been set" error thrown by select2_facets Needs review where ajax doesn't work after updating drupal core to 10.3+. While worked on solution I found code places in facets module where Request::create beeing used too: facets/src/Controller/FacetBlockAjaxController.php. So there is high chance that ajax facets won't wotrk too on drupal 10.3+. Probably because of changes in core/modules/views/src/ViewExecutable.php
    It looks like @joao.ramos.costa and @svenseeberg have already expirienced this bug and can confirm it. Adding session is requred now (when dealing with views?):

        $new_request = Request::create($path);
        $new_request->setSession($request->getSession());
    
  • ๐Ÿ‡ฌ๐Ÿ‡งUnited Kingdom 3li U.K. ๐Ÿ‡ฌ๐Ÿ‡ง

    Following on from #243 about Session not set warning.
    I have added a patch that seems to remove the warning for myself.

    I do have a feeling this should be added to another issue though.

  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia prem suthar Ahemdabad- Gujrat , Jodhpur - Rajsthan

    I have applied the Patch one by one #237 and #244, and ajax is working fine but . However, I have placed the facet blocks on the view page with the exposed filter, and on submitting the exposed filter, the facet values are not updating according to the filter values. I tested this on version 10.3.

  • ๐Ÿ‡ต๐Ÿ‡นPortugal introfini

    #244 patch is working on my project. Thanks.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States alison

    We also started having trouble when we updated to core 10.3 (10.3.1, to be precise, but we skipped 10.3.0).

    We have a view page with an exposed form, plus the facet block. As has been described, when you go to the view page, you can select a facet checkbox -- everything works fine -- but then you can't uncheck that box, or select another box in the same facet (this view has two facets in use on it -- you can check a box in the other facet, but then, same thing for that facet: you can't deselect that box, or select another box in that facet).

    #244 completely fixes the issue for us. Full disclosure: I did not try the other recent patches. (We're on Facets 2.0.7.)

  • ๐Ÿ‡จ๐Ÿ‡ฆCanada drclaw

    Regarding the issue with the session not being set on Drupal 10.3+, there is another issue with a patch for that:

    ๐Ÿ› Creating requests causes failures on Drupal 10.3 Active

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States alison

    Hmmm so, is that one (3466281) a duplicate, or are they separate issues? (or are they separate issues and we've scope-creeped on this thread (3052574)?)

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States pbabin

    I'd argue for scope creep potentially. We're on Drupal 10.3.2 and using Facets 2.0.8 with search api and none of the previous patches are working. I was using patch 237 to address the session is not set issue but with 2.0.8 I wasn't able to apply this patch anymore. The patches in 3466281 don't appear to be the way to go as it is using a mock and I was told that this is usually only for testing and shouldn't be applied to code. I'd greatly appreciate some feedback on how to proceed with my current setup as my patch for 2.0.8 does not appear to be applicable.

  • ๐Ÿ‡ณ๐Ÿ‡ฑNetherlands spokje

    Reroll of #244 ๐Ÿ› Facets with AJAX not working in most of situations Needs review for 2.0.8.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States pbabin

    @Spokje - Dank je wel! 251 reroll of 244 is working on our end.

    Applied 251 in 2.0.8 and we are not getting the session is not set error.

  • ๐Ÿ‡ซ๐Ÿ‡ทFrance dark05

    Hello,

    When update module with new version (2.0.8), the patch #212 โ†’ not works. As a result, ajax no longer works with my facets if I remove the patch to get the latest version of the module. Any have a solution ?

  • ๐Ÿ‡ฆ๐Ÿ‡บAustralia elc

    Re-roll of #3052574-237: Facets with AJAX not working in most of situations โ†’ for 2.0.8.

    Also had to patch in:

    Due to the close quarters of code changes, these do not cleanly apply. Appended a custom patch for #3466566-3: New $request created in FacetBlockAjaxController missing ajax_page_state โ†’ to apply after this one.

    No need to also apply #251 as it is handled by this patch.

  • ๐Ÿ‡ซ๐Ÿ‡ทFrance dark05

    Thanks @elc, your patch works well!

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States jennypanighetti

    Ditto - thank you @elc!!

  • ๐Ÿ‡ต๐Ÿ‡นPortugal joao.ramos.costa

    Thank you @elc,

    your patch and #254 suggestions worked for my case (D10.3.1 , Facets 2.0.8, Search API 1.35.0).

  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia Hemangi Gokhale

    The patch provided at #212 almost fixed the issue. However, I encountered conflicts with multiple interdependent facets on a single page. The patch from #254 resolved this issue. To fix it, I simply used the dev version instead of 2.0.8: composer require 'drupal/facets:2.0.x-dev#3e6c1ea'

  • Hello,
    The patch from #254 โ†’ almost resolved the issue.
    Whenever I select a second independent facet element, I get:
    Uncaught TypeError: settings.facets_views_ajax is undefined

  • ๐Ÿ‡ฌ๐Ÿ‡งUnited Kingdom John Cook

    I used the patch in #215 and that worked for me.

    ```
    Drupal: 10.3.1
    Search API: 8.x-1.35
    Facets: 2.0.8
    ```

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States michalsen

    Drupal 10.3.6
    Search API: 8.x-1.35
    Facets 2.0.9

    The recent update to 2.0.9 caused a composer build error with #254 ๐Ÿ› Facets with AJAX not working in most of situations Needs review . Patch #251 ๐Ÿ› Facets with AJAX not working in most of situations Needs review worked

  • ๐Ÿ‡ฌ๐Ÿ‡งUnited Kingdom c_archer Cumbria

    Patch in #220 no longer applies against facet version 2.0.9

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States imran1217

    Re-roll of patch in #254 against facets version 2.0.9

  • ๐Ÿ‡ฌ๐Ÿ‡งUnited Kingdom c_archer Cumbria

    Patch in #263 works as expected

  • ๐Ÿ‡ณ๐Ÿ‡ฑNetherlands Lendude Amsterdam

    #263 breaks for us when a block ID is found but a Broken block is loaded in $block_instance = $this->blockManager->createInstance($block_id);, so added hardening against that

  • ๐Ÿ‡ช๐Ÿ‡ธSpain pcambra Asturies

    #251 is still the canonical patch for this issue, the rest include other patches.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States sonfd Portland, ME

    Confirming pcambra's comment that #251 is the canonical patch for this issue.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States sonfd Portland, ME
  • ๐Ÿ‡ซ๐Ÿ‡ทFrance hesslinger

    #265 work, but not keep #212 fix.

    Probleme :
    If i have query parametter from exposed filter who start by 'f' letter like 'field_type', Facets range brake url.

    exemple ?field_type=587 become ?f[0]=587&f[1]=range:(min:117,max:1000) and brake search...

    Replace this code :
    if (paramName.substr(0, 1) === 'f') {
    by
    if (paramName.substr(0, 2) === 'f[') {
    Fix it..

  • ๐Ÿ‡ซ๐Ÿ‡ทFrance hesslinger

    Sorry #269 not build correcty.

  • ๐Ÿ‡บ๐Ÿ‡ฆUkraine bobi-mel

    Hi @hesslinger

    the patch #270 works well

  • ๐Ÿ‡ง๐Ÿ‡พBelarus VasiliyRepin Minsk

    #270 doesn't work with facets_block module. I need this module very much, because project have teens facet blocks.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States karlshea Minneapolis ๐Ÿ‡บ๐Ÿ‡ธ

    Rebased !162 on 2.0.x. It doesn't apply cleanly to 2.0.9 right now because there's been a change to facets-views-ajax.js since that was tagged, but that's the only change right now.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States karlshea Minneapolis ๐Ÿ‡บ๐Ÿ‡ธ

    I also need a separate patch on top for the facets range summary to work, I'm not sure if that should go into the MR or not?

    This is the patch for DefaultFacetsSummaryManager:

                 // @todo Keep non-facet related get params.
    -            $url = Url::fromUserInput($facets_summary->getFacetSource()->getPath());
    +            $path = \Drupal::service('path.current')->getPath();
    +            /** @var \Drupal\path_alias\AliasManager $pathAliasManager */
    +            $pathAliasManager = \Drupal::service('path_alias.manager');
    +            $path = $pathAliasManager->getAliasByPath($path);
    +            try {
    +              $url = Url::fromUserInput($path);
    +            }
    +            catch (InvalidArgumentException $e) {
    +              $url = Url::fromUri($path);
    +            }
    
  • Pipeline finished with Failed
    3 months ago
    Total: 750s
    #331418
  • ๐Ÿ‡ง๐Ÿ‡ชBelgium BramDriesen Belgium ๐Ÿ‡ง๐Ÿ‡ช

    MR !162 actually does apply cleanly for me on the latest tagged release.

    Uploading a static patch.

  • ๐Ÿ‡ณ๐Ÿ‡ฑNetherlands bram.velthoven

    Latest patch does not apply for 2.0.9

  • ๐Ÿ‡ฎ๐Ÿ‡ฑIsrael jsacksick

    I've been testing the patch on Commerce Kickstart and Drupal 11 and was encountering issues... After filtering, I all the checkboxes remain disabled and couldn't "uncheck" facets anymore, the whoe facet block was "disabled".

  • Status changed to RTBC 2 months ago
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States John Franklin

    @jsacksick - can you add a unit test that demonstrates the facets issues you're experiencing?

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States John Franklin

    @jsacksick - can you add a unit test that demonstrates the facets issues you're experiencing?

  • ๐Ÿ‡ฆ๐Ÿ‡บAustralia Toby Wild

    Apologies John, I don't know how to write unit tests, however I can also confirm the same behaviour.

    Using the patch from #275, when a facet is activated, the search occurs, all other facet elements in the same facet group are given a 'disabled=disabled' attribute.

    If there are other facets on the page, they are still active and working, however only until you use a single facet in each group.

    Manually removing the disabled=disabled attribute makes the inputs interact-able, but doesn't actually trigger a search.

    An error message is reported in the console:

    Session has not been set.

  • Thank you - patch #270 works for me with version 2.0.9.

  • Wow, feels great to run up against an issue and see it being resolved in real time.
    Patch #270 solves the issue for me as well on version 2.0.9, thanks.

  • ๐Ÿ‡จ๐Ÿ‡ณChina skyredwang Shanghai

    I tested both #270 and #275, neither works for me; still getting this error:

    Uncaught TypeError: Cannot read properties of undefined (reading 'facets_summary_ajax_summary')

    Because, 2.0.9 was a security release, and sites cannot roll back to a previous working version. I am bumping the priority of this issue up.

  • ๐Ÿ‡ฎ๐Ÿ‡นItaly trickfun

    Patch #270 works for me with version 2.0.9.
    Thank you

  • ๐Ÿ‡ฌ๐Ÿ‡ทGreece vensires

    As a sum up, I think that what we should keep from the comments above is that patch #270 works and fixes all the issues BUT the one described in #283 where a facets summary exists in the page. Might it be that the solution identified in #274 is what we need?

  • ๐Ÿ‡ฎ๐Ÿ‡นItaly trickfun

    In another project i have this error
    module 2.0.9 and patch #270

    Uncaught TypeError: Drupal.facets is undefined
        attach https://tc.algra.it/modules/contrib/facets/js/soft-limit.js?v=10.3.10:14
    

    soft-limit.js hasn't Drupal in (function ($, once) {
    row 6 and row 73

    and

    TypeError: settings.facets_views_ajax is undefined
        updateFacetsSummaryBlock https://tc.algra.it/modules/contrib/facets/js/facets-views-ajax.js?som2ct:227
    

    inside updateFacetsSummaryBlock function i don't have settings.facets_views_ajax variable
    i don't install summary block.

    I update patch #270 with both fix

  • First commit to issue fork.
  • Pipeline finished with Success
    12 days ago
    Total: 884s
    #398407
  • ๐Ÿ‡ณ๐Ÿ‡ฑNetherlands rbosscher

    #285 has resolved all the issues I encountered, including the facets_summary_ajax_summary error. Thank you all for the effort put into this patchโ€”it works perfectly for my use case!

    Can anybody confirm this fix, so we can proceed with creating a merge request?

  • Status changed to Needs review 9 days ago
  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia joshua1234511 Goa

    The tests modified in the MR (https://git.drupalcode.org/project/facets/-/merge_requests/162/diffs?commit_id=40abf8f878d10c3b1c10cbf1029aaf4d42313ffb) are no longer required, as the Ajax behavior they validate has been removed from the main branch. This can be verified by referring to the comparison here: https://git.drupalcode.org/project/facets/-/compare/995bd75a428b8bfc85236d0100436735277814a1...5993b7a2b36412bdb4e1daa838e445cb7c93f20e .

    Can proceed with testing and mark the MR as ready to merge.

Production build 0.71.5 2024