kitsune-soc / kitsune

🦊 (fast) ActivityPub-federated microblogging
https://joinkitsune.org
Other
306 stars 19 forks source link

Support decimal-version of UUID in API #206

Open perillamint opened 1 year ago

perillamint commented 1 year ago

Pitch

Currently, Kitsune uses UUID in canonical form in Mastodon ID. However, some noticeable iOS Mastodon clients like Ivory and Ice Cubes does not like non-decimal ID. (related Pleroma issue: https://git.pleroma.social/pleroma/pleroma/-/issues/3057 )

Proposal

Refactor Mastodon API to use UUID in u128 form to support those apps. UUID in unsigned 128-bit integer. uuid::Uuid::from_u128() and uuid::Uuid::as_u128() would be handy in here.

Potential problems

Even if we switch to "decimal UUID", if the clients do not support unsigned 128-bit or bigger ID number, this API enhancement will be meaningless. (At least, in IceCubes App https://github.com/Dimillian/IceCubesApp/issues/651#issuecomment-1457094682 )

perillamint commented 1 year ago

It seems both of implementation (ref: https://tapbots.social/@ivory/110373517595723248 ) uses i64 ID. So showing uuid as a u128 number will not work in those apps.