Commit Graph

1884 Commits

Author SHA1 Message Date
Davis Hyer 9fb5c79848 expect correct prop type for CancelAttemptButton
refs LS-3017
flag=none

Shape is not a valid prop type, but rather a function that returns a
valid prop type. Since no shape was being defined, requiring a simple
object seemed more appropriate.

test plan:
  - tests pass

qa risk: low

Change-Id: I10d6743669c3138d6426a455868f5af1c33722fe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286330
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2022-03-04 16:44:52 +00:00
Davis Hyer 811f3b838f mock additional k5 requests
refs LS-3017
flag=none

These warnings were not causing tests to fail for some reason. I wasn't
able to pin the reason down, my suspicion is that fetch-mock uses an
internal logging mechanism.

test plan:
  - run `yarn test:jest ui/features/k5_`
    - there should be no console output regarding unmatched requests

qa risk: low

Change-Id: I4e8eb876571ca74eb0b2edef6a62640387f15a15
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286391
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2022-03-04 16:44:44 +00:00
Gonzalo Penaranda 5049c38482 Make page title label visible
fixes MAT-740
flag=none

Test Plan:
 - Create a new page or edit an existing
 one
 - Check that there's a label that says
 "Page title" just above the page title
 text field

Change-Id: Icb550ba6c1926ba84ea085582ff47dc4b080a193
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286212
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-03 16:10:18 +00:00
Davis Hyer 65a1e1700f provide errors type for gql mocks
refs LS-3017
flag=none

test plan:
  - tests pass

qa risk: low

Change-Id: If7cf0e4e2ed5810d686efa189bbc8be811d3b94a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286183
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: 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-02 23:57:03 +00:00
Davis Hyer 4bff7f75a0 provide proper outcomes context for rootId prop validation
refs LS-3017
flag=none

test plan:
  - tests pass

qa risk: low

Change-Id: I87b73fea2ced38d3f5e80da2b0fd75b5e25cc016
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286071
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2022-03-02 21:47:12 +00:00
Caleb Guanzon 3eacc17f04 spec: add faculty journal selenium tests
notes:
- did some housekeeping on the selenium
tests

- skips jest test due to flakiness

Change-Id: I75dbea69498efc54ccdee7c0bf0bf6264a925c7c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286272
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: Caleb Guanzon <cguanzon@instructure.com>
2022-03-02 20:44:04 +00:00
Evan Battaglia 8ccdf65306 Revert "change the minimum height of the iframe used for LTI messages"
This reverts commit 078a06d50e.

Reason for revert: Broke some iframe heights in canaries

Change-Id: I3a594dc516c4ba03ec1fbd4a24f67a5223c54827
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285820
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
Product-Review: Evan Battaglia <ebattaglia@instructure.com>
Reviewed-by: Mark Starkman <mark.starkman@instructure.com>
2022-03-02 17:36:04 +00:00
Noah Rush 5217d0fa7c Revert "Page Views table I18n Date Fix and React redesign"
This reverts commit 1c826d7f22.

Refs OREO-1432

Reason for revert: Endless scroll is looping page view data
https://instructure.slack.com/archives/C02A09399/p1646176760324549
https://instructure.atlassian.net/browse/OREO-1432

Change-Id: Ide372d6f8ff1b09c142ae7d3d8f06be1474d0b14
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285819
Reviewed-by: Stephen Kacsmark <skacsmark@instructure.com>
QA-Review: Stephen Kacsmark <skacsmark@instructure.com>
Product-Review: Stephen Kacsmark <skacsmark@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-03-02 16:08:52 +00:00
Isaac Moore 5955ac8e20 Add Sentry frontend APM tracing
This commit adds support for Sentry's APM tracing to the frontend. It
enables tracking of client-side performance metrics across different
pages in the app, so that performance can be further improved.

Settings included in this commit:
- `sentry_frontend_traces_sample_rate`, which controls the APM sample
  rate (defaults to 0.0, meaning no transactions are collected)

flag=none
closes DE-997

test plan:
- confirm that there are no issues when the sample rate setting is not
  set
- confirm that setting the sample rate setting to something greater than
  0.0 results in traces being collected, viewable in the Performance
  section of Sentry
- confirm that traces are not collected if the `sentry_disabled` setting
  is `true`
- confirm that adjusting `sentry_frontend_traces_sample_rate` correctly
  adjusts the quantity of transactions delivered to Sentry, and that
  leaving it unset or set to 0.0 results in no transactions being sent

