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.
#5 works for me together with the Facets 2.x AJAX fix: https://www.drupal.org/project/facets/issues/3052574#comment-15050142 🐛 Facets with AJAX not working in most of situations Needs review
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.