Mercurial > libervia-backend
comparison sat/plugins/plugin_comp_ap_gateway/constants.py @ 3888:aa7197b67c26
component AP gateway: AP <=> XMPP reactions conversions:
- Pubsub Attachments plugin has been renamed to XEP-0470 following publication
- XEP-0470 has been updated to follow 0.2 changes
- AP reactions (as implemented in Pleroma) are converted to XEP-0470
- XEP-0470 events are converted to AP reactions (again, using "EmojiReact" from Pleroma)
- AP activities related to attachments (like/reactions) are cached in Libervia because
it's not possible to retrieve them from Pleroma instances once they have been emitted
(doing an HTTP get on their ID returns a 404). For now those cache are not flushed, this
should be improved in the future.
- `sharedInbox` is used when available. Pleroma returns a 500 HTTP error when ``to`` or
``cc`` are used in a direct inbox.
- reactions and like are not currently used for direct messages, because they can't be
emitted from Pleroma in this case, thus there is no point in implementing them for the
moment.
rel 371
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 31 Aug 2022 17:07:03 +0200 |
parents | 59fbb66b2923 |
children | 0aa7023dcd08 |
comparison
equal
deleted
inserted
replaced
3887:6090141b1b70 | 3888:aa7197b67c26 |
---|---|
28 TYPE_FOLLOWING = "following" | 28 TYPE_FOLLOWING = "following" |
29 TYPE_ITEM = "item" | 29 TYPE_ITEM = "item" |
30 TYPE_TOMBSTONE = "Tombstone" | 30 TYPE_TOMBSTONE = "Tombstone" |
31 TYPE_MENTION = "Mention" | 31 TYPE_MENTION = "Mention" |
32 TYPE_LIKE = "Like" | 32 TYPE_LIKE = "Like" |
33 TYPE_REACTION = "EmojiReact" | |
33 MEDIA_TYPE_AP = "application/activity+json" | 34 MEDIA_TYPE_AP = "application/activity+json" |
34 NS_AP = "https://www.w3.org/ns/activitystreams" | 35 NS_AP = "https://www.w3.org/ns/activitystreams" |
35 NS_AP_PUBLIC = f"{NS_AP}#Public" | 36 NS_AP_PUBLIC = f"{NS_AP}#Public" |
36 # 3 values can be used, see https://www.w3.org/TR/activitypub/#public-addressing | 37 # 3 values can be used, see https://www.w3.org/TR/activitypub/#public-addressing |
37 PUBLIC_TUPLE = (NS_AP_PUBLIC, "as:Public", "Public") | 38 PUBLIC_TUPLE = (NS_AP_PUBLIC, "as:Public", "Public") |
58 LRU_MAX_SIZE = 200 | 59 LRU_MAX_SIZE = 200 |
59 ACTIVITY_TYPES = ( | 60 ACTIVITY_TYPES = ( |
60 "Accept", "Add", "Announce", "Arrive", "Block", "Create", "Delete", "Dislike", "Flag", | 61 "Accept", "Add", "Announce", "Arrive", "Block", "Create", "Delete", "Dislike", "Flag", |
61 "Follow", "Ignore", "Invite", "Join", "Leave", "Like", "Listen", "Move", "Offer", | 62 "Follow", "Ignore", "Invite", "Join", "Leave", "Like", "Listen", "Move", "Offer", |
62 "Question", "Reject", "Read", "Remove", "TentativeReject", "TentativeAccept", | 63 "Question", "Reject", "Read", "Remove", "TentativeReject", "TentativeAccept", |
63 "Travel", "Undo", "Update", "View" | 64 "Travel", "Undo", "Update", "View", |
65 # non-standard activities | |
66 "EmojiReact" | |
64 ) | 67 ) |
65 ACTIVITY_TYPES_LOWER = [a.lower() for a in ACTIVITY_TYPES] | 68 ACTIVITY_TYPES_LOWER = [a.lower() for a in ACTIVITY_TYPES] |
66 ACTIVITY_OBJECT_MANDATORY = ( | 69 ACTIVITY_OBJECT_MANDATORY = ( |
67 "Create", "Update", "Delete", "Follow", "Add", "Remove", "Like", "Block", "Undo" | 70 "Create", "Update", "Delete", "Follow", "Add", "Remove", "Like", "Block", "Undo" |
68 ) | 71 ) |
69 ACTIVITY_TARGET_MANDATORY = ("Add", "Remove") | 72 ACTIVITY_TARGET_MANDATORY = ("Add", "Remove") |
70 # activities which can be used with Shared Inbox (i.e. with no account specified) | 73 # activities which can be used with Shared Inbox (i.e. with no account specified) |
71 # must be lowercase | 74 # must be lowercase |
72 ACTIVIY_NO_ACCOUNT_ALLOWED = ("create", "delete", "announce", "undo") | 75 ACTIVIY_NO_ACCOUNT_ALLOWED = ( |
76 "create", "delete", "announce", "undo", "like", "emojireact" | |
77 ) | |
73 # maximum number of parents to retrieve when comments_max_depth option is set | 78 # maximum number of parents to retrieve when comments_max_depth option is set |
74 COMMENTS_MAX_PARENTS = 100 | 79 COMMENTS_MAX_PARENTS = 100 |
75 # maximum size of avatar, in bytes | 80 # maximum size of avatar, in bytes |
76 MAX_AVATAR_SIZE = 1024 * 1024 * 5 | 81 MAX_AVATAR_SIZE = 1024 * 1024 * 5 |
77 | 82 |
78 # storage prefixes | 83 # storage prefixes |
79 ST_AVATAR = "[avatar]" | 84 ST_AVATAR = "[avatar]" |
85 ST_AP_CACHE = "[AP_item_cache]" |