Change-Id: I38790d9efce2513b5d8ce957f8b763fcd8737b34
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283692
Reviewed-by: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
2022-03-01 16:55:31 +00:00
Davis Hyer bbe2edc991 move select value from option to select
refs LS-3017
flag=none

test plan:
  - tests pass

qa risk: low

Change-Id: Ia52680b0e2b5c277f6078ea19737c7107985abfb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286069
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2022-03-01 16:55:05 +00:00
Davis Hyer afac4e90a0 provide required moduleItem gql type
refs LS-3017
flag=none

test plan:
  - tests pass

qa risk: low

Change-Id: Ib823b0533e6126346adc14c76a2880eaff01f96a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286070
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2022-03-01 16:30:36 +00:00
Davis Hyer 5ecc77e664 fix modalProps.onDismiss error
refs LS-3017
flag=none

test plan:
  - tests pass

qa risk: low

Change-Id: I7643eef56da11a29579b5ff579b2d4beeb2710de
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286051
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2022-02-28 22:17:27 +00:00
Ahmad Amireh 5b90b39cf5 [instui8] address deprecations
refs FOO-2645
flag = none

this applies the first two codemods: updatePropNames and updateV7Props.
We can still remain on v7 at this point.

To reproduce this:

- clone github.com/instructure/instructure-ui
- activate node 14 and run "yarn install"
- apply the first mod with this command:

npx jscodeshift \
 -t packages/ui-codemods/lib/updatePropNames.ts \
 --config=packages/instui-config/codemod-configs/v7/propNames.config.json\
 ~/src/canvas-lms/ui

- apply the second mod with this command:

    npx jscodeshift \
      -t packages/ui-codemods/lib/updateV7Props.ts \
      -fileName updateV7PropsWarnings.txt \
      ~/src/canvas-lms/ui

substitute ~/src/canvas-lms with the path to ur canvas installation

~ TEST PLAN ~
  ~~~~~~~~~

not sure if it's reasonable to be spot-checking all the affected sites,
we should be able to rely on the test suite for that, but it won't hurt
to look and click through things

Change-Id: Ie120b773550633f418fae5635d1943083a65005e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285028
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: Sean Scally <sean.scally@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2022-02-28 19:04:05 +00:00
Davis Hyer a418b6f9ea replace deprecated toBeEmpty with toBeEmptyDOMElement
flag=none

test plan:
  - tests pass

qa risk: low

Change-Id: I71810f19ccc4590b7c4ca70a92c86ebdb14c4043
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/286038
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2022-02-28 18:11:00 +00:00
Angela Gomba 92e68fcaa7 Disable Add All Outcomes button when adding the remaining outcome
closes OUT-4700
flag=improved_outcomes_management

test plan:
- import academic benchmark
- open find outcome modal
- one at a time, add all but one outcome from a group
- observe the 'Add All Outcomes' button is enabled
- add the final outcome
- observe the 'Add All Outcomes' button is disabled
- find a different group to import
- one at a time, add all but one outcome
- try to add the final outcome (cause it to fail)
- observe the 'Add All Outcomes' button is disabled
when trying to add the outcome, and enabled when the
import fails

Change-Id: Ib846fcb27807de8a8c873350746389baaa1b7664
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285793
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@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-02-28 14:07:48 +00:00
Jonathan Guardado 468b6d48c4 Remove Notification Settings: Course selector flag
Closes: LS-2985
flag= none

test plan:
- In profile notification, expect to see the “settings for” dropdown
- Confirm the selector works as usual

Change-Id: I9c80cf4e520680b89075d8ab8a77d5535607a195
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285660
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: Jonathan Guardado <jonathan.guardado@instructure.com>
2022-02-25 21:43:02 +00:00
Isaac Moore 6da978431c Enable Sentry frontend FullStory integration
If FullStory is enabled for the current session, this integration will
associate the FullStory session URL with any errors sent to Sentry.
Additionally, it will add an event to the FullStory session indicating
there was a Sentry error, and providing a URL for easy access. If
FullStory is not enabled for the current session, this integration is not
enabled.

closes DE-996
flag=none

test plan:
- ensure that the appropriate values are provided in config/sentry.yml
- enable FullStory for a session by overriding methods in FullStoryHelper
- cause an unhandled exception to occur on the frontend
- verify that the event in Sentry contains FullStory context with a link
  to the session URL
- verify that the FullStory session contains the Sentry Error event, with
  a link to the Sentry event
