Open perillamint opened 1 year ago
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 )
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.
uuid::Uuid::from_u128()
uuid::Uuid::as_u128()
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 )
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.
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()
anduuid::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 )