Commit Graph

50043 Commits

Author SHA1 Message Date
Ahmad Amireh bd648c6835 babel independence: canvas-rce
refs FOO-2697
flag = none

remove the reliance on @instructure/ui-babel-preset and instead define
babel config for the 3 targets we need:

1. ESM, used while working on the RCE or on canvas (webpack) -- get this
   by running "npm run build:es"
2. optimized ESM, used when we deploy, get it by running
   "NODE_ENV=production npm run build:es"
3. CJS, used in Canvas's jest build since we cannot use ESM there yet

changes:

- babel, mocha and jest configs were ported
- testcafe/demo webpack builds are not reconfigured for babel as they
  aren't working currently, team is aware
- mocha common options are now in a config file
- stopped staging files in a canvas/ directory as it isn't used by
  canvas today (lib/ and es/ are)

test plan:

look at the delta for the optimized ESM target provided in the initial
patchset and verify the changes look ok

Change-Id: Iafb89b70431b970774b1a4250588115799f5d230
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283996
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2022-03-16 14:34:10 +00:00
Ahmad Amireh 5581047a71 (instui8) port Metric and Progress
fixes FOO-2765
flag = none

according to https://instructure.design/v7/#v7-deprecated-props-and-components

~ test plan ~

the modified pages still show their Metric and Progress components

Change-Id: Ie2c8b147b267bbc8a24b42574bfb8c6feb49aabd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287050
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
2022-03-16 14:28:25 +00:00
Aaron Ogata bbd28c647a fix shared/_fullstory_snippet.html.erb specs
refs FOO-2746

Change-Id: I73b071445c18b0566bc3fede08ff4ecac07094b0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287148
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2022-03-15 23:41:05 +00:00
Xander Moffatt b5cd35b71e exclude duplicate tools from find_external_tool
why:
* in a context where there may be hundreds or thousands of duplicate
tools, the find_external_tool operation can take enough time to timeout
a request and throw an error

* add a not_duplicate scope
* search unique tools first, and only search duplicates if no matching
tool was found, or if the match was 1.1 since 1.3 is preferred

closes INTEROP-7067
flag=none

test plan:
* in a rails console with a course `course`
* create a new ContextExternalTool with a name, url, domain, secret,
consumer_key, and some placements defined on it, and with `course` as
its context
* create a duplicate with `t2 = t.dup`
* set the first tool's identity_hash to "duplicate"
* `ContextExternalTool.find_external_tool(t.url, course)` should return
the second tool
* delete the second tool with `t.destroy`
* `ContextExternalTool.find_external_tool(t.url, course)` should return
the first tool with identity_hash "duplicate"

Change-Id: I944f3e0ecc5e9785a79eba6c4e2bde59a50cfd81
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282583
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
2022-03-15 22:58:26 +00:00
Xander Moffatt a6a84f126f move some find_external_tool logic into SQL
why:
* the in-memory logic is complex and takes a long time when
there are many tools
* ordering tools the way we want them first makes it easier
to find the right tool
* find_tool_match still loads all tools into memory for
URL matching, but that can be improved later

refs INTEROP-7067
flag=none

test plan:
* smoke test that LTI launches of all kinds work - course nav,
assignment selection, account nav, etc

Change-Id: Ife119e30434a1b6972fdf4199647c7d58d1e81c1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285344
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
2022-03-15 22:58:16 +00:00
Drake Harper 9c80a1c73e Fix media comments not working for mobile
flag=none
refs VICE-2539

Test Plan:
 - this ticket is to fix a mobile bug with embedded videos, so we
    will need to work with mobile to do some post merge testing to
    ensure this is the needed fix. For now it does not break any
    existing functionality.

Change-Id: I133dac4b833b458929289824cf971304eaabef69
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287068
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-15 22:31:48 +00:00
Xander Moffatt 0e3ddfd48b expose launch url in AGS Line Item API
closes INTEROP-7267
flag=none

why:
* to facilitate 1.1 to 1.3 migration for tools that may only be able to
link line items using the original resource link url

test plan:
* install the LTI 1.3 test tool
* get an LTI token for that tool using
`canvas.docker/api/lti/advantage_token?tool_id=1`,
replacing 1 with the id of your 1.3 test tool
* construct an API request for the AGS Line Items API  for a course
with at least one line item:
`canvas.docker/api/lti/courses/1/line_items`,
and add the LTI token to the Authorization header using
`Bearer: <token>`
* the request should return a list of line items in JSON format
* add `?include[]=launch_url` to the request
* each line item should now have a new canvas extension property that
contains the launch url for that line item and its related assignment
* change the request to request a specific line item (like add `/1` on
the end), still with the query param
* it should return one line item, with the new extension property
* remove the query param or change the value to something else
* it should not return the extension property

