Current FedSocket implementation has a bunch of problems. It doesn't
have proper error handling (in case of an error the server just doesn't
respond until the connection is closed, while the client doesn't match
any error messages and just assumes there has been an error after 15s)
and the code is full of bad descisions (see: fetch registry which uses
uuids for no reason and waits for a response by recursively querying a
ets table until the value changes, or double JSON encoding).
Sometime ago I almost completed rewriting fedsockets from scrach to
adress these issues. However, while doing so, I realized that fedsockets
are just too overkill for what they were trying to accomplish, which is
reduce the overhead of federation by not signing every message.
This could be done without reimplementing failure states and endpoint
logic we already have with HTTP by, for example, using TLS cert auth,
or switching to a more performant signature algorithm. I opened
https://git.pleroma.social/pleroma/pleroma/-/issues/2262 for further
discussion on alternatives to fedsockets.
From discussions I had with other Pleroma developers it seems like they
would approve the descision to remove them as well,
therefore I am submitting this patch.
* origin/develop: (162 commits)
Improve Keyword descriptions for AdminFE
Fixed User.is_discoverable attribute rendering in Admin API User view.
@doc fix.
FrontStatic plug: excluded invalid url
phoenix_controller_render_duration is no longer available in telemetry of Phoenix 1.5+
ActivityPub: Add back debug call + explanation.
clients.md: Add AndStatus, note supported protocols
Fix link reference
NoNewPrivileges breaks ability to send email via sendmail because it restricts ability to run setuid/setgid binaries
Changelog: Add info about whitespace name remote users.
User: Correctly handle whitespace names.
Translated using Weblate (Chinese (Simplified))
[#3059] Used forked prometheus-phx to remove log spam.
[#3059] Formatting fix.
[#3059] Fixed Phoenix 1.5 telemetry processing.
Changelog: Add information about self-chats
SideEffects: Correctly handle chat messages sent to yourself
fix module name
update changelog
update docs
...
* origin/develop: (180 commits)
Deep link to the user account in AdminFE in account confirmation emails
Spelling
Ask user to use matching values for database setup
Syntax error
Don't always need to drop
Improve backup/restore documentation
Lint
Apply 1 suggestion(s) to 1 file(s)
Apply 1 suggestion(s) to 1 file(s)
Apply 2 suggestion(s) to 2 file(s)
Improve description yet again
Don't leak internal variables in the docs. They're useless to users.
Credo
Improve descriptions for reserved and proxies
Add test for an entry without CIDR format
Move hardcoded default configuration into config.exs
Fix docs for default headers used by RemoteIp. We only use X-Forwarded-For by default.
Document the NSFW link preview change
Add helper function to convert single IPs into CIDR format if they were not provided that way
Docs: Modify docs so the postgres config is harder to get wrong.
...