Commit Graph

564 Commits

Author SHA1 Message Date
Ed Schiebel d06e44eed8 Add Auto Show Closed Captions user feature
closes MAT-40
flag=auto_show_cc

Requested by the Columbus Public Schools (my homies), create a
setting so videos automatically show CCs when playing
videos.

test plan:
  - create RCE content and include a video
  - add a couple CC files in different languages, including the
    user's language (the .srt files don't have to be in another language,
    just tell canvas they are)
  - save
  > expect no CC without selecting them from the CC menu in the
    media player
  - click on the user's avatar to open the user's tray and choose Settings
  - enable the  "Automaticaly show media captions" feature
  - refresh to the page with RCE content
  > expect the CCs in the user's language to automatically show
  - change the user's language to another one you have CCs for
  - refresh the page with the video
  > expect the new language's CCs
  - change the user's language to something not in the CC list
    and not English
  - refresh the video page
  > no CCs and nothing bad happens.

note: I wanted to test with with various combinations of en, en-US,
and en-GB but canvas won't let you add CCs in regional locales. I don't
know why, but that's a problem for another day.

Change-Id: I355fd12c5ea42fe5bc8e776a0c602c2857aaf4c6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262500
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Nate Armstrong <narmstrong@instructure.com>
QA-Review: Nate Armstrong <narmstrong@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2021-04-12 17:44:51 +00:00
Ahmad Amireh ec939255d7 don't swallow stderr during build:packages
flag = none

stderr output of the individual processes fed to "wsrun" are being
swallowed if it's running in --parallel and asked to --collect-logs

see: https://github.com/hfour/wsrun/issues/107
see: https://github.com/hfour/wsrun/issues/92

== test plan

grab the following image from starlord and verify you see the actual
error output from the canvas-rce package:

    export IMAGE="starlord.inscloudgate.net/jenkins/canvas-lms:63.262363.4-postgres-12-ruby-2.6-failed" &&
    docker pull "$IMAGE" &&
    docker run \
      -v "$PWD"/package.json:/usr/src/app/package.json:ro \
      --rm -it \
      "$IMAGE" \
        yarn build:packages

Change-Id: I7650e6b9b83bb22faea569eba05a9f73f5e72b4f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262410
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2021-04-07 20:49:27 +00:00
Ahmad Amireh 4243097b21 rename some things
fixes FOO-1265

[skip-eslint=true]
[pin-commit-analytics=7e49eefd7f59cbf43fd03bf8957bbbfa76f8d9d5]
[pin-commit-demo_site=adade2e38e46a358a4643cd3db2fe5ccffe39ec5]
[pin-commit-instructure_misc_plugin=47a3161102b0611af56d134fbd0c828ddc1b8abf]
[pin-commit-migration_tool=0dbac2f5b421d894395605ce4b583ef0f7d60b22]
[pin-commit-multiple_root_accounts=cc96d28c0d59bbe47acc64de4fdd8e1d2b029805]

Change-Id: I14c07f20bd260cf0de1f48ceb70b3c2313edf2d2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258807
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Ziwisky <mziwisky@instructure.com>
QA-Review: Michael Ziwisky <mziwisky@instructure.com>
Product-Review: Michael Ziwisky <mziwisky@instructure.com>
2021-04-06 01:12:49 +00:00
Caleb Guanzon 8214429684 add POC MessageListActionContainerMSW test
flag=canvas_inbox
fixes VICE-1240

TEST PLAN:
- yarn
- yarn jest 
  app/jsx/canvas_inbox/containers/__tests__/CanvasInboxFullPage.test.js
  
  should pass

Change-Id: Ibaf618e8abae4aad63d6e1dabf1a1ea20f5c9dd6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/261392
Reviewed-by: Brian Watson <bwatson@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
2021-03-26 17:37:01 +00:00
Charley Kline 59d5297fa6 Update InstUI component source modules via codemod
Closes FOO-1717
flag = none

This was the result of the InstUI codemod per the v7
upgrade guide instructions

Test plan:
* build still passes
* no clue how we'd manually QA all this. Any ideas?

Change-Id: I6ca72bfabca0628761be00d8bed27dda103e0711
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260817
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
2021-03-19 16:28:01 +00:00
Jeff Largent 141c0c5b9b Upgrade InstUI to latest minor / patch versions
This change aims to fix tree-shaking issues introduced in InstUI 7 by
the addition of `"type": "module"` to the packages' package.json
files. It updates the following major versions to their latest minor /
patch versions:

* 7 -> 7.4.4
* 6 -> 6.27.0

