Mentions¶
Mentions are discussed in this section of ActivityStreams.
The big difference on if mentions are parsed are currently
a result of if the value in href can be resolved by the
application being tested.
In the support table parsed means that the activity could be parsed, but the mention was discarded.
A ❌ in the support table means that the entire message has failed to parse.
Support Table Preview¶
| tag | Object | Activity |
|---|---|---|
basic mention; mention as list of dictionaries[ {“type”: “Mention”, “name”: “@actor@test_server”, “href”: “http://pasture-one-actor/actor” } ] |
Object | Activity |
text @actor@pasture-one-actor; mention as dictionary{“type”: “Mention”, “name”: “@actor@test_server”, “href”: “http://pasture-one-actor/actor” } |
Object 🚨 | Activity |
unrelated text{“type”: “Mention”, “name”: “something something”, “href”: “http://pasture-one-actor/actor” } |
Object 🚨 | Activity |
Missing Name @actor@pasture-one-actor{“type”: “Mention”, “href”: “http://pasture-one-actor/actor” } |
Object 🚨 | Activity |
realworld url{“type”: “Mention”, “name”: “@the_milkman@mastodon.social”, “href”: “https://mastodon.social/users/the_milkman” } |
Object 🚨 | Activity |
unresolvable url – https{“type”: “Mention”, “name”: “@dummy@example”, “href”: “https://dummy.example” } |
Object 🚨 | Activity |
texunresolvable url – http{“type”: “Mention”, “name”: “@test_actor@test_server”, “href”: “http://test_actor” } |
Object 🚨 | Activity |
name is ‘yay’{“type”: “as:Mention”, “name”: “yay”, “href”: “http://pasture-one-actor/actor” } |
Object 🚨 | Activity |
@actor text{“name”: “@actor”, “href”: “http://pasture-one-actor/actor” } |
Object 🚨 | Activity |
duplicate mention, see https://codeberg.org/funfedidev/fediverse-pasture-inputs/issues/75[ {“type”: “Mention”, “name”: “@actor@test_server”, “href”: “http://pasture-one-actor/actor” }, {“type”: “Mention”, “name”: “@actor@test_server”, “href”: “http://pasture-one-actor/actor” } ] |
Object | Activity |
Objects¶
Object 1¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"attributedTo": "http://actor.example",
"content": "basic mention; mention as list of dictionaries",
"id": "http://actor.example/object/GNXLpi-2ZNg",
"published": "2025-11-21T12:04:55Z",
"tag": [
{
"href": "http://pasture-one-actor/actor",
"name": "@actor@test_server",
"type": "Mention"
}
],
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note"
}
Object 2¶
❌❌❌ does not obey schema ❌❌❌
{'type': 'Mention', 'name': '@actor@test_server', 'href': 'http://pasture-one-actor/actor'} is not of type 'array'
Failed validating 'type' in schema['properties']['tag']:
{'default': [],
'description': 'A list of objects that expand on the content of the '
'object',
'items': {'anyOf': [{'$ref': '#/$defs/Hashtag'},
{'$ref': '#/$defs/Mention'},
{'$ref': '#/$defs/ObjectLink'},
{'additionalProperties': True, 'type': 'object'}]},
'type': 'array'}
On instance['tag']:
{'type': 'Mention',
'name': '@actor@test_server',
'href': 'http://pasture-one-actor/actor'}
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"attributedTo": "http://actor.example",
"content": "text @actor@pasture-one-actor; mention as dictionary",
"id": "http://actor.example/object/K0A1vpJt7ts",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://pasture-one-actor/actor",
"name": "@actor@test_server",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note"
}
Object 3¶
❌❌❌ does not obey schema ❌❌❌
{'type': 'Mention', 'name': 'something something', 'href': 'http://pasture-one-actor/actor'} is not of type 'array'
Failed validating 'type' in schema['properties']['tag']:
{'default': [],
'description': 'A list of objects that expand on the content of the '
'object',
'items': {'anyOf': [{'$ref': '#/$defs/Hashtag'},
{'$ref': '#/$defs/Mention'},
{'$ref': '#/$defs/ObjectLink'},
{'additionalProperties': True, 'type': 'object'}]},
'type': 'array'}
On instance['tag']:
{'type': 'Mention',
'name': 'something something',
'href': 'http://pasture-one-actor/actor'}
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"attributedTo": "http://actor.example",
"content": "unrelated text",
"id": "http://actor.example/object/6CcJVOiXDVo",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://pasture-one-actor/actor",
"name": "something something",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note"
}
Object 4¶
❌❌❌ does not obey schema ❌❌❌
{'type': 'Mention', 'href': 'http://pasture-one-actor/actor'} is not of type 'array'
Failed validating 'type' in schema['properties']['tag']:
{'default': [],
'description': 'A list of objects that expand on the content of the '
'object',
'items': {'anyOf': [{'$ref': '#/$defs/Hashtag'},
{'$ref': '#/$defs/Mention'},
{'$ref': '#/$defs/ObjectLink'},
{'additionalProperties': True, 'type': 'object'}]},
'type': 'array'}
On instance['tag']:
{'type': 'Mention', 'href': 'http://pasture-one-actor/actor'}
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"attributedTo": "http://actor.example",
"content": "Missing Name @actor@pasture-one-actor",
"id": "http://actor.example/object/bFvw_HXOJUw",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://pasture-one-actor/actor",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note"
}
Object 5¶
❌❌❌ does not obey schema ❌❌❌
{'type': 'Mention', 'name': '@the_milkman@mastodon.social', 'href': 'https://mastodon.social/users/the_milkman'} is not of type 'array'
Failed validating 'type' in schema['properties']['tag']:
{'default': [],
'description': 'A list of objects that expand on the content of the '
'object',
'items': {'anyOf': [{'$ref': '#/$defs/Hashtag'},
{'$ref': '#/$defs/Mention'},
{'$ref': '#/$defs/ObjectLink'},
{'additionalProperties': True, 'type': 'object'}]},
'type': 'array'}
On instance['tag']:
{'type': 'Mention',
'name': '@the_milkman@mastodon.social',
'href': 'https://mastodon.social/users/the_milkman'}
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"attributedTo": "http://actor.example",
"content": "realworld url",
"id": "http://actor.example/object/mbTJWbMcHxg",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "https://mastodon.social/users/the_milkman",
"name": "@the_milkman@mastodon.social",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note"
}
Object 6¶
❌❌❌ does not obey schema ❌❌❌
{'type': 'Mention', 'name': '@dummy@example', 'href': 'https://dummy.example'} is not of type 'array'
Failed validating 'type' in schema['properties']['tag']:
{'default': [],
'description': 'A list of objects that expand on the content of the '
'object',
'items': {'anyOf': [{'$ref': '#/$defs/Hashtag'},
{'$ref': '#/$defs/Mention'},
{'$ref': '#/$defs/ObjectLink'},
{'additionalProperties': True, 'type': 'object'}]},
'type': 'array'}
On instance['tag']:
{'type': 'Mention',
'name': '@dummy@example',
'href': 'https://dummy.example'}
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"attributedTo": "http://actor.example",
"content": "unresolvable url -- https",
"id": "http://actor.example/object/322cHU09NuY",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "https://dummy.example",
"name": "@dummy@example",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note"
}
Object 7¶
❌❌❌ does not obey schema ❌❌❌
{'type': 'Mention', 'name': '@test_actor@test_server', 'href': 'http://test_actor'} is not of type 'array'
Failed validating 'type' in schema['properties']['tag']:
{'default': [],
'description': 'A list of objects that expand on the content of the '
'object',
'items': {'anyOf': [{'$ref': '#/$defs/Hashtag'},
{'$ref': '#/$defs/Mention'},
{'$ref': '#/$defs/ObjectLink'},
{'additionalProperties': True, 'type': 'object'}]},
'type': 'array'}
On instance['tag']:
{'type': 'Mention',
'name': '@test_actor@test_server',
'href': 'http://test_actor'}
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"attributedTo": "http://actor.example",
"content": "texunresolvable url -- http",
"id": "http://actor.example/object/q_56zTysaK4",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://test_actor",
"name": "@test_actor@test_server",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note"
}
Object 8¶
❌❌❌ does not obey schema ❌❌❌
{'type': 'as:Mention', 'name': 'yay', 'href': 'http://pasture-one-actor/actor'} is not of type 'array'
Failed validating 'type' in schema['properties']['tag']:
{'default': [],
'description': 'A list of objects that expand on the content of the '
'object',
'items': {'anyOf': [{'$ref': '#/$defs/Hashtag'},
{'$ref': '#/$defs/Mention'},
{'$ref': '#/$defs/ObjectLink'},
{'additionalProperties': True, 'type': 'object'}]},
'type': 'array'}
On instance['tag']:
{'type': 'as:Mention',
'name': 'yay',
'href': 'http://pasture-one-actor/actor'}
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"attributedTo": "http://actor.example",
"content": "name is 'yay'",
"id": "http://actor.example/object/ziZWovMIxiw",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://pasture-one-actor/actor",
"name": "yay",
"type": "as:Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note"
}
Object 9¶
❌❌❌ does not obey schema ❌❌❌
{'name': '@actor', 'href': 'http://pasture-one-actor/actor'} is not of type 'array'
Failed validating 'type' in schema['properties']['tag']:
{'default': [],
'description': 'A list of objects that expand on the content of the '
'object',
'items': {'anyOf': [{'$ref': '#/$defs/Hashtag'},
{'$ref': '#/$defs/Mention'},
{'$ref': '#/$defs/ObjectLink'},
{'additionalProperties': True, 'type': 'object'}]},
'type': 'array'}
On instance['tag']:
{'name': '@actor', 'href': 'http://pasture-one-actor/actor'}
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"attributedTo": "http://actor.example",
"content": "@actor text",
"id": "http://actor.example/object/MMedyGYqATA",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://pasture-one-actor/actor",
"name": "@actor"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note"
}
Object 10¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"attributedTo": "http://actor.example",
"content": "duplicate mention, see https://codeberg.org/funfedidev/fediverse-pasture-inputs/issues/75",
"id": "http://actor.example/object/e5-8FjwXLrM",
"published": "2025-11-21T12:04:55Z",
"tag": [
{
"href": "http://pasture-one-actor/actor",
"name": "@actor@test_server",
"type": "Mention"
},
{
"href": "http://pasture-one-actor/actor",
"name": "@actor@test_server",
"type": "Mention"
}
],
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note"
}
Activities¶
Activity 1¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"actor": "http://actor.example",
"id": "http://actor.example/activity/EoQR4Pn8fzU",
"object": {
"attributedTo": "http://actor.example",
"content": "basic mention; mention as list of dictionaries",
"id": "http://actor.example/object/VVqnlcIV4yw",
"published": "2025-11-21T12:04:55Z",
"tag": [
{
"href": "http://pasture-one-actor/actor",
"name": "@actor@test_server",
"type": "Mention"
}
],
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://remote.example/"
],
"type": "Note"
},
"published": "2025-11-21T12:04:55Z",
"to": [
"http://remote.example/",
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Create"
}
Activity 2¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"actor": "http://actor.example",
"id": "http://actor.example/activity/0qILAijOhR0",
"object": {
"attributedTo": "http://actor.example",
"content": "text @actor@pasture-one-actor; mention as dictionary",
"id": "http://actor.example/object/sO-jBoSTj48",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://pasture-one-actor/actor",
"name": "@actor@test_server",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://remote.example/"
],
"type": "Note"
},
"published": "2025-11-21T12:04:55Z",
"to": [
"http://remote.example/",
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Create"
}
Activity 3¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"actor": "http://actor.example",
"id": "http://actor.example/activity/7Vlu2WlNkWE",
"object": {
"attributedTo": "http://actor.example",
"content": "unrelated text",
"id": "http://actor.example/object/wYG5zHLOLE0",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://pasture-one-actor/actor",
"name": "something something",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://remote.example/"
],
"type": "Note"
},
"published": "2025-11-21T12:04:55Z",
"to": [
"http://remote.example/",
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Create"
}
Activity 4¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"actor": "http://actor.example",
"id": "http://actor.example/activity/qzo-dQJgusg",
"object": {
"attributedTo": "http://actor.example",
"content": "Missing Name @actor@pasture-one-actor",
"id": "http://actor.example/object/IbKER2ZQflU",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://pasture-one-actor/actor",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://remote.example/"
],
"type": "Note"
},
"published": "2025-11-21T12:04:55Z",
"to": [
"http://remote.example/",
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Create"
}
Activity 5¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"actor": "http://actor.example",
"id": "http://actor.example/activity/zSGYxem8a-M",
"object": {
"attributedTo": "http://actor.example",
"content": "realworld url",
"id": "http://actor.example/object/9QTD9ljqicU",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "https://mastodon.social/users/the_milkman",
"name": "@the_milkman@mastodon.social",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://remote.example/"
],
"type": "Note"
},
"published": "2025-11-21T12:04:55Z",
"to": [
"http://remote.example/",
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Create"
}
Activity 6¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"actor": "http://actor.example",
"id": "http://actor.example/activity/R8nitJIobEg",
"object": {
"attributedTo": "http://actor.example",
"content": "unresolvable url -- https",
"id": "http://actor.example/object/D3SMELvj82o",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "https://dummy.example",
"name": "@dummy@example",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://remote.example/"
],
"type": "Note"
},
"published": "2025-11-21T12:04:55Z",
"to": [
"http://remote.example/",
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Create"
}
Activity 7¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"actor": "http://actor.example",
"id": "http://actor.example/activity/qbs7sOGHkSs",
"object": {
"attributedTo": "http://actor.example",
"content": "texunresolvable url -- http",
"id": "http://actor.example/object/Rul83Yu-aiY",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://test_actor",
"name": "@test_actor@test_server",
"type": "Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://remote.example/"
],
"type": "Note"
},
"published": "2025-11-21T12:04:55Z",
"to": [
"http://remote.example/",
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Create"
}
Activity 8¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"actor": "http://actor.example",
"id": "http://actor.example/activity/gg1hEiNlmSg",
"object": {
"attributedTo": "http://actor.example",
"content": "name is 'yay'",
"id": "http://actor.example/object/msQzqfbNoE0",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://pasture-one-actor/actor",
"name": "yay",
"type": "as:Mention"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://remote.example/"
],
"type": "Note"
},
"published": "2025-11-21T12:04:55Z",
"to": [
"http://remote.example/",
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Create"
}
Activity 9¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"actor": "http://actor.example",
"id": "http://actor.example/activity/u--qHkZA0VM",
"object": {
"attributedTo": "http://actor.example",
"content": "@actor text",
"id": "http://actor.example/object/1XrPpNY1epI",
"published": "2025-11-21T12:04:55Z",
"tag": {
"href": "http://pasture-one-actor/actor",
"name": "@actor"
},
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://remote.example/"
],
"type": "Note"
},
"published": "2025-11-21T12:04:55Z",
"to": [
"http://remote.example/",
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Create"
}
Activity 10¶
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"actor": "http://actor.example",
"id": "http://actor.example/activity/zglfJNYimYA",
"object": {
"attributedTo": "http://actor.example",
"content": "duplicate mention, see https://codeberg.org/funfedidev/fediverse-pasture-inputs/issues/75",
"id": "http://actor.example/object/CAOT47810Pw",
"published": "2025-11-21T12:04:55Z",
"tag": [
{
"href": "http://pasture-one-actor/actor",
"name": "@actor@test_server",
"type": "Mention"
},
{
"href": "http://pasture-one-actor/actor",
"name": "@actor@test_server",
"type": "Mention"
}
],
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://remote.example/"
],
"type": "Note"
},
"published": "2025-11-21T12:04:55Z",
"to": [
"http://remote.example/",
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Create"
}