Commit Graph

63766 Commits

Author SHA1 Message Date
Angela Gomba 84efa1f597 Add RCE Lite to Speedgrader
closes OUT-6560
flag=rce_lite_enabled_speedgrader_comments

Test Plan:
- Create an assignment in a Course with at least one student
- Open Speedgrader for that assignment
- Observe the RCE Lite is present
- Create a comment that uses different formatting options
  provided by RCE Lite
- Submit the comment and observe it submits successfully and
  is formatted as expected
- Start typing a comment with formatting and then
  refresh the page
- Observe the text became a draft comment
- Observe the newly added pencil icon on the draft comment
- Click the pencil icon and observe the text is added and
  properly formatted in the RCE text editor

Change-Id: I9b6549f1becbb26483ef0d1eddd1531c38580027
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/353855
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
QA-Review: Martin Yosifov <martin.yosifov@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2024-08-20 16:03:46 +00:00
Cameron Ray 2cb4c339d3 Remove check for course default grading scheme
This is part 1 of 2, only this commit is meant to be hot fixed. In production we do not yet have the code to display what courses are using a grading scheme as default, so we should not be considering a grading scheme as "used" (and thus un-deletable) if users cannot view the courses they are used on.

Also re-orders checks for performance and only considers a grading scheme as used for an assignment if it has been graded with (the same logic Canvas has always used)

flag=archived_grading_schemes

test plan:
- Set GS as course default but do not use for grading an assignment
- Delete the GS

Change-Id: I71571ef83eca1b203db2cf543101cf891745243e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355433
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Sleyder Zuleta <sleyder.zuleta@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2024-08-20 15:39:58 +00:00
Jenkins b86e9b4f6c update uk translation
Change-Id: Idd4f72b83c29319ab44fae2589b72ee053409fd8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355426
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 13:52:22 +00:00
Jenkins f91c0e8e64 update tr translation
Change-Id: Ic7e6488f502b18b84e8a8eb87fac903a66e80235
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355425
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 13:51:49 +00:00
Jenkins 3de232f13c update nn translation
Change-Id: I46588d57d2f7eaed030a37e5c48f377f951a55a5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355424
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 13:51:13 +00:00
Jenkins 20784ec71e update ko translation
Change-Id: I2babd4140adc9d88ef41bc9232cd26c5f2f1179d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355423
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 13:50:33 +00:00
Jenkins a48c1dccc1 update hy translation
Change-Id: Iaa4a4c781d19acc8c95f2908ad51060823e8caa1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355422
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 13:50:06 +00:00
Jenkins b2ce74d681 update hu translation
Change-Id: I8185d7052466af46527d7d6b277c5275de49b56e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355421
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 13:49:31 +00:00
Jenkins 69d145ed15 update he translation
Change-Id: I9992fb5e90dc1addd628d095be2635db49f55bb7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355420
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 13:48:51 +00:00
Jenkins adcbee8df8 update fa translation
Change-Id: If002a097f28654fa04077e28d7d1130066f57c07
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355419
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 13:48:19 +00:00
Jenkins 8c64a9e42f update el translation
Change-Id: I9aa38f2d11a15159a6c52b3022a930dca21429d2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355418
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 13:47:44 +00:00
Jenkins 1936475518 update ga translation
Change-Id: Ie9eb59b4e54811476d58dbcd3686552ce78a695d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355416
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 13:41:36 +00:00
Jenkins 1f4e66ae57 [i18n] Update RCE translations.
Change-Id: Iea46394b23ce49c5874cf4619fa71f8a19fca098
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355412
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 04:52:06 +00:00
Jenkins 85557812f9 [i18n] Update package translations
Change-Id: Ic2908fb5969df1bbde37cb3e335879e4ac21a315
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355411
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-20 04:51:55 +00:00
Aaron Shafovaloff 622bcc63e2 use InstUI buttons in module-sequence-footer
test plan:
  - create multiple pages in a course
  - add them to a module
  - view one of the pages
  - note the comparable module sequence footer UI