It also updates @instructure/ui-icons from v6 to v7, since nothing has
changed between those versions except the addition of new icons and a
slight tweak to the "add" and "x" icons to make them more closely
match product designs.

It also updates @babel/core, @babel/runtime, and
@babel/runtime-corejs3 to latest (7.13.10) to fix this babel issue:
https://github.com/babel/babel/issues/12854.

The dependency changes also shuffled around the webpack build a bit--
the assignment_edit bundle is now (slightly) over the max asset size
limit, while quizzes_bundle and screenreader_gradebook are not any
more.

fixes LS-2016
flag = none

Test plan:
  - Ensure everything in canvas still works and looks the same

Change-Id: I262012c9b752cec617f425c57e8c276bc7870b21
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260391
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2021-03-15 17:39:32 +00:00
Charley Kline 8216877da3 Update webpack-cli for webpack:analyze bugfix
Fixes FOO-1674
flag = none

Update webpack-cli dependency to pull in a bugfix which was
preventing the webpack:analyze tool from working.

Test plan:
* yarn webpack:analyze works again
* nothing else broke (major version number changed!)

Change-Id: I5f6ee48ea7b24bda9e13e73f44cee8cf23abfc22
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260189
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Jeff Largent <jeff.largent@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2021-03-08 20:30:46 +00:00
Ahmad Amireh 6684592adf say PLEASE to npx when running yarn-deduplicate
because simply asking it to run yarn-deduplicate is no longer good
enough, you must now be polite when doing it[1]:

    To prevent security and user-experience problems from mistyping
    package names, npx prompts before installing anything. Suppress
    this prompt with the -y or --yes option.

we will also be updating npm to the latest to catch such issues in the
future

== test plan

running "rake canvas:compile_assets" using npm > 7 completes
without hanging indefinitely at the "install dependencies" stage

[1]: https://docs.npmjs.com/cli/v7/commands/npx#compatibility-with-older-npx-versions

Change-Id: I81e044d20143991cf6103084f44ce8d4c9011f5b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/259662
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2021-03-02 21:58:31 +00:00
Jeff Largent fea18cf108 Upgrade @testing-library dependencies to latest
Most of the upgrades were backwards-compatible, but I made a few
changes:
* Replaced usages of wait, waitForElement, and waitForDomChange with
  waitFor as recommended here, since they are deprecated:
  https://testing-library.com/docs/dom-testing-library/api-async/#deprecated-methods
* Replaced '@testing-library/react-hooks' imports with
  '@testing-library/react-hooks/dom' as recommended here:
  https://react-hooks-testing-library.com/installation#being-specific
* Fixed some issues with @testing-library/jest-dom's toBeDisabled
  matcher not checking for the disabled attribute on parent elements--
  e.g. changing this:
  `expect(getByText('Button Text')).toBeDisabled()`
  to this:
  `expect(getByRole('button', {name: 'Button Text'})).toBeDisabled()`

closes LS-1831
flag = none

Test plan: tests pass in Jenkins

Change-Id: Ia549950dade5fd5b2597a3002b11f4f0a6f740f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258923
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2021-02-23 20:52:36 +00:00
Davis Hyer 9dd255a51d finalize discussion post redesign
fixes VICE-932, VICE-934
flag=none

test plan:
  - checkout the storybook instances for:
    - PostMessage
    - PostToolbar
  - changes should reflect the latest designs

qa risk: low

Change-Id: I338a05de2e8c4d42c23d246c1d1fa893de963c20
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258269
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
QA-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
2021-02-12 21:48:53 +00:00
Brian Watson 3f5c2b3f12 Add storyshots to storybook
refs OUT-4237

flag=none

Test-plan: > yarn install
 > yarn storybook
 - Look through outcomes stories in storybook quickly,
   verify everything loads
 > yarn test-storybook
 - Verify everything passes, if something doesn't pass,
   verify that that corresponding story is also broken in
   storybook
 > echo $? # should return 0 and jest results should say 0 failures
 - Change one of the stories so that it doesn't render,
   For example: undo the changes made to ManagementHeader.stories.js
   in tis PS
 > yarn test-storybook
 - Verify that it fails
 > echo $? # should return 1 and jest results should say 1+ failure(s)
Change-Id: I492f50d861dccdfdf4a958fd007da44041f9dd49
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258297
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
QA-Review: Pablo Gomez <pablo.gomez@instructure.com>
Product-Review: Brian Watson <bwatson@instructure.com>
2021-02-11 22:37:36 +00:00
Aaron Shafovaloff 4e5c9d249b upgrade prettier
test plan: specs pass

