Commit Graph

57290 Commits

Author SHA1 Message Date
Paul Gray b5c8dcf833 Add JS to html_redirect template
This adds a JS redirect to the html_redirect template. This will ensure
that the page redirects, in case the <meta> redirect fails.

refs INTEROP-8200
flags=none

Change-Id: Iabc702b6558bcd467f0a8c238762975d2be0a70e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326708
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
2023-08-31 20:33:59 +00:00
Jeremy Stanley 2da36abe93 don't treat form data as sis import
test plan:
 - do a sis import using form data to provide AP  parameters
   but omit `attachment`
 - you should get a 400 error with a "missing parameter" message
   rather than an unsuccessful sis import that tried to
   interpret the form itself as a sis batch

flag=none
closes FOO-3738

Change-Id: Ida7bc6e2bbde9e8db42965b94eda14cc00f900f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326466
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2023-08-31 20:28:28 +00:00
Jacob Burroughs 2bab2c1408 On-demand create missing partitions
This does add an additional query every time we insert a versioned record, but it
is a very lightweight query that shouldn't hit the disk and record insertions are
orders of magnitude more expensive, so it should have an insignficant performance
impact.

fixes AE-445

Change-Id: I9ae43121a221442fc1db9f1c1486778b58803917
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326670
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
2023-08-31 20:06:24 +00:00
Jackson Howe 8cde5cdbba Support search_term param on sections list api
closes LF-644
flag = none

Test plan:
 - Create/find a course with a few sections
 - GET /api/v1/courses/:course_id/sections
 - Expect to see all the sections
 - Add ?search_term=<term> param
 - Expect to see only sections whose name matches the term

Change-Id: I9598666bab193f277ab3c82236f471f58b7449ae
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326601
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-08-31 19:59:25 +00:00
Caleb Guanzon 48ef9e2e83 fix DiscussionTopicFormContainer
flag=discussion_create
fixes VICE-3748

in this commit:
- removes comment blobs (unimplemented features are
explained in the tickets)
- introduces setOnFailure on mutation fails
- no longer queries discussion data when
creating a new discussion

test plan:
- turn on the feature flag
- create a new discussion
- fill the title, message,
(other fields will still be ignored)
and click " Save and Publish"
- you can save successfully
(this is tested in a selenium test i
introduced earlier)

EXTRA:
- plant an error in in the backend mutation
- verify that when saving, you now get an error
message

Change-Id: I3ee196abbca3023bfb48ceb4d5a4cb900c3fc9ea
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326619
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-08-31 19:48:50 +00:00
Cody Cutrer 83d0203a03 bundle update ffi-icu
Change-Id: Ifdf954c8f7e735ef1401b3732f54f05197b17629
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326462
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-08-31 19:44:02 +00:00
Paul Gray 22029aa79a Add html redirect to session_token logins
This adds a configuration options which will enables "html" redirects
(instead of a more traditional 302 redirect). This will be used to test
a theory that the 302 redirect is causing some issues with session
creation due to a bug in safari on iOS.

test plan:
  Generate a sessionless launch url for an assignment using the
  `sessionless_launch` endpoint
  (`/api/v1/courses/1/external_tools/sessionless_launch`), passing
  parameters `launch_type=assessment` & `assignment_id=<id>`.

  Open the launch url in an incognito window, and verify that the normal
  302 redirect occurs.

  Next, turn on the `interop_8200_session_token_redirect` configuration
  option, via the rails console:
  ```
  Setting.set("interop_8200_session_token_redirect", "true")
  ```
  , and repeat the process, but verify that the html redirect occurs.

refs INTEROP-8200
flag=none

