50cb8d8388
closes: CORE-2904 CORE-2905 CORE-2906 This will send the XHR requests for the dashcards and for all the stuff in the planner dashboard sooner. As in, as soon as the html document comes back from the server, instead of waiting until all the js bundles have downloaded and executed. This should remove a round-trip from the dashboard page and you should notice the planner and dashcard dashboards complete loading a lot faster. By sending the requests sooner, our app servers can work on them while the browser is downloading all the rest of the JS that it needs to run the page. And by having our app servers work on that at the same time the browser works on the JS, the entire page will complete loading faster. Test plan: * go to the planner dashboard * you should see 4 requests with the type “fetch” in the network panel in the waterfall right at the same time the html document is returned * you should not see any more XHRs sent from axios on page load for the planner dashboard (it should use the prefetched ones) * in a prod environment, where you have multiple app server processes handling requests, the planner dashboard should complete loading a lot faster * In that same prod like environment, go to the dashcard dashboard * same thing, it should issue a “fetch” request right with the html document comes back from the server and not issue an second XHR once the JS is loaded. * it should be complete loading significantly faster too. Change-Id: I0503c1a4d913fd1baa4dad22b9a88333ff747c0d Reviewed-on: https://gerrit.instructure.com/192161 Tested-by: Jenkins QA-Review: Mysti Lilla <mysti@instructure.com> Product-Review: Mysti Lilla <mysti@instructure.com> Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com> |
||
---|---|---|
.github | ||
Gemfile.d | ||
app | ||
bin | ||
build | ||
client_apps | ||
config | ||
db/migrate | ||
doc | ||
docker-compose | ||
frontend_build | ||
gems | ||
hooks | ||
jest | ||
lib | ||
packages | ||
pact | ||
public | ||
script | ||
spec | ||
.bowerrc | ||
.codeclimate.yml | ||
.dockerignore | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.i18nignore | ||
.i18nrc | ||
.lintstagedrc.js | ||
.npmrc | ||
.nvmrc | ||
.prettierrc | ||
.prettierwhitelist.js | ||
.rubocop.yml | ||
.selinimumignore | ||
.stylelintrc | ||
.travis.yml | ||
CONTRIBUTING.md | ||
COPYRIGHT | ||
Dockerfile | ||
Dockerfile-production | ||
Dockerfile.githook | ||
Gemfile | ||
Jenkinsfile | ||
LICENSE | ||
README.md | ||
Rakefile | ||
babel.config.js | ||
bower.json | ||
code_of_conduct.md | ||
config.ru | ||
docker-compose.jenkins.yml | ||
docker-compose.new-jenkins.yml | ||
docker-compose.override.yml | ||
docker-compose.yml | ||
gulpfile.js | ||
issue_template.md | ||
jest.config.js | ||
karma.conf.js | ||
package.json | ||
schema.graphql | ||
webpack.config.js | ||
webpack.test.config.js | ||
yarn.lock |
README.md
Canvas LMS
Canvas is a modern, open-source LMS developed and maintained by Instructure Inc. It is released under the AGPLv3 license for use by anyone interested in learning more about or using learning management systems.
Please see our main wiki page for more information
Installation
Detailed instructions for installation and configuration of Canvas are provided on our wiki.