Commit graph

619 commits

Author SHA1 Message Date
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
lain 8939ff39e4 Merge branch 'remove-twitter-api' into 'develop'
Remove some TwitterAPI endpoints

See merge request pleroma/pleroma!2327
2020-07-07 18:26:07 +00:00
DYM a784c09db8 added hyper:// to default protocols 2020-07-07 09:05:54 +02:00
lain 65fd28e0c4 Config: Remove Statusnet preloader. 2020-07-06 12:25:25 +02:00
lain af7720237b Upload: Restrict description length 2020-07-06 11:08:13 +02:00
Mark Felder 4695bdd81b Merge branch 'develop' into issue/1790-updated-oban 2020-07-03 10:36:41 -05:00
Ivan Tashkinov 61180ab6f4 Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
# Conflicts:
#	config/config.exs
#	lib/pleroma/web/media_proxy/media_proxy.ex
#	lib/pleroma/web/media_proxy/media_proxy_controller.ex
2020-07-02 16:36:54 +03:00
Alex Gleason 8daacc9114
AutoLinker --> Linkify, update to latest version
https://git.pleroma.social/pleroma/elixir-libraries/linkify
2020-06-30 16:39:15 -05:00
lain 0313520cd2 Config: Reduce default preloaders to configuration endpoints.
Fetching the timeline is a bit heavy to do by default.
2020-06-27 12:18:37 +02:00
feld 8288419686 Merge branch 'preload-data' into 'develop'
Preload data into index.html

Closes #1660

See merge request pleroma/pleroma!2381
2020-06-25 21:35:39 +00:00
Maksim Pechnikov 439a1a0218 added wrapper Pleroma.HTTP for ExAws.S3 2020-06-25 07:12:29 +03:00
Maksim Pechnikov 721fc7c554 added wrapper Pleroma.HTTP for Tzdata.HTTPClient 2020-06-24 09:12:32 +03: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
Maksim Pechnikov a8d967762e migrate to oban 2.0-rc1 2020-06-23 15:09:01 +03:00
Mark Felder bf8310f380 Add missing default config value for :instance, instance_thumbnail
Follows up on b7fc61e17b
2020-06-22 17:35:02 -05:00
Mark Felder 3462d4b995 Merge branch 'develop' into issue/1855 2020-06-17 12:50:06 -05:00
Alexander Strizhakov ed189568f3
moving mrf settings from instance to separate group 2020-06-16 18:32:18 +03:00
Maksim Pechnikov 579763126f Merge branch 'develop' into issue/1855 2020-06-15 15:24:55 +03:00
Maksim Pechnikov 2e8a236cef fix invalidates media url's 2020-06-14 21:02:57 +03:00
Mark Felder 26f710b9e3 Merge branch 'develop' into preload-data 2020-06-12 16:52:52 -05:00
Egor Kislitsyn 697cf92024
Merge remote-tracking branch 'origin/develop' into merge-ogp-twitter-parsers 2020-06-12 18:25:29 +04:00
Egor Kislitsyn 1f35acce54
Merge OGP parser with TwitterCard 2020-06-11 17:57:31 +04:00
Egor Kislitsyn da22119c2f
Merge branch 'develop' into global-status-expiration 2020-06-08 17:21:47 +04:00
stwf 75e886b506 fix config 2020-06-03 17:32:03 -04:00
stwf 906ac57ba8 Merge branch 'preload-data' of git.pleroma.social:stwf/pleroma into preload-data
# Conflicts:
#	lib/pleroma/web/preload/status_net.ex
2020-06-03 17:25:53 -04:00
stwf 5677b21e82 clean up 2020-06-03 17:24:35 -04:00
stwf 3b8180d7d1 add status_net/config 2020-06-03 16:34:03 -04:00
stwf 29ae5bb771 preload data into index.html 2020-06-03 16:34:03 -04:00
stwf aa26dc6a13 add status_net/config 2020-06-03 13:40:48 -04:00
lain 6977500ef7 Merge branch 'tagline' into 'develop'
Update default instance description