Change-Id: I81883f8dc88f9ae96fc45fc0899d2f500abe56f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258174
Reviewed-by: Ahmad Amireh <ahmad@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>
2021-02-04 19:32:09 +00:00
Ed Schiebel 4b63bb4bd4 Replace @instructure/ui-core components
[fsc-timeout=30]

closes LS-1792
flag=none

I had to add ignore_js_errors:true to some of the selenium specs
because the global nav is generating a react "can't update state on
an unmounted component" errors. FOO-1541 was created to look into
that.

test plan:
  > it passes js and selenium specs (this is the biggie, I think)

  I changed 404file upload, and grade_summary pages

  - go to /foo
  > expect the "sorry" page to look the same as before
  - go to file upload
  > it works
  - go to /courses/:id/grades/:stud_id
  > expect the "Arrange By" Select to work as expected
    (I couldn't figure out how to get any other of the Selects
     to show up, but looking at the selenium specs provides clues.
     I'm sorry that I'm not more help.)

Change-Id: I8eceb721b17e2cb1aec17de56a0145610b11d6ab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256767
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
2021-02-03 15:00:25 +00:00
Aaron Ogata 2d080018da fix JS job sanity around COVERAGE var
refs DE-462

Change-Id: Ie5bce0bdf0e7a16eb9424813abd49000d5d819d2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/257532
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-01-27 16:24:14 +00:00
Ahmad Amireh 486b0bf72c upgrade to node14
fixes FOO-1527
flag  = none

test plan: you can install node modules and run webpack

Change-Id: I33347d791b0923f4471b555c6fac303b098b1ef4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/257333
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-01-27 15:33:52 +00:00
Aaron Ogata f1e07cebbe automatically dedupe yarn on postinstall
Change-Id: Idaf1b07f9609f4948006f6be9aac357ab0816e86
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256887
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-01-20 19:13:41 +00:00
Ahmad Amireh 36920ba9e1 remove "exports" from all @instructure/ packages
refs FOO-1331
refs LS-1657
flag = none

test plan: canvas-rce mocha tests work after upgrading to inst-ui 7

Change-Id: Ibe8d94fdd5a994fda2c7b9703dccfb77a62415ca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256766
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2021-01-15 19:39:02 +00:00
Ahmad Amireh 46f8efd61f modernize canvas_quizzes
fixes FOO-1409
flag  = none

no more client_apps, canvas_quizzes now lives as part of canvas-lms
proper inside app/jsx/, which makes the build leaner and leaves us with
one less thing to reason about

logical changes:

- converted from AMD to ES modules
- upgraded to recent react + react-router
- dropped RSVP in favor of native Promises
- used CanvasModal instead of home-grown Dialog
- removed dead code; notifications in particular were fishy as there had
  no dependents at all and did not even show up in the graph
- ported tests to Jest, added more unit ones and two integration ones
- removed "config.onError" and now throws errors where appropriate
- disabled console statements in non-dev

:: test plan ::

- create a (old-school) quiz containing all types of questions
- as 3 distinct students, take the quiz and try to randomize your
  answers

at this point it's helpful to have a reference to compare the screens; I
replicated the quiz on my production sandbox for this

- go to /courses/:id/quizzes/:id/submissions/:id/log
  - verify it looks OK
  - click on a specific question in the stream and verify the question
    inspector widget works OK
  - go back to stream and push "View table"
  - verify the table and its controls are OK

- go to /courses/:id/quizzes/:id/statistics
  - verify it looks OK
  - click on ? in the discrimination index chart and verify it displays
    a dialog with help content
  - click on "X respondents" in one of the charts and verify it displays
    a dialog with the respondent names
  - verify the interactive charts do interact as expected (no logic
    changed here so just a quick glance)
  - link to "View in SpeedGrader" for essay-like questions works

Change-Id: I79af5ff4f1479503b5e2528b613255dde5bc45d3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256118
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2021-01-14 22:45:10 +00:00
Ahmad Amireh a281e066e1 extend JS source files without relying on filepath
fixes FOO-1435
flag  = none

instead of the bundler inferring the source file that an extension is
meant for based on filepath, a plugin is now expected to explicitly map
each source file to the extension file in its package.json manifest

    {
      "canvas": {
        "source-file-extensions": {
          "path/to/a.js": "path/to/extension-to-a.js"
        }
      }
    }

this allows extensions to continue working even when the path of the
source file no longer matches that of the extension inside the plugin

== test plan

- visit a page that contains an extended module and verify the extension
  is still applied

Change-Id: Ida7d75b87aedc519502c969e6912a335af69abc0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256222
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2021-01-14 17:15:06 +00:00
Aaron Ogata 360ddf34a0 improve lint:browser-code debugging
refs DE-465