Change-Id: Ie334ccd05893120114315df46161d06b2ae3bba6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355383
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2024-08-20 03:19:25 +00:00
Michael Hulse 8ad4acbe54 [front-end] add configurable password terms
This commit enhances the Password Complexity feature by
adding a front-end implementation for configurable forbidden
password terms.

Note that PasswordComplexityConfiguration.tsx currently
uses a placeholder method, pending resolution of FOO-4640.

This commit depends on an update to doFetchApi ensure FormData
is handled correctly: g/354978

The corresponding back-end work is in g/354987.

closes FOO-4648
flag=password_complexity

test plan:
- enable password complexity feature for account
  - /accounts/<id>/settings#tab-features
  - choose “Enhance password options” and set to “Enabled”
- go to authentication page of admin
  - /accounts/<id>/authentication_providers
- within the “Canvas” authentication provider
  - click “View Options” for “Password Options”
- in password options tray that opens
  - check the “Customize forbidden words/terms list”
  - EXPECT to NOT see “Current Custom List” table

test A:
- click the “Upload” button
- click “Cancel” button to close modal
- EXPECT no UI changes

test B:
- click the “Upload” button
- drag/drop a text file OR click to upload a text file with
  contents (one string per line):
    abc
    efg
- click “Cancel” button to close modal
- EXPECT no UI changes

test C:
- click the “Upload” button
- drag/drop a text file OR click to upload a text file with
  contents (one string per line):
    abc
    efg
- click the “Upload” button
- EXPECT modal to close
- EXPECT “Current Custom List” to appear in the password
  options tray
- EXPECT the uploaded text file to appear as a link
- EXPECT the uploaded text file to be navigable in a new tab

test D:
- repeat test B above
- click the trash icon in “Current Custom List”
- EXPECT text file to be removed and a toast to appear reading
  “Forbidden words list deleted successfully.”

[skip-crystalball]

Change-Id: I6f69eac3f09bc7c8fd2f978e8dfa7b106defb33b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354985
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Michael Hulse <michael.hulse@instructure.com>
QA-Review: AJ Esa <ajmal.esa@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
Reviewed-by: AJ Esa <ajmal.esa@instructure.com>
2024-08-19 21:37:19 +00:00
Sarah Gerard 0555b50d36 Ensure card state stays consistent in AssignToContent
there were a few bugs where the state of the cards was not
being consistent. Especially with empty cards - in particular
empty cards disappearing when editing other cards. There was
also a bug where 'everyone' would get added back after saving
overrides with dates on them. This is also fixed.

closes LX-1984
flag=selective_release_edit_page

test plan:
- create a new classic quiz. Change the 'everyone' card to be
  assigned to a student and add a date to it. Save and then
  check the assign to cards - ensure that the override saved
  properly and 'everyone' is no longer assigned.
- repeat with an assignment
- with a new or existing assignment, add a new card and keep it
  empty. Mess around with other cards - adding and deleting cards,
  changing assignees, dates, etc.
- Ensure that in all cases, changing one card does not affect
  another. Empty cards should not disappear.
- Overall just click around and try to mess with the cards in any
  ways you can think of - the cards should stay consistent with
  whatever changes you make.

Change-Id: Ib498a238bc76b752f2c0f044b0bc9492fb133b5f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355305
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: Sarah Gerard <sarah.gerard@instructure.com>
2024-08-19 20:34:20 +00:00
Aaron Shafovaloff fe6292f554 replace more ajax-reload-animated.gif instances
test plan:
  - load /courses/[id]/pages
    - InstUI loading spinner should show
  - load /courses/[id]/assignments/syllabus
    - InstUI loading spinner should show

Change-Id: I772ad50dcbf8274559bc6262605871fc855dd688
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355369
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-19 19:51:09 +00:00
Keith T. Garner fb4c7ea13f fix n+1s in context modules controller
Fixes two N+1 that are causing pain on page load, especially at scale.

test plan:
 - specs pass

