ilja :pumpkin_owo: on Nostr: i'm thinking about feature discovery in fedi.I found this (smoll) thread on socialhub ...
i'm thinking about feature discovery in fedi.I found this (smoll) thread on socialhub https://socialhub.activitypub.rocks/t/service-capability-discovery/630
There's basically either using nodeinfo, which i don't like cause it's not very AP. Or adding keys to the actor, which i consider more proper AP-wise.
It seems litepub even defines a "capabilities" key already, see e.g. https://ilja.space/schemas/litepub-0.1.jsonld I didn't know that!
It's not very used now I think, but could become quite extended if we actually start to use this. It seems it's a normal json object. This means the capabilities are always send with the actor completely (i.e. not referenced with an id so you only have to fetch the whole thing when needed), but I guess that's ok bc most of the times you will only reference the actor by id anyhow, so the times you fetch it, you probably want to fetch the capabilities as well?
Smithereen seems to use this capabilities key, I'm unsure about other software. I'm not seeing it as a fep, but could maybe be good to define it better?
An simplified example from Smithereen is
{
"type": "Person",
"id": "https://friends.grishka.me/users/1";,
"capabilities": {
"supportsFriendRequests": true
},
"@context": [
"https://www.w3.org/ns/activitystreams";,
{
"sm": "http://smithereen.software/ns#";,
"supportsFriendRequests": "sm:supportsFriendRequests",
}
]
}
#FediDev
There's basically either using nodeinfo, which i don't like cause it's not very AP. Or adding keys to the actor, which i consider more proper AP-wise.
It seems litepub even defines a "capabilities" key already, see e.g. https://ilja.space/schemas/litepub-0.1.jsonld I didn't know that!
It's not very used now I think, but could become quite extended if we actually start to use this. It seems it's a normal json object. This means the capabilities are always send with the actor completely (i.e. not referenced with an id so you only have to fetch the whole thing when needed), but I guess that's ok bc most of the times you will only reference the actor by id anyhow, so the times you fetch it, you probably want to fetch the capabilities as well?
Smithereen seems to use this capabilities key, I'm unsure about other software. I'm not seeing it as a fep, but could maybe be good to define it better?
An simplified example from Smithereen is
{
"type": "Person",
"id": "https://friends.grishka.me/users/1";,
"capabilities": {
"supportsFriendRequests": true
},
"@context": [
"https://www.w3.org/ns/activitystreams";,
{
"sm": "http://smithereen.software/ns#";,
"supportsFriendRequests": "sm:supportsFriendRequests",
}
]
}
#FediDev