Commit graph

581 commits

Author SHA1 Message Date
rinpatch
56828abf6d Use Jason for rendering responses
Although Jason readme says Phoenix 1.4+ already does it by default, [it actually does it only for new projects](3bfb9f6e90/lib/phoenix.ex (L58-L59))
2019-09-11 23:06:31 +03:00
Alex S
e47089cf55 web_cache_ttl description 2019-09-11 09:32:58 +03:00
Alex S
10827eecad formatting 2019-09-11 09:25:33 +03:00
Alexander Strizhakov
5db2920644 Apply suggestion to config/description.exs 2019-09-11 09:25:33 +03:00
Alexander Strizhakov
65bc9e66ad Apply suggestion to config/description.exs 2019-09-11 09:25:33 +03:00
Alex S
6721301086 some changes 2019-09-11 09:25:33 +03:00
Alex S
171cefd889 description.exs 2019-09-11 09:25:33 +03:00
minibikini
11e12b5761 Add Pleroma.Plugs.Cache 2019-09-09 18:53:08 +00:00
Alex S
db690bede9 temp commit 2019-09-05 16:02:20 +03:00
Ivan Tashkinov
79cf629e1a Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-09-05 11:30:41 +03:00
Ashlynn Anderson
bd8b92ea5e Remove dynamic config as default, add healthcheck 2019-09-03 09:31:52 -04: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
Egor Kislitsyn
66c1966688 Disable rate limiter by default 2019-08-26 20:36:44 +07:00
lain
cc6c0b4ba6 Merge remote-tracking branch 'origin/develop' into sixohsix/pleroma-post_expiration 2019-08-24 15:48:33 +02:00
Ivan Tashkinov
c34126f89c Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-08-24 09:29:54 +03:00
aries
e5f76a54e6 Fix default config of account fields length 2019-08-23 21:28:52 +00: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
7101ba1a21 Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-08-22 21:01:28 +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
lain
f740d786a3 Merge branch 'rate-limit-ap-routes' into 'develop'
[#1174] Rate limit AP routes

See merge request pleroma/pleroma!1586
2019-08-21 16:45:20 +00:00
Egor Kislitsyn
8d899d6197 Add :ap_routes rate limit 2019-08-20 22:10:36 +07:00
lain
8340fe8fcc Merge branch 'digest-template' into 'develop'
Improve digest email template

See merge request pleroma/pleroma!1565
2019-08-20 12:55:51 +00:00
Egor Kislitsyn
158231cd20 Add configurable colors and logo for the digest template 2019-08-16 18:32:25 +07:00
Ivan Tashkinov
8778c16dac Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-08-14 21:44:50 +03:00
Egor Kislitsyn
a2e1db5632 Increase max account fields limits 2019-08-14 14:58:38 +07:00
Egor Kislitsyn
e457fcc479 Add :max_remote_account_fields config option 2019-08-14 14:58:06 +07:00
Egor Kislitsyn
2c35d4b0b0 Add configurable account field name length limit 2019-08-14 14:52:54 +07:00
Egor Kislitsyn
db3c05f6b4 Add configurable account field value length limit 2019-08-14 14:52:54 +07:00
Egor Kislitsyn
e0ac5c7a66 Add custom profile fields 2019-08-14 14:52:54 +07:00
rinpatch
9ef31767f2 Merge branch 'feature/mrf-vocabulary' into 'develop'
MRF Vocabulary

See merge request pleroma/pleroma!1559
2019-08-13 22:51:15 +00:00
rinpatch
83a3de8cc4 Merge branch 'length-limit-bio' into 'develop'
Add configurable length limits for `User.bio` and `User.name`

See merge request pleroma/pleroma!1515
2019-08-13 22:40:13 +00:00
Ariadne Conill
3fdbeb7087 MRF: add vocabulary policy module 2019-08-13 20:55:38 +00:00
Ariadne Conill
f46cd7e9c7 config: remove legacy activitypub accept_blocks setting
Anyone who is interested in dropping blocks can write their own MRF
policy at this point.  This setting predated the MRF framework.

Disabling the side effect (unsubscription) is still a config option
per policy.
2019-08-13 02:15:21 +00: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
b7fad8d395 [#1149] Oban jobs implementation for :federator_incoming and :federator_outgoing queues. 2019-08-09 20:08:01 +03:00
lain
29807ef6a5 Merge branch 'feature/digest-email' into 'develop'
Feature/digest email

See merge request pleroma/pleroma!1078
2019-08-08 14:38:33 +00:00
39c7bbe18f Remove longfox emoji set 2019-08-04 04:32:45 +00:00
Ashlynn Anderson
4007717534 Run mix format 2019-08-03 13:42:57 -04:00
Ashlynn Anderson
4a418698db Create docker.exs and docker-entrypoint + round out Dockerfile
At this point, the implementation is completely working and has been
tested running live and federating with other instances.
2019-08-03 00:21:54 -04:00
Roman Chvanikov
9d4f34fbcb Merge branch 'develop' into feature/digest-email 2019-08-02 18:16:04 +03:00
Ivan Tashkinov
23d279e03e [#1149] Replaced RetryQueue with oban-based retries. 2019-08-01 17:28:00 +03:00
Egor Kislitsyn
9ca4506355 Add configurable length limits for User.bio and User.name 2019-08-01 15:53:37 +07:00
rinpatch
c88a5d3251 Merge branch 'develop' into feature/hide-follows-remote 2019-07-31 14:12:29 +03:00
Sachin Joshi
242f5c585e add account confirmation email resend in mastodon api 2019-07-28 20:30:10 +00: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
Mike Verdone
b729402774 Make test.exs read config in the same way as dev.exs
This way, if your test.secret.exs has an error, you'll actually see it.
2019-07-24 13:14:52 +02:00
rinpatch
196cad46f3 Resolve merge conflicts 2019-07-20 22:04:47 +03:00
Roman Chvanikov
36049f08ef Merge develop 2019-07-20 01:03:25 +03:00
kaniini
33729bbb28 Merge branch 'feature/richmedia-ttl' into 'develop'
add the rich media ttl based on image exp time

See merge request pleroma/pleroma!1438
2019-07-19 21:36:36 +00:00
Ariadne Conill
1345e0c2bf tests: add tests for signed object fetches 2019-07-17 23:06:16 +00:00
Ariadne Conill
b2a8ccf37f config: add sign_object_fetches option 2019-07-17 21:38:06 +00:00
Alexander Strizhakov
10f82c88b8 mastoapi password reset
added rate limit to password reset

configure rate limit in runtime
2019-07-16 21:44:50 +00:00
Sachin Joshi
18234cc44e add the rich media ttl based on image exp time 2019-07-17 00:20:34 +05:45
Ivan Tashkinov
889dc17abd [#1094] Rate-limited follow & unfollow actions. 2019-07-16 19:18:30 +03:00
Roman Chvanikov
c729883936 Merge branch 'develop' into feature/digest-email 2019-07-14 21:43:30 +03:00
Alex S
f4447d82b8 parsers configurable 2019-07-14 09:21:56 +03:00
Ariadne Conill
80c46d6d8b nodeinfo: implement MRF transparency exclusions 2019-07-13 18:53:14 +00:00
rinpatch
e8fa477793 Refactor Follows/Followers counter syncronization
- Actually sync counters in the database instead of info cache (which got
overriden after user update was finished anyway)
- Add following count field to user info
- Set hide_followers/hide_follows for remote users based on http status
codes for the first collection page
2019-07-13 19:27:49 +03:00
kaniini
f4c001062e Merge branch '1041-status-actions-rate-limit' into 'develop'
Rate-limited status actions (per user and per user+status).

Closes #1041

See merge request pleroma/pleroma!1410
2019-07-13 14:17:17 +00:00
Ivan Tashkinov
369e9bb42f [#1041] Rate-limited status actions (per user and per user+status). 2019-07-13 14:49:39 +03:00
rinpatch
fa7e0c4262 Workaround for remote server certificate chain issues 2019-07-12 23:53:21 +03:00
Roman Chvanikov
eae991b06a merge develop 2019-07-12 18:08:27 +03:00
Eugenij
4198c3ac39 Extend Pleroma.Pagination to support offset-based pagination, use async/await to execute status and account search in parallel 2019-07-11 13:55:31 +00:00
Alex S
59e16fc45a enable synchronization by default 2019-07-10 18:55:11 +03:00
Alex S
beba7bbc85 removing synchronization worker 2019-07-10 17:42:18 +03:00
Maksim
12b1454245 [#1062] added option to disable send email 2019-07-10 05:34:21 +00: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
Alexander Strizhakov
4e6e5d8042 reverse proxy tests 2019-07-09 16:54:13 +00:00
Haelwenn
1ab4e35f27 Merge branch 'enable-ogp-by-default' into 'develop'
Do not crash if metadata fails to render and enable OGP and TwitterCard by default

Closes #1034

See merge request pleroma/pleroma!1388
2019-07-09 16:07:20 +00:00
Haelwenn
95c085174d Merge branch 'test-speedup' into 'develop'
Testing: Don't federate in testing.

See merge request pleroma/pleroma!1391
2019-07-09 15:35:28 +00:00
lain
abe2e8881f Testing: Don't federate in testing. 2019-07-09 15:30:51 +09:00
rinpatch
682f1897b7 Enable OpenGraph and TwitterCard by default
Closes #1034
2019-07-08 13:00:45 +03:00
Ivan Tashkinov
2b9d914089 [#161] Refactoring, documentation. 2019-06-30 15:58:50 +03:00
Roman Chvanikov
657277ffc0 Resolve conflicts 2019-06-29 00:52:50 +03:00
Mark Felder
f8ec3e129f In my experience syslog tags are usually lowercase 2019-06-27 13:00:22 -05:00
kaniini
9f8e645dce Merge branch 'feature/configurable-pack-extensions' into 'develop'
Make default pack extensions configurable and default to png and gif

See merge request pleroma/pleroma!1338
2019-06-26 05:34:02 +00:00
rinpatch
41e4752950 Make default pack extensions configurable and default to png and gif 2019-06-26 06:48:59 +03:00
Maksim Pechnikov
4ad15ad2a9 add ignore hosts and TLDs for rich_media 2019-06-25 22:25:37 +03:00
rinpatch
875100de01 Bind to 127.0.0.1 instead of 0.0.0.0 by default 2019-06-23 09:31:39 +03:00
Alexander Strizhakov
32320c1ee9 Fixes for dynamic configuration 2019-06-20 17:43:57 +00:00
rinpatch
f30a3241d2 Deps: Update auto_linker 2019-06-18 16:08:18 +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
Egor Kislitsyn
ce823fa88e Fix rate limit test 2019-06-14 19:24:31 +07:00
rinpatch
ac3d43e620 Set instance static/uploads to be outside of application directory in release config
In case of releases the application directory changes with each version
so the contents will not be accessible
2019-06-14 01:42:56 +03:00
lain
822a9f28d0 Merge branch 'release-config-import' into 'develop'
Import release config from env variable or /etc/pleroma/config.exs and warn if the file is missing

See merge request pleroma/pleroma!1269
2019-06-12 09:58:16 +00:00
rinpatch
f0d96534a4 Import release config from env variable or /etc/pleroma/config.exs and
warn if the file is missing
2019-06-11 18:55:55 +03:00
Egor Kislitsyn
6f29865d43 Add option to restrict all users to local content 2019-06-11 21:25:53 +07:00
5d5a9a3a35 Better default parameters for suggestion 2019-06-11 11:34:22 +00:00
lain
63ab3c30eb Merge branch 'feature/rate-limiter' into 'develop'
Feature/Rate Limiter

Closes #943

See merge request pleroma/pleroma!1266
2019-06-11 11:32:01 +00:00
Egor Kislitsyn
ad04d12de6 Replace MastodonAPIController.account_register/2 rate limiter 2019-06-11 16:06:03 +07:00
Egor Kislitsyn
bc8f059367 Add rate limiting for search endpoints 2019-06-11 14:28:39 +07:00
kaniini
e343e4ff91 Merge branch 'change-containment-default' into 'develop'
Configuration: Skip thread containment by default

See merge request pleroma/pleroma!1256
2019-06-11 02:38:13 +00:00
rinpatch
3ecfe2a6d4 Merge branch 'develop' into feature/releases 2019-06-09 13:55:32 +03:00
rinpatch
b6d2db42a7 Fix wrong placement of serve_endpoints 2019-06-08 21:27:39 +03:00
rinpatch
4f5149c93b Set default loglevel to warn in prod
It's rare that info logs are needed to debug the issue, so I would
suggest setting them to warn in prod by default to make finding the
relevant parts easier and potentially even decrease cpu usage on bigger
instances

Closes #962
2019-06-08 18:02:57 +03:00
rinpatch
4b98a7ce4e Set serve_endpoints to true in prod config as setting it in runtime
config would cause issues with mix tasks
2019-06-08 17:17:28 +03:00
rinpatch
3d374bf7df Basic release skeleton 2019-06-08 17:16:15 +03:00
lain
76fc4c92bb Fix tests. 2019-06-07 17:16:56 +02:00
lain
593b8b1e6a Configuration: Skip thread containment by default
In my tests the interaction between thread containment and other restrictions
makes postgresql create some very bad query plans. This caused direct messages
to time out on soykaf, for example.
2019-06-07 14:28:14 +02:00
Roman Chvanikov
c0fa000147 Set default config for digest to false 2019-06-07 01:22:35 +03: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
Egor
f82382de22 [#943] Make the unauthenticated users limitation optional 2019-06-06 12:17:49 +00:00
Ivan Tashkinov
3eefb274f4 OAuth consumer: tests fix, comments, Keycloak config notes. 2019-06-05 13:02:13 +03:00
Roman Chvanikov
b1b1a270e8 Fix conflict 2019-06-05 02:45:21 +03:00
Maksim Pechnikov
4f2e359687 Merge branch 'develop' into issue/941 2019-06-04 09:49:08 +03:00
kaniini
9f0d0d0805 Merge branch 'feature/mrf-subchain' into 'develop'
MRF: subchain policy

See merge request pleroma/pleroma!1233
2019-06-04 05:49:54 +00:00
kaniini
a536f515dd Merge branch 'ueberauth_config_extension' into 'develop'
Ueberauth: extended format of OAUTH_CONSUMER_STRATEGIES to allow explicit dependency specification

See merge request pleroma/pleroma!1234
2019-06-04 05:42:49 +00:00
Roman Chvanikov
bd325132ca Fix tests 2019-06-04 03:07:49 +03:00
Mark Felder
6ef145b4fc Merge branch 'develop' into feature/digest-email 2019-06-03 15:29:53 -05:00
Maksim Pechnikov
080e1aa70e add option skip_thread_containment 2019-06-03 16:13:37 +03:00
rinpatch
026b245dbc Merge branch 'develop' into feature/polls-2-electric-boogalo 2019-06-03 11:14:52 +03:00
Ivan Tashkinov
83663caa81 Ueberauth: extended format of OAUTH_CONSUMER_STRATEGIES to allow explicit dependency specification. 2019-06-02 17:45:32 +03:00
William Pitcock
561a21986d formatting 2019-06-02 10:29:15 +00:00
William Pitcock
4087ccdab8 mrf: add subchain policy 2019-06-02 10:07:42 +00:00
rinpatch
65db5e9f52 Resolve merge conflicts 2019-06-01 16:29:58 +03:00
Haelwenn
f1890d2cac Merge branch 'dokku' into 'develop'
Dokku CI support - On-Demand review instances

See merge request pleroma/pleroma!1216
2019-05-31 23:09:06 +00:00
lain
4e45f7bc87 CI: Add auto-deployment via dokku. 2019-05-31 10:55:35 +02:00
Roman Chvanikov
ce47017c89 Merge develop 2019-05-29 18:18:22 +03:00
William Pitcock
56fd7dbdd7 remove @websub and @ostatus module-level constants 2019-05-25 04:43:11 +00:00
William Pitcock
80d55d428f tests: websub: check only that signature validation succeeds or fails 2019-05-25 04:34:16 +00:00
William Pitcock
9bec891eb4 kill @httpoison 2019-05-25 04:24:21 +00:00
William Pitcock
baf72d6c58 mrf: simple policy: add the ability to strip avatars and banners from user profiles 2019-05-22 18:53:12 +00:00
Maksim
620908a2db [#699] add worker to clean expired oauth tokens 2019-05-22 15:44:50 +00:00
lambda
714d8d4ef9 Merge branch 'feature/object-pruning' into 'develop'
Object pruning

See merge request pleroma/pleroma!1181
2019-05-22 11:04:30 +00:00
kaniini
79c2cef2fb Merge branch 'mongooseim-support' into 'develop'
MongooseIM: Add basic integration endpoints.

See merge request pleroma/pleroma!1172
2019-05-22 04:06:54 +00:00
William Pitcock
16b260fb19 add mix task to prune the object database using a configured retention period 2019-05-21 21:38:56 +00:00
rinpatch
76a7429bef Add poll limits to /api/v1/instance and initial state 2019-05-21 09:13:10 +03:00
Mark Felder
75c7bb9289 Additional reserved usernames 2019-05-20 17:18:59 -05:00
Sadposter
daeae8e2e7
Move default mascot configuration to config/ 2019-05-20 16:12:55 +01:00
Aaron Tinio
2375e9a95b Add report filtering to MRF.SimplePolicy 2019-05-20 06:02:50 +08:00
William Pitcock
290f5b2cfe config: make sending the user agent configurable, disable sending the user agent in tests 2019-05-17 20:28:58 +00:00
lain
8784a7d1b4 RUM: Set rum status by the environment. 2019-05-17 15:21:24 +02:00
lain
412a3d8a0f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into rum-index 2019-05-17 12:26:59 +02:00
lain
67af50ec71 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into ecto_sql_update 2019-05-17 11:33:04 +02:00
lain
e39c190f04 Configuration: disable migration lock. 2019-05-17 11:30:35 +02:00
Alex S
aa11fa4864 add report uri and report to 2019-05-16 12:49:40 +07:00
lambda
4440e23547 Merge branch 'chore/extricate-http-signatures' into 'develop'
switch to pleroma/http_signatures library

See merge request pleroma/pleroma!1155
2019-05-15 15:37:31 +00:00
lambda
0992094bd6 Merge branch 'cleanup' into 'develop'
Remove unused queue from the config

See merge request pleroma/pleroma!1158
2019-05-15 15:23:13 +00:00
lain
f1e67bdc31 Search: Add optional rum indexing / searching. 2019-05-15 15:28:01 +02:00
rinpatch
153c15cdb2 Merge branch 'legacy-fe-config' into 'develop'
remove deprecated PleromaFE configuration

See merge request pleroma/pleroma!1152
2019-05-15 10:56:19 +00:00
Sachin Joshi
ee22fff5ac remove deprecated PleromaFE configuration 2019-05-15 15:29:59 +05:45
Egor Kislitsyn
6c9f45f4dd Remove unused queue from the config 2019-05-15 14:40:20 +07:00
rinpatch
2ca8d20053 Fix rate-limiting tests 2019-05-14 23:16:34 +03:00
William Pitcock
071f78733a switch to pleroma/http_signatures library 2019-05-14 20:03:13 +00:00
rinpatch
38f3393e93 Make rate limiting for Mastodon Registration API less agressive and enable it by default.
As discussed on irc. Unlike Mastodon our web interface for registrations
is using the same APIs regular apps would be using, so 5 requests per 30
minutes per IP could hurt valid use-cases when Pleroma-FE switches to
it. Also enable the endpoint by default, it makes no sense to
have it disabled when
1. TwitterAPI endpoint is there and always enabled
2. Unlike Mastodon, there is no way to get an account without using the APIs (makes me wonder why the setting is even there)

Also in this commit: minor changelog improvements.
2019-05-14 22:48:16 +03:00