Change-Id: I0caa494111fde4093f99fef1398b27799b07a6cf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287096
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: Alexis Nast <alexis.nast@instructure.com>
2022-03-15 22:26:05 +00:00
Ahmad Amireh 6f60f41833 babel independence: canvas-media
refs FOO-2697
flag = none

remove the use of @instructure/ui-babel-preset and instead define babel
configuration for the 3 needed targets:

1. [ESM, development] for use while working on either canvas-media or on
   canvas-lms, this is the output of "npm run build:es"
2. [ESM, production] for use when deploying alongside canvas-lms, this
   is the output of "NODE_ENV=production npm run build:es"
3. [CJS, development] for use in the Jest suite of canvas-media *and* in
   the Jest suite of canvas-lms (or sibling packages) since Jest 26
   still does not support ESM natively. This is the output of "npm run
   build:cjs"

the ESM production target has changed to apply two react optimizations
that were being applied on canvas-lms: transform inline elements and
transform constant elements. It's also using the core-js polyfills that
canvas-lms is using, and is correctly targeting the last 2 browser
versions that we support.

~! test plan !~

look at the delta provided in the initial patchset and verify the
changes look ok

Change-Id: I9717aad0d72f9179c697d678836ab23a58fb89f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283575
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-15 21:24:59 +00:00
Weston Dransfield 010cf5cd2a Fix icon maker tab order in Firefox
Closes MAT-768
flag=buttons_and_icons_root_account

Test Plan:
- Navigate to an RCE in Firefox and open
  the icon maker
- Notice that the close button on the tray
  receives initial focus
- Tab one time and verify the "Name" text input
  is focused
- Shift-tab back to the close button and then
  shift-tab one more time
- Verify focus has wrapped to the "Apply" button
  at the bottom of the tray

Change-Id: I1fcd4bf6e74bfaa9cc4746db97ffc2988f2cc0df
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287082
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-03-15 21:16:29 +00:00
Jeffrey Johnson 44f7619afc Fix Focus Redirection when opening a message
fixes VICE-2543

Test Plan
1. Open the new inbox with messages
2. Use the tab key to tab to a message
3. Keep tabbing until you see hidden open button appear
4. Hit enter
Expected: When message loads, tabbing should resume inside the message

Change-Id: I1f2703bae1cac76f2725feb47bd2a11d9e7c96a3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285946
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
2022-03-15 20:58:07 +00:00
Jorge Arteaga 0ffbb3bedb Allow updating questions w/o assessment questions via the API
fixes QO-853
flag = none

test plan:
- create a classic quiz with questions
- access the rails console and set
the assessment_question_id of the questions to null
(quiz_question.update_column(:assessment_question_id, nil))
- update the questions via the REST API
* example request
  method: PUT
  url: /api/v1/courses/:course_id/quizzes/:quiz_id/questions/:id
  body: {"question": {"neutral_comments_html": "<p>Hi</p>"}}
- observe that the questions are updated without issues

Change-Id: Id48ce27738f6403eb6685e37f030a63c2fd69564
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283028
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Marissa Pio Roda <marissa.pioroda@instructure.com>
QA-Review: Adrian Diaz <adrian.diaz@instructure.com>
Reviewed-by: James Logan <james.logan@instructure.com>
2022-03-15 19:28:16 +00:00
Eric Saupe 6ba814bed7 Refactor PacePlan to CoursePace
fixes LS-2989, LS-2988
flag=pace_plans

test plan:
- Specs should pass
- Enable the course paces account feature flag
- Enable the course paces setting on a course
- All current pacing related features should work as expected

Change-Id: Ibd1d9f3295f624a3f2411c72ad5ace9410d965ca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286519
Migration-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Eric Saupe <eric.saupe@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-15 19:10:16 +00:00
Aaron Ogata af20e417dd fix remaining application_controller specs for Rails 6.1
refs FOO-2746

Change-Id: I29ee420672cc2aedac7b7e431808f9c6dfaa4508
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287131
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2022-03-15 18:26:01 +00:00
Jeremy Stanley 7c58a814ed rubocop: disable Style/HashLikeCase
because this isn't even pointless pedantry. it's just pointless

