Odd behaviour when changing URL in panel

Hi – hopefully someone can help here.

It’s really quite odd but I’ll try to explain. I have a fairly simple site running locally in mamp. Everything is fine except when I change the URL setting of one particular page – a top level page with url and title of ‘locations’. At the point of entering the new url the panel basically hangs with the url dialog still showing, the browser still pointing to the old url, and the top right hexagon icon spinning.

If I click cancel in the url dialog I can navigate back to the panel’s site page but if I try to return to the ‘locations’ page it won’t load – the page gets as far as the top black bar but only the site in the breadcrumb trail and then below that only the ‘settings’ cog and label – nothing else – no title field, no blueprint fields, nothing. And clicking ‘settings’ does nothing. And the top right hexagon icon still spinning

The only way to recover the site is to restart mamp at which point the page is accessible in the panel and the newly entered url is reflected in the browser url and the panel’s breadcrumb trail. However the top right hexagon remains spinning and never resolves to a search icon – no matter what page I navigate to.

No other page has this behaviour. I can change their urls with no issue.
I suspected routing but there is none in this site.
I suspected plugins (like maybe bouncer which I’m using here) but removing the plugins folder (and also any accounts with bouncer fields) made no difference.
I briefly thought maybe the blueprint name is reserved or something but changing it and then retrying all of the above gets the same result.
And then I ran out of ideas.

Anyone got a clue here? I stumbled on this issue as a client was asking if they could edit urls etc and I was about to say ‘no problem’ except now that’s not true.

Thanks.

Just tried all this on a test version running live via my webhost – same result. Except worse (much worse) as I can’t just restart mamp here – the panel for that branch of child pages is basically dead at this point. Even going in via cpanel and renaming the content folder back to what it was has no effect. Baffling.

update: new browser/session resolved this. but still the whole thing is a long way from ideal.

I personally have no intuition here. Maybe provide some more info:

  • what slug are you trying to change it to? (or is it irrelevant?)
  • does the javascript console say something (any errors)?
  • in the browsers dev tools, network tab, is there a request that doesn’t get a response? (open devtools before trying to change url)
  • I’m not sure I understood correctly: does the panel hang before or after having clicked the “Change” button on the change url dialog?
  • does your site use any hooks?
  • after this happens, does the content folder “look normal”? (especially inside the ex-locations page)

Hey, thanks for your input.
in response…

  1. no matter what new slug i enter i get the same result (but only for the locations page)
  2. no console errors
  3. nothing happening in the network tab
  4. once I click ‘change’
  5. no hooks
  6. yes, normal and the folder has its new name

Ok. It feels like trying to hit a duck, from 200m, with a slingshot, while blindfolded and with cuffed hands, from behind a stonewall while listening to “Meshuggah - Clockworks”.

this means you have checked subpages? like, entering manually the url /panel/pages/ex-locations+mysubpage?

You’re sure there’s no pending network request? Also when trying to load the no longer working page and the hexagon keeps spinning? Like, you enter status-code:0 into the filter of the network tab and you don’t see any request?
image

Thanks, and yes, I appreciate the opaqueness of the situation(and your fondness for Meshuggah).
good idea on checking the next level child pages by manually entering url – they seem fine.
And thanks also for prompting on the network request – i was wrong – ‘slug’ is pending –

Does this page have a lot of subpages?

When trying to re-navigate to the page within panel the network says –

not a lot – a dozen maybe

Is it a multilanguage site?
Do you mind sharing the page blueprint for the locations page?
Is there a model for the locations page?

Something makes me think that kirby is unable to generate an api response for the page (that is serializing it into a json response); maybe some kind of endless recursion, or a blocking io call…

no, not multilanguage
no models at all
I can share the blueprint but how in this forum? dropbox link?

simply copy paste, then select it and click the “preformatted text” (image) button

https://www.dropbox.com/s/9xrflq5app3r6af/locations.yml?dl=1

and those extended fields: https://www.dropbox.com/sh/3d9f4mbv2t1zngl/AABNFMtvrYbYNT6d6Tr95U7ba?dl=1

Don’t think this has anything to do with it, but there’s an error on line 83:

      files: true
        image:
          cover: true
          ratio: 16/9
          size: small
        info: "{{ file.dimensions }}"

That first true, after files: shouldn’t be there.

thanks – yes and good spotting – sadly fixing doesn’t solve the issue

just installing the blueprints in a clean setup doesn’t replicate the problem. so, no clue… In the meantime I’ll tag @bnomei here, since I’ve seen you’re using the autoid plugin and his plugin uses a page.changeSlug:after hook.

Thanks all. I think I have a solution – though not an explanation. I got a fresh starterkit and stripped it right back to bare bones, no templates, snippets, models, controllers, plugins, config, tags, blueprints, assets, only one account… and content just a couple of folders with their .txt files. The panel behaviour when changing the slug still occurred for the content folder with the problematic .txt file copied from my working site. I stripped all its data out except for ‘title’ and still couldn’t change slug. However when I trashed the .txt file completely and made a fresh one, same name and content, all was fine – I could change the slug no problem. So, I don’t know… corrupt .txt file maybe? Anyway, thanks @rasteiner for your time and input.

Happy you got it working :slight_smile: