Skip to content

Mastodon for iOS / Ivory → wp-admin redirect + v2 endpoint JSON crash #286

@frankpanduh

Description

@frankpanduh

Mastodon for iOS / Ivory → wp-admin redirect + v2 endpoint JSON crash

Adding to #180 as I'm hitting the same dashboard redirect issue plus an additional problem that might help diagnose both. Could be operator error but just in case any one else is hitting the same wall.


Stack

  • Ubuntu 22.04.5 LTS
  • OpenLiteSpeed / LiteSpeed Cache (CyberPanel)
  • LSPHP 8.3
  • WordPress with ActivityPub 8.0.1, Friends 3.6.0, Enable Mastodon Apps 1.4.6
  • Mastodon for iOS 2026.01 / Ivory (same behavior on both)

Problem 1 — Dashboard redirect after OAuth

Same as #180. After OAuth authorize completes, instead of redirecting back to the app via mastodon://joinmastodon.org/oauth, the in-app browser lands on wp-admin. The authorize and token steps complete successfully per the debug log:

200 POST /oauth/authorize   current_user = 1
200 POST /oauth/token       current_user = 0

Token is issued but the mastodon:// custom URL scheme redirect never fires — browser lands on wp-admin instead of handing off to the app.

Ruled out: CSP, LiteSpeed caching, Jetpack SSO, WP_DEBUG output.

When manually clicking the OAuth link from the debug panel the flow completes and the app connects — but then immediately hits Problem 2.


Problem 2 — v2 endpoints returning HTML 404, crashing iOS app

Once connected, Mastodon for iOS throws "The data couldn't be read because it isn't in the correct format" and dies. Traced it to v2 endpoints returning a full WordPress HTML 404 page instead of JSON:

curl -s https://example.com/api/v2/filters | head -c 200
# Returns full HTML WordPress 404 page, not JSON

Endpoints confirmed via debug logs:

  • GET /api/v2/filters
  • GET /api/v2/notifications/policy

A JSON fallback like {"error":"not_implemented"} with a 404 status for unimplemented v2 endpoints would likely fix this.


Additional observations

  • 400 GET /api/v1/notificationsrest_invalid_param: types — the types[] array param doesn't appear to be accepted
  • WooCommerce form nonces being injected into /oauth/token POST params as null values — probably harmless but worth knowing

Happy to provide more logs or test anything specific. Thanks for your time in advance and keeping open source stuff alive!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions