fix shard category for delayed jobs

fixes CNVS-14415

Change-Id: I79ffedc430c00a73f32694b8ed8b8a25eb631099
Reviewed-on: https://gerrit.instructure.com/38828
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Conversations inbox opt out

Closes CNVS-11854

Test Plan:
1) Restart  your server after checking out this code (there is new feature flag)
2) As a user, visit /profile/settings and see that there is no option
   for disabling the inbox
3) As an instructure employee viewing settings for the root account,
   turn "on" the inbox opt out feature flag. If the button says "allow"
   instead of "on", you are in the wrong place and want to be on the
   account's settings, not the site admin settings.
4) As a user, visit your settings again: /profile/settings
5) See that you can now disable the inbox.
6) Do so.
7) Check the that conversations notification settings no longer appear
   at /profile/communication
8) Check that when you have new conversation messages, the unread
   messages badging doesn't display on the inbox link in the main nav
9) Visit your settings a 3rd time, and un-disable the inbox
10) check that the inverse of 7 & 8 are now true

Change-Id: I061e2d3ab9052a7809fb43f80d8e2e92d99316ee
Reviewed-on: https://gerrit.instructure.com/38313
Reviewed-by: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: David Josse <david@instructure.com>
Ensure deleted questions aren't returned to API calls

Currently, API calls on lists of questions where some are deleted
return all of the questions.  We want it to only return deleted
questions.

Closes CNVS-12742

Test Plan:
  - Create a quiz with two questions
  - Delete one of the questions
  - Confirm that a visit to /api/v1/courses/1/quizzes/1/questions
    returns a single question

Change-Id: Ic501c6af3b812e4d795fd858012ee8647717789b
Reviewed-on: https://gerrit.instructure.com/38811
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
allow API Doc args to use "Required"

This is a step toward making auto-generated code from docs not
trip up over every new argument that has been added (developers
often forget to mark new arguments as "Optional" which makes them
default to required. We want new arguments to default to
optional.)

Fixes SIS-399

Change-Id: I8cfa5516a6fdb1b0461bca3fa34fd80a763686ba
Reviewed-on: https://gerrit.instructure.com/38574
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ben Young <byoung@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Updated de translation

Change-Id: I239e452b7194856345c77382e4e685ae8dae0ea1
Updated pt translation

Change-Id: I926c8488c215d7e44f576e7741847349015cf3d3
Updated pt-BR translation

Change-Id: Ie1f4dd42420186d1262db59c739e0154223a5d27
Updated ja translation

Change-Id: Iac96efec275f3fd34218cfc938a9f97c87e604ff
Updated nl translation

Change-Id: If090d61248a8467f705a2118ae554371a300667e
make importer recognize new thin common cartridges

This is a new profile with just LTI links and web links.
This makes it so that those packages are recognized.

Test Plan:
 * Import the package in the ticket
 * It should import and not fail

closes  PLAT-586

Change-Id: Iab3c4ec1aebec5d1e0fef4a883b42ac546e1bf68
Reviewed-on: https://gerrit.instructure.com/38830
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
fix running script/rails in a certain case

when run with an absolute path, through a symlink, for
some reason this got included twice

Change-Id: I7d03f7276fbfdf4315fa37a59226ea7fbc9a1a26
Reviewed-on: https://gerrit.instructure.com/38843
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
added tests for submission details partial

added tests and removed secondary speedgrader link that caused error

fixes CNVS-8868

test plan
- set large_roster flag to true for a course
- go to gradebook and click the text bubble on a submitted assignment
- link to speedgrader should not appear
- set large_roster flag to false
- only one link to speedgrader should appear

Change-Id: I0bfb5452a8adddb140fe80b0ee12b82b2249dc3c
Reviewed-on: https://gerrit.instructure.com/38503
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
add restricted access dialog

The new files page needs a restricted access modal implemented in
ReactJS.

fixes #CNVS-14307

---- Test Plan ---
Given you have a course with the new files page access
And you're a use that can restrict access
When you go to the files page
And you click on the admin gear on a file or folder item
And you click on "restricted access" option
Then the restricted access modal should appear
And there should be two options
And selecting the second option will show date selection options
And clicking cancel should close the dialog
And it should be accessible
And everything should be translated