Change-Id: I560c445ee7bd4b501686bb10bc4ffb64b4b910ad
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256692
Reviewed-by: Kyle Rosenbaum <krosenbaum@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>
2021-01-14 16:18:14 +00:00
Aaron Ogata 149f47778b deduplicate yarn.lock
refs DE-397

De-duplicating yarn.lock is necessary for some future InstUI upgrade work. In order to do this, we need to patch karma-webpack to avoid watching too many files within our JS job. We also need to pin babel-plugin-dynamic-import-node to the latest to work around a breaking change that causes “request of a dependency is an expression”.

Both of these version pins are work arounds and will be addressed by our efforts to upgrade webpack to v5.

Test Plan:
1. Ensure that “yarn dedupe-yarn” does not produce any file changes.
2. Ensure that the “JS (Karma)” job does not produce any warnings like “request of a dependency is an expression”
3. Ensure that the “JS (Karma)” job does not produce any warnings like “System limit for number of file watchers reached”
4. Ensure that Canvas front-end builds & behaves properly

Change-Id: I94d77bd775bc12f9f96ac44640c862ff3e3dee79
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256674
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2021-01-13 22:55:36 +00:00
Michael Ziwisky d39b927c3a update JS testing docs
flag=none

this commit also removes the phantomjs docker-compose service which has
been broken for years, ever since PhantomJS was removed from
karma.conf.js in https://gerrit.instructure.com/c/canvas-lms/+/102169

test plan:
 - follow the docs to ensure you can run a targeted JS test in docker

Change-Id: Ifa1647897a7a9605e097aeaf89e718c167d379fc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256179
Reviewed-by: Nate Armstrong <narmstrong@instructure.com>
QA-Review: Nate Armstrong <narmstrong@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Michael Ziwisky <mziwisky@instructure.com>
2021-01-06 22:47:53 +00:00
Ed Schiebel a0e985948e Update tinymce and @tinymce/tinymce-react
closes LS-1609
flag=rce_enhancements

Had to nohiost tinymce so it remains w/in canvas-rce
where RCEWrapper.js can require tinymce's stylesheets, but it
still needs to be a dev dep. of canvas-lms because there are
specs that import tinuymce.

Moved the matchMedia jsdon polyfill into jest-setup where it can be
used by everyone. Need it there since the new tinymce calls it.

test plan:
  - specs pass
  - the RCE still works and looks the same
    Sorry, I don't know what else to say

Change-Id: I8c956664176b7c25995a55e0c6fea4dafad3970f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255604
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Nate Armstrong <narmstrong@instructure.com>
QA-Review: Nate Armstrong <narmstrong@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-12-21 22:23:52 +00:00
Ahmad Amireh 5a6c8ad1f1 [node12] bump "engines" in package.json
refs FOO-1116
flag = none

test plan: we can install `yarn install`

Change-Id: I0e78958130368a11eb007d1ffddbd075f27d9380
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254937
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2020-12-11 17:52:07 +00:00
Ahmad Amireh 45cb519d52 [node12] upgrade to node 12.19.1 (LTS)
fixes FOO-1116
flag = none

this upgrade was problematic mostly because of Node's support for ES
modules (ESM) that is still fairly recent and introduces some complexity
around packaging. This is also the reason for the considerable hack
related to @instructure packages (see inline documentation) that can be
removed once we fix things upstream

| test plan |
| --------- |

