c67220d7c1
A previous commit, g/349439, we had to revert the implementation of the TopNav in the user’s account settings page (/profile/settings). The previouis implementation was using document.querySelector on a non-existent DOM element which caused the page to break when the instui_topnav FF was turned off (because mountPoint was not found in the DOM). At the time of this implmentation, IIRC, we did not have initializeTopNavPortal() which now handles cases where the mountPoint does not exist in the DOM. This commit re-impliments the TopNav on the user’s account settings page using initializeTopNavPortal(). This commit also updates the breadcrumbs to have two parts (instead of just one part) regardless of the feature flag setting. This change makes the breadcrumbs more consistent with the rest of the links in the user’s settings sidebar. Additionally, having two breadcrumbs avoids a bug with the current version of the InstUI TopNavBar as documented here: https://instructure.slack.com/archives/C0JCJ63TR/p1717523719748679 refs FOO-4085 flag=instui_nav test plan: - in new tab, navigate to User > Settings /profile/settings - TopNav should be displayed with breadcrumbs - breadcrumbs should have two parts: 1. user short name linked to /profile route 2. string “Settings” - enable the instui-nav flag - check >= tablet viewports - page should fully render - no errors in console - disable instui-nav flag - check >= tablet viewports - reload /profile/settings - page should fully render - no errors in console Change-Id: I232687f7debf2ed19ee580a881a44d9995dac484 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349458 Reviewed-by: Martin Ochoa <martin.ochoa@instructure.com> Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> QA-Review: Michael Hulse <michael.hulse@instructure.com> Product-Review: Michael Hulse <michael.hulse@instructure.com> |
||
---|---|---|
.github | ||
.storybook | ||
.vscode | ||
Gemfile.d | ||
app | ||
bin | ||
build | ||
config | ||
db/migrate | ||
doc | ||
docker-compose | ||
gems | ||
hooks | ||
inst-cli | ||
jest | ||
lib | ||
log | ||
packages | ||
patches | ||
public | ||
script | ||
spec | ||
tmp | ||
ui | ||
ui-build | ||
vendor/gems/bundler-multilock | ||
.codeclimate.yml | ||
.dependency-cruiser.js | ||
.devcontainer.json | ||
.dive-ci | ||
.dockerignore | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.gitmessage | ||
.groovylintrc.json | ||
.i18nignore | ||
.i18nrc | ||
.irbrc | ||
.lintstagedrc.js | ||
.npmrc | ||
.nvmrc | ||
.prettierrc | ||
.rspec | ||
.rubocop.yml | ||
.sentryignore | ||
.stylelintrc | ||
CONTRIBUTING.md | ||
COPYRIGHT | ||
Courses | ||
Dockerfile | ||
Dockerfile.githook | ||
Dockerfile.jenkins | ||
Dockerfile.jenkins-cache | ||
Dockerfile.jenkins.final | ||
Dockerfile.jenkins.js | ||
Dockerfile.jenkins.linters | ||
Dockerfile.jenkins.ruby-runner | ||
Dockerfile.jenkins.webpack-assets | ||
Dockerfile.jenkins.webpack-builder | ||
Dockerfile.jenkins.webpack-cache | ||
Dockerfile.jenkins.webpack-runner | ||
Dockerfile.jenkins.yarn-runner | ||
Dockerfile.package-translations | ||
Dockerfile.production | ||
Dockerfile.puma | ||
Gemfile | ||
Gemfile.lock | ||
Gemfile.rails71.lock | ||
Jenkinsfile | ||
Jenkinsfile.axe | ||
Jenkinsfile.cassandra | ||
Jenkinsfile.contract-tests | ||
Jenkinsfile.coverage | ||
Jenkinsfile.coverage-js | ||
Jenkinsfile.crystalball | ||
Jenkinsfile.dive | ||
Jenkinsfile.docker-smoke | ||
Jenkinsfile.docker-sync | ||
Jenkinsfile.dynamodb | ||
Jenkinsfile.js | ||
Jenkinsfile.junit-uploader | ||
Jenkinsfile.master-bouncer-check-all | ||
Jenkinsfile.package-translations | ||
Jenkinsfile.postgres | ||
Jenkinsfile.redis | ||
Jenkinsfile.rspecq | ||
Jenkinsfile.selenium.flakey_spec_catcher | ||
Jenkinsfile.selenium.performance.chrome | ||
Jenkinsfile.test-subbuild | ||
Jenkinsfile.vendored-gems | ||
Jenkinsfile.xbrowser | ||
LICENSE | ||
README.md | ||
Rakefile | ||
SECURITY.md | ||
bower.json | ||
code_of_conduct.md | ||
config.ru | ||
docker-compose.new-jenkins-flakey-spec-catcher.yml | ||
docker-compose.new-jenkins-js.yml | ||
docker-compose.new-jenkins-package-translations.yml | ||
docker-compose.new-jenkins-selenium.yml | ||
docker-compose.new-jenkins.consumer.yml | ||
docker-compose.new-jenkins.vendored-gems.yml | ||
docker-compose.new-jenkins.yml | ||
docker-compose.spring.yml | ||
docker-compose.yml | ||
gulpfile.js | ||
issue_template.md | ||
jest.config.js | ||
karma.conf.js | ||
package.json | ||
renovate.json | ||
rspack.config.js | ||
tsconfig.json | ||
vitest.config.ts | ||
vitest.workspace.ts | ||
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.