Commit Graph

218 Commits

Author SHA1 Message Date
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
Pleroma Consulting Services Buy Bitcoin NOW Real cd6db6abe4 use Mix.Project.Config for some Application functions 2019-02-01 14:11:23 -03:00
Pleroma Consulting Services Buy Bitcoin NOW Real 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