Commit Graph

56 Commits (6b78e5b5ab813625152149b7e215d0568a595cdc)

Author SHA1 Message Date
Akihiko Odaki bb4d005a83 Introduce OStatus::TagManager (#5008) 7 years ago
Eugen Rochko d3b6746173 Make "unfollow" undo pending outgoing follow request too (#4781)
* Make "unfollow" undo pending outgoing follow request too

* Add cancel button to web UI when awaiting follow request approval

* Make the hourglass button do the cancelling
7 years ago
Eugen Rochko 1fcdaafa6f Fix webfinger retries (#4275)
* Do not raise unretryable exceptions in ResolveRemoteAccountService

* Removed fatal exceptions from ResolveRemoteAccountService

Exceptions that cannot be retried should not be raised. New exception
class for those that can be retried (Mastodon::UnexpectedResponseError)
7 years ago
Jack Jennings 33f669a5f8 Add status destroy authorization to policy (#3453)
* Add status destroy authorization to policy

* Create explicit unreblog status authorization
7 years ago
Eugen Rochko 44cb08297c Fix some nil errors (#3338)
* Fix nil input not handled well in AuthorExtractor concern

* Fix hard error in ProcessFeedService when replied-to status has been deleted

* Fix nil errors in ProcessInteractionService when favourited status
cannot be found
7 years ago
Eugen Rochko f1ab70649b Add buttons to block and unblock domain (#3127)
* Add buttons to block and unblock domain

* Relationship API now returns "domain_blocking" status for accounts,
rename "block entire domain" to "hide entire domain", fix unblocking domain,
do not block notifications from domain-blocked-but-followed people, do
not send Salmons to domain blocked users

* Add test

* Personal domain blocks shouldn't affect Salmon after all, since in this
direction of communication the control is very thin when it comes to
public stuff. Best stay consistent and not affect federation in this way

* Ignore followers and follow request from domain blocked folks,
ensure account domain blocks are not created for empty domain,
and avoid duplicates in validation

* Purge followers when blocking domain (without soft-blocks, since they
are useless here)

* Add tests, fix local timeline being empty when having any domain blocks
8 years ago
Eugen Rochko 43d754eb42 Fix not rejecting remote URIs when parsing out local IDs (#3012) 8 years ago
Eugen Rochko 81584779cb More robust PuSH subscription refreshes (#2799)
* Fix #2473 - Use sidekiq scheduler to refresh PuSH subscriptions instead of cron

Fix an issue where / in domain would raise exception in TagManager#normalize_domain

PuSH subscriptions refresh done in a round-robin way to avoid hammering a single
server's hub in sequence. Correct handling of failures/retries through Sidekiq (see
also #2613). Optimize Account#with_followers scope. Also, since subscriptions
are now delegated to Sidekiq jobs, an uncaught exception will not stop the entire
refreshing operation halfway through

Fix #2702 - Correct user agent header on outgoing http requests

* Add test for SubscribeService

* Extract #expiring_accounts into method

* Make mastodon:push:refresh no-op

* Queues are now defined in sidekiq.yml

* Queues are now in sidekiq.yml
8 years ago
Eugen Rochko bafd22ecf4 Fix #2706 - Always respond with 200 to PuSH payloads (#2733)
Fix #2196 - Respond with 201 when Salmon accepted, 400 when unverified
Fix #2629 - Correctly handle confirm_domain? for local accounts
Unify rules for extracting author acct from XML, prefer <email>, fall back
to <name> + <uri> (see also #2017, #2172)
8 years ago
Eugen 17c591ffba Punycode URI normalization (#2370)
* Fix #2119 - Whenever about to send a HTTP request, normalize the URI

* Add test for IDN request in FetchLinkCardService

* Perform IDN normalization on domains before they are stored in the DB
8 years ago
Eugen Rochko 5442083b3c Split SalmonWorker into smaller parts, move profile updating into another job 8 years ago
Eugen Rochko d6ed2eb512 Prettier account and stream entry URLs 8 years ago
Eugen Rochko df63461ff0 Add handler for salmons of undoing favourites 8 years ago
Eugen Rochko e610555e10 Fix processing of incoming authorizations/rejections 8 years ago
Eugen Rochko 149887a0ff Make follow requests federate 8 years ago
Eugen Rochko f2e08ff568 Remove unneeded block check 8 years ago
Eugen Rochko c04002b340 Federate blocks with the http://mastodon.social/schema/1.0 verb namespace 8 years ago
Eugen Rochko 7376af90f7 Don't show statuses to blocked users 8 years ago
Eugen Rochko 05b13c38b5 Re-enable Webfinger for locked accounts but don't handle "follow" events
coming in via Salmon.

Currently no way to prevent remote follows, but they will only receive public
and unlisted posts
8 years ago
Eugen Rochko 39cc9fde8a Add account suspension 8 years ago
Eugen Rochko 14bd46946d Per-status control for unlisted mode, also federation for unlisted mode
Fix #233, fix #268
8 years ago
Eugen Rochko 5b076cbafb Fix delete Salmons 8 years ago
Eugen Rochko 2cb3dc5e5a Update hub URL and re-subscribe if hub URL changes 8 years ago
Eugen Rochko da2ef4d676 Adding unified streamable notifications 8 years ago
Eugen Rochko fdc17bea58 Fix rubocop issues, introduce usage of frozen literal to improve performance 8 years ago
Eugen Rochko 7ce4670164 Force utf-8 encoding when processing XML 8 years ago
Eugen Rochko 77efdfa110 Fixing namespaces issue 8 years ago
Eugen Rochko 87b618ab02 Fix namespace parsing in Atom feeds 8 years ago
Eugen Rochko 22a8801dbc Adding domain blocks 8 years ago
Eugen Rochko 5cfc9efad3 Update OStatus2 to handle malformed Salmon without raising unexpected exceptions 8 years ago
Eugen Rochko 70e9dd0b5b Blocking will prevent e-mail notifications from blocked user, blocks in UI 8 years ago
Eugen Rochko 927333f4f8 Improve code style 8 years ago
Eugen Rochko 059ebbf48d Separate PuSH subscriptions from following, add mastodon:push:refresh task,
respect hub.lease_seconds (fix #46)
8 years ago
Eugen Rochko 183a23943b Fix how other services used old FollowRemoteAccountService 8 years ago
Eugen Rochko 3cc47beb6e Refactored generation of unique tags, URIs and object URLs into own classes,
as well as formatting of content
8 years ago
Eugen Rochko a289c1d52f Handle delete Salmons, todo: clean up timelines 8 years ago
Eugen Rochko da4b675aca Fix favourite handling in ProcessInteractionService 9 years ago
Eugen Rochko 7e53efae31 Fix for incoming favourites 9 years ago
Eugen Rochko 2b116131d7 Adding e-mail notifications about mentions, follows, favourites and reblogs. Fixing another mention recording bug 9 years ago
Eugen Rochko 580b91c387 Fix more subtle bugs with first_or_create 9 years ago
Eugen Rochko d022975444 Fixing small bug with FollowRemoteAccountService usage 9 years ago
Eugen Rochko 086d487145 Fix unfollows 9 years ago
Eugen Rochko 0e8f59c16f Refactoring Grape API methods into normal controllers & other things 9 years ago
Eugen Rochko 47d50b0e39 A lot of fixes from a live test 9 years ago
Eugen Rochko ad5ae3f60e Update profile information and download avatar of remote accounts 9 years ago
Eugen Rochko 44c5958203 Fixed small bugs and code style offences 9 years ago
Eugen Rochko fa7868675d Send Salmon interactions 9 years ago
Eugen Rochko 10eb47a33e Do not PuSH-subscribe to remote accounts when creating them for salmon 9 years ago
Eugen Rochko 784b9cca6a Forgotten argument fix 9 years ago
Eugen Rochko 9411e8c35a Feed processing except fetching remote statuses 9 years ago