Change-Id: I7b8cd656a4adb8da3b5e30a59593297f91d9aa9a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286846
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2022-03-15 16:59:27 +00:00
Jenkins 2f6829c35d [i18n] Update RCE translations.
Change-Id: I9aa0f4ac78ad0eed9eaf7f8ab067868b43f57638
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287137
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-15 16:56:42 +00:00
Jenkins 005d1f3c19 [i18n] Update package translations
Change-Id: I356af3845ba862b13ea84c4b034bda87eca90dc8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287136
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-15 16:56:26 +00:00
James Logan 2f0eef28f1 Fix messaging on nq module item publish button
fixes QUIZ-9165
flag=new_quizzes_modules_support

Test plan:
- Create a published course with a student and New 
  Quizzes enabled
- Create a New Quiz and have the student submit to it
- Add that New Quiz to a Module
- Notice that when you hover over the publish button from 
  the Modules page, it states "Can't unpublish <Quiz Name> 
  if there are student submissions"

Change-Id: I9b8578a8d244eff0e8cfa38b8a8b9ed15274d6b3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284813
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Adrian Diaz <adrian.diaz@instructure.com>
Product-Review: Marissa Pio Roda <marissa.pioroda@instructure.com>
Reviewed-by: Jorge Arteaga <jorge.arteaga@instructure.com>
2022-03-15 15:50:01 +00:00
Martin Yosifov 3797d3bf96 Add confirmation modal when deleting Proficiency Rating
closes OUT-5013
flag=individual_outcome_rating_and_calculation

Test plan:
- Enable Improved Outcomes Management FF
- Enable Individual Outcome Rating and Calculation FF
- Disable Account Level Mastery Scales FF
- Go to Account > Outcomes
- Click on Create button and in the Create modal choose
a rating and click on the corresponding Delete icon
- Verify that Confirm modal is displayed
- In the Confirm modal click on Cancel button
- Verify that modal closes and the rating is not deleted
- Click again on the rating's Delete icon
- In the Confirm modal click on Confirm button
- Verify that modal closes and the rating is deleted
- Close the Create modal then select an outcome and
click on the kebab menu -> Edit
- In the Edit modal repeat the above tests and verify
that results are the same

Change-Id: I38373a89a66f909b04c61cbe5e26b7028df4ee2f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286938
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
Reviewed-by: Chrystal Langston <chrystal.langston@instructure.com>
QA-Review: Chrystal Langston <chrystal.langston@instructure.com>
Product-Review: Ben Friedman <ben.friedman@instructure.com>
2022-03-15 15:41:06 +00:00
Jason Gillett 2f985357f8 Add better description to mention menu for screen reader
flag=react_discussions_post
closes VICE-2574

Test Plan
1. Have react discussion and RCE mentions enabled
2. Navigate to a discussion in Safari
3. Make a reply
4. Enable Voice Over
5. Type in @ to start the mentions menu
6. Observe that voice over describes the menu
7. Should say that the user is in a "Mentions Textbox"

Change-Id: I2051b6499c09038dc74d598614150e8ddbfd9b02
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286833
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
2022-03-15 15:30:28 +00:00
Aaron Ogata 77c5d89cea rubocop: disable Style/CaseLikeIf
seems overly pedantic

Change-Id: Ibe3ccd76978650842dd09fd1232df5673e292d58
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287118
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-15 15:22:19 +00:00
Aaron Ogata c3fe30fa21 switch back to using Marshal coder for Rails 6.1
refs FOO-2746

https: //github.com/rails/rails/commit/c4845aa7791839fcdf723dc77e3df258e7274496 now uses DupCoder for memory_store, which is unable to properly serialize a SchemaCache object.

Change-Id: I5e5e14931742ef9465a9542f1acedaee4d0bb4a3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287112
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2022-03-15 15:12:18 +00:00
Weston Dransfield 5b11efab6d Only show uncategorized files in RCE file tree
Closes MAT-767
flag=buttons_and_icons_root_account

Test Plan:
- Pull down the associated (likely un-merged) change
  in canvas-rce-api
- Navigate to an RCE
- Open the tray to insert course links and change the
  tray to "Files" to show the files tree
