Fix navigation warnings on autotest manager and starter file manager pages, closes 7641 - #7968
Conversation
d1b46c7 to
cb56873
Compare
Coverage Report for CI Build 26823406732Warning No base build found for commit Coverage: 90.193%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats💛 - Coveralls |
cb56873 to
864b0a8
Compare
david-yz-liu
left a comment
There was a problem hiding this comment.
Nice work, @philipkukulak. I left one inline comment, and also it seems like you should now be able to remove the loading of the _navigation_warning.js.erb partial from this page.
Please go ahead and also make the same change to the starter files page.
| handleFormChange = data => { | ||
| this.setState({formData: data.formData}, () => this.toggleFormChanged(true)); | ||
| this.setState({formData: data.formData}); | ||
| if (!this._initializing) { |
There was a problem hiding this comment.
Overall I don't think this _initializing attribute is necessary. You can check the current value of this.state.formData before doing any updates, treating Object.keys(this.state.formData).length === 0 as the "initializing" condition.
There was a problem hiding this comment.
Wouldn't Object.keys(this.state.formData).length > 0 if any form data already exists, e.g. some tester is already configured? That would mark the page 'dirty' by default whenever there's persistent data. I'm thinking of 'initialization' as the initial fetch for page contents rather than the contents of the page itself.
There was a problem hiding this comment.
I'm also considering "initialization" as the initial fetch. The initial state of this component sets formData: {}. After the data is fetched this will change. (For a new assignment I suppose it's possible the fetched value may be {} as well, I'm not sure. If so, you can change the initial formData state to null instead to disambiguate it.)
There was a problem hiding this comment.
Ahhh okay I think I understand. I'll re-request review once I pushed these changes. Thanks David.
c42f884 to
65c48bb
Compare
|
Removed the Note that overall test coverage has gone down because we've created a new test suite ( |
| <%= render partial: 'shared/navigation_warning', | ||
| formats: [:js], | ||
| handlers: [:erb] %> | ||
|
|
There was a problem hiding this comment.
Delete this blank line
| domContentLoadedCB() | ||
| } | ||
| })(); | ||
| $(document).on('click', 'input[type="submit"]', function () { |
There was a problem hiding this comment.
This change is quite different from the one for the autotest manager and not what I expected (this file is used by other views as well, so should not be changed).
The starter file page does use React, with the root component being StarterFileManager. Please make the same type of change you made for the AutotestManager in that component.
There was a problem hiding this comment.
Sorry, I was unclear; the starter file page doesn't use rjsf to render form contents like the autotester settings page does, which is the library that fires an onChange event right out the gate when fetchData is called.
About to push a commit in which the change to the starter files page mirrors that in the autotester settings page.
4fba0df to
6fcf002
Compare
be09793 to
291b36c
Compare
david-yz-liu
left a comment
There was a problem hiding this comment.
@philipkukulak okay looks good, but you should also now be able to remove the shared/navigation_warning include on the starter files page.
…pages, closes 7641
291b36c to
d82ab7a
Compare
* Refactored Result#generate_print_pdf to use Dir.mktmpdir (#7964) * Migrated asset pipeline from Sprockets to Propshaft (#7970) * Fix navigation warning on autotest manager and starter files manager pages (#7968) Closes #7641 * build(deps): bump js-routes from 2.3.6 to 2.3.7 (#7977) Bumps [js-routes](https://github.com/railsware/js-routes) from 2.3.6 to 2.3.7. - [Release notes](https://github.com/railsware/js-routes/releases) - [Changelog](https://github.com/railsware/js-routes/blob/main/CHANGELOG.md) - [Commits](railsware/js-routes@v2.3.6...v2.3.7) --- updated-dependencies: - dependency-name: js-routes dependency-version: 2.3.7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump the babel group with 5 updates (#7979) Bumps the babel group with 5 updates: | Package | From | To | | --- | --- | --- | | [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) | `7.29.2` | `7.29.7` | | [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.29.0` | `7.29.7` | | [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) | `7.29.0` | `7.29.7` | | [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.29.2` | `7.29.7` | | [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) | `7.28.5` | `7.29.7` | Updates `@babel/runtime` from 7.29.2 to 7.29.7 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-runtime) Updates `@babel/core` from 7.29.0 to 7.29.7 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-core) Updates `@babel/plugin-transform-runtime` from 7.29.0 to 7.29.7 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-plugin-transform-runtime) Updates `@babel/preset-env` from 7.29.2 to 7.29.7 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-preset-env) Updates `@babel/preset-react` from 7.28.5 to 7.29.7 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-preset-react) --- updated-dependencies: - dependency-name: "@babel/runtime" dependency-version: 7.29.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: babel - dependency-name: "@babel/core" dependency-version: 7.29.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: babel - dependency-name: "@babel/plugin-transform-runtime" dependency-version: 7.29.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: babel - dependency-name: "@babel/preset-env" dependency-version: 7.29.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: babel - dependency-name: "@babel/preset-react" dependency-version: 7.29.7 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: babel ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added graders column in Assignment Grades tab (#7967) Closes #3871. * build(deps): bump json from 2.19.2 to 2.19.8 (#7978) Bumps [json](https://github.com/ruby/json) from 2.19.2 to 2.19.8. - [Release notes](https://github.com/ruby/json/releases) - [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md) - [Commits](ruby/json@v2.19.2...v2.19.8) --- updated-dependencies: - dependency-name: json dependency-version: 2.19.7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump dayjs from 1.11.13 to 1.11.21 (#7982) Bumps [dayjs](https://github.com/iamkun/dayjs) from 1.11.13 to 1.11.21. - [Release notes](https://github.com/iamkun/dayjs/releases) - [Changelog](https://github.com/iamkun/dayjs/blob/dev/CHANGELOG.md) - [Commits](iamkun/dayjs@v1.11.13...v1.11.21) --- updated-dependencies: - dependency-name: dayjs dependency-version: 1.11.21 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump action_policy from 0.7.5 to 0.7.6 (#7976) Bumps [action_policy](https://github.com/palkan/action_policy) from 0.7.5 to 0.7.6. - [Release notes](https://github.com/palkan/action_policy/releases) - [Changelog](https://github.com/palkan/action_policy/blob/master/CHANGELOG.md) - [Commits](palkan/action_policy@v0.7.5...v0.7.6) --- updated-dependencies: - dependency-name: action_policy dependency-version: 0.7.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump playwright from 1.59.0 to 1.60.0 (#7980) Bumps [playwright](https://github.com/microsoft/playwright-python) from 1.59.0 to 1.60.0. - [Release notes](https://github.com/microsoft/playwright-python/releases) - [Commits](microsoft/playwright-python@v1.59.0...v1.60.0) --- updated-dependencies: - dependency-name: playwright dependency-version: 1.60.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump the rjsf group with 2 updates (#7981) Bumps the rjsf group with 2 updates: [@rjsf/core](https://github.com/rjsf-team/react-jsonschema-form) and [@rjsf/validator-ajv8](https://github.com/rjsf-team/react-jsonschema-form). Updates `@rjsf/core` from 6.5.2 to 6.6.1 - [Release notes](https://github.com/rjsf-team/react-jsonschema-form/releases) - [Changelog](https://github.com/rjsf-team/react-jsonschema-form/blob/main/CHANGELOG.md) - [Commits](rjsf-team/react-jsonschema-form@6.5.2...6.6.1) Updates `@rjsf/validator-ajv8` from 6.5.2 to 6.6.1 - [Release notes](https://github.com/rjsf-team/react-jsonschema-form/releases) - [Changelog](https://github.com/rjsf-team/react-jsonschema-form/blob/main/CHANGELOG.md) - [Commits](rjsf-team/react-jsonschema-form@6.5.2...6.6.1) --- updated-dependencies: - dependency-name: "@rjsf/core" dependency-version: 6.6.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rjsf - dependency-name: "@rjsf/validator-ajv8" dependency-version: 6.6.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rjsf ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Switched using react-resizable-panels in grading view (#8000) * Upgraded to Rails v8.1.3 (#8015) * Refactored SummaryPanel table to use react-table v8 (#8019) * Added documentation to this repo (#8022) * Documentation moved from https://github.com/MarkUsProject/Wiki. * We now use Jekyll to build the documentation pages. * Added markus:docs Rake task to build the documentation for production. * build(deps): bump actions/cache from 4 to 6 (#8026) Bumps [actions/cache](https://github.com/actions/cache) from 4 to 6. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v4...v6) --- updated-dependencies: - dependency-name: actions/cache dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump actions/checkout from 6 to 7 (#8024) Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump nanasess/setup-chromedriver from 2 to 3 (#8025) Bumps [nanasess/setup-chromedriver](https://github.com/nanasess/setup-chromedriver) from 2 to 3. - [Release notes](https://github.com/nanasess/setup-chromedriver/releases) - [Commits](nanasess/setup-chromedriver@v2...v3) --- updated-dependencies: - dependency-name: nanasess/setup-chromedriver dependency-version: '3' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump i18n-tasks from 1.0.15 to 1.1.2 (#8030) * build(deps-dev): bump i18n-tasks from 1.0.15 to 1.1.2 Bumps [i18n-tasks](https://github.com/glebm/i18n-tasks) from 1.0.15 to 1.1.2. - [Release notes](https://github.com/glebm/i18n-tasks/releases) - [Changelog](https://github.com/glebm/i18n-tasks/blob/main/CHANGES.md) - [Commits](glebm/i18n-tasks@v1.0.15...v1.1.2) --- updated-dependencies: - dependency-name: i18n-tasks dependency-version: 1.1.2 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated i18n-tasks config --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: David Liu <david@cs.toronto.edu> * build(deps-dev): bump bullet from 8.1.0 to 8.1.3 (#8027) Bumps [bullet](https://github.com/flyerhzm/bullet) from 8.1.0 to 8.1.3. - [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md) - [Commits](flyerhzm/bullet@8.1.0...8.1.3) --- updated-dependencies: - dependency-name: bullet dependency-version: 8.1.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump timecop from 0.9.10 to 0.9.11 (#8031) Bumps [timecop](https://github.com/travisjeffery/timecop) from 0.9.10 to 0.9.11. - [Changelog](https://github.com/travisjeffery/timecop/blob/master/History.md) - [Commits](travisjeffery/timecop@v0.9.10...v0.9.11) --- updated-dependencies: - dependency-name: timecop dependency-version: 0.9.11 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump marcel from 1.1.0 to 1.2.1 (#8033) Bumps [marcel](https://github.com/rails/marcel) from 1.1.0 to 1.2.1. - [Release notes](https://github.com/rails/marcel/releases) - [Commits](rails/marcel@v1.1.0...v1.2.1) --- updated-dependencies: - dependency-name: marcel dependency-version: 1.2.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump the rjsf group with 2 updates (#8035) Bumps the rjsf group with 2 updates: [@rjsf/core](https://github.com/rjsf-team/react-jsonschema-form) and [@rjsf/validator-ajv8](https://github.com/rjsf-team/react-jsonschema-form). Updates `@rjsf/core` from 6.6.1 to 6.6.2 - [Release notes](https://github.com/rjsf-team/react-jsonschema-form/releases) - [Changelog](https://github.com/rjsf-team/react-jsonschema-form/blob/main/CHANGELOG.md) - [Commits](rjsf-team/react-jsonschema-form@6.6.1...6.6.2) Updates `@rjsf/validator-ajv8` from 6.6.1 to 6.6.2 - [Release notes](https://github.com/rjsf-team/react-jsonschema-form/releases) - [Changelog](https://github.com/rjsf-team/react-jsonschema-form/blob/main/CHANGELOG.md) - [Commits](rjsf-team/react-jsonschema-form@6.6.1...6.6.2) --- updated-dependencies: - dependency-name: "@rjsf/core" dependency-version: 6.6.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rjsf - dependency-name: "@rjsf/validator-ajv8" dependency-version: 6.6.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rjsf ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump playwright from 1.60.0 to 1.61.0 (#8029) Bumps [playwright](https://github.com/microsoft/playwright-python) from 1.60.0 to 1.61.0. - [Release notes](https://github.com/microsoft/playwright-python/releases) - [Commits](microsoft/playwright-python@v1.60.0...v1.61.0) --- updated-dependencies: - dependency-name: playwright dependency-version: 1.61.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Upgraded babel to v8 (#8041) * Switched JSX compilation to the automatic runtime (#8042) * Migrated AnnotationUsagePanel to react table v8 (#8021) * Upgraded to React v19 (#8044) * Updated links to refer to new documentation website (#8049) * Updated documentation images (#8053) - moved externally-hosted images into repository - ensured images are vertically centred and displayed as new paragraphs - cropped images to remove blank space * Implemented GET test_runs API route (#8055) * Standardized Table of Contents in docs (#8062) * Added table to report incomplete scanned exam groups (#8051) * Made UI improvements for assign scans page (#8059) * Allow new instructors without existing courses to create a course via LTI launch (#8061) * Resolved/ignored Brakeman warnings and added Brakeman to CI checks (#8066) * Fixed scan error pages table "Status" column hidden "Fix" link (#8070) * Restricted cross-assignment grader membership changes (#8072) * Fixed grader random assignment to use post-filtered grader weights (#8073) * build(deps): bump loofah from 2.25.1 to 2.25.2 (#8077) Bumps [loofah](https://github.com/flavorjones/loofah) from 2.25.1 to 2.25.2. - [Release notes](https://github.com/flavorjones/loofah/releases) - [Changelog](https://github.com/flavorjones/loofah/blob/main/CHANGELOG.md) - [Commits](flavorjones/loofah@v2.25.1...v2.25.2) --- updated-dependencies: - dependency-name: loofah dependency-version: 2.25.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump websocket-driver from 0.8.1 to 0.8.2 (#8078) Bumps [websocket-driver](https://github.com/faye/websocket-driver-ruby) from 0.8.1 to 0.8.2. - [Changelog](https://github.com/faye/websocket-driver-ruby/blob/main/CHANGELOG.md) - [Commits](faye/websocket-driver-ruby@0.8.1...0.8.2) --- updated-dependencies: - dependency-name: websocket-driver dependency-version: 0.8.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump dompurify from 3.4.11 to 3.4.12 (#8081) Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.4.11 to 3.4.12. - [Release notes](https://github.com/cure53/DOMPurify/releases) - [Commits](cure53/DOMPurify@3.4.11...3.4.12) --- updated-dependencies: - dependency-name: dompurify dependency-version: 3.4.12 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump fast-uri from 3.1.2 to 3.1.4 (#8082) Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.2 to 3.1.4. - [Release notes](https://github.com/fastify/fast-uri/releases) - [Commits](fastify/fast-uri@v3.1.2...v3.1.4) --- updated-dependencies: - dependency-name: fast-uri dependency-version: 3.1.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Decreased scanned exam QR code size and ignored OCR whitespace characters (#8076) * build(deps): bump immutable from 5.1.5 to 5.1.9 (#8080) Bumps [immutable](https://github.com/immutable-js/immutable-js) from 5.1.5 to 5.1.9. - [Release notes](https://github.com/immutable-js/immutable-js/releases) - [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md) - [Commits](immutable-js/immutable-js@v5.1.5...v5.1.9) --- updated-dependencies: - dependency-name: immutable dependency-version: 5.1.9 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump rails-html-sanitizer from 1.6.2 to 1.7.1 (#8079) Bumps [rails-html-sanitizer](https://github.com/rails/rails-html-sanitizer) from 1.6.2 to 1.7.1. - [Release notes](https://github.com/rails/rails-html-sanitizer/releases) - [Changelog](https://github.com/rails/rails-html-sanitizer/blob/main/CHANGELOG.md) - [Commits](rails/rails-html-sanitizer@v1.6.2...v1.7.1) --- updated-dependencies: - dependency-name: rails-html-sanitizer dependency-version: 1.7.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Automatically collect submissions for complete scanned assessments (#8069) * build(deps): bump rmagick from 6.2.0 to 7.0.5 (#8028) * build(deps): bump rmagick from 6.2.0 to 7.0.5 Bumps [rmagick](https://github.com/rmagick/rmagick) from 6.2.0 to 7.0.5. - [Release notes](https://github.com/rmagick/rmagick/releases) - [Changelog](https://github.com/rmagick/rmagick/blob/main/CHANGELOG.md) - [Commits](https://github.com/rmagick/rmagick/commits) --- updated-dependencies: - dependency-name: rmagick dependency-version: 7.0.5 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Added installation of system packages to test_jest CI action --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: David Liu <david@cs.toronto.edu> * build(deps): bump json from 2.19.8 to 2.19.9 (#8084) Bumps [json](https://github.com/ruby/json) from 2.19.8 to 2.19.9. - [Release notes](https://github.com/ruby/json/releases) - [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md) - [Commits](ruby/json@v2.19.8...v2.19.9) --- updated-dependencies: - dependency-name: json dependency-version: 2.19.9 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Refactored groups tables to use react-table v8 (#8068) * Prevented check_timeout calls when window is inactive or session has expired (#8074) * Modified release scripts to use only plain Ruby (#8086) Excluded release/ scripts from rubocop linting * build(deps-dev): bump postcss from 8.5.15 to 8.5.23 (#8087) Bumps [postcss](https://github.com/postcss/postcss) from 8.5.15 to 8.5.23. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](postcss/postcss@8.5.15...8.5.23) --- updated-dependencies: - dependency-name: postcss dependency-version: 8.5.23 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fixed typos and icons in documentation (#8088) * build(deps-dev): bump msgpack from 1.8.0 to 1.8.2 (#8091) Bumps [msgpack](https://github.com/msgpack/msgpack-ruby) from 1.8.0 to 1.8.2. - [Changelog](https://github.com/msgpack/msgpack-ruby/blob/master/ChangeLog) - [Commits](msgpack/msgpack-ruby@v1.8.0...v1.8.2) --- updated-dependencies: - dependency-name: msgpack dependency-version: 1.8.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump postcss from 8.5.23 to 8.5.24 (#8099) Bumps [postcss](https://github.com/postcss/postcss) from 8.5.23 to 8.5.24. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](postcss/postcss@8.5.23...8.5.24) --- updated-dependencies: - dependency-name: postcss dependency-version: 8.5.24 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump selenium-webdriver from 4.35.0 to 4.46.0 (#8095) Bumps [selenium-webdriver](https://github.com/SeleniumHQ/selenium) from 4.35.0 to 4.46.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Changelog](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES) - [Commits](SeleniumHQ/selenium@selenium-4.35.0...selenium-4.46.0) --- updated-dependencies: - dependency-name: selenium-webdriver dependency-version: 4.46.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump i18n from 1.14.8 to 1.15.2 (#8093) Bumps [i18n](https://github.com/ruby-i18n/i18n) from 1.14.8 to 1.15.2. - [Release notes](https://github.com/ruby-i18n/i18n/releases) - [Changelog](https://github.com/ruby-i18n/i18n/blob/master/CHANGELOG.md) - [Commits](ruby-i18n/i18n@v1.14.8...v1.15.2) --- updated-dependencies: - dependency-name: i18n dependency-version: 1.15.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump rubyzip from 3.2.2 to 3.4.1 (#8092) * build(deps): bump rubyzip from 3.2.2 to 3.4.1 Bumps [rubyzip](https://github.com/rubyzip/rubyzip) from 3.2.2 to 3.4.1. - [Release notes](https://github.com/rubyzip/rubyzip/releases) - [Changelog](https://github.com/rubyzip/rubyzip/blob/main/Changelog.md) - [Commits](rubyzip/rubyzip@v3.2.2...v3.4.1) --- updated-dependencies: - dependency-name: rubyzip dependency-version: 3.4.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated Gemfile to remove "require: 'zip'", which was required before Rubyzip 3.4. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: David Liu <david@cs.toronto.edu> * build(deps): bump the fortawesome group with 5 updates (#8094) Bumps the fortawesome group with 5 updates: | Package | From | To | | --- | --- | --- | | [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) | `7.3.0` | `7.3.1` | | [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `7.3.0` | `7.3.1` | | [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `7.3.0` | `7.3.1` | | [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `7.3.0` | `7.3.1` | | [@fortawesome/react-fontawesome](https://github.com/FortAwesome/react-fontawesome) | `3.3.1` | `3.5.0` | Updates `@fortawesome/fontawesome-svg-core` from 7.3.0 to 7.3.1 - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/7.x/CHANGELOG.md) - [Commits](FortAwesome/Font-Awesome@7.3.0...7.3.1) Updates `@fortawesome/free-brands-svg-icons` from 7.3.0 to 7.3.1 - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/7.x/CHANGELOG.md) - [Commits](FortAwesome/Font-Awesome@7.3.0...7.3.1) Updates `@fortawesome/free-regular-svg-icons` from 7.3.0 to 7.3.1 - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/7.x/CHANGELOG.md) - [Commits](FortAwesome/Font-Awesome@7.3.0...7.3.1) Updates `@fortawesome/free-solid-svg-icons` from 7.3.0 to 7.3.1 - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/7.x/CHANGELOG.md) - [Commits](FortAwesome/Font-Awesome@7.3.0...7.3.1) Updates `@fortawesome/react-fontawesome` from 3.3.1 to 3.5.0 - [Release notes](https://github.com/FortAwesome/react-fontawesome/releases) - [Changelog](https://github.com/FortAwesome/react-fontawesome/blob/main/CHANGELOG.md) - [Commits](FortAwesome/react-fontawesome@v3.3.1...v3.5.0) --- updated-dependencies: - dependency-name: "@fortawesome/fontawesome-svg-core" dependency-version: 7.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: fortawesome - dependency-name: "@fortawesome/free-brands-svg-icons" dependency-version: 7.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: fortawesome - dependency-name: "@fortawesome/free-regular-svg-icons" dependency-version: 7.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: fortawesome - dependency-name: "@fortawesome/free-solid-svg-icons" dependency-version: 7.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: fortawesome - dependency-name: "@fortawesome/react-fontawesome" dependency-version: 3.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: fortawesome ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump the react group with 2 updates (#8096) Bumps the react group with 2 updates: [react](https://github.com/react/react/tree/HEAD/packages/react) and [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom). Updates `react` from 19.2.7 to 19.2.8 - [Release notes](https://github.com/react/react/releases) - [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/react/react/commits/v19.2.8/packages/react) Updates `react-dom` from 19.2.7 to 19.2.8 - [Release notes](https://github.com/react/react/releases) - [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/react/react/commits/v19.2.8/packages/react-dom) --- updated-dependencies: - dependency-name: react dependency-version: 19.2.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: react - dependency-name: react-dom dependency-version: 19.2.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: react ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added row number along side of assignment grades table (#8089) * Migrated functions using heic2any to heic-convert (#8100) Removed script-src CSP exceptions that were required by heic2any. * Resolved API key hash security warning (#8104) * Added option to fix sideways scans (#8103) * build(deps): bump fast-uri from 3.1.4 to 3.1.5 (#8107) Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.4 to 3.1.5. - [Release notes](https://github.com/fastify/fast-uri/releases) - [Commits](fastify/fast-uri@v3.1.4...v3.1.5) --- updated-dependencies: - dependency-name: fast-uri dependency-version: 3.1.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added row numbers to course summaries table (#8108) * build(deps): bump the rjsf group across 1 directory with 2 updates (#8097) Bumps the rjsf group with 2 updates in the / directory: [@rjsf/core](https://github.com/rjsf-team/react-jsonschema-form) and [@rjsf/validator-ajv8](https://github.com/rjsf-team/react-jsonschema-form). Updates `@rjsf/core` from 6.6.2 to 6.7.1 - [Release notes](https://github.com/rjsf-team/react-jsonschema-form/releases) - [Changelog](https://github.com/rjsf-team/react-jsonschema-form/blob/main/CHANGELOG.md) - [Commits](rjsf-team/react-jsonschema-form@6.6.2...v6.7.1) Updates `@rjsf/validator-ajv8` from 6.6.2 to 6.7.1 - [Release notes](https://github.com/rjsf-team/react-jsonschema-form/releases) - [Changelog](https://github.com/rjsf-team/react-jsonschema-form/blob/main/CHANGELOG.md) - [Commits](rjsf-team/react-jsonschema-form@6.6.2...v6.7.1) --- updated-dependencies: - dependency-name: "@rjsf/core" dependency-version: 6.7.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rjsf - dependency-name: "@rjsf/validator-ajv8" dependency-version: 6.7.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rjsf ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump dompurify from 3.4.12 to 3.4.13 (#8112) Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.4.12 to 3.4.13. - [Release notes](https://github.com/cure53/DOMPurify/releases) - [Commits](cure53/DOMPurify@3.4.12...3.4.13) --- updated-dependencies: - dependency-name: dompurify dependency-version: 3.4.13 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Updated to Rails v8.1.3.1 (#8113) * Enable group invitations to use email addresses (#8106) Previously, inviters had to use usernames to invite students to a group. * Replaced jcrop with cropperjs for exam cover page cropping (#8114) * build(deps-dev): bump webmock from 3.26.1 to 3.26.2 (#8119) Bumps [webmock](https://github.com/bblimke/webmock) from 3.26.1 to 3.26.2. - [Release notes](https://github.com/bblimke/webmock/releases) - [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md) - [Commits](bblimke/webmock@v3.26.1...v3.26.2) --- updated-dependencies: - dependency-name: webmock dependency-version: 3.26.2 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump csv from 3.3.5 to 3.3.6 (#8122) Bumps [csv](https://github.com/ruby/csv) from 3.3.5 to 3.3.6. - [Release notes](https://github.com/ruby/csv/releases) - [Changelog](https://github.com/ruby/csv/blob/main/NEWS.md) - [Commits](ruby/csv@v3.3.5...v3.3.6) --- updated-dependencies: - dependency-name: csv dependency-version: 3.3.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump bootsnap from 1.24.0 to 1.24.6 (#8115) Bumps [bootsnap](https://github.com/rails/bootsnap) from 1.24.0 to 1.24.6. - [Release notes](https://github.com/rails/bootsnap/releases) - [Changelog](https://github.com/rails/bootsnap/blob/main/CHANGELOG.md) - [Commits](rails/bootsnap@v1.24.0...v1.24.6) --- updated-dependencies: - dependency-name: bootsnap dependency-version: 1.24.6 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump @rails/actioncable in the rails group (#8120) Bumps the rails group with 1 update: [@rails/actioncable](https://github.com/rails/rails). Updates `@rails/actioncable` from 8.1.300 to 8.1.301 - [Release notes](https://github.com/rails/rails/releases) - [Commits](https://github.com/rails/rails/commits) --- updated-dependencies: - dependency-name: "@rails/actioncable" dependency-version: 8.1.301 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rails ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump autoprefixer from 10.5.0 to 10.5.4 (#8121) Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.5.0 to 10.5.4. - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md) - [Commits](postcss/autoprefixer@10.5.0...10.5.4) --- updated-dependencies: - dependency-name: autoprefixer dependency-version: 10.5.4 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump mime from 4.0.7 to 4.1.0 (#8123) Bumps [mime](https://github.com/broofa/mime) from 4.0.7 to 4.1.0. - [Release notes](https://github.com/broofa/mime/releases) - [Changelog](https://github.com/broofa/mime/blob/main/CHANGELOG.md) - [Commits](broofa/mime@v4.0.7...v4.1.0) --- updated-dependencies: - dependency-name: mime dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump brakeman from 8.0.4 to 8.0.5 (#8125) Bumps [brakeman](https://github.com/presidentbeef/brakeman) from 8.0.4 to 8.0.5. - [Release notes](https://github.com/presidentbeef/brakeman/releases) - [Changelog](https://github.com/presidentbeef/brakeman/blob/main/CHANGES.md) - [Commits](presidentbeef/brakeman@v8.0.4...v8.0.5) --- updated-dependencies: - dependency-name: brakeman dependency-version: 8.0.5 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Removed CSP img_src blob exception for scanned exam routes (#8109) The affected routes are ExamTemplatesController#assign_errors and GroupsController#assign_scans * build(deps): bump resque-scheduler from 4.11.0 to 5.0.0 (#8124) Bumps [resque-scheduler](https://github.com/resque/resque-scheduler) from 4.11.0 to 5.0.0. - [Release notes](https://github.com/resque/resque-scheduler/releases) - [Changelog](https://github.com/resque/resque-scheduler/blob/master/CHANGELOG.md) - [Commits](resque/resque-scheduler@v4.11.0...v5.0.0) --- updated-dependencies: - dependency-name: resque-scheduler dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Refactored grading annotation routes to respond with JSON (#8127) * Updated autotester test request to include optional TestBatch id (#7991) * Set course dates from term on LTI course creation (#8057) * Updated result view to display mark last updated by field (#8131) * build(deps): bump brace-expansion (#8132) Bumps and [brace-expansion](https://github.com/juliangruber/brace-expansion). These dependencies needed to be updated together. Updates `brace-expansion` from 1.1.14 to 1.1.18 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@v1.1.14...v1.1.18) Updates `brace-expansion` from 2.1.0 to 2.1.4 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@v1.1.14...v1.1.18) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 1.1.18 dependency-type: indirect - dependency-name: brace-expansion dependency-version: 2.1.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Improved table v8 styling (#8133) * Centre checkboxes in selection column * Hide inactive scrollbars (uses the scrollbar-gutter: stable CSS property to reserve space, ensuring that the header columns are aligned with the body even when the body has a scrollbar) * Enforce horizontal scrolling when tables are used in the .mapping-container divs (groups and graders pages) * Improvements to grouping deletion handling (#8134) * build(deps): bump pdfjs-dist from 5.6.205 to 6.2.108 (#8111) * build(deps): bump pdfjs-dist from 5.6.205 to 6.2.108 Bumps [pdfjs-dist](https://github.com/mozilla/pdf.js) from 5.6.205 to 6.2.108. - [Release notes](https://github.com/mozilla/pdf.js/releases) - [Commits](mozilla/pdf.js@v5.6.205...v6.2.108) --- updated-dependencies: - dependency-name: pdfjs-dist dependency-version: 6.2.108 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * Updates for pdf.js v6.2.108 upgrade --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: David Liu <david@cs.toronto.edu> * Use redirect_back_or_to in GroupsController * v2.10.2 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Daniel Rafailov <74218740+danielrafailov1@users.noreply.github.com> Co-authored-by: David Liu <david@cs.toronto.edu> Co-authored-by: philipkukulak <philip.kukulak@utoronto.ca> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Muhammad <rafie.muhammad2007@gmail.com> Co-authored-by: Yanzhen Chen <yanzhenchen123@gmail.com> Co-authored-by: sophia-huynh <3385254+sophia-huynh@users.noreply.github.com> Co-authored-by: Aayush Karki <147123757+akarki2005@users.noreply.github.com> Co-authored-by: donny-wong <141858744+donny-wong@users.noreply.github.com> Co-authored-by: Tianshu Luan <tianshu.luan@utoronto.ca> Co-authored-by: Daniel Rafailov <74218740+danielrafailov@users.noreply.github.com>
Proposed Changes
On the Settings > Automated Tests page, a warning should pop up if a user attempts to navigate away from the page after making changes and before saving them.
Currently, it appears even after the user has saved their changes. This happens because the Settings > Automated Tests page is rendered with
react, which is rendered after thejqueryclick handler in_navigation_warning.js.erbis registered:submit_clickedcan never be flipped totruebecause the submit button doesn't exist when that handler is registered.Furthermore, the
window.onbeforeunloadhandler as defined in the_navigation_warning.js.erbpartial has no awareness of the Automated Tests pagereactstructure. The page and the partial within it are tracking 'dirtiness' in separate state variables.With help from
claude, the cleanest fix is to override thewindow.onbeforeunloadhandler inautotest_manager.jsxand to gate the initialization of the page so thatfetchDatadoesn't instantly 'dirty' the page whenreactfiresonChangeupon first receipt of existing form data.The fix for the Settings -> Starter Files page is far simpler, since it is not rendered using
react: we bind the handler to.on('click', ...)instead.Screenshots of your changes (if applicable)
Screen.Recording.2026-05-29.at.10.56.39.AM.mov
Screen.Recording.2026-05-29.at.3.49.18.PM.mov
Associated documentation repository pull request (if applicable)
n/aType of Change
(Write an
Xor a brief description next to the type or types that best describe your changes.)Checklist
(Complete each of the following items for your pull request. Indicate that you have completed an item by changing the
[ ]into a[x]in the raw text, or by clicking on the checkbox in the rendered description on GitHub.)Before opening your pull request:
After opening your pull request:
Questions and Comments
I had the thought that we could also take this a step further and track changes to the page that are 'undone', e.g. checking a box and then unchecking it, and make sure the navigation warning doesn't pop up in that case. I came to the judgment that this would bloat the code more than we could justify an improvement so slight.
I also did not touch the Settings -> Starter Files page (on which this bug is also present) but if it is decided upon review that we'd like to bundle that fix into this PR, I would be happy to do so.Applied this fix to the Settings -> Starter Files page.