Matt Panaro
31f7c3fc5d
Summary: fix slowness due to layout thrashing when reloading a large … ( #12661 )
* Summary: fix slowness due to layout thrashing when reloading a large set of status updates
in order to limit the maximum size of a status in a list view (e.g. the home timeline), so as to avoid having to scroll all the way through an abnormally large status update (see https://github.com/tootsuite/mastodon/pull/8205 ), the following steps are taken:
•the element containing the status is rendered in the browser
•its height is calculated, to determine if it exceeds the maximum height threshold.
Unfortunately for performance, these steps are carried out in the componentDidMount(/Update) method, which also performs style modifications on the element. The combination of height request and style modification during javascript evaluation in the browser leads to layout-thrashing, where the elements are repeatedly re-laid-out (see https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing & https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Performance_best_practices_for_Firefox_fe_engineers ).
The solution implemented here is to memoize the collapsed state in Redux the first time the status is seen (e.g. when fetched as part of a small batch, to populate the home timeline) , so that on subsequent re-renders, the value can be queried, rather than recalculated. This strategy is derived from https://github.com/tootsuite/mastodon/pull/4439 & https://github.com/tootsuite/mastodon/pull/4909 , and should resolve https://github.com/tootsuite/mastodon/issues/12455 .
Andrew Lin (https://github.com/onethreeseven ) is thanked for his assistance in root cause analysis and solution brainstorming
* remove getSnapshotBeforeUpdate from status
* remove componentWillUnmount from status
* persist last-intersected status update and restore when ScrollableList is restored
e.g. when navigating from home-timeline to a status conversational thread and <Back again
* cache currently-viewing status id to avoid calling redux with identical value
* refactor collapse toggle to pass explicit boolean
4 years ago
ThibG
1155dc0835
Fix old migrations failing because of strong_migrations update ( #12692 )
Fixes #12690
The `strong_migrations` update from ba2eac8824
introduced a check for `change_column_null` specific to Postgres. This rejects
old migrations.
This commit just wraps old migrations with `safety_assured` to bypass this
check. Alternatives would have been to:
- Disable that check entirely (a possibility added in that same
`strong_migrations` version) for Mastodon, but it makes sense to write new
migrations without such a strong lock.
- Rewrite the old migrations to do it in a way that do not require an exclusive
lock. I thought fixing those old migrations for performance wasn't worth the
pain. Also, if I understand correctly, the next version of
`strong_migrations` is going to include a helper to do that. We could update
those migrations at that point.
4 years ago
dependabot-preview[bot]
7ff7ca8c7c
[Security] Bump handlebars from 4.2.0 to 4.5.3 ( #12694 )
Bumps [handlebars](https://github.com/wycats/handlebars.js ) from 4.2.0 to 4.5.3. **This update includes a security fix.**
- [Release notes](https://github.com/wycats/handlebars.js/releases )
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md )
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.2.0...v4.5.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
8e2cbade79
Bump @babel/runtime from 7.7.6 to 7.7.7 ( #12670 )
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime ) from 7.7.6 to 7.7.7.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.7.7/packages/babel-runtime )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
14cca940d9
Bump enzyme from 3.10.0 to 3.11.0 ( #12675 )
Bumps [enzyme](https://github.com/airbnb/enzyme/tree/HEAD/packages/enzyme ) from 3.10.0 to 3.11.0.
- [Release notes](https://github.com/airbnb/enzyme/releases )
- [Changelog](https://github.com/airbnb/enzyme/blob/master/CHANGELOG.md )
- [Commits](https://github.com/airbnb/enzyme/commits/enzyme@3.11.0/packages/enzyme )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
038a1246f5
Bump object.values from 1.1.0 to 1.1.1 ( #12625 )
Bumps [object.values](https://github.com/es-shims/Object.values ) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/es-shims/Object.values/releases )
- [Changelog](https://github.com/es-shims/Object.values/blob/master/CHANGELOG.md )
- [Commits](https://github.com/es-shims/Object.values/compare/v1.1.0...v1.1.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
504763dd06
Bump @babel/preset-env from 7.7.6 to 7.7.7 ( #12672 )
Bumps [@babel/preset-env](https://github.com/babel/babel ) from 7.7.6 to 7.7.7.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/compare/v7.7.6...v7.7.7 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
530ac83cc1
Bump css-loader from 3.3.2 to 3.4.0 ( #12673 )
Bumps [css-loader](https://github.com/webpack-contrib/css-loader ) from 3.3.2 to 3.4.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases )
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.3.2...v3.4.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
ec6de73001
Bump mini-css-extract-plugin from 0.8.0 to 0.9.0 ( #12674 )
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin ) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases )
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.8.0...v0.9.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
d29655c495
Bump sass from 1.23.3 to 1.24.0 ( #12676 )
Bumps [sass](https://github.com/sass/dart-sass ) from 1.23.3 to 1.24.0.
- [Release notes](https://github.com/sass/dart-sass/releases )
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md )
- [Commits](https://github.com/sass/dart-sass/compare/1.23.3...1.24.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
ea08fc7dd2
Bump rubocop from 0.77.0 to 0.78.0 ( #12677 )
Bumps [rubocop](https://github.com/rubocop-hq/rubocop ) from 0.77.0 to 0.78.0.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases )
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.77.0...v0.78.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
41854528ee
Bump array-includes from 3.1.0 to 3.1.1 ( #12671 )
Bumps [array-includes](https://github.com/es-shims/array-includes ) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/es-shims/array-includes/releases )
- [Changelog](https://github.com/es-shims/array-includes/blob/master/CHANGELOG.md )
- [Commits](https://github.com/es-shims/array-includes/compare/v3.1.0...v3.1.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
ab25e9e691
Bump faker from 2.8.1 to 2.9.0 ( #12680 )
Bumps [faker](https://github.com/faker-ruby/faker ) from 2.8.1 to 2.9.0.
- [Release notes](https://github.com/faker-ruby/faker/releases )
- [Changelog](https://github.com/faker-ruby/faker/blob/master/CHANGELOG.md )
- [Commits](https://github.com/faker-ruby/faker/compare/v2.8.1...v2.9.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
d22f38bb6e
Bump strong_migrations from 0.5.0 to 0.5.1 ( #12679 )
Bumps [strong_migrations](https://github.com/ankane/strong_migrations ) from 0.5.0 to 0.5.1.
- [Release notes](https://github.com/ankane/strong_migrations/releases )
- [Changelog](https://github.com/ankane/strong_migrations/blob/master/CHANGELOG.md )
- [Commits](https://github.com/ankane/strong_migrations/compare/v0.5.0...v0.5.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
e0c2ecb1d3
Bump rails from 5.2.4 to 5.2.4.1 ( #12682 )
Bumps [rails](https://github.com/rails/rails ) from 5.2.4 to 5.2.4.1.
- [Release notes](https://github.com/rails/rails/releases )
- [Commits](https://github.com/rails/rails/compare/v5.2.4...v5.2.4.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
cb4831a5ac
Bump rack-attack from 6.2.1 to 6.2.2 ( #12681 )
Bumps [rack-attack](https://github.com/kickstarter/rack-attack ) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/kickstarter/rack-attack/releases )
- [Changelog](https://github.com/kickstarter/rack-attack/blob/master/CHANGELOG.md )
- [Commits](https://github.com/kickstarter/rack-attack/compare/v6.2.1...v6.2.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
28376b319b
Bump oj from 3.9.2 to 3.10.0 ( #12683 )
Bumps [oj](https://github.com/ohler55/oj ) from 3.9.2 to 3.10.0.
- [Release notes](https://github.com/ohler55/oj/releases )
- [Changelog](https://github.com/ohler55/oj/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/ohler55/oj/compare/v3.9.2...v3.10.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
Aries
44f88a334b
Fix sample SAML_ACS_URL, SAML_ISSUER ( #12669 )
4 years ago
BSKY
cf4dc3ffb3
Use eslint cache ( #12668 )
4 years ago
trwnh
db530966f7
Update link to install docs ( #12666 )
4 years ago
Dan Hunsaker
6821b34e02
Correct the Nanobox deploy hooks for order and context ( #12663 )
One hook was actually duplicated incorrectly; this has been fixed. Another hook was re-ordered for better results in actual use.
4 years ago
Sasha Sorokin
902c6bed5a
Use different strings on exports page ( #12569 )
Currently the page re-uses strings from other contexts which doesn't fit
very well - strings incorrectly lowercase-d and pluralized, when they
don't need to be, because it's a table.
This commit changes page to re-use accounts.posts_tab_heading for toots,
and admin.accounts for "Following" and "Follows". This all should look
more aesthetically pleasing.
4 years ago
ThibG
dc0750abc3
Fix manual scrolling issue on Firefox/Windows ( #12648 )
Fixes #12607
`will-change: transform` apparently makes manual scrolling impossible on
Firefox/Windows. While this should probably be considered a Firefox bug,
`will-change: transform` seem like a very aggressive performance hint that
may possibly make the browser consume more resources than needed, especially
in multiple-column mode.
This was originally added to improve scrolling performances on mobile, but
I think this isn't necessary anymore, because of the two following reasons:
- `contain: paint` (which is implied by `contain: strict`, which we apply
whenever the browser supports grids) should have similar effects
- in single-column mode, the scrolling container is the root element, which
I believe is optimized in at least Chromium
Keep in mind that I have not been able to make in-depth benchmarks, and
especially not been able to try on mobile, so performances should probably
be investigated further…
4 years ago
Marcin Mikołajczak
a90258dbe9
fix multiple space ( #12655 )
4 years ago
dependabot-preview[bot]
4dbf0a91b2
[Security] Bump rack from 2.0.7 to 2.0.8 ( #12654 )
Bumps [rack](https://github.com/rack/rack ) from 2.0.7 to 2.0.8. **This update includes a security fix.**
- [Release notes](https://github.com/rack/rack/releases )
- [Changelog](https://github.com/rack/rack/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rack/rack/compare/2.0.7...2.0.8 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
Eugen Rochko
1afbe083fd
Fix unsafe column type change in migration ( #12653 )
4 years ago
ThibG
c0ed53b810
Fix custom emoji category creation silently erroring out on duplicate category ( #12647 )
Instead, just re-use the existing category if any.
Fixes #12608
4 years ago
ThibG
fb9137752a
Remove unused translatable strings ( #12643 )
* Remove unused “salmon_url” string
* Remove more unused translatable strings
The following strings all used to be on the admin account page
but aren't used anymore: profile_url, outbox_url, followers_url, feed_url
4 years ago
ThibG
b364175e1b
Fix link crawler not specifying accepted content-type ( #12646 )
The link crawler expects HTML documents, so set the `Accept`
header accordingly.
Fixes #12618
4 years ago
Takeshi Umeda
68070e82cc
Add signature to exported status ( #12649 )
4 years ago
Bèr Kessels
8a347f4937
Fix typo in login feature-test. ( #12651 )
4 years ago
Takeshi Umeda
a391eaf4d8
Fix an error when ActivityPub::FetchRemoteStatusService url is called with nil ( #12652 )
4 years ago
dependabot-preview[bot]
45f8968404
Bump rails from 5.2.3 to 5.2.4 ( #12584 )
* Bump rails from 5.2.3 to 5.2.4
Bumps [rails](https://github.com/rails/rails ) from 5.2.3 to 5.2.4.
- [Release notes](https://github.com/rails/rails/releases )
- [Commits](https://github.com/rails/rails/compare/v5.2.3...v5.2.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* sprockets ~> 3.7
4 years ago
dependabot-preview[bot]
c436367c3c
Bump json-ld-preloaded from 3.0.4 to 3.0.6 ( #12361 )
Bumps [json-ld-preloaded](https://github.com/ruby-rdf/json-ld-preloaded ) from 3.0.4 to 3.0.6.
- [Release notes](https://github.com/ruby-rdf/json-ld-preloaded/releases )
- [Commits](https://github.com/ruby-rdf/json-ld-preloaded/compare/3.0.4...3.0.6 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
9dc2fc9ec6
Bump react-redux from 7.1.1 to 7.1.3 ( #12626 )
Bumps [react-redux](https://github.com/reduxjs/react-redux ) from 7.1.1 to 7.1.3.
- [Release notes](https://github.com/reduxjs/react-redux/releases )
- [Changelog](https://github.com/reduxjs/react-redux/blob/master/CHANGELOG.md )
- [Commits](https://github.com/reduxjs/react-redux/compare/v7.1.1...v7.1.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
b2aeb0061a
Bump webpacker from 4.2.0 to 4.2.2 ( #12632 )
Bumps [webpacker](https://github.com/rails/webpacker ) from 4.2.0 to 4.2.2.
- [Release notes](https://github.com/rails/webpacker/releases )
- [Changelog](https://github.com/rails/webpacker/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rails/webpacker/compare/v4.2.0...v4.2.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
08f48cbeb4
Bump eslint-plugin-import from 2.19.0 to 2.19.1 ( #12622 )
Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import ) from 2.19.0 to 2.19.1.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases )
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md )
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.19.0...v2.19.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
b6b2757fc7
Bump copy-webpack-plugin from 5.0.5 to 5.1.1 ( #12621 )
Bumps [copy-webpack-plugin](https://github.com/webpack-contrib/copy-webpack-plugin ) from 5.0.5 to 5.1.1.
- [Release notes](https://github.com/webpack-contrib/copy-webpack-plugin/releases )
- [Changelog](https://github.com/webpack-contrib/copy-webpack-plugin/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webpack-contrib/copy-webpack-plugin/compare/v5.0.5...v5.1.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
80fb452446
Bump css-loader from 3.2.0 to 3.3.2 ( #12624 )
Bumps [css-loader](https://github.com/webpack-contrib/css-loader ) from 3.2.0 to 3.3.2.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases )
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.2.0...v3.3.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
49d1190a97
Bump array-includes from 3.0.3 to 3.1.0 ( #12627 )
Bumps [array-includes](https://github.com/es-shims/array-includes ) from 3.0.3 to 3.1.0.
- [Release notes](https://github.com/es-shims/array-includes/releases )
- [Changelog](https://github.com/es-shims/array-includes/blob/master/CHANGELOG.md )
- [Commits](https://github.com/es-shims/array-includes/compare/v3.0.3...v3.1.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
99adf00d11
Bump doorkeeper from 5.2.2 to 5.2.3 ( #12630 )
Bumps [doorkeeper](https://github.com/doorkeeper-gem/doorkeeper ) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/doorkeeper-gem/doorkeeper/releases )
- [Changelog](https://github.com/doorkeeper-gem/doorkeeper/blob/master/CHANGELOG.md )
- [Commits](https://github.com/doorkeeper-gem/doorkeeper/compare/v5.2.2...v5.2.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
d5fe624992
Bump stackprof from 0.2.13 to 0.2.14 ( #12631 )
Bumps [stackprof](https://github.com/tmm1/stackprof ) from 0.2.13 to 0.2.14.
- [Release notes](https://github.com/tmm1/stackprof/releases )
- [Changelog](https://github.com/tmm1/stackprof/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tmm1/stackprof/compare/v0.2.13...v0.2.14 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
71b4e2dcbb
Bump parallel_tests from 2.29.2 to 2.30.0 ( #12634 )
Bumps [parallel_tests](https://github.com/grosser/parallel_tests ) from 2.29.2 to 2.30.0.
- [Release notes](https://github.com/grosser/parallel_tests/releases )
- [Commits](https://github.com/grosser/parallel_tests/compare/v2.29.2...v2.30.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
ThibG
7fe45e7c03
Changes to tootctl statuses remove ( #11267 )
* Fix comments in statuses_cli
The comment for the part of query keeping statuses which have replies was
incorrect, explaining the part of the query kept favourited statuses instead
* Keep statuses favourited by local users in tootctl statuses remove
* Do delete old replies that are not direct interactions with local users
* Skip reblogs of local statuses instead of all reblogs
* Optimize some queries
* Keep old statuses with recent reblogs
* Add option to clear toots from followed accounts too
4 years ago
ThibG
2ee5a9d9c3
Clean up OStatus-related codepaths ( #12173 )
* Remove “protocol” argument and return value, as only ActivityPub is supported
* Remove FetchRemoteAccountService, only use ActivityPub::FetchRemoteAccountService
* Fix tests
4 years ago
ThibG
da2143b308
Fixes featured hashtag setting page erroring out instead of rejecting invalid tags ( #12436 )
* Revert "Fix ignoring whole status because of one invalid hashtag (#11621 )"
This reverts commit dff46b260b
.
* Fix statuses being rejected because of invalid hashtag names
* Add spec for invalid hashtag names in statuses
* Add test for featured tags controller
4 years ago
scd31
3830c0b741
Increase max backup size ( #12602 )
* Increased max backup size
* partially reverted schema.rb
4 years ago
dependabot-preview[bot]
0aaedcd66f
Bump @babel/preset-env from 7.7.4 to 7.7.6 ( #12623 )
Bumps [@babel/preset-env](https://github.com/babel/babel ) from 7.7.4 to 7.7.6.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/compare/v7.7.4...v7.7.6 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
7e736d77dd
Bump compression-webpack-plugin from 3.0.0 to 3.0.1 ( #12620 )
Bumps [compression-webpack-plugin](https://github.com/webpack-contrib/compression-webpack-plugin ) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/webpack-contrib/compression-webpack-plugin/releases )
- [Changelog](https://github.com/webpack-contrib/compression-webpack-plugin/blob/v3.0.1/CHANGELOG.md )
- [Commits](https://github.com/webpack-contrib/compression-webpack-plugin/compare/v3.0.0...v3.0.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago
dependabot-preview[bot]
ed015e2e3d
Bump faker from 2.8.0 to 2.8.1 ( #12633 )
Bumps [faker](https://github.com/faker-ruby/faker ) from 2.8.0 to 2.8.1.
- [Release notes](https://github.com/faker-ruby/faker/releases )
- [Changelog](https://github.com/faker-ruby/faker/blob/master/CHANGELOG.md )
- [Commits](https://github.com/faker-ruby/faker/compare/v2.8.0...v2.8.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years ago