- Open the Icon Maker Icons folder (or Buttons and Icons if
  you've not created icons recently)
- Validate no Icon Maker Icons appear in the list
  of files

Change-Id: I15663101ce30c5f045e3c286266a133ba4043ec8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287067
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
2022-03-15 01:30:29 +00:00
Evan Battaglia cf5807a273 Enable setting grades for test students in LTI AGS
Test students can be given grades in the UI (e.g. gradebook) so it
should be possible in AGS, too.

closes INTEROP-7299
flag=none

[fsc-max-nodes=15]
[fsc-timeout=40]

Test Plan:
- Have course and an LTI 1.3 tool set up
- If necessary get an LTI Advantage token at
  /api/lti/advantage_token?tool_id=12, using the LTI 1.3 tool ID
- Use AGS to create an line item on a course, e.g. (with HTTPie)
    http \
      web.canvas-lms.docker/api/lti/courses/123/line_items \
      scoreMaximum=123 label=abc Authentication:\ Bearer\ xyz
- Go into "Student View" in the course to create a test student
- Get the user ID of the test student, either the Canvas integer user ID
  from a console, or the LTI user id from NRPS, e.g. (assuming
  a course id of 123)
    http \
      web.canvas-lms.docker/api/lti/courses/123/names_and_roles \
      Authentication:\ Bearer\ xyz
  And note the line item ID (let's say it's 456)
- Set the score for the test student, e.g.:
    http \
      web.canvas-lms.docker/api/lti/courses/123/line_items/456/scores \
      userId=12345678901234567890abcdef12345678901234 \
      activityProgress=Completed gradingProgress=FullyGraded \
      timestamp="2021-12-16T11:58:59-0700" scoreGiven=2 scoreMaximum=2 \
      Authentication:\ Bearer\ xyz
- Check the score either in the Gradebook for the course or by fetching
    http \
      web.canvas-lms.docker/api/lti/courses/123/line_items/456/results

Change-Id: I5bb4189dadfaaca2009264131cb40b5b62c152a9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286000
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
Product-Review: Evan Battaglia <ebattaglia@instructure.com>
Reviewed-by: Ryan Hawkins <ryan.hawkins@instructure.com>
2022-03-14 22:38:56 +00:00
jake.oeding 6bccd15c3b reduce screenreader sort order dictation freq
stops adding sort order message to flash_screenreader_holder
every time ColumnHeaders is rendered. now only adds when
user changes the sort selection

fixes MAT-653
flag=none

test plan:
- go to courses/:id/files
> observe in the DOM that there is no message
  added to the flash_screenreader_holder div
- enable VoiceOver
- sort by one of the columns, for instance, by
  name descending
> observe that a single message reflecting the chosen
  sort is added to the flash_screenreader_holder
- force the ColumnHeaders to re-render multiple times
  by navigating back and forth between them and the
  file tree several times rapidly with kbo navigation
> observe in the DOM that no new sort messages are
  added into the flash_screenreader_holder
> throughout the steps, listen and hear that VO
  does not bombard you with sort messages

Change-Id: I82fe7b677f7b37d42837140b0d64c023c7e4e5dd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286412
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
2022-03-14 21:26:37 +00:00
Aaron Ogata 2339e86b23 strand ScoreStatisticsGenerator by root account ID
refs DE-1084

Prior to this change, an unlimited number of ScoreStatisticsGenerator
jobs could be run at once, which had the potential to overload the DB.
After this change, the number of simultaneously running jobs is capped
at 1 per root account by default. In order to change this, run:

```
Setting.set("ScoreStatisticsGenerator_num_strands", 10)
```

Change-Id: Ib9a24a04134c3ec0d621b2a81b1366541afc8ece
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287069
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-14 21:14:51 +00:00
Caleb Guanzon 41d626b592 add confirm for message deletion
flag=react_inbox
fixes VICE-2547

test plan:
- have someone send you a message
- visit inbox
- click on a conversation on the left pane
- now on the right pane, open a specific
message's kebab menu (this is not the conversation's
kebab menu)
- click delete
- verify you see a confirmation prompt
- accept the message
- verify that you see a green, message
successful alert
- verify the message is removed

Change-Id: Ia0409994058748b7e2de8b2e824a37c8df61ed5d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287055
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
2022-03-14 18:49:02 +00:00
Isaac Moore 139bfe60a7 Convert DashboardCard to TypeScript
refs DE-1083

