Commit graph

159 commits

Author SHA1 Message Date
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
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
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
href
4347d2de5e Config/Docs: Expand behaviour suggestions at runtime 2020-07-12 17:23:33 +02:00
lain
48f98a2748 Merge branch 'mix-tasks-improvement' into 'develop'
Mix tasks improvement

See merge request pleroma/pleroma!2723
2020-07-10 08:58:44 +00:00
Mark Felder
d23804f191 Use the Pleroma.Config alias 2020-07-09 10:53:51 -05:00
Alexander Strizhakov
72ad3a66f4
don't fully start pleroma in mix tasks 2020-07-08 15:58:47 +03:00
lain
b7f297f0bd Merge branch 'issue/1798' into 'develop'
[#1798] fixed migration the settings to DB

See merge request pleroma/pleroma!2655
2020-06-23 10:54:15 +00:00
Maksim Pechnikov
b0a40fc2e4 added verify RUM settings before start app 2020-06-22 17:27:49 +03:00
Mark Felder
2731ea1334 Change references from "deleted_urls" to "banned_urls" as nothing is handled via media deletions anymore; all actions are manual operations by an admin to ban the url 2020-06-17 13:13:55 -05:00
Maksim Pechnikov
2e8a236cef fix invalidates media url's 2020-06-14 21:02:57 +03:00
rinpatch
8308611279 Startup: suggest updating OTP when the version is too low for gun
I've seen quite a few people wonder what to do when presented with
this error message.
2020-05-12 17:30:39 +03:00
href
9491ba3e49 Streamer rework 2020-05-07 09:13:32 +00:00
Egor Kislitsyn
39a78998d0
Change Pleroma.CaptchaTest to be a regular module instead of GenServer 2020-04-29 21:26:07 +04:00
ef7d2b0f11 Merge branch 'gun' into 'develop'
Gun adapter

Closes #945

See merge request pleroma/pleroma!1861
2020-04-01 17:05:09 +00:00
Alexander Strizhakov
eb9744cade
activities generation tasks 2020-03-30 11:42:25 +03:00
Alexander Strizhakov
39ed608b13
Merge branch 'develop' into gun 2020-03-12 18:31:10 +03:00
Alexander Strizhakov
1306b92997
clean up 2020-03-12 18:29:07 +03:00
Alexander Strizhakov
fce090c1de
using Pleroma.Config instead of ets 2020-03-11 17:22:50 +03:00
Alexander Strizhakov
282a93554f
merging release default config on app start 2020-03-11 16:25:53 +03:00
Alexander Strizhakov
6b2fb9160c
otp version 2020-03-04 09:23:42 +03:00
Alexander Strizhakov
24d1ac125c
hiding raise error logic to otp_version module 2020-03-03 13:24:19 +03:00
Alexander Strizhakov
4c8569d403
otp_version refactor 2020-03-03 12:21:10 +03:00
Alexander Strizhakov
509c81e4b1
Merge branch 'develop' into gun 2020-03-03 10:08:07 +03:00
Haelwenn (lanodan) Monnier
6da6540036
Bump copyright years of files changed after 2020-01-07
Done via the following command:
git diff fcd5dd259a --stat --name-only | xargs sed -i '/Pleroma Authors/c# Copyright © 2017-2020 Pleroma Authors <https:\/\/pleroma.social\/>'
2020-03-02 06:08:45 +01:00
Alexander Strizhakov
514c899275
adding gun adapter 2020-02-18 08:19:01 +03:00
Maksim Pechnikov
2c40c8b4a2 Merge branch 'develop' into issue/1383 2020-02-03 21:42:36 +03:00
Egor Kislitsyn
6302b40791
Warn if HTTPSecurityPlug is disabled 2020-01-28 19:14:09 +04:00
Maksim Pechnikov
b8d5c09f48 Merge branch 'develop' into issue/1383 2020-01-22 09:30:30 +03:00
rinpatch
dc0498ab2b Check for unapplied migrations on startup
Closes #1328
2020-01-20 12:20:26 +03:00
Maksim Pechnikov
54c9db38c8 Merge branch 'develop' into issue/1383 2019-12-21 20:38:59 +03:00
Egor Kislitsyn
c098dec473 Merge branch 'develop' into feature/custom-runtime-modules 2019-12-10 00:16:43 +07:00
Maksim Pechnikov
2b821036c4 Merge branch 'develop' into issue/1383 2019-12-09 19:41:43 +03:00
Egor Kislitsyn
ed92784e7c Set Logger level to :info in prod 2019-12-09 19:11:54 +07:00
Egor Kislitsyn
84f891ea3e Add Pleroma.Utils.compile_dir/1 2019-12-09 18:23:07 +07:00
rinpatch
d6c89068f3 HTML: Compile Scrubbers on boot
This makes it possible to configure their behavior on OTP releases.
2019-12-08 20:35:41 +03:00
Maksim Pechnikov
5876a9cb79 Merge branch 'develop' into issue/1383 2019-12-08 19:52:46 +03:00
Egor Kislitsyn
a75d4a41e0 Add a test for custom runtime modules 2019-12-06 17:05:09 +07:00
Egor Kislitsyn
e4292cbfad Use Kernel.inspect/2 to print loaded custom modules 2019-12-06 15:16:39 +07:00
Egor Kislitsyn
157bceeda9 Move runtime configuration from :instance to :modules 2019-12-06 15:04:46 +07:00
Egor Kislitsyn
1216b546c6 Fix credo warning 2019-12-05 20:29:17 +07:00
Egor Kislitsyn
48ae3c4347 Add support for custom modules 2019-12-05 20:18:25 +07:00
lain
aa97fe8f17 ChatChannel: Ignore messages that are too long. 2019-12-04 12:48:34 +01:00
Maksim Pechnikov
b7c449118b Merge branch 'develop' into issue/1383 2019-11-28 21:27:01 +03:00
Maksim Pechnikov
a4f834a687 moved DigestEmail to Oban Periodic jobs 2019-11-27 15:59:13 +03:00
Maksim Pechnikov
c5766a8100 moved ActivityExpiration to Oban Periodic jobs 2019-11-27 13:36:03 +03:00
Maksim Pechnikov
6f202a401b moved ScheduledActivity to Oban Periodic jobs 2019-11-27 09:26:37 +03:00
Maksim Pechnikov
0e9be6bafa moved OAuth.Token.CleanWorker to Oban Periodic jobs 2019-11-25 14:32:20 +03:00
Sadposter
d3656c2725 add ability to set a custom user-agent string 2019-11-25 09:53:11 +00:00
Steven Fuchs
94627baa5c New rate limiter 2019-11-11 12:13:06 +00:00