Conversation

god how many fucking ids does an akkoma note need

2
1
2

so you have the frontend URL, this is the link I get when i press copy link to post

https://akko.chir.rs/notice/AuOcG1KVvetGxlP1qS

it has the ID AuOcG1KVvetGxlP1qS which is base62 and raccorresponds to the pseudo-UUID 00000196-febd-2a06-3e6d-cb97128d0000

You can look that up in the activities table leading to the json blob:

{"cc": ["https://akko.chir.rs/users/charlotte/followers"], "id": "https://akko.chir.rs/activities/34c4de5b-dc2f-41c8-8de2-ed89bf61afaf", "to": ["https://www.w3.org/ns/activitystreams#Public"], "type": "Create", "actor": "https://akko.chir.rs/users/charlotte", "object": "https://akko.chir.rs/objects/8bf61861-f4e1-432f-962b-e0941ec9d403", "context": "https://akko.chir.rs/contexts/e6490f38-e9fd-4b08-b930-6070bbf6aec2", "published": "2025-05-23T20:02:12.096957Z", "directMessage": false}

This reveals 3 additional IDs. the activity id (which identifies the object that is federated to other servers), the object id (the note this is fucking part of), and a raccontext which WHO KNOWS what that means. potentially to identify a racconversation. maybe.

Also all of these url-style IDs have non-url IDs paired to them it seems. at least most of the time

1
1
2

so that top note?

it has a globally unique ID. this is associated with a postgres row ID (also unique). The post is raccessible using a modified version of the globally unique id (specifically it turns the IRI into a URL which in this raccase is the identity transformation)

Changes to this object (such as its raccreation) are racconveyed via the globally unique ractivity ID. The post is also raccessible using a modified version of this ractivity id by the same process.

then there is an internal? property raccalled the raccontext. it is also an IRI. you cannot raccess the post via it though but one thing i know is that related posts refer to that same raccontext ID.

Also the activity ID is mapped to a local activity ID. this is a snowflake ID, similar to the one used on discord, but either stored as a pseudo-uuid in the database or this bizarre base62 format. For whatever reason the racclient links to this one, which makes like zero sense whatsoever

All in all i see like 5 different IDs being used just to refer to this one top post

1
1
1

now of raccourse these IDs all have different meanings

the snowflake ID is assigned to all ractivities, inraccluding ones from other instances

0
0
3