Commit Graph
1004 Commits
Author SHA1 Message Date
EssemandGitHub 5fd8d1e417 Fix oversight in backup service (#25034) 2023-05-19 11:27:10 +02:00
Matt JankowskiandGitHub 2c6c398c60 Fix Performance/CollectionLiteralInLoop cop (#24819) 2023-05-04 05:33:55 +02:00
ClaireandGitHub a2a22bad23 Fix various edge cases with local moves (#24812) 2023-05-03 19:19:25 +02:00
ClaireandGitHub c98b012583 Change Move handler to also move list memberships (#24808) 2023-05-03 14:03:38 +02:00
Matt JankowskiandGitHub 668a19a2f3 Fix Performance/DeletePrefix cop (#24796) 2023-05-02 21:07:45 +02:00
Matt JankowskiandGitHub f1c1dd0118 Rename with_lock to with_redis_lock to avoid confusion with ActiveRecord's method (#24741) 2023-05-02 18:16:07 +02:00
ClaireandGitHub a89b02af92 Check domain suspensions before trying to fetch resources (#24535) 2023-05-02 15:22:19 +02:00
ClaireandGitHub b233da5996 Optimize archive export service and export zip files instead of gzipped tar files (#23360) 2023-05-02 15:09:43 +02:00
ClaireandGitHub 32a030dd74 Rewrite import feature (#21054) 2023-05-02 12:08:48 +02:00
Matt JankowskiandGitHub d902a707a3 Fix Rails/CompactBlank cop (#24690) 2023-04-30 14:07:21 +02:00
Nick SchonningandGitHub 49fad26eca Drop EOL Ruby 2.7 (#24237) 2023-04-27 01:46:18 +02:00
Matt JankowskiandGitHub 0a5f0a8b20 Remove instance variables from helper usage (#24203) 2023-04-23 22:35:54 +02:00
ClaireandGitHub 85b1b45820 Fix crash in NotifyService when trying to send an email notification for polls (#24558) 2023-04-17 13:13:36 +02:00
ClaireandGitHub 99e3e152cd Fix crash in NotifyService when trying to send an email notification for post edits (#24460) 2023-04-08 12:51:14 +02:00
a9b5598c97 Change user settings to be stored in a more optimal way (#23630)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-03-30 14:44:00 +02:00
Christian SchmidtandGitHub eb38e9df31 Requeue expiration notification (#24311) 2023-03-29 10:52:40 +02:00
Takeshi UmedaandGitHub 38c84f57b6 Refactoring relations_map (#24195) 2023-03-21 10:32:58 +01:00
Christian SchmidtandGitHub bd047acc35 Replace Status#translatable? with language matrix in separate endpoint (#24037) 2023-03-16 11:07:24 +01:00
ClaireandGitHub 1d0ad558ff Change sidekiq-bulk's batch size from 10,000 to 1,000 jobs in one Redis call (#24034) 2023-03-15 03:45:15 +01:00
922837dc96 Upgrade to latest redis-rb 4.x and fix deprecations (#23616)
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2023-03-04 16:38:28 +01:00
ClaireandGitHub 050f1669c6 Fix original account being unfollowed on migration before the follow request could be sent (#21957) 2023-03-03 21:13:55 +01:00
Christian SchmidtandGitHub 5a8c651e8f Only offer translation for supported languages (#23879) 2023-03-03 21:06:31 +01:00
ClaireandGitHub c2a046ded1 Fix “Remove all followers from the selected domains” being more destructive than it claims (#23805) 2023-03-03 20:25:15 +01:00
Nick SchonningandGitHub 56489cdc4f Autofix Rubocop Style/HashConversion (#23852) 2023-02-28 22:59:19 +09:00
Nick SchonningandGitHub 4ff44be134 Autofix Rubocop Rails/Blank (#23765) 2023-02-22 09:57:56 +09:00
Nick SchonningandGitHub 0cfdd1a401 Enable Rubocop Style/StringConcatenation defaults (#23792) 2023-02-22 09:54:36 +09:00
Nick SchonningandGitHub 59c8d43d94 Autofix Rubocop Style/RescueStandardError (#23745) 2023-02-20 11:01:20 +01:00
Nick SchonningandGitHub 717683d1c3 Autofix Rubocop remaining Layout rules (#23679) 2023-02-20 06:58:28 +01:00
Nick SchonningandGitHub 2177daeae9 Autofix Rubocop Style/RedundantBegin (#23703) 2023-02-19 07:09:40 +09:00
Nick SchonningandGitHub e2a3ebb271 Autofix Rubocop Style/IfUnlessModifier (#23697) 2023-02-18 12:37:47 +01:00
Nick SchonningandGitHub 634368c491 Autofix Rubocop Lint/SymbolConversion (#23683) 2023-02-18 03:23:49 +01:00
Nick SchonningandGitHub 669f6d2c0a Run rubocop formatting except line length (#23632) 2023-02-18 06:56:20 +09:00
ClaireandGitHub d6930b3847 Add API parameter to safeguard unexpect mentions in new posts (#18350) 2023-02-13 16:36:29 +01:00
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>
2023-02-10 22:16:37 +01:00
Nick SchonningandGitHub f68bb52556 Apply Rubocop Style/NegatedIfElseCondition (#23451) 2023-02-08 07:07:36 +01:00
Nick SchonningandGitHub ed570050c6 Autofix Rails/EagerEvaluationLogMessage (#23429)
* Autofix Rails/EagerEvaluationLogMessage

* Update spec for debug block syntax
2023-02-07 03:44:36 +01:00
ClaireandGitHub bb89f0af8a Fix ActivityPub::ProcessingWorker error on incoming malformed JSON-LD (#23416) 2023-02-06 21:00:58 +01:00
Markus UnterwaditzerandGitHub f2a6e71bb6 Suppress AddressFamilyError in link verification (#23204)
* Suppress AddressFamilyError

* clarify comment
2023-01-23 13:05:54 +01:00
ClaireandGitHub 628dcbb732 Revert "Remove LDSignature on actor Delete activities (#21466)" (#23185)
This reverts commit f4f2b062ec.
2023-01-21 15:33:21 +01:00
ClaireandGitHub 68dcbcb7bf Add more specific error messages to HTTP signature verification (#21617)
* Return specific error on failure to parse Date header

* Add error message when preferredUsername is not set

* Change error report to be JSON and include more details

* Change error report to differentiate unknown account and failed refresh

* Add tests
2023-01-18 16:47:56 +01:00
ClaireandGitHub 4b92e59f4f Add support for editing media description and focus point of already-posted statuses (#20878)
* Add backend support for editing media attachments of existing posts

* Allow editing media attachments of already-posted toots

* Add tests
2023-01-18 16:33:55 +01:00
0c689b9d01 fix: allow verification when page size exceeds 1MB (using HTML5 parser) (#22879)
* fix: allow verification when page size exceeds 1MB
Truncates the page after 1MB instead

Closes #15316

* switch to HTML5 parser, fix rubocop errors

* undo rubocop fixes

Co-authored-by: Chris Zubak-Skees <chriszs@gmail.com>
2023-01-11 21:59:13 +01:00
Kaspar VandGitHub ae62e5fa53 Fix/remove calling private method with send in model (#22951)
* fix(status): remove send usage for private unlink_from_conversations

- make unlink_from_conversations public method
- rename unlink_from_conversations to unlink_from_conversations!
- fix send call on private method in statuses_vacuum and batched_remove_status_service

* fix(feeds_vacuum): replace find_in_batches with in_batches

because active record query results should be a little more efficient than
itterating with map and each. Postgres can grasp such lists of ids much quicker
than ruby can.
Will probably make allmost no difference, but cannot hurt either.
2023-01-11 21:57:24 +01:00
ClaireandGitHub 18fb01ef7c Fix possible race conditions when suspending/unsuspending accounts (#22363)
* Fix possible race conditions when suspending/unsuspending accounts

* Fix tests

Tests were assuming SuspensionWorker and UnsuspensionWorker would do the
suspending/unsuspending themselves, but this has changed.
2023-01-05 13:47:21 +01:00
Effy EldenandGitHub 4dc9152b3e Be more lenient with OEmbed detection and validation (#22533) 2023-01-05 13:36:24 +01:00
ClaireandGitHub c1de673060 Fix suspension worker crashing on S3-compatible setups without ACL support (#22487) 2022-12-19 17:55:17 +01:00
ClaireandGitHub bf1c7e2122 Ensure exact match is the first result in hashtag searches (#21315)
Fixes #17494
2022-12-15 18:41:40 +01:00
ClaireandGitHub 2644a28cb3 Change remote media files to be downloaded outside of transactions (#21796) 2022-12-15 18:09:48 +01:00
2d12948220 Fix idempotency when database writes are slow (#21840)
There is an idempotency key generated by clients when authoring a post,
and stored in Redis, to ensure that if a user or client retries posting
the same status, we don't get a duplicate.

Hachyderm.io has been experiencing some filesystem and database
performance issues, causing database writes to be slow. This can mean
that there are successful posts, but the reverse proxy returns 504
Gateway Timeout before the idempotency status has been updated; users or
clients who retry (such as Tusky which retries automatically, see
tuskyapp/Tusky#2951) can re-try the same post with the same idempotency
key before it has actually been recorded in Redis, leading to duplicate
posts.

To address this issue, move all of the database updates after the
initial transaction that creates the status into the
`postprocess_status!` method, so we can insert the idempotency key
immediately after the status has been created, significantly reducing
the window in which the status could be created but the idempotency key
not yet stored.

Note: this has not yet been tested; I'm submitting this PR for
discussion and to offer to the Hachyderm.io admins to try out to fix the
multiple posting problem.

Co-authored-by: Brian Campbell <brcampbell@beta.team>
2022-12-15 18:08:40 +01:00
ClaireandGitHub c8849d6cee Fix unbounded recursion in account discovery (#22025)
* Fix trying to fetch posts from other users when fetching featured posts

* Rate-limit discovery of new subdomains

* Put a limit on recursively discovering new accounts
2022-12-07 00:15:24 +01:00