- disable FullStory, and verify that frontend exception monitoring with
  Sentry works as normal

Change-Id: I782930ecbea6f3e4afb23045d4087fe4c252875d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283151
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2022-02-25 21:32:23 +00:00
Charley Kline 02030aa600 Make sure conference DOM elements are there before using
Fixes FOO-2731
Refs FOO-2674
flag=none

See also the referenced ticket.

Support found yet another race condition in rendering the
"new/edit calendar event" dialog due to a class constructor
wanting DOM elements to be there before they might have
rendered. This just waits on the #id first.

When this deploys to Production, we can pull the `calendar`
bundle from the prod `deferred_js_bundles` Setting.

Test plan:
* Not sure? This is hard to reproduce in dev, but if you can
  do so on the main branch, verify that it's not reproducible
  on this commit

Change-Id: I02bf765ecafb77fbd29010aba0b7db677081f148
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285980
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Sean Scally <sean.scally@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2022-02-25 20:56:30 +00:00
Jackson Howe f6173a54b8 Remove k5_parent_support flag
closes LS-2984
flag = k5_parent_support

[fsc-timeout=45]
[fsc-max-nodes=20]

Test plan:
 - Visit the k5 dashboard as an observer with several students
 - Expect to see the observer picker
 - Expect switching students to function normally
 - Open a course and expect the selected student to remain selected
   in the picker
 - Open dashboard as a non-observer user and expect the picker to
   be gone

Change-Id: I0f6aa230976b6929ceba7621c1ff34a400226340
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284783
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2022-02-25 20:39:08 +00:00
Jason Gillett 0924a27550 Add correct behavior to journal entry option
closes VICE-2505
flag=react_inbox

Test Plan:
1. Open the react inbox
2. Open Compose modal as an admin
3. Observe that the Journal Entry checkbox is not there
4. Select A student
5. observe that the Journal checkbox is still not there
6. Select the course in which the student belongs
7. The Checkbox should appear
8. Check the checkbox
9. Select a new teacher,TA,or Observer Recipient
10. The checkbox should be removed
11. Remove the teacher,ta,or observer recipient
12. The checkbox should re-appear unchecked
13. Select a Student group
14. the checkbox should remain
15. Click the CheckBox
16. send a message as a faculty note
17. Click "sent" scope and verify message is there
18. for each recipient
18 a. visit /users/[:recepient student id]/user_notes
18 b. verify the message you just sent shows
18.

Env Setup:
1. Have react inbox enabled
2. Have Faculty Journal Setting enabled
2a. This is enabled in the account permissions settings

Change-Id: I1601eaeb4d46b95c53afd4e7df115eaa582f7178
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285845
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: Caleb Guanzon <cguanzon@instructure.com>
2022-02-25 20:17:55 +00:00
Ed Schiebel c6df32c76f Show observee data on the student planner
the planner used to rely on ENV.STUDENT_PLANNER_COURSES
it now makes a request to get dashboard_cards to
acquire the info it needs about the user's list of
courses.

closes LS-2919
flag=observer_picker

test plan:
  AS A NOT K5 STUDENT
  > expect the planner to load assignments
  - click the + and add a note to the user
  - click the + and add a note to a course
  > expect both notes to be in the planner,
    even after you refresh
  - click the grades button
  > expect grades to be loaded in the tray
  - have a missing assignment, and click the
    opportunities button
  > expect the missing assignment(s) to show up
  - dismiss one
  > expect it to move to the dismissed tab

  AS AN OBSERVER OF THIS STUDENT
  - and another student
  > expect the planner to load assignments
  > expect the planner to show grades
  > expect the planner to show opportunities
  - Don't bother adding notes or dismissing
    opportunities, those will eventually get
    disabled.
  - switch observed students
  > expect the planner to update with new data
  - switch to the card dashboar and expect it
    to be correct
  - refresh so the cards are the default, then
    switch to the planner
  - do ^that, but switch observees before switching
    dashboard views

  AS A K5 STUDENT
  > expect the Homeroom to show the right data
    - e.g. stuff due today and stuff missing
  > expect the Schedule tab to show the right data
   - e.g. assignments and missing items

  AS AN OBSERVER OF A K5 STUDENT
  - and another k5 student
  > expect it to work as it always has
  - switch observed student
  > expect the dashboard to update with new data
  - start from different default dashboards
    and switch dashboard views or switch observees
    then try the other way around.

  AS AN ENROLLED STUDENT OBSERVING A STUDENT
  > expect the dashboards to default to observing
    the current user
  - switch to observing your student
  > expect the dashboards to reflect the new observee
  - refresh
  > expect to be observing the student by default
  - switch to observing the observer
  > expect the right stuff to happen

  TURN OFF THE observer_picker FEATURE
  > expect all dashboards to still work correctly

  *** BONUS *****
  > expect the initial queries for dashboard_cards,
    missing_submissions, and planner/items
    to be the result of the prefetch.  On loading
    the planner page, you should see only 1 copy
    of the various requests until you start
    interacting with the page

Change-Id: I5a2b1eb2fbc812bbf6ee0bb9c037f21ab99cb007
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284754
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: Ed Schiebel <eschiebel@instructure.com>
2022-02-25 18:51:18 +00:00
Jonathan Guardado 6a08fb0158 Fix: Notification settings course selector only works once
Most of the issues were due the component state is not updated when
the props change, this gets fixed reading the values directly from
the prop rather than the state but as the update callback takes some
time to reflect the changes, lets just sync the state with the props

Closes: LS-3011
flag= notification_settings_course_selector

test plan:
- With the Notification settings course selector flag enabled
- Go to the profile notification page and expect to see the “settings
for” dropdown
- Select a course and expect to see the table be updated with the
course settings
- Select another course and then select back the first course and
expect to see its settings in the table

Change-Id: I08569c9b5359dc7dd24ad53b7dc3d1b02672ba14
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285954
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: Jonathan Guardado <jonathan.guardado@instructure.com>
2022-02-25 18:43:14 +00:00
Jason Gillett 263039933a Provide Common Course information to compose Modal
refs VICE-2505
flag=react_inbox

Test Plan:
1. Open React inbox with Networks tab open
2. Verify that the ADDRESS_BOOK_RECIPIENTS query is updated
3. Each userConnection node should have a commonCoursesConnection

Change-Id: Ie47ad35ffbd33eb33a0cb7c655150ae4c3c51435
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285909
QA-Review: Chawn Neal <chawn.neal@instructure.com>
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>
2022-02-25 17:42:24 +00:00
Jason Gillett 7df07add82 spec: skip flaky select course test
Change-Id: I7a9470da322fcf50ace2202b0c73ab20c84cecd8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285976
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-25 17:17:56 +00:00
Jackson Howe 452b277433 Remove remember_settings_tab flag
closes LS-2987
flag = remember_settings_tab

Test plan:
 - In course settings and then in account settings:
   - Click between tabs
   - Click the back button and expect tabs to change back
   - Refresh the page and expect the selected tab to load again

Change-Id: I8d92d21d23084e24b384420d050e197e7152d2e9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285467
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>
2022-02-25 16:39:55 +00:00
Dustin Cowles c1560cc4a9 update media recordings submission type ui
closes EVAL-2107
flag=assignments_2_student

Test plan:
- PreReqs:
  - A student in a course with a Media Recordings assignment
- As a student, navigate to the assignment and select the Media
  submission type
- Observe two panels seperated by divider
- Click left (Record) panel
- Observe the Upload Media modal opens with only the Record panel/tab
- Confirm recording media functions and can be submitted
- Close the modal and click the right (Upload) panel
- Observe the Upload Media modal opens with only the Computer panel/tab
- Confirm uploading media functions and can be submitted

Change-Id: If3fd4536b106d6c60b75266adb5bc22ecea0ce49
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285010
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Paulo Chaves <paulo.chaves@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2022-02-25 11:33:24 +00:00
Aaron Shafovaloff c1719e5a4f Account for default '0' filter values
Test plan:
  - Delete all filters
  - With enhanced feature flag off
    - Enable the assignment groups filter
      - Select an assignment group filter value
      - Then select "All Assignment Groups"
    - Enable the module filter
      - Select an assignment group filter value
      - Then select "All Modules"
- Turn enhanced feature flag on
  - Load gradebook
  - There should be no filters

flag=enhanced_gradebook_filters

Fixes EVAL-2282

Change-Id: I3369a231901c85c6d8faba56a2ebfe0ad5802865
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285928
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eduardo Escobar <eduardo.escobar@instructure.com>
Reviewed-by: Paulo Chaves <paulo.chaves@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Eduardo Escobar <eduardo.escobar@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2022-02-24 23:06:03 +00:00
Eduardo Escobar d9dbe63967 rename params to match score to un ungraded api endpoint
closes EVAL-2235
closes EVAL-2254
closes EVAL-2256
flag=none

test plan past due date:
- enable the feature flag “Score to ungraded“.
- create and publish a course with one teacher
  and two students.
- create an assignment A1 with no due date.
- create an assignment A2 with a past due date.
- create an assignment A3 with a future due date.
- go to the gradebook page.
- click in the total dropdown menu and select the
  "Score to ungraded option".
- in the modal choose "Only ungraded artifacts
  that are past due".
- wait some seconds until the process finishes.
- refresh the page.
- notice that the only affected submissions are
  those who belongs to the A2 assignment.

test plan excused:
- create three assignments A1, A2, A3.
- go to the gradebook page.
- Give a score to one of the students.
- click in the total dropdown menu and select the
  "Score to ungraded option".
- in the modal put "EX" in the grade for ungraded
  submissions input.
- wait some seconds until the process finishes.
- refresh the page.
- notice the ungraded submissions are marked as
  excused, the previously graded submissions is
  untouched.

test plan student group:
- create an assignment and check the option "This is
  a Group Assignment", create a new group set with
  the students splitted in two groups.
- go to the gradebook page.
- enable the student groups filter using the View
  dropdown menu in gradebook.
- use the filter dropdown to select one of the
  student groups.
- click in the total dropdown menu and select the
  "Score to ungraded option".
- put some percentage for the grade input in the
  modal and click on "Apply score".
- wait some seconds until the process finishes.
- refresh the page.
- notice the only affected submissions are those
  that belongs to the selected student group.

Change-Id: I8d6197c28cceb512db442d0365aa8e39ff4402e5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284965
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2022-02-24 22:29:39 +00:00
Aaron Shafovaloff e34ecb191e Filter tag improvements
1. Show separate tags for each condition (not in named filter).

2. Shows tooltip with list of conditions when hovering over tag of
   named filter.

Test plan:
  - Create filter with some conditions
    - Apply the filter
    - Check that tags are shown for each condition
  - Save the filter with a name
    - Only one tag should show now for the filter
    - Hover over the filter tag
    - Each condition should show in the tooltip
  - Dismiss a filter tag
    - The filter should be disabled and not deleted

flag=enhanced_gradebook_filters

Closes EVAL-2265
Closes EVAL-2266

Change-Id: I68ae6d70187c40f03cdbf66c5688d7e842d5895a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285361
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Eduardo Escobar <eduardo.escobar@instructure.com>
2022-02-24 22:29:20 +00:00
Martin Yosifov 956a7debab Fix n Number of Times example final score
closes OUT-4974
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
- In the Create modal change mastery points to 3, change calc
method to "n Number of Times" and set parameter to 5
- Verify that Final score in the example is 4.2
- Select and outcome and click on kebab menu -> Edit
- In the Edit modal change mastery points to 3, change calc
method to "n Number of Times" and set parameter to 5
- Verify that Final score in the example is 4.2

Change-Id: I5e96466a58eea01ee423b2f909950c24f64d7e31
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285731
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chrystal Langston <chrystal.langston@instructure.com>
QA-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2022-02-24 21:23:30 +00:00
Martin Yosifov 108362fd60 Update calculation method example for IORCM
closes OUT-5001
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 click Create button
- Click on Create btn and in the Create modal select each
calculation method and verify that Example says:
-- "Item Scores:" and not "Example item scores:"
-- "Final Score:" and not "Example final score:"
- Select outcome, click kebab -> Edit, and in the Edit modal
select each calculation method and verify that Example says:
-- "Item Scores:" and not "Example item scores:"
-- "Final Score:" and not "Example final score:"

Change-Id: I239b6e7dc69a879b2208ab609e75cb8d5f7102d9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285853
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: Ben Friedman <ben.friedman@instructure.com>
2022-02-24 16:21:09 +00:00
Weston Dransfield ba27aeaeb1 Fix race condition with doc loading in quizzes
Closes MAT-638
flag=none

Test Plan:
1. Navigate to /courses/:id/question_banks and add
   a new question bank
2. Add a multiple choice question to the bank and save
   some bogus data
3. Hard refresh the page
4. Edit the multiple choice question
5. Hover your mouse over one of the answers and click the
   pencil icon
6. Verify the RCE loads
7. Repeat steps 3 - 6 a few times. Make sure the RCE loads
   each time. This is obviously not exaustive :)
8. Verify you can save changes to answers

