@WAHa_06x36 @tootapp What are they then? Mastodon sends its IDs as strings too because of JSON integer overflow
@WAHa_06x36 @tootapp Is that basically UUIDs? I suppose that really fucks with the ability to calculate toot gaps (although it should still be possible with more effort if their API responses include next/prev links)
That being said, the Mastodon REST API was never intended to be used by anything but Mastodon, so maybe it's a good thing.
@Gargron @WAHa_06x36 Just their own completely custom format. I think it's the same type of snowflake ID, just with more bits.
Why on earth this would be necessary I don't know.
@Gargron @WAHa_06x36 @tootapp Then why not let people take a stab at creating a working "S" for the C2S part of ActivityPub in Mastodon?
@lain @tootapp @WAHa_06x36 If I understand correctly, the difference is in the encoding. Mastodon IDs are numeric in nature, so you can treat them as a big integer.
@lain @Gargron @WAHa_06x36 Mastodon ids are 64-bit integers, represented as strings.
@lain @Gargron @tootapp @WAHa_06x36 if they're still sortable as strings, Tusky will work just fine. Not sure why it should break any other client. Does anyone really convert them to integers?..
@charlag @lain @Gargron @WAHa_06x36 I do, for the cache database layer.
@tootapp l we do it as well for the same reason and I made sure that SQLite will do the thing I need.
https://github.com/tuskyapp/Tusky/blob/3ab78a19bcf9fa9212f27869805ca653d6638bfb/app/src/main/java/com/keylesspalace/tusky/db/TimelineDao.kt#L44
What do you use for such persistence?
@charlag Custom hash table database, as no existing solution worked without massive bloat.
@lain @charlag @Gargron @WAHa_06x36 Except Toot!, because you broke a core assumption of the Mastodon client API that I am relying on.
@tootapp @lain @Gargron @WAHa_06x36 could you... decode this number? It's still a number, right?
@charlag @lain @Gargron @WAHa_06x36 It’s too big to fit the hash table, and of course I have no guarantee Pleroma won’t just change its mind again.
@lain @charlag @Gargron @WAHa_06x36 I did check with Eugen that this is what is intended, and will remain the case for the foreseeable future.
@lain @charlag @Gargron @WAHa_06x36 Why though? 64 bit is enough for Mastodon, why not for you? There was no problem before, but now you have introduced one.
@lain @charlag @Gargron @WAHa_06x36 The only way Toot will ever work with Pleroma again is if you have a mapping back to 64 bits, though, or if you get back to being compatible with the API as it exists in Mastodon.
@tootapp @lain @charlag @gargron @WAHa_06x36 seriously?
@DarckCrystale Yes. Looking into whether the mapping idea is feasible now.
@sascha Rewriting a custom caching database layer?
@lain Also, Mastodon IDs are *not* sortable strings, they are sortable integers, represented as strings. "9" < "10" in the Mastodon API, which is not true for regular string comparison.
@lain They don't. They are are represented as regular integers, as far as I know. Comparing them as strings is wrong.
@Gargron @tootapp IDs are no longer 64-bit integers.