Commit graph

10752 commits

Author SHA1 Message Date
Dym Sohin 531c3ab9f3 fix markdown rendering withing <details>; typo parent**s**_visible 2020-07-20 11:41:43 +00:00
feld f0d13fc3f7 Merge branch 'fix/followredirects-hackney' into 'develop'
Don't enable Pleroma.HTTP.Middleware.FollowRedirects unless Gun is used

Closes #1966 and #1961

See merge request pleroma/pleroma!2778
2020-07-18 16:49:30 +00:00
href 4bac25e6f5 Don't enable Pleroma.HTTP.Middleware.FollowRedirects unless Gun is used 2020-07-18 13:17:38 +02:00
Haelwenn 10d46235cf Merge branch 'fix-1958' into 'develop'
OpenAPI: Add :id to follower/following endpoints, fixes #1958

Closes #1958

See merge request pleroma/pleroma!2772
2020-07-17 18:54:30 +00:00
Alex Gleason 48f8b26c92
OpenAPI: Add :id to follower/following endpoints, fixes #1958 2020-07-17 12:35:28 -05:00
Haelwenn b782739ffe Merge branch 'feature/expose-post-formats' into 'develop'
Expose the post formats in /api/v1/instance

See merge request pleroma/pleroma!2776
2020-07-17 16:52:59 +00:00
Mark Felder 20a496d2cb Expose the post formats in /api/v1/instance 2020-07-17 10:45:41 -05:00
feld 64b4de4af1 Merge branch 'feature/totp-input-improvements' into 'develop'
Improve TOTP token and recovery input fields in OAuth login

See merge request pleroma/pleroma!2769
2020-07-17 14:36:38 +00:00
Mark Felder 62438530e2 TOTP length is configurable, so we can't hardcode this here. 2020-07-17 08:19:49 -05:00
rinpatch a3fdd1446f Merge branch 'chore/issue-template-remove-tasks' into 'develop'
Bug issue template: remove choice in "Installation type"

See merge request pleroma/pleroma!2774
2020-07-17 08:05:16 +00:00
rinpatch 2a3bb23091 Bug issue template: remove choice in "Installation type"
It made gitlab display "1 of 2 tasks completed" when one is chosen,
which is totally not what this was used for.
2020-07-17 11:03:47 +03:00
Mark Felder 3be64556db Improve TOTP token and recovery input fields in OAuth login 2020-07-16 13:11:03 -05:00
feld 3a2b2cb6f2 Merge branch 'refactor/gun-pool-registry' into 'develop'
Refactor gun pooling and simplify adapter option insertion

Closes #1834, #1700, and #1680

See merge request pleroma/pleroma!2479
2020-07-15 23:10:52 +00:00
Mark Felder b2d398b1d0 Merge branch 'develop' into refactor/gun-pool-registry 2020-07-15 13:34:27 -05:00
feld 00f9b53f07 Merge branch 'refactor/notification_settings' into 'develop'
Refactor notification settings

See merge request pleroma/pleroma!2602
2020-07-15 15:22:39 +00:00
Mark Felder 34d1d3e93e Update FE bundle 2020-07-15 09:38:56 -05:00
Mark Felder 9d30bacace Merge branch 'develop' into refactor/notification_settings 2020-07-15 09:30:23 -05:00
rinpatch 0fe36b311c Merge branch 'features/mrf-reasons' into 'develop'
Add rejection reason to our MRFs

See merge request pleroma/pleroma!2759
2020-07-15 14:00:22 +00:00
rinpatch 2ce141fb0e Merge branch 'fix/oban-pruning' into 'develop'
Bring back oban job pruning

Closes #1945

See merge request pleroma/pleroma!2768
2020-07-15 13:52:01 +00:00
feld a2f9bc77b6 Merge branch 'issue/sign-authority' into 'develop'
Include port in host for signatures

See merge request pleroma/pleroma!2766
2020-07-15 13:44:52 +00:00
Haelwenn (lanodan) Monnier d29b8997f4
MastoAPI: fix & test giving MRF reject reasons 2020-07-15 15:25:33 +02:00
rinpatch c413649a8d Bring back oban job pruning
Closes #1945
2020-07-15 16:20:17 +03:00
rinpatch 7115c5f82e ConnectionPool.Worker: do not stop with an error when there is a timeout
This produced error log messages about GenServer termination
every time the connection was not open due to a timeout.

