Commit Graph

7562 Commits

Author SHA1 Message Date
Roman Chvanikov 91b9985e1c Pass expires_in param from status controller 2020-09-08 15:26:06 +03:00
rinpatch 0a05670b44 Merge branch 'fix/upload-filter-exiftool-webp' into 'develop'
Skip processing webp image files because we can't strip EXIF

Closes #2080

See merge request pleroma/pleroma!2924
2020-09-08 12:21:33 +00:00
Roman Chvanikov 880a92ccc7 Merge branch 'develop' into feature/expire-mutes 2020-09-08 15:16:43 +03:00
Roman Chvanikov e3f845b243 Add expiring mutes for activities 2020-09-08 15:13:50 +03:00
rinpatch 4b76d7ce67 Merge branch 'fix/admin-controller-atom-leak' into 'develop'
Fix atom leak in AdminAPIController

See merge request pleroma/secteam/pleroma!6
2020-09-08 14:00:00 +03:00
lain 9b85592b8b Merge branch 'fix/rich-media-fake-statuses' into 'develop'
Rich Media: Do not cache URLs for preview statuses

Closes #1987

See merge request pleroma/pleroma!2956
2020-09-08 13:56:42 +03:00
rinpatch 964bc8e2e8 Merge branch 'bugfix/favicon-too-long' into 'develop'
instance: Drop favicon URLs longer than 255 characters

Closes #2116

See merge request pleroma/pleroma!2949
2020-09-08 13:55:52 +03:00
feld 43b07c31cb Merge branch 'fix/2095-deactivated-account-reset' into 'develop'
Disallow password resets for deactivated accounts

Closes #2095

See merge request pleroma/pleroma!2935
2020-09-08 13:53:47 +03:00
rinpatch dccbed856d Merge branch 'http-fixes' into 'develop'
Improvements and fixes for http requests

See merge request pleroma/pleroma!2904
2020-09-08 13:53:16 +03:00
Roman Chvanikov c56e3d4f3b Add expires_in param for account mutes 2020-09-08 13:26:44 +03:00
rinpatch ea4b6c64d6 Merge branch 'feat/rich-media-improvements' into 'develop'
Rich media improvements

See merge request pleroma/pleroma!2944
2020-09-08 13:00:49 +03:00
rinpatch 8c3241df44 Merge branch 'fix/2047-rich-media-parser' into 'develop'
RichMedia parser fix

Closes #2047

See merge request pleroma/pleroma!2941
2020-09-08 13:00:15 +03:00
rinpatch 13e606941c Merge branch 'fix/2087-metadata' into 'develop'
Fix/2087 metadata

See merge request pleroma/secteam/pleroma!11
2020-09-08 12:55:30 +03:00
rinpatch 74d46a1b09 Merge branch 'secfix/search-crash' into 'develop'
Fix crash done via search

See merge request pleroma/secteam/pleroma!12
2020-09-08 12:53:11 +03:00
rinpatch 84acfab156 Merge branch 'fix-searching-following' into 'develop'
search: fix 'following' query parameter

See merge request pleroma/pleroma!2943
2020-09-08 12:53:02 +03:00
rinpatch 718c7cc847 Merge branch 'fix/apc2s-limits' into 'develop'
AP C2S: Restrict character limit on Note

Closes #2

See merge request pleroma/secteam/pleroma!9
2020-09-08 12:51:38 +03:00
Mark Felder 4ea07f74e9 Revert/simplify.
We only need to check the content-type. There's no chance a webp file
will get mismatched as another image type.
2020-09-08 12:29:38 +03:00
Mark Felder 216c84a8f4 Bypass the filter based on content-type as well in case a webp image is uploaded with the wrong file extension. 2020-09-08 12:29:38 +03:00
Mark Felder 2165a24974 Improve upload filter return values so we can identify when filters make no changes to the input 2020-09-08 12:29:38 +03:00
Mark Felder fa347b9c2f Fix uploading webp image files when Exiftool Upload Filter is enabled 2020-09-08 12:29:38 +03: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 18d21aed00
deprecation warnings 2020-09-07 19:59:17 +03: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
Alexander Strizhakov ee67c98e55
removing Stats worker from Oban cron jobs 2020-09-07 19:16:14 +03:00
rinpatch 6c6de8e5df Merge branch 'temp-hackney-fix' into 'develop'
temp hackney fix

See merge request pleroma/pleroma!2951
2020-09-07 12:47:43 +00:00
rinpatch d5c286b802 Merge branch 'bugfix/favicon-too-long' into 'develop'
instance: Drop favicon URLs longer than 255 characters

Closes #2116

See merge request pleroma/pleroma!2949
2020-09-07 11:12:30 +00:00
lain fdab01ab56 Merge branch 'fix/rich-media-fake-statuses' into 'develop'
Rich Media: Do not cache URLs for preview statuses

Closes #1987

