about summary refs log tree commit diff
path: root/app
AgeCommit message (Collapse)Author
2021-03-19Fix brakeman warning (#15870)Claire
As far as I understand, the brakeman warning was a false-positive as `content_tag` properly escapes untrusted HTML. Furthermore, the interpolated string values are built from the “username” part of accounts, which is restricted to a small subset of ASCII that precludes any XML entity or HTML code. This proposed change should be functionally equivalent to the current code, however it is slightly more robust, it's more idiomatic, and Brakeman will stop complaining about it.
2021-03-19Bypass MX validation for explicitly allowed domains (#15930)Claire
* Bypass MX validation for explicitly allowed domains This spares some lookups and prevent issues in some edge cases with local domains. * Add tests * Fix test
2021-03-19Fixing the hero widget (#15926)Claire
* Removing last-child padding conflicts with light theme in hero widget * Add missing background color to widget * Reset widget.scss to default * Hope this works Co-authored-by: koyu <me@koyu.space>
2021-03-19Fix custom CSS when CDN_HOST is set (#15927)Claire
2021-03-19WIP (#15222)Eugen Rochko
2021-03-19Improve account counters handling (#15913)Claire
* Improve account counters handling * Use ActiveRecord::Base::sanitize_sql to pass values instead of interpolating them Keep using string interpolation for `key` as it is safe and using “ActiveRecord::Base::sanitize_sql_hash_for_assignment” would require stitching bits of SQL in a way that is not more easily checked for safety. * Add migration hook to catch PostgreSQL versions earlier than 9.5
2021-03-19Further preparation for Rails 6 (#15916)Claire
* Use ActiveRecord::Result#to_ary instead of deprecated to_hash They do the same thing, and to_hash has been removed from Rails 6.1 * Explicitly name polymorphic indexes to workaround a bug in Rails 6.1 cf. https://github.com/rails/rails/issues/41693 * Fix incorrect usage of “foreign_key” in migration script * Use `ActiveModel::Errors#delete` instead of deprecated clear method * Fix link headers tests on Rails 6.1 Rails 6.1 adds values to the Link header by default, thus it is not a LinkHeader object anymore. Fix the test to parse the Link header instead of assuming it is a LinkHeader.
2021-03-19Add option to opt out of unread notification markers (#15842)Claire
Fixes #15133
2021-03-19Prepare Mastodon for zeitwerk autoloader (#15917)Claire
* Prepare Mastodon for zeitwerk autoloader (Rails 6) Add inflections and rename/move a few classes. In particular, app/lib/exceptions.rb and app/lib/sanitize_config.rb were manually loaded while still in autoload paths. * Add inflection for Url → URL
2021-03-18Fix cache_collection crashing when given an empty collection (#15921)Claire
* Fix cache_collection crashing when given an empty collection * Add tests
2021-03-17Prepare Mastodon for Rails 6 (#15911)Claire
* Fix misuse of foreign_type * Fix use of removed "add_template_helper" * Use response.media_type instead of response.content_type in tests * Fix CSV export controller test on Rails 6 Rails 6 sets a "filename*" field in the Content-Disposition header to explicitly encode the filename as UTF-8. This changes checks the first part of the Content-Disposition header so it matches in both Rails 5 and Rails 6. * Fix emoji formatting with Rails 6 * Make emoji output more idiomatic and robust * Switch from redis-rails gem to built-in Rails redis cache storage
2021-03-15Fix configuration for sidekiq-unique-jobs after 7.x upgrade (#15908)Eugen Rochko
Remove locks from scheduled jobs
2021-03-15Fix reference to non-existing translation in the exports page. (#15894)Filipe Rodrigues
The exports page showed a different "CSV" capitalisation in the "Bookmarks" row ("Csv") compared to the other rows ("CSV"). This was due to a referece to a translation string that does not exist, `bookmarks.csv`, defaulting to the key's last segment in title case. This issue was introduced in commit dcd86204 (PR #14956). (h/t @meqif for helping with figuring out the bug)
2021-03-12Fix not being able to change world filter expiration back to “Never” ↵Claire
(#15858) Fixes #15849
2021-03-12Remove subscription_expires_at leftover from OStatus (#15857)Claire
2021-03-07Fix some ignored brakeman warnings (#15829)Claire
2021-03-04Fix URL scanning in note length validator and preview card fetching (#15827)Claire
* Add tests * Fix URL scanning in note length validator and preview card fetching
2021-03-02Update twitter-text from 1.14 to 3.1.0 and fix toot character counting (#15382)Claire
* Update twitter-text from 1.14 to 3.1.0 * Disable emoji parsing * Properly depend on twitter-text for url detection * Fix some URLs being wrongly detected client-side * Add test for server-side validation of non-autolinkable URLs * Fix server-side status length counting
2021-03-01Add borders to 📱 and 📲 emojis (#15794)Claire
2021-03-01Add `POST /api/v1/emails/confirmations` to REST API (#15816)Eugen Rochko
Only available to the application the user originally signed-up with
2021-03-01Add `details` to error response for `POST /api/v1/accounts` in REST API (#15803)Eugen Rochko
2021-02-28Fix WebUI crashing when SVG support is disabled (#15809)Claire
Fixes #14910
2021-02-26Fix crash on receiving requests with missing Digest header (#15782)Claire
* Fix crash on receiving requests with missing Digest header Return an error pointing out that Digest is missing, instead of crashing. Fixes #15743 * Fix from review feedback
2021-02-24Add inline description of moderation actions in moderation interface (#15792)Claire
2021-02-24Change ResolveAccountService's handling of skip_webfinger (#15750)Claire
* Change ResolveAccountService's handling of skip_webfinger Change it so it never makes any webfinger query, as the name would imply. * Add tests * Change FollowService to not take an URI for target_account * Restore domain-block check in FollowService * Fix tests
2021-02-22Fix server rules not being displayed if extended server discription isn't ↵Claire
set (#15778)
2021-02-22Fix default searchTokens (#15775)abcang
2021-02-21Add server rules (#15769)Eugen Rochko
2021-02-19replace all instances of "ends_with?" with "end_with?" (#15745)Justin Tracey
The "ends_with?" method is just a Rails alias of Ruby's "end_with?" method. Using the latter makes the code less brittle.
2021-02-16Add `GET /api/v1/accounts/lookup` REST API (#15740)Eugen Rochko
2021-02-12Refactor Api::Web::SettingsController (#15717)Eugen Rochko
2021-02-12Fix YouTube embeds failing due to YouTube serving wrong OEmbed URLs (#15716)Eugen Rochko
2021-02-11Fixed WebUI crash when a status opened in the media modal is deleted (#15701)kaias1jp
* Fixed picture in picture compatibility error in WebUI when status is deleted * Revert "Fixed picture in picture compatibility error in WebUI when status is deleted" This reverts commit f003b7d9d88688e9504f7dfae1545d7522fcfd98. * Close the modal display of the image when status is deleted * Fixed the case statement before the default statement * Removed unnecessary parts
2021-02-11fix typo (#15705)Takeshi Umeda
2021-02-11Onion service related changes to HTTPS handling (#15560)Cecylia Bocovich
* Enable secure cookie flag for https only * Disable force_ssl for .onion hosts only Co-authored-by: Aiden McClelland <me@drbonez.dev>
2021-02-11Use custom mascot on static share page (#15687)Jeong Arm
* Use custom mascot on static share page * Use full_asset_url
2021-02-11Fix URI of repeat follow requests not being recorded (#15662)Claire
* Fix URI of repeat follow requests not being recorded In case we receive a “repeat” or “duplicate” follow request, we automatically fast-forward the accept with the latest received Activity `id`, but we don't record it. In general, a “repeat” or “duplicate” follow request may happen if for some reason (e.g. inconsistent handling of Block or Undo Accept activities, an instance being brought back up from the dead, etc.) the local instance thought the remote actor were following them while the remote actor thought otherwise. In those cases, the remote instance does not know about the older Follow activity `id`, so keeping that record serves no purpose, but knowing the most recent one is useful if the remote implementation at some point refers to it by `id` without inlining it. * Add tests
2021-02-11Slightly reorder three dots menu on toots to make it more intuitive (#15647)Mélanie Chauvel
* Slightly reorder three dots menu on toots to make it more intuitive - Make “Pin to profile” always appear at the same place - Add separator to group “Bookmark” and “Pin to profile” - Fix separator being the first item in some cases * Fix missing semicolon and keep status_action_bar.js and action_bar.js in sync
2021-02-11Add dropdown for boost privacy in boost confirmation modal (#15704)Claire
* Various dropdown code quality fixes * Prepare support for privacy selection in boost modal * Add dropdown for boost privacy in boost confirmation modal
2021-02-09Create instance actor if it hasn't been properly seeded (#15693)Claire
An uncommon but somewhat difficult to digagnose issue is dealing with improperly-seeded databases. In such cases, instance-signed fetches will fail with a ActiveRecord::RecordNotFound error, usually caught and handled as generic 404, leading people to think the remote resource itself has not been found, while it's the local instance actor that does not exist. This commit changes the code so that failure to find the instance actor automatically creates a new one, so that improperly-seeded databases do not cause any issue.
2021-02-09Change max. image dimensions to 1920x1080px (1080p) (#15690)Eugen Rochko
* Change max. image size to 1920x1080px * Change it in web UI too
2021-02-02Fix race conditions on account migration creation (#15597)ThibG
* Atomically check for processing lock in Move handler * Prevent race condition when creating account migrations Fixes #15595 * Add tests Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-31Change custom emoji to be animated when hovering container (#15637)ThibG
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-31Improved performance of notification preloading (#15640)abcang
* Improved performance of notification preloading * Remove Cacheable from Notification * Fix test
2021-01-31Fix N+1 query when rendering with StatusSerializer (#15641)abcang
2021-01-28Fix react/jsx-no-duplicate-props (#15636)abcang
2021-01-25Fix first return value of FetchLinkCardService.html method (#15630)Takeshi Umeda
2021-01-22Use Enumerable#filter_map in more places (#15527)luigi
2021-01-22Add “translate” class to other user strings (#15611)ThibG
* Add “translate” class to other user strings Follow-up to #15610. Allow Google Translate to work on more user content: - poll options - reply indicator (contents of the status being replied to) - directory account cards - account note in follow requests list * Fix incorrect styling of account bio Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-22Optimize some regex matching (#15528)luigi
* Use Regex#match? * Replace =~ too * Avoid to call match? from Nil * Keep value of Regexp.last_match