Commit Graph

451 Commits (stable-4.4)

Author SHA1 Message Date
Matt Jankowski edde54e991
Update stoplight to version 4.1.0 (#28366) 1 year ago
Eugen Rochko 50b17f7e10
Add notification policies and notification requests (#29366) 1 year ago
Claire a9496882fc
Fix auto-close email being sent to users with devops permissions instead of settings permissions (#29355) 1 year ago
Claire 2751acb6cd
Automatically switch from open to approved registrations in absence of moderators (#29318) 1 year ago
Matt Jankowski 7c9c6c7f80
Fix remaining `Rails/WhereExists` cop violations, regenerate todo (#28892) 2 years ago
Eugen Rochko 5b1eb09d54
Add annual reports for accounts (#28693) 2 years ago
Jeong Arm f0abba67db
Ignore RecordNotUnique errors in LinkCrawlWorker (#28748) 2 years ago
Eugen Rochko b5ac61b2c5
Change algorithm of follow recommendations (#28314)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire 963354978a
Add `Account#unavailable?` and `Account#permanently_unavailable?` aliases (#28053) 2 years ago
Claire 0337df3a42
Fix posts from threads received out-of-order sometimes not being inserted into timelines (#27653) 2 years ago
Jonathan de Jong 1cc512909c
Have `Follow` activities bypass availability (#27586)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire 379115e601
Add SELF_DESTRUCT env variable to process self-destructions in the background (#26439) 2 years ago
Claire 4e55001e65
Add a short-lived lock to trend refresh scheduler (#27253) 2 years ago
Claire 5e56f3db65
Change some worker lock TTLs (#27246) 2 years ago
Claire 1e2d4975cf
Fix import progress not updating on certain failures (#27247) 2 years ago
Claire cab4cbfa5c
Fix “Scoped order is ignored, it's forced to be batch order.” warnings (#26793) 2 years ago
Claire 16681e0f20
Add admin notifications for new Mastodon versions (#26582) 2 years ago
Claire 5c0a9aac3b
Revert to using primary database in IndexingScheduler (#26754) 2 years ago
Eugen Rochko e263db276f
Change indexing jobs to use database replica (#26692) 2 years ago
Eugen Rochko f8d2fea2e6
Change queue of job when opting into search from `default` to `pull` (#26688) 2 years ago
jsgoldstein 30c191aaa0
Add new public status index (#26344)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire 9ed0c91a37
Add auto-refresh of accounts we get new messages/edits of (#26510) 2 years ago
Eugen Rochko a0fad5c8bb
Change indexing frequency from 5 minutes to 1 minute, add locks to schedulers (#26304) 2 years ago
Emelia Smith 317cd26fba
Remove queued_at value from pubsub payloads (#26173) 2 years ago
Claire b4e739ff0f
Change interaction modal in web UI (#26075)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2 years ago
Claire 144a406d33
Clean up unused application records (#24871) 2 years ago
Claire 943f27f437
Remove unfollowed hashtag posts from home feed (#26028) 2 years ago
Eugen Rochko fdc3ff7c2d
Change notifications API to use a replica (#25874) 2 years ago
Eugen Rochko a1f5188c8c
Change feed merge, unmerge and regeneration workers to use a replica (#25849) 2 years ago
Kurtis Rainbolt-Greene e4cfe4b3db
First pass at multi-database for read replica using Rails native adapter (#25693)
Co-authored-by: emilweth <7402764+emilweth@users.noreply.github.com>
2 years ago
Claire 4658263b4a
Fix re-activated accounts being deleted by AccountDeletionWorker (#25711) 2 years ago
Emelia Smith 3a91603b15
Prevent UserCleanupScheduler from overwhelming streaming (#25519) 2 years ago
Eugen Rochko 4eda233e09
Add webhook templating (#23289)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Nick Schonning 99e2e9b81f
Fix minor typos in comments and spec names (#21831) 2 years ago
Claire c3c7d59072
Fix infinite loop in AccountsStatusesCleanupScheduler (#24840) 2 years ago
Claire a2a22bad23
Fix various edge cases with local moves (#24812) 2 years ago
Claire c98b012583
Change Move handler to also move list memberships (#24808) 2 years ago
Claire 8b636a29c6
Improve automatic post cleanup worker performances (#24785) 2 years ago
Matt Jankowski f1c1dd0118
Rename `with_lock` to `with_redis_lock` to avoid confusion with ActiveRecord's method (#24741) 2 years ago
Claire 32a030dd74
Rewrite import feature (#21054) 2 years ago
Claire 5dc3173ef8
Fix AccountsStatusesCleanupScheduler not spreading deletes across accounts correctly (#24607) 2 years ago
Claire 501d6197c4
Change automatic post deletion thresholds and load detection (#24614) 2 years ago
Vyr Cossont d5ad8b6422
Fix Redis client and type errors introduced in #24285 (#24342) 2 years ago
Vyr Cossont 7646ad8a2b
IndexingScheduler: fetch and import in batches (#24285)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Christian Schmidt eb38e9df31
Requeue expiration notification (#24311) 2 years ago
Vyr Cossont 94cbd808b5
Webhooks for local status.create, status.update, account.update (#24133) 2 years ago
Claire 1d0ad558ff
Change sidekiq-bulk's batch size from 10,000 to 1,000 jobs in one Redis call (#24034) 2 years ago
Jean byroot Boussier 922837dc96
Upgrade to latest redis-rb 4.x and fix deprecations (#23616)
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2 years ago
Nick Schonning b00f945d92
Remove implied StandardError rescue (#23942) 2 years ago
Claire 050f1669c6
Fix original account being unfollowed on migration before the follow request could be sent (#21957) 2 years ago
Claire ddde4e0d95
Change `ActivityPub::DeliveryWorker` retries to be spread out more (#21956) 2 years ago
Claire 20b80c62ff
Change auto-deletion throttling constants to better scale with server size (#23320) 2 years ago
Nick Schonning 717683d1c3
Autofix Rubocop remaining Layout rules (#23679) 2 years ago
Nick Schonning 21bf326356
Autofix Rubocop Rails/Pluck (#23730) 2 years ago
Nick Schonning 2177daeae9
Autofix Rubocop Style/RedundantBegin (#23703) 2 years ago
Nick Schonning a6f77aa28a
Autofix Rubocop Lint/AmbiguousOperatorPrecedence (#23681) 2 years ago
Claire 0c9eac80d8
Fix unbounded recursion in post discovery (#23506)
* Add a limit to how many posts can get fetched as a result of a single request

* Add tests

* Always pass `request_id` when processing `Announce` activities

---------

Co-authored-by: nametoolong <nametoolong@users.noreply.github.com>
2 years ago
Nick Schonning cec005068f
Apply Rubocop Performance/RedundantBlockCall (#23440) 2 years ago
Nick Schonning ed570050c6
Autofix Rails/EagerEvaluationLogMessage (#23429)
* Autofix Rails/EagerEvaluationLogMessage

* Update spec for debug block syntax
3 years ago
Claire 9edefc779f
Fix `UserCleanupScheduler` crash when an unconfirmed account has a moderation note (#23318)
* Fix `UserCleanupScheduler` crash when an unconfirmed account has a moderation note

* Add tests
3 years ago
luzpaz 596923da4a
Fix typos in source documentation (#21046)
Fixed 2 source comment/documentation typos
3 years ago
Eugen Rochko f8e8e622e5
Change incoming activity processing to happen in `ingress` queue (#20264) 3 years ago
Claire 5333447be0
Change account deletion requests to spread out over time (#20222) 3 years ago
Eugen Rochko e98833748e
Fix being able to spoof link verification (#20217)
- Change verification to happen in `default` queue
- Change verification worker to only be queued if there's something to do
- Add `link` tags from metadata fields to page header of profiles
3 years ago
Claire 5925a31b78
Fix followers count not being updated when migrating follows (#19998)
Fixes #19900
3 years ago
Eugen Rochko d0c9ac3919
Fix indexing scheduler trying to index when Elasticsearch is disabled (#19805)
Fix #19646
3 years ago
Eugen Rochko 5f9e47be34
Add caching for payload serialization during fan-out (#19642) 3 years ago
Claire 6804228fdf
Fix N+1 on mentions in PushUpdateWorker (#19637) 3 years ago
Claire 03d9618595
Fix UserCleanupScheduler crash when an unconfirmed account has a moderation note (#19629)
Fixes #19109
3 years ago
Eugen Rochko bf0ab3e0fa
Fix vacuum scheduler missing lock, locks never expiring (#19458)
Remove vacuuming of orphaned preview cards
3 years ago
Takeshi Umeda 74ead7d106
Change featured tag updates to add/remove activity (#19409)
* Change featured tag updates to add/remove activity

* Fix to check for the existence of feature tag

* Rename service and worker

* Merge AddHashtagSerializer with AddSerializer

* Undo removal of sidekiq_options
3 years ago
Takeshi Umeda b0e3f0312c
Add synchronization of remote featured tags (#19380)
* Add LIMIT of featured tag to instance API response

* Add featured_tags_collection_url to Account

* Add synchronization of remote featured tags

* Deliver update activity when updating featured tag

* Remove featured_tags_collection_url

* Revert "Add featured_tags_collection_url to Account"

This reverts commit cff349fc27.

* Add hashtag sync from featured collections

* Fix tag name normalize

* Add target option to fetch featured collection

* Refactor fetch_featured_tags_collection_service

* Add LIMIT of featured tag to v1/instance API response
3 years ago
Eugen Rochko 5c9abdeff1
Add retention policy for cached content and media (#19232) 3 years ago
Claire 8cf7006d4e
Refactor ActivityPub handling to prepare for non-Account actors (#19212)
* Move ActivityPub::FetchRemoteAccountService to ActivityPub::FetchRemoteActorService

ActivityPub::FetchRemoteAccountService is kept as a wrapper for when the actor is
specifically required to be an Account

* Refactor SignatureVerification to allow non-Account actors

* fixup! Move ActivityPub::FetchRemoteAccountService to ActivityPub::FetchRemoteActorService

* Refactor ActivityPub::FetchRemoteKeyService to potentially return non-Account actors

* Refactor inbound ActivityPub payload processing to accept non-Account actors

* Refactor inbound ActivityPub processing to accept activities relayed through non-Account

* Refactor how Account key URIs are built

* Refactor Request and drop unused key_id_format parameter

* Rename ActivityPub::Dereferencer `signature_account` to `signature_actor`
3 years ago
Eugen Rochko 50948b46aa
Add ability to filter followed accounts' posts by language (#19095) 3 years ago
Eugen Rochko 0b3e4fd5de
Remove digest e-mails (#17985)
* Remove digest e-mails

* Remove digest-related code
3 years ago
Eugen Rochko c3f0621a59
Add ability to follow hashtags (#18809) 3 years ago
Jeremy Kescher 25e076505e
ip_cleanup_scheduler: Make IP and session retention configurable (#18757) 3 years ago
Eugen Rochko a2871cd747
Add administrative webhooks (#18510)
* Add administrative webhooks

* Fix error when webhook is deleted before delivery worker runs
3 years ago
Jeong Arm fed7380e9f
Prevent use locale with empty string (#18543)
Somehow user's locale could be an empty string, And empty string itself
are treated as true value.
3 years ago
Eugen Rochko 679b7158e3
Change search indexing to use batches to minimize resource usage (#18451) 3 years ago
Eugen Rochko 6cf57c6765
Refactor how Redis locks are created (#18400)
* Refactor how Redis locks are created

* Fix autorelease duration on account deletion lock
3 years ago
Eugen Rochko f6d35ed57d
Remove IP matching from e-mail domain blocks (#18190)
Clear out e-mail domain blocks created from automatically resolved DNS records
3 years ago
Eugen Rochko 3917353645
Fix single Redis connection being used across all threads (#18135)
* Fix single Redis connection being used across all Sidekiq threads

* Fix tests
3 years ago
Jeong Arm 3349cbeb3e
Fix clean_discarded_statuses (#17822) 3 years ago
Eugen Rochko bd53dd5210
Change design of federation pages in admin UI (#17704)
* Change design of federation pages in admin UI

* Fix query performance in instance media attachments measure

* Fix reblogs being included in instance languages dimension
3 years ago
Eugen Rochko 2ea754b861
Fix duplicate notifications being possible after poll expiration (#17697) 3 years ago
Eugen Rochko 50ea54b3ed
Change authorized applications page (#17656)
* Change authorized applications page

* Hide revoke button for superapps and suspended accounts

* Clean up db/schema.rb
3 years ago
Claire 3d60708508
Fix crash in EmailDomainBlockRefreshScheduler (#17649) 3 years ago
Eugen Rochko 27965ce5ed
Add trending statuses (#17431)
* Add trending statuses

* Fix dangling items with stale scores in localized sets

* Various fixes and improvements

- Change approve_all/reject_all to approve_accounts/reject_accounts
- Change Trends::Query methods to not mutate the original query
- Change Trends::Query#skip to offset
- Change follow recommendations to be refreshed in a transaction

* Add tests for trending statuses filtering behaviour

* Fix not applying filtering scope in controller
3 years ago
Eugen Rochko a29a982eaa
Change e-mail domain blocks to block IPs dynamically (#17635)
* Change e-mail domain blocks to block IPs dynamically

* Update app/workers/scheduler/email_domain_block_refresh_scheduler.rb

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>

* Update app/workers/scheduler/email_domain_block_refresh_scheduler.rb

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
3 years ago
Eugen Rochko 8f03b7a2fb
Add notifications when a reblogged status has been updated (#17404)
* Add notifications when a reblogged status has been updated

* Change wording to say "edit" instead of "update" and add missing controls

* Replace previous update notifications with the most up-to-date one
4 years ago
Claire da91b18a8b
Fix NoMethodError in StatusUpdateDistributionWorker (#17499)
* Add tests

* Fix NoMethodError in StatusUpdateDistributionWorker

* Fix tests
4 years ago
Eugen Rochko 63002cde03
Add editing for published statuses (#17320)
* Add editing for published statuses

* Fix change of multiple-choice boolean in poll not resetting votes

* Remove the ability to update existing media attachments for now
4 years ago
Eugen Rochko 35850f8195
Fix localization of cold-start follow recommendations (#17479) 4 years ago
Claire 52c1b86964
Fix Ruby 2.5 incompatibility (#17465) 4 years ago
Claire 0d2cf3cd4a
Fix errors when multiple Delete are received for a given actor (#17460) 4 years ago
Claire 03d59340da
Fix Sidekiq warnings about JSON serialization (#17381)
* Fix Sidekiq warnings about JSON serialization

This occurs on every symbol argument we pass, and every symbol key in hashes,
because Sidekiq expects strings instead.

See https://github.com/mperham/sidekiq/pull/5071

We do not need to change how workers parse their arguments because this has
not changed and we were already converting to symbols adequately or using
`with_indifferent_access`.

* Set Sidekiq to raise on unsafe arguments in test mode

In order to more easily catch issues that would produce warnings in production
code.
4 years ago
Eugen Rochko 9eb775a9d1
Fix error when using raw distribution worker (#17334)
Regression from #16697
4 years ago
Eugen Rochko 1060666c58
Add support for editing for published statuses (#16697)
* Add support for editing for published statuses

* Fix references to stripped-out code

* Various fixes and improvements

* Further fixes and improvements

* Fix updates being potentially sent to unauthorized recipients

* Various fixes and improvements

* Fix wrong words in test

* Fix notifying accounts that were tagged but were not in the audience

* Fix mistake
4 years ago