Change-Id: I646052ad385b3939937d6489729bec1fa738be1d
Reviewed-on: https://gerrit.instructure.com/38721
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Sterling Cobb <sterling@instructure.com>
allow report titles to not be translated

refs CNVS-14323

test plan
 - remove translation from report title
 - it should not error

Change-Id: I35556dbfeadbe63eb02fc53d251b65eddbbdddbf
Reviewed-on: https://gerrit.instructure.com/38350
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Sets autofetch to true on Student Module Progressions

Allows the first 10 to load, plus 500px past the viewport, then on
scroll gets another page.

fixes CNVS-14452

test plan:
	- Go to a course (in Firefox, because Chrome sends a scroll event
	  regardless)
	- Add 11+ modules to the course
	- Enroll 1 user in the course (as a student)
	- You should see the first ten load, then instantly the next
	  few with only a small delay.
	- If you've added 50+ you should see small delays as all the
	  modules load.

Change-Id: I040c00b8f0fdd5ff3b38d3fe7dbdb2d678567ce3
Upgrade mediaelement.js to 2.15.0

Overall this is a relatively small release, but one with a few notable
changes for Canvas:

 - improvements to keyboard accessibility
 - playback speed support
 - video controls won't hide when they are being hovered over
 - improved play button image
 - proper source chooser support in flash fallback player

The full changelog is here:

https://github.com/johndyer/mediaelement/blob/3be710cc494accd9814b95392461d768ead60f0d/changelog.md

Test Plan:

We'll want to do a basic cross-browser regression test of the media
player to cover the upgrade.

 - On an account with "prefer HTML5 video" enabled:
   - Check a video player
   - Check an audio player
 - On an account with "prefer HTML5 video" disabled:
   - Check a video player
   - Check an audio player

Change-Id: I363e301506981185bb1a37fdd8975ad3e91d5180
[a11y] Quizzes RCE Keyboard Dialog

This patch adds a keyboard-accessible dialog that lists the available
TinyMCE keyboard shortcuts within quizzes.

Closes CNVS-9795

TEST PLAN
---- ----

  - go to the create or edit quiz page
    + verify you see a little "?" help icon next to the "HTML Editor"
      link in the editor action-bar
    + click it and verify that it launches a dialog
      - verify the dialog contents match those specified in the ticket
    + press ALT+0 and verify the dialog gets opened
      - you can try using the 0 on the numpad if you have one, it should
        work too
    + verify that you can get to the "?" icon using your keyboard by
      TABbing around

Change-Id: I18df7ce74d33369df2245e2fff4d9d0c7e1735a2
Adjusts external apps to account for long app names

Converts external_tools.sass -> scss while adding a few styles to
truncate the names properly.  The styles added convert the table
to render using the fixed style and the first column to have a width
of 500px and overflow the text using ellipsis.  A title attribute is
also added to the column to help with UX.

fixes CNVS-7223

test plan:
	- Go to Settings > Apps
	- Add an app with a long name around 160 characters
	- You should see that the name is truncated with an ellipsis
	- Hover over the name
	- A tooltip with the full name should appear

Change-Id: I24cc71a0073799e66efa57421b80b0b70bdbecdb
Accessibility: Caused screen readers to recognize cancel as a button.

Fixes CNVS-14126

Test plan:
- Visit  the Calendar
- Click Add New Event
- Click More Options
- Navigate to the cancel button
- Verify that it is recognized as a button by screen readers

Change-Id: Ice93078d7d728503bc4bda29a5894ae19583692c
add UI option to remove dates in content migration

also remove some code that accomplishes nothing but confusion

test plan: perform content migrations into a course via the web UI
  1. without adjusting dates
  2. shifting dates
  3. removing dates
and verify that the correct operation is performed for each migration.

test all of these workflows:
  1. Course Settings / Copy this Course
  2. Import Content / Copy a Canvas Course
  3. Import Content / course export package

fixes CNVS-14183

Change-Id: I965a8ba6e6b0971cd0b5561627716989191a9680