Change-Id: Ic9fa5bb19a966946735ba49cf0482c2a4e0098c4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326659
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-08-31 19:26:40 +00:00
Cody Cutrer a8f7bda584 bundle update webmock
Change-Id: I27e9e608a9365ec055ab2c44ed972a79ef373de8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326336
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-08-31 19:22:56 +00:00
Cody Cutrer e2a07ea076 bundle update rotp
Change-Id: I42bf21edfe4b5f9f18cbf7a6b9da7b9d3695ac0f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326624
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-08-31 19:22:46 +00:00
Cody Cutrer c263d83f46 bundle update pact_broker-client
Change-Id: I03dca252dd2bb21c6772d2c7cd998963ef41a17a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326448
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-08-31 19:21:07 +00:00
Cody Cutrer 9f0be6b653 bundle update rubocop
Change-Id: I442d7399c7631a39f1bcadf06f97e2d0902f7868
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326447
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-08-31 19:20:57 +00:00
Cody Cutrer 2cfeebb3e7 remove week_of_month dependency
we only used it for one thing, and honestly with all of the dynamic
method dispatch it's not clear what it's even doing, so just do the
math ourselves

Change-Id: I17b601732d7b6e5e2236eb01e9ef368fc9d1fa89
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326665
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-08-31 19:20:24 +00:00
juan.chavez b3fbae61fe Frequency picker show correct date on calendar edit page
closes MAT-625

flag=recurring_events

test plan:
- Create a calendar series.
- Click on edit and then More Options.
- In Edit Page, open frequency picker.
> Verify that the frequency picker is using the correct date.
- Change the event date.
> Verify that the frequency picker is using the new date.

Change-Id: I99154288368b01f798b389f2c574aeb47e825c9f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326581
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2023-08-31 19:10:10 +00:00
Robin Kuss 2121560c8a spec: add initial selective release tray tests
This is a starting point for selective module release tests.

There are already a lot of module selectors available.  I'm
creating new ones where it makes sense and using the old ones
if they are already available in the interest of re-use and time.

Closes LF-703

Test Plan: passes jenkins

Change-Id: I239382f5af6d5493a19c9f74b991a21c2a2a2ec9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326669
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Robin Kuss <rkuss@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-08-31 18:02:34 +00:00
jake.oeding 08e3151f05 make the panels render the footer
will make form validation and submit callback
easier

refs LF-611
flag=differentiated_modules
qa risk: low

test plan:
>open the tray and confirm that the footer looks normal
 and is interactable
-modify ui/shared/context-modules/jquery/index.jsx:2529 to be
 true
>confirm the footer looks normal when not rendered in tabs

Change-Id: Ic9bed0fb09d3518ee5428cfcfbfb1a77644af4a2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326467
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
2023-08-31 16:47:15 +00:00
jake.oeding 73b78efb00 make the module name label visible
fixes LF-668
flag=none
qa risk: low

test plan:
-go to a modules page
-click the add module button
>confirm the name field has a visible label
>confirm there is no asterisk visible at the end
 of the label
-now edit a module
>confirm the name field on the edit modal also
 has a visible label
>again confirm there is no visible asterisk

Change-Id: I2b139d70ac9f12d5c81f0542bcec6cd75473f369
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326667
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
2023-08-31 16:42:05 +00:00
Isaac Moore fe52f62dae Fix redundant merge linter violation
refs AE-57
flag=none

Change-Id: I864fe0d0e714a4af2a856e99fc67f53a05c649dd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326678
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-08-31 16:10:26 +00:00
Mysti Lilla 50351871d6 Remove verifiers from course files preview
fixes LF-614
flag=none

Test plan
- It's probably best to have a file previewer
  set up in your Canvas to test this.
  Not sure how to do it without. There's a dev
  preview server you can use.  Let me know.

- In a course, upload a pdf or docx documet
- In a user's files, upload a pdf or docx document
- Somewhere in rich content in the course link
  both documents
- Verify that with the default preview style
  (Preview in overlay) you can see the document
  preview for both the user file and the course
  file
- Verify that as the course file, the download
  link does not give you the file verifier

- You might also want to verify that the other
  style of preview (Preview inline) is working
  similarly

Change-Id: I0bb667f554af314d0ecc2d33190cd8ec277e17c1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326102
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
2023-08-31 16:06:37 +00:00
Isaac Moore f1fb46e61c Include session token in S3 local upload params
refs AE-57
flag=none

