about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2022-12-02Bump pkg-config from 1.4.9 to 1.5.1 (#21820)dependabot[bot]
Bumps [pkg-config](https://github.com/ruby-gnome/pkg-config) from 1.4.9 to 1.5.1. - [Release notes](https://github.com/ruby-gnome/pkg-config/releases) - [Changelog](https://github.com/ruby-gnome/pkg-config/blob/master/NEWS) - [Commits](https://github.com/ruby-gnome/pkg-config/compare/1.4.9...1.5.1) --- updated-dependencies: - dependency-name: pkg-config dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02Bump @babel/plugin-proposal-decorators from 7.20.2 to 7.20.5 (#21813)dependabot[bot]
Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.20.2 to 7.20.5. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.20.5/packages/babel-plugin-proposal-decorators) --- updated-dependencies: - dependency-name: "@babel/plugin-proposal-decorators" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02Bump @babel/core from 7.20.2 to 7.20.5 (#21811)dependabot[bot]
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.20.2 to 7.20.5. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.20.5/packages/babel-core) --- updated-dependencies: - dependency-name: "@babel/core" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02Bump @babel/runtime from 7.20.1 to 7.20.6 (#21819)dependabot[bot]
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.20.1 to 7.20.6. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.20.6/packages/babel-runtime) --- updated-dependencies: - dependency-name: "@babel/runtime" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02Bump doorkeeper from 5.6.0 to 5.6.1 (#21816)dependabot[bot]
Bumps [doorkeeper](https://github.com/doorkeeper-gem/doorkeeper) from 5.6.0 to 5.6.1. - [Release notes](https://github.com/doorkeeper-gem/doorkeeper/releases) - [Changelog](https://github.com/doorkeeper-gem/doorkeeper/blob/main/CHANGELOG.md) - [Commits](https://github.com/doorkeeper-gem/doorkeeper/compare/v5.6.0...v5.6.1) --- updated-dependencies: - dependency-name: doorkeeper dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02Bump postcss-scss from 4.0.5 to 4.0.6 (#21814)dependabot[bot]
Bumps [postcss-scss](https://github.com/postcss/postcss-scss) from 4.0.5 to 4.0.6. - [Release notes](https://github.com/postcss/postcss-scss/releases) - [Changelog](https://github.com/postcss/postcss-scss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss-scss/compare/4.0.5...4.0.6) --- updated-dependencies: - dependency-name: postcss-scss dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02Bump bootsnap from 1.14.0 to 1.15.0 (#21810)dependabot[bot]
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.14.0 to 1.15.0. - [Release notes](https://github.com/Shopify/bootsnap/releases) - [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md) - [Commits](https://github.com/Shopify/bootsnap/compare/v1.14.0...v1.15.0) --- updated-dependencies: - dependency-name: bootsnap dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02Bump bullet from 7.0.3 to 7.0.4 (#21809)dependabot[bot]
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.0.3 to 7.0.4. - [Release notes](https://github.com/flyerhzm/bullet/releases) - [Changelog](https://github.com/flyerhzm/bullet/blob/master/CHANGELOG.md) - [Commits](https://github.com/flyerhzm/bullet/compare/7.0.3...7.0.4) --- updated-dependencies: - dependency-name: bullet dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02Bump premailer-rails from 1.11.1 to 1.12.0 (#20588)dependabot[bot]
Bumps [premailer-rails](https://github.com/fphilipe/premailer-rails) from 1.11.1 to 1.12.0. - [Release notes](https://github.com/fphilipe/premailer-rails/releases) - [Changelog](https://github.com/fphilipe/premailer-rails/blob/main/CHANGELOG.md) - [Commits](https://github.com/fphilipe/premailer-rails/compare/v1.11.1...v1.12.0) --- updated-dependencies: - dependency-name: premailer-rails dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02Bump aws-sdk-s3 from 1.114.0 to 1.117.1 (#20043)dependabot[bot]
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.114.0 to 1.117.1. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) --- updated-dependencies: - dependency-name: aws-sdk-s3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02New Crowdin updates (#21599)Eugen Rochko
* New translations doorkeeper.en.yml (Esperanto) * New translations activerecord.en.yml (Spanish) * New translations activerecord.en.yml (Esperanto) * New translations doorkeeper.en.yml (Spanish) * New translations devise.en.yml (Spanish) * New translations devise.en.yml (Esperanto) * New translations en.json (Spanish) * New translations en.yml (Danish) * New translations en.json (Serbian (Cyrillic)) * New translations en.yml (Faroese) * New translations en.yml (Faroese) * New translations en.json (German) * New translations en.yml (Faroese) * New translations simple_form.en.yml (Faroese) * New translations en.yml (Belarusian) * New translations en.yml (German) * New translations en.json (German) * New translations simple_form.en.yml (Faroese) * New translations en.yml (Belarusian) * New translations doorkeeper.en.yml (Belarusian) * New translations en.yml (German) * New translations en.json (Bulgarian) * New translations en.json (German) * New translations en.yml (Bulgarian) * New translations simple_form.en.yml (Bulgarian) * New translations doorkeeper.en.yml (Bulgarian) * New translations en.json (Belarusian) * New translations simple_form.en.yml (Belarusian) * New translations en.json (Czech) * New translations en.json (Serbian (Cyrillic)) * New translations en.yml (Serbian (Cyrillic)) * New translations simple_form.en.yml (Faroese) * New translations devise.en.yml (Catalan) * New translations en.yml (German) * New translations en.json (Bulgarian) * New translations en.json (German) * New translations en.json (Catalan) * New translations en.yml (Catalan) * New translations en.json (Danish) * New translations en.json (Ukrainian) * New translations en.json (Galician) * New translations doorkeeper.en.yml (Catalan) * New translations simple_form.en.yml (German) * New translations en.json (Danish) * New translations en.yml (English, United Kingdom) * New translations simple_form.en.yml (Faroese) * New translations en.json (Danish) * New translations en.yml (Japanese) * New translations en.yml (German) * New translations en.json (Urdu (Pakistan)) * New translations simple_form.en.yml (German) * New translations simple_form.en.yml (Faroese) * New translations en.yml (German) * New translations en.json (Urdu (Pakistan)) * New translations simple_form.en.yml (Faroese) * New translations simple_form.en.yml (Faroese) * New translations en.json (Scots) * New translations activerecord.en.yml (Scots) * New translations en.json (Finnish) * New translations en.json (Finnish) * New translations en.json (Asturian) * New translations en.yml (Asturian) * New translations simple_form.en.yml (Asturian) * New translations activerecord.en.yml (Asturian) * New translations devise.en.yml (Asturian) * New translations doorkeeper.en.yml (Asturian) * New translations en.yml (Belarusian) * New translations en.json (Romanian) * New translations en.json (Galician) * New translations en.yml (Galician) * New translations doorkeeper.en.yml (Romanian) * New translations doorkeeper.en.yml (Galician) * New translations activerecord.en.yml (Romanian) * New translations en.yml (Russian) * New translations en.yml (Estonian) * New translations en.yml (Estonian) * New translations devise.en.yml (Estonian) * New translations en.json (Czech) * New translations en.yml (Bulgarian) * New translations en.json (Serbian (Cyrillic)) * New translations en.yml (Serbian (Cyrillic)) * New translations en.json (Galician) * New translations en.yml (Galician) * New translations en.json (Breton) * New translations simple_form.en.yml (Bulgarian) * New translations doorkeeper.en.yml (Bulgarian) * New translations simple_form.en.yml (Galician) * New translations devise.en.yml (Italian) * New translations en.json (Bulgarian) * New translations en.yml (Bulgarian) * New translations simple_form.en.yml (Bulgarian) * New translations doorkeeper.en.yml (Bulgarian) * New translations devise.en.yml (Italian) * New translations en.json (Serbian (Cyrillic)) * New translations doorkeeper.en.yml (Italian) * New translations en.json (Serbian (Cyrillic)) * New translations en.json (Chinese Traditional, Hong Kong) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.json (Serbian (Latin)) * New translations simple_form.en.yml (Serbian (Cyrillic)) * New translations doorkeeper.en.yml (Italian) * New translations en.yml (Belarusian) * New translations en.yml (Belarusian) * New translations simple_form.en.yml (Serbian (Cyrillic)) * New translations en.yml (Belarusian) * New translations simple_form.en.yml (Serbian (Cyrillic)) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations simple_form.en.yml (Asturian) * New translations en.yml (Asturian) * New translations simple_form.en.yml (Asturian) * New translations en.json (Thai) * New translations en.yml (Thai) * New translations en.json (Thai) * New translations en.yml (Thai) * New translations en.yml (Czech) * New translations en.json (Czech) * New translations simple_form.en.yml (Czech) * New translations doorkeeper.en.yml (Czech) * New translations en.yml (Belarusian) * New translations en.yml (Thai) * New translations en.json (English, United Kingdom) * New translations en.yml (Belarusian) * New translations en.yml (Thai) * New translations en.yml (Estonian) * New translations en.yml (Thai) * New translations en.json (Thai) * New translations en.yml (German) * New translations en.json (Russian) * New translations en.yml (Icelandic) * New translations en.json (Estonian) * New translations en.yml (Estonian) * New translations en.yml (Belarusian) * New translations en.yml (Thai) * New translations en.json (Esperanto) * New translations en.yml (Esperanto) * New translations simple_form.en.yml (Esperanto) * New translations en.yml (Thai) * New translations en.json (Esperanto) * New translations en.yml (Thai) * New translations en.yml (Belarusian) * New translations en.yml (Thai) * New translations en.json (Icelandic) * New translations en.yml (Icelandic) * New translations simple_form.en.yml (Icelandic) * New translations doorkeeper.en.yml (Icelandic) * New translations en.yml (Belarusian) * New translations activerecord.en.yml (Icelandic) * New translations devise.en.yml (Icelandic) * New translations en.yml (Thai) * New translations en.json (Estonian) * New translations en.yml (Estonian) * New translations doorkeeper.en.yml (Estonian) * New translations en.yml (Belarusian) * New translations en.yml (Thai) * New translations en.yml (Belarusian) * New translations en.json (Bulgarian) * New translations en.yml (Bulgarian) * New translations en.json (Serbian (Cyrillic)) * New translations en.yml (Bulgarian) * New translations en.json (Serbian (Cyrillic)) * New translations en.yml (Estonian) * New translations en.json (Ukrainian) * New translations en.yml (Estonian) * New translations en.json (Esperanto) * New translations en.yml (Estonian) * New translations en.yml (Estonian) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations en.yml (Belarusian) * New translations en.yml (Belarusian) * New translations en.json (Persian) * New translations en.yml (Belarusian) * New translations en.json (Esperanto) * New translations en.json (Greek) * New translations en.json (Persian) * New translations en.json (Scots) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations en.yml (Thai) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations doorkeeper.en.yml (Estonian) * New translations en.yml (German) * New translations en.json (German) * New translations en.json (Finnish) * New translations en.yml (Estonian) * New translations en.yml (German) * New translations en.json (Estonian) * New translations en.yml (Estonian) * New translations simple_form.en.yml (German) * New translations simple_form.en.yml (Estonian) * New translations devise.en.yml (German) * New translations simple_form.en.yml (German) * New translations en.yml (Finnish) * New translations en.json (Serbian (Cyrillic)) * New translations en.json (Serbian (Cyrillic)) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations doorkeeper.en.yml (Estonian) * New translations en.json (Estonian) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations en.json (Spanish) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations en.yml (Thai) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations simple_form.en.yml (Icelandic) * New translations en.yml (German) * New translations en.yml (Ukrainian) * New translations en.json (Spanish, Mexico) * New translations en.json (Serbian (Cyrillic)) * New translations en.json (Spanish, Mexico) * New translations activerecord.en.yml (Spanish, Mexico) * New translations en.json (German) * New translations en.yml (Thai) * New translations en.json (Thai) * New translations en.json (Korean) * New translations en.json (Scottish Gaelic) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Thai) * New translations en.yml (Japanese) * New translations en.json (Serbian (Cyrillic)) * New translations en.yml (Belarusian) * New translations en.json (Estonian) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations en.json (Serbian (Cyrillic)) * New translations en.json (Estonian) * New translations en.json (Serbian (Cyrillic)) * New translations en.yml (Italian) * New translations en.yml (Italian) * New translations en.json (Kurmanji (Kurdish)) * New translations en.yml (Spanish) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Latvian) * New translations simple_form.en.yml (Latvian) * New translations en.yml (Belarusian) * New translations en.json (Serbian (Cyrillic)) * New translations simple_form.en.yml (Serbian (Cyrillic)) * normalize * New translations en.json (German) * New translations en.json (Serbian (Cyrillic)) Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-12-02Use a tree‐based approach for advanced text formatting (#1907)kibigo!
* Use a tree‐based approach for adv. text formatting Sanitizing HTML/Markdown means parsing the content into an HTML tree under‐the‐hood anyway, and it is more accurate to do mention/hashtag replacement on the text nodes in that tree than it is to try to hack it in with regexes et cetera. This undoes the overrides of `#entities` and `#rewrite` on `AdvancedTextFormatter` but also stops using them, instead keeping track of the parsed Nokogiri tree itself and using that in the `#to_s` method. Internally, this tree uses `<mastodon-entity>` nodes to keep track of hashtags, links, and mentions. Sanitization is moved to the beginning, so it should be known that these do not appear in the input. * Also disallow entities inside of `<code>` I think this is generally expected behaviour, and people are annoyed when their code gets turned into links/hashtags/mentions. * Minor cleanup to AdvancedTextFormatter * Change AdvancedTextFormatter to rewrite entities in one pass and sanitize at the end Also, minor refactoring to better match how other formatters are organized. * Add some tests Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-12-01Port navigation bar from upstream (#1986)Claire
Fixes #1977
2022-12-01Merge pull request #1984 from ClearlyClaire/glitch-soc/merge-upstreamClaire
Merge upstream changes
2022-12-01Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-12-01Fix GitHub form label type (#21833)Nick Schonning
2022-12-01Fix some performance issues with /admin/instances (#21907)Claire
/admin/instances?availability=failing remains wholly unefficient
2022-11-30Merge pull request #1983 from ClearlyClaire/glitch-soc/features/translationClaire
Port “Translate” feature from upstream
2022-11-30Move translate button above media attachments/preview cardsClaire
2022-11-30Fix translate button not being shown when the toot has no Content WarningClaire
2022-11-30Fix inconsistent with “translate” button paddingClaire
2022-11-30[Glitch] Change design of translations in web UIEugen Rochko
Port fcca781aae609067bc9e43ad4a466ef6d2074bbb to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30[Glitch] Add mention of the translation provider when translating a postClaire
Port 30453fab80d55fc10766f0e067c31d96753ccfda to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30[Glitch] Change “Translate” button to only show up when a translation ↵Claire
backend is configured Port 8046cf34d68209b39845e07a9d2db40926cc5512 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30[Glitch] Fix showing translate button when status has no language in web UIEugen Rochko
Port 4adb267f9177f6036f8f27cd37544c54b97f3dd2 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30[Glitch] Don't show translate button to logged-out usersEugen Rochko
Port part of e623c302d5d4dfc05689eb8fb8e051e30fc38ec8 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30[Glitch] Fix translations not being formatted, other issues in web UIEugen Rochko
Port 55a2e9b5beb1fc923c42257edee3df738e208b38 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30[Glitch] Add user content translations with configurable backendsEugen Rochko
Port 0d6b878808a02aa4a544e894f06419c0f612c163 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30Merge pull request #1982 from ClearlyClaire/glitch-soc/merge-upstreamClaire
Merge upstream changes
2022-11-30Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-11-303.0.5 version of cimg/ruby:3.0-node upgraded to node 18 (#21873)mhkhung
Node 18 caused build to fail
2022-11-28Fix expanded statuses not always being scrolled into view (#21797)Claire
2022-11-28Merge pull request #1976 from ClearlyClaire/glitch-soc/merge-upstreamClaire
Merge upstream changes
2022-11-28[Glitch] Make the 'Trending now' header a link to Explore.Connor Shea
Port cec1e902e006730f68bde0a4334e5b819a12a475 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-28[Glitch] Fix infinite loading instead of soft 404 for non-existing remote ↵Claire
accounts Port 3ffaa966b0ba11b318e9a93b41854aa765d2ed5c to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-28[Glitch] fix gif autoplay on iOSJames Adney
Port c0dcf15d1ec357cedd89025a1b210bdc21422b59 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-28[Glitch] Fix “Share @{name}'s profile” profile menu itemClaire
Port fe421257e5e9e3225393f544da0437596aa9a61b to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-28[Glitch] Fix status mismatch of sensitive checkkedama
Port 14e2354eeaf1f89a0f81302aa92661977be15daf to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-28Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `README.md`: Our README is completely different. Discarded upstream changes.
2022-11-27Make the 'Trending now' header a link to Explore. (#21759)Connor Shea
This keeps the same design that exists currently, but makes "Trending now" into a link to the Hashtags section of "Explore". Resolves #21758.
2022-11-27Fix infinite loading instead of soft 404 for non-existing remote accounts ↵Claire
(#21303) Fixes #21278, #21021
2022-11-27Fix spaces not being stripped in admin account search (#21324)Claire
Fixes #21058 Regression from #18641
2022-11-27fix gif autoplay on iOS (#21422)James Adney
2022-11-27Add user profile OG tag on status page (#21423)Bramus!
2022-11-27Remove LDSignature on actor Delete activities (#21466)Claire
They are currently not used for anything and represent more than half of the payload size.
2022-11-27Fix “Share @{name}'s profile” profile menu item (#21490)Claire
2022-11-27Remove support for Ruby 2.6 (#21477)Claire
As pointed out by https://github.com/mastodon/mastodon/pull/21297#discussion_r1028372193 at least one of our dependencies already dropped support for Ruby 2.6, and we had removed Ruby 2.6 tests from the CI over a year ago (#16861). So stop advertising Ruby 2.6 support, bump targeted version, and drop some compatibility code.
2022-11-27refactor(vacuum statuses): reduce amount of db queries and load for each ↵Kaspar V
query - improve performance (#21487) * refactor(statuses_vacuum): remove dead code - unused Method is not called inside class and private. Clean up dead code. * refactor(statuses_vacuum): make retention_period present test explicit This private method only hides functionality. It is best practice to be as explicit as possible. * refactor(statuses_vacuum): improve query performance - fix statuses_scope having sub-select for Account.remote scope by `joins(:account).merge(Account.remote)` - fix statuses_scope unnecessary use of `Status.arel_table[:id].lt` because it is inexplicit, bad practice and even slower than normal `.where('statuses.id < ?'` - fix statuses_scope remove select(:id, :visibility) for having reusable active record query batches (no re queries) - fix vacuum_statuses! to use in_batches instead of find_in_batches, because in_batches delivers a full blown active record query result, in stead of an array - no requeries necessary - send(:unlink_from_conversations) not to perform another db query, but reuse the in_batches result instead. - remove now obsolete remove_from_account_conversations method - remove_from_search_index uses array of ids, instead of mapping the ids from an array - this should be more efficient - use the in_batches scope to call delete_all, instead of running another db query for this - because it is again more efficient - add TODO comment for calling models private method with send * refactor(status): simplify unlink_from_conversations - add `has_many through:` relation mentioned_accounts - use model scope local instead of method call `Status#local?` - more readable add account to inbox_owners when account.local? * refactor(status): searchable_by way less sub selects These queries all included a sub-select. Doing the same with a joins should be more efficient. Since this method does 5 such queries, this should be significant, since it technically halves the query count. This is how it was: ```ruby [3] pry(main)> Status.first.mentions.where(account: Account.local, silent: false).explain Status Load (1.6ms) SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1 [["LIMIT", 1]] Mention Load (1.5ms) SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]] => EXPLAIN for: SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]] QUERY PLAN ------------------------------------------------------------------------------------------------------------------ Nested Loop (cost=0.15..23.08 rows=1 width=41) -> Seq Scan on accounts (cost=0.00..10.90 rows=1 width=8) Filter: (domain IS NULL) -> Index Scan using index_mentions_on_account_id_and_status_id on mentions (cost=0.15..8.17 rows=1 width=41) Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint)) Filter: (NOT silent) (6 rows) ``` This is how it is with this change: ```ruby [4] pry(main)> Status.first.mentions.joins(:account).merge(Account.local).active.explain Status Load (1.7ms) SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1 [["LIMIT", 1]] Mention Load (0.7ms) SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]] => EXPLAIN for: SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]] QUERY PLAN ------------------------------------------------------------------------------------------------------------------ Nested Loop (cost=0.15..23.08 rows=1 width=41) -> Seq Scan on accounts (cost=0.00..10.90 rows=1 width=8) Filter: (domain IS NULL) -> Index Scan using index_mentions_on_account_id_and_status_id on mentions (cost=0.15..8.17 rows=1 width=41) Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint)) Filter: (NOT silent) (6 rows) ```
2022-11-27Fix attachments of edited statuses not being fetched (#21565)Claire
* Fix attachments of edited statuses not being fetched * Fix tests
2022-11-27Add logging for Rails cache timeouts (#21667)Claire
* Reduce redis cache store connect timeout from default 20 seconds to 5 seconds * Log cache store errors