Change-Id: Id53e4c505e87d6a3ba27b1daf2ea8221189c3271
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355361
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-19 19:33:08 +00:00
Ed Schiebel 643a1de09b Maintain image aspect ratio while resizing
closes RCX-2213
flag=block_editor

test plan:
  - create a page with an image block
  > expect the default Constraint to be Match Aspect Ratio
  - upload an image
  > expect the image to be in its natural aspect ratio
  - resize using the mouse
  > expect the image to remain in its aspect ratio
  - resize using the keyboard (opt-arror or shift-opt-arrow)
  > expect the image to remain in its aspect ratio
  - resize using the popup from the toolbar
  > expect the image to remain in its aspect ratio
  - change the constraint to something else
  - resize the image
  > expect it to resize to the requested size, ignoring the aspect ratio
  - try the above with a tall image and with a wide image

Change-Id: I2ea1cc0cd4f6958d0b091a27d8fede05a7895caf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355308
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2024-08-19 19:23:57 +00:00
August Thornton 6357c83263 Refactor permission registration
closes FOO-4659
flag = none

test plan |
- permissions should behave as before
- we now have a single source of truth for permissions
  that is much more obvious and understandable
- don't clutter role overrides with permissions
- registration has be refactored to be more DRY
- /permissions should work as before and plugins should
  be able to register permissions in the same way,
  however we settled on one uniform way to do it

Change-Id: I9e2f541643713065dfada692b4eb30230a9896e7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355239
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
2024-08-19 18:58:32 +00:00
Spencer Olson 04b4744582 ensure stable sort for speedgrader students
closes EVAL-4475
flag=none

Test Plan:
- specs pass

Change-Id: I2b6ca818612f584cc5372083facea6cc11303ffe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355354
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chris Soto <christopher.soto@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2024-08-19 18:37:47 +00:00
Michael Hulse 1709f9c2d5 spec: migrate some qunit tests to jest
flag=none

test plan:
* qa-cr

[skip-crystalball]

Change-Id: I6179d639706cc86989fde7ff820a3eb75e48b82f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355324
QA-Review: Michael Hulse <michael.hulse@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-08-19 18:11:37 +00:00
Michael Hulse a596dfb568 spec: migrate some qunit tests to jest
flag=none

test plan:
* qa-cr

[skip-crystalball]

Change-Id: Icb66ed3cd35b962d1e2e50ad4c3c6364afaa362a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355321
QA-Review: Michael Hulse <michael.hulse@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-08-19 18:11:33 +00:00
Michael Hulse 39c53b91c8 spec: migrate some qunit tests to jest
flag=none

test plan:
* qa-cr

[skip-crystalball]

Change-Id: I010e2d5c45de481f20116ab8bad021f8c875ac98
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355325
QA-Review: Michael Hulse <michael.hulse@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-08-19 18:11:18 +00:00
Jacob DeWar df9122a36e Revert "Add Load More button to pages index"
This reverts commit 45c63d9939.

Reason for revert: Better solution in g/355352

Change-Id: I6d9815af0ffb0b8235807c48fd124076e54849e0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355041
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jacob DeWar <jacob.dewar@instructure.com>
2024-08-19 17:57:33 +00:00
Jacob DeWar a1467a378c Fix infinite scrolling in Pages
fixes RCX-2192
flag=top_navigation_placement

Test Plan:
- Have FF on
- Have 60+ Pages in a course
- Load course > go to Pages
- Scroll down
* It keeps loading pages as you scrolling

- Have FF off
- Infinite scroll still works

Change-Id: I072815a43e73527a14303fb3712d3fb8b47d6830
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355352
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Jacob DeWar <jacob.dewar@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-19 17:42:07 +00:00
Matheus 3acadfb29b Assume lock/unlock times when those are empty
This makes it so the form will, in the absence of data
in the time inputs, behave as it did before g/350203 when
those weren't a thing

fixes RCX-2185
flag=none

Test plan:
- Go to course or user files
- Upload a file if you have none
- Click the publish status icon
- Select schedule availability
- Ignore the date fields and only fill
  the date ones
- Save and check the availability
  was properly saved

