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]"