Hacker News new | ask | show | jobs
by xxdiamondxx 1248 days ago
Doesn't seem to work with pleroma yet (elixir implementation)
3 comments

I'm guessing they've got something like Go's `DisallowUnknownFields()` turned on and the Pleroma extension block is causing an error.

FWIW GotoSocial seems to work (although Ivory is showing that timeline under the wrong user for some reason - all the GtS timeline posts are shown as the user I logged into the Akkoma instance with.)

In summary, if you're not using a Mastodon instance, probably give it a month or two.

EDIT: Having said that, it's showing every timeline item on the GtS instance as the same one - I suspect they might be using integers for IDs (which is what Mastodon - but no-one else - does) and coincidentally this timeline has IDs that all start with `01`. Which would also explain the Akkoma problem since all those IDs are currently starting with `AR` and thus unparseable as integers.

That's a deal-breaker for me, sadly, but at least it means that "Mastodon" actually means "Mastodon" in this case.
That seems to be deliberate, and I hate it. There are very few reasons any client implementing MastoAPI shouldn't also support Akkoma/Pleroma.

None of the iOS Mastodon apps (except one that is proprietary and seemingly not published on the german appstore) properly support Akkoma notifications, but a somewhat broken Ivory would still be better than a halfway broken Metatext.

> There are very few reasons any client implementing MastoAPI shouldn't also support Akkoma/Pleroma.

Depends how you implement it. e.g. If you use `int64` for your IDs, Akkoma and GotoSocial won't work. Or if you send your POST parameters in the URL, Akkoma won't work. There's other subtle stuff too - toot codes unset optional fields as `null` in the JSON it sends (rather than leaving them out) which breaks both Akkoma and GotoSocial.

In summary, someone needs to write a decent MastoAPI spec and get everyone to agree on that rather than this ad-hoc balkanisation.

The API (https://docs.joinmastodon.org/entities/Status/#id) explains that IDs are not numbers:

    Description: ID of the status in the database.
    Type: String (cast from an integer but not guaranteed to be a number)
    Version history:
0.1.0 - added

In other words, even the Mastodon API docs claim the ID isn't guaranteed not to be a string.

I'm sure there are undocumented differences, but if you base your data model on the spec then there's no reason to even assume you can just use a number.

That was added after the developers of Toot! (iOS app) claimed Pleroma was at fault for it not working with their app because they implemented MastoAPI wrong.

Toot! seems to work with Akkoma/Pleroma now, but notifications are still somewhat lossy.