Change-Id: I9a306ce7d3334ed691c108bffa33d8e81e287e63
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285692
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-24 16:15:45 +00:00
Drake Harper 0238920bde Implement checkbox deselect
closes VICE-2572
flag=react_inbox

Test Plan:
 - go to inbox with react ff on

 - select a checkbox
 - checkbox should be selected
 - click the checkbox again
 - checkbox should be deselected

Change-Id: Id80e0f0dbc510ae5576779ef1b301e8f15903839
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285837
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: Caleb Guanzon <cguanzon@instructure.com>
2022-02-23 22:57:58 +00:00
Jackson Howe cd89d97c8f Group quizzes in module requirement dropdown
Classic quizzes and new quizzes are grouped together under Quizzes
heading in module requirements dropdown.

fixes LS-3007
flag = none

Test plan:
 - Create a classic quiz and a new quiz and add to a module
 - Open modules page, click edit module, click 'Add requirement',
   click on dropdown of assignments
 - Expect to see group heading 'Quizzes' with both quiz types listed
   underneath

Change-Id: I68d0b99ba370cf642f6c2a8ef85cad57d5dfe7a9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285842
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: Jackson Howe <jackson.howe@instructure.com>
2022-02-23 22:40:19 +00:00
Jason Gillett 031a525b31 Allow Compose modal to select a course
fixes VICE-2575

flag=react_inbox

Test plan
1. Open react inbox
2. Open the compose modal
3. Select a course
4. Verify that the course field is populated

Change-Id: I3b28cd0c87bd939706737b9be83c031f1c5c7c28
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285839
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2022-02-23 19:17:56 +00:00
Xander Moffatt c434f3968e support lti.put_data postMessage
refs INTEROP-7087
flag=lti_platform_storage

why:
* part of the IMS LTI Platform Storage proposal
* allows tools to store and fetch data in canvas local storage, since
tool frame cookies and local storage is disabled in some browsers

test plan:
* send an lti.put_data postMessage with the correct subject, key, and
value
* in the dev tools Storage/Application tab, look in local storage and
see the key and value
* in platform_storage.js, change STORAGE_KEY_LIMIT to 1 (and rebuild
webpack if needed, I recommend keeping it running)
* send another postMessage with a different key
* note in the dev tools console that the received response message
has an error with code `storage_exhaustion` and a message
* send an lti.put_data postMessage with the first subject and key,
but no value
* look in local storage -  that key and value should be gone

Change-Id: Ie06950b2ae6847ef0be6bb9d0a47ac1e1a9fe07e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274219
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
2022-02-23 17:58:56 +00:00
Xander Moffatt ba5d00cb99 support lti.get_data postMessage
refs INTEROP-7087
flag=lti_platform_storage

why:
* part of the IMS LTI Platform Storage proposal
* allows tools to store and fetch data in canvas local storage, since
tool frame cookies and local storage is disabled in some browsers

test plan:
* send an lti.put_data postMessage with the correct subject, key, and
value
* in the dev tools Storage/Application tab, look in local storage and
see the key and value
* send an lti.get_data postMessage with the correct subject and key
* you should receive a postMessage with the key and value

Change-Id: Ib0f133f19f8bb3068e24155d39f544ac1b0428c9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274218
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
2022-02-23 17:36:46 +00:00
Xander Moffatt a0ee9c29d6 wrap localstorage for LTI tool use
refs INTEROP-7087
flag=lti_platform_storage

why
* part of IMS LTI Platform Storage proposal
* will be used by LTI postMessages

* put limits on storage key count and size, partitioned by tool, as
defined by the Platform Storage spec

test plan
* specs

Change-Id: I3af9ad8487cccaf510826c50a2b6c478fda75110
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274217
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: Xander Moffatt <xmoffatt@instructure.com>
2022-02-23 17:35:56 +00:00
Jeffrey Johnson 117602ab88 Fix auto scroll to wait until discussion is loaded
fixes VICE-2435

Test Plan
1. Load a discussion in Legacy Discussions
2. Find a discussion ID (Hint: The ID is in the HTML)
3. Appnd #entry-NNNN (Your ID) to the URL and load
4. Expected: Page should auto scroll to entry when loaded
5. Now delete $entry-NNNN frmo the URL
6. Append /entry-NNNN and hit enter
7: Expected: Page should auto scroll to entry when loaded like Step 4

Change-Id: I74c661743a9b6cc1ada7292087282cd7293f1193
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285760
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
2022-02-23 17:29:12 +00:00
Dustin Cowles 779e1377cd remove background and border for URL submissions
closes EVAL-2233
flag=assignments_2_student

