Commit graph

2079 commits

Author SHA1 Message Date
Haelwenn (lanodan) Monnier 18b536c176
Pleroma.Object/1: take %Object{} as argument instead 2020-12-28 11:05:24 +01:00
Ivan Tashkinov 14fae94c0e [#3213] Made Object.hashtags/1 work with :hashtags assoc. Adjusted tests. 2020-12-28 00:08:09 +03:00
Alexander Strizhakov 2e859794ee
non condition dir creation 2020-12-27 21:58:15 +03:00
Alexander Strizhakov 7bfb041658
insreasing test coverage for StealEmojiPolicy 2020-12-27 21:53:30 +03:00
Alexander Strizhakov aafd7b44ce
check dir existence in policy 2020-12-27 21:53:30 +03:00
Ivan Tashkinov 4134abef63 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2020-12-26 22:23:05 +03:00
Ivan Tashkinov cbb19d0e18 [#3213] Hashtag-filtering functions in ActivityPub. Mix task for migrating hashtags to hashtags table. 2020-12-26 22:20:55 +03:00
Haelwenn (lanodan) Monnier 87b13c5430
Create Object.hashtags/1 wrapper 2020-12-22 05:15:34 +01:00
Haelwenn (lanodan) Monnier acb03d591b
Insert text representation of hashtags into object["hashtags"]
Includes a new mix task: pleroma.database fill_old_hashtags
2020-12-22 05:15:34 +01:00
Ivan Tashkinov ee221277b0 Encapsulation of tags / hashtags fetching from objects. 2020-12-21 22:54:26 +03:00
lain ab633e51ab Linting 2020-12-21 16:48:35 +01:00
lain 5db1e6c8d3 Pipeline test: Switch from Mock to Mox.
Speeds up the test and makes it possible to run async.
2020-12-21 16:35:12 +01:00
lain 713612c377 Cachex: Make caching provider switchable at runtime.
Defaults to Cachex.
2020-12-18 17:44:46 +01:00
Alex Gleason 642729b49f Fix AudioVideoValidator markdown 2020-12-11 17:22:54 -06:00
Alex Gleason f8c93246d6 Refactor Earmark code, fix tests 2020-12-11 17:22:42 -06:00
Alex Gleason e9e17e5df3 Upgrade Earmark to v1.4.10 2020-12-11 17:22:17 -06:00
Egor Kislitsyn 35ba48494f
Stream follow updates 2020-12-02 00:18:58 +04:00
feld ecd1ef8cb5 Merge branch 'fix/2302-report-duplicates' into 'develop'
Fix for forwarded reports

Closes #2303 and #2302

See merge request pleroma/pleroma!3146
2020-11-20 18:40:15 +00:00
feld 79a509ee61 Merge branch '2301-users-search-discoverability-fix' into 'develop'
[#2301] Proper handling of User.is_discoverable

Closes #2301

See merge request pleroma/pleroma!3162
2020-11-19 20:33:52 +00:00
feld cd1b4155d5 Merge branch 'oban-jobs-to-simple-tasks' into 'develop'
Moving some background jobs into simple tasks

Closes #1790

See merge request pleroma/pleroma!3129
2020-11-19 20:32:32 +00:00
Ivan Tashkinov e164c37139 [#2301] Proper handling of User.is_discoverable: users appear in in-service search but are hidden from external services like search bots. 2020-11-19 19:30:02 +03:00
Alexander Strizhakov 8a8c154b4e
test fixes 2020-11-19 09:58:32 +03:00
Alexander Strizhakov be0b874e1d
fix for mastodon forwarded reports 2020-11-19 09:53:14 +03:00
Alexander Strizhakov e2bf6b1f7e
fix for forwarded reports 2020-11-19 09:53:13 +03:00
feld d33b9e7b33 Merge branch 'remove/fedsockets' into 'develop'
Remove FedSockets

See merge request pleroma/pleroma!3155
2020-11-17 14:58:33 +00:00
rinpatch 2c55f7d7cb Remove FedSockets
Current FedSocket implementation has a bunch of problems. It doesn't
have proper error handling (in case of an error the server just doesn't
respond until the connection is closed, while the client doesn't match
any error messages and just assumes there has been an error after 15s)
and the code is full of bad descisions (see: fetch registry which uses
uuids for no reason and waits for a response by recursively querying a
 ets table until the value changes, or double JSON encoding).

Sometime ago I almost completed rewriting fedsockets from scrach to
adress these issues. However, while doing so, I realized that fedsockets
 are just too overkill for what they were trying to accomplish, which is
 reduce the overhead of federation by not signing every message.
This could be done without reimplementing failure states and endpoint
 logic we already have with HTTP by, for example, using TLS cert auth,
or switching to a more performant signature algorithm. I opened
https://git.pleroma.social/pleroma/pleroma/-/issues/2262 for further
discussion on alternatives to fedsockets.

From discussions I had with other Pleroma developers it seems like they
 would approve the descision to remove them as well,
therefore I am submitting this patch.
2020-11-17 17:28:30 +03:00
lain fec1ed802e Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/local-only-scope 2020-11-17 15:01:38 +01:00
lain 81293e5aad ActivityPubController: Don't return local only objects 2020-11-17 13:11:39 +01:00
Mark Felder 2156de2fee Ingest blurhash field during transmogrification 2020-11-11 13:39:02 -06:00
Mark Felder 6fd72e9e85 Ingest blurhash for attachments if they were federated 2020-11-11 12:27:51 -06:00
Alexander Strizhakov 8da9f919f8
little changes for MRF config descriptions
- log level reduction, if policy doesn't implement config_description method
- docs in dev.md
2020-11-11 18:49:15 +03:00
Egor Kislitsyn 0118ccb53c
Add local visibility 2020-11-11 18:54:01 +04:00
Alexander Strizhakov 8d218ebaf5
Moving some background jobs into simple tasks
- fetching activity data
- attachment prefetching
- using limiter to prevent overload
2020-11-11 13:39:49 +03:00
Alexander Strizhakov f97f24b067
making credo happy and test fix 2020-11-11 10:48:03 +03:00
Alexander Strizhakov efc27f6464
fix for adminFE
- revert UserAllowPolicy description
- MRF descriptions order
2020-11-11 10:10:57 +03:00
Alexander Strizhakov 485697d96c
config descriptions for custom MRF policies 2020-11-10 19:20:14 +03:00
lain bae48c98e3 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into alexgleason/pleroma-block-behavior 2020-11-04 16:18:11 +01:00
lain 329aa19c9f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into alexgleason/pleroma-restrict-domain 2020-11-04 15:05:01 +01:00
lain c7bcbfbc1d Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/local-only-scope 2020-11-04 11:47:41 +01:00
lain 24ce324973 Merge branch 'bugfix/poll_replies_count' into 'develop'
side_effects: Don’t increase_replies_count when it’s an Answer

Closes #2274

See merge request pleroma/pleroma!3114
2020-11-02 12:08:20 +00:00
Haelwenn (lanodan) Monnier 4caad4e910
side_effects: Don’t increase_replies_count when it’s an Answer 2020-11-02 05:56:17 +01:00
eugenijm 8e41baff40 Add idempotency_key to the chat_message entity. 2020-10-31 05:50:59 +03:00
Egor Kislitsyn 8542d2efee
Merge remote-tracking branch 'origin/develop' into feature/local-only-scope 2020-10-29 14:51:23 +04:00
Ivan Tashkinov ba50dc05a8 Merge remote-tracking branch 'remotes/origin/develop' into ostatus-controller-no-auth-check-on-non-federating-instances
# Conflicts:
#	CHANGELOG.md
2020-10-28 19:03:40 +03:00
minibikini 1bfd8528bb Merge branch 'develop' into 'feature/local-only-scope'
# Conflicts:
#   CHANGELOG.md
2020-10-27 18:59:19 +00:00
lain 04b7505c75 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into alexgleason/pleroma-block-behavior 2020-10-26 17:50:34 +01:00
lain de6d49c8ce ActivityPub: Add back debug call + explanation. 2020-10-26 16:33:26 +01:00
lain 9542c5d0f4 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into 2236-no-name 2020-10-26 16:30:48 +01:00
Haelwenn 073ad7e6d9 Merge branch 'docs/ap_c2s' into 'develop'
AP C2S: Document our additional endpoints

See merge request pleroma/pleroma!3056
2020-10-26 02:09:20 +00:00
rinpatch df61071422 Merge branch '2242-nsfw-case' into 'develop'
Resolve "Posts tagged with #NSFW from GS aren't marked as sensitive"

Closes #2242

See merge request pleroma/pleroma!3094
2020-10-23 19:39:42 +00:00
lain 60e379ce0b User: Correctly handle whitespace names. 2020-10-23 13:53:01 +02:00
feld d6907e6e0c Merge branch 'chore/elixir-1.11' into 'develop'
Elixir 1.11 compatibility / Phoenix 1.5+

See merge request pleroma/pleroma!3059
2020-10-22 20:33:52 +00:00
lain 8d251096fe SideEffects: Correctly handle chat messages sent to yourself 2020-10-22 12:22:08 +02:00
lain e97b254c6b Transmogrifier: Refactor and unify incoming tag handling 2020-10-19 15:46:24 +02:00
lain 39fd4d7639 Transmogrifier: Downcase incoming Hashtags
Also, set sensitive to true if we have an nsfw hashtag present.
2020-10-19 15:40:50 +02:00
Egor Kislitsyn 18a91d85e5
Merge branch 'develop' into feature/local-only-scope 2020-10-19 15:31:56 +04:00
Haelwenn 0495a07dc7 Merge branch '2239-mute-fixes' into 'develop'
ActivityPub: Show own replies to muted users.

Closes #2239

See merge request pleroma/pleroma!3084
2020-10-19 04:26:35 +00:00
Ivan Tashkinov 9ea31b373f Merge remote-tracking branch 'remotes/origin/develop' into chore/elixir-1.11 2020-10-17 17:53:47 +03:00
Ivan Tashkinov 049ece1ef3 Merge remote-tracking branch 'remotes/origin/develop' into ostatus-controller-no-auth-check-on-non-federating-instances
# Conflicts:
#	lib/pleroma/web/feed/user_controller.ex
#	lib/pleroma/web/o_status/o_status_controller.ex
#	lib/pleroma/web/router.ex
#	lib/pleroma/web/static_fe/static_fe_controller.ex
2020-10-17 13:12:39 +03:00
Mark Felder fb056ce05b Merge branch 'develop' into refactor/discoverable_user_field 2020-10-15 16:39:01 -05:00
Egor Kislitsyn 2a475622ee
Add Pleroma.Constants.as_local_public/0 2020-10-15 19:07:00 +04:00
Egor Kislitsyn 4f79bbbc31
Add local-only statuses 2020-10-15 18:37:44 +04:00
lain 7a2f100061 ActivityPub: Show own replies to muted users.
Aligns mute with block behavior.
2020-10-15 12:28:25 +02:00
feld 77bca41595 Apply 3 suggestion(s) to 3 file(s) 2020-10-14 19:33:54 +00:00
feld 2013705690 Merge branch 'feature/gen-magic' into 'develop'
Use libmagic via majic

Closes #1736

See merge request pleroma/pleroma!2534
2020-10-14 17:31:45 +00:00
Mark Felder b001237b79 Finish undoing API breakage 2020-10-14 10:44:18 -05:00
Alex Gleason 755f58168b
Merge remote-tracking branch 'upstream/develop' into restrict-domain 2020-10-13 19:26:04 -05:00
Alex Gleason b3d6cf9022
Merge remote-tracking branch 'upstream/develop' into block-behavior 2020-10-13 19:22:32 -05:00
Mark Felder b738f70953 Merge branch 'develop' into feature/gen-magic 2020-10-13 10:08:38 -05:00
Mark Felder 64553ebae2 Merge branch 'develop' into chore/elixir-1.11 2020-10-13 09:54:53 -05:00
Mark Felder 409f694e4f Merge branch 'develop' into refactor/locked_user_field 2020-10-13 09:54:29 -05:00
Mark Felder 4ead0d564f Merge branch 'develop' into refactor/discoverable_user_field 2020-10-13 09:54:11 -05:00
Mark Felder 8bacdc3680 Change user.discoverable field to user.is_discoverable 2020-10-13 09:45:08 -05:00
Mark Felder 9968b7efed Change user.locked field to user.is_locked 2020-10-13 09:31:13 -05:00
Alexander Strizhakov 9f4fe5485b
alias alphabetically order 2020-10-13 16:43:59 +03:00
Alexander Strizhakov 66e0b0065b
Cache plug module name 2020-10-13 16:43:57 +03:00
Alexander Strizhakov c6baa811d6
EnsureAuthenticatedPlug module name 2020-10-13 16:43:57 +03:00
Alexander Strizhakov 8c993c5f63
FederatingPlug module name 2020-10-13 16:43:55 +03:00
Mark Felder 8539e386c3 Add missing Copyright headers 2020-10-12 12:00:50 -05:00
Ivan Tashkinov 2498e569f1 Merge remote-tracking branch 'remotes/origin/develop' into ostatus-controller-no-auth-check-on-non-federating-instances 2020-10-11 22:34:48 +03:00
Ivan Tashkinov e1eb54d389 [#3053] Rollback of access control changes in ActivityPubController (base actions: :user, :object, :activity). 2020-10-11 13:37:19 +03:00
Alex Gleason 7c2d0e378c
Blocks: make blockers_visible config work 2020-10-10 03:41:35 -05:00
Alex Gleason d2364276a1
Blocks: always see your own posts 2020-10-10 01:58:48 -05:00
Mark Felder 04b514c567 Merge branch 'develop' into feature/gen-magic 2020-10-09 11:26:10 -05:00
Alex Gleason 3f9263fb16
Merge remote-tracking branch 'upstream/develop' into restrict-origin 2020-10-08 17:24:09 -05:00
Mark Felder 218a3e61e1 Fix incompatible types warning (Elixir 1.11) 2020-10-07 10:04:25 -05:00
Mark Felder 636c00037d Fix duplicate @doc entries 2020-10-07 09:58:45 -05:00
rinpatch 2698bbc9f6 Merge branch 'filtering-following' into 'develop'
ActivityPub: Return Announces when filtering by `following`.

See merge request pleroma/pleroma!3022
2020-10-06 18:11:34 +00:00
Ivan Tashkinov 094edde7c4 [#3053] Unauthenticated access control for OStatus-related controllers and ActivityPubController (base actions: :user, :object, :activity). Tests adjustments. 2020-10-05 23:48:00 +03:00
Haelwenn (lanodan) Monnier f497eb034d
activity_pub_controller.ex: Remove unused @doc block
[ci skip]
2020-10-05 21:11:00 +02:00
Maksim Pechnikov de993b856b added force option to the unfollow operation 2020-09-28 09:16:42 +03:00
Haelwenn (lanodan) Monnier 5e86a2809e
transmogrifier: Drop incoming create early if it already exists 2020-09-23 13:40:45 +02:00
lain ee3052a2d8 ActivityPub: Return Announces when filtering by following. 2020-09-22 14:20:19 +02:00
lain f2f0a0260f ActivityPub: Don't block-filter your own posts
We are filtering out replies to people you block, but that should
not include your own posts.
2020-09-21 16:08:38 +02:00
feld 6c052bd5b6 Merge branch 'media-preview-proxy-nostream' into 'develop'
Media preview proxy

See merge request pleroma/pleroma!3001
2020-09-18 18:38:20 +00:00
Steven Fuchs f2ef9735c5 Federate data through persistent websocket connections 2020-09-18 11:58:22 +00:00
Ivan Tashkinov a428800405 Merge remote-tracking branch 'remotes/origin/develop' into media-preview-proxy-nostream
# Conflicts:
#	CHANGELOG.md
2020-09-17 22:22:59 +03:00
Haelwenn (lanodan) Monnier abf25e5d52 Create MRF.filter_pipeline to inject :object_data when present 2020-09-17 22:07:54 +03:00
Haelwenn (lanodan) Monnier 3a0f99ed35 KeywordPolicy: Still match when fields are absent 2020-09-17 22:07:54 +03:00
Ivan Tashkinov d9fb5bc08a Merge remote-tracking branch 'remotes/origin/develop' into media-preview-proxy-nostream 2020-09-17 17:14:20 +03:00
rinpatch eca8d26784 Merge branch 'chores/mrf-loglevel' into 'develop'
Fetcher: Correctly return MRF reject reason

See merge request pleroma/pleroma!2990
2020-09-16 13:37:04 +00:00
rinpatch adbd0032fa Merge branch 'features/validators-video' into 'develop'
Pipeline Ingestion: Video and Article

See merge request pleroma/pleroma!2908
2020-09-16 13:36:27 +00:00
Ivan Tashkinov 2f155fb89f Merge remote-tracking branch 'remotes/origin/develop' into media-preview-proxy-nostream 2020-09-15 20:29:39 +03:00
eugenijm 3ab59a6f3c Mastodon API: fix the public timeline returning an error when the reply_visibility parameter is set to self for an unauthenticated user 2020-09-15 13:00:56 +03:00
Mark Felder 709723182d Ensure SimplePolicy's tags in string representation don't trip up the object validator 2020-09-14 17:06:42 -05:00
Mark Felder c0b36621f1 Ensure we only apply NSFW Simple policy on parsable objects 2020-09-11 23:22:14 -05:00
Haelwenn (lanodan) Monnier f1f44069ae
Fetcher: Correctly return MRF reject reason 2020-09-11 20:00:41 +02:00
Ivan Tashkinov 0bda85857e Merge remote-tracking branch 'remotes/origin/develop' into media-preview-proxy
# Conflicts:
#	lib/pleroma/instances/instance.ex
2020-09-11 17:19:58 +03:00
Haelwenn (lanodan) Monnier f18178cb09
AttachmentValidator: directly embed url schema and pass it fix_media_type 2020-09-11 01:40:20 +02:00
Haelwenn (lanodan) Monnier 1b3d5956b1
Pipeline Ingestion: Article 2020-09-11 01:40:20 +02:00
Haelwenn (lanodan) Monnier 2132b24a9d
object_validators: likes & announcements as [ObjectID] 2020-09-11 01:39:39 +02:00
Haelwenn (lanodan) Monnier 846b59ccb0
Pipeline Ingestion: Video 2020-09-11 01:39:39 +02:00
Haelwenn (lanodan) Monnier b73e9ef686
transmogrifier: Call strip_internal_fields on pipeline ingestion 2020-09-11 01:39:38 +02:00
Mark Felder 55562ca936 Merge branch 'develop' into feature/gen-magic 2020-09-10 16:05:22 -05:00
Alexander Strizhakov 357d971a10 expiration for new pipeline 2020-09-10 21:50:41 +03:00
Alexander Strizhakov 93e1c8df9d reject activity creation
if passed expires_at option and expiring activities are not configured
2020-09-10 21:50:41 +03:00
Alexander Strizhakov 9bf1065a06 schedule activity expiration in Oban 2020-09-10 21:50:40 +03:00
rinpatch 541a3eede2 Merge branch 'chores/remove-ostatus-fixtures' into 'develop'
Remove OStatus in testsuite

See merge request pleroma/pleroma!2968
2020-09-10 18:41:00 +00:00
Ivan Tashkinov 148bc24435 [#2497] Removed Hackney-specific code
(no longer needed due to adapter options unification).
2020-09-10 11:54:10 +03:00
Mark Felder 4ee99dafcc Merge branch 'develop' into media-preview-proxy 2020-09-09 11:11:36 -05:00
Haelwenn (lanodan) Monnier 10ef532c63 AP C2S: Restrict character limit on Note 2020-09-08 20:21:34 +03:00
Haelwenn (lanodan) Monnier ee0e05f930
Drop unused "inReplyToAtomUri" in objects 2020-09-08 18:43:57 +02:00
Mark Felder 21efda2edb Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into unlisted 2020-09-08 09:31:26 -05:00
Alibek Omarov 95688c90ad ForceBotUnlistedPolicy: simplify code 2020-09-08 01:15:15 +02:00
Alibek Omarov 8b695c3eeb ForceBotUnlistedPolicy: format 2020-09-07 22:53:45 +02:00
Alibek Omarov 699224a900 ForceBotUnlistedPolicy: initial add, tiny clean up from my previous version 2020-09-07 22:15:42 +02:00
Alexander Strizhakov 696bf09433
passing adapter options directly without adapter key 2020-09-07 19:59:17 +03:00
Alexander Strizhakov a83916fdac
adapter options unification
not needed options deletion
2020-09-07 19:59:17 +03:00
Ivan Tashkinov 88a6ee4a59 [#2497] Func defs grouping fix. 2020-09-05 20:23:18 +03:00
Ivan Tashkinov f170d47130 [#2497] Adjusted media proxy preview invalidation. Allowed client-side caching for media preview. Adjusted prewarmer to fetch only proxiable URIs.
Removed :preview pool in favor of existing :media one. Misc. refactoring.
2020-09-05 20:19:09 +03:00
Mark Felder 85446cc30c Merge branch 'develop' into media-preview-proxy 2020-09-03 10:34:06 -05:00
lain 9433311923 Merge branch 'bugfix/incoming-poll-emoji' into 'develop'
Fix emoji in Question, force generated context/context_id insertion

Closes #1870

See merge request pleroma/pleroma!2915
2020-09-03 11:50:30 +00:00
rinpatch 126461942b User table: ensure bio is always a string
Gets rid of '|| ""' in multiple places and fixes #2067
2020-09-01 10:45:42 +03:00
Haelwenn (lanodan) Monnier b960cede9a
common_fixes: Force inserting context and context_id 2020-09-01 08:35:00 +02:00
Haelwenn (lanodan) Monnier a142da3e4f
Add new Emoji Ecto.Type and fix emoji in Question 2020-09-01 08:34:57 +02:00
Haelwenn (lanodan) Monnier 2ecc7d9230
transmogrifier: Remove mastodon emoji-format from emoji field 2020-09-01 08:29:53 +02:00
Mark Felder 479578b148 Merge branch 'develop' into feld-2168-media-preview-proxy 2020-08-25 11:57:23 -05:00
feld d39abd02ac Merge branch 'relay-fix-admin-fe' into 'develop'
Relay fix for admin-fe

See merge request pleroma/pleroma!2902
2020-08-24 17:03:18 +00:00
Mark Felder 4e6eb22b4a Try to warm the cache with the preview image if preview proxy enabled 2020-08-21 12:19:35 -05:00
Haelwenn (lanodan) Monnier 36c125a071
Pipeline Ingestion: Event 2020-08-20 21:49:26 +02:00
Alexander Strizhakov 7dc275b69b
relay fix for admin-fe 2020-08-19 08:41:39 +03:00
Haelwenn (lanodan) Monnier 5316e231b0
Pipeline Ingestion: Audio (Part 2) 2020-08-19 00:06:31 +02:00
lain 3998ef9d64 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into features/validators-audio 2020-08-18 13:31:42 +02:00
lain 548ca43bcf Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into features/validators_use_ectotypes 2020-08-18 12:38:13 +02:00
Haelwenn (lanodan) Monnier 2f8c3c842d
common_fixes: Remove Utils.make_date call 2020-08-18 02:24:48 +02:00
Haelwenn (lanodan) Monnier c9d6638461
common_fixes: Get fixes common from Audio and Question 2020-08-18 02:24:48 +02:00
Haelwenn (lanodan) Monnier 2bc08d5573
Pipeline Ingestion: Audio 2020-08-18 02:02:34 +02:00
Haelwenn (lanodan) Monnier 7a273087ed
object_validators: Use ecto_types where available 2020-08-17 23:47:00 +02:00
Ivan Tashkinov 95529ab709 [#2046] Defaulted pleroma/restrict_unauthenticated basing on instance privacy setting (i.e. restrict on private instances only by default). 2020-08-14 20:55:45 +03:00
feld 14a06e63f6 Merge branch 'fix/activity-expirations-again' into 'develop'
Fix activity expirations again

See merge request pleroma/pleroma!2866
2020-08-13 17:38:19 +00:00
Haelwenn (lanodan) Monnier 4f3c955f26
side_effects: Fix typo on notification 2020-08-13 18:10:43 +02:00
lain 2e347e8286 ActivityPub: Remove reject, move everything to the Pipeline. 2020-08-12 15:07:46 +02:00
lain 7224bf309e Transmogrifier: Move Rejects to the Pipeline 2020-08-12 14:48:51 +02:00
lain 500576dcb6 Linting fixes. 2020-08-11 19:22:14 +02:00
lain 25bfee0d12 ActivityPub: Remove ActivityPub.accept
Switch to the pipeline in CommonAPI and SideEffects
2020-08-11 17:43:16 +02:00
lain f988d82e46 Transmogrifier: Handle accepts with the pipeline 2020-08-11 17:26:01 +02:00
lain 3f6d50111e Linter fixes. 2020-08-11 16:07:42 +02:00
lain da3f9b9988 Transmogrifier: Remove handling of orphaned accepts
This was a Mastodon 2.3 issue and has been fixed for a long time.
According to fediverse.networks, less than one percent of servers
still run a version this old or older.
2020-08-11 15:41:19 +02:00
lain 8b1e8bec2f AcceptValidation: Codify accept rules. 2020-08-11 15:32:52 +02:00
lain f1a0c10b17 AcceptValidator: Add basic validator with tests. 2020-08-11 15:13:07 +02:00
lain 8f9fbc86c0 Transmogrifier: Small readability changes. 2020-08-11 14:02:09 +02:00
lain 677abbf0ee Merge branch 'fix/activity-expirations-again' of git.pleroma.social:pleroma/pleroma into fix/activity-expirations-again 2020-08-11 10:55:10 +02:00
lain 7e4932362b SideEffects: Handle strange deletion case. 2020-08-11 10:54:38 +02:00
lain 11fc90744c Transmogrifier: Remove duplicate code. 2020-08-10 15:31:36 +02:00
Alex Gleason cc196e2cd5
Merge remote-tracking branch 'upstream/develop' into restrict-domain 2020-08-05 13:08:31 -05:00
Alex Gleason ad9c925efb
Speed up instance timeline query 2020-08-05 13:08:13 -05:00
lain 9d7ce1a6d0 CommonValidations: More refactors. 2020-08-05 17:56:12 +02:00
lain 3655175639 CommonValidations: Refactor same_domain? 2020-08-05 17:36:27 +02:00
lain 9c96fc052a CommonValidations: Extract modification right checker 2020-08-05 17:26:53 +02:00
lain f889400d05 Questions: Move fixes to validators. 2020-08-05 14:51:33 +02:00
lain 00c4c6a382 CommonValidations: Remove superfluous function
The `is_active` functionality was integrated into the presence
checker.
2020-08-05 12:24:34 +02:00
lain 19c108170e Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into features/poll-validation 2020-08-05 11:12:14 +02:00
rinpatch b1b6a7dfa8 Merge branch 'deactivated-user-posts' into 'develop'
Deactivated user posts

Closes #2011

See merge request pleroma/pleroma!2845
2020-08-04 19:17:30 +00:00
Egor Kislitsyn 91fbb5b21f
Fix ActivityExpirationPolicy 2020-08-04 18:26:37 +04:00
lain 878c7f3f30 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into features/poll-validation 2020-08-04 15:28:41 +02:00
Haelwenn (lanodan) Monnier 0f088d8ce3
question_validator: Allow content to be an empty-string (blank) 2020-08-04 14:29:16 +02:00
lain 1a00713744 CommonValidations: Treat deactivated users as not present. 2020-08-04 14:17:03 +02:00
lain 56b5b9aa27 Merge branch 'follower-mrf-again' into 'develop'
Follower mrf again

See merge request pleroma/pleroma!2833
2020-08-03 14:22:11 +00:00
lain 10c792110e MRF Object Age Policy: Don't break on messages without cc/to 2020-08-03 14:12:32 +02:00
lain 4b18a07392 Revert "Merge branch 'revert-1ac0969c' into 'develop'"
This reverts merge request !2825
2020-07-31 15:18:04 +00:00
lain 010d77ec85 Revert "Merge branch 'mrf-silence-2' into 'develop'"
This reverts merge request !2820
2020-07-31 15:17:09 +00:00
Haelwenn (lanodan) Monnier ac2598307d
Merge remote-tracking branch 'pleroma/develop' into features/poll-validation 2020-07-31 13:57:21 +02:00
lain 1dd162a5f7 SimplePolicy: Fix problem with DM leaks. 2020-07-31 09:57:30 +02:00
Alex Gleason 702f0fb822
Merge remote-tracking branch 'upstream/develop' into mrf-silence 2020-07-29 13:01:16 -05:00
Alex Gleason 93638935d7
SimpleMRF: :silence --> :followers_only 2020-07-29 12:58:08 -05:00
lain edf8b6abfe EnsureRePrepended: Don't break on chat messages. 2020-07-29 10:53:08 +02:00
Alex Gleason 2a99e7df8e
SimpleMRF silence: optimize, work okay with nil values in addressing 2020-07-28 20:32:58 -05:00
Alex Gleason 3c90f7f715
SimpleMRF: Let instances be silenced 2020-07-28 19:06:42 -05:00
lain 9e6f4694dd Pipeline: Unify embedded_object / object_data, move to validator. 2020-07-27 16:39:50 +02:00
Lain Soykaf 3d13fb05f8 Side Effects: On undoing, put information about the undone object. 2020-07-24 14:40:22 +02:00
Lain Soykaf 91f3cf9bc6 Pipeline: Add embedded object federation. 2020-07-24 14:06:41 +02:00
lain 76aa49a0c5 Merge branch '1973-chats-fix-with-restrict-unauthenticated' into 'develop'
[#1973] Fixed accounts rendering in GET /api/v1/pleroma/chats with truish :restrict_unauthenticated setting

Closes #1973

See merge request pleroma/pleroma!2791
2020-07-23 12:52:02 +00:00
Ivan Tashkinov 9ea51a6de5 [#2791] AccountView: renamed :force option to :skip_visibility_check. 2020-07-23 15:08:30 +03:00
lain b2ba70eec4 Merge branch 'bugfix/mrf-reject-logging' into 'develop'
Fix #783: Make MRF reject log as info level instead of error

Closes #783

See merge request pleroma/pleroma!2758
2020-07-23 11:08:29 +00:00
Ivan Tashkinov 6f5f7af607 [#1973] Fixed accounts rendering in GET /api/v1/pleroma/chats with truish :restrict_unauthenticated.
Made `Pleroma.Web.MastodonAPI.AccountView.render("show.json", _)` demand :for or :force option in order to prevent incorrect rendering of empty map instead of expected user representation with truish :restrict_unauthenticated setting.
2020-07-22 19:06:00 +03:00
Alex Gleason afa8b469ed
Allow restricting public timeline by instance 2020-07-18 19:35:07 -05:00
rinpatch 0fe36b311c Merge branch 'features/mrf-reasons' into 'develop'
Add rejection reason to our MRFs

See merge request pleroma/pleroma!2759
2020-07-15 14:00:22 +00:00
Haelwenn (lanodan) Monnier e4beff90f5
Create Question: Add context field to create 2020-07-15 12:32:43 +02:00
Haelwenn (lanodan) Monnier bfe2dafd39
{Answer,Question}Validator: Keep both actor and attributedTo for now but sync them 2020-07-15 12:32:42 +02:00
Haelwenn (lanodan) Monnier c19bdc811e
Fix attachments in polls 2020-07-15 12:32:42 +02:00
Haelwenn (lanodan) Monnier d713930ea7
Fixup for EctoType module move 2020-07-15 11:40:24 +02:00
Haelwenn (lanodan) Monnier 435a65b976
QuestionValidator: Use AttachmentValidator 2020-07-15 11:40:24 +02:00
Haelwenn (lanodan) Monnier fe6924d00d
CreateGenericValidator: add expires_at 2020-07-15 11:40:24 +02:00
Haelwenn (lanodan) Monnier 82895a4012
SideEffects: port ones from ActivityPub.do_create and ActivityPub.insert 2020-07-15 11:40:23 +02:00
Haelwenn (lanodan) Monnier 4f70fd4105
question_validator: remove conversation field 2020-07-15 11:39:56 +02:00
Haelwenn (lanodan) Monnier 173f69c854
question_validator: fix for mastodon poll expiration
Mastodon activities do not have a "closed" field, this could be seen on
https://pouet.it/users/lanodan_tmp/statuses/104345126997708380
which runs Mastodon 3.1.4 (SDF runs 3.1.2)
2020-07-15 11:39:56 +02:00
Haelwenn (lanodan) Monnier 47ba796f41
create_question_validator: remove validate_recipients_match 2020-07-15 11:39:55 +02:00
Haelwenn (lanodan) Monnier 10bd08ef07
transmogrifier_test: test date, anyOf and oneOf completely 2020-07-15 11:39:54 +02:00
Haelwenn (lanodan) Monnier 89a2433154
QuestionOptionsValidator: inline schema for replies 2020-07-15 11:39:54 +02:00
Haelwenn (lanodan) Monnier c5efaf6b00
AnswerValidator: Create 2020-07-15 11:39:54 +02:00
Haelwenn (lanodan) Monnier 7bcd7a9595
QuestionValidator: Create 2020-07-15 11:39:53 +02:00
Maksim Pechnikov 1dd767b8c7 Include port in host for signatures 2020-07-14 21:44:08 +03:00
feld 246f49d685 Merge branch '1916-transmogrifier-skipping-oddities-in-address-fields' into 'develop'
Transmogrifier: filtering weirdness in address fields

Closes #1916

See merge request pleroma/pleroma!2762
2020-07-14 15:17:25 +00:00
Haelwenn (lanodan) Monnier 858d9fc7e8
MRF Policies: Return a {:reject, reason} instead of {:reject, nil} 2020-07-14 11:04:16 +02:00
= b221b640a2 Transmogrifier: filtering weirdness in address fields 2020-07-13 22:43:21 +03:00
Haelwenn (lanodan) Monnier ce243b107f
Use Logger.info for {:reject, reason} 2020-07-13 15:26:31 +02:00
Haelwenn (lanodan) Monnier 2aac92e9e0
Transmogrifier.fix_in_reply_to/2: Use warn for non-fatal fail to get replied-to post 2020-07-13 15:26:30 +02:00
lain 93e494ec21 ActivityPub: Don't rename a clashing nickname with the same ap id. 2020-07-10 14:10:44 +02:00
lain b39eb6ecc5 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into chat-federation-information 2020-07-10 12:26:53 +02:00
Mark Felder d23804f191 Use the Pleroma.Config alias 2020-07-09 10:53:51 -05:00
Haelwenn 68036f5a3b Merge branch 'follow-pipeline' into 'develop'
Handle `Follow` activities with the pipeline

See merge request pleroma/pleroma!2734
2020-07-09 10:32:24 +00:00
lain 00e54f8fe7 ActivityPub: Remove follow and fix issues. 2020-07-08 17:07:24 +02:00
lain 9dda8b5427 CommonAPI: Switch to pipeline for following. 2020-07-08 15:40:56 +02:00
lain 172f4aff8e Transmogrifier: Move following to the pipeline. 2020-07-08 14:30:53 +02:00
lain 7d0e2b3fdd Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into follow-pipeline 2020-07-08 13:23:07 +02:00
lain cdc153db31 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into issue/1880 2020-07-08 13:21:58 +02:00
Maksim Pechnikov e341f81785 fixed delete Like activity in remove user 2020-07-08 09:06:23 +03:00
lain 9ad305209a Merge branch 'bugfix/peertube-videos' into 'develop'
Fix getting videos from peertube

See merge request pleroma/pleroma!2728
2020-07-07 09:14:50 +00:00
Haelwenn (lanodan) Monnier fbb9743a70
Fix getting videos from peertube 2020-07-07 09:38:38 +02:00
lain a6a12b241f FollowValidator: Add basic validation. 2020-07-06 15:57:19 +02:00
lain 208baf157a ActivityPub: Add new 'capabilities' to user. 2020-07-06 11:38:40 +02:00
Sergey Suprunenko 8277b29790
Restrict thread statuses that contain user's irreversible filters 2020-07-06 09:30:39 +03:00
Sergey Suprunenko 4a8c26654e
Restrict statuses that contain user's irreversible filters 2020-07-06 09:28:21 +03:00
lain 4a7b89e372 ChatMessageValidator: Additional validation. 2020-07-03 15:13:27 +02:00
lain 5c0bf4c472 ActivityPub: Ingest information about chat acceptance. 2020-07-03 13:58:34 +02:00
lain 26a7cc3f00 UserView: Add acceptsChatMessages field 2020-07-03 13:38:59 +02:00
rinpatch 4c044f6225 Merge branch 'fetcher-fixes' into 'develop'
Don't fail fetching when the user in a replied-to message can't be fetched.

See merge request pleroma/pleroma!2711
2020-07-02 10:17:51 +00:00
lain bad08f34ca Credo fixes. 2020-07-02 09:57:31 +02:00
lain 61fe94d698 SideEffects: Refactor. 2020-07-02 09:33:50 +02:00
lain fedfe8f7d6 ActivityPub: Handle clashing nicknames for the same ap id
If we get a new user (identified by ap_id) that would have the same
nickname as an existing user, give the existing user a nickname that
is prepended with the user id, as this will never clash.

This can happen when a user switches server software and that soft-
ware generates ap ids in a different way.
2020-07-01 12:26:07 +02:00
lain ce92e6e5ce Fetcher: Work when we can't get the OP. 2020-07-01 11:48:51 +02:00
lain 577da132da Merge branch '1031-parent-visible' into 'develop'
Resolve "Add `pleroma.parent_visible` to the status view"

Closes #1031

See merge request pleroma/pleroma!2679
2020-06-29 08:39:51 +00:00
Haelwenn bf1c5e255a Merge branch 'block-handling' into 'develop'
Handle blocks with the pipeline

See merge request pleroma/pleroma!2685
2020-06-26 17:41:00 +00:00
lain 15a8b70318 User: Don't unfollow on block when the relevant setting is set. 2020-06-26 12:06:00 +02:00
lain c3383d4fab BlockValidator: Restore old behavior for incoming blocks. 2020-06-26 11:58:40 +02:00
lain 04abee782b AntiSpamLinkPolicy: Exempt local users. 2020-06-25 12:40:39 +02:00
lain 84f9ca1956 Blocking: Don't federate if the options is set. 2020-06-25 12:03:14 +02:00
lain 44bb7cfccd ActivityPub: Remove block. 2020-06-25 11:51:33 +02:00
lain e38293c8f1 Transmogrifier: Switch to pipeline for Blocks. 2020-06-25 11:33:54 +02:00
lain 89e5b2046b ObjectValidator: Basic Block support. 2020-06-25 11:13:35 +02:00
lain 35f6770436 StatusView: Add pleroma.parent_visible 2020-06-24 13:29:08 +02:00
lain 98af7b59e4 Merge branch 'update-validator' into 'develop'
Update validator

See merge request pleroma/pleroma!2668
2020-06-23 18:10:33 +00:00
Haelwenn c7d69e9256 Merge branch 'feature/1631-redesign-mrf-configuration' into 'develop'
Moving mrf settings from instance to separate mrf group

Closes #1631

See merge request pleroma/pleroma!2320
2020-06-23 16:38:27 +00:00
lain aee815b478 ObjectValidator: Clarify type of object. 2020-06-23 12:37:05 +02:00
lain 2c603f2009 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into update-validator 2020-06-23 10:17:12 +02:00
Haelwenn (lanodan) Monnier c116b6d6d6
ActivityPubController: Update upload_media @doc
Small cherry-pick from https://git.pleroma.social/pleroma/pleroma/-/merge_requests/1810
2020-06-23 04:42:44 +02:00
lain e785cd5cae ActivityPub: Remove update and switch to pipeline. 2020-06-22 13:59:45 +02:00
rinpatch c75ba63bef Merge branch '1865-media-only' into 'develop'
Resolve "/api/v1/accounts/:id/statuses?only_media=true returns media that is not owned"

Closes #1865

See merge request pleroma/pleroma!2650
2020-06-22 11:34:07 +00:00
lain 9438f83f83 Transmogrifier: Handle Update with the pipeline. 2020-06-22 13:16:05 +02:00
lain 31a4d42ce0 SideEffects: Handle user updating. 2020-06-22 13:15:37 +02:00
lain 35e9282ffd HellthreadPolicy: Restrict to Notes and Articles. 2020-06-22 10:35:11 +02:00
lain 7d542450b1 Merge branch 'develop' into '1865-media-only'
# Conflicts:
#   CHANGELOG.md
2020-06-20 09:33:18 +00:00
Haelwenn (lanodan) Monnier 3d4cfc9c5f
Stop filling conversation field on incoming objects (legacy, unused)
conversation field is still set for outgoing federation for compatibility.
2020-06-20 00:08:26 +02:00
lain 75670a99e4 UpdateValidator: Only allow updates from the user themselves. 2020-06-19 16:38:57 +02:00
lain abdb540d45 ObjectValidators: Add basic UpdateValidator. 2020-06-19 15:30:30 +02:00
lain d772361e62 Merge branch 'fix/1787-mogrify-args' into 'develop'
Moving custom ecto types in context folders

See merge request pleroma/pleroma!2652
2020-06-17 15:53:24 +00:00
Alexander Strizhakov a77b0388f4
credo fix 2020-06-17 10:31:06 +03:00
Alexander Strizhakov ed189568f3
moving mrf settings from instance to separate group 2020-06-16 18:32:18 +03:00
Alexander Strizhakov 3c2cee33ad
moving custom ecto types in context folders 2020-06-16 17:50:33 +03:00
href f124f68205 Switch from gen_magic to majic, use Majic.Plug, remove Pleroma.MIME 2020-06-16 15:27:27 +02:00
lain 1eb6cedaad ActivityPub: When restricting to media posts, only show 'Creates'. 2020-06-16 13:08:27 +02:00
lain b7df7436c8 Conversations: Return last dm for conversation, not last message. 2020-06-15 12:27:13 +02:00
rinpatch 271ea5068f Merge branch '1851-favorites-pagination' into 'develop'
StatusController: Correctly paginate favorites.

Closes #1851

See merge request pleroma/pleroma!2636
2020-06-13 17:20:43 +00:00
href cb7be6eef2 Remove use of atoms in MRF.UserAllowListPolicy 2020-06-13 12:08:46 +03:00
Haelwenn 4115701f71 Merge branch 'recipients-experiments' into 'develop'
ActivityPub: Don't show announces of your own objects in timeline.

See merge request pleroma/pleroma!2637
2020-06-12 16:57:13 +00:00
lain e557265a03 Merge branch 'global-status-expiration' into 'develop'
Global status expiration

See merge request pleroma/pleroma!2208
2020-06-12 14:14:09 +00:00
lain 9e411372d0 ActivityPub: Don't show announces of your own objects in timeline. 2020-06-10 12:10:09 +02:00
lain 063e6b9841 StatusController: Correctly paginate favorites.
Favorites were paginating wrongly, because the pagination headers
where using the id of the id of the `Create` activity, while the
ordering was by the id of the `Like` activity. This isn't easy to
notice in most cases, as they usually have a similar order because
people tend to favorite posts as they come in. This commit adds a
way to give different pagination ids to the pagination helper, so
we can paginate correctly in cases like this.
2020-06-09 10:53:40 +02:00
lain 064c4f86f3 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-09 09:36:07 +02:00
Haelwenn (lanodan) Monnier fe1cb56fdc
transmogrifier: MIME.valid?/1 for mediaType
No issues with the rest of the network yet but this makes sure it will work
once https://git.pleroma.social/pleroma/pleroma/-/merge_requests/2429
is merged.
2020-06-08 21:04:30 +02:00
Egor Kislitsyn d44843e677
Restrict ActivityExpirationPolicy to Notes only 2020-06-08 17:56:34 +04:00
Egor Kislitsyn da22119c2f
Merge branch 'develop' into global-status-expiration 2020-06-08 17:21:47 +04:00
lain 3b5282bef2 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-08 11:19:18 +02:00
lain 7d66dd180a Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-08 10:18:10 +02:00
lain 2cdaac4330 SideEffects: Move streaming of chats to after the transaction. 2020-06-07 14:52:56 +02:00
lain 0365053c8d AttachmentValidator: Check if the mime type is valid. 2020-06-07 09:19:00 +02:00
lain ca0e6e702b ChatMessageReference -> Chat.MessageReference 2020-06-06 11:51:10 +02:00
Egor Kislitsyn 167812a3f2
Fix pagination 2020-06-05 23:18:29 +04:00
Egor Kislitsyn b02df1803e
Merge remote-tracking branch 'origin/develop' into activity-pub-use-atoms-as-keys 2020-06-05 23:15:10 +04:00
lain f24d2f714f Credo fixes 2020-06-05 17:18:48 +02:00
lain a8ca030d85 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-05 16:53:56 +02:00
Haelwenn d74985af23 Merge branch 'features/apc2s-pagination' into 'develop'
Fix AP C2S pagination

Closes #866 and #751

See merge request pleroma/pleroma!2491
2020-06-05 14:52:09 +00:00
Haelwenn 54bae06b4f Create Pleroma.Maps.put_if_present(map, key, value, value_fun // &{:ok, &1})
Unifies all the similar functions to one and simplify some blocks with it.
2020-06-05 14:48:02 +00:00
lain 115d08a754 Pipeline: Add a side effects step after the transaction finishes
This is to run things like streaming notifications out, which will
sometimes need data that is created by the transaction, but is
streamed out asynchronously.
2020-06-05 16:47:02 +02:00
lain 65689ba9bd If Credo fixes is so good, why is there no Credo fixes 2? 2020-06-05 13:10:48 +02:00
lain f3ea6ee2c8 Credo fixes. 2020-06-05 12:45:25 +02:00
lain 0efa8aa0b9 Transmogrifier: For follows, create notifications last.
As the notification type changes depending on the follow state,
the notification should not be created and streamed out before the
state settles. For this reason, the notification creation has been
delayed until it's clear if the user has been followed or not.

This is a bit hacky but it will be properly rewritten using the
pipeline soon.
2020-06-05 12:26:07 +02:00
lain cc8a7dc205 SideEffects / ChatView: Add an unread cache.
This is to prevent wrong values in the stream.
2020-06-05 12:01:33 +02:00
Egor Kislitsyn 317e2b8d61
Use atoms as keys in ActivityPub.fetch_* functions options 2020-06-04 21:36:26 +04:00
lain 56dfa0e0fb Transmogrifier: Update notification after accepting. 2020-06-04 19:22:49 +02:00