Hélène
11f9f2ef27
EmojiReactValidator: fix emoji qualification
...
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-28 21:33:57 +02:00
Tusooa Zhu
014096aeef
Make outbound transmogrifier aware of edit history
2022-06-25 11:20:46 -04:00
Tusooa Zhu
5321fd0012
Do not put meta[:object_data] for local Updates
2022-06-25 10:03:19 -04:00
Tusooa Zhu
9c6dae942d
Fix local updates causing emojis to be lost
2022-06-25 09:23:09 -04:00
Tusooa Zhu
99a6f50316
Unify the logic of updating objects
2022-06-25 00:32:22 -04:00
Tusooa Zhu
e0d6da4e7d
Fix CommonAPITest
2022-06-24 10:54:11 -04:00
Tusooa Zhu
ee07383191
Use meta[:object_data] in SideEffects for Update
2022-06-24 10:28:58 -04:00
Tusooa Zhu
01321c88b5
Convert incoming Updated object into Pleroma format
2022-06-24 10:25:22 -04:00
Tusooa Zhu
c3593639ad
Fix incorrectly cached content after editing
2022-06-09 11:39:51 -04:00
Tusooa Zhu
8bac8147d4
Stream out edits
2022-06-03 21:15:17 -04:00
Tusooa Zhu
fa31ae50e6
Inject history when object is refetched
2022-06-01 19:49:04 -04:00
Tusooa Zhu
410e177b2a
Strip internal fields in formerRepresentation
2022-06-01 12:02:03 -04:00
Tusooa Zhu
b613a9ec6b
Implement mastodon api for editing status
2022-05-31 14:32:28 -04:00
Tusooa Zhu
c004eb0fa2
Implement mastodon api for showing edit history
2022-05-29 23:50:31 -04:00
Tusooa Zhu
8acfe95f3e
Allow updating polls
2022-05-29 22:16:03 -04:00
Tusooa Zhu
5e8aac0e07
Record edit history for Note and Question Updates
2022-05-29 13:54:16 -04:00
Tusooa Zhu
0f6a5eb9a2
Handle Note and Question Updates
2022-05-29 12:54:57 -04:00
Tusooa Zhu
547def67a7
Allow Updates by every actor on the same origin
2022-05-29 11:36:00 -04:00
Hélène
a74ce2d77a
StealEmojiPolicy: fix String rejected_shortcodes
...
* rejected_shortcodes is defined as a list of strings in the
configuration description. As such, database-based configuration was
led to handle those settings as strings, and not as the actually
expected type, Regex.
* This caused each message passing through this MRF, if a rejected
shortcode was set and the emoji did not exist already on the instance,
to fail federating, as an exception was raised, swiftly caught and
mostly silenced.
* This commit fixes the issue by introducing new behavior: strings are
now handled as perfect matches for an emoji shortcode (meaning that if
the emoji-to-be-pulled's shortcode is in the blacklist, it will be
rejected), while still supporting Regex types as before.
2022-05-18 21:25:10 +02:00
Tusooa Zhu
f1722a9f4a
Make lint happy
...
Ref: fix-local-public
2022-05-09 18:53:32 -04:00
Tusooa Zhu
38444aa92a
Allow authenticated users to access local-only posts in MastoAPI
...
Ref: fix-local-public
2022-05-09 18:53:18 -04:00
Haelwenn
4605efe272
Merge branch 'improve_anti_followbot_policy' into 'develop'
...
Also use actor_type to determine if an account is a bot in antiFollowbotPolicy
Closes #2561
See merge request pleroma/pleroma!3498
2022-05-08 18:10:40 +00:00
Ilja
a8093732bd
Also use actor_type to determine if an account is a bot in antiFollowbotPolicy
2022-05-08 18:10:40 +00:00
Tusooa Zhu
fe933b9bf2
Prevent remote access of local-only posts via /objects
...
Ref: fix-local-public
2022-05-06 13:54:21 -04:00
Tusooa Zhu
c48be59f58
Show local-only statuses in public timeline for authenticated users
...
Ref: fix-local-public
2022-05-06 13:54:02 -04:00
Tusooa Zhu
57c030a0a7
Skip cache when /objects or /activities is authenticated
...
Ref: fix-local-public
2022-05-06 10:23:26 +02:00
Haelwenn (lanodan) Monnier
83338c25a5
Transmogrifier: Use validating regex for "mediaType"
2022-03-17 22:37:26 +01:00
Haelwenn (lanodan) Monnier
030183b35f
AttachmentValidator: Use custom ecto type and regex for "mediaType"
2022-03-17 22:37:26 +01:00
Sean King
17aa3644be
Copyright bump for 2022
2022-02-25 23:11:42 -07:00
marcin mikołajczak
f8f2a17754
Birthdays: Fix outgoing federation of birth dates
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-02-01 12:00:26 +01:00
Alex Gleason
3bf257171f
ForceMentionsInContent: improve display of Markdown posts
2022-01-27 14:15:06 -06:00
Alex Gleason
27cb3d6273
ForceMentionsInContent: don't apply it to top-level posts
2022-01-26 21:24:26 -06:00
bot
a4de79ced0
ForceBotUnlistedPolicy: fix to stop unlisting my posts >:(
2022-01-26 22:53:02 +00:00
Alex Gleason
0604b0dd09
ForceMentionsInContent: don't mention self
2022-01-25 12:33:47 -06:00
Alex Gleason
0f4e0e667e
Merge branch 'recipients-inline' into 'develop'
...
ForceMentionsInContent: wrap mentions in a span, fix the formatting
See merge request pleroma/pleroma!3620
2022-01-25 17:43:39 +00:00
Alex Gleason
65b4d2ce84
ForceMentionsInContent: fix order of mentions
2022-01-25 10:42:34 -06:00
Alex Gleason
267184b70e
ForceMentionsInContentTest: return mentions in a not terrible format
2022-01-24 20:03:43 -06:00
Alex Gleason
c5a20c80c4
ForceMentionsInContent: simplify finding users
2022-01-24 19:44:44 -06:00
Alex Gleason
d5644a52aa
ForceMentionsInContent: wrap inline mentions with span tag
2022-01-24 19:11:45 -06:00
Alex Gleason
1bbc701a3a
ForceMentionsInContent: use `to` instead of `tag`
2022-01-24 19:11:14 -06:00
marcin mikołajczak
0266bc3c96
Birthdays: hide_birthday -> show_birthday
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-23 09:13:33 +01:00
Alex Gleason
aaa9314f4c
Merge remote-tracking branch 'origin/develop' into birth-dates
2022-01-22 14:24:50 -06:00
Alex Gleason
66e8c6f90f
Birthdays: birth_date --> birthday
2022-01-22 13:21:55 -06:00
Alex Gleason
6ffe43af70
Merge branch 'private-pins' into 'develop'
...
Support private pinned posts from Mastodon
See merge request pleroma/pleroma!3611
2022-01-20 23:18:24 +00:00
marcin mikołajczak
88c21b9282
Support private pinned posts from Mastodon
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-20 12:35:32 +01:00
rinpatch
a02cfd7f52
Add ForceMentionsInContentPolicy
...
Even though latest PleromaFE supports displaying these properly, mobile
apps still exist, so I think we should offer a workaround to those who
want it.
2022-01-19 21:04:57 +03:00
marcin mikołajczak
c180f9276f
check if remote bday is valid
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-19 17:19:28 +01:00
marcin mikołajczak
b108b05650
Birth dates, birthday reminders API, allow instance admins to require minimum age
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-18 14:57:48 +01:00
Tusooa Zhu
e41eee5ed1
Make Move activity federate properly
...
Ref: emit-move
2021-12-28 01:11:08 -05:00
marcin mikołajczak
de006443f0
MastoAPI: Profile directory
2021-12-26 02:35:17 +00:00
Alex Gleason
d9746ae4cb
Merge branch 'from/develop/tusooa/2802-propagate-reject' into 'develop'
...
Handle Reject for already-accepted Follows properly
Closes #2766 and #2802
See merge request pleroma/pleroma!3568
2021-12-23 16:00:16 +00:00
Alex Gleason
df5359aa72
Merge branch 'replies-count' into 'develop'
...
Fix replies count for remote replies
See merge request pleroma/pleroma!3541
2021-12-19 17:36:25 +00:00
Tusooa Zhu
3d41ccc47b
Allow updating accepted follow activities in Web.ActivityPub.Utils.update_follow_state_for_all/2
...
Mastodon uses the Reject activity also for the purpose of removing
a follower, in addition to reject a follow request. We should
also update the original Follow activity in this case.
2021-12-17 14:17:51 -05:00
Alex Gleason
2c96668a2c
Merge remote-tracking branch 'origin/develop' into fix-attachment-dimensions
2021-12-07 13:41:54 -05:00
Alex Gleason
3f03d71ea6
AttachmentValidator: ingest width and height
2021-12-07 12:59:03 -05:00
Lain Soykaf
ca8c676867
Linting.
2021-12-07 12:12:23 -05:00
Finn Behrens
8af53101fb
move result into with guard
2021-12-07 09:18:53 +01:00
marcin mikołajczak
d64d1b1d45
Fix replies count for remote replies
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-11-23 11:31:09 +01:00
lain
e2772d6bf1
Merge branch 'block-behavior' into 'develop'
...
Configurable block visibility, fixes #2123
Closes #2123
See merge request pleroma/pleroma!3242
2021-11-15 14:27:59 +00:00
Haelwenn (lanodan) Monnier
23e91ec8dd
activity_pub_controller: Fix misleading debug warning in post_inbox_fallback
2021-11-10 01:11:35 +01:00
Haelwenn (lanodan) Monnier
23161526d4
object_validators: Group common fields in CommonValidations
...
Notes:
- QuestionValidator didn't have a :name field but that seems like a mistake
- `_fields` functions can't inherit others because of some Validators
- bto/bcc fields were absent in activities, also seems like a mistake
(Well IIRC we don't or barely support bto/bcc anyway)
2021-10-10 02:50:06 +02:00
Haelwenn (lanodan) Monnier
a17910a6c6
CI: Bump lint stage to elixir-1.12
...
Elixir 1.12 changed formatting rules, this allows to avoid having to rollback to run `mix format`
2021-10-06 08:11:05 +02:00
Ilja
20084329ea
Selecting MRF policies didn't work as intended any more
...
* Policies were put under a new module (Pleroma.Web.ActivityPub.MRF.Policy instead of Pleroma.Web.ActivityPub.MRF), but this wasn't changed in the Pleroma.Web.ActivityPub.MRF @mrf_config_descriptions
* I don't have a unit test to prevent similar problems in the future because I don't find a proper way to do it
* The descriptions in the unit tests are defined in the unit tests, so if someone changes module names in the code, the tests wont see it
* The list is generated in Pleroma.Docs.Generator.list_behaviour_implementations, but I can't do a check in the when clause of the function to see if the provided module is a behaviour or not.
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3509
2021-08-28 18:27:58 +02:00
Sam Therapy
09c42ce13e
Add Admin-FE menu for StealEmojiPolicy
...
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3512
2021-08-28 18:21:59 +02:00
Haelwenn
bc62a35282
Merge branch 'features/ingestion-no-nil' into 'develop'
...
ObjectValidator.stringify_keys: filter out nil values
See merge request pleroma/pleroma!3506
2021-08-28 16:07:35 +00:00
Haelwenn
6633ec816f
Merge branch 'admin_fe_dont_list_mrf_policies_any_more' into 'develop'
...
Selecting MRF policies didn't work as intended any more
Closes admin-fe#198
See merge request pleroma/pleroma!3509
2021-08-28 16:06:35 +00:00
Haelwenn
2d9f803dc6
Merge branch 'StealEmojiMRF_add_adminFE' into 'develop'
...
Add Admin-FE menu for StealEmojiPolicy
See merge request pleroma/pleroma!3512
2021-08-14 18:40:24 +00:00
Haelwenn
773708cfe8
Merge branch 'builder-note' into 'develop'
...
CommonAPI.Utils.make_note_data/1 --> ActivityPub.Builder.note/1
See merge request pleroma/pleroma!3511
2021-08-14 18:32:40 +00:00
Alex Gleason
ba6049aa81
Builder.note/1: return {:ok, map(), keyword()} like other Builder functions
2021-08-14 11:24:55 -05:00
Sam Therapy
b901b73057
Add Admin-FE menu for StealEmojiPolicy
2021-08-14 11:08:39 -05:00
Alex Gleason
a2eacfc525
CommonAPI.Utils.make_note_data/1 --> ActivityPub.Builder.note/1
2021-08-14 11:01:06 -05:00
Ilja
5049b4272e
Selecting MRF policies didn't work as intended any more
...
* Policies were put under a new module (Pleroma.Web.ActivityPub.MRF.Policy instead of Pleroma.Web.ActivityPub.MRF), but this wasn't changed in the Pleroma.Web.ActivityPub.MRF @mrf_config_descriptions
* I don't have a unit test to prevent similar problems in the future because I don't find a proper way to do it
* The descriptions in the unit tests are defined in the unit tests, so if someone changes module names in the code, the tests wont see it
* The list is generated in Pleroma.Docs.Generator.list_behaviour_implementations, but I can't do a check in the when clause of the function to see if the provided module is a behaviour or not.
2021-08-14 13:42:32 +02:00
Haelwenn (lanodan) Monnier
8baaa36a16
ObjectAgePolicy: Fix pattern matching on published
...
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3500
2021-08-13 17:56:46 +02:00
kPherox
34606d609d
fix: stream out Create Activity
...
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3499
2021-08-13 17:54:51 +02:00
Haelwenn (lanodan) Monnier
61d233921c
ObjectValidator.stringify_keys: filter out nil values
2021-08-11 21:38:10 +02:00
Haelwenn
8679a57a71
Merge branch 'bugfix/object-age-create' into 'develop'
...
ObjectAgePolicy: Fix pattern matching on published
See merge request pleroma/pleroma!3500
2021-08-10 18:16:02 +00:00
Haelwenn (lanodan) Monnier
c64eae40a2
ObjectAgePolicy: Fix pattern matching on published
2021-08-10 07:41:06 +02:00
Haelwenn
f4af74b0fc
Merge branch 'fix/streaming-api-for-create-activity' into 'develop'
...
fix: stream out Create Activity
Closes #2691
See merge request pleroma/pleroma!3499
2021-08-09 19:10:05 +00:00
Haelwenn
901204df22
Merge branch 'poll-notification' into 'develop'
...
MastodonAPI: Support poll notification
See merge request pleroma/pleroma!3484
2021-08-09 10:02:37 +00:00
kPherox
ee5def34da
fix: stream out Create Activity
2021-08-09 18:37:48 +09:00
Egor Kislitsyn
ad09bdb376
Improve readability
2021-08-06 07:59:54 +02:00
Ilja
b0926a71b2
Make transparency_exclusions use tuples in admin-fe
...
* Make it use tuples
* I also changed the keys for key_placeholder and value_placeholder to use snake_case instead of camelCase
2021-08-06 07:59:53 +02:00
Ilja
f4028c908c
Add key- and valuePlaceholders for quarantined_instances and mrf_simple
...
* I also added for keywordpolicy as well now. It was done in the admin-fe, but is better to be done here
* I also added comments to explain why we did the _info keys (backwards compatibility)
2021-08-06 07:59:53 +02:00
Ilja
47fc57bbcc
Change what nodeinfo returns without breaking backwards compatibility
...
* Only for SimplePolicy for now
* I added an extra mrf_simple_info key that has an object as value. The object contains only relevant extra info
2021-08-06 07:59:53 +02:00
Ilja
7fdc3cde06
Return maps in node_info
...
It's easiest (and imo most proper) to use tuples {"instance, "reason"} in BE,
but for FE maps like %{"instance": "instance", "reason", "reason"} are better.
I changed it so that node_info returns maps now for simple_policy and quarantined instances.
2021-08-06 07:59:53 +02:00
Ilja
dfeb3862da
config :mrf, :transparency_exclusions works with tumples now
2021-08-06 07:59:52 +02:00
Ilja
27fe7b0274
Make quarentine work with list of tuples instead of strings
2021-08-06 07:59:52 +02:00
Ilja
4ba0beb60c
Make mrfSimple work with tuples
...
* Changed SimplePolicy
* I also grepped in test/ for ':mrf_simple' to see what other things could be affected
2021-08-06 07:58:58 +02:00
Alex Gleason
7f23dd6cc8
Merge remote-tracking branch 'pleroma/develop' into object-tombstone-visibility
2021-07-27 08:54:26 -05:00
Alex Gleason
9cc8642b80
Visibility: check Tombstone objects in visible_for_user?/2
2021-07-27 08:54:01 -05:00
Alex Gleason
62bf6d67e3
Merge remote-tracking branch 'pleroma/develop' into poll-notification-fixes
2021-07-18 11:49:22 -05:00
Alex Gleason
0b1c05ca1e
Poll notification: trigger PollWorker through common_pipeline
2021-07-18 11:10:23 -05:00
Alex Gleason
0114754db2
MastodonAPI: Support poll notification
2021-07-17 22:19:38 -05:00
Haelwenn
173e977e28
Merge branch 'features/ingestion-page' into 'develop'
...
Pipeline Ingestion: Page
See merge request pleroma/pleroma!3097
2021-07-12 05:05:49 +00:00
Haelwenn (lanodan) Monnier
6dc78f5f6f
AP C2S: Remove restrictions and make it go through pipeline
2021-07-12 06:49:41 +02:00
Alex Gleason
99cc26bb02
Merge remote-tracking branch 'pleroma/develop' into remote-deletions
2021-06-30 02:02:30 -05:00
Alex Gleason
43800d83f4
Deletions: allow deactivated users to be deleted
2021-06-30 01:32:28 -05:00
Haelwenn (lanodan) Monnier
c839078a75
ObjectValidators.{Announce,EmojiReact,Like}: Fix context, actor & addressing
2021-06-09 04:23:02 +02:00
Alex Gleason
67ec0e6c18
Switch to runtime deps in ActivityPub.SideEffects
...
Speeds up recompilation by reducing compile cycles
2021-06-08 18:18:25 -05:00
Alex Gleason
6fcfa33e4e
Fix MRF.config_descriptions/0
2021-06-07 14:52:57 -05:00