Commit graph

2094 commits

Author SHA1 Message Date
Hélène 8f140deb8f 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-06-29 20:47:45 +01:00
Ilja 661d0ba481 Also use actor_type to determine if an account is a bot in antiFollowbotPolicy 2022-06-29 20:47:44 +01:00
FloatingGhost 3928cecf6b ensure local statuses are not visible remotely 2022-06-22 17:06:40 +01:00
FloatingGhost 502382da45 cherry-pick security from upstream 2022-06-22 16:25:05 +01:00
FloatingGhost 6e1d9c63da allow %{source} dict in no_empty 2022-06-14 17:41:25 +01:00
FloatingGhost abefbcec64 Merge branch 'mfm' into develop 2022-06-14 16:25:47 +01:00
FloatingGhost 829ae13572 ensure tests pass 2022-06-14 16:24:03 +01:00
FloatingGhost 3f06ccc9e3 allow source from misskey 2022-06-14 10:56:18 +01:00
sn0w 60bfaed368
Allow reacting with emojis containing a number 2022-06-14 11:47:09 +02:00
FloatingGhost 24bf8c3977 mix format 2022-06-11 16:14:31 +01:00
FloatingGhost 32fbd2e4e3 fix all tests 2022-06-11 16:14:22 +01:00
FloatingGhost c3ed86cd1e fix emoji controller tests 2022-06-11 14:21:50 +01:00
FloatingGhost 142646426e fix emoji tests 2022-06-11 14:08:54 +01:00
FloatingGhost 71f4281850 fix quoting of custom emoji
Fixes #3
2022-06-11 14:08:13 +01:00
FloatingGhost ed58a6b070 run mix format 2022-06-10 13:41:08 +01:00
FloatingGhost e910f21d8d allow undoing 2022-06-08 13:27:25 +01:00
FloatingGhost e724da2a42 remove io.inspects 2022-06-08 12:58:12 +01:00
FloatingGhost c5467d04e4 add outbound reacts 2022-06-08 12:36:38 +01:00
FloatingGhost ad0b8c095c add custom emoji reaction support 2022-06-08 02:42:44 +01:00
FloatingGhost 8cc6359a85 Merge remote-tracking branch 'upstream/bookwyrm-entities' into develop 2022-01-07 20:23:53 +00:00
FloatingGhost 25b4395830 just drop unknown tags 2022-01-07 20:14:04 +00:00
FloatingGhost 34780cf182 Merge remote-tracking branch 'upstream/bookwyrm-entities' into develop 2022-01-07 17:36:21 +00:00
FloatingGhost 2cc6b1e1bd Allow for varying name fields 2022-01-07 17:35:56 +00:00
FloatingGhost 5c48fe1138 make credo happy 2022-01-07 17:31:13 +00:00
FloatingGhost 92d3742072 Merge remote-tracking branch 'upstream/bookwyrm-entities' into develop 2022-01-07 17:21:44 +00:00
FloatingGhost 9ee27fb5ec add bookwyrm entity tests 2022-01-07 17:17:18 +00:00
FloatingGhost 680c5d8d89 Add compatibility with bookwyrm's weird entities 2022-01-07 16:51:04 +00:00
FloatingGhost 3252ed0f54 format 2021-12-30 18:05:44 +00:00
FloatingGhost 4e8ee48cff delete activities 2021-12-30 18:05:44 +00:00
FloatingGhost 12a171844b Merge remote-tracking branch 'upstream/develop' into develop 2021-12-30 18:05:22 +00: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
FloatingGhost 703f53c08f Search through users and hashtags as well 2021-12-14 13:55:14 +00:00
sadposter 144c06487a fix buggos 2021-12-12 20:01:07 +00:00
FloatingGhost ee1a2fc451 fully reference es 2021-12-12 19:40:31 +00:00
FloatingGhost 67f8bdce4f fix multi-after-transaction 2021-12-12 19:40:05 +00:00
FloatingGhost 7502da993b pipeline it 2021-12-12 19:39:07 +00:00
sadposter f341e68622 fix bug in inbound 2021-12-12 19:31:47 +00:00
Alex Gleason da83839dc1 AttachmentValidator: ingest width and height 2021-12-12 17:35:02 +00:00
Lain Soykaf eb7bbe3fc8 Linting. 2021-12-12 17:35:02 +00:00
Finn Behrens 66b60f1ee2 move result into with guard 2021-12-12 17:35:02 +00: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
sadposter 6a6260f64e re-enable deactivated check 2021-12-06 12:03:16 +00:00
sadposter ca2bd8b72b remove deactivated_users call 2021-12-06 10:18:16 +00:00
sadposter bb54720778 add debug 2021-12-05 21:56:11 +00: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
Alex Gleason fe4c4a7178
MRF: create MRF.Policy behaviour separate from MRF module
Speeds up recompilation by reducing compile-time deps
2021-06-07 14:22:08 -05:00
Haelwenn (lanodan) Monnier eb7313b0d3
Pipeline Ingestion: Page 2021-06-04 20:06:33 +02:00
Haelwenn (lanodan) Monnier 11844084d0
MIME.valid?(type) → is_bitstring(type) && MIME.extensions(type) != []
Since mime 1.6.0:

  warning: MIME.valid?/1 is deprecated. Use MIME.extensions(type) != [] instead

As for the bitstring(type) part it's because MIME.extensions only expects a string.
https://github.com/elixir-plug/mime/issues/43
2021-06-03 19:11:17 +02:00
Alex Gleason 708210b994
Merge remote-tracking branch 'pleroma/develop' into cycles-streaming 2021-06-01 13:56:40 -05:00
Alex Gleason a744c47e9a
Remove deps from Streaming/Persisting behaviors
Speeds up recompilation by limiting compile-time deps
2021-06-01 13:55:07 -05:00
Alex Gleason c435de426d
Merge remote-tracking branch 'pleroma/develop' into cycles-constants 2021-06-01 11:33:11 -05:00
feld 0ddf492c5d Merge branch 'cycles-base-url' into 'develop'
Deprecate Pleroma.Web.base_url/0

See merge request pleroma/pleroma!3432
2021-06-01 16:15:27 +00:00