[3.6.2] Pagination throws "404" after upgrade to 3.6

Hi,

after upgrading to 3.6.2 the pagination isn’t working as expected anymore. I followed the cookbook Load more with Ajax | Kirby CMS which went perfectly well in 3.5.7.1.

After upgrading to 3.6.2 the same requests show The requested resource /topicworlds/schulleben.json/page:1 was not found on this server.Any idea where to start debugging?

Probably i missed a migration step?

Thanks in advance and all the best,

Thomas E.-E.

Sorry for the late reply, I finally found the time to copy paste the recipe code into a fresh 3.6.2 Starterkit and everything works as expected.

There shouldn’t be a call to page:1, though, that looks wrong.

Hi @texnixe,

thanks for your feedback! I always forget about the first check with the StarterKit. So i did the same and got the same error as described above:

Any idea?

Did you copy the code from the recipe exactly as is? Does the no-js fallback navigation work?

yes, one by one …

In the logs:

yes, no-js-fallback navigation works

In the logs:

manual call to photography.json

So it seems to fallback navigation doesn’t use the json representation. which the js-version use …

And adding the param to the json representation when calling it in the browser also works?

Update: after downgrading to 3.5.7.1 (in the fresh starterkit) the exact same code works again. Also the paginated call to the json representation.

doesn’t work either:

In the logs:

Probably anything related to the changes to the router i read about in the release notes?

I am on MacOs 12.2.1 using PHP:

thomasee@Thomass-MacBook-Pro-2 starterkit-main-3.6.2 % php -v
PHP 7.4.25 (cli) (built: Oct 21 2021 07:37:05) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Xdebug v3.1.1, Copyright (c) 2002-2021, by Derick Rethans
    with Zend OPcache v7.4.25, Copyright (c), by Zend Technologies
thomasee@Thomass-MacBook-Pro-2 starterkit-main-3.6.2 % 

btw.

I just tested with the built-in server and running into the same issue. I’m using Valet and in that context I don’t have this problem.

ok, good to know, that it’s not just me running into trouble … any idea how to move forward? Are you going to investigate things further? Can i help? How?

Are you using PHP to serve the files or built-in Apache? In either case I believe json isn’t recognized as type json and therefore causing the issue. In case of Apache you can use htaccess file to serve the correct MIME type.

I am using plain PHP (starting local kirby with php -S localhost:8090 kirby/router.php).

But something must have changed in kirby from 3.5.7 to 3.6.2 as downgrading makes the whole thing work without changing anything else (except the version in composer.json and issuing composer update).

Then it’d be probably helpful to know when exactly the change was introduced — would you be able to check latest 3.5 version and 3.6.0? Anyway, it’s probably something the dev team knows more about.

very good point @helloanselm … it was with 3.6.13.6.0 still works. Might be helpful for you @texnixe.

Any idea, how to move forward here, kirby-Team?

I haven’t been able to look into this yet. Maybe create an issue on GitHub, seems to be an issue only related to the built-in server. Cannot reproduce with Valet or MAMP.

Hi @texnixe, any chance you have looked into this further since your last response? I’d really like to implement it on a project I’m working on. (I am using 3.6.2) Thanks :slight_smile:

The first step would be to update to the current version as this might have been fixed in the meantime.

Thanks for your reply! I’ve just tried with 3.6.6, unfortunately still not working. I’ve reverted back to 3.6.0 and it’s all back so I’ll stick with that for now.

In an old Kirby 1/2 project, i was working on, the pagination sign was : , recently was working on Kirby 3.6 project and realized that the pagination sign changed to ;

[Web Server ] Jun  2 12:31:12 |WARN   | SERVER GET  (404) /news/page:2
[Web Server ] Jun  2 12:31:20 |INFO   | SERVER GET  (200) /news/page;2

Maybe that’s the issue. You have hardcoded links referring to the page:2 instead of page;2.