Change-Id: Ic9ce7fda4ad0a7bd67476d9e2a56df3648f95d72
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355274
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
2024-08-19 17:40:49 +00:00
Caleb Guanzon f59d0f6201 announce current grade changed for checkpoints
flag=discussion_checkpoints
fixes VICE-4514

note:
- as i was working on this, i found a bug where
if you had a late policy for the course, your entered
grade will change to the grade where the policy is applied

to fix this: we now use the entered_grade for checkpoint
grades, and the real grade only for current total

test plan:
- visit speedgrader on a checkpointed discussion
submission
- turn on VoiceOver
- grade either reply to topic or reply to entry, press enter
- verify that Current Total Updated: [Grade] is announced
- verify that Current Total is displayed correctly
- apply a late policy to the course
- mark a checkpoint late with days late
- verify that your entered grade is the one you put in
and the current total applied deductions based on late policy

Change-Id: Ia797ff36101e250bb024a9111a8e54996941178f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354822
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
2024-08-19 16:36:51 +00:00
Isaac Moore 0d3f207382 Add syslog to Gemfile
It is no longer a default gem in Ruby 3.4

flag=none
closes AE-1117

test plan:
- tests pass

Change-Id: I713705e8e20bf08833023e87209a5a403ef10969
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355338
Reviewed-by: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@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>
2024-08-19 15:43:59 +00:00
Jackson Howe 0e989e4b5f Make Student View button a landmark
Adding role: "complementary" and an aria-label makes this button a
landmark and thus increases its accessibility.

closes LX-1745
flag = none

Test plan:
 - Go to any page with the "View as Student" button at the top (like
   the assignments index page)
 - Open VoiceOver
 - Press VoiceOverKey+U to open the rotor, then press left/right arrows
   until you're in the landmarks section
 - Expect the "View as Student" button to show up in that list

Change-Id: I61593b05dbafd05812e213f3182315c7f3eec98c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355309
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2024-08-19 15:40:45 +00:00
Jenkins a302c339b2 update fr-CA translation
Change-Id: I98efc380caec9d4ca7a64d784b1484293baaaed0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355333
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-19 13:42:19 +00:00
Michael Hulse 755de6575b spec: migrate some qunit tests to jest
flag=none

test plan:
* qa-cr

[skip-crystalball]

Change-Id: I23f4ac32a0c241054769d9701b65dcbfc67ecd22
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355298
QA-Review: Michael Hulse <michael.hulse@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-08-17 17:42:53 +00:00
Paul Gray acc18216d3 Add extension mechanism to defaultFetchOptions
This commit enables the ability to add headers to the default fetch
options, so a user can add headers to the default headers for a specific
request.

test plan: N/A as this doesn't change any behavior

refs INTEROP-8787
flag=lti_registrations_next

Change-Id: I36d61040c245f6797e3b8651fcd6b76c632a92d4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355225
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ryan Hawkins <ryan.hawkins@instructure.com>
QA-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
2024-08-16 22:12:46 +00:00
Paul Gray 6663e2b33d Refactor ApiResult for unsuccessful statuses
This commit adds a new `ApiResult` subtype that accounts for
unsuccessful statuses from the backend. This is necessary to
account for the fact that the backend may return a 4xx and the
frontend needs to distinguish between those statuses.

test plan:

1. Run through Dynamic Registration and ensure a registration gets
   created properly.

refs INTEROP-8787
flag=lti_registrations_next

Change-Id: I7587a504ead855a79ffaca0c70f5b145c2d837a0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355224
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Ryan Hawkins <ryan.hawkins@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
2024-08-16 22:12:35 +00:00
Paul Gray 5128cbe10c Remove some LTI placements
This commit removes some LTI placements that are not used internally
in our data model.

test plan:

1. Launch Dynamic Registration with Yaltt, choose the standard 1Edtech
   names of the RichTextEditor, and ContentArea placements.
2. Verify that the placements are mapped to editor_button and
   link_selection internally.

refs INTEROP-8787
flag=lti_registrations_next

