* I cretaed a folder 'development'
* I split up the file dev.md into three parts and moved it to this folder
* index.md
* authentication_authorization.md
* mrf.md
* I also moved ap_extensions.md
* I created a new file setting_up_pleroma_dev.md
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.
In practice, it was already removed half a year ago, but the description
and cheatsheet entries were still there.
The migration intentionally does not use ConfigDB.get_by_params, since
this will break migration code as soon as we add a new field is added
to ConfigDB.
Closes#2086
Since python doesn't have a way to lock deps for a particlar project
by default, I didn't bother with it. This resulted in mkdocs updating at
some point, bringing a breaking change to how tabs are declared and
broken tabs on docs-develop.pleroma.social. I've learned my lesson
and locked deps with pipenv in pleroma/docs!5. This MR updates Pleroma
docs to use the new tab style, fortunately my editor did most of it.
Closes#2045
* It was still written for From Source installs. Now it's both OTP and From Source
* I linked to the cheatsheet where it was about configuration
* I moved the mix tasks of the robot.txt section to the CLI tasks and linked to it
* i checked the code at https://git.pleroma.social/pleroma/pleroma/-/blob/develop/lib/mix/tasks/pleroma/robotstxt.ex and it doesn't seem to more than just this one command with this option
* I also added the location of robot.txt and an example to dissallow everything, but allow the fediverse.network crawlers
* The Thumbnail section still linked to distsn.org which doesn't exist any more. I changed it to a general statemant that it can be used by external applications. (I don't know any that actually use it.)
* Both the logo and TOS need an extra `static` folder. I've seen confusion about that in #pleroma so I added an Important note.
* I added the option in config/config.exs
* created a new module lib/pleroma/user/welcome_chat_message.ex
* Added it to the registration flow
* added to the cheatsheet
* added to the config/description.ex
* added to the Changelog.md
`: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.