rinpatch
281ddd5e37
Connection pool: fix connections being supervised by gun_sup
2020-07-15 15:26:35 +03:00
rinpatch
1b15cb066c
Connection pool: Add client death tracking
...
While running this in production I noticed a number of ghost
processes with all their clients dead before they released the connection,
so let's track them to log it and remove them from clients
2020-07-15 15:26:35 +03:00
rinpatch
e94ba05e52
Connection pool: Fix a possible infinite recursion if the pool is exhausted
2020-07-15 15:26:35 +03:00
rinpatch
7738fbbaf5
Connection pool: implement logging and telemetry events
2020-07-15 15:26:25 +03:00
rinpatch
0ffde499b8
Connection Pool: register workers using :via
2020-07-15 15:24:47 +03:00
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
d08b157699
Connection pool: check that there actually is a result
...
Sometimes connections died before being released to the pool, resulting
in MatchErrors
2020-07-15 15:17:27 +03:00
rinpatch
fffbcffb8c
Connection Pool: don't enforce pool limits if no new connection needs to be opened
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
Haelwenn (lanodan) Monnier
e4beff90f5
Create Question: Add context field to create
2020-07-15 12:32:43 +02:00
Haelwenn (lanodan) Monnier
922ca23298
Question: Add tests on HTML tags in options
...
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/1362
2020-07-15 12:32:43 +02:00
Haelwenn (lanodan) Monnier
bfe2dafd39
{Answer,Question}Validator: Keep both actor and attributedTo for now but sync them
2020-07-15 12:32:42 +02:00
Haelwenn (lanodan) Monnier
c19bdc811e
Fix attachments in polls
2020-07-15 12:32:42 +02:00
lain
040524c09f
Merge branch 'tests/apc2s-update_outbox' into 'develop'
...
AP C2S tests: Make sure you can't use another user's AP id
See merge request pleroma/pleroma!2767
2020-07-15 10:12:44 +00:00
Haelwenn (lanodan) Monnier
d713930ea7
Fixup for EctoType module move
2020-07-15 11:40:24 +02:00
Haelwenn (lanodan) Monnier
435a65b976
QuestionValidator: Use AttachmentValidator
2020-07-15 11:40:24 +02:00
Haelwenn (lanodan) Monnier
fe6924d00d
CreateGenericValidator: add expires_at
2020-07-15 11:40:24 +02:00
Haelwenn (lanodan) Monnier
39870d99b8
transmogrifier tests: Move & enhance in specialised modules
2020-07-15 11:40:24 +02:00
Haelwenn (lanodan) Monnier
82895a4012
SideEffects: port ones from ActivityPub.do_create and ActivityPub.insert
2020-07-15 11:40:23 +02:00
Haelwenn (lanodan) Monnier
4f70fd4105
question_validator: remove conversation field
2020-07-15 11:39:56 +02:00
Haelwenn (lanodan) Monnier
173f69c854
question_validator: fix for mastodon poll expiration
...
Mastodon activities do not have a "closed" field, this could be seen on
https://pouet.it/users/lanodan_tmp/statuses/104345126997708380
which runs Mastodon 3.1.4 (SDF runs 3.1.2)
2020-07-15 11:39:56 +02:00
Haelwenn (lanodan) Monnier
47ba796f41
create_question_validator: remove validate_recipients_match
2020-07-15 11:39:55 +02:00
Haelwenn (lanodan) Monnier
ad867ccfa1
fetcher: Reinject Question through validator
2020-07-15 11:39:55 +02:00
Haelwenn (lanodan) Monnier
6b9c4bc1f1
fetcher: more descriptive variable names
2020-07-15 11:39:55 +02:00
Haelwenn (lanodan) Monnier
4644a8bd10
Fix multiple-choice poll detection
2020-07-15 11:39:55 +02:00
Haelwenn (lanodan) Monnier
10bd08ef07
transmogrifier_test: test date, anyOf and oneOf completely
2020-07-15 11:39:54 +02:00
Haelwenn (lanodan) Monnier
89a2433154
QuestionOptionsValidator: inline schema for replies
2020-07-15 11:39:54 +02:00
Haelwenn (lanodan) Monnier
c5efaf6b00
AnswerValidator: Create
2020-07-15 11:39:54 +02:00
Haelwenn (lanodan) Monnier
7bcd7a9595
QuestionValidator: Create
2020-07-15 11:39:53 +02:00
Haelwenn (lanodan) Monnier
6d8427cca2
AP C2S tests: Make sure you can't use another user's AP id
2020-07-15 09:59:24 +02:00
Alex Gleason
0d004a9d04
Email admins when a new unapproved account is up for review
2020-07-14 20:31:20 -05:00
Alex Gleason
48983e9421
Merge remote-tracking branch 'upstream/develop' into by-approval
2020-07-14 18:56:40 -05:00
Alex Gleason
df3d1bf5e5
Add :approval_pending to User @type account_status
2020-07-14 18:56:36 -05:00
Alex Gleason
e82060c472
Update CHANGELOG.md
2020-07-14 18:47:23 -05:00
Alex Gleason
fab44f6970
Test User with confirmation_pending: true, approval_pending: true
2020-07-14 18:46:57 -05:00
Alex Gleason
20d24741af
AdminAPI: Add `PATCH /api/pleroma/admin/users/approve` endpoint
2020-07-14 18:02:44 -05:00
Alex Gleason
33f1b29b2c
AdminAPI: Filter users by `need_approval`
2020-07-14 14:29:03 -05:00
Alex Gleason
b750129da1
AdminAPI: Return `approval_pending` with users
2020-07-14 13:47:05 -05:00
Maksim Pechnikov
1dd767b8c7
Include port in host for signatures
2020-07-14 21:44:08 +03:00
Mark Felder
777a7edc6b
Lint and fix test to match new log message
2020-07-14 13:15:37 -05:00
Mark Felder
37297a8482
Improve error messages
2020-07-14 13:12:16 -05:00
Alex Gleason
a1570ba6ad
AdminAPI: Return `registration_reason` with users
2020-07-14 13:08:39 -05:00
feld
3f65f2ea79
Merge branch 'feature/1922-media-proxy-whitelist' into 'develop'
...
Support for hosts with scheme in MediaProxy whitelist setting
Closes #1922
See merge request pleroma/pleroma!2754
2020-07-14 18:07:44 +00:00
feld
63798e89de
Merge branch 'fix/scrubber-recompile-warnings-as-errors' into 'develop'
...
Fix in-db configuration in dev environment
See merge request pleroma/pleroma!2764
2020-07-14 18:05:36 +00:00
feld
2909dc873b
Merge branch '1940-admin-token-oauthless-auth' into 'develop'
...
[#1940 ] Reinstated OAuth-less `admin_token` authentication
Closes #1940
See merge request pleroma/pleroma!2760
2020-07-14 16:48:26 +00:00
Ivan Tashkinov
124b4709dc
[ #1940 ] Added `admin_token` param (as `admin_api_params/0`) to existing Admin API OpenAPI operations.
2020-07-14 19:31:05 +03:00
Mark Felder
ce314e6fe2
Clarify description and suggestion
2020-07-14 11:24:58 -05:00
feld
246f49d685
Merge branch '1916-transmogrifier-skipping-oddities-in-address-fields' into 'develop'
...
Transmogrifier: filtering weirdness in address fields
Closes #1916
See merge request pleroma/pleroma!2762
2020-07-14 15:17:25 +00:00
rinpatch
2d5e96ea8b
Merge branch 'fix/oban-2.0-in-db-config' into 'develop'
...
Migrate in-db config after updating to Oban 2.0
See merge request pleroma/pleroma!2765
2020-07-14 10:39:08 +00: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