Change-Id: I16941d2f4b4385471179032fe6ec2cb2f171e632
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355223
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Ryan Hawkins <ryan.hawkins@instructure.com>
QA-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
2024-08-16 22:12:23 +00:00
Paul Gray db89721d07 Move i18n from model files
This is a small change that moves the i18n from the actual model files
to separate files. This is done to make the model files more modular,
as the @canvas/i18n package throws an error if it doesn't have access
to the window object.

test plan:
- Run through the Dynamic Registration wizard from the Apps screen
  and make sure placements, privacy levels, and scopes are all
  translated correctly.

refs INTEROP-8787
flag=lti_registrations_next

Change-Id: Ic8f1e48ac5cb459180994dd6f80e32028b06170d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355222
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ryan Hawkins <ryan.hawkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
2024-08-16 22:12:15 +00:00
Mysti Lilla bcc2dd549b Create new InstFS references for RCE links
closes RCX-1900
flag=rce_linked_file_urls

Test plan
- Have InstFS running and enabled with Canvas
- Run API calls to api/v1/rce_linked_file_urls
- Send an arbitrary "location" parameter
- Send a user_uuid parameter (with access, without, see
  what happens)
- Send an array of file_urls with various types of
  Canvas files that aren't previewable with quizzes
  (should be media and documents that aren't)
- Verify that you get a new InstFS uuid for the files
- Extra credit if you check that the location is saved
  properly on the new file in InstFS's DynamoDB

Change-Id: I4d7eb1aeb62a515360fc4668acbe38caa8f94ed8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354570
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Logan <james.logan@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: James Logan <james.logan@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
2024-08-16 20:46:43 +00:00
Xander Moffatt 523469c087 define internal shape of LTI 1.3 config
why:
* to have a single source of truth for the shape of 1.3 JSON config,
both external (LtiConfiguration), and internal (InternalLtiConfiguration)

* update current schema for LtiConfiguration to match the format
of the new InternalLtiConfiguration schema
* provide transformation methods between the two formats
* use newer version of LtiConfiguration schema validator
in place of Schemas::Lti::ToolConfiguration
* expose transformation and validation via API endpoints

closes INTEROP-8762
flag=none

test plan:
* installing a 1.3 developer key still succeeds in every scenario that
it did before this commit
* specific things to test:
  * not including required properties in the config, like extensions,
  settings, scopes
  * including vendor extensions (not the canvas platform)
  * including every possible config option, and a bunch of different
  placements
* make API requests to the new /configuration/validate endpoint with
  both valid and invalid configurations, and with both url and
  lti_configuration

Change-Id: I3fa5b6f7c5010a4a1fc16a80e198dc979569e282
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354802
Reviewed-by: Paul Gray <paul.gray@instructure.com>
QA-Review: Paul Gray <paul.gray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
2024-08-16 20:01:37 +00:00
Aaron Shafovaloff 652500b7a3 remove more usage of old animated gif spinner
Change-Id: I4ef35627c19f8b40735d48602635818e249327ff
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355293
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-08-16 19:35:09 +00:00
Sleyder Zuleta 30f4b75cf0 remove preload to improve query
closes EVAL-4483
flag=archived_grading_schemes

Test Plan:
1. Go to grading scheme management page
2. validate the list is loading well
3. Go to course's settings page
4. Validate the grading scheme list is loading
5. Go to assignment's settings page
6. Validate the grading scheme list is loading

Change-Id: I5c55f956b6e70a1ffc8fc1b5cba2f155fe0c6b3f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355278
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Sleyder Zuleta <sleyder.zuleta@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2024-08-16 18:50:59 +00:00
Ed Schiebel 34ca8b1dbb Add block resizer
closes: RCX-2201
flag=block_editor

test plan:
  - create a page with an image, text, and/or heading blocks
  - select a block
  - drag one of the blue drag handles
  > expect the block to be resized
  - resize an image block
  - change the image
  > expect the new image to be put inside the existing box
  - with a block selected, use opt- arrow keys
  > expect the block to be resized by 1px each click
  - same with opt-shift-arrow
  > expect the block to be resized by 10px each click
  > expect arrow keys w/o opt to move the text cursor
    around in a text or heading block

Change-Id: I68c4a587f42d933f6b6c5e398552e0c807ecfc16
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354839
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2024-08-16 18:46:20 +00:00
rohanchugh14 815ba5964d fix emoji picker in SG2
fix emoji picker in SG2 so that an empty array is passed if there are
no excluded emojis instead of an array with an empty string

closes EVAL-4435

flag=platform_service_speedgrader

test plan:
- ensure SG2 emoji picker shows all emojis and categories

Change-Id: I694b503ec249ae4703bba16b0d33298beb29118f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354655
QA-Review: Drake Harper <drake.harper@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
2024-08-16 18:39:12 +00:00
Jacob DeWar 45c63d9939 Add Load More button to pages index
fixes RCX-2192
flag=none

Test Plan:
 - Have course with lots of pages
 - Go to Pages
 - Scroll to bottom, see Load More button
 - click button, more pages load
 - Repeat until no more pages to load
 - Button is hidden
 - Click a sort field
 - Button is displayed

 - Have course with 0 pages
 - Go to Pages
 - Button is hidden

Change-Id: I55ccfc0cff6283e634922b01ab4b1f2763b77707
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355273
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Jacob DeWar <jacob.dewar@instructure.com>
2024-08-16 18:29:55 +00:00
Jeremy Stanley cda236aaa5 remove redundant course import code
this code turns out to have been redundant
ever since this was merged in 2018:
https://gerrit.instructure.com/c/canvas-lms/+/158759/3/app/models/importers/wiki_page_importer.rb#111

so it can be removed and the course copy wiki specs still pass

test plan:
 - course copy specs pass

flag=none
refs CANVAS-N7CV

Change-Id: If694a0b1975c266cccfa663798ee33fce750b6a4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/353069
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2024-08-16 17:33:18 +00:00
Omar Gerardo Soto-Fortuño 80f9c01c71 Add SpeedGraderDiscussionsNavigation
closes VICE-3917
flag=discussion_checkpoints

Test plan:
 - Test passes.
 - Go to SpeedGrader.
 - If a student has a partial submission or full submission
     the Previous and Next buttons should show on the right side.

Change-Id: I129d3be6856879d6fbaa29fdd8677deb16024d36
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355240
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2024-08-16 17:18:46 +00:00
Jackson Howe 1a948002cf Update API docs to reflect SR is released
Change-Id: I69f89222287fc038b7e55cb02f3ebdf2139adca1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355281
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2024-08-16 17:12:54 +00:00
Aaron Shafovaloff 6e2ae5a581 replace ajax-reload-animated.gif in pagination lists
test plan:
  - load the student roster in a course
  - note that the InstUI Spinner is now used

Change-Id: I7f7be5f5241a9770c3051fadd2741cc6d873b51c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355245
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-08-16 17:11:34 +00:00
Drake Harper 4cf0d3c3cc Add subAssignmentSubmission to SG2 submission query
flag=platform_service_speedgrader
refs EVAL-4444

Test Plan:
- check submission query in network inspector in SG2
- should see subAssignmentSubmission field in response

Change-Id: Ie9959955c258851a7ac578495c378af936deb024
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355136
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-08-16 16:41:10 +00:00
Dustin Cowles 88f5e60519 do not use empty string for tool label text
When editing a Developer Key in the UI, removing the Text field saves
the value as an empty string. This breaks the tool label fallback logic
and results in the empty string being used. This commit fixes that.

fixes ADV-171
flag=top_navigation_placement

Test plan:
- PreReqs:
  - A tool with top_navigation placement
- Set the placement text to an empty string
 - This can be done by editing the key in JSON mode or by adding text,
   saving it, and then removing and saving again in the UI.
- Verify that the key title is used in the Top Navigation placement.

Change-Id: I5680fbc1516062c0453e268cd673f7f56f21857d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/353065
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Dustin Cowles <dustin.cowles@instructure.com>
2024-08-16 16:40:04 +00:00