Change-Id: I2df4456fd58878dbed4366f52e32acdccd141aa5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286065
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>
2022-03-14 18:38:12 +00:00
James Butters fa4ac3875d filter tests on parent
if all tests files in a dir are included in the crystalball
prediction, just run the parent dir to reduce arguments sent
to rspecq.

flag = none
fixes: DE-1073

Change-Id: I816d2f00e221b74652ed485e414866372def7dcb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285949
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2022-03-14 17:35:40 +00:00
Andrea Cirulli b7c675cab7 fix flaky spec
Change-Id: I36b2b537b9dece5263b5c31cc014d3bcfd974feb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287053
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-14 17:30:36 +00:00
Angela Gomba b07bcdd014 Enable Search Bar after Group Import in Find Modal
closes OUT-4762
flag=improved_outcomes_management

Test plan:
- Navigate to Account > Outcomes
- Click the ‘Find’ button to open the FindOutcomesModal
- Select an Outcome Group where the "Add All Outcomes"
  button is enabled
- Observe that the search bar is enabled
- Click the "Add All Outcomes" button
- Observe that the search bar is disabled
- Observe that the search bar is enabled after the
  import is complete
- Repeat steps at the Course level

Change-Id: I491451a4a1e5f4700c38da687f07c42713d3f262
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286817
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2022-03-14 17:28:11 +00:00
Martin Yosifov 341001e30a Hide Horizontal Separator from screen readers
closes OUT-5016
flag=individual_outcome_rating_and_calculation

Test plan:
- Enable Improved Outcomes Management FF
- Enable Individual Outcome Rating and Calculation FF
- Disable Account Level Mastery Scales FF
- Go to Account > Outcomes and open devtools -> Elements
- Click on Create button and in the Create modal select the
horizonal separator between Proficiency Ratings and Calc Method
- Verify in the Elements tab that the corresponding <hr />
element has aria-hidden="true" attribute
- Select an outcome and click on kebab menu -> Edit
- In the Edit modal select the horizontal separator between
Proficiency Ratings and Calculation Method
- Verify in the Elements tab that the corresponding <hr />
element has aria-hidden="true" attribute

Change-Id: I4c9b13b33900a4ac2892791fa6ff441dedda4c94
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286738
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Angela Gomba <angela.gomba@instructure.com>
Product-Review: Ben Friedman <ben.friedman@instructure.com>
2022-03-14 17:25:19 +00:00
Angela Gomba 9e49aadd06 Set focus to description after adding rating
closes OUT-5015
flag=individual_outcome_rating_and_calculation

Test plan:
- Enable Improved Outcomes Management FF
- Enable Individual Outcome Rating and Calculation FF
- Disable Account Level Mastery Scales FF
- Navigate to Account > Outcomes
- Open Create modal and using the tab button, tab to the
  proficiency ratings component
- Tab to the add rating button and press the enter key to add
  a rating
- Observe that the new rating's description input is focused
- Enter a description and tab to the points input
- Enter a valid points value
- Observe that the focus is still in the points input field
- Repeat steps in Edit Outcome Modal
- Repeat all steps at the Course context level

Change-Id: I762a4b726319f3a9175f0281626544de326a12cf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286790
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2022-03-14 17:24:00 +00:00
Weston Dransfield ad82c7832d Scroll to images in Icon Maker
Also make typing not feel slooow

Closes MAT-760
flag=buttons_and_icons_root_account

Test Plan:
- Build canvas-rce and Canvas JS bundles
- Open Icon Maker and scroll to the images section
- Choose Multicolor images from the list of options
- Validate the browser scrolls the list of multicolor
  images into view
- Choose single color images from the list of options
- Validate the browser scrolls the list of singlecolor
  images into view

Change-Id: I55e4a7b9ea4357e5a6d3c6afafa41b30a2664d1e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286841
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
2022-03-14 17:08:30 +00:00
Jeremy Stanley 28694b2cc0 spec: avoid failures caused by truncation
sometimes the assignment name gets truncated in the important dates
sidebar. idk why only sometimes on jenkins; it's consistent for me
locally. just use a shorter assignment name to avoid the problem

Change-Id: I01638ae3275e2fce0792d9ede5f4424ac145a0d8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287048
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2022-03-14 16:33:25 +00:00
Omar Gerardo Soto-Fortuño 5d81517417 Change GraphQL courseId type to String so it supports shard ids.
flag=none
closes VICE-2571

Test Plan:
 - Tests pass

