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.
4 years ago
href
6d583bcc3b
Set a default timeout for Gun adapter timeout
4 years ago
href
afd378f84c
host is now useless
4 years ago
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)
4 years ago
href
53ba6815b1
parentheses...
4 years ago
href
23d714ed30
Fix race in enforcer/reclaimer start
4 years ago
href
6a0f2bdf8c
Ensure connections error get known by the caller
4 years ago
href
46dd276d68
ConnectionPool.Worker: Open gun conn in continue instead of init
4 years ago
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
4 years ago
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}
4 years ago
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
4 years ago
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
4 years ago
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.
4 years ago
rinpatch
7882f28569
Use erlang monotonic time for CRF calculation
4 years ago
rinpatch
00926a63fb
Adapter Helper: Use built-in ip address type
4 years ago
rinpatch
4128e3a84a
HTTP: Implement max request limits
4 years ago
rinpatch
94c8f3cfaf
Use a custom pool-aware FollowRedirects middleware
4 years ago
rinpatch
281ddd5e37
Connection pool: fix connections being supervised by gun_sup
4 years ago
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
4 years ago
rinpatch
e94ba05e52
Connection pool: Fix a possible infinite recursion if the pool is exhausted
4 years ago
rinpatch
7738fbbaf5
Connection pool: implement logging and telemetry events
4 years ago
rinpatch
0ffde499b8
Connection Pool: register workers using :via
4 years ago
rinpatch
ec9d0d146b
Connection pool: Fix race conditions in limit enforcement
...
Fixes race conditions in limit enforcement by putting worker processes
in a DynamicSupervisor
4 years ago
rinpatch
d08b157699
Connection pool: check that there actually is a result
...
Sometimes connections died before being released to the pool, resulting
in MatchErrors
4 years ago
rinpatch
fffbcffb8c
Connection Pool: don't enforce pool limits if no new connection needs to be opened
4 years ago
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
4 years ago
Maksim Pechnikov
1dd767b8c7
Include port in host for signatures
4 years ago
Mark Felder
777a7edc6b
Lint and fix test to match new log message
4 years ago
Mark Felder
37297a8482
Improve error messages
4 years ago
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
4 years ago
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
4 years ago
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
4 years ago
Ivan Tashkinov
124b4709dc
[ #1940 ] Added `admin_token` param (as `admin_api_params/0`) to existing Admin API OpenAPI operations.
4 years ago
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
4 years ago
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.
4 years ago
Haelwenn (lanodan) Monnier
858d9fc7e8
MRF Policies: Return a {:reject, reason} instead of {:reject, nil}
4 years ago
Ivan Tashkinov
9b225db7d8
[ #1940 ] Applied rate limit for requests with bad `admin_token`. Added doc warnings on `admin_token` setting.
4 years ago
Ivan Tashkinov
cf3f8cb72a
[ #1940 ] Reinstated OAuth-less `admin_token` authentication. Refactored UserIsAdminPlug (freed from checking admin scopes presence).
4 years ago
=
b221b640a2
Transmogrifier: filtering weirdness in address fields
4 years ago
Mark Felder
80c21100db
Merge branch 'develop' into refactor/notification_settings
4 years ago
feld
5d215fd81f
Merge branch 'config-behaviours-runtime' into 'develop'
...
Config/Docs: Expand behaviour suggestions modules at runtime
Closes #1941
See merge request pleroma/pleroma!2755
4 years ago
feld
8f9ee694ed
Merge branch 'features/profile-fields-emojo' into 'develop'
...
user: Add support for custom emojis in profile fields
See merge request pleroma/pleroma!2741
4 years ago
feld
63fef0c0fb
Merge branch 'chore/improve-database-config-docs' into 'develop'
...
Improve database config migration and add documentation
See merge request pleroma/pleroma!2756
4 years ago
Mark Felder
d1cd3f4ec0
Lint
4 years ago
Mark Felder
e1908a5270
Pick up env for both source and OTP installs
4 years ago
Haelwenn (lanodan) Monnier
ce243b107f
Use Logger.info for {:reject, reason}
4 years ago
Haelwenn (lanodan) Monnier
2aac92e9e0
Transmogrifier.fix_in_reply_to/2: Use warn for non-fatal fail to get replied-to post
4 years ago
Haelwenn
f918b6f86d
Merge branch '1937-renaming' into 'develop'
...
ActivityPub: Don't rename a clashing nickname with the same ap id.
Closes #1937
See merge request pleroma/pleroma!2748
4 years ago
Mark Felder
46b123cded
Still allow passing the arg, but fallback to MIX_ENV
4 years ago
Mark Felder
133004e22d
Improve database config migration and add documentation
4 years ago
href
4347d2de5e
Config/Docs: Expand behaviour suggestions at runtime
4 years ago
Alexander Strizhakov
b376442325
MediaProxy whitelist setting now supports hosts with scheme
...
added deprecation warning about using bare domains
4 years ago
Maksim Pechnikov
62fc8eab0d
fix reset confirmation email in admin section
4 years ago
Mark Felder
b329f05ed6
Remove unused @types
4 years ago
Mark Felder
9e45672674
Add a moduledoc
4 years ago
Mark Felder
6167593881
Support Exiftool for stripping EXIF data
...
We really only want to strip location data anyway, and mogrify strips color profiles.
4 years ago
Mark Felder
3c0c1fd2ef
Merge branch 'develop' into issue/1790-updated-oban
4 years ago
feld
ce9514000d
Merge branch 'proxy-range-and-chunk' into 'develop'
...
ReverseProxy: Streaming and disable encoding if Range
Closes #1860 and #1823
See merge request pleroma/pleroma!2749
4 years ago
Mark Felder
72b3dbf4d1
Credo line length complaint
4 years ago
href
a1dace088c
ReverseProxy: Streaming and disable encoding if Range
...
Fixes #1823
Fixes #1860
4 years ago
lain
93e494ec21
ActivityPub: Don't rename a clashing nickname with the same ap id.
4 years ago
lain
b39eb6ecc5
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into chat-federation-information
4 years ago
Haelwenn
31a0ed5d01
Merge branch 'admin-api-user-credentials-for-remote-users-fix' into 'develop'
...
Admin API: fix `GET /api/pleroma/admin/users/:nickname/credentials` returning 404 when getting the credentials of a remote user while `:instance, :limit_to_local_content` is set to `:unauthenticated`
Closes admin-fe#107 and #1788
See merge request pleroma/pleroma!2554
4 years ago
lain
48f98a2748
Merge branch 'mix-tasks-improvement' into 'develop'
...
Mix tasks improvement
See merge request pleroma/pleroma!2723
4 years ago
Haelwenn
4ac6e6283f
Merge branch 'develop' into 'admin-api-user-credentials-for-remote-users-fix'
...
# Conflicts:
# CHANGELOG.md
4 years ago
Haelwenn
5ea6387572
Merge branch 'user-search-nickname-rank-boost' into 'develop'
...
Improved search results for localized nickname match
See merge request pleroma/pleroma!2733
4 years ago
Haelwenn (lanodan) Monnier
cc7153cd82
user: Add support for custom emojis in profile fields
4 years ago
Mark Felder
2b979cc90c
Add AdminFE reports URL to report emails
4 years ago
Alexander Strizhakov
79707e879d
cleap up
4 years ago
Alexander Strizhakov
d5fcec8315
fix for info after tag/untag user
4 years ago
Mark Felder
d23804f191
Use the Pleroma.Config alias
4 years ago
Mark Felder
49c4e24953
Merge branch 'develop' into fix/csp-for-captcha
4 years ago
lain
8ca1f3e8c6
Merge branch '1723-token-fixes' into 'develop'
...
AccountController: Return scope in proper format.
Closes #1723
See merge request pleroma/pleroma!2694
4 years ago
lain
f4469dc741
Merge branch 'features/favicons' into 'develop'
...
Add support for remote favicons
See merge request pleroma/pleroma!2261
4 years ago
Haelwenn
bdc7b60610
Merge branch '1925-muting-reblogs' into 'develop'
...
AccountController: Fix muting / unmuting reblogs.
Closes #1925
See merge request pleroma/pleroma!2732
4 years ago
eugenijm
c2be0da79f
Admin API: fix `GET /api/pleroma/admin/users/:nickname/credentials` returning 404 when getting the credentials of a remote user while `:instance, :limit_to_local_content` is set to `:unauthenticated`
4 years ago
Haelwenn
68036f5a3b
Merge branch 'follow-pipeline' into 'develop'
...
Handle `Follow` activities with the pipeline
See merge request pleroma/pleroma!2734
4 years ago
lain
6d688f14fa
Merge branch 'bugfix/status-deletion' into 'develop'
...
#1920 fix activity deletion
See merge request pleroma/pleroma!2721
4 years ago
Alexander Strizhakov
4cbafcef0c
load default config in mix tasks
4 years ago
Ivan Tashkinov
123352ffa1
Removed unused trigram index on `users`. Fixed `users_fts_index` usage.
4 years ago
lain
00e54f8fe7
ActivityPub: Remove `follow` and fix issues.
4 years ago
lain
9dda8b5427
CommonAPI: Switch to pipeline for following.
4 years ago
Alexander Strizhakov
b28cc15459
don't restart pleroma in mix tasks
4 years ago
Alexander Strizhakov
72ad3a66f4
don't fully start pleroma in mix tasks
4 years ago
lain
172f4aff8e
Transmogrifier: Move following to the pipeline.
4 years ago
lain
29fa75d00d
Notification: For follows, notify the followed.
4 years ago
lain
7d0e2b3fdd
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into follow-pipeline
4 years ago
lain
cdc153db31
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into issue/1880
4 years ago
lain
6335b32aa8
Merge branch '1895-hashtag-timeline-restrict-unauthenticated-fix' into 'develop'
...
[#1895 ] Made hashtag timeline respect `:restrict_unauthenticated` instance setting
Closes #1895
See merge request pleroma/pleroma!2731
4 years ago
Ivan Tashkinov
704a383055
Improved search results for localized nickname match. Tweaked user search to rank nickname matches higher than name matches.
4 years ago
Ivan Tashkinov
a6495f4a68
[ #1895 ] credo fix.
4 years ago
lain
c0385cf47a
AccountController: Fix muting / unmuting reblogs.
4 years ago
Ivan Tashkinov
3f8370a285
[ #1895 ] Applied code review suggestion.
4 years ago
Maksim Pechnikov
e341f81785
fixed delete `Like` activity in remove user
4 years ago
Haelwenn (lanodan) Monnier
31fef95e35
Add changelog and documentation
4 years ago
Haelwenn (lanodan) Monnier
312fc55f14
Add [:instances_favicons, :enabled] setting, defaults to false
4 years ago
Haelwenn (lanodan) Monnier
8c9df2d2e6
instance: Prevent loop of updates
4 years ago
Haelwenn (lanodan) Monnier
013e2c5057
Use instances table instead of Cachex
4 years ago
Haelwenn (lanodan) Monnier
6a679d80c9
Move get_favicon to Pleroma.Instances, use /
4 years ago
Haelwenn (lanodan) Monnier
f6d09fafee
Add support for remote favicons
4 years ago