test plan:
- uploading with an assumable vault role works
- uploading with static IAM creds works

Change-Id: I509f479a01db975c3ac233b7569a54af1aefd919
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326675
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Isaac Moore <isaac.moore@instructure.com>
2023-08-31 15:56:13 +00:00
Aaron Ogata 23f4805460 use new node setup incantation
Change-Id: I799dc922a081745102d876189e4da56ed0a2533c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326546
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2023-08-31 14:58:08 +00:00
Davis Hyer b3277cd3eb remove unnecessary console error
flag=none

The console error does not provide us anything more than noise in the
console. The error case is already appropriately handled by returning
the empty object

test plan:
  - tests pass

qa risk: low

Change-Id: I0ad492b36cd9779446b81df6bab27e04d6cc5e69
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326612
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
2023-08-31 14:33:34 +00:00
Cody Cutrer f4c34f6393 bundle update --bundler
also, don't set BUNDLER_VERSION env var in Docker, so that
bundler's auto-install-and-restart-with-the-correct-version
feature can work

Change-Id: I8e3722197fb3598b5c40679d997f19b3b3957ea8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326580
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-08-30 23:31:39 +00:00
Chris Soto effcffdf15 add override status to process_bulk_update
this commit adds the ability to save override statuses to the
process_bulk_update method used by the gradebook import process.

closes EVAL-3442
flag=custom_gradebook_statuses

test plan:
- setup a course with final grade overrides, a couple custom grade
  statuses, and assign a final grade override to a student
- using a tool like Postman, make a PUT request to endpoint:
  http://canvas.docker/api/v1/courses/<id>/update_final_grade_overrides
  - You need to include the "Cookie" and "X-Csrf-Token" headers to the
    request. You can find these from existing canvas api request in the
    browser's network tab.
- add the following payload substituting the custom grade status and
  student id with valid ids
  {
    "override_scores": [
      {
          "override_status_id": <id as string>,
          "student_id": <id as string>
      }
    ]
  }
- verify in the gradebook grid that the override status color is set in
  the grid for the student's override grade cell
- add the following payload to test changing the override status and
  override score
  {
    "override_scores": [
      {
          "override_score": 100,
          "override_status_id": <different id as string>,
          "student_id": <id as string>
      }
    ]
  }
- verify in the gradebook grid that the override status color is set in
  the grid for the student's override grade cell and the override score
  is set to 100

Change-Id: Ifa8413f4e7df689e2b8ffd6771d5dba53b22d7c0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326554
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Rohan Chugh <rohan.chugh@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2023-08-30 22:36:05 +00:00
rohan.chugh b2dbfa076b add custom statuses to gradebook imports - FE 1/2
allows the front end importer to recognize that there are
custom statuses for overrides that have changed from the current
import, showing which rows/columns changed. this is part 1/2, as
the next commit will add the last part which is saving those changes

closes EVAL-3441

flag=custom_gradebook_statuses

test plan:
- CANNOT BE QA'd UNTIL g/326378 IS MERGED
- go to a course with grading periods and for the gradebook filter,
  select "All Grading Periods"
- add a custom status to a final grade override using the tray
- export the entire gradebook
- open a CSV editor and change the custom status you added to
  something else and add another status for another student
    - MAKE SURE THAT BOTH STUDENTS WHO WERE CHANGED ARE USERS WITH
      LOGINS (otherwise they are not gradable students and the importer
      does not recognize them)
- use the importer to import the CSV you just edited
- it should recognize the changes and show the columns and rows
  that changed
- now do the same but for a single grading period, using the option
  to export the current gradebook view instead of entire gradebook
- it should recognize the changes and show the columns and rows
  that changed
- note: "applying" the changes or saving them will not work until
  the next commit is merged

Change-Id: I081b05d63ac0a75d08ae23acb79388fcbf58ca4b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326452
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Christopher Soto <christopher.soto@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2023-08-30 22:35:39 +00:00
rohan.chugh 685406a1df add custom statuses saving on imports - FE 2/2
added save functionality to the custom statuses on the import
gradebook. this formats the body to be sent to the bulk update api
for final grade overrides, which is being implemented in a separate
ticket.

