summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
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-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-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-27Emoji: apply recommended tail call changesHélène
Behavior matches previous code. Co-authored-by: Tusooa Zhu <tusooa@kazv.moe>
2022-07-26Emoji: split qualification variation into a moduleHélène
2022-07-25EmojiReactValidator: use new qualification methodHélène
2022-07-25Emoji: implement full-qualifier using combinationsHélène
This implements fully_qualify_emoji/1, which will return the fully-qualified version of an emoji if it knows of one, or return the emoji unmodified if not. This code generates combinations per emoji: for each FE0F, all possible combinations of the character being removed or staying will be generated. This is made as an attempt to find all partially-qualified and unqualified versions of a fully-qualified emoji. I have found *no cases* for which this would be a problem, after browsing the entire emoji list in emoji-test.txt. This is safe, and, sadly, most likely the sanest too.
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-23Merge branch 'mute-expiration' into 'develop'tusooa
MastoAPI: Show mutes expiration date See merge request pleroma/pleroma!3682
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 'birthday_fix' into 'develop'tusooa
Allow to unset birthday See merge request pleroma/pleroma!3702
2022-07-21Merge branch 'fix/emoji-react-qualification' into 'develop'Haelwenn
EmojiReactValidator: fix emoji qualification See merge request pleroma/pleroma!3684
2022-07-21Merge remote-tracking branch 'upstream/develop' into HEADTusooa Zhu
2022-07-20Merge branch 'resolve/notice-compatibility-routes-nginx' into 'develop'Haelwenn
Document way to do notice compatibility routes with Nginx reverse-proxy, fixes #2900 Closes #2900 See merge request pleroma/pleroma!3701
2022-07-17Allow to unset birthdaymarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-17Merge branch 'from/upstream-develop/tusooa/config-translatable' into 'develop'Haelwenn
Translatable config descriptions Closes pleroma-meta#65 See merge request pleroma/pleroma!3695
2022-07-16Document way to do notice compatibility routes with Nginx reverse-proxy insteadSean King
2022-07-17Merge branch 'notification_types' into 'develop'tusooa
MastoAPI: Use `types` for filtering notifications See merge request pleroma/pleroma!3648
2022-07-16Use :utc_datetimemarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-14Pass in msgctxt for config translation stringsTusooa Zhu
2022-07-13Fix compile errorTusooa Zhu
2022-07-13Make admin api use translated config descriptionsTusooa Zhu
2022-07-13Extract config descriptions for translationTusooa Zhu
2022-07-13Merge branch 'short-description' into 'develop'tusooa
Add short_description instance field Closes #2865 See merge request pleroma/pleroma!3651
2022-07-12Make mutes and blocks behave the same as other listsTusooa Zhu
2022-07-11Merge branch 'fix/case-sensitivity-restricted-nicknames-blacklisted-domains' ↵tusooa
into 'develop' Make checking blacklisted domains and restricted nicknames case-insensitive Closes #2894 and #2888 See merge request pleroma/pleroma!3687
2022-07-10Make lint happyTusooa Zhu
2022-07-10Merge branch 'from/upstream-develop/tusooa/2830-remote-fo-mp' into 'develop'Haelwenn
Pass remote follow avatar into media proxy Closes #2830 See merge request pleroma/pleroma!3690
2022-07-10Pass remote follow avatar into media proxyTusooa Zhu
2022-07-06Make validation functions for restricted nicknames and blacklisted domains; ↵Sean King
do restricted nickname validation in LDAP account registration
2022-07-05Make checking blacklisted domains and restricted nicknames case-insenstiveSean King
2022-07-03Merge branch 'image_description_from_exif_data' into 'develop'Haelwenn
Use EXIF data of image for image description See merge request pleroma/pleroma!3535
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-07-03Merge branch 'from/upstream-develop/tusooa/server-announcements' into 'develop'Haelwenn
Server announcements (1st pass) See merge request pleroma/pleroma!3643
2022-07-01Descriptions from exif data with only whitespeces are considered emptyIlja
I noticed that pictures taken with Ubuntu-Touch have whitespace in one of the fields This should just be ignored imo
2022-07-01update moduledocIlja
2022-07-01Better way of getting keysIlja
I used keyword_list[:key], but if the key doesn't exist, it will return nil. I actually expect a list and further down the code I use that list. I believe the key should always be present, but in case it's not, it's better to return an empty list instead of nil. That way the code wont fail further down the line.
2022-07-01Add deprecation warningsIlja
2022-07-01Rename the Exiftool moduleIlja
No migrations or checks yet
2022-07-01Rename the new moduleIlja
2022-07-01Use EXIF data of image to prefill image descriptionIlja
During attachment upload Pleroma returns a "description" field. Pleroma-fe has an MR to use that to pre-fill the image description field, <https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1399> * This MR allows Pleroma to read the EXIF data during upload and return the description to the FE * If a description is already present (e.g. because a previous module added it), it will use that * Otherwise it will read from the EXIF data. First it will check -ImageDescription, if that's empty, it will check -iptc:Caption-Abstract * If no description is found, it will simply return nil, just like before * When people set up a new instance, they will be asked if they want to read metadata and this module will be activated if so This was taken from an MR i did on Pleroma and isn't finished yet.
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-16Store mutes expiration datemarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>