See merge request pleroma/pleroma!2600
2020-06-02 14:10:53 +00:00
Egor Kislitsyn a7627bdc7a
Merge remote-tracking branch 'origin/develop' into global-status-expiration 2020-06-01 15:48:51 +04:00
lain ac31f687c0 Config: Default to Hackney again
Gun needs some server setting changes (files) and has problems with
OTP 23 (wildcards), so use Hackney as a default again for now.
2020-06-01 13:35:39 +02:00
stwf d67b302810 preload data into index.html 2020-05-29 14:15:24 -04:00
Alex Gleason d4a18d44fe
Update default instance description 2020-05-28 11:56:30 -05:00
lain 337ca33e5e Config: Restore old new background image
Became lost in a settings restructure
2020-05-26 16:00:56 +02:00
Roman Chvanikov cc82229ba7 Add filename_display_max_length config 2020-05-22 18:19:25 +03:00
Ivan Tashkinov 3a1e810aaa [#2497] Customized exexec launch to support root operation (currently required by Gitlab CI). 2020-05-21 21:47:32 +03:00
Haelwenn 42b06d78df Merge branch 'chore/update-config-fe' into 'develop'
Synchronize :fe settings in config.exs

See merge request pleroma/pleroma!2560
2020-05-20 17:45:19 +00:00
Ivan Tashkinov 6fd4f58ead Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy 2020-05-20 20:27:03 +03:00
Ivan Tashkinov 1871a5ddb4 [#2497] Image preview proxy: implemented ffmpeg-based resizing, removed eimp & mogrify-based resizing. 2020-05-20 20:26:43 +03:00
Mark Felder 4c48626585 Also add new sidebarRight setting 2020-05-20 12:22:31 -05:00
Haelwenn 94ba5a7802 Merge branch 'exposed-background-image' into 'develop'
InstanceView: Expose background image link.

See merge request pleroma/pleroma!2545
2020-05-20 10:53:54 +00:00
lain 6dd1575c64 Merge branch 'issue/1509' into 'develop'
[#1509]  purge media from cache after delete

See merge request pleroma/pleroma!2539
2020-05-20 10:35:36 +00:00
Mark Felder 918ee46417 Synchronize :fe settings in config.exs 2020-05-19 16:05:39 -05:00
lain 188b32145e InstanceView: Expose background image link.
This will make it easier for more clients to support this feature.
2020-05-18 13:29:30 +02:00
Maksim Pechnikov c33a4315fb updated docs 2020-05-18 06:48:19 +03:00
Maksim Pechnikov 3f8d68bdf3 added example cache purge script 2020-05-17 05:56:20 +03:00
Maksim Pechnikov cb40602a16 added media proxy invalidation 2020-05-15 21:39:42 +03:00
Ivan Tashkinov f1f588fd52 [#2497] Added support for :eimp for image resizing. 2020-05-14 20:18:31 +03:00
Ivan Tashkinov 1b23acf164 [#2497] Media preview proxy for images: fixes, tweaks, refactoring, tests adjustments. 2020-05-11 23:21:53 +03:00
Ivan Tashkinov bbdad85568 Initial implementation of image preview proxy. Media proxy tests refactoring. 2020-05-08 23:06:47 +03:00
Ivan Tashkinov b2924ab1fb Merge remote-tracking branch 'remotes/origin/develop' into restricted-relations-embedding 2020-05-08 21:37:55 +03:00
Maksim 3d0c567fbc Pleroma.Web.TwitterAPI.TwoFactorAuthenticationController -> Pleroma.Web.PleromaAPI.TwoFactorAuthenticationController 2020-05-07 08:14:54 +00:00
Egor Kislitsyn decaa64f75
Merge branch 'develop' into global-status-expiration 2020-05-05 14:28:54 +04:00
Egor Kislitsyn f070b5569c
Add a config option to enable strict validation 2020-05-04 22:33:05 +04:00
Ivan Tashkinov d5cdc907e3 Restricted embedding of relationships where applicable (statuses / notifications / accounts rendering).
Added support for :skip_notifications for accounts listing (index.json).
Adjusted tests.
2020-05-01 18:45:24 +03:00
Ivan Tashkinov 92efb888c7 Made follow request notifications non-optional (removed config switch). 2020-05-01 09:51:41 +03:00
Egor Kislitsyn c56c0a3d23
Merge branch 'develop' into global-status-expiration 2020-04-24 18:37:58 +04:00
Egor Kislitsyn 364eecc49f
Merge branch 'develop' into global-status-expiration 2020-04-20 20:37:56 +04:00
Alex Gleason bedc558809
Merge remote-tracking branch 'upstream/develop' into accept-deletes 2020-04-20 10:15:40 -05:00
Alex Gleason b54c8813d6
Add :reject_deletes option to SimplePolicy 2020-04-20 10:11:06 -05:00
Ivan Tashkinov 6e6f95c6ae Merge remote-tracking branch 'remotes/origin/develop' into 1559-follow-request-notifications
# Conflicts:
#	CHANGELOG.md
2020-04-17 16:23:58 +03:00
Egor Kislitsyn 7f692343c8
Merge branch 'develop' into global-status-expiration 2020-04-10 14:20:48 +04:00
Ivan Tashkinov 1a4875adfa [#1559] Support for "follow_request" notifications (configurable).
(Not currently supported by PleromaFE, thus disabled by default).
2020-04-07 21:52:32 +03:00
Ivan Tashkinov 98b96e45ab Merge remote-tracking branch 'remotes/origin/develop' into output-of-relationships-in-statuses
# Conflicts:
#	CHANGELOG.md
2020-04-01 20:08:14 +03:00
Ivan Tashkinov 2f2bd7fe72 Ability to control the output of account/pleroma/relationship in statuses in order to improve the rendering performance.
See `[:extensions, output_relationships_in_statuses_by_default]` setting and `with_relationships` param.
2020-04-01 19:49:09 +03:00
Egor Kislitsyn 80e1571610
Merge branch 'develop' into global-status-expiration 2020-03-20 22:08:34 +04:00
Alexander Strizhakov 9bae9b1b1b
Merge branch 'develop' into gun 2020-03-20 20:47:54 +03:00
Alexander Strizhakov fe15f0ba15
restrict_unauthenticated setting 2020-03-20 16:36:20 +03:00
Mark Felder b17d8d305f Enable Gun adapter by default
We need devs to dogfood this before we merge it into the 2.1 release
2020-03-16 15:39:34 -05:00
Egor Kislitsyn 421e35b578
Merge branch 'develop' into global-status-expiration 2020-03-16 15:31:31 +04:00
Alexander Strizhakov f0651730bd
Merge branch 'develop' into gun 2020-03-16 14:25:55 +03:00
rinpatch e87a32bcd7 rip out fetch_initial_posts
Every time someone tries to use it, it goes mad and tries to scrape the
entire fediverse for no visible reason, it's better to just remove it
than continue shipping it in it's current state.

idea acked by lain and feld on irc

Closes #1595 #1422
2020-03-15 15:59:17 +03:00
Alexander Strizhakov 8854770fc4
retry and retry_timeout settings default change 2020-03-03 18:01:35 +03:00
Alexander Strizhakov 28ed4b41d0
naming for checkin from pool timeout 2020-03-03 13:05:28 +03:00
Alexander Strizhakov 509c81e4b1
Merge branch 'develop' into gun 2020-03-03 10:08:07 +03:00
Egor Kislitsyn 0f386110c6
Merge remote-tracking branch 'origin/develop' into global-status-expiration 2020-03-03 00:32:34 +04:00
lain 4c02e04935 Merge branch 'prepared-statements-settings' into 'develop'
Prepared statements settings

See merge request pleroma/pleroma!2238
2020-03-02 17:00:04 +00:00
Alexander Strizhakov 2622cf1190
returning repo parameters 2020-03-02 09:22:34 +03:00
Alexander Strizhakov d9e4b77f8b
Merge branch 'develop' into gun 2020-03-01 12:48:49 +03:00
rinpatch ffcebe7e22 timeline controller: rate limit timelines to 3 requests per 500ms per timeline per ip/user 2020-03-01 01:13:08 +03:00
Alexander Strizhakov 814b275af7
Merge branch 'develop' into gun 2020-02-29 11:34:50 +03:00
Steven Fuchs fabcd82f4a add confirm field to filtered params 2020-02-28 04:27:50 +00:00
lain f71aa644b1 Add :unnamed option to default database configuration 2020-02-25 11:53:30 +01:00
Haelwenn 1e1156b645 Merge branch '1505-threads-federation' into 'develop'
[#1505] Threads / replies federation

Closes #1505

See merge request pleroma/pleroma!2129
2020-02-24 07:28:35 +00:00
Mark Felder 9fe60c3b9c Add missing invites_enabled and account_activation_required settings 2020-02-22 09:29:05 -06:00
Ivan Tashkinov 8f0ca19b9c Merge remote-tracking branch 'remotes/origin/develop' into 1505-threads-federation
# Conflicts:
#	CHANGELOG.md
#	config/config.exs
2020-02-22 09:31:43 +03:00
Alexander Strizhakov a03c420b84
by default don't use gun retries
remove conn depends on retry setting from config
2020-02-21 12:32:42 +03:00
Alexander Strizhakov 13918cb545
Merge branch 'develop' into gun 2020-02-21 10:02:37 +03:00
Mark Felder b6bb73f43e Apply database session parameter to improve GIN full text search 2020-02-20 15:34:10 -06:00
Ivan Tashkinov 0d14c3f410 [#1505] Typo fix. 2020-02-20 15:18:28 +03:00
lain 3eddd9caa6 Merge branch 'require-signature' into 'develop'
Add an option to require fetches to be signed

Closes #1444

See merge request pleroma/pleroma!2071
2020-02-20 12:13:21 +00:00
Ivan Tashkinov 0c65a8c3d0 Merge remote-tracking branch 'remotes/origin/develop' into 1505-threads-federation
# Conflicts:
#	config/config.exs
2020-02-20 15:00:48 +03:00
lain e0b2de6385 Merge branch 'feature/new-registrations-digest' into 'develop'
New users digest email

Closes #1514

See merge request pleroma/pleroma!2128
2020-02-20 11:58:37 +00:00
Ivan Tashkinov 61d9f43e46 Merge remote-tracking branch 'remotes/origin/develop' into 1505-threads-federation 2020-02-18 17:46:09 +03:00
Alexander Strizhakov 514c899275
adding gun adapter 2020-02-18 08:19:01 +03:00
Egor Kislitsyn 241a3d744a
Add ActivityExpirationPolicy 2020-02-13 22:27:10 +04:00