closes EVAL-3447

flag=custom_gradebook_statuses

test plan:
- wait for other dependent commits to be merged or cherry pick them
  into this commit to fully test feature
- export a gradebook with a custom status on a final grade override
- change that custom status in the csv file to another valid
  custom status
- import that gradebook csv
- the changes should be highlighted (from another commit) and
  the custom status should be updated to the new value
- press save and view the network request that is sent to the update
  final grades endpoint
- it should include the fields "override_status_id" and have the
  matching id for the custom status that the override was changed to
- do the same for a course with grading periods and for a specific
  grading period
- the request should have the grading period id in the body
- if the last commit of this feature has been merged, then it should
  update the final grade override status in the traditional gradebook

Change-Id: I665bd75a25fb4b0c44c48db4a93fdf5354788d81
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326596
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Christopher Soto <christopher.soto@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2023-08-30 22:16:33 +00:00
Chris Soto f70e687293 add custom status to import backend
this commit adds the ability for the backend to recognize custom
statuses in the gradebook import and save them to the database for the
use of the front end.

closes EVAL-3432
flag=custom_gradebook_statuses

test plan:
- setup a course with custom statuses on a final grade override
- import the gradebook with a column called "Override Status"
  - make a change to a grade as well
- View the network request for endpoint
  http://canvas.docker/courses/<courseId>/gradebook_upload/data
- Verify that the request contains a key in the students array called
  override_statuses
- The override statuses should contain the current (old) grade status,
  the new grade status, the grading period id, and the student id
- Add another import with the same custom status name as the old one
- Verify that the override_statuses key does not exist.
- Add one more import with no "Override Status" column
- Verify that the override_statuses key does not exist.

Change-Id: I86c35f16aaff300e9b4d2e549c6d773d3238f8b0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326378
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Rohan Chugh <rohan.chugh@instructure.com>
QA-Review: Rohan Chugh <rohan.chugh@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2023-08-30 22:10:33 +00:00
Cody Cutrer 6b75052e7b bundle update active_model_serializers
Change-Id: I49641b0b145a44fec43ac074f4228ece42854778
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326473
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-08-30 21:14:06 +00:00
Michael Hargiss 7d3197237a docs: improve inst cli instructions for canvas rce api
refs DE-1552
flag=none

Test Plan:
* confirm the changes make sense

Change-Id: I659cb98601c64c102a1354115542e5ccc65e611f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326584
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-08-30 20:31:24 +00:00
Matheus 3c8563adc4 Improve ClosedCaptionCreatorRow accessibility
fixes: LF-619 LF-620
flag=none

Test plan:
- Open up the RCE video tray for a video with
  inherited media captions
- Navigate the tray with keyboard only
- Ensure you could access the inheritance tooltip
  and couldn't access disabled caption elements
- Navigate the tray with a screenReader
- Ensure you could access the inheritanve tooltip
  text but not the actual disabled caption element

Change-Id: I2dbc79917d50eb9233f79107f3d24b0865acb5cd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326367
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
QA-Review: Mysti Lilla <mysti@instructure.com>
Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
2023-08-30 20:30:09 +00:00
rohan.chugh 0a35dfefd4 add custom statuses to gradebook filters
allow users to filter traditional gradebook by submissions that have
a custom status applied to them

closes EVAL-3434

flag=custom_gradebook_statuses
flag=enhanced_gradebook_filters

test plan:
- create custom statuses in the domain root account under the
  "grading" tab after clicking site admin -> <domain root account
  name>
- assign custom statuses to submissions in the gradebook
- verify all the custom statuses you created are listed in the filter
  dropdown under the status section
- filter the gradebook by the custom statuses (apply filters ->
  status -> <custom status name>)