- install node 12 if needed (e.g. not on docker)
- purge your node modules:

    rm -rf {.,client_apps/*,gems/*,gems/plugins/*,packages/*}/node_modules

- make sure you can still build locally (native/docker)

    bundle exec rake canvas:compile_assets

Change-Id: If9605ac428f0ff228f8852f0becb9fbac750f1f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253166
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2020-12-11 03:45:31 +00:00
Ben Nelson 6d91032edc create MessageListHolder and MessageListItem
This is the message collection on the left hand side of the Inbox.

Test Plan:
 - Run Storybook
 - Verify that the MessageListHolder story is rendering as expected
 -- Unread converstaions should have an unread badge
 -- The number badge should show the total number of messages in the
      thread
 -- The checkbox should fire the onSelect action
 -- Mousing over a conversation should show its star button
 -- Clicking the star button on a conversation should fill in the icon
      and make the button persist even when moused out of the conversation
 -- Clicking the star button should fire the onStar callback

closes VICE-844

Change-Id: Ia554f8fe9717934dcb72569360a7b180537583c1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253560
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
2020-12-04 00:54:22 +00:00
Ahmad Amireh cd0a4ffdbe [node12] upgrade node-sass
refs FOO-1116
flag = none

this has been a controversial upgrade since, on the one hand, node-sass
is deprecated and we need to move to dart-sass, but then doing that will
require some work as i've seen a few major visual regressions caused by
the transition (see patch for dart-sass)

we can get node-sass unto the latest (that does compile under node12+)
by changing our use of :not() with a selector list:

    :not(.a, .b)

to:

    :not(.a):not(.b)

see this gist for a more thorough explanation and rationale: https://gist.github.com/amireh/867a00a36588fc6490c38813cf2558c3

:: test plan ::

- we are able to install dependencies on BOTH node10 and node12
- we must make sure there are no regressions to SIS-3125

Change-Id: If8c396e6404cb6d868997b399007a06e8d1e9548
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253764
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2020-12-02 18:54:32 +00:00
Jeffrey Johnson 408999d667 Introduce Storybook to Canvas + i18N Canvas Inbox fixes VICE-947
This story contains work to move Canvas Inbox and Storybook to `app/jsx` inside our Monolith. Storybook should now be enabled for all of `app/jsx` and works with our existing I18n code after updating webpack to load translations correctly.

Test Plan
1. Install node modules with `yarn`
2. At Canvas-LMS root, run `yarn storybook`
3. Storybook should open, test that Canvas Inbox components work as expected

Change-Id: Iccd2b103164a2da4e37b5746f4d9d2b5faf5f29d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253024
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
2020-12-02 18:44:09 +00:00
Ahmad Amireh bf02bf13cb [node12] upgrade gulp
refs FOO-1116
flag = none

verified contents of public/dist/ are intact across versions with a cmd
like this:

    find ./public/dist -type f -exec md5sum {} + | awk '{print $1}' | md5sum

== TEST PLAN

run "npx gulp rev" and verify it still works

== BONUS TEST PLAN

wipe out node_modules/, run "rake canvas compile:assets" and verify that
still works.

Change-Id: Ie072e415a89478e58a98b04b7826f974ba63f904
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253041
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2020-11-20 23:52:44 +00:00
Ed Schiebel 83aebb83d7 Fix kb nav in RCE tray's filter drop-downs
closes LS-1621
flag=none

Strictly speaking, the bug this fixes was addressed by updating
the <Select> in the RCE's Filter component by changing it to
<SimpleSelect>, but there was a bug in an earlier version that
had me update instui v7 components in canvas to the latest versions.

You need to run yarn (canvas:compile_assets does this for you), or
maybe even nuke_node before moving forward.

test plan:
  - in the RCE, open the content tray (e.g. Documents > Course Documents)
  - use the keyboard to navigate thru the filter area
  - use arrow keys to open the various dropdowns and make changes
  > expect it to work, and for the tray not to unexpectedly close

Change-Id: Id48441ef51ca2053b2b4b4cae27b90fcab6f4308
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/252965
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-11-20 17:06:30 +00:00
August Thornton a4b36ec653 convert group edit JQueryUI dialog to InstUI modal
This commit covers the teacher/admin view of editing user
groups. Need to look into removing the old code in a followup
change.

closes FOO-909
flag = none

test plan:
 - Verify the test plan in the following gerrit still plays out:
   - https://gerrit.instructure.com/c/canvas-lms/+/247628
 - You'll need a student created group set and an admin created
   group set to test all the angles
 - Student Group Set
   - Create a group and remember its state
   - Go to edit said group
     - Verify the Group Name field is populated
     - Verify the Joining select is populated with prior choice
   - Edit the Group Name and Joining select dropdown
     - Verify the group collection is refreshed with your newly
       updated group
     - Go to edit the group and verify your changes saved
       successfully
 - Admin Group Set
   - Create a group and remember its state
   - Go to edit said group
     - Verify the Group Name field is populated
     - Verify the Group Membership Limit is populated
   - Verify as you did with the Student Group Set
   - Ensure the group has a member count
     - Edit the group and set the Group Membership Limit lower
       than your member count
       - Verify you get a descriptive error
 - The updated group modal should behave as it did before and
   be accessible and keyboard navigable

Change-Id: I6bd4c6983239c9ed779fa41d297dab81c364fcbe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/250185
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2020-10-19 22:26:16 +00:00
Clint Furse 146d27fae3 update Microsoft Immersive Reader SDK
closes LS-1377
flag = immersive_reader_wiki_pages

Test Plan:
- Enable immersive reader.
- Because there doesn't seem to be a way to run this locally
  (without consul), I had to temporarily modify the
  immersive_reader_controller.rb and added
  prod creds to get this to test.  see me for more details

Change-Id: Ifaa7edfa94ff29856ae6b474548e0f450b9d4c6c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/245869
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Clint Furse <cfurse@instructure.com>
2020-08-27 15:41:17 +00:00
Aaron Ogata e5e6fa54f1 move packages into dependencies layer for caching
refs DE-216

[change-merged]
[build-registry-path=jenkins/canvas-lms/de-216]

Test Plan:
1. Ensure that docker-compose build works locally
2. Ensure that packages building is cached when files aren’t changed
3. Packages build correctly when modified

Change-Id: I3e775e5d7eb51ba06078314b50bf2f8efb6d7d0b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/245423
Reviewed-by: James Butters <jbutters@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>
2020-08-24 14:40:21 +00:00
Aaron Ogata 99d0010d86 minimize yarn caching dependencies
refs DE-209

[change-merged]
[build-registry-path=jenkins/canvas-lms-de-209]

Test Plan:
1. Ensure that `docker-compose build` works locally
2. Ensure that yarn is cached on Jenkins when run on a separate node

Change-Id: Icadf02b9e999eafd14f493ae1c0649ed0ffe58bf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/245336
QA-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2020-08-18 15:53:28 +00:00
Ed Schiebel a0dfe0a334 Update ui-media-player to v7
This change bumps the ui-media-player from v5 to v7.
I also found a bug in the logic for retrying fetching the video sources
that's fixed here so we don't call fetch unneeded extra times. Learned
a lot about the interaction between useEffect and timers used to retry
actions.

Updated the @testing-library components in canvas-rce. waitFor in the new
version uses a mutation observer, not just a timer which helped make specs
more reliable.

Also did some significant rework of CanvasMediaPlayer.test to get it to
pass, especially without a bunch of react or testing-library warnings.

With PS13, I finally figure out how to listen for the onLoadedMetedata
out of <MediaPlayer> without having to reach under the hood and grab
the <video> element

closes LS-1077
flag=none

test plan:
  - audio and video still works, but with the new player
  - record a longish (30s+) video
  > expect to see the
    "Your media has been uploaded and will appear here after processing"
    message, and for the video to eventually play.
  - record or insert a portrait oriented video
  > expect it to be letterboxed in the player
  - record or insert audio
  > expect it to be loaded in the player

Change-Id: I797e6f16e763d7029eaf19149439e973590e978c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/244463
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Anderson <raanderson@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
2020-08-17 16:02:52 +00:00
Jacob Fugal 2b3886c5f4 extend client_credentials oauth2 grants for CD2
refs SAS-1540

* adds an audience setting to developer keys, so a key can be set to
  target external audiences with its credentials grants
* when a key with an external audience grants credentials, the token is
  signed with an asymmetric key instead of the internal symmetric key
* external audiences can retrieve the corresponding public keys from
  /login/oauth2/jwks
* credentials issued by developer keys with an account id include the
  account's guid in a custom claim

includes a refactor of key storage and rotation in consul, which had
already been done for LTI. but it wasn't really a feature of lti, just
something used by LTI, and we needed the same for key management for
this. moved it to be part of Canvas::Security

Change-Id: Ie5c0fcee6fc21687f31c109389a3bcc1ed349c5d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/243606
QA-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
2020-08-13 18:52:47 +00:00
Alex Anderson 590f43aa32 Enables adding alt text to image uploads
It also allows editing other a11y features, like making
the image presentational or embedding it as a link.

It splits out the Image Options form from the editor tray
to avoid copy/pasting too much. The logic and state are
still separated between the upload and edit forms, since
they don't overlap super well.

It also edits the logic around uploading and embedding
images to support the extra attributes.

A few Jest tests were added to check for appropriate
attributes being added.

Test Plan:
With RCE Enhancements enabled, visit an RCE page
Open the image upload modal and choose an image
Notice the image attributes form underneath.
Add alt text. Adjust the other attributes as desired.
Upload the image
Open the Raw HTML Editor.
Notice that the alt text is added to your image, along
with whatever other attributes you changed.
Decoration Images are given the `role="presentation"`
attribute; Display As "Link" embeds the image as a
link.

Fixes LS-445

flag = rce_enhancements

Change-Id: I462e2c322a3b39fc4fa9f47b675426c581c3a398
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242736
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
2020-07-28 19:48:17 +00:00
Drake Harper 0469b0227a Change inbox avatar to use inst-ui
Test Plan:
-inspect avatar on inbox message is rendered from inst-ui

fixes VICE-17

flag=none

Change-Id: I92941e079b63a3a60468e1e894059c20e15b1251
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/241435
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
QA-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
2020-07-01 17:22:03 +00:00
Ed Schiebel c603d6e9f2 fix audio player and video player sizing
closes LA-729
flag=rce_enhancements

The original intent for the audio player was to size it so the buttons
just fit. This ignored the fact that it's rendered w/in an iframe,
so popup menus are clipped. This change sizes the player to leave
room for those popups.

While the ticket was written against the audio player, the same issues
may occur in the video player, either for portrait videos or videos < 400px
wide when closed captions are present.  The original code for
sizing the video player shrank the width to fit
thea video's size, which clipped the buttons. This change sets a minimum
width for the player and letter-boxes the video.

test plan:
  - in the new rce
  - add an audio file
  > expect it to be wide enough to show all the buttons and
    tall enough for the speed and volume popups

  - add a vertical video
  > expect the video sized to fit in the available space in the Computer
    tab of the Upload Media modal
  - Submit to upload
  > expect the player to be wide enough to show all the buttons
  - click the fullscreen button
  > expect the video to be the height of the screen and letterboxed
  - restore to windowed size
  > expect the video to return to its letterboxed size
  - click the video, then the Options button
  - change the video's size
  > expect the video to remain letterboxed

  - add a horizontal video
  > expect the video sized to fit in the available space in the Computer
    tab of the Upload Media modal
  - submit to upload
  > expect the player to be sized to the size of the video
  - fullscreen
  > expect the video to be letterboxed in the fullscreen player
    (if the aspect ration of the video !== that of your monitor,
     or fill the screen if they match)

  - for the horizontal video, select Opitons and
    change the size to be "medium" or "custom" and < 400px wide
    and add subtitles
  > expect the video to be letterboxed in a 400px wide iframe.

Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Anderson <raanderson@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-06-04 12:58:00 +00:00
Ed Schiebel 656de86a31 update build to load es modules from subpackages
closes LA-995
flag=none

1. unify the instui ui-babel-preset options across sub-packages
2. include "@instructure" as part of each sub-package name
3. unify the commonjs and es module directory structure
4. use index.js to export anything needed to be imported from
   outside the package. This removes any dependency on the
   package's internal directory structure and makes importing
   independent of commonjs vs es module simple
5. move canvas-rce's main entry from async.js to index.js
   (I'm 98% sure index.js was an artifact of the old rce)

test plan:
  - canvas-lms builds locally and in docker. (Jenkins builds
    the docker image, so I presume if it passes jenkins,
    the docker build wasn't broken)
  - sniff test the result, esp. student planner and the new rce.
  - yarn build:watch from canvas-rce, canvas-planner, and
    canvas-media packages should work, and yarn build:watch
    from canvas-lms should pick-up any changes.
    (I've verified this by finding a console.log statement
     and changing the message then use devtools to see it's in
     the new source after refreshing the browser)

Change-Id: I5f242d06ad655597cd416057d4b740d4bd86003b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238603
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Anderson <raanderson@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-06-03 13:41:38 +00:00
Michael Brewer-Davis d989afbf15 change outcomes alignment component
closes OUT-3593
flag=outcome_alignment_non_scoring_content

Test plan:
- with quiz_api, outcomes, canvas running,
  provision outcomes for account
  - in canvas rails console:
      Account.first.provision_outcomes
- in a course, create some outcomes and groups
- sync canvas outcomes to outcomes service
  - following instructions in outcomes-service canvas.rake
    re: canvas docker-compose config, run in outcomes-service:
      dc run --rm api bundle exec rake \
         canvas:dump_canvas_data[outcomes.docker,db.canvas.docker]
      dc run --rm api bundle exec rake canvas:sync[outcomes.docker,true]
- enable "Outcome alignment to non-scoring content" FF
- create canvas course with wiki page
- on wiki page show page, add outcomes to the page
- verify that outcomes are retained on reload
- in another course without outcomes, verify that outcomes widget does
  not appear

Change-Id: Ie3af07642d818eaa529bff76b1ac7d81e575622b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235665
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Augusto Callejas <acallejas@instructure.com>
Product-Review: Jody Sailor
2020-05-29 00:50:27 +00:00
Ed Schiebel 9d779b3d7f Update eslint rules to allow optional chaining
closes LA-973
flag=none

test plan:
  - code with a?.b does not report no-unused-expressions eslint error

Change-Id: If31b5545c31a9a095176cee74a2173ba0eeceab8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235941
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
2020-05-07 12:38:29 +00:00
Charley Kline 2543084cc1 Add use-media-set responsive React hook to package.json
Refs USERS-549
flag=none

This will be used in places where responsive components
may have performance issues due to complexity.

Test plan:
* build passes

Change-Id: Icce432352b5eb5118fc258b7c2f0e3c730eaae86
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236255
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2020-05-06 15:59:14 +00:00
Derek Bender 1a5bb0a7e5 Point to instructure forks
Closes: CCI-351

flag = none

Test Plan:
- no behavioral changes
- build passes

Change-Id: I2e6bfa46b56ee2b59b8289fc90ef9c319757fc34
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235566
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
2020-04-30 16:35:43 +00:00
Derek Bender 3d9bffdbfb Add ui-flex explicitly to package.json
Fixes: CCI-352

This resolves an issue with a plugin which includes it explicitly and
then changes the yarn.lock. This gets both package.json files in sync.

Test plan:
- yarn.lock does not change with or without plugins present

flag = none

Change-Id: I48452b2c542476b42cf1aae80605e267d0c62819
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235769
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-04-30 16:25:44 +00:00
Benjamin Christian Nelson 9a20868030 remove unused selinimum gem
Change-Id: I0adc219a6cab442226619d5bdd0814d7f09d0d52
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230713
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Jacob Powell <spowell@instructure.com>
2020-04-23 17:25:57 +00:00
Ed Schiebel 9e73b30345 Update instui and media-capture versions, reprise
instui -> 6.24.0
@instructure/media-capture -> 7.1.0

the update to @instructure/media-capture is necessary to
fix the audio recording bug described in LA-859.  This change
required a bump to INSTUI's version. Both updates are rolled
into this change.

closes LA-595
flag=none

test plan:
For the audio recording part:
prereq: have notorious running. you must be loading canvas
from localhost unless using https in order to enable
the mic and webcam.
  - create or edit something with the rce
  - select Media > Upload/Record media
  - change to the Record tab
  - click on the "WebCam" button and select "No video"
  - record some audio and save
  > expect the audio to be uploaded and appear in the RCE

  - go to the speedgrader for a graded object
  - click on  the Media Comment button
  - click on the "WebCam" button and select "No video"
  - record some audio and save
  > expec the audio comment to be uploaded and playable

For the instui upgrade part:
  - make sure everything still works as expected
  - check with instui changelog for changes since 6.21 for guidance

This commit reverts commit 7ede798549,
which reverted 81d493b722
which was prematurely merged.

Reason for revert: get the oritinal patchset back in the queue,
but hold off merging until after beta is cut from master. This
will give the INSTUI change a chance to soak in dev for longer
than the weekend before being deployed

Change-Id: Iada67ee10a796e4b4b967b27a64f3e527e78249a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233037
Reviewed-by: Charley Kline <ckline@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-04-21 17:44:46 +00:00
Ed Schiebel 7ede798549 Revert "Update instui and media-capture versions"
This reverts commit 81d493b722.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I605acf8519f023c671e6bb52eb541434701bc52f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233036
Tested-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2020-04-17 14:10:27 +00:00
Ed Schiebel 81d493b722 Update instui and media-capture versions
instui -> 6.24.0
@instructure/media-capture -> 7.1.0

the update to @instructure/media-capture is necessary to
fix the audio recording bug described in LA-859.  This change
required a bump to INSTUI's version. Both updates are rolled
into this change.

closes LA-595
flag=none

test plan:
For the audio recording part:
prereq: have notorious running. you must be loading canvas
from localhost unless using https in order to enable
the mic and webcam.
  - create or edit something with the rce
  - select Media > Upload/Record media
  - change to the Record tab
  - click on the "WebCam" button and select "No video"
  - record some audio and save
  > expect the audio to be uploaded and appear in the RCE

  - go to the speedgrader for a graded object
  - click on  the Media Comment button
  - click on the "WebCam" button and select "No video"
  - record some audio and save
  > expec the audio comment to be uploaded and playable

For the instui upgrade part:
  - make sure everything still works as expected
  - check with instui changelog for changes since 6.21 forguidance

Change-Id: I322b57f4addca16c989feeb9b74a1fc3f8c775e5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234155
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-04-17 13:46:24 +00:00
jonw e9a47c91f6 add progress bar and errors to asmt bulk edit
closes LA-898
flag=assignment_bulk_edit

test plan:
- Edit many dates and save
- The job should start and a progress bar should be displayed next to
  the cancel button
- The job progress should be polled and the progress bar updated
- When the job completes, polling stops (see network tab), the progress
  bar should be at 100%, and a success message should be displayed.
- There should be appropriate screen reader announcements.
- If there are any errors during the job, polling should stop and the
  error messages should be displayed.

Change-Id: Ifd9ec6224318a003317a66ce2460ccf3e9d45efa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233136
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
2020-04-10 16:35:19 +00:00