Test plan:
- Tests Pass
- URL Entry appearance matches mockup

Change-Id: Ia208fd2c297ccf9fa5caee443c28612ad6c7ed0a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285011
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Eduardo Escobar <eduardo.escobar@instructure.com>
Product-Review: Jody Sailor
2022-02-23 17:25:32 +00:00
Martin Yosifov b8ee0e5167 Fix Calculation Method Display in Responsive View
closes OUT-4991
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
- Open Devtools and switch to mobile/responsive mode
- Select an outcome and expand its description
- Verify that calculation method display matches figma
mock referenced in ticket (i.e. wraps on two lines)
- Add global outcome to the account, select outcome via
TreeBrowser and click kebab menu -> Edit
- Verify that in the Edit modal calculation method
matches figma mock (i.e. wraps on two lines)

Change-Id: I9e2366c8fc9d102a210f64e6f7940a244cdd1e54
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285576
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
Reviewed-by: Brian Watson <bwatson@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Ben Friedman <ben.friedman@instructure.com>
2022-02-23 17:24:23 +00:00
paulo.chaves d3fe3d7b3a Update UI for file upload submission type
closes EVAL-2109
flag=assignments_2_student

test plan:
- Enable the "Assignment Enhancements - Student" feature flag
- Create an assignment with "File Uploads" selected
- As a student go to that assignment to submit a file
- Verify the background of the file upload component is grey
- Verify the "Drag file component is on the right" and has
  a white background
- Verify the "Webcam Photo" and "Canvas File" components are
  on the left and stacked
- After dropping/selecting a file verify the table background
  is the same as the file upload component

Change-Id: I3b9c335a14cad85023c8ff1143a3489affde7289
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285243
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Syed Hussain <shussain@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2022-02-23 17:07:29 +00:00
Spencer Olson 9b182c259c change anonymous student naming strategy
Changes anonymous student names (i.e. Student 1, Student 2) to be
consistent across pages/consistent regardless of teacher view
permissions or preferences.

flag=none
closes EVAL-2229

Test Plan:
1. Enroll at least 2 teachers in a course, each teaching a different
   section. As an admin, go to one of the teacher's user page for the
   course (/courses/:course_id/users/:id) and under the 'Privileges'
   section, click "limit this user to only see fellow section users".
2. Create an assignment assigned to all students in the course, and
   select "Graders cannot view student names".
3. As the teacher without section limitations, go to SpeedGrader for
   the assignment. For each anonymous student, take note of the student
   anonymous name (i.e. Student 1) and the corresponding anonymous_id
   query param in the URL.
4. As the section-limited teacher, go to SpeedGrader for the assignment.
   Verify that every student anonymous name + anonymous_id pair you see
   matches the pair that the non-section-limited teacher saw.

Change-Id: Ia22813ef38b3378d7c38a8cb3f12b53c8c9b7d42
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284822
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Eduardo Escobar <eduardo.escobar@instructure.com>
Product-Review: Jody Sailor
2022-02-23 02:28:05 +00:00
Chrystal Langston 1957b8ffb8 Set focus after deleting a rating
closes OUT-4987

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
- Open Create modal and using the tab button, tab to the
proficiency ratings component.
- Tab to the first rating's delete button and press the
enter key to remove the rating.
- Assert that the rating's delete button below the deleted
rating is focused.
- Tab to delete button of the second rating in the list and
press the enter key.
- Assert that the first rating's delete button is focused.
- Using the tab key, delete all ratings untils one rating is
left in the list.
- Asset that the element that is focused is the rating's points
input element.
- Tab to the + button and press enter to add a rating to the
list.
- Assert that the add rating button remains focused after adding
a rating to the ratings component.
- Repeat steps in Edit Outcome Modal.
- Repeat all steps at the Course context level.

Change-Id: I9e90298380ca4bf1d742d2b03e7fc5985c903ea7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285365
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Angela Gomba <angela.gomba@instructure.com>
Product-Review: Ben Friedman <ben.friedman@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
2022-02-23 01:15:28 +00:00
Ryan Shaw 32846daf4a Remove responsive_layout feature flag
Refs LA-489
flag=responsive_layout

We can merge this once the responsive_layout feature flag is turned on
for everyone in prod. It removes any code path that was only for if the
feature flag was off

Test plan:
* go to accounts/self/settings
* the feature flag for responsive_layout should not be there anymore
* resize your page to small
* it should show the mobile layout

