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
2019-12-29 05:39:48 +01:00
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.
2019-12-29 05:39:08 +01:00
ThibG
22daf24600
Merge pull request #1257 from ThibG/glitch-soc/merge-upstream
...
Merge upstream changes
2019-12-28 19:10:27 +01:00
Thibaut Girka
ad29279214
Merge branch 'master' into glitch-soc/merge-upstream
...
Conflicts:
- `README.md`
- `package.json`
2019-12-28 17:48:40 +01:00
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>
2019-12-27 11:41:55 +09:00
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>
2019-12-25 09:15:31 +09:00
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>
2019-12-25 09:15:03 +09:00
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>
2019-12-25 03:15:44 +09:00
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>
2019-12-25 02:42:11 +09:00
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>
2019-12-25 02:40:58 +09:00
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>
2019-12-25 02:38:44 +09:00
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>
2019-12-25 02:33:12 +09:00
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>
2019-12-25 02:27:14 +09:00
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>
2019-12-25 02:25:51 +09:00
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>
2019-12-25 02:25:14 +09:00
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>
2019-12-23 22:38:19 +01:00
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>
2019-12-23 22:37:35 +01:00
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>
2019-12-23 22:36:06 +01:00
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>
2019-12-23 22:35:04 +01:00
Aries
44f88a334b
Fix sample SAML_ACS_URL, SAML_ISSUER ( #12669 )
2019-12-23 18:12:22 +01:00
BSKY
cf4dc3ffb3
Use eslint cache ( #12668 )
2019-12-23 07:27:55 +01:00
db530966f7
Update link to install docs ( #12666 )
2019-12-22 22:22:09 +01:00
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.
2019-12-22 08:55:27 +01:00
ThibG
f064cd4fb8
Merge pull request #1255 from ThibG/glitch-soc/merge-upstream
...
Merge upstream changes
2019-12-19 16:07:21 +01:00
ThibG
dace054c06
[Glitch] Fix manual scrolling issue on Firefox/Windows
...
Port dc0750abc3
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-12-19 14:43:47 +01:00
Thibaut Girka
e79fca176b
Fix issue because of theming system
2019-12-19 14:42:16 +01:00
Sasha Sorokin
7d2b1dc094
[Glitch] Improve report page structure
...
Port 34aa5c7cb2
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-12-19 14:37:12 +01:00
Thibaut Girka
ab5ff638f2
Merge branch 'master' into glitch-soc/master
...
Conflicts:
- `config/locales/en.yml`
No real conflict, upstream added a translatable string “too close” to
one specific to glitch-soc
- `lib/mastodon/statuses_cli.rb`
Fixes made upstream, while changed in glitch-soc to keep bookmarked statuses
- `package.json`
No real conflict, additional dependency in glitch-soc
2019-12-19 13:52:54 +01:00
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.
2019-12-19 12:47:55 +01:00
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…
2019-12-19 12:47:19 +01:00
Marcin Mikołajczak
a90258dbe9
fix multiple space ( #12655 )
2019-12-19 07:39:08 +09:00
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>
2019-12-19 07:21:51 +09:00
Eugen Rochko
1afbe083fd
Fix unsafe column type change in migration ( #12653 )
2019-12-18 19:04:43 +01:00
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
2019-12-18 16:56:59 +01:00
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
2019-12-18 16:56:39 +01:00
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
2019-12-18 16:56:06 +01:00
Takeshi Umeda
68070e82cc
Add signature to exported status ( #12649 )
2019-12-18 16:55:21 +01:00
Bèr Kessels
8a347f4937
Fix typo in login feature-test. ( #12651 )
2019-12-18 16:54:29 +01:00
Takeshi Umeda
a391eaf4d8
Fix an error when ActivityPub::FetchRemoteStatusService url is called with nil ( #12652 )
2019-12-18 16:54:03 +01:00
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
2019-12-18 08:58:53 +09:00
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>
2019-12-18 04:04:30 +09:00
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>
2019-12-18 03:54:42 +09:00
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>
2019-12-18 03:53:15 +09:00
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>
2019-12-18 03:42:25 +09:00
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>
2019-12-18 03:42:02 +09:00
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>
2019-12-18 03:41:49 +09:00
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>
2019-12-18 03:40:34 +09:00
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>
2019-12-18 03:36:49 +09:00
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>
2019-12-18 03:34:20 +09:00
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>
2019-12-18 03:32:51 +09:00