- Jan 23, 2022
-
-
Claire authored
* Fix error-prone SQL queries in Account search While this code seems to not present an actual vulnerability, one could easily be introduced by mistake due to how the query is built. This PR parameterises the `to_tsquery` input to make the query more robust. * Harden code for Status#tagged_with_all and Status#tagged_with_none Those two scopes aren't used in a way that could be vulnerable to an SQL injection, but keeping them unchanged might be a hazard. * Remove unneeded spaces surrounding tsquery term * Please CodeClimate * Move advanced_search_for SQL template to its own function This avoids one level of indentation while making clearer that the SQL template isn't build from all the dynamic parameters of advanced_search_for. * Add tests covering tagged_with, tagged_with_all and tagged_with_none * Rewrite tagged_with_none to avoid multiple joins and make it more robust * Remove obsolete brakeman warnings * Revert "Remove unneeded spaces surrounding tsquery term" The two queries are not strictly equivalent. This reverts commit 86f16c537e06c6ba4a8b250f25dcce9f049023ff.
-
- Jan 19, 2022
-
-
Eugen Rochko authored
* 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
-
- Jan 17, 2022
-
-
Eugen Rochko authored
-
- Jan 16, 2022
-
-
Claire authored
* Add support for private pinned toots * Allow local user to pin private toots * Change wording to avoid "direct message"
-
Eugen Rochko authored
-
- Dec 17, 2021
- Dec 05, 2021
-
-
Eugen Rochko authored
-
- Nov 26, 2021
-
-
Jeong Arm authored
* Fix #16937 * Add test for statuses order
-
Eugen Rochko authored
-
- Nov 25, 2021
-
-
Claire authored
-
Eugen Rochko authored
* Add trending links * Add overriding specific links trendability * Add link type to preview cards and only trend articles Change trends review notifications from being sent every 5 minutes to being sent every 2 hours Change threshold from 5 unique accounts to 15 unique accounts * Fix tests
-
- Nov 24, 2021
-
-
Claire authored
* Fix error when suspending user with an already-existing canonical email block Fixes #17033 While attempting to create a `CanonicalEmailBlock` with an existing hash would raise an `ActiveRecord::RecordNotUnique` error, this being done within a transaction would cancel the whole transaction. For this reason, checking for uniqueness in Rails would query the database within the transaction and avoid invalidating the whole transaction for this reason. A race condition is still possible, where multiple accounts sharing a canonical email would be blocked in concurrent transactions, in which only one would succeed, but that is way less likely to happen that the current issue, and can always be retried after the first failure, unlike the current situation. * Add tests
-
- Nov 05, 2021
-
-
Claire authored
-
Eugen Rochko authored
Save preview cards under their canonical URL Increase max redirects to follow from 2 to 3
-
Claire authored
Broken since #15827
-
- Oct 21, 2021
-
-
Claire authored
* Add tests * Fix some link previews being incorrectly generated from different prior links PR #12403 added a cache to avoid redundant queries when the OEmbed endpoint can be guessed from the URL. This caching mechanism is not perfectly correct as there is no guarantee that all pages from a given domain share the same OEmbed provider endpoint. This PR prevents the FetchOEmbedService from caching OEmbed endpoint that cannot be generalized by replacing a fully-qualified URL from the endpoint's parameters, greatly reducing the number of incorrect cached generalizations.
-
- Oct 20, 2021
-
-
Claire authored
* Add support for fetching Create and Announce activities by URI This should improve compatibility with ZAP and offer a way to fetch boosts, which is currently not possible. * Add tests
-
- Oct 18, 2021
-
-
Takeshi Umeda authored
* Add followed_by? to account_interactions * Add RemoveFromFollowersService * Fix AccountBatch to use RemoveFromFollowersService * Add remove from followers API
-
- Oct 14, 2021
- Oct 13, 2021
-
-
Claire authored
* Add tests * Fix error when rendering public pages with media attachments * Add tests * Fix tests * Please CodeClimate
-
- Oct 06, 2021
-
-
Claire authored
* Fix media attachment size validation not correctly accounting for file type Fixes a regression introduced in #16724 caused by the fact that kt-paperclip now correctly runs validations before processing, meaning that file size verification could not rely on our before_post_processing hook. Moved the `before_post_processing` hooks to `before_validate` to make sure the media attachment type is set correctly before the file gets validated. * Add tests
-
- Sep 30, 2021
-
-
Claire authored
* Add tests * Fix webauthn secure key authentication Fixes #16769
-
- Sep 29, 2021
-
-
Claire authored
* Switch from unmaintained paperclip to kt-paperclip * Drop some compatibility monkey-patches not required by kt-paperclip * Drop media spoof check monkey-patching It's broken with kt-paperclip and hopefully it won't be needed anymore * Fix regression introduced by paperclip 6.1.0 * Do not rely on pathname to call FastImage * Add test for ogg vorbis file with cover art * Add audio/vorbis to the accepted content-types This seems erroneous as this would be the content-type for a vorbis stream without an ogg container, but that's what the `marcel` gem outputs, so… * Restore missing for_as_default method * Refactor Attachmentable concern and delay Paperclip's content-type spoof check Check for content-type spoofing *after* setting the extension ourselves, this fixes a regression with kt-paperclip's validations being more strict than paperclip 6.0.0 and rejecting some Pleroma uploads because of unknown extensions. * Please CodeClimate * Add audio/vorbis to the unreliable set It doesn't correspond to a file format and thus has no extension associated.
-
- Sep 26, 2021
-
-
Eugen Rochko authored
-
- Sep 15, 2021
-
-
Claire authored
Follow-up to #16510, forgot the controller exposing the actual followers…
-
- Sep 13, 2021
-
-
Claire authored
* Stop setting a shortcode to newly-created media attachments The WebUI has stopped using the “short media URL” in ages. This isn't used anywhere except for mail notifications. Deprecating it would allow us to eventually get rid of at least a database column and corruption-prone index, as well as a controller. * Fix tests
-
- Sep 08, 2021
-
-
Claire authored
Fixes #16699
-
- Sep 01, 2021
-
-
Claire authored
Fixes #16602
-
- Aug 25, 2021
-
-
Claire authored
* Add tests * Add security-related tests My first (unpublished) attempt at fixing the issues introduced (extremely hard-to-exploit) security vulnerabilities, addressing them in a test. * Fix authentication failures after going halfway through a sign-in attempt * Refactor `authenticate_with_sign_in_token` and `authenticate_with_two_factor` to make the two authentication steps more obvious
-
- Aug 20, 2021
-
-
Claire authored
* Add tests for SuspendAccountService * Add tests for UnsuspendAccountService
-
- Aug 11, 2021
-
-
Claire authored
* Fix followers synchronization mechanism not working when URI has empty path To my knowledge, there is no current implementation on the fediverse that can use bare domains (e.g., actor is at https://example.org instead of something like https://example.org/actor) that also plans to support the followers synchronization mechanism. However, Mastodon's current implementation would exclude such accounts from followers list. Also adds tests and rename them to reflect the proper method names. * Move url prefix regexp to its own constant
-
Claire authored
* Add test * Fix crash when encountering invalid account fields
-
- Aug 09, 2021
-
-
Claire authored
* Add account statuses cleanup policy model * Record last inspected toot to delete to speed up successive calls to statuses_to_delete * Add service to cleanup a given account's statuses within a budget * Add worker to go through account policies and delete old toots * Fix last inspected status id logic All existing statuses older or equal to last inspected status id must be kept by the current policy. This is an invariant that must be kept so that resuming deletion from the last inspected status remains sound. * Add tests * Refactor scheduler and add tests * Add user interface * Add support for discriminating based on boosts/favs * Add UI support for min_reblogs and min_favs, rework UI * Address first round of review comments * Replace Snowflake#id_at_start with with_random parameter * Add tests * Add tests for StatusesCleanupController * Rework settings page * Adjust load-avoiding mechanisms * Please CodeClimate
-
- Aug 08, 2021
-
-
Claire authored
* Add account_notes relationship * Add tests * Fix owned account notes not being deleted when an account is deleted * Add post-migration to clean up orphaned account notes
-
- Jul 14, 2021
-
-
Claire authored
* Add tests * Fix user email address being banned on self-deletion Fixes #16498
-
- Jul 13, 2021
-
-
Claire authored
* Change references to tootsuite/mastodon to mastodon/mastodon * Remove obsolete test fixture * Replace occurrences of tootsuite/mastodon with mastodon/mastodon in CHANGELOG And a few other places
-
- Jul 08, 2021
-
-
Eugen Rochko authored
Remove "active within last two weeks" exception for sign in token requirement Change admin reset password to lock access until the password is reset
-
- Jul 07, 2021
-
-
Claire authored
-