- ensure that only the rows and columns that are necessary show up
  in the gradebook (i.e. if an assignment has no submissions with
  the custom status applied to them, the assignment column should not
  show, and if a student has no submissions with the custom status
  applied to them, the student row should not show)
- repeat for any other statuses you created

Change-Id: Ie6e5a1c7302f301fc217cb56d6568d85b5bc8348
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/325877
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2023-08-30 19:08:38 +00:00
Cody Cutrer 2b1741fd3a bundle update irb
Change-Id: Id370a37978e337b57e820acdd489f7fd3fd43838
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326582
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-08-30 19:03:22 +00:00
Cody Cutrer 571ad0a8b9 remove (direct) dependency on hashery
our only use is for a hash that preserves insertion order, and Ruby's
Hash has done that for a _long_ time

Change-Id: Ia4e05b7022d75eea774be037f803d292b6ddacaa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326470
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-08-30 19:02:57 +00:00
Cody Cutrer d81ec24fc5 bundle update spring-commands-rubocop
Change-Id: I632d86014ad715dcd92844c24569661c36e9988d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326463
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-08-30 19:01:50 +00:00
Cody Cutrer 4d067528b7 ensure bundler version and platforms are in sync between lockfiles
Change-Id: Ib409fd83c5747617eafc540fd0f0e54a29af53b4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326579
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2023-08-30 19:01:09 +00:00
Cody Cutrer 163fbd2b69 remove thor hook
the version we use now properly calls super in inherited

Change-Id: I1da36c07877712c8362d7cb31090a271b0f37c51
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326475
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2023-08-30 18:54:06 +00:00
Cameron Ray d8ddc6e31c Fix peer review title
Peer review displayed "'not" instead of "not yet submitted".

flag=none
fixes EVAL-3317

Test plan
- As a teacher go to the peer review page
- Hover over a student name who has not submitted
- Should say "not yet submitted"
- Hover over a student name who has submitted
- Should say "submitted"

Change-Id: I02d3b80248c476d5c07c1ca0222492a9de812dd7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/325599
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2023-08-30 18:47:52 +00:00
Sarah Gerard 3f0c22188f Math renders on pages with multiple user content divs
closes LF-581
closes LF-583
flag=explicit_latex_typesetting

test plan:
- with the flag on
- test out different pages with multiple user content divs
- add some math ex. \(Latex\) throughout the page
- save the page
- math should render
- places to test:
- announcements landing page (math should render in the content
  snippet of each announcement)
- classic quizzes when taking the quiz (math should render in
  the questions and the answers)
- discussions (posts and replies, etc)
- with the flags outcomes_friendly_description and
  improved_outcomes_management on
- test adding math to outcomes descriptions and friendly descriptions
- expand and un-expand the descriptions, math should still render
- try creating new outcomes, removing outcomes, and editing outcomes
- ensure that math still renders on pages with one user content div
- ex. math on a page

Change-Id: I11d7a186ce7acdbd8a8705409d25b117e7842f0d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/325861
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jonathan Guardado <jonathan.guardado@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
Product-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
2023-08-30 18:24:48 +00:00
Drake Harper 41c6241d79 Add score statistic field to assignment
refs VICE-3731
flag=student_grade_summary_upgrade

Test Plan:
- go to student grade summary page with
   network inspector open
- inspect graphql request
- legacyNode > assignmentsConnection > nodes
- pick an assignment
> scoreStatistics field should show on assignment

Change-Id: If8156a8da2512325c2a3da6fb6a73003a90cccf7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326241
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-08-30 17:57:39 +00:00
Jackson Howe 899cdb001b Create canvas-rce v5.9.0
Change-Id: I2057c34af97b93ed6ff9f1829d0735fa51210340
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326562
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-08-30 17:24:32 +00:00
Jackson Howe 28a635561d Remove filterUselessConsoleMessages from canvas-rce
The RCE had a dependency on @instructure/filter-console-messages, but
this package is not published to NPM. It works in Canvas since the
package is in canvas-lms:packages/, but not when used as a
dependency in other apps. Since there's only a few console warnings
that this package was filtering, and the RCE already has a console
filter mechanism set up, we'll remove the RCE's dependence on this
package and move those suppressions into jest-setup.js to group all
warning suppressions together. The console noise should remain the
same.

