Commit Graph

230 Commits

Author SHA1 Message Date
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
Ariadne Conill 25b7ff56c3 application: don't start Federator.init/1 anymore 2019-10-18 14:50:09 +00:00
lain 27110793a7 Merge branch 'featrue/job-monitor' into 'develop'
Add Pleroma.JobQueueMonitor

Closes #1274

See merge request pleroma/pleroma!1721
2019-10-04 12:52:11 +00:00
Sergey Suprunenko c541b83bef Track failed proxy urls and don't request them again 2019-10-01 20:00:27 +00:00
Egor Kislitsyn 75290cbfbd Add Pleroma.JobQueueMonitor 2019-09-26 18:49:57 +07:00
kaniini 3ff57f1fd3 Merge branch 'hex-flake-id' into 'develop'
Replace `Pleroma.FlakeId` with `flake_id` hex package

See merge request pleroma/pleroma!1692
2019-09-26 02:51:54 +00:00
Egor Kislitsyn b5dfe83433 Replace `Pleroma.FlakeId` with `flake_id` hex package 2019-09-25 17:14:31 +07:00
Ekaterina Vaartis ee620ecbf1 Add caching for emoji pack sharing 2019-09-19 00:16:33 +03:00
Steven Fuchs 80c5c3495b remove remaining errors from tests 2019-09-17 14:44:52 +00:00
Egor Kislitsyn 96816ceaa2 Revert "Merge branch 'revert-4fabf83a' into 'develop'"
This reverts commit fe7fd33126, reversing
changes made to 4fabf83ad0.
2019-09-16 17:55:04 +07:00
kaniini c623b4324d Revert "Merge branch 'streamer-refactoring' into 'develop'"
This reverts merge request !1653
2019-09-16 09:09:21 +00:00
Steven Fuchs aab264db82 Streamer refactoring 2019-09-16 07:44:03 +00:00
Ivan Tashkinov 6bcedb693c [#1149] Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
# Conflicts:
#	docs/config.md
#	mix.lock
2019-09-14 16:11:44 +03:00
minibikini 11e12b5761 Add Pleroma.Plugs.Cache 2019-09-09 18:53:08 +00:00
Ivan Tashkinov b49085c156 [#1149] Refactoring: GenServer workers renamed to daemons, `use Oban.Worker` moved to helper. 2019-09-02 14:57:40 +03:00
Ivan Tashkinov a90ea8ba15 [#1149] Addressed code review comments (code style, jobs pruning etc.). 2019-08-31 19:08:56 +03:00
Ivan Tashkinov e890ea7e82 [#1149] Added Oban job for "activity_expiration". Merged remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
# Conflicts:
#	config/config.exs
2019-08-31 14:25:43 +03:00
lain 1692fa8945 ActivityExpirationWorker: Fix merge issues. 2019-08-24 17:22:26 +02:00
lain cc6c0b4ba6 Merge remote-tracking branch 'origin/develop' into sixohsix/pleroma-post_expiration 2019-08-24 15:48:33 +02:00
Ivan Tashkinov 581123f8bb [#1149] Introduced `quantum` job scheduler. Documentation & config changes. 2019-08-23 18:28:23 +03:00
Ivan Tashkinov c29686309e [#1149] Upgraded `oban` from 0.6.0 to 0.7.1. 2019-08-23 09:23:10 +03:00
Ivan Tashkinov 256ff09aa8 [#1149] Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
# Conflicts:
#	lib/pleroma/application.ex
#	lib/pleroma/scheduled_activity_worker.ex
#	lib/pleroma/web/federator/retry_queue.ex
#	lib/pleroma/web/oauth/token/clean_worker.ex
#	test/user_test.exs
#	test/web/federator_test.exs
2019-08-22 20:59:58 +03:00
rinpatch fba3c16d20 Fix OAuth cleanup worker unconditionally starting
!1576 removed enabled/disabled check from the worker, in favor of just
not starting it in application.ex if disabled. However a line
unconditionally starting the worker was removed
2019-08-15 20:36:20 +03:00
Ivan Tashkinov a180c1360e [#1149] Oban mailer job. Adjusted tests. 2019-08-14 21:42:21 +03:00
stwf c43152f6c1 fix formatting 2019-08-14 14:01:11 -04:00
stwf 15ef521009 Isolate OAuth.Token.CleanWorker 2019-08-14 11:57:50 -04:00
stwf 51bdf0cab6 use default child_specs 2019-08-14 11:55:17 -04:00
Ivan Tashkinov 267262491e Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-08-09 20:09:56 +03:00
Ivan Tashkinov 23d279e03e [#1149] Replaced RetryQueue with oban-based retries. 2019-08-01 17:28:00 +03:00
Mike Verdone 378f5f0fbe Add activity expiration worker
This is a worker that runs every minute and deletes expired activities.
It's based heavily on the scheduled activities worker.
2019-07-24 13:14:52 +02:00
Roman Chvanikov 36049f08ef Merge develop 2019-07-20 01:03:25 +03:00
Ariadne Conill d930e5d5c3 activitypub: introduce internal fetch service actor 2019-07-17 17:14:08 +00:00
Roman Chvanikov e7c175c943 Use PleromaJobQueue for scheduling 2019-07-16 16:49:50 +03:00
Roman Chvanikov eae991b06a merge develop 2019-07-12 18:08:27 +03:00
Alex S beba7bbc85 removing synchronization worker 2019-07-10 17:42:18 +03:00
Roman Chvanikov 371d39e160 Merge develop 2019-07-09 21:21:09 +03:00
Alexander Strizhakov d6b0fce6e9 Fix/1019 correct count remote users 2019-07-09 17:36:35 +00:00
Roman Chvanikov 657277ffc0 Resolve conflicts 2019-06-29 00:52:50 +03:00
Alexander Strizhakov c2ca1f22a2 it is changed in compile time
we can't change module attributes and endpoint settings in runtime
2019-06-14 15:45:05 +00:00
lain 315f090f59 Prometheus: Remove flaky process collection NIF. 2019-06-13 20:30:04 +02:00
Roman Chvanikov 01fe5abad1 Resolve conflicts 2019-06-07 01:20:50 +03:00
rinpatch 92213fb87c Replace Mix.env with Pleroma.Config.get(:env)
Mix.env/0 is not availible in release environments such as distillery or
elixir's built-in releases.
2019-06-06 23:59:51 +03:00
rinpatch 9ae8f012a5 Switch to manual Supervisor child specifications instead of Supervisor.Spec
Supervisor.Spec is deprecated and causes warnings on Elixir master, see
https://hexdocs.pm/elixir/Supervisor.Spec.html
2019-06-06 16:37:44 +03:00
Roman Chvanikov ce47017c89 Merge develop 2019-05-29 18:18:22 +03:00
Maksim 620908a2db [#699] add worker to clean expired oauth tokens 2019-05-22 15:44:50 +00:00
Aaron Tinio f96e9b28bb Fix prometheus-ecto error when not configured 2019-05-21 07:30:18 +08:00
Roman Chvanikov 724311e151 Fix Credo warnings 2019-04-20 19:57:43 +07:00
Roman Chvanikov 64a2c6a041 Digest emails 2019-04-20 19:42:19 +07:00
Egor Kislitsyn c3d5c3513a Merge remote-tracking branch 'pleroma/develop' into use-jobs-in-webpush 2019-04-08 16:46:59 +07:00
Egor Kislitsyn a1a854646e Merge branch 'develop' into use-jobs-in-webpush 2019-04-08 16:29:20 +07:00
eugenijm 2056efa714 Add scheduler for sending scheduled activities to the queue 2019-04-06 23:56:29 +03:00
Egor Kislitsyn f1712cd2f1 Use PleromaJobQueue in Pleroma.Web.Push 2019-04-05 19:38:44 +07:00
Mark Felder 69038887b2 Code readability tweak 2019-04-04 12:36:57 -05:00
Egor Kislitsyn 0b5c818cb7 [#1] fix telemetry 2019-04-04 11:35:09 -05:00
href bc3618a38d Set up telemetry and prometheus 2019-04-04 11:30:43 -05:00
Egor 9a39d1d846 Replace Pleroma.Jobs with `pleroma_job_queue` 2019-03-29 12:46:05 +00:00
Haelwenn (lanodan) Monnier 8cd3eada7d
[Credo] write large numbers with underscore separation 2019-03-13 04:26:56 +01:00
Haelwenn (lanodan) Monnier fb82f6fc7c
[Credo] Remove parentesis on argument-less functions 2019-03-13 04:26:56 +01:00
Egor Kislitsyn 3a3a3996b7 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/jobs
# Conflicts:
#	lib/pleroma/web/activity_pub/activity_pub.ex
#	lib/pleroma/web/federator/federator.ex
2019-02-04 20:50:28 +07:00
Luna cd6db6abe4 use Mix.Project.Config for some Application functions 2019-02-01 14:11:23 -03:00
Luna c05928dbda use nodeinfo 2.1, add repository field
that is the only change from nodeinfo 2.0 to 2.1

also this makes the nodeinfo tests use 2.1.json instead of 2.0.json
2019-02-01 03:55:10 -03:00
Egor Kislitsyn 58e250d9d2 fix merge 2019-01-31 15:23:50 +07:00
Egor Kislitsyn d3677d2b4d Merge remote-tracking branch 'MAIN/develop' into feature/jobs 2019-01-31 15:07:49 +07:00
href 5ea0397e2d
Fix 4aff4efa typos 2019-01-30 21:08:41 +01:00
href 4aff4efa8d
Use multiple hackney pools
* federation (ap, salmon)
* media (rich media, media proxy)
* upload (uploader proxy)

Each "part" will stop fighting others ones -- a huge federation outbound
could before make the media proxy fail to checkout a connection in time.

splitted media and uploaded media for the good reason than an upload
pool will have all connections to the same host (the uploader upstream).
it also has a longer default retention period for connections.
2019-01-30 15:06:46 +01:00
kaniini d03a116654 Merge branch 'hj-happiness-improvement' into 'develop'
New frontend configuration mechanism.

Closes #445

See merge request pleroma/pleroma!700
2019-01-29 13:54:10 +00:00
Egor Kislitsyn 55affbca7f add a job queue 2019-01-28 22:17:17 +07:00
lain f53d464db0 Put deprecation warnings undre Pleroma.Config. 2019-01-28 14:39:54 +01:00
lain f1d58c5c49 Don't run warnings in a task. 2019-01-28 13:05:17 +01:00
lain f231313b70 Add deprecation warning mechanism. 2019-01-28 12:09:41 +01:00
href 28d77e373c
Flake Ids for Users and Activities 2019-01-23 11:26:27 +01:00
William Pitcock 0964c207eb rich media: use cachex to avoid flooding remote servers 2019-01-04 23:32:01 +00:00
rinpatch b73a1a33de Merge branch 'captcha' into 'develop'
Make captcha (kocaptcha) stateless

See merge request pleroma/pleroma!585
2019-01-03 17:04:27 +00:00
William Pitcock 980b5288ed update copyright years to 2019 2018-12-31 15:41:47 +00:00
Rin Toshaka 535fddd286 Friendship ended with Postgresql now Cachex is my best friend 2018-12-30 19:33:36 +01:00
vaartis 708a228919 Set ttl_interval to the seconds_valid time 2018-12-27 07:42:03 +00:00
Ekaterina Vaartis 448af3601a Up captcha timer to 60 secs again, save used captchas in cachex 2018-12-27 00:16:43 +03:00
William Pitcock 2791ce9a1f add license boilerplate to pleroma core 2018-12-23 20:56:42 +00:00
Ekaterina Vaartis a2399c1c7c Add base CAPTCHA support (currently only kocaptcha) 2018-12-15 03:12:44 +03:00
Maksim Pechnikov 074fa790ba fix compile warnings 2018-12-09 20:50:08 +03:00
Egor Kislitsyn 4944498133 Merge branch 'develop' into feature/compat/push-subscriptions
# Conflicts:
#	lib/pleroma/application.ex
#	lib/pleroma/plugs/oauth_plug.ex
2018-12-06 20:15:16 +07:00
Egor Kislitsyn 8b4397c704 Merge branch 'develop' into feature/compat/push-subscriptions
# Conflicts:
#	lib/mix/tasks/sample_config.eex
#	lib/pleroma/web/twitter_api/controllers/util_controller.ex
#	mix.exs
#	mix.lock
2018-12-06 19:55:58 +07:00
Egor Kislitsyn 04a48286e6 Add web push support 2018-12-06 19:29:04 +07:00
kaniini ca24ad2a2b Merge branch 'feature/reverse-proxy' into 'develop'
reverse proxy / uploads

See merge request pleroma/pleroma!470
2018-11-30 18:15:44 +00:00
href 1d94c8f0f0
Fix supervisor order
This starts `Pleroma.Web.Endpoint` after all other processes and may
avoid some weird bugs (especially at start/restart).

Also properly ignores starting the gopher's gen_server if disabled.
2018-11-30 18:31:15 +01:00
href b19597f602
reverse proxy / uploads 2018-11-30 18:00:47 +01:00
kaniini 182e3e8da2 Merge branch 'feature/improve-version' into 'develop'
Improved version string

See merge request pleroma/pleroma!467
2018-11-21 16:53:38 +00:00
kaniini a591a044a9 Merge branch 'runtime-fixes' into 'develop'
Various runtime configuration fixes

See merge request pleroma/pleroma!468
2018-11-20 22:25:35 +00:00
href bc5cf2c192
Improved version string 2018-11-20 17:55:03 +01:00
href bcecdc3ab1
Various runtime configuration fixes 2018-11-19 10:09:24 +01:00
eal 62299be094 Federator: add retry queue. 2018-11-18 17:46:29 +02:00
href 2bc924ba45
Get rid of Pleroma.Config in favor of Application
Discussed in https://git.pleroma.social/pleroma/pleroma/merge_requests/426#note_7232
2018-11-06 15:12:53 +01:00
href d096bc17bf
revert endpoint position in supervision tree 2018-11-05 14:05:04 +01:00
href 763fc7b44f
Runtime configured emojis
The changes are a bit heavy since the emojis were loaded into module
attributes from filesystem.

This introduces a GenServer using an ETS table to cache in memory the
emojis, and allows a runtime-reload with `Pleroma.Emoji.reload()`.
2018-11-05 13:24:00 +01:00
lain e6ec01afb6 Start configuration manager. 2018-11-01 09:01:24 +00:00
William Pitcock 2b3a40d038 object: split object_cache from user_cache 2018-11-01 08:41:46 +00:00
Thog e55c6f311b
Migrate to comeonin 4 and Cachex 3
Also fix some warning in the code and add a missing alias
2018-05-20 20:08:40 +02:00
lain c464355d1a Idempotency: Use special cache, keep for 6 hours. 2018-05-05 11:15:57 +02:00
lain 4e5aa3b3a0 Add gopher server. 2018-03-31 18:12:20 +02:00
lain 4afbef39f4 Format the code. 2018-03-30 15:01:53 +02:00
eal f0745148a3 Add config option for enabling/disabling chat. 2018-02-03 13:42:37 +02:00
eal 9717166d10 Add a stats agent for storing data from expensive queries. 2018-01-13 18:24:16 +02:00
Roger Braun 69f1024bb0 Add basic channel state. 2017-12-05 09:36:26 +01:00
Roger Braun 4647bcd6e6 Don't start streamer during tests. 2017-11-18 12:22:07 +01:00
Roger Braun bd5bdc4c24 MastoAPI: Basic streaming. 2017-11-11 14:59:25 +01:00
Roger Braun 00a7183118 Basic queue. 2017-05-05 18:58:29 +02:00
Roger Braun 11ea08649d Make cache bigger and longer lived. 2017-04-30 10:06:57 +02:00
Roger Braun 6bfd521974 Switch cache implementation for size limiting. 2017-04-17 11:36:17 +02:00
Roger Braun 03ddaead7e Add basic user caching.
Expires after 5 seconds.
2017-04-14 17:13:51 +02:00
Roger Braun a93f3421a7 Phoenix skeleton 2017-03-17 17:09:58 +01:00