Instead we stop with `{:shutdown, <gun_error>}` since shutting down
when the connection can't be established is normal behavior.
2020-07-15 15:58:08 +03:00
Maksim Pechnikov 3f8bff8d6b Merge branch 'develop' into issue/sign-authority 2020-07-15 15:49:46 +03:00
href 6d583bcc3b Set a default timeout for Gun adapter timeout 2020-07-15 15:26:35 +03:00
href e499275076 Don't test tls_options in adapter helper test. 2020-07-15 15:26:35 +03:00
href afd378f84c host is now useless 2020-07-15 15:26:35 +03:00
href ce1a42bd04 Simplify TLS opts
- `verify_fun` is not useful now
- use `customize_check_hostname` (OTP 20+ so OK)
- `partial_chain` is useless as of OTP 21.1 (wasn't there, but hackney/..
uses it)
2020-07-15 15:26:35 +03:00
href ebfa591689 Go back to upstream Tesla 2020-07-15 15:26:35 +03:00
href 6b1f6a1cf7 Bump gun 2020-07-15 15:26:35 +03:00
href 53ba6815b1 parentheses... 2020-07-15 15:26:35 +03:00
href 23d714ed30 Fix race in enforcer/reclaimer start 2020-07-15 15:26:35 +03:00
href 6a0f2bdf8c Ensure connections error get known by the caller 2020-07-15 15:26:35 +03:00
href 46dd276d68 ConnectionPool.Worker: Open gun conn in continue instead of init 2020-07-15 15:26:35 +03:00
rinpatch 33747e9366 config.exs: set gun retries to 0
The new pooling code just removes the connection when it's down,
there is no need to reconnect a connection that is just sitting idle,
better just open a new one next time it's needed
2020-07-15 15:26:35 +03:00
rinpatch a705637dcf Connection Pool: fix LRFU implementation to not actually be LRU
The numbers of the native time unit were so small the CRF was always 1,
making it an LRU. This commit switches the time to miliseconds and changes
the time delta multiplier to the one yielding mostly highest hit rates according
to the paper
2020-07-15 15:26:35 +03:00
rinpatch 9b73c35ca8 Request limiter setup: consider {:error, :existing} a success
When the application restarts (which happens after certain config
changes), the limiters are not destroyed, so `ConcurrentLimiter.new`
will produce {:error, :existing}
2020-07-15 15:26:35 +03:00
rinpatch 12fa5541f0 FollowRedirects: Unconditionally release the connection if there is an error
There is no need for streaming the body if there is no body
2020-07-15 15:26:35 +03:00
rinpatch 9df5918974 config.exs: make gun the default again 2020-07-15 15:26:35 +03:00
rinpatch 37f1e781cb Gun adapter helper: fix wildcard cert issues on OTP 23
See https://bugs.erlang.org/browse/ERL-1260 for more info.

The ssl match function is basically copied from mint, except
that `:string.lowercase/1` was replaced by `:string.casefold`.
It was a TODO in mint's code, so might as well do it since we don't need
to support OTP <20.

Closes #1834
2020-07-15 15:26:35 +03:00
rinpatch 007843b75e Add documentation for new connection pool settings and remove some
`:retry_timeout` and `:retry` got removed because reconnecting on failure is
something the new pool intentionally doesn't do.

`:max_overflow` had to go in favor of `:max_waiting`, I didn't reuse the key because
the settings are very different in their behaviour.

`:checkin_timeout` got removed in favor of `:connection_acquisition_wait`,
I didn't reuse the key because the settings are somewhat different.

I didn't do any migrations/deprecation warnings/changelog entries because
these settings were never in stable.
2020-07-15 15:26:35 +03:00
rinpatch 7882f28569 Use erlang monotonic time for CRF calculation 2020-07-15 15:26:35 +03:00
rinpatch 00926a63fb Adapter Helper: Use built-in ip address type 2020-07-15 15:26:35 +03:00
rinpatch bf3492ceb3 Connection Pool: add tests 2020-07-15 15:26:35 +03:00
rinpatch 721e89e88b Remove tests for old pool 2020-07-15 15:26:35 +03:00
rinpatch 4128e3a84a HTTP: Implement max request limits 2020-07-15 15:26:35 +03:00
rinpatch 94c8f3cfaf Use a custom pool-aware FollowRedirects middleware 2020-07-15 15:26:35 +03:00
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