* origin/develop: (159 commits)
Fix CHANGELOG entry meant for next release
Revert "Merge branch 'patch-fix-open-api-spec' into 'develop'"
object_validator: Refactor most of validate/2 to a generic block
date-times are always strings
Fix function calls due to module name change
Temp file leaked, oops
Add more details to the cheatsheat for FollowBot MRF
Prefer FollowBot naming convention vs Followbot
Document new FollowBot MRF
More tests to validate Followbot is behaving
Remove Task.async as it is broken here and probably a premature optimization anyway
Only need to validate a follow request is generated for now
Revert
Do not try to follow local users. Their posts are already available locally on the instance.
Change module name to FollowbotPolicy
Add follow_requests_outstanding_since?/3 to Pleroma.Activity
Lint
Better checking of previous follow request attempts
Prevent duplicates from being processed
Make the followbot only dispatch follow requests once per 30 day period
...
* origin/develop: (185 commits)
OAuthScopesPlug: remove transform_scopes in favor of explicit admin scope definitions
OpenAPI: Add `admin:` scope prefix to admin operations
Remove `:auth, :enforce_oauth_admin_scope_usage`
Do not want these interfering with develop builds
Make it possible to generate custom docker images by prefixing the branch name with "build-docker"
Chats: Introduce /api/v2/pleroma/chats which implements pagination
ChatMessage schema: Add `unread` property
Relicense documentation under CC-BY-4.0
Add API endpoint to remove a conversation
update changelog to mention change of avatar
replace avi.png
Add myself to .mailmap
[#2053] Changed `Notification/for_user_query/2` to use join to filter out inactive actors instead of subselect of _all_ inactive AP ids from `users`.
[#2510] Improved support for app-bound OAuth tokens. Auth-related refactoring.
not used mock
OpenAPI spec: Do not show build enviroment in the spec version
OpenAPI spec task: Load pleroma application to get version info
Lint
Revert "Add plaintext support for all emails except the digest"
MRF NoEmptyPolicy: Deny posts from local users if there is no content or only mentions.
...
* origin/develop: (145 commits)
CHANGELOG.md: Remove wrong entries from Unreleased(patch)
Only run one attachment cleanup job per node
Just validate command is in PATH; forking a shell is wasteful
Linting.
Pbkdf2: Use it everywhere.
Password -> Password.Pbkdf2
Linting
Password: Replace Pbkdf2 with Password.
Password: Add password module
COPYING: Bump copyright to 2021
Bump Copyright to 2021
Pagination: Don't be dos'd by random parameters.
Simplify. We will always have a result from Upload.base_url/0, so just add it to the list
Fix regression in MediaProxy.local?/0 and appending the Upload.base_url to whitelisted domains
ChatMessages: Fix pagination headers.
Formatting
.formatter.exs: Format optional migrations
Add development section
Apply 4 suggestion(s) to 2 file(s)
Move construction of S3 base URL with optional namespace and bucket to Upload.base_url/0
...
* origin/develop: (330 commits)
Translated using Weblate (Chinese (Simplified))
Minor refactoring of the logic for hiding followers/following counts.
changelog
Fix for dropping posts/notifs in WS when mix task is executed
Fixed Rich Media Previews
Majic: specify commit so source users do not get surprise updates
Switch to a fork of Hackney 1.15.2 for now so we can have our URL normalization bugfix
instance.gen: Warn that stripping exif requires exiftool
instance.gen task: Only show files which will be actually overwritten
Translated using Weblate (Ukrainian)
Added translation using Weblate (Ukrainian)
Tweaks to OAuth entities expiration: changed default to 30 days, removed hardcoded values usage, fixed OAuthView (expires_in).
Changed default OAuth token expiration time to 30 days.
[#3112] .gitattributes fix.
Update CHANGELOG
ApplicationRequirements: Add test, more text for pool size.
Apply 1 suggestion(s) to 1 file(s)
Add a startup error for modified Repo pool_size
instance.reachable?: Limit to binary input
instance: Do not fetch unreachable instances
...
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.