Panel not showing updated content in one section (blueprint) in one language

I’m looking for possible solutions for reasons that when I update a particular page of my Kirby, in the non-default language, the changes do not display in the Panel.

The changes do reflect in the content.txt file; they just don’t show in the Panel fields. And then, if something else is updated via the Panel it then replaces the values that are in the content.txt file, and should be showing in the Panel, with the old values that are visible in the Panel.

I have tried:

  • the suggestions in the Panel Issues page of the guide including OPcache, mod_expires, and browser cache
  • debugging my blueprint, removing all fields except one etc
  • file and folder permissions

On this page the default language, English, saves fine and displays in the Panel as expected.
On other pages of the installation, everything works as expected in both languages.
The issue only affects this page/section in the non-default language.

Any suggestions on other possibilites of where to look for a problem?

I there anything special about this page? Does it use plugins not used in other pages? Have you tried to recreate the page?

No. Nothing special about this page, no plugins at all, and I have tried to recreate the page since your last email but no luck

I eventually found the issue, although I am not sure why it was causing an issue?

There was a ‘ready’ prop in config.php that references fields from this particular page.

'ready' => function ($kirby) {
  $security = null;
  if ($kirby->site()->find('email')->server_security()->isNotEmpty()) {
    $security = $kirby->site()->find('email')->server_security()->toBool();
  }
  return [
    'email' => [
      'transport' => [
        'type'     => 'smtp',
        'host'     => $kirby->site()->find('email')->server_host()->toString(),
        'port'     => $kirby->site()->find('email')->server_port()->toInt(),
        'auth'     => $kirby->site()->find('email')->server_auth()->toBool(),
        'security' => $security,
        'username' => $kirby->site()->find('email')->server_username()->toString(),
        'password' => $kirby->site()->find('email')->server_password()->toString()
    ]
  ]
];

},

Removing that allowed the page to be saved in non-default languages.

Posting as solution for any confuzzled devs who find themselves in a similar pickle.