Change-Id: Ib653f0d190c417d1218af253b8f38f1860cc9d78
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286927
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
2022-03-14 16:13:24 +00:00
Jeremy Stanley 0493ebb2f4 fix dateUtils applyTimezoneOffsetToDate for DST
we need to take into account whether DST is effective in the
source and destination time zones, on the date in question.
previously we were implicitly using the current UTC offset
in each time zone rather than the offset on the date
being converted

test plan: specs

Change-Id: I4ab257a0e8286eebc08ebd9f2bb67ef05451051d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287035
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2022-03-14 16:02:45 +00:00
Jeremy Stanley 2aef1ed2ad add job details table
test plan:
 - click a job ID in the Jobs table
 - job details should be populated below, under Details
 - clicking (show) next to Handler or Last Error (under Failed)
   should open a model that shows the requested details

flag=jobs_v2
closes DE-1052

Change-Id: I9522c85fbad7fec1da2d2b9ca0c784b8eb8e00ec
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286939
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-14 15:44:02 +00:00
Jeremy Stanley 8e2f42a510 group jobs by strand or tag
test plan:
 - use the "tag / strand" toggle in the header to change the
   top table grouping between tags and strands
 - ensure the tables update appropriately
 - ensure clicking a tag or strand filters the bottom table
   to include only that tag or strand

flag=jobs_v2
closes DE-1081

Change-Id: I3832bb683998cbb6629bc69d2dd394ad746a3a85
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286814
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2022-03-14 15:43:50 +00:00
Jeremy Stanley c0c50e1849 add tags table to jobs v2
test plan:
 - enable jobs 2 feature
 - go to /jobs_v2
 - select from the running / queued / future / failed buckets
   and see that each shows both information grouped by tag
   on the top and individual jobs below
 - note that if you click a tag, the job list is filtered
   by that tag

flag=jobs_v2
closes DE-1041
closes DE-1080

Change-Id: Iaebba877f80416d1cf700e1e7ab5af39eaa6e885
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286005
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2022-03-14 15:43:39 +00:00
Brian Watson c8523e3233 Additional selenium 4 cleanup
flag=none
Test-plan:
- Jenkins jobs pass
- verify no references to docker-compose build context build/docker-compose
  or docker-compose/selenium-*

Change-Id: Ia11e2564490a5713256a70e9b1f3e88d6ebc78e5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285944
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Brian Watson <bwatson@instructure.com>
2022-03-14 15:02:37 +00:00
Spencer Olson d4bd94e65e skip spec failing due to daylight savings change
flag=none

Test Plan:
- specs pass

Change-Id: I9322fb52fda84f1b4882a6033f1d50d832797385
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287034
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
2022-03-14 14:29:24 +00:00
Jacob DeWar fe785e0020 spec: Verify preview urls for locked/hidden files
refs MAT-560
flag= none

test plan:
-passes jenkins

Change-Id: Ie1b1c78fca50cb73431569a376ade4997b84c50f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286874
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jacob DeWar <jacob.dewar@instructure.com>
2022-03-14 14:07:56 +00:00
Jenkins 050120c81d update zh-Hant translation
Change-Id: I47cd6a074a6b5e178f46a56d11869a0eb15c5063
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287016
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-12 06:04:01 +00:00
Jenkins 068959b979 update zh-Hans translation
Change-Id: Iaf9f267bb85dba672f609598a41981aa2b8e7220
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287015
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-12 06:03:32 +00:00
Jenkins 30897f2085 update vi translation
Change-Id: I749a0f14ed9cd9c7c52d4d31391c26c80ecdfa44
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287014
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-12 06:03:03 +00:00
Jenkins 620d261c95 update th translation
Change-Id: I78967a2c505222f603cb4002d1c9d84145f35c0f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287013
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-12 06:02:41 +00:00
Jenkins 9be4dd31a1 update sv-x-k12 translation
Change-Id: I0ae01590628fe4d75672ca0fb192b1a6bb5278c9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287012
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-12 06:02:16 +00:00
Jenkins 3e707785be update sv translation
Change-Id: I85ae17e064b763bacbbf50b3cefed7bde2d035a8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287011
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-12 06:01:53 +00:00
Jenkins 29fad93337 update sl translation
Change-Id: Ib5f60a7295797f49c496d439cc816eebd54c2353
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287010
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-12 06:01:27 +00:00
Jenkins c00951a748 update ru translation
Change-Id: I65b9e9a7565393b1a7d23e847611806536024290
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287009
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-12 06:01:03 +00:00