Bob unfollows Alice
given: A new user called "alice"
given: A new user called "bob"
given: "bob" follows "alice"
when: "bob" sends "alice" a Follow Activity
outgoing.Follow
{
"actor": "http://banach/actor/00L-saR6Ib_JMh8FoHNMBQ",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Follow",
"actor": "http://banach/actor/00L-saR6Ib_JMh8FoHNMBQ",
"to": [
"http://abel/actor/VSD2YQjFFak5D2iAE_228w"
],
"id": "follow:fe8693cb-9958-4d6f-b925-920035894092",
"published": "2024-11-08T18:34:57Z",
"object": "http://abel/actor/VSD2YQjFFak5D2iAE_228w"
},
"activity_type": "Follow"
}
incoming.Follow
{
"actor": "http://abel/actor/VSD2YQjFFak5D2iAE_228w",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Follow",
"actor": "http://banach/actor/00L-saR6Ib_JMh8FoHNMBQ",
"to": [
"http://abel/actor/VSD2YQjFFak5D2iAE_228w"
],
"id": "follow:fe8693cb-9958-4d6f-b925-920035894092",
"published": "2024-11-08T18:34:57Z",
"object": "http://abel/actor/VSD2YQjFFak5D2iAE_228w"
},
"activity_type": "Follow"
}
when: "alice" sends an Accept to this Follow Activity
outgoing.Accept
{
"actor": "http://abel/actor/VSD2YQjFFak5D2iAE_228w",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Accept",
"actor": "http://abel/actor/VSD2YQjFFak5D2iAE_228w",
"to": [
"http://banach/actor/00L-saR6Ib_JMh8FoHNMBQ"
],
"published": "2024-11-08T18:34:58Z",
"object": "follow:fe8693cb-9958-4d6f-b925-920035894092"
},
"activity_type": "Accept"
}
incoming.Accept
{
"actor": "http://banach/actor/00L-saR6Ib_JMh8FoHNMBQ",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Accept",
"actor": "http://abel/actor/VSD2YQjFFak5D2iAE_228w",
"to": [
"http://banach/actor/00L-saR6Ib_JMh8FoHNMBQ"
],
"published": "2024-11-08T18:34:58Z",
"object": "follow:fe8693cb-9958-4d6f-b925-920035894092"
},
"activity_type": "Accept"
}
when: "bob" sends "alice" an Undo Follow Activity
outgoing.Undo
{
"actor": "http://banach/actor/00L-saR6Ib_JMh8FoHNMBQ",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Undo",
"actor": "http://banach/actor/00L-saR6Ib_JMh8FoHNMBQ",
"to": [
"http://abel/actor/VSD2YQjFFak5D2iAE_228w"
],
"published": "2024-11-08T18:34:59Z",
"object": "follow:fe8693cb-9958-4d6f-b925-920035894092"
},
"activity_type": "Undo"
}
incoming.Undo
{
"actor": "http://abel/actor/VSD2YQjFFak5D2iAE_228w",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Undo",
"actor": "http://banach/actor/00L-saR6Ib_JMh8FoHNMBQ",
"to": [
"http://abel/actor/VSD2YQjFFak5D2iAE_228w"
],
"published": "2024-11-08T18:34:59Z",
"object": "follow:fe8693cb-9958-4d6f-b925-920035894092"
},
"activity_type": "Undo"
}
then: The "followers" collection of "alice" does not include "bob"
receive.alice
{
"action": "fetch_result",
"actor": "http://abel/actor/VSD2YQjFFak5D2iAE_228w",
"data": {
"@context": "https://www.w3.org/ns/activitystreams",
"id": "http://abel/followers/WLdzDrak5B99Q5Uj0vc3RQ",
"type": "OrderedCollection"
}
}