Change-Id: I2428f6368aa13a271d07cfaef18c12fa2bff2f3e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/220206
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
2022-02-22 20:35:51 +00:00
Jason Gillett 3e511ff7ba Make react inbox url interactive
closes VICE-2506
flag=react_inbox

Test Plan:
1. Open react container
2. Verify that the URL displays the default inbox filter
3. Change Scope filter, verify url updates
4. Change Course filter, verify that url updates
5. Change the URL parameters
6. Verify that the filters change with the URL
7. Try to set filter to invalid filter
8. Verify that the default filter appears

Change-Id: I0ba46885c85564a58f7db67694bafa7679cfaa35
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285245
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2022-02-22 19:39:11 +00:00
Evan Battaglia 233eee0122 Handle empty placement-specific dev key fields
closes INTEROP-7279

* Currently, when editing a developer key, if something is set in a
  placement-specific target_link_uri, but then it is removed, the
  target_link_uri gets set to "". This can happen even if
  target_link_uri is initially not present, but you put some text in
  there and remove it. When the placement-specific target_link_uri is
  "", the placement will not launch.
* Also, if you give a number for a placement-specific selection
  width/height, and then get rid of it, the selection_width/height is
  set to "" in the React state, and you'll get an error when trying to
  save the dev key.
* This commit fixes the React components so, if the text edit boxes are
  empty, the placement object won't have the keys at all, instead of
  having an empty string.
* For keys which already have a empty string ("") placement-specific
  target-link URI, this fixes the launch be treating that as nil.

Test plan:
- Before checking out this commit:
  - ensure that you have an LTI 1.3 tool installed with a placement with
    a placement-specific target_link_uri. The test tool by default does
    this.
  - Make sure you have jobs running (these copy the dev key changes to
    ContextExternalTools)
  - Edit the LTI Dev Key and empty out the edit box for the
    target_link_uri for one of the placements. Try launching the tool
    from the placement. it should crash.
- Check out this commit
- Try launching the tool from the placement. It should not crash: it
  should launch using the URL for the tool.
- Edit the dev key. Fill in something in the empty placement-specific
  target_link_uri and delete it. Save the key.
  Then, look at the JSON for the dev key (in a console, or just edit it
  again and look at the JSON in the UI). Instead of the blank string it
  should not have a "target_link_uri" set.
- Edit the tool again. Put in a value for selection height and selection
  width for one of the placements, then delete one of these two values
  before saving. It should save successfully. After saving, look back at
  the JSON. The selection height or width value you kept should be set,
  whereas the one you deleted should not be in the JSON hash at all.

Change-Id: Ib1a5cde7ad398310e5cc8b705cf90e539a9d92c7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285325
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Evan Battaglia <ebattaglia@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-22 18:27:53 +00:00
Dustin Cowles 23a2813af5 fix video url when uploading subs on media comment
fixes EVAL-2128
flag=none

Test plan:
- Tests Pass
- PreReqs:
  - Notorious/Kaltura configured
- As a teacher, leave a media comment in SpeedGrader
- View the media comment and click [CC] -> Upload Subtitles
- Confirm the URL and Copy button are visible

Change-Id: I525ea12f28302734cef58acad36032a71d3996af
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285090
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Eduardo Escobar <eduardo.escobar@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
2022-02-22 18:18:15 +00:00
Omar Gerardo Soto-Fortuño c4470f564c Show list of submission comments threads on the left pane
closes VICE-2527

flag=react_inbox

test plan:
  - Specs pass
  - Go to a Course -> Grade and leave submission comments to a student.
  - Login as the student and go answer back to the teacher
      (in the same place).
  - Login back as teacher and go to Inbox and click on the
      scope Submission Comments.
  - The threads should show on the left pane with a preview.

qa risk: low

Change-Id: Ic90b47a06b99e55c5eee3ffd813d45106efcabb6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285329
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-02-22 17:13:23 +00:00
Aaron Shafovaloff fb660fff10 Don't needlessly rebuild submission array
getSubmissions needs refactoring to be more efficient. Until then
  this removes our needless calling of the function when there
  are no submission-related enhanced filters.

Test plan:
  - Ensure there are no enhanced filters by submission status
  - Create a course with many assignments
  - Horizontally scroll the SlickGrid to the right
  - It should not freeze

flag=none

Refs EVAL-2276

Change-Id: Ic2e63a50248900c6af4d83075dba1670162c752b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/285566
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-02-18 23:04:44 +00:00