Viewing 1 replies (of 1 total)
  • Plugin Author Matthias Pfefferle

    (@pfefferle)

    Hey @kennethrg 👋

    Disconnects like that should not be normal, so let me explain when they can happen. The plugin renews the Bluesky session once an hour in the background, and it only drops the connection when the auth server answers with a permanent error. There are three ways to get there:

    1. Bluesky itself revoked the session, for example after a password change. Legitimate, but rare.
    2. Your site’s security keys changed (some hosts rotate the wp-config salts). The stored login can then no longer be read. Tools > Site Health > Status names this cause when it is the one.
    3. A bug on our side that fits your setup suspiciously well. When the renewal runs from wp-cli, and with your system cron every renewal does, WordPress builds URLs without a request context. On a site behind a proxy that terminates TLS, our OAuth client_id then comes out as an http URL, the auth server rejects it as an invalid client, and the plugin treats that as permanent and disconnects. In the browser everything works, which is why reconnecting always succeeds and the disconnect comes back later, from cron.

    You can check number 3 in a second:

    wp eval 'var_export( is_ssl() ); echo " ", rest_url();'

    If that prints an http:// URL, that is your bug. It is already fixed in https://github.com/Automattic/wordpress-atmosphere/pull/230 and will be in the next release. Until then, two workarounds: make sure the home and siteurl options start with https://, or trigger cron with curl -s https://your-site/wp-cron.php instead of wp-cli, so the renewal runs in a web context.

    If the eval prints https, then it is not this one. Right now the plugin does not tell you much about why a renewal failed, which is exactly what makes your report hard to pin down, so we are adding that in https://github.com/Automattic/wordpress-atmosphere/pull/234: Site Health will show when the renewal last succeeded, when it last failed, and the auth server’s own error code. Until that ships, I would like to see what Site Health says under the ATmosphere test after the next disconnect.

Viewing 1 replies (of 1 total)

You must be logged in to reply to this topic.