aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web
AgeCommit message (Collapse)Author
2022-10-14CommonAPI: generate ModerationLog for all admin/moderator deletesHaelwenn (lanodan) Monnier
As a side-effect it also changes the ChatMessage delete ID to an Activity.id rather than MessageReference.id Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/2958
2022-10-08Merge branch 'release/2.4.4' into mergeback/2.4.4Tusooa Zhu
2022-09-16Merge branch 'remove_from_followers' into 'develop'tusooa
MastoAPI: POST /api/v1/accounts/:id/remove_from_followers See merge request pleroma/pleroma!3647
2022-09-14Fix wrong relationship directionTusooa Zhu
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 'from/upstream-develop/tusooa/2892-backup-scope' into 'develop'Haelwenn
Make backups require its own scope Closes #2892 See merge request pleroma/pleroma!3721
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-05Merge branch 'develop' into 'from/upstream-develop/tusooa/2892-backup-scope'tusooa
# Conflicts: # CHANGELOG.md
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-03Metadata/Utils: use summary as description if setHélène
When generating OpenGraph and TwitterCard metadata for a post, the summary field will be used first if it is set to generate the post description.
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-03Merge branch 'from/develop/tusooa/2807-remote-xact-post' into 'develop'Haelwenn
Remote interaction with posts Closes #2807 and #978 See merge request pleroma/pleroma!3587
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-24OAuthPlug: use user cache instead of joiningHélène
As this plug is called on every request, this should reduce load on the database by not requiring to select on the users table every single time, and to instead use the by-ID user cache whenever possible.
2022-08-20Expose availability of GET /main/ostatus via instanceTusooa Zhu
2022-08-20Make remote interaction page translatableTusooa Zhu
2022-08-20Display status link in remote interaction formTusooa Zhu
2022-08-20LintTusooa Zhu
2022-08-20Add GET endpoints for remote subscription formsTusooa Zhu
There are two reasons for adding a GET endpoint: 0: Barely displaying the form does not change anything on the server. 1: It makes frontend development easier as they can now use a link, instead of a form, to allow remote users to interact with local ones.
2022-08-20Fix form item name in status_interact.htmlTusooa Zhu
2022-08-20Add remote interaction ui for postsTusooa Zhu
2022-08-20Switch to associated_object_id indexTusooa Zhu
2022-08-19Execute session disconnect in backgroundTusooa Zhu
2022-08-19LintTusooa Zhu
2022-08-19Disconnect streaming sessions when token is revokedTusooa 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-18HttpSignaturePlug: accept standard (request-target)Hélène
The (request-target) used by Pleroma is non-standard, but many HTTP signature implementations do it this way due to a misinterpretation of the draft 06 of HTTP signatures: "path" was interpreted as not having the query, though later examples show that it must be the absolute path with the query part of the URL as well. This behavior is kept to make sure most software (Pleroma itself, Mastodon, and probably others) do not break, but Pleroma now accepts signatures for a (request-target) containing the query, as expected by many HTTP signature libraries, and clarified in the draft 11 of HTTP signatures. Additionally, the new draft renamed (request-target) to @request-target. We now support both for incoming requests' signatures.
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-12Merge branch 'from/upstream-develop/tusooa/sync-settings' into 'develop'Haelwenn
Synchronized settings for apps (frontends) See merge request pleroma/pleroma!3698
2022-08-10Fix Varnish 7 support by ensuring Media Preview Proxy fetches headers with a ↵Mark Felder
capitalized HEAD verb
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-10StatusView: implement pleroma.context fieldHélène
This field replaces the now deprecated conversation_id field, and now exposes the ActivityPub object `context` directly via the MastoAPI instead of relying on StatusNet-era data concepts.
2022-08-09Update api spec to reflect OAuth scope changeTusooa Zhu
2022-08-09StatusView: clear MSB on calculated conversation_idHélène
This field seems to be a left-over from the StatusNet era. If your application uses `pleroma.conversation_id`: this field is deprecated. It is currently stubbed instead by doing a CRC32 of the context, and clearing the MSB to avoid overflow exceptions with signed integers on the different clients using this field (Java/Kotlin code, mostly; see Husky and probably other mobile clients.) This should be removed in a future version of Pleroma. Pleroma-FE currently depends on this field, as well.
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-09Make backups require its own scopeTusooa Zhu
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-31Use `duration` param for mute expiration durationmarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-28Merge branch 'fix/proper-emoji-qualification' into 'develop'Haelwenn
Emoji: implement full-qualifier using combinations See merge request pleroma/pleroma!3709
2022-07-28Merge branch 'from/upstream-develop/tusooa/2384-pagination' into 'develop'Haelwenn
Make mutes and blocks behave the same as other lists Closes #2384 See merge request pleroma/pleroma!3693
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