discourse/app/assets/javascripts/discourse
David Taylor c82094cd9d
PERF: Refactor slide-in menu sizing for improved performance (#20377)
Using Javascript to read and recalculate sizing is prone to causing 'forced reflows', which are very expensive, especially on slower devices. This PR refactors the slide-in menus so that all of the height calculation is done using CSS. This is made possible by the new dvh (dynamic view height) units and env(safe-area-inset-bottom), both of which are supported on all of our target browsers.

In tests on a moto g50, on a sidebar with 16 categories, 15 tags, and 2 chat channels, this improves the sidebar opening time by around 50ms (6%).
2023-02-21 13:55:38 +00:00
..
app PERF: Refactor slide-in menu sizing for improved performance (#20377) 2023-02-21 13:55:38 +00:00
config Drop support for iOS < 15.7 (#19847) 2023-01-16 17:28:59 +00:00
lib DEV: Enable parallel babel processing in ember-cli (#20215) 2023-02-09 16:24:24 +00:00
public/assets/scripts DEV: Enable @cached decorator for themes and plugins (#19261) 2022-11-30 15:53:54 +00:00
scripts Drop support for iOS < 15.7 (#19847) 2023-01-16 17:28:59 +00:00
tests PERF: Refactor slide-in menu sizing for improved performance (#20377) 2023-02-21 13:55:38 +00:00
.ember-cli
.npmrc
ember-cli-build.js DEV: Enable parallel babel processing in ember-cli (#20215) 2023-02-09 16:24:24 +00:00
jsconfig.json DEV: Add discourse/tests to jsconfig (#19031) 2022-11-15 11:33:56 +00:00
package.json Build(deps): Bump sass from 1.58.1 to 1.58.3 in /app/assets/javascripts (#20362) 2023-02-19 23:41:12 +01:00
testem.js DEV: Move shouldLoadPluginTestJs() (#19045) 2022-11-16 11:07:58 +01:00