Commit Graph

817 Commits

Author SHA1 Message Date
Mark Felder fe40f6f291 Switch from the deprecated "use Mix.config" to "import Config" 2021-05-20 14:02:58 -05:00
Alex Gleason 762be6ce10
Merge remote-tracking branch 'upstream/develop' into block-behavior 2021-04-29 11:14:32 -05:00
Sean King fa2e62078c
Remove MastoFE configuration stuff 2021-04-15 23:51:04 -06:00
Mark Felder 8b81d62227 Upstream original followbot implementation 2021-03-30 11:10:03 -05:00
rinpatch f930e83fa2 Merge branch 'fix/remove_auto_nsfw' into 'develop'
Remove sensitive setting #nsfw

See merge request pleroma/pleroma!3223
2021-03-19 08:48:22 +00:00
Haelwenn (lanodan) Monnier 3bc7d12271
Remove sensitive-property setting #nsfw, create HashtagPolicy 2021-02-27 21:26:17 +01:00
Ivan Tashkinov 8f88a90ca3 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	lib/pleroma/application.ex
#	lib/pleroma/config.ex
2021-02-23 13:58:35 +03:00
Ivan Tashkinov 77f3da0358 [#3213] Misc. tweaks: proper upsert in Hashtag, better feature toggle management. 2021-02-23 13:52:28 +03:00
Ivan Tashkinov b981edad8a [#3213] HashtagsTableMigrator: fault rate allowance to enable the feature (defaults to 1%), counting of affected objects, misc. tweaks. 2021-02-18 20:40:10 +03:00
rinpatch 6d66fadea7 Remove `:auth, :enforce_oauth_admin_scope_usage`
`admin` scope has been required by default for more than a year now
and all apps that use the API seems to request a proper scope by now.
2021-02-17 20:47:38 +03:00
Ivan Tashkinov 349b8b0f4f [#3213] `rescue` around potentially-raising `Repo.insert_all/_` calls. Misc. improvements (docs etc.). 2021-02-13 22:01:11 +03:00
Ivan Tashkinov 5992382cf8 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	CHANGELOG.md
#	lib/mix/tasks/pleroma/database.ex
#	lib/pleroma/web/templates/feed/feed/_activity.rss.eex
2021-02-11 19:31:57 +03:00
Ivan Tashkinov a996ab46a5 [#3213] Reorganized hashtags cleanup. Transaction-wrapped Hashtag.get_or_create_by_names/1. Misc. improvements. 2021-02-11 19:30:21 +03:00
feld 008499f65a Merge branch 'develop' into 'fix/2412-filters'
# Conflicts:
#   CHANGELOG.md
2021-02-03 14:23:23 +00:00
Ivan Tashkinov 1b49b8efe5 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	CHANGELOG.md
2021-01-31 20:38:58 +03:00
Ivan Tashkinov 9948ff3356 [#3213] Added HashtagsCleanupWorker periodic job. 2021-01-31 18:24:19 +03:00
feld d7af0294e6 Merge branch 'service-worker-allowed-header' into 'develop'
Ability to set custom HTTP headers per each frontend

See merge request pleroma/pleroma!3247
2021-01-26 18:14:01 +00:00
Alexander Strizhakov 875fbaae35
support for expires_in/expires_at in filters 2021-01-26 08:27:45 +03:00
Mark Felder 003402df40 Add ability to invalidate cache entries for Apache 2021-01-21 14:20:13 -06:00
eugenijm 7fcaa188a0 Allow to define custom HTTP headers per each frontend 2021-01-21 21:55:23 +03:00
Alexander Strizhakov 5ade430e46
changed naming in changelog 2021-01-21 10:13:02 +03:00
Alexander Strizhakov b4ff63d020
configurable limits for ConcurrentLimiter
Pleroma.Web.RichMedia.Helpers & Pleroma.Web.MediaProxy
2021-01-21 09:47:21 +03:00
feld 2926713fe5 Merge branch 'deprecate-public_endpoint' into 'develop'
Deprecate Uploaders.S3, :public_endpoint

See merge request pleroma/pleroma!3251
2021-01-20 22:48:48 +00:00
Mark Felder 086100e3b7 Consistent comment style for :ex_aws 2021-01-20 16:39:39 -06:00
Mark Felder f9e0c05ca4 Only run one attachment cleanup job per node
The previous limit of 5 was probably causing massing performance issues due to concurrent full table scans.
2021-01-15 14:50:32 -06:00
Mark Felder f0ab60189e truncated_namespace should default to nil 2021-01-13 11:54:00 -06:00
Mark Felder 8b28dce82a Deprecate Pleroma.Uploaders.S3, :public_endpoint 2021-01-12 16:31:35 -06:00
Alex Gleason 1438fd9583
Merge remote-tracking branch 'upstream/develop' into block-behavior 2021-01-06 15:22:35 -06:00
Mark Felder d69c78ceb9 Remove configurability of upload proxy opts, simplify 2021-01-05 15:06:00 -06:00
lain e4f1d8f48c Merge branch 'cachex-test' into 'develop'
Test framework overhaul (speed, reliability)

See merge request pleroma/pleroma!3209
2020-12-26 10:26:35 +00:00
lain 9a744d49c8 Jason: Remove by now superfluous jason_types file 2020-12-18 17:44:19 +01:00
Ivan Tashkinov 62bf4a1292 [#2353] Virtually never-expiring OAuth tokens (new and already issued ones). 2020-12-17 20:49:00 +03:00
Alexander Strizhakov cebe3c7def Fix for dropping posts/notifs in WS when mix task is executed
- start oban in mix tasks with empty queues, plugins and crontab
- fix for update_users_following_followers_counts
- fix for removed logo.png
- typo in resend confirmation emails mix task docs
- fix for uploads mix task (start Majic.Pool)
- fix for creating user mix task (start :fast_html app)
2020-12-14 11:02:32 -06:00
Ivan Tashkinov 7fff9c1bee Tweaks to OAuth entities expiration: changed default to 30 days, removed hardcoded values usage, fixed OAuthView (expires_in). 2020-12-09 21:14:39 +03:00
Alexander Strizhakov 94480c6607
removing fed sockets settings 2020-11-26 17:39:38 +03:00
lain 11e0d5f9ac Password Resets: Don't accept tokens above a certain age.
By default, one day
2020-11-19 12:27:06 +01: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 294628d981 Merge branch 'feature/expire-mutes' into 'develop'
Expiring mutes for users and activities

Closes #1817

See merge request pleroma/pleroma!2971
2020-11-05 12:44:16 +00:00
lain d8d4e96230 Merge branch 'default-mrf' into 'develop'
Add TagPolicy as default MRF

See merge request pleroma/pleroma!2834
2020-11-04 15:54:12 +00:00
lain dd2b3a8da9 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/expire-mutes 2020-11-04 16:51:42 +01: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
Egor Kislitsyn 4a2d7a7a5d
Merge remote-tracking branch 'origin/develop' into feature/account-export 2020-10-28 15:33:36 +04:00
feld 03a318af9a Merge branch 'develop' into 'feature/autofollowing'
# Conflicts:
#   CHANGELOG.md
2020-10-27 22:13:50 +00:00
Mark Felder 291189357b Merge branch 'develop' into feature/account-export 2020-10-27 12:54:33 -05:00
Mark Felder 9e54ef086b Merge branch 'develop' into feature/account-export 2020-10-27 12:51:31 -05:00
feld 5aff479951 Merge branch '1668-prometheus-access-restrictions' into 'develop'
[#1668] App metrics endpoint (Prometheus) access restrictions

Closes #1668

See merge request pleroma/pleroma!3093
2020-10-27 17:47:56 +00:00
feld e062329a17 Merge branch 'develop' into 'feature/autofollowing'
# Conflicts:
#   CHANGELOG.md
2020-10-27 17:42:24 +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
Egor Kislitsyn ad605e3e16
Rename `Pleroma.Backup` to `Pleroma.User.Backup` 2020-10-20 17:16:58 +04:00
Ivan Tashkinov 524fb0e4c2 [#1668] Restricted access to app metrics endpoint by default. Added ability to configure IP whitelist for this endpoint.
Added tests and documentation.
2020-10-18 21:22:21 +03:00
Ivan Tashkinov 9ea31b373f Merge remote-tracking branch 'remotes/origin/develop' into chore/elixir-1.11 2020-10-17 17:53:47 +03:00
Mark Felder 1b8fd7e65a Adds feature to permit e.g., local admins and community moderators to automatically follow all newly registered accounts 2020-10-16 17:36:02 +00:00
Mark Felder 1fb9452131 Merge branch 'develop' into feature/account-export 2020-10-14 15:27:15 -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
Alexander Strizhakov 3be8ab5103
RemoteIp module name 2020-10-13 16:43:50 +03:00
Alex Gleason 2fc7ce3e1e
Blocks: add blockers_visible config 2020-10-10 01:58:57 -05:00
Mark Felder 04b514c567 Merge branch 'develop' into feature/gen-magic 2020-10-09 11:26:10 -05:00
Mark Felder 87fc5a40f4 instrumenters has no effect in Endpoint anymore 2020-10-07 11:52:23 -05:00
Mark Felder fddea9e3ce :pubsub is deprecated and replaced wit :pubsub_server 2020-10-07 10:34:24 -05:00
Egor Kislitsyn e52dd62e14
Add configurable temporary directory 2020-10-07 18:34:30 +04:00
Egor Kislitsyn 3ad7492f9d
Add config for Pleroma.Backup 2020-10-07 18:34:29 +04:00
Egor Kislitsyn a0ad9bd734
Add BackupWorker 2020-10-07 18:34:28 +04:00
Mark Felder d43d05005a Move hardcoded default configuration into config.exs 2020-10-06 17:02:46 -05:00
Alexander Strizhakov cbdaabad34
web push http_client fix 2020-10-01 13:32:11 +03:00
Roman Chvanikov 4987ee6256 Merge branch 'develop' into feature/expire-mutes 2020-09-20 19:27:27 +03: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
lain 7e02f4ed3b Merge branch 'feature/2118-web-push-encryption-http' into 'develop'
Make WebPushEncryption use Pleroma.HTTP as an HTTP adapter

Closes #2118

See merge request pleroma/pleroma!3008
2020-09-18 12:25:10 +00:00
Steven Fuchs f2ef9735c5 Federate data through persistent websocket connections 2020-09-18 11:58:22 +00:00
Sergey Suprunenko 226fa3e486
Make WebPushEncryption use Pleroma.HTTP as an HTTP adapter 2020-09-17 22:10:55 +02:00
Ivan Tashkinov 7cdbd91d83 [#2497] Configurability of :min_content_length (preview proxy). Refactoring, documentation, tests. 2020-09-17 17:13:40 +03:00
Roman Chvanikov 44e8b6037a Merge branch 'develop' into feature/expire-mutes 2020-09-17 14:54:00 +03:00
Ivan Tashkinov 2f155fb89f Merge remote-tracking branch 'remotes/origin/develop' into media-preview-proxy-nostream 2020-09-15 20:29:39 +03:00
rinpatch 0b5e72ecf0 Remove `:managed_config` option.
In practice, it was already removed half a year ago, but the description
 and cheatsheet entries were still there.

The migration intentionally does not use ConfigDB.get_by_params, since
this will break migration code as soon as we add a new field is added
 to ConfigDB.

Closes #2086
2020-09-14 18:04:16 +03:00
Roman Chvanikov c5830ac037 Merge develop 2020-09-13 12:24:57 +03: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
Mark Felder 55562ca936 Merge branch 'develop' into feature/gen-magic 2020-09-10 16:05:22 -05:00
Alexander Strizhakov 2c2094d4b2 configurable lifetime for ephemeral activities 2020-09-10 21:51:59 +03:00
Alexander Strizhakov 9bf1065a06 schedule activity expiration in Oban 2020-09-10 21:50:40 +03:00
Alexander Strizhakov 7dd986a563
expire mfa tokens through Oban 2020-09-10 16:01:19 +03:00
Alexander Strizhakov 3ce658b930
schedule expired oauth tokens deletion with Oban 2020-09-10 16:01:19 +03:00
Mark Felder 4ee99dafcc Merge branch 'develop' into media-preview-proxy 2020-09-09 11:11:36 -05:00
Mark Felder 14d07081fd Feed provider only generates a redirect, so always activate it.
Making this configurable is misleading.
2020-09-08 20:21:34 +03:00
Mark Felder 630444ee08 Do not make RelMe metadata provider optional.
There's really no sound reason to turn this off anyway.
2020-09-08 20:21:34 +03:00
Roman Chvanikov 880a92ccc7 Merge branch 'develop' into feature/expire-mutes 2020-09-08 15:16:43 +03:00
Roman Chvanikov c56e3d4f3b Add expires_in param for account mutes 2020-09-08 13:26:44 +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
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 b529616e11 Increase pool and timeout for preview so it catches slow media pool responses 2020-09-03 15:08:12 -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
Mark Felder 85446cc30c Merge branch 'develop' into media-preview-proxy 2020-09-03 10:34:06 -05:00
rinpatch 19691389b9 Rich media: Add failure tracking 2020-09-02 14:59:52 +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
Mark Felder 899ea2da3e Switch to imagemagick, only support videos 2020-08-25 17:18:22 -05:00
Mark Felder 479578b148 Merge branch 'develop' into feld-2168-media-preview-proxy 2020-08-25 11:57:23 -05:00
lain c1d51944c7 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into frontend-bundles-downloads 2020-08-25 11:44:51 +02:00
Ivan Tashkinov aa0a5ffb48 [#2497] Media preview proxy: added `quality` config setting, adjusted width/height defaults. 2020-08-21 08:59:08 +03:00
Ivan Tashkinov 4ee15e991e [#2497] Media preview proxy config refactoring & documentation. 2020-08-19 21:36:26 +03: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 aabc26a573 Pleroma.Upload: Set default upload name / description based on config. 2020-08-18 13:21:30 +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
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 d0fc48ea67 Merge branch 'develop' into 'feat/floki-fast-html-2'
# Conflicts:
#   config/config.exs
2020-08-09 10:53:58 +00:00
Mark Felder 54e2af8293 Merge branch 'develop' into fix/ldap-auth-issues 2020-08-07 14:55:22 -05:00
rinpatch 325c7c924b Make Floki use fast_html 2020-08-07 16:45:33 +03: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
Alex Gleason e639eee82e
restricted_nicknames: Add names from MastoAPI endpoints 2020-08-06 18:01:29 -05:00
Mark Felder d5e4d8a6f3 Define default authenticator in the config 2020-08-05 09:41:17 -05:00
lain 532d6f94ae Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into frontend-bundles-downloads 2020-08-04 15:10:36 +02: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
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
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 66ebd88634 Merge branch 'config/default_ok_oldage' into 'develop'
config: :mrf, :policies default to ObjectAgePolicy

Closes #2000

See merge request pleroma/pleroma!2814
2020-08-03 12:50:29 +00:00
Alex Gleason dc88b6f091
Add email blacklist, fixes #1404 2020-08-02 14:53:42 -05:00
Alex Gleason e9cff69bce
Add TagPolicy as default MRF, #2010 2020-08-02 12:24:40 -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
Alex Gleason cb1e3893aa
SimpleMRF: Add missing :followers_only to config.exs 2020-08-01 16:08:29 -05:00
Haelwenn (lanodan) Monnier 0309514656
Default MRF to ObjectAgePolicy, 7 days threshold 2020-07-31 12:13:08 +02:00
lain 7bcd2e948e Config: Default to Hackney again
Gun is still acting up.
2020-07-31 10:50:45 +02:00
lain 99bfdffb1d Config: Add kenoma as available frontend. 2020-07-30 14:17:58 +02:00
lain 4ce4d799fd Config: Add frontend information. 2020-07-30 14:14:58 +02: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 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 e2f82968e8 Config: Update frontend config example 2020-07-29 13:04:29 +02:00
Alex Gleason 3b7c454418
Let favourites and emoji reactions optionally be hidden 2020-07-28 14:58:30 -05:00
Mark Felder bee29f6610 Clarify location of frontends directory 2020-07-28 12:10:04 -05:00
lain 08732e8a03 Docs: Add frontend info to cheat sheet. 2020-07-28 17:46:37 +02: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
Alex Gleason 6931dbfa58
Merge remote-tracking branch 'upstream/develop' into by-approval 2020-07-26 15:46:14 -05:00
Maksim Pechnikov 67ab9a7928 Merge branch 'develop' into issue/1934-welcome-email 2020-07-23 16:36:27 +03:00
Maksim Pechnikov 5879d36854 fix sender for welcome email 2020-07-22 15:34:47 +03: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
Maksim Pechnikov 3edaecae96 added welcome email 2020-07-21 09:25:53 +03: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 38425ebdbf
Merge remote-tracking branch 'upstream/develop' into linkify 2020-07-16 14:51:36 -05:00
Mark Felder b2d398b1d0 Merge branch 'develop' into refactor/gun-pool-registry 2020-07-15 13:34:27 -05:00
rinpatch c413649a8d Bring back oban job pruning
Closes #1945
2020-07-15 16:20:17 +03:00
rinpatch 33747e9366 config.exs: set gun retries to 0
The new pooling code just removes the connection when it's down,
there is no need to reconnect a connection that is just sitting idle,
better just open a new one next time it's needed
2020-07-15 15:26:35 +03:00
rinpatch 9df5918974 config.exs: make gun the default again 2020-07-15 15:26:35 +03:00
rinpatch 4128e3a84a HTTP: Implement max request limits 2020-07-15 15:26:35 +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
Alex Gleason 51ab8d0128
Add `account_approval_required` instance setting 2020-07-12 20:27:58 -05:00
Mark Felder 3c0c1fd2ef Merge branch 'develop' into issue/1790-updated-oban 2020-07-10 11:34:53 -05:00
Haelwenn (lanodan) Monnier 312fc55f14
Add [:instances_favicons, :enabled] setting, defaults to false 2020-07-08 06:28:40 +02:00