aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/activity_pub
AgeCommit message (Collapse)Author
2022-09-11ObjectView: do not fetch an object for its IDHélène
Non-Create/Listen activities had their associated object field normalized and fetched, but only to use their `id` field, which is both slow and redundant. This also failed on Undo activities, which delete the associated object/activity in database. Undo activities will now render properly and database loads should improve ever so slightly.
2022-09-05Merge branch 'fix/user-private-key-generation' into 'develop'Haelwenn
User: generate private keys on user creation See merge request pleroma/pleroma!3737
2022-09-05Merge branch 'bump/min-elixir-1.10' into 'develop'tusooa
Bump minimum Elixir version to 1.10 See merge request pleroma/pleroma!3741
2022-09-05User: generate private keys on user creationHélène
This fixes a race condition bug where keys could be regenerated post-federation, causing activities and HTTP signatures from an user to be dropped due to key differences.
2022-09-05Merge branch 'fix/gts-federation' into 'develop'tusooa
GoToSocial federation fixes See merge request pleroma/pleroma!3725
2022-09-04Merge branch 'fix/federation-context-issues' into 'develop'tusooa
Fix reply context fixing (Pleroma replies to Misskey threads) and removal of context objects See merge request pleroma/pleroma!3717
2022-09-03Merge branch 'from/upstream-develop/tusooa/assoc-object-id' into 'develop'Haelwenn
Add function to calculate associated object id Closes #2307 See merge request pleroma/pleroma!3692
2022-09-03Merge branch 'from/upstream-develop/tusooa/edits' into 'develop'Haelwenn
Editing Closes #1429, #2859, and #2288 See merge request pleroma/pleroma!3678
2022-09-02Bump minimum Elixir version to 1.10Haelwenn (lanodan) Monnier
With the release of Elixir 1.14, Elixir 1.9 is now end-of-life. Elixir 1.10 Release Notes: https://github.com/elixir-lang/elixir/releases/tag/v1.10.0
2022-08-20Switch to associated_object_id indexTusooa Zhu
2022-08-19ArticleNotePageValidator: fix replies fixingHélène
Some software, like GoToSocial, expose replies as ActivityPub Collections, but do not expose any item array directly in the object, causing validation to fail via the ObjectID validator. Now, Pleroma will drop that field in this situation too.
2022-08-15CommonFixes: more predictable context generationHélène
`context` fields for objects and activities can now be generated based on the object/activity `inReplyTo` field or its ActivityPub ID, as a fallback method in cases where `context` fields are missing for incoming activities and objects.
2022-08-10CreateGenericValidator: fix reply context fixingHélène
Incoming Pleroma replies to a Misskey thread were rejected due to a broken context fix, which caused them to not be visible until a non-Pleroma user interacted with the replies. This fix properly sets the post-fix object context to its parent Create activity as well, if it was changed.
2022-08-09CommonFields: remove context_idHélène
2022-08-09Object: remove context_id fieldHélène
30 to 70% of the objects in the object table are simple JSON objects containing a single field, 'id', being the context's ID. The reason for the creation of an object per context seems to be an old relic from the StatusNet era, and has only been used nowadays as an helper for threads in Pleroma-FE via the `pleroma.conversation_id` field in status views. An object per context was created, and its numerical ID (table column) was used and stored as 'context_id' in the object and activity along with the full 'context' URI/string. This commit removes this field and stops creation of objects for each context, which will also allow incoming activities to use activity IDs as contexts, something which was not possible before, or would have been very broken under most circumstances. The `pleroma.conversation_id` field has been reimplemented in a way to maintain backwards-compatibility by calculating a CRC32 of the full context URI/string in the object, instead of relying on the row ID for the created context object.
2022-08-02Use actor_types() to determine whether the Update is for userTusooa Zhu
2022-08-02Merge branch 'from/upstream-develop/tusooa/2871-fix-local-public' into 'develop'Haelwenn
local only fixes Closes #2871 See merge request pleroma/pleroma!3660
2022-07-31Merge branch 'develop' into 'from/develop/tusooa/emit-move'tusooa
# Conflicts: # CHANGELOG.md # test/pleroma/user_test.exs
2022-07-25EmojiReactValidator: use new qualification methodHélène
2022-07-24EmojiReactValidator: fix emoji qualificationHélène
Tries fully-qualifying emoji when receiving them, by adding the emoji variation sequence to the received reaction emoji. This issue arises when other instance software, such as Misskey, tries reacting with emoji that have unqualified or minimally qualified variants, like a red heart. Pleroma only accepts fully qualified emoji in emoji reactions, and refused those emoji. Now, Pleroma will attempt to properly qualify them first, and reject them if checks still fail. This commit contains changes to tests proposed by lanodan. Co-authored-by: Haelwenn <contact+git.pleroma.social@hacktivis.me>
2022-07-24Make AntiLinkSpamPolicy history-awareTusooa Zhu
2022-07-24Make HashtagPolicy history-awareTusooa Zhu
2022-07-23Make NoEmptyPolicy work with UpdateTusooa Zhu
2022-07-23Make NormalizeMarkup history-awareTusooa Zhu
2022-07-23Make NoPlaceholderTextPolicy history-awareTusooa Zhu
2022-07-23Make MediaProxyWarmingPolicy history-awareTusooa Zhu
2022-07-23Make ForceMentionsInContent history-awareTusooa Zhu
2022-07-23Make EnsureRePrepended history-awareTusooa Zhu
2022-07-23Make MRF Keyword history-awareTusooa Zhu
2022-07-22Revert "Merge branch 'fix/emoji-react-qualification' into 'develop'"Haelwenn
This reverts merge request !3684
2022-07-22AttachmentValidator: fix_media_type/1 fallback to application/octet-streamHaelwenn (lanodan) Monnier
2022-07-22ArticleNotePageValidator: Fix when attachments are a Map (ie. owncast)Haelwenn (lanodan) Monnier
2022-07-21Merge branch 'fix/emoji-react-qualification' into 'develop'Haelwenn
EmojiReactValidator: fix emoji qualification See merge request pleroma/pleroma!3684
2022-07-06Fix cannot get full history on object fetchTusooa Zhu
2022-07-03Validate object data for incoming Update activitiesTusooa Zhu
In Create validator we do not validate the object data, but that is because the object itself will go through the pipeline again, which is not the case for Update. Thus, we added validation for objects in Update activities.
2022-07-03Pass history items through ObjectValidator for updatable object typesTusooa Zhu
2022-07-03Merge branch 'develop' into 'from/upstream-develop/tusooa/edits'Tusooa Zhu
# Conflicts: # lib/pleroma/constants.ex
2022-07-03Merge branch 'bugfix/mime-validation-no-list' into 'develop'Haelwenn
Bugfix: Validate mediaType only by it's format See merge request pleroma/pleroma!3597
2022-06-28EmojiReactValidator: fix emoji qualificationHélène
Tries fully-qualifying emoji when receiving them, by adding the emoji variation sequence to the received reaction emoji. This issue arises when other instance software, such as Misskey, tries reacting with emoji that have unqualified or minimally qualified variants, like a red heart. Pleroma only accepts fully qualified emoji in emoji reactions, and refused those emoji. Now, Pleroma will attempt to properly qualify them first, and reject them if checks still fail.
2022-06-25Make outbound transmogrifier aware of edit historyTusooa Zhu
2022-06-25Do not put meta[:object_data] for local UpdatesTusooa Zhu
2022-06-25Fix local updates causing emojis to be lostTusooa Zhu
2022-06-25Unify the logic of updating objectsTusooa Zhu
2022-06-24Fix CommonAPITestTusooa Zhu
2022-06-24Use meta[:object_data] in SideEffects for UpdateTusooa Zhu
2022-06-24Convert incoming Updated object into Pleroma formatTusooa Zhu
2022-06-09Fix incorrectly cached content after editingTusooa Zhu
2022-06-03Stream out editsTusooa Zhu
2022-06-01Inject history when object is refetchedTusooa Zhu
2022-06-01Strip internal fields in formerRepresentationTusooa Zhu