See merge request pleroma/pleroma!2956
2020-09-07 10:19:19 +00:00
Haelwenn (lanodan) Monnier 08aef7dd4e
instance: Log catch favicon errors as warnings 2020-09-07 08:40:52 +02:00
Maksim Pechnikov 917d325972 added api spec 2020-09-07 07:17:30 +03:00
Maksim Pechnikov 5ae56aafb2 added import mutes 2020-09-06 21:42:51 +03:00
Mark Felder 563718cab9 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into media-preview-proxy 2020-09-06 08:15:34 -05:00
rinpatch 170599c390 RichMedia: do not log webpages missing metadata as errors
Also fixes the return value of Parser.parse on errors, previously
was just `:ok` due to the logger call in the end
2020-09-05 22:05:35 +03:00
rinpatch 129a2f48df ConnectionPool middleware: handle connection opening errors 2020-09-05 21:36:17 +03:00
rinpatch 9d6aca5bee ConnectionPool: fix the previous hotfix
I rushed the hotfix and forgot how `pop_in` actually works,
I want to die. We need some integration tests for the HTTP client
2020-09-05 21:27:06 +03:00
rinpatch 5298de3be6 ConnectionPool middleware: fix a crash due to unimplemented behaviour
Structs don't implement Access behaviour, so this crashed. Tests didn't
catch it and I didn't test that part of the codepath. Very sorry
2020-09-05 21:17:03 +03:00
rinpatch e198ba492e Rich Media: Do not cache URLs for preview statuses
Closes #1987
2020-09-05 20:53:46 +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
Ivan Tashkinov c3b02341bf [#2497] Made media preview proxy fall back to media proxy instead of to source url. Adjusted tests. Refactoring. 2020-09-05 16:16:35 +03:00
Haelwenn (lanodan) Monnier 0d91f65284
Prevent AccountView and instance.get_or_update_favicon fails 2020-09-05 05:43:50 +02:00
rinpatch 10da13c713 ConnectionPool middleware: Fix connection leak on ReverseProxy redirects
Requires a patched Tesla due to upstream not saving opts between
redirects, patch submitted at https://github.com/teamon/tesla/pull/414
2020-09-04 22:10:40 +03:00
Alexander Strizhakov 473458b0fb
fix for ReverseProxy 2020-09-04 14:45:30 +03:00
Alexander Strizhakov 8bd2b6eb13
temp hackney fix 2020-09-04 14:24:15 +03:00
rinpatch d34fe2840d HTTP: radically simplify pool checkin/checkout
Use a custom tesla middleware instead of adapter helper function +
custom redirect middleware.

This will also fix "Client died before releasing the connection"
messages when the request pool is overloaded. Since the checkout is
now done after passing ConcurrentLimiter.

This is technically less efficient, since the connection needs to be
checked in/out every time the middleware is left or entered respectively.
But I don't think the nanoseconds we might lose on redirects
to the same host are worth the complexity.
2020-09-03 23:44:13 +03:00
Mark Felder f25b0e87f3 URL passed to helper is already MediaProxy
Set :preview pool on the request
2020-09-03 15:28:57 -05:00
Mark Felder d1e1057e22 Merge branch 'media-preview-proxy' of git.pleroma.social:pleroma/pleroma into feld-media-preview-proxy 2020-09-03 14:48:43 -05:00
Mark Felder 6141eb94ab Fetch preview requests through the MediaProxy. Separate connection options are not needed.
Use a separate pool for preview requests
2020-09-03 14:42:11 -05:00
Ivan Tashkinov 60c925380d [#2497] Added support for enforcing output format for media proxy preview, used for avatar_static & header_static (AccountView). 2020-09-03 20:13:29 +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
lain f26b580e80 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into seanking/pleroma-fix_install_fe_bug 2020-09-03 11:29:39 +02:00
feld d1a6f67b1d Merge branch 'fix/2095-deactivated-account-reset' into 'develop'
Disallow password resets for deactivated accounts

Closes #2095

See merge request pleroma/pleroma!2935
2020-09-02 17:11:24 +00:00
lain 0ab03e8564 Merge branch 'fix/1991-tzdata-update' into 'develop'
user agent if Endpoint is not started yet

Closes #1991

See merge request pleroma/pleroma!2945
2020-09-02 17:09:55 +00:00
lain 119e11f455 Merge branch 'bugfix/mastoapi-lists' into 'develop'
Fix removing an account from a list

Closes #2103

See merge request pleroma/pleroma!2940
2020-09-02 17:03:45 +00:00
lain 581f382e71 ListController: DRY up stuff. 2020-09-02 18:32:00 +02:00
Mark Felder cbf7f0e029 Disallow password resets for deactivated accounts.
Ensure all responses to password reset events are identical.
2020-09-02 09:09:13 -05:00
rinpatch d48fc90978 StatusView: Start fetching rich media cards as soon as possible 2020-09-02 16:45:54 +03:00
Alexander Strizhakov a11f23c130
user agent if Endpoint is not started yet 2020-09-02 15:45:47 +03:00
rinpatch 19691389b9 Rich media: Add failure tracking 2020-09-02 14:59:52 +03:00
rinpatch 46236d1d87 html.ex: optimize external url extraction
By using a :not() selector and only extracting attributes from the
first match.
2020-09-02 12:45:20 +03:00
rinpatch 47ff425cfd Merge branch 'fix/2047-rich-media-parser' into 'develop'
RichMedia parser fix

Closes #2047

See merge request pleroma/pleroma!2941
2020-09-02 09:38:43 +00:00
rinpatch b2d776d77d Merge branch 'http-fixes' into 'develop'
Improvements and fixes for http requests

See merge request pleroma/pleroma!2904
2020-09-02 09:36:56 +00:00
Alexander Strizhakov 84fbf16161
timeout option moved to gun adapter helper 2020-09-02 10:50:51 +03:00
Alexander Strizhakov 1c57ef4498
default pool for tz_data client 2020-09-02 10:33:43 +03:00
Alexander Strizhakov 79f65b4374
correct pool and uniform headers format 2020-09-02 09:16:51 +03:00
Alexander Strizhakov 5e8adf91b4
don't overwrite passed pool option in http clients 2020-09-02 09:04:23 +03:00
Alexander Strizhakov c17d83cd73
improvements and fixes for http requests
- fix for gun worker termination in some circumstances
- pool for http clients (ex_aws, tzdata)
- default pool timeouts for gun
- gun retries on gun_down messages
- s3 upload timeout if streaming enabled
2020-09-02 09:04:23 +03:00
Karol Kosek 868057871a
search: fix 'following' query parameter
The parameter included the accounts that are following you (followers)
instead of those you are actually following.

Co-Authored-By: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2020-09-02 02:08:43 +02:00
Ivan Tashkinov 6ce28c4091 [#2497] Fix for png media proxy preview response headers (content-type & content-disposition). 2020-09-01 21:21:58 +03:00
Sean King 0a9c63fb43 Fix frontend install mix task bug 2020-09-01 12:20:32 -06:00
Alexander Strizhakov 03d06062ab
don't fail on url fetch 2020-09-01 19:39:07 +03:00
Haelwenn (lanodan) Monnier d872858046
Fix removing an account from a list
Mastodon (Frontend) changed a different method for deletes,
keeping old format as mastodon documentation is too loose
2020-09-01 12:49:32 +02: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
Maksim Pechnikov 0d5088c2b8 remove `unread_conversation_count` from User 2020-09-01 09:37:08 +03:00
Haelwenn (lanodan) Monnier d9a21e4784
fetcher: Remove fix_object call for Question activities 2020-09-01 08:35:00 +02: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
rinpatch dc3a418c27 application.ex: disable warnings_as_errors at runtime
see changed files for rationale
2020-09-01 09:08:54 +03:00
Haelwenn 9d63b2c9db Merge branch 'chat-relation-constraints' into 'develop'
Chats: Add cascading delete on both referenced users.

See merge request pleroma/pleroma!2934
2020-08-31 20:55:05 +00:00
lain 0b621a834a Chats: Add cascading delete on both referenced users.
Also remove the now-superfluous join in the chat controller,
which was only used to filter out these cases.
2020-08-31 16:48:17 +02:00
Ivan Tashkinov 0a839d51a7 [#2497] Added Cache-Control response header for media proxy preview endpoint. 2020-08-31 13:08:50 +03:00
lain d91c4feebe Notification: Small refactor. 2020-08-31 11:02:54 +02:00
Mark Felder 3737f38432 Merge branch 'develop' into feld-2168-media-preview-proxy 2020-08-30 11:28:45 -05:00
Mark Felder 4ef210a587 Credo 2020-08-30 09:32:22 -05:00
Mark Felder 2d2af75777 Support PNG previews to preserve alpha channels 2020-08-30 09:17:24 -05:00
href 24d522c3b3 QtFastStart: optimize
~4-6x faster
~3~4x memory usage reduction (now mostly adds what we are rewriting in
the metadatas)
2020-08-29 13:05:23 +02:00
href dfceb03cf4 Rewrite MP4/MOV binaries to be faststart
In some cases, MP4/MOV files can have the data _before_ the meta-data.

Thus, ffmpeg (and all similar tools) cannot really process the input if
it's given over stdin/streaming/pipes.

BUT I REALLY DON'T WANT TO MAKE TEMPORARY FILES

so here we go, an implementation of qtfaststart in elixir.
2020-08-28 21:14:28 +02:00
Maksim Pechnikov f0fefc4f5c marks notifications as read after mute 2020-08-28 18:17:44 +03:00
lain 4e022fc16c Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-2.1-rc0 2020-08-28 11:33:11 +02:00
Mark Felder 5b4d483f52 Add a note about the avatars and banners situation 2020-08-27 17:28:21 -05:00
Mark Felder 67c79394e8 Support static avatars and header images with Mediaproxy Preview 2020-08-27 17:15:23 -05:00
Mark Felder 3a5231ec8f Keep args construction within video/image scopes instead of mangling down in fifo town 2020-08-27 16:33:37 -05:00
Mark Felder dd1de994d5 Try to trick ffmpeg into working with this named pipe 2020-08-27 13:10:40 -05:00
Mark Felder f1218a2b4e ffmpeg needs input from fifo path, not stdin 2020-08-27 12:47:29 -05:00
Mark Felder ef9d12fcc5 Attempt at supporting video thumbnails via ffmpeg 2020-08-27 12:31:55 -05:00
Haelwenn 6b01a09a08 Merge branch '2078-list-fixes' into 'develop'
Resolve "List timeline returns incorrectly assigned Account for replies and repeats"

Closes #2070 and #2078

See merge request pleroma/pleroma!2923
2020-08-27 17:05:53 +00:00
Mark Felder 157ecf4022 Follow redirects.
I think we should be using some global adapter options here, though.
2020-08-27 11:46:56 -05:00
lain 82bf27172c Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-2.1-rc0 2020-08-27 15:38:03 +02:00
lain 78939c1d16 ChatController: Don't die if the recipient is gone. 2020-08-27 12:13:18 +02:00
Mark Felder 697bea0473 Move arg for images to the list so we can reuse these fifo functions for videos 2020-08-26 17:43:25 -05:00
Mark Felder 9567b96c79 Rename to make it obvious this is for images not videos 2020-08-26 16:40:13 -05:00
Mark Felder 2cfe2dc81b Merge branch 'develop' into feld-2168-media-preview-proxy 2020-08-26 16:37:57 -05:00
Mark Felder eead2276e7 Ensure GIFs are redirected to the original or they become static. 2020-08-26 16:18:11 -05:00
Mark Felder 2c95533ead Change method of convert using stdout, make progressive jpegs 2020-08-26 15:37:45 +00:00
Mark Felder d4d1192341 Remove auto-orient; don't use it on previews, only originals 2020-08-26 14:28:25 +00:00
href bc94f0c6da Use mkfifo to feed ImageMagick 2020-08-26 16:12:34 +02:00
lain cfc99fe05c TimelineController: Keys are atoms now.
Closes #2078
Closes #2070
2020-08-26 15:37:30 +02:00
lain fc42446755 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-2.1-rc0 2020-08-26 13:17:39 +02:00
Mark Felder a136e7e9b5 Try specifying fd0, force jpg out 2020-08-25 18:10:27 -05:00
Mark Felder afa03ca8e2 Allow both stdin and stdout 2020-08-25 17:36:53 -05:00
Mark Felder ddbddc08fc Redirects for videos right now 2020-08-25 17:31:55 -05:00
Mark Felder 899ea2da3e Switch to imagemagick, only support videos 2020-08-25 17:18:22 -05:00
feld fb33321fa2 Merge branch 'feature/1952-read-muted-notifications' into 'develop'
Automatically mark notifications about statuses from muted users and threads as read

Closes #1952

See merge request pleroma/pleroma!2893
2020-08-25 21:32:32 +00:00
Mark Felder 479578b148 Merge branch 'develop' into feld-2168-media-preview-proxy 2020-08-25 11:57:23 -05:00
lain 112bec5225 Webfinger: Handle bogus ids better. 2020-08-25 17:35:59 +02:00
lain ea2b5c07e3 Merge branch 'stable' of git.pleroma.social:pleroma/pleroma into pleroma-2.1-rc0 2020-08-25 15:38:12 +02:00
lain c1d51944c7 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into frontend-bundles-downloads 2020-08-25 11:44:51 +02:00
Maksim b267b751d4 Apply 1 suggestion(s) to 1 file(s) 2020-08-25 05:38:25 +00: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
Maksim Pechnikov 14ec12ac95 added tests 2020-08-24 15:01:45 +03:00
Mark Felder 98f8851f29 Use the image thumbnail for rich metadata (OGP/Twittercards) 2020-08-22 15:12:11 -05:00
Maksim Pechnikov 0922791e4d updated errors on add emoji 2020-08-22 10:56:26 +03:00
Maksim Pechnikov f5845ff033 upload emoji zip file 2020-08-22 10:42:02 +03:00
href edde0d9b54 Remove newline for linter 2020-08-21 17:40:49 +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
href 967afa064b Fix truncated images 2020-08-21 17:02:57 +00:00
lain e1c8c599ff Merge branch 'features/validators-event' into 'develop'
Pipeline Ingestion: Event

See merge request pleroma/pleroma!2909
2020-08-21 16:10:30 +00:00
Alexander Strizhakov 1f8c32b773
adding actor type in user show 2020-08-21 10:38:56 +03:00
Ivan Tashkinov aa0a5ffb48 [#2497] Media preview proxy: added `quality` config setting, adjusted width/height defaults. 2020-08-21 08:59:08 +03:00
Haelwenn (lanodan) Monnier 36c125a071
Pipeline Ingestion: Event 2020-08-20 21:49:26 +02:00
Ivan Tashkinov 02ad1cd8e9 [#2497] Media preview proxy: added Content-Disposition header with filename to response. 2020-08-20 09:58:50 +03:00
Ivan Tashkinov 4ee15e991e [#2497] Media preview proxy config refactoring & documentation. 2020-08-19 21:36:26 +03:00
lain 9aae342e7a Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into features/validators-audio2 2020-08-19 14:10:11 +02:00
Alexander Strizhakov 4727030f59
fixes for mix tasks
- fix for `mix pleroma.database update_users_following_followers_counts`
- raise error, if fetch was unsuccessful in emoji tasks
- fix for `pleroma.digest test` task
2020-08-19 11:06:03 +03:00
Alexander Strizhakov 7dc275b69b
relay fix for admin-fe 2020-08-19 08:41:39 +03:00
Maksim Pechnikov 7794d7c694 added Pleroma.Web.PleromaAPI.EmojiFileController 2020-08-19 06:50:20 +03:00
Haelwenn (lanodan) Monnier 5316e231b0
Pipeline Ingestion: Audio (Part 2) 2020-08-19 00:06:31 +02:00
Haelwenn 3d5d8c05c9 Merge branch '2064-image-blanking' into 'develop'
Resolve "Make default image description blank"

Closes #2064

See merge request pleroma/pleroma!2899
2020-08-18 19:02:33 +00:00
Ivan Tashkinov da116d81fb [#2497] Added video preview proxy. Switched from exexec to Port. 2020-08-18 18:23:27 +03:00
Ivan Tashkinov 27e7999a15 Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy 2020-08-18 18:02:09 +03: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 566749f77a Merge branch 'purge-user' into 'develop'
Purge a local user upon deletion, fixes #2062

Closes #2062

See merge request pleroma/pleroma!2898
2020-08-18 11:31:13 +00:00
lain aabc26a573 Pleroma.Upload: Set default upload name / description based on config. 2020-08-18 13:21:30 +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
Alex Gleason 72cbe20a58
Purge most user fields upon deletion, "right to be forgotten" #859 2020-08-17 23:44:44 -05:00
Alex Gleason c12c576ee2
Also purge bio and display name 2020-08-17 22:11:45 -05:00
Alex Gleason d55faa2f8f
Purge a local user upon deletion, fixes #2062 2020-08-17 21:52:28 -05: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 b1fc4fe0ca
fetcher: fallback to [] when to/cc is nil
Related: https://git.pleroma.social/pleroma/pleroma/-/issues/2063
2020-08-18 02:02:20 +02:00
Haelwenn (lanodan) Monnier 7a273087ed
object_validators: Use ecto_types where available 2020-08-17 23:47:00 +02:00
lain 34b099fffa Merge branch 'issue/1936' into 'develop'
[#1936] Ability to search for banned MediaProxy URLs 

See merge request pleroma/pleroma!2873
2020-08-17 13:05:20 +00:00
lain e154fcf525 Merge branch '2046-default-restrict-unauthenticated-basing-on-instance-privacy' into 'develop'
[#2046] Defaulted pleroma/restrict_unauthenticated basing on instance privacy

Closes #2046

See merge request pleroma/pleroma!2890
2020-08-17 12:26:53 +00:00
Hugo Müller-Downing 317b6c6c52 Start :ssl if not started when running migration or rollback 2020-08-17 17:34:03 +10:00
Sergey Suprunenko 25c69e271a
Make notifications about new statuses from muted threads read 2020-08-17 00:11:33 +02:00
Maksim Pechnikov f6da12f45d fix search media proxy urls 2020-08-16 06:54:48 +03:00
Sergey Suprunenko 0865f36965
Mark notifications about statuses from muted users as read automatically 2020-08-15 15:27:41 +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
lain 76ce3a1c9e Mogrifun: Add a line about the purpose of the module. 2020-08-14 18:27:18 +02:00
Maksim Pechnikov 9b055f7211 fix cron wroker 2020-08-13 21:03:15 +03:00
Maksim Pechnikov 3515cb5c3a fix Cron.PurgeExpiredActivitiesWorker 2020-08-13 21:01:21 +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
Maksim Pechnikov 56470647de Merge branch 'develop' into issue/1936 2020-08-13 09:00:25 +03:00
Alexander Strizhakov 29a7bcd5bb
reverting pinned posts in filtering 2020-08-12 20:01:21 +03:00
Alexander Strizhakov 3ab83f837e
don't load pinned activities in due_expirations 2020-08-12 19:46:47 +03:00
Mark Felder 98058bd06e Merge branch 'develop' into fix/activity-expirations-again 2020-08-12 09:42:28 -05:00
Ivan Tashkinov f50c653c8d Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy 2020-08-12 17:13:01 +03: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
Alexander Strizhakov eec1ba232c
don't expire pinned posts 2020-08-12 15:15:17 +03:00
lain bb92ad44a6 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into reject 2020-08-12 12:53:04 +02:00
Maksim Pechnikov 76462efbfa fix job monitor 2020-08-11 22:06:33 +03:00
lain 500576dcb6 Linting fixes. 2020-08-11 19:22:14 +02:00
Mark Felder 724ed354f2 Ensure only Note objects are set to expire 2020-08-11 11:28:22 -05:00
lain 0589e9156a Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into fix/activity-expirations-again 2020-08-11 17:49:24 +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
Ivan Tashkinov 2def3cbf41 Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
# Conflicts:
#	config/config.exs
#	mix.lock
2020-08-11 15:13:29 +03:00
lain 8f9fbc86c0 Transmogrifier: Small readability changes. 2020-08-11 14:02:09 +02:00
lain 686002164a Merge branch '204-fix' into 'develop'
Fix 500 errors when returning :no_content, fixes #2029

Closes #2029

See merge request pleroma/pleroma!2856
2020-08-11 09:18:56 +00: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
Maksim Pechnikov 345ac512e4 added paginate+search for admin/MediaProxy URLs 2020-08-11 10:30:13 +03:00
feld 78484fe0ef Merge branch 'admin-active-filter' into 'develop'
Admin API: Filter out unapproved users when the `active` filter is on

Closes #2037

See merge request pleroma/pleroma!2872
2020-08-10 17:16:38 +00:00
Mark Felder 024b7ce0b7 Merge branch 'develop' into fix/activity-expirations-again 2020-08-10 11:32:24 -05:00
Egor Kislitsyn 249f21dcbb Admin API: Filter out unapproved users when the `active` filter is on 2020-08-10 18:27:39 +04:00
lain 93fbf39954 Merge branch 'revert-a6d3bb5f' into 'develop'
Revert "Merge branch 'issue/1023' into 'develop'"

Closes #2033

See merge request pleroma/pleroma!2868
2020-08-10 13:59:38 +00:00
lain 11fc90744c Transmogrifier: Remove duplicate code. 2020-08-10 15:31:36 +02:00
lain 5c4548d5e7 Revert "Merge branch 'issue/1023' into 'develop'"
This reverts merge request !2763
2020-08-10 13:05:13 +00:00
lain 66122a11b5 AccountController: Build the correct update activity.
Will fix federation issues.
2020-08-10 10:33:05 +02:00
Mark Felder e08ea01d09 Limit expirations for each cron execution to 50.
This should prevent servers from being crushed. 50/min is a pretty good rate.
2020-08-08 12:49:02 -05:00
Mark Felder cf4c97242b Ensure we only expire Create activities with the Mix task 2020-08-08 12:40:52 -05:00
Egor Kislitsyn e5557bf8ba
Add mix task to add expiration to all local statuses 2020-08-08 16:29:40 +04:00
Mark Felder 54e2af8293 Merge branch 'develop' into fix/ldap-auth-issues 2020-08-07 14:55:22 -05:00
Mark Felder 474147a67a Make a new function instead of overloading register_changeset/3 2020-08-07 14:54:14 -05:00
Alex Gleason 673e8e3ac1
Force 204 responses to be empty, fixes #2029 2020-08-07 13:02:39 -05:00
lain e5ab5fbe76 Mix task frontend: Read the docs. 2020-08-07 15:01:08 +02:00
lain 34cbe9f44a Merge branch 'features/poll-validation' into 'develop'
Poll and votes pipeline ingestion

Closes #1362 and #1852

See merge request pleroma/pleroma!2635
2020-08-07 10:44:06 +00:00
Ivan Tashkinov 1298a2ea2c Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
# Conflicts:
#	mix.lock
2020-08-07 09:38:05 +03:00
lain bf95dfb240 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into frontend-bundles-downloads 2020-08-06 15:22:20 +02:00
Ivan Tashkinov 135ae4e35a [#2025] Defaulted OAuth login scopes choice to all scopes when user selects no scopes. 2020-08-06 16:00:00 +03:00
lain 10b0e55acf Merge branch 'whole-word-filter-hotfix' into 'develop'
Update filter_view.ex to return whole_word actual value

See merge request pleroma/pleroma!2851
2020-08-06 08:35:39 +00:00
Alex Gleason 24ce9c011c Apply 1 suggestion(s) to 1 file(s) 2020-08-05 19:33:51 +00: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
Mark Felder 2a4bca5bd7 Comments are good when they're precise... 2020-08-05 11:40:09 -05:00
Roman Chvanikov 7569f225f1 Move checks to application startup 2020-08-05 19:38:55 +03:00
Mark Felder 81126b0142 Add email to user account only if it exists in LDAP 2020-08-05 11:36:12 -05:00
Roman Chvanikov 4672b61106 Merge branch 'develop' into command-available-check 2020-08-05 19:16:48 +03: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
Roman Chvanikov 8c57a299b4 Handle non-list keys in Config.fetch/1 2020-08-05 18:23:12 +03:00
Mark Felder 2192d1e492 Permit LDAP users to register without capturing their password hash
We don't need it, and local auth fallback has been removed.
2020-08-05 10:07:31 -05:00
Roman Chvanikov 2299bfe4c1 Merge branch 'develop' into refactor/config-get 2020-08-05 17:46:24 +03:00
lain 5221879c35 Fix linting. 2020-08-05 15:40:32 +02:00
Mark Felder 0f9aecbca4 Remove fallback to local database when LDAP is unavailable.
In many environments this will not work as the LDAP password and the copy stored in Pleroma will stay synchronized.
2020-08-05 08:18:16 -05:00
Mark Felder f7146583e5 Remove LDAP mail attribute as a requirement for registering an account 2020-08-05 08:15:57 -05:00
lain f889400d05 Questions: Move fixes to validators. 2020-08-05 14:51:33 +02:00
lain b5f0cef156 Apply 1 suggestion(s) to 1 file(s) 2020-08-05 11:33:21 +00:00
lain 70522989d9 Apply 1 suggestion(s) to 1 file(s) 2020-08-05 11:14:58 +00: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
Roman Chvanikov 6f60ac9f41 Refactor config 2020-08-05 13:00:49 +03:00
lain 19c108170e Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into features/poll-validation 2020-08-05 11:12:14 +02:00
MK Fain f341a8e142 Update filter_view.ex to return whole_word actual value 2020-08-05 02:01:27 +00:00
Karol Kosek 577b11167c
templates/layout/app.html.eex: fix link color 2020-08-05 00:01:30 +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
rinpatch fede37e4c6 Merge branch 'chore/consolidate-rich-media-http' into 'develop'
Consolidate construction of Rich Media Parser HTTP requests

See merge request pleroma/pleroma!2827
2020-08-04 19:16:38 +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
lain 532d6f94ae Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into frontend-bundles-downloads 2020-08-04 15:10:36 +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
Roman Chvanikov 56e9bf3393 Unify Config.get behaviour for atom/list key param 2020-08-04 14:35:47 +03:00
lain 28584bb224 Merge branch 'email-blacklist' into 'develop'
Add email blacklist, fixes #1404

Closes #1404

See merge request pleroma/pleroma!2837
2020-08-04 11:00:30 +00:00
Alex Gleason 4f57e85ab9
Email blacklist: Update phrasing again 2020-08-03 22:20:49 -05:00
Alex Gleason 058daf498f
Email blacklist: Update response phrasing 2020-08-03 19:57:53 -05:00
lain e3953923ac Merge branch 'fixes_1957_add_option_to_send_user_chatmessage_instead_of_dm' into 'develop'
fixes 1957 Add option to send user chatmessage instead of dm

Closes #1957

See merge request pleroma/pleroma!2782
2020-08-03 21:01:56 +00:00
Mark Felder 016d8d6c56 Consolidate construction of Rich Media Parser HTTP requests 2020-08-03 12:37:31 -05: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 5876d5123c Merge branch 'object-age-fix' into 'develop'
MRF Object Age Policy: Don't break on messages without cc/to

See merge request pleroma/pleroma!2840
2020-08-03 12:50:10 +00:00
lain 10c792110e MRF Object Age Policy: Don't break on messages without cc/to 2020-08-03 14:12:32 +02:00
Alex Gleason dc88b6f091
Add email blacklist, fixes #1404 2020-08-02 14:53:42 -05:00
Ilja f671d7e68c Add welcome chatmessages
* I added the option in config/config.exs
* created a new module lib/pleroma/user/welcome_chat_message.ex
* Added it to the registration flow
* added to the cheatsheet
* added to the config/description.ex
* added to the Changelog.md
2020-08-02 15:54:59 +02:00
lain 70951d042b Merge branch '1985-unobtrusive-autologin-on-registration' into 'develop'
[#1985] Prevented force login on registration if account approval and/or email confirmation needed

Closes #1985

See merge request pleroma/pleroma!2823
2020-08-01 15:58:17 +00:00
rinpatch 45be1fe00e ConnectionPool: fix gun open errors being returned without an error tuple
When gun shuts down due to the host being unreachable, the worker
process shuts down with the same shutdown reason since they are linked.
Gun doesn't have error tuples in it's shutdown reason though, so we need
to handle it in get_conn.

Closes #2008
2020-08-01 18:02:26 +03:00
Roman Chvanikov 4bf44b7d65 Don't override user-agent header if it's been set 2020-08-01 10:04:25 +03:00
lain 7e01339ddd Frontend mix task: Support installation from local file. 2020-07-31 17:58:50 +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
lain 1ac0969c72 Merge branch 'mrf-silence-2' into 'develop'
MRF silencing alternative solution

See merge request pleroma/pleroma!2820
2020-07-31 14:43:33 +00:00
Haelwenn (lanodan) Monnier ac2598307d
Merge remote-tracking branch 'pleroma/develop' into features/poll-validation 2020-07-31 13:57:21 +02:00
Ivan Tashkinov 27b0a8b155 [#1985] Prevented force login on registration if account approval and/or email confirmation needed.
Refactored login code in OAuthController, reused in AccountController. Added tests.
2020-07-31 14:13:38 +03:00
lain 1dd162a5f7 SimplePolicy: Fix problem with DM leaks. 2020-07-31 09:57:30 +02:00
Haelwenn d1cf1108ac Merge branch 'render-preview-cards-in-chats' into 'develop'
Render preview cards in chats

See merge request pleroma/pleroma!2816
2020-07-30 20:08:03 +00:00
Haelwenn 87fe31fb5c Merge branch '1993-confirm-users-on-registration' into 'develop'
AccountController: Don't explicitly ask to keep users unconfirmed.

Closes #1993

See merge request pleroma/pleroma!2809
2020-07-30 20:01:04 +00:00
lain a3c37379e9 ChatMessage schema: Add preview cards. 2020-07-30 19:57:45 +02:00
lain 781b270863 ChatMessageReferenceView: Display preview cards. 2020-07-30 19:57:26 +02:00
lain 873ff5ce14 Merge branch 'hide-reactions' into 'develop'
Let favourites and emoji reactions optionally be hidden

See merge request pleroma/pleroma!2804
2020-07-30 12:41:47 +00:00
lain 2e20ceee52 Mix tasks: Add frontend task to download and install frontends.
Co-authored-by: Roman Chvanikov <chvanikoff@pm.me>
2020-07-30 14:12:41 +02:00
Mark Felder 33f0427809 Expose seconds_valid in Pleroma Captcha API endpoint 2020-07-29 16:07:22 -05: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
Alex Gleason d8a01c9432
Merge remote-tracking branch 'upstream/develop' into hide-reactions 2020-07-29 12:43:39 -05:00
lain dc36d6e9d2 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into frontend-bundles-admin 2020-07-29 16:24:22 +02:00
lain a6d3bb5f30 Merge branch 'issue/1023' into 'develop'
[#1023] added generated  `pleroma.env`

See merge request pleroma/pleroma!2763
2020-07-29 13:45:15 +00:00
lain d9bf2c58df Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into 1993-confirm-users-on-registration 2020-07-29 14:42:09 +02:00
Haelwenn 269b61a240 Merge branch '1996-dont-break-on-chatmessages' into 'develop'
EnsureRePrepended: Don't break on chat messages.

Closes #1996

See merge request pleroma/pleroma!2808
2020-07-29 12:20:04 +00:00
lain de5c7e20a3 Merge branch 'bugfix/remote-user-atom' into 'develop'
feed/user_controller: Return 404 when the user is remote

Closes #1911

See merge request pleroma/pleroma!2811
2020-07-29 12:16:20 +00:00
Haelwenn (lanodan) Monnier 2e27847573
feed/user_controller: Return 404 when the user is remote 2020-07-29 14:02:02 +02:00
lain 79f9ddd8b7 Merge branch 'by-approval' into 'develop'
Registrations "by approval" mode

Closes #1931

See merge request pleroma/pleroma!2757
2020-07-29 11:27:26 +00:00
lain 66974e17a0 Endpoint: Serve a dynamically configured admin interface 2020-07-29 13:03:04 +02:00
lain 6a25f72a75 FrontendStatic: Work correctly for other frontend types. 2020-07-29 13:02:48 +02:00
lain c25c21dd22 AccountController: Don't explicitly ask to keep users unconfirmed.
Confirmation is set in User.register_changeset based on the config
settings.
2020-07-29 11:47:03 +02: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
rinpatch dab1d8c98e gun ConnectionPool: Re-add a missing cast for remove_client 2020-07-28 23:48:41 +03:00
Alex Gleason 3b7c454418
Let favourites and emoji reactions optionally be hidden 2020-07-28 14:58:30 -05:00
rinpatch 4ce6179dc7 gun ConnectionPool: replace casts with calls
The slowdown from this is most likely immesurable, however it eliminates
possible false positives when tracking dead clients.
2020-07-28 20:49:48 +03:00
lain ad5c42628a FrontendStatic: Add plug to serve frontends based on configuration. 2020-07-28 17:35:16 +02:00
lain 14c28dcbd1 InstanceStatic: Refactor. 2020-07-28 15:44:47 +02:00
lain e5ac9534aa Merge branch 'cleanup/masto_fe-default_settings' into 'develop'
masto_fe_view: Remove @default_settings

See merge request pleroma/pleroma!2799
2020-07-28 07:41:44 +00:00
Alex Gleason f688c8df82
Fix User.registration_reason HTML sanitizing issues 2020-07-27 20:36:31 -05:00
Alex Gleason f43518eb74
Lint, fix test 2020-07-27 19:22:31 -05:00
Alex Gleason 6f44a0ee84
Add configurable registration_reason limit 2020-07-27 15:13:34 -05:00
Alex Gleason 6747bf2e16
Merge remote-tracking branch 'upstream/develop' into by-approval 2020-07-27 12:29:18 -05:00
lain e1a1c8e7de Merge branch 'develop' into 'cleanup/masto_fe-default_settings'
# Conflicts:
#   lib/pleroma/web/views/masto_fe_view.ex
2020-07-27 16:35:47 +00:00
Haelwenn (lanodan) Monnier 4a6389316d
masto_fe_view: Remove @default_settings 2020-07-27 17:59:13 +02:00
lain 9e6f4694dd Pipeline: Unify embedded_object / object_data, move to validator. 2020-07-27 16:39:50 +02:00
lain 762c9ea564 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into embedded-object-federation 2020-07-27 16:19:45 +02:00
lain 2a3abfd326 Merge branch 'issue/1934-welcome-email' into 'develop'
[#1934] welcome email

See merge request pleroma/pleroma!2786
2020-07-27 12:34:36 +00:00
lain 0d5d1c62ef Apply 1 suggestion(s) to 1 file(s) 2020-07-27 12:24:41 +00:00
Haelwenn 64b21cee14 Merge branch 'fix/reverse-proxy-no-body-connection-leak' into 'develop'
ReverseProxy: Fix a gun connection leak when there is an error with no body

See merge request pleroma/pleroma!2798
2020-07-27 08:20:46 +00:00
Alex Gleason 6931dbfa58
Merge remote-tracking branch 'upstream/develop' into by-approval 2020-07-26 15:46:14 -05:00
rinpatch 6bf8eee5f9 ReverseProxy tesla client: remove handling of old_conn
This is no longer relevant because we use a custom
FollowRedirects middleware now
2020-07-26 20:52:00 +03:00
rinpatch d4fbec62a3 ReverseProxy: Fix a gun connection leak when there is an error with no
body

- Modify `close/1` function to do the same thing it does for hackney,
which is - close the client rather than the whole connection
- Release the connection when there is no body to chunk
2020-07-26 19:30:17 +03:00
Alibek Omarov 6107440ea0 OpenAPI: remove accidentally pasted buffer data 2020-07-26 13:59:46 +00:00
Alibek Omarov b31844d6e0 OpenAPI: Replace actor_id by account_id to follow ChatMessage schema 2020-07-26 13:54:56 +00:00
Mark Felder 65a1b048a8 Ensure Oban is available during mix tasks.
Fixes: mix pleroma.user rm username
2020-07-24 12:06:56 -05:00
Mark Felder 9be6668236 Fix mix tasks that make HTTP calls by starting the Gun connection pool 2020-07-24 12:05:42 -05: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
Maksim Pechnikov 61ef1fca4b remove duplicate module 2020-07-24 08:35:06 +03:00
feld 51627a10e5 Merge branch 'unblock-domain-via-query' into 'develop'
Allow unblocking a domain via query params

Closes #1971

See merge request pleroma/pleroma!2783
2020-07-23 20:06:11 +00:00
Mark Felder 4bfad0b483 Support blocking via query parameters as well and document the change. 2020-07-23 12:59:40 -05:00
Haelwenn 6100b90209 Merge branch '1976-status-view-fixes' into 'develop'
StatusView: Handle badly formatted emoji reactions.

Closes #1976

See merge request pleroma/pleroma!2788
2020-07-23 16:58:36 +00:00
Maksim Pechnikov 67ab9a7928 Merge branch 'develop' into issue/1934-welcome-email 2020-07-23 16:36:27 +03: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
lain 250e0369c7 Merge branch 'issue/1878' into 'develop'
[#1878] fix reset confirmation email in admin section

See merge request pleroma/pleroma!2751
2020-07-23 10:56:33 +00:00
lain a81581472f Merge branch 'linkify' into 'develop'
Fix Linkify

See merge request pleroma/pleroma!2792
2020-07-23 10:28:52 +00:00
Maksim Pechnikov 7991ddad58 added warning to use old keys 2020-07-23 09:01:37 +03: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
lain 1c9752cff4 Merge branch 'fix/pleroma-api-emoji-packs' into 'develop'
Fix /api/pleroma/emoji/packs index endpoint.

See merge request pleroma/pleroma!2777
2020-07-22 15:09:32 +00:00
Maksim Pechnikov db0224d174 added check user email for welcome email 2020-07-22 16:00:49 +03:00
Lain Soykaf 0cb9e1da74 StatusView: Handle badly formatted emoji reactions. 2020-07-22 14:44:06 +02:00
Maksim Pechnikov 5879d36854 fix sender for welcome email 2020-07-22 15:34:47 +03:00
Maksim Pechnikov 8d6f7aec21 Merge branch 'develop' into issue/1023 2020-07-22 09:24:16 +03:00
Mark Felder 341a8f3500 Skip the correct plug 2020-07-21 17:26:59 -05:00
lain 5b1eeb06d8 Revert "Merge branch 'revert-2b5d9eb1' into 'develop'"
This reverts merge request !2784
2020-07-21 22:18:17 +00:00
lain 696c13ce54 Revert "Merge branch 'linkify' into 'develop'"
This reverts merge request !2677
2020-07-21 22:17:34 +00:00
Mark Felder 97c60b6a43 Merge branch 'develop' into fix/pleroma-api-emoji-packs 2020-07-21 16:25:45 -05:00
lain 2b5d9eb105 Merge branch 'linkify' into 'develop'
AutoLinker --> Linkify, update to latest version

See merge request pleroma/pleroma!2677
2020-07-21 19:35:43 +00:00
lain fa2421dd7e Merge branch 'gopher-fix' into 'develop'
Gopher: using atom keys in search params

See merge request pleroma/pleroma!2775
2020-07-21 19:31:03 +00:00
Egor Kislitsyn bdb3375933
Allow unblocking a domain via query params 2020-07-21 16:06:46 +04:00
Maksim Pechnikov 3edaecae96 added welcome email 2020-07-21 09:25:53 +03:00
Alex Gleason 204dddcfaa
Pleroma.Formatter can have partial updates 2020-07-20 13:45:05 -05:00
Ivan Tashkinov bdf57b8ef4 Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
# Conflicts:
#	config/config.exs
#	lib/pleroma/web/media_proxy/media_proxy.ex
#	mix.lock
#	test/web/media_proxy/media_proxy_test.exs
2020-07-19 20:05:37 +03:00
Alex Gleason afa8b469ed
Allow restricting public timeline by instance 2020-07-18 19:35:07 -05:00
href 4bac25e6f5 Don't enable Pleroma.HTTP.Middleware.FollowRedirects unless Gun is used 2020-07-18 13:17:38 +02:00
KokaKiwi 7ce722ce3e
Fix /api/pleroma/emoji/packs index endpoint. 2020-07-18 12:55:04 +02:00
Haelwenn 10d46235cf Merge branch 'fix-1958' into 'develop'
OpenAPI: Add :id to follower/following endpoints, fixes #1958

Closes #1958

See merge request pleroma/pleroma!2772
2020-07-17 18:54:30 +00:00
Alex Gleason 48f8b26c92
OpenAPI: Add :id to follower/following endpoints, fixes #1958 2020-07-17 12:35:28 -05:00
Alex Gleason 5756843736
Fully delete users with status :approval_pending 2020-07-17 12:19:41 -05:00
Mark Felder 20a496d2cb Expose the post formats in /api/v1/instance 2020-07-17 10:45:41 -05:00
Alexander Strizhakov af376cbffb
using atom keys in search params 2020-07-17 18:06:05 +03:00
Mark Felder 62438530e2 TOTP length is configurable, so we can't hardcode this here. 2020-07-17 08:19:49 -05:00
Alex Gleason 5e74556703
Sanitize `reason` param in POST /api/v1/accounts 2020-07-16 20:25:53 -05:00
Alex Gleason 38425ebdbf
Merge remote-tracking branch 'upstream/develop' into linkify 2020-07-16 14:51:36 -05:00
Mark Felder 3be64556db Improve TOTP token and recovery input fields in OAuth login 2020-07-16 13:11:03 -05:00
Maksim 16da9f5cfd Apply 1 suggestion(s) to 1 file(s) 2020-07-16 13:30:28 +00:00
Maksim c72676d22f Apply 1 suggestion(s) to 1 file(s) 2020-07-16 13:30:17 +00:00
Maksim Pechnikov 6c59fe259d Merge branch 'develop' into issue/1023 2020-07-16 08:53:21 +03:00
Maksim Pechnikov 4e0e19a706 update task messages 2020-07-16 08:52:14 +03:00
Alex Gleason 9ce95fa68f
Use `approval_required` in /api/v1/instance 2020-07-15 17:04:30 -05:00
Mark Felder b2d398b1d0 Merge branch 'develop' into refactor/gun-pool-registry 2020-07-15 13:34:27 -05:00
Mark Felder 9d30bacace Merge branch 'develop' into refactor/notification_settings 2020-07-15 09:30:23 -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 d29b8997f4
MastoAPI: fix & test giving MRF reject reasons 2020-07-15 15:25:33 +02:00
rinpatch 7115c5f82e ConnectionPool.Worker: do not stop with an error when there is a timeout
This produced error log messages about GenServer termination
every time the connection was not open due to a timeout.

Instead we stop with `{:shutdown, <gun_error>}` since shutting down
when the connection can't be established is normal behavior.
2020-07-15 15:58:08 +03:00
href 6d583bcc3b Set a default timeout for Gun adapter timeout 2020-07-15 15:26:35 +03:00
href afd378f84c host is now useless 2020-07-15 15:26:35 +03:00
href ce1a42bd04 Simplify TLS opts
- `verify_fun` is not useful now
- use `customize_check_hostname` (OTP 20+ so OK)
- `partial_chain` is useless as of OTP 21.1 (wasn't there, but hackney/..
uses it)
2020-07-15 15:26:35 +03:00
href 53ba6815b1 parentheses... 2020-07-15 15:26:35 +03:00
href 23d714ed30 Fix race in enforcer/reclaimer start 2020-07-15 15:26:35 +03:00
href 6a0f2bdf8c Ensure connections error get known by the caller 2020-07-15 15:26:35 +03:00
href 46dd276d68 ConnectionPool.Worker: Open gun conn in continue instead of init 2020-07-15 15:26:35 +03:00
rinpatch a705637dcf Connection Pool: fix LRFU implementation to not actually be LRU
The numbers of the native time unit were so small the CRF was always 1,
making it an LRU. This commit switches the time to miliseconds and changes
the time delta multiplier to the one yielding mostly highest hit rates according
to the paper
2020-07-15 15:26:35 +03:00
rinpatch 9b73c35ca8 Request limiter setup: consider {:error, :existing} a success
When the application restarts (which happens after certain config
changes), the limiters are not destroyed, so `ConcurrentLimiter.new`
will produce {:error, :existing}
2020-07-15 15:26:35 +03:00
rinpatch 12fa5541f0 FollowRedirects: Unconditionally release the connection if there is an error
There is no need for streaming the body if there is no body
2020-07-15 15:26:35 +03:00
rinpatch 37f1e781cb Gun adapter helper: fix wildcard cert issues on OTP 23
See https://bugs.erlang.org/browse/ERL-1260 for more info.

The ssl match function is basically copied from mint, except
that `:string.lowercase/1` was replaced by `:string.casefold`.
It was a TODO in mint's code, so might as well do it since we don't need
to support OTP <20.

Closes #1834
2020-07-15 15:26:35 +03:00
rinpatch 007843b75e Add documentation for new connection pool settings and remove some
`:retry_timeout` and `:retry` got removed because reconnecting on failure is
something the new pool intentionally doesn't do.

`:max_overflow` had to go in favor of `:max_waiting`, I didn't reuse the key because
the settings are very different in their behaviour.

`:checkin_timeout` got removed in favor of `:connection_acquisition_wait`,
I didn't reuse the key because the settings are somewhat different.

I didn't do any migrations/deprecation warnings/changelog entries because
these settings were never in stable.
2020-07-15 15:26:35 +03:00
rinpatch 7882f28569 Use erlang monotonic time for CRF calculation 2020-07-15 15:26:35 +03:00
rinpatch 00926a63fb Adapter Helper: Use built-in ip address type 2020-07-15 15:26:35 +03:00
rinpatch 4128e3a84a HTTP: Implement max request limits 2020-07-15 15:26:35 +03:00
rinpatch 94c8f3cfaf Use a custom pool-aware FollowRedirects middleware 2020-07-15 15:26:35 +03:00
rinpatch 281ddd5e37 Connection pool: fix connections being supervised by gun_sup 2020-07-15 15:26:35 +03:00
rinpatch 1b15cb066c Connection pool: Add client death tracking
While running this in production I noticed a number of ghost
processes with all their clients dead before they released the connection,
so let's track them to log it and remove them from clients
2020-07-15 15:26:35 +03:00
rinpatch e94ba05e52 Connection pool: Fix a possible infinite recursion if the pool is exhausted 2020-07-15 15:26:35 +03:00
rinpatch 7738fbbaf5 Connection pool: implement logging and telemetry events 2020-07-15 15:26:25 +03:00
rinpatch 0ffde499b8 Connection Pool: register workers using :via 2020-07-15 15:24:47 +03:00
rinpatch ec9d0d146b Connection pool: Fix race conditions in limit enforcement
Fixes race conditions in limit enforcement by putting worker processes
in a DynamicSupervisor
2020-07-15 15:17:27 +03:00
rinpatch d08b157699 Connection pool: check that there actually is a result
Sometimes connections died before being released to the pool, resulting
in MatchErrors
2020-07-15 15:17:27 +03:00
rinpatch fffbcffb8c Connection Pool: don't enforce pool limits if no new connection needs to be opened 2020-07-15 15:17:27 +03:00
rinpatch 58a4f350a8 Refactor gun pooling and simplify adapter option insertion
This patch refactors gun pooling to use Elixir process registry and
simplifies adapter option insertion.

Having the pool use process registry instead of a GenServer has a number of advantages:
- Simpler code: the initial implementation adds about half the lines of code it deletes
- Concurrency: unlike a GenServer, ETS-based registry can handle multiple checkout/checkin
requests at the same time
- Precise and easy idle connection clousure: current proposal for closing idle connections in
the GenServer-based pool needs to filter through all connections once a minute and compare their
last active time with closing time. With Elixir process registry this can be done
by just using `Process.send_after`/`Process.cancel_timer` in the worker process.
- Lower memory footprint: In my tests `gun-memory-leak` branch uses about 290mb on peak load (250 connections)
and 235mb on idle (5-10 connections). Registry-based pool uses 210mb on idle and 240mb on peak load
2020-07-15 15:17:27 +03: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 ad867ccfa1
fetcher: Reinject Question through validator 2020-07-15 11:39:55 +02:00
Haelwenn (lanodan) Monnier 6b9c4bc1f1
fetcher: more descriptive variable names 2020-07-15 11:39:55 +02:00
Haelwenn (lanodan) Monnier 4644a8bd10
Fix multiple-choice poll detection 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
Alex Gleason 0d004a9d04
Email admins when a new unapproved account is up for review 2020-07-14 20:31:20 -05:00
Alex Gleason 48983e9421
Merge remote-tracking branch 'upstream/develop' into by-approval 2020-07-14 18:56:40 -05:00
Alex Gleason df3d1bf5e5
Add :approval_pending to User @type account_status 2020-07-14 18:56:36 -05:00
Alex Gleason 20d24741af
AdminAPI: Add `PATCH /api/pleroma/admin/users/approve` endpoint 2020-07-14 18:02:44 -05:00
Alex Gleason 33f1b29b2c
AdminAPI: Filter users by `need_approval` 2020-07-14 14:29:03 -05:00
Alex Gleason b750129da1
AdminAPI: Return `approval_pending` with users 2020-07-14 13:47:05 -05:00
Maksim Pechnikov 1dd767b8c7 Include port in host for signatures 2020-07-14 21:44:08 +03:00
Mark Felder 777a7edc6b Lint and fix test to match new log message 2020-07-14 13:15:37 -05:00
Mark Felder 37297a8482 Improve error messages 2020-07-14 13:12:16 -05:00
Alex Gleason a1570ba6ad
AdminAPI: Return `registration_reason` with users 2020-07-14 13:08:39 -05:00
feld 3f65f2ea79 Merge branch 'feature/1922-media-proxy-whitelist' into 'develop'
Support for hosts with scheme in MediaProxy whitelist setting

Closes #1922

See merge request pleroma/pleroma!2754
2020-07-14 18:07:44 +00:00
feld 63798e89de Merge branch 'fix/scrubber-recompile-warnings-as-errors' into 'develop'
Fix in-db configuration in dev environment

See merge request pleroma/pleroma!2764
2020-07-14 18:05:36 +00:00
feld 2909dc873b Merge branch '1940-admin-token-oauthless-auth' into 'develop'
[#1940] Reinstated OAuth-less `admin_token` authentication

Closes #1940

See merge request pleroma/pleroma!2760
2020-07-14 16:48:26 +00:00
Ivan Tashkinov 124b4709dc [#1940] Added `admin_token` param (as `admin_api_params/0`) to existing Admin API OpenAPI operations. 2020-07-14 19:31:05 +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
rinpatch e6ccc25565 Fix in-db configuration in dev environment
Previously, in-db configuration only worked when `warnings_as_errors`
was disabled because re-compiling scrubbers on application restart
created a warning about module conflicts. This patch fixes that
by enabling `ignore_module_conflict` option of the compiler at runtime,
and enables `warnings_as_errors` in prod since there is no reason
to keep it disabled anymore.
2020-07-14 13:16:54 +03:00
Haelwenn (lanodan) Monnier 858d9fc7e8
MRF Policies: Return a {:reject, reason} instead of {:reject, nil} 2020-07-14 11:04:16 +02:00
Ivan Tashkinov 9b225db7d8 [#1940] Applied rate limit for requests with bad `admin_token`. Added doc warnings on `admin_token` setting. 2020-07-14 11:58:41 +03:00
Ivan Tashkinov cf3f8cb72a [#1940] Reinstated OAuth-less `admin_token` authentication. Refactored UserIsAdminPlug (freed from checking admin scopes presence). 2020-07-19 21:35:57 +03:00
Maksim Pechnikov 3062f86613 added generated `pleroma.env` 2020-07-14 09:05:34 +03:00
Alex Gleason 5ddf0415c4
Accept `reason` in POST /api/v1/accounts and store in DB 2020-07-14 00:22:12 -05:00
= b221b640a2 Transmogrifier: filtering weirdness in address fields 2020-07-13 22:43:21 +03:00
Mark Felder 80c21100db Merge branch 'develop' into refactor/notification_settings 2020-07-13 13:32:21 -05:00
feld 5d215fd81f Merge branch 'config-behaviours-runtime' into 'develop'
Config/Docs: Expand behaviour suggestions modules at runtime

Closes #1941

See merge request pleroma/pleroma!2755
2020-07-13 15:45:25 +00:00
feld 8f9ee694ed Merge branch 'features/profile-fields-emojo' into 'develop'
user: Add support for custom emojis in profile fields

See merge request pleroma/pleroma!2741
2020-07-13 15:43:46 +00:00
feld 63fef0c0fb Merge branch 'chore/improve-database-config-docs' into 'develop'
Improve database config migration and add documentation

See merge request pleroma/pleroma!2756
2020-07-13 15:42:20 +00:00
Mark Felder d1cd3f4ec0 Lint 2020-07-13 10:32:17 -05:00
Mark Felder e1908a5270 Pick up env for both source and OTP installs 2020-07-13 08:39:56 -05: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
Haelwenn f918b6f86d Merge branch '1937-renaming' into 'develop'
ActivityPub: Don't rename a clashing nickname with the same ap id.

Closes #1937

See merge request pleroma/pleroma!2748
2020-07-13 12:06:43 +00:00
Alex Gleason bcfd38c8f3
Make a user unapproved when registering with `account_approval_required` on 2020-07-12 22:55:37 -05:00
Alex Gleason e4e5577818
Prevent unapproved users from logging in 2020-07-12 22:55:26 -05:00
Alex Gleason 51ab8d0128
Add `account_approval_required` instance setting 2020-07-12 20:27:58 -05:00
Alex Gleason a62f17da17
Add `approval_pending` field to User 2020-07-12 20:27:14 -05:00
Mark Felder 46b123cded Still allow passing the arg, but fallback to MIX_ENV 2020-07-12 10:59:12 -05:00
Mark Felder 133004e22d Improve database config migration and add documentation 2020-07-12 10:38:07 -05:00
href 4347d2de5e Config/Docs: Expand behaviour suggestions at runtime 2020-07-12 17:23:33 +02:00
Alexander Strizhakov b376442325
MediaProxy whitelist setting now supports hosts with scheme
added deprecation warning about using bare domains
2020-07-12 12:41:40 +03:00
Roman Chvanikov 3116a75e80 Check if mogrify available before calling it 2020-07-11 18:22:03 +03:00
Roman Chvanikov 523f1b93a4 Remove Logger requirement 2020-07-11 18:15:51 +03:00
Roman Chvanikov 45bd64e2a7 Error in Filter.Exiftool if exiftool not found 2020-07-11 18:11:23 +03:00
Roman Chvanikov aedbbec88a Add Pleroma.Utils.command_available?/1 and use where appropriate 2020-07-11 15:48:45 +03:00
Maksim Pechnikov 62fc8eab0d fix reset confirmation email in admin section 2020-07-11 07:20:35 +03:00
Mark Felder b329f05ed6 Remove unused @types 2020-07-10 17:08:54 -05:00
Mark Felder 9e45672674 Add a moduledoc 2020-07-10 17:07:28 -05:00