about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2019-12-29Summary: fix slowness due to layout thrashing when reloading a large … ↵Matt Panaro
(#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-29Fix old migrations failing because of strong_migrations update (#12692)ThibG
Fixes #12690 The `strong_migrations` update from ba2eac8824a85aa9541f8070ed7bcd22b9982cc8 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-27[Security] Bump handlebars from 4.2.0 to 4.5.3 (#12694)dependabot-preview[bot]
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-25Bump @babel/runtime from 7.7.6 to 7.7.7 (#12670)dependabot-preview[bot]
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-25Bump enzyme from 3.10.0 to 3.11.0 (#12675)dependabot-preview[bot]
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-25Bump object.values from 1.1.0 to 1.1.1 (#12625)dependabot-preview[bot]
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-25Bump @babel/preset-env from 7.7.6 to 7.7.7 (#12672)dependabot-preview[bot]
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-25Bump css-loader from 3.3.2 to 3.4.0 (#12673)dependabot-preview[bot]
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-25Bump mini-css-extract-plugin from 0.8.0 to 0.9.0 (#12674)dependabot-preview[bot]
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-25Bump sass from 1.23.3 to 1.24.0 (#12676)dependabot-preview[bot]
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-25Bump rubocop from 0.77.0 to 0.78.0 (#12677)dependabot-preview[bot]
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-25Bump array-includes from 3.1.0 to 3.1.1 (#12671)dependabot-preview[bot]
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-25Bump faker from 2.8.1 to 2.9.0 (#12680)dependabot-preview[bot]
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-23Bump strong_migrations from 0.5.0 to 0.5.1 (#12679)dependabot-preview[bot]
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-23Bump rails from 5.2.4 to 5.2.4.1 (#12682)dependabot-preview[bot]
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-23Bump rack-attack from 6.2.1 to 6.2.2 (#12681)dependabot-preview[bot]
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-23Bump oj from 3.9.2 to 3.10.0 (#12683)dependabot-preview[bot]
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-23Fix sample SAML_ACS_URL, SAML_ISSUER (#12669)Aries
2019-12-23Use eslint cache (#12668)BSKY
2019-12-22Update link to install docs (#12666)trwnh
2019-12-22Correct the Nanobox deploy hooks for order and context (#12663)Dan Hunsaker
One hook was actually duplicated incorrectly; this has been fixed. Another hook was re-ordered for better results in actual use.
2019-12-19Use different strings on exports page (#12569)Sasha Sorokin
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-19Fix manual scrolling issue on Firefox/Windows (#12648)ThibG
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-19fix multiple space (#12655)Marcin Mikołajczak
2019-12-19[Security] Bump rack from 2.0.7 to 2.0.8 (#12654)dependabot-preview[bot]
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-18Fix unsafe column type change in migration (#12653)Eugen Rochko
2019-12-18Fix custom emoji category creation silently erroring out on duplicate ↵ThibG
category (#12647) Instead, just re-use the existing category if any. Fixes #12608
2019-12-18Remove unused translatable strings (#12643)ThibG
* 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-18Fix link crawler not specifying accepted content-type (#12646)ThibG
The link crawler expects HTML documents, so set the `Accept` header accordingly. Fixes #12618
2019-12-18Add signature to exported status (#12649)Takeshi Umeda
2019-12-18Fix typo in login feature-test. (#12651)Bèr Kessels
2019-12-18Fix an error when ActivityPub::FetchRemoteStatusService url is called with ↵Takeshi Umeda
nil (#12652)
2019-12-18Bump rails from 5.2.3 to 5.2.4 (#12584)dependabot-preview[bot]
* 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-18Bump json-ld-preloaded from 3.0.4 to 3.0.6 (#12361)dependabot-preview[bot]
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-18Bump react-redux from 7.1.1 to 7.1.3 (#12626)dependabot-preview[bot]
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-18Bump webpacker from 4.2.0 to 4.2.2 (#12632)dependabot-preview[bot]
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-18Bump eslint-plugin-import from 2.19.0 to 2.19.1 (#12622)dependabot-preview[bot]
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-18Bump copy-webpack-plugin from 5.0.5 to 5.1.1 (#12621)dependabot-preview[bot]
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-18Bump css-loader from 3.2.0 to 3.3.2 (#12624)dependabot-preview[bot]
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-18Bump array-includes from 3.0.3 to 3.1.0 (#12627)dependabot-preview[bot]
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-18Bump doorkeeper from 5.2.2 to 5.2.3 (#12630)dependabot-preview[bot]
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-18Bump stackprof from 0.2.13 to 0.2.14 (#12631)dependabot-preview[bot]
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-18Bump parallel_tests from 2.29.2 to 2.30.0 (#12634)dependabot-preview[bot]
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-17Changes to tootctl statuses remove (#11267)ThibG
* 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
2019-12-17Clean up OStatus-related codepaths (#12173)ThibG
* Remove “protocol” argument and return value, as only ActivityPub is supported * Remove FetchRemoteAccountService, only use ActivityPub::FetchRemoteAccountService * Fix tests
2019-12-17Fixes featured hashtag setting page erroring out instead of rejecting ↵ThibG
invalid tags (#12436) * Revert "Fix ignoring whole status because of one invalid hashtag (#11621)" This reverts commit dff46b260b2f7d765d254c84a4b89105c7de5e97. * Fix statuses being rejected because of invalid hashtag names * Add spec for invalid hashtag names in statuses * Add test for featured tags controller
2019-12-17Increase max backup size (#12602)scd31
* Increased max backup size * partially reverted schema.rb
2019-12-17Bump @babel/preset-env from 7.7.4 to 7.7.6 (#12623)dependabot-preview[bot]
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>
2019-12-17Bump compression-webpack-plugin from 3.0.0 to 3.0.1 (#12620)dependabot-preview[bot]
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>
2019-12-17Bump faker from 2.8.0 to 2.8.1 (#12633)dependabot-preview[bot]
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>