closes LF-704
flag = none

Test plan:
 - specs pass

Change-Id: If3541a88d141736a1383d600c39259f49adb2350
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326560
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-08-30 16:54:05 +00:00
Xander Moffatt d518a0835a prefer original client id for finding LTI tool
why:
* to avoid a weird situation where two LTI 1.3 developer keys
have the same domain/url and a tool for the wrong key is installed
in a closer context than the tool for the right key

closes INTEROP-8182
flag=lti_find_external_tool_prefer_original_client_id

test plan:
* follow instructions in the ticket:
* install two developer keys with the same domain
* install both tools from both keys in a course
* create some content using the first one, like an assignment
* then delete the first tool
* install a tool from the first key in the course's root account
* launch that content you created
* without this change it will launch using the second tool/client_id
* with this change and with the flag disabled it will do the same
* with this change and with the flag enabled it will correctly
launch using the first tool/client id

Change-Id: I31b8ad93b72eac7ba8847847cb76f15fc99ada07
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/325870
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
2023-08-30 16:51:40 +00:00
Isaac Moore fbaf55e924 Fix local S3 uploads not working with Vault roles
refs AE-57
flag=none

test plan:
- local uploads work with Vault roles for S3
- local uploads work with static creds for S3

Change-Id: I0c367f21f214b2f7614385798524af7b202acce0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326460
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
2023-08-30 16:04:47 +00:00
Aaron Shafovaloff 7268bda358 Rewrite MessageStudentsSpec from QUnit to Jest
Test plan
  - Build passes

flag=none

Refs FOO-3190

Change-Id: I42ccc5346d9adf302d63b3c47f00133ca8a48dd7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326550
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-08-30 15:43:40 +00:00
Samuel Lee 45b7169144 anonymous grading setting cannot be removed
anonymous grading cannot be disabled when editing an existing
anonymous assignment

closes EVAL-3449
flag=anonymous_marking

test plan:
- create an anonymous assignment
- edit the anonymous assignment and verify that the anonymous grading
  checkbox can be toggled off

Change-Id: Ie2028614a2e2f8e135e4cafc2be5c8a5e511ccb6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326551
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
2023-08-30 15:37:01 +00:00
Drake Harper c72cecaf29 Calculate grades through FE calculator
closes VICE-3692
flag=restrict_quantitative_data

Test Plan:
- all specs pass
- navigate to student grade summary page
- assignment group, grading period, and final grades
   show as expected

Change-Id: Ib7cb799c1a17dbc53274198094ff30343d661872
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/325993
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
2023-08-30 15:20:56 +00:00
Sarah Gerard 749daacab1 Remove button role on previous/next links for module footer
closes LF-667
flag=none

test plan:
- navigate to a page that has the module sequence footer
- i.e. have a module with a few items in it
- click on one of the items from the module, there should be a
  previous/next button at the bottom of the page
- when going over the previous/next buttons, screen readers should
  read the button as a link.

Change-Id: I2b319b1baec20cd2a4c41e6a47904326535ac55a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326481
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-08-30 14:39:34 +00:00
Jenkins d9ab697f82 update zh-Hant translation
Change-Id: Ia655458e8ea8bd782f069d6607d644ae1ae8f50f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326521
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-08-30 05:52:32 +00:00
Jenkins 54284d094a update zh-Hans translation
Change-Id: I9f73811dddf2c5a29a9c6d74ff9ac530fe6c561b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326520
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-08-30 05:51:59 +00:00
Jenkins a7e42557d3 update vi translation
Change-Id: Iad53289e6032b762743db4554729947bd3ec5723
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326519
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-08-30 05:51:24 +00:00
Jenkins 4761d5f1c1 update th translation
Change-Id: I753cb3d06eec2701864d732089ec55200db687aa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326518
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-08-30 05:51:00 +00:00