- Feb 07, 2022
-
-
Eugen Rochko authored
* Fix structured data parsing from links choking on bad data - Fix og:url meta tag being prioritized over canonical link tag - Fix structured data parsing choking on commented-out CDATA declarations - Fix HTML entities in title, description, provider_name, author_name - Change structured data parsing to attempt every JSON-LD script tag * Remove unnecessary slash escapes from CDATA regex pattern
-
Claire authored
* Refactor tests * Add tests * Fix replies collection incorrectly looping
-
- Feb 06, 2022
-
-
Claire authored
* Add tests * Fix instance actor not being dereferenceable * Fix tests * Fix tests for real
-
- Feb 03, 2022
-
-
Claire authored
-
- Jan 28, 2022
-
-
Claire authored
Fixes #17382 Note that unconfirmed and unapproved accounts can still be searched for and their (empty) account retrieved using the REST API.
-
- Jan 27, 2022
-
-
Claire authored
* Change account and user fabricators to simplify and improve tests - `Fabricate(:account)` implicitly fabricates an associated `user` if no `domain` attribute is given (an account with `domain: nil` is considered a local account, but no user record was created), unless `user: nil` is passed - `Fabricate(:account, user: Fabricate(:user))` should still be possible but is discouraged. * Fix and refactor tests - avoid passing unneeded attributes to `Fabricate(:user)` or `Fabricate(:account)` - avoid embedding `Fabricate(:user)` into a `Fabricate(:account)` or the other way around - prefer `Fabricate(:user, account_attributes: …)` to `Fabricate(:user, account: Fabricate(:account, …)` - also, some tests were using remote accounts with local user records, which is not representative of production code.
-
- Jan 26, 2022
-
-
Eugen Rochko authored
Fix #17344
-
- 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
-