Commit Graph

424 Commits

Author SHA1 Message Date
Ryan Shaw b492ed7f21 run update-and-dedupe again to get instUI from 5.30 to 5.31
Change-Id: Ib3b069a5b6f8dcb66a9ddf1790c0f120418ee67a
Reviewed-on: https://gerrit.instructure.com/170055
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-10-29 21:09:42 +00:00
Clay Diffrient ab41fa900a Update a bunch of node modules
Test Plan:
  - Tests pass, everything works

Change-Id: I2ff4b7e77349cc19d03ced2439bcb4c4a1252e5d
Reviewed-on: https://gerrit.instructure.com/169549
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-10-29 15:47:58 +00:00
Clay Diffrient 6764aa5cd2 Bump react to 16.6
closes CORE-2037

Change-Id: I1c00623f789a3a5e377fb0529144a6ebd84a1546
Reviewed-on: https://gerrit.instructure.com/169535
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-10-29 15:39:21 +00:00
Cody Cutrer a92b014b7f bump bigeasy/timezone to 1.0.18 (2018e)
fixes CORE-1985

Change-Id: Ia9d5eddf1462de2226e43012f4756fc1f9b93c25
Reviewed-on: https://gerrit.instructure.com/168277
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2018-10-15 20:38:42 +00:00
Derek Bender 0104c229b3 revert uglifyjs webpack upgrade
Change-Id: I3186254e5916fb335e9b6854f4adfe53f222abad
Reviewed-on: https://gerrit.instructure.com/167985
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Augusto Callejas <acallejas@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
Product-Review: Derek Bender <djbender@instructure.com>
2018-10-11 23:27:57 +00:00
Ryan Shaw ebac5a3ad8 the regular “update all the npm things” commit
this updates all the stuff we get from npm that we _can_ upgrade to
the newest versions available.

test plan:
* all the builds should pass

Change-Id: Icf1cc3cd02d66e6e1f999ea5f5fc3b5b28775881
Reviewed-on: https://gerrit.instructure.com/167282
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-10-09 22:04:49 +00:00
Jon Willesen 3fddcf98e2 add enzyme snapshot serializer to jest
converts all the existing
`expect(component.debug()).toMatchSnapshot()`
to:
`expect(component).toMatchSnapshot()`
which creates more detailed and more diff-able snapshots

test plan:
- specs pass -- this only affects js test code

Change-Id: Ib6dbcc1e3f87e61a251e4635dc68353aca57aeac
Reviewed-on: https://gerrit.instructure.com/167651
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-10-09 21:16:59 +00:00
Dan Minkevitch 0e6e46fcd5 Updated yarn.lock
Change-Id: Ieeee0addc1935d2ffe71613cc7fd941958e36dda
Reviewed-on: https://gerrit.instructure.com/167425
Tested-by: Jenkins
QA-Review: Dan Minkevitch <dan@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2018-10-08 20:44:44 +00:00
Aaron Kc Hsu 075f242a44 Replace flash with arc html5 media recorder
fixes COMMS-1462 COMMS-1420 COMMS-1418 COMMS-1417

Test Plan
* Navigate to /accounts/1/settings and notice that there is
a new Arc in RCE feature flag
* Setup notorious using the gerrit project and README
* Navigate to /plugins/kaltura and make sure local
notorious and also js_uploader html5 is turned on
* Now go to discussions/assignments show and speedgrader
/courses/1/gradebook/speed_grader
* Make sure turning off and on the feature flag fits the
way we need this to work

Change-Id: I883b0bb33e9f4bff134b22b4a192884c9aa9db29
Reviewed-on: https://gerrit.instructure.com/162819
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
Product-Review: Steven Burnett <sburnett@instructure.com>
2018-10-02 02:58:15 +00:00
Ryan Shaw d4334bec3b [spec] ensure MutationObserver exists to fix flaky jest test
see: 
http://jenkins.instructure.com/job/canvas__linters-and-js/50286/testReport/junit/(root)/KeyboardShortcutModal%20appears%20when%20shift%20+%20_%20is%20pressed/KeyboardShortcutModal_appears_when_shift_____is_pressed/
for a bad example

Change-Id: I09e303fdad1d9d63f1bbf61ea01be9dff165d1d8
Reviewed-on: https://gerrit.instructure.com/166029
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-27 16:16:03 +00:00
Ryan Shaw 351ebd6652 upgrade react from 15.x to 16.x
closes: CORE-1874

test plan:
Now that the automated selenium & javascript specs pass for this the
last thing we need to do is to go manually click around and see if
anything breaks.

The best thing to do would be to open your browser console and look
for errors. Deprecation warnings or propType errors  or react warnings
are fine but if any actual errors get thrown that is something we want
to look into.

specific things to look at:
* all the gradezilla/gradebook/grading stuff (specifically things that
  have instUI <NumberInput>s and <Select>s)
  * look at the submission cell editor
  * the gb headers (especially make sure keyboard navigation works how
  it should)
  * moderated grading
  * grading perid edit page / enrollment terms
  * speedgrader
  * grading standards
  * gradebook history
* theme editor
* new discussions/announcements
* the new permissions page
* the dasboard
  * student planner
  * dashcards
* global nav trays
  * help menu
* assignment edit page
* account user/course search

Change-Id: I6a1fe7df9379d9c601eda932bd8cef9c06d10cd2
Reviewed-on: https://gerrit.instructure.com/163913
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-09-26 19:04:47 +00:00
Ryan Shaw 46a98181fb dowgrade format-message so canvas-planner works
if we allow format-message to upgrade, then `yarn extract` inside
canvas-planner will break.


test plan:
* cd packages/canvas-planner
* yarn extract
* it should work

Change-Id: Icb10b2ec8d63d4afd618aa0f21b918dab14e37fe
Reviewed-on: https://gerrit.instructure.com/165325
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
QA-Review: Mysti Sadler <mysti@instructure.com>
Tested-by: Jenkins
2018-09-20 23:57:16 +00:00
Ryan Shaw cbe7c13fce canvas-planner: upgrade to enzyme 3
Change-Id: I710a4657c8fe9773e04d5815370eeed22b6ab89b
Reviewed-on: https://gerrit.instructure.com/164988
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-19 20:56:43 +00:00
Clay Diffrient 873c7e76bb Bump tinymce-a11y-checker to 1.9.1
closes CORE-1838 CORE-1888

Test Plan:
  - Smoke test the a11y checker
  - Check out the changelog at https://github.com/instructure/tinymce-a11y-checker/releases/tag/v1.8.0
    and make sure those things work inside Canvas

Change-Id: I13507afaae53e0eeefbeb11a1972112373539dc1
Reviewed-on: https://gerrit.instructure.com/164357
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
2018-09-19 20:46:13 +00:00
Ryan Shaw 81659aa55c remove the "old-deprecated-enzyme" package
...now that nothing uses it
closes: CORE-1912

Change-Id: I8fa3fa63b0637aaaa815576bc744230ee5ef66ba
Reviewed-on: https://gerrit.instructure.com/164925
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-19 14:15:39 +00:00
Ryan Shaw 5590efa875 update react-redux so it can be used w/ react 16
we need all these:

v4.4.9
Update hoist-non-react-statics to 2.x
v4.4.8
Fix deprecation warnings with React 15.5.0
v4.4.7
Allow React 16 as peerDependency

test plan:
* pages that use redux should work the same as before and automated
  tests should pass

Change-Id: Id06bf4eaaa6f884996690889b442ad98584c78b0
Reviewed-on: https://gerrit.instructure.com/164990
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-19 14:14:18 +00:00
Ryan Shaw e73289e507 Yarn.lock: update all our npm dependencies
closes:  CORE-1909 

This is the result of running:
`yarn upgrade-and-dedupe`
and then fixing any specs/changes that needed to happen as a result of
the new versions

Test plan:
* automated tests should pass

Change-Id: I79ec63d8eb9d7bce4d48af0cff7cee369be58884
Reviewed-on: https://gerrit.instructure.com/164790
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-18 23:08:30 +00:00
Ryan Shaw 23287c6969 react 16: get test-utils from react-dom/test-utils
closes: CORE-1890

from the react-addons-test-utils readme:

This package is deprecated as of version 15.5.0:

TestUtils have been moved to react-dom/test-utils

Change-Id: Ica0bb0c798aa80288d37b1810dc78eedad100d18
Reviewed-on: https://gerrit.instructure.com/164127
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-18 14:41:50 +00:00
Cameron Matheson 664fad805e upgrade graphiql
this fixes the broken doc viewer

Change-Id: I6d372223256d764e0172568faed1b17ecec7cb26
Reviewed-on: https://gerrit.instructure.com/164697
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
Product-Review: Cameron Matheson <cameron@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
2018-09-17 20:34:35 +00:00
Ryan Shaw 666b82253c make filePreview work w/ react 16
closes: CORE-1889

aka: combine into one es6 class so it can use React.PureComponent

this is because react 16 doesn’t have pureRenderMixin

test plan:
* the file preview page should work exactly as it did before

Change-Id: I64aa30653a82afb3e237a25d337137ed7c234858
Reviewed-on: https://gerrit.instructure.com/163914
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-17 20:25:55 +00:00
Ryan Shaw 8e57d0bcb2 replace react-addons-transition-group
closes: CORE-1875

from the react-addons-css-transition-group readme:

The code in this package has moved. We recommend you to use
CSSTransitionGroup from react-transition-group instead.

In particular, its version 1.x is a drop-in replacement for the last
released version of react-addons-css-transition-group.

Run npm install --save react-transition-group@1.x, and replace the
imports in your code:

test plan:
* the theme cards should have the exact same css transition effects
  as before

Change-Id: I33eb34c941bb0999cc600a3abe793e0603183b35
Reviewed-on: https://gerrit.instructure.com/163912
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-17 18:45:07 +00:00
Ryan Shaw 32667d33e2 upgrade react from 0.14.9 to 15.x
closes: CORE-1857 CORE-294
also closes: CORE-1856 CORE-294 CORE-1841 CORE-71 CORE-302 CORE-301
also closes: CORE-300 CORE-299 CNVS-34315 CORE-298 CORE-243 CORE-297
also closes: CORE-296 CORE-295

test plan:
now that the automated selenium & javascript specs pass for this the
last thing we need to do is to go manually click around and see if
anything breaks.

the best thing to do would be to open your browser console and look
for errors. deprecation warnings or propType errors  or react warnings
are fine but if any actual errors get thrown that is something we want
to look into.

specific things to look at:
* account user/course search
* all the gradezilla/gradebook/grading stuff (specifically things that
  have instUI <NumberInput>s)
  * look at the submission cell editor
  * the gb headers
  * moderated grading
* the stuff for adding external apps
* theme editor
* new discussions/announcements
* the new permissions page
* the dasboard
  * student planner
  * dashcards
* global nav trays
  * help menu

Change-Id: I0d71ffda08e306927616d3e976b09cd1775fba10
Reviewed-on: https://gerrit.instructure.com/163518
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-17 15:42:14 +00:00
Ryan Shaw 3a7d2e2713 upgrade react-token-input so it supports react 16
closes: CORE-1885

Test plan:
* make sure the token input that appears when you edit assignment
  due date Overrides on the assignment overrides page still works
  Like it did before. Here’s it’s original test plan:
new due dates selection UI
  - on assignments, quizzes & discussions pages
  - with DA on and off
  - assign various due dates/(un)lock dates
    to source sections, individuals, and everybody

  - these should create overrides that properly take
    students/sections and dates
  - validations should work for all dates as normal
    and not let empty overrides get created (with no
    students or sections)
  - the names of overrides should properly update as
    students change
  - as more overrides get created, saving assignments
    should not slow down significantly
  - the student/section selector should be intuitive


* the “new grading period set” form should work as it did before.
  Here’s it’s original test plan:

A new button "+ Add Grading Period Set" is on the
Grading Period Sets page. This allows a new set to
be named and associated with as many terms as needed.

To begin, visit the Grading page for an account
(e.g. /accounts/1/grading_standards) and click "+ Set of
Grading Period" and within this form ensure the following:

1. Given no name in the "Set name" field, when clicking
   the "Create" button a flash message is displayed and the
   set is not saved
2. Given no enrollment terms in the "Attach terms", when
   clicking the "Create" button a flash message is displayed
   and the set is not saved
3. Given a name and at least one attached enrollment term,
   when clicking the "Create" button an AJAX call successfully
   persists to the database and the new set is displayed on
   the page along with a successful flash message
4. When the form is open, the "+ Set of Grading Periods"
   button is disabled
5. When the form is in the process of creating a new set,
   the "Create" and "Cancel" button is disabled
6. Clicking close at any other time closes the form and
   re-enables the "+ Set of Grading Periods" button and
   all data in the form is cleared

Change-Id: Ibb0290202b5dcf00ec42a4bb6d1c3d2e3d7a3b2b
Reviewed-on: https://gerrit.instructure.com/164492
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-14 19:27:28 +00:00
Ryan Shaw 1348da53b9 Update `react-crop` dependency
closes: CORE-1886 CORE-1887

I forked react-crop, added it to the @instructure GitHub/npm group
converted all the React.createClass code to es6 classes and set it up
To use modern react/babel/webpack


Test Plan:

ensure Admin > <your account> > Settings > Enable Profiles and
User Avatars are checked
navigate to Account > Profile
using keyboard:
TAB (displays "skip to main content")
ENTER (focuses on the main content of the profile page
TAB (focuses avatar image)
ENTER (displays Select Profile Picture dialog)
TAB 4 times (focuses "choose a picture")
ENTER (displays system file open dialog)
Select a photo
The selected photo and crop-box are displayed and have focus
Use arrow keys to move the crop box around
Use shift-arrow keys to size the crop box
TAB twice to focus Save button
ENTER closes dialog
cropped image should be displayed on the profile page

Change-Id: I68647b3375c480b77d422e115d3ea8c92dd5b79f
Reviewed-on: https://gerrit.instructure.com/164443
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-14 17:08:42 +00:00
Derek Bender f98df4f3b0 update yarn.lock
Change-Id: I65e637cac26bce13b99337c8bd4ea55809b4bfad
Reviewed-on: https://gerrit.instructure.com/164408
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
2018-09-13 21:43:46 +00:00
Ryan Shaw ec49145559 Upgrade react-modal so it works with react 16
I know I said that the way forward was to just not use react-modal
and use instUI modal instead but there are a bunch of things that _are_
Using it and I don’t want changing all those to be blockers for react16
if this will work.


I still want us to get rid of react-modal, just don’t want it to be a 
blocker for react 16


Test plan:
Things that use react-modal should still work the same as before. Check:
* the color picker used on the calendar sidebar
* the external apps stuff that has modals
* the file preview modal in files
* the “find appointment” modal in scheduler

Change-Id: I606eda110782cd3300fcbb2f8052681fa5048050
Reviewed-on: https://gerrit.instructure.com/164232
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-13 17:51:34 +00:00
Ryan Shaw 4d76258d44 allow canvas-rce to use react 16
Change-Id: I3eebe6998284030eeb2519cf9c1ccf176da52dbb
Reviewed-on: https://gerrit.instructure.com/164183
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-13 14:51:44 +00:00
Ryan Shaw d44185e430 react 16: use createReactClass for things that can’t be es6 classes
these components can’t be converted to the react es6 class syntax
because they use Mixins which aren’t supported by es6 classes.

Change-Id: I8541b08518cd335c7a711bab117efcda65ac6b2c
Reviewed-on: https://gerrit.instructure.com/164135
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-12 16:03:38 +00:00
Ryan Shaw 1441758ddd Upgrade react-dnd so it works w/ react 16
Closes: CORE-1871

The react-dnd commit that first added react 16 to its peerDeps
(https://github.com/react-dnd/react-dnd/commit/c6123fad317)
First appeared in v2.5.2 so we need at least that version
If we are going to use react 16

Test plan:
* dashboard card and discussion reordering should still work like they
  always have

Change-Id: I74b47949f3d0f7084c350d24a8de41139f535732
Reviewed-on: https://gerrit.instructure.com/164071
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-12 04:11:54 +00:00
Ryan Shaw a49723beab remove react-select-box, nothing uses it
from grepping around, it appears nothing uses this.

This will will make it easier to upgrade to react 16 since there is one
Less thing to keep track of

Test plan:
* can anybody else think of a place where this is used
* if not, removing this doesn’t change anything since nothing uses it

Change-Id: I1ebe3147bdef39342a0deb11ab145fb0740e4c28
Reviewed-on: https://gerrit.instructure.com/164051
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-11 22:15:43 +00:00
Ryan Shaw e1454a761c add jest-canvas-mock to silence a bunch of warnings
without this we get a bunch of warnings from our jest tests like:
Error: Not implemented: HTMLCanvasElement.prototype.getContext …

test plan:
you shouldn’t see those ^ messages in the jest logs

Change-Id: Ib257d4a6b40f4b4118f273729080e722afa3432a
Reviewed-on: https://gerrit.instructure.com/163515
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-07 15:18:15 +00:00
Ryan Shaw d5681a84e8 get back on the release version of instUI (5.25.0)
this sets us back up to track the latest actual
release instead of the “rc” version

test plan:
* automated tests should pass

Change-Id: I9e668828acc99bcb49c7071ca0ccb898c55f0d99
Reviewed-on: https://gerrit.instructure.com/162867
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-08-31 19:43:51 +00:00
Mysti Sadler aa36bee66b Update yarn.lock
Change-Id: I1d7c6577b00ea98e2bdd8b703cd6ad015bc837ef
Reviewed-on: https://gerrit.instructure.com/162380
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-08-28 22:04:59 +00:00
Ed Schiebel c5c50c760c Pass correct locale to Planner
Sometimes ENV.LOCALE and ENV.MOMENT_LOCALE are different
(zh-Hans v zh-cn or mi v mi-nz). We were passing the former to planner,
but moment needs the full locale, including language and region
identifiers, and formatMessage copes with the full locale just fine,
so we really need to pass in the latter or moment eventually
blows up.

So mi-nz month names would successfully parse, had to both bump our
version of moment and tweak the canvas customized mi-nz locale data.

to test, you'll have to run yarn to update moment, then build with
RAILS_LOAD_ALL_LOCALES=1 yarn build

Note on the changes to timezoneSpec.js:
- some of the specs were parsing dates like "Mon, Aug 3", which are
  being interpreted in the current year, when Aut 3 is not a Monday.
  Resolved this by using MockDate to pretend today is 2/1/2015
- moment does not always interpret the Chinese characters for evening as
  implying PM.  I'm assuming canvas will never need that particular
  construct and commented out the failing string.
- there's one date-time that's getting the date totally wrong.
- Fixed grammatically incorrect instances of
  '8月 3, 2015' to ''8月 3日, 2015'
- fix cases where the year is coming after the month and day, which
  would never really happen

fixes ADMIN-1331

test plan:
  - have a student in course so planner is enabled.
  - go to /profile/settings and Edit
  - change the Language to Reo Māori (Aotearoa) and "Update Settings"
  - go to the planner dashboard
  - click on + to create a new todo
  > expect you can create a todo.

If you want, you can repeat with any of the languages listed in the
ticket just to prove ^that wasn't a fluke.

Change-Id: I9ba069ef61529088ab92271d7857998df6bbc409
Reviewed-on: https://gerrit.instructure.com/161206
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2018-08-27 20:51:33 +00:00
Ryan Shaw 354bf2df06 upgrade enzyme to 3.x
Closes: CORE-1758

After this commit, if you or your team have any specs that import
from old-enzyme-2.x-you-need-to-upgrade-this-spec-to-enzyme-3.x-by-importing-just-enzyme
That means you need to upgrade those spec files to use the new enzyme
by changing that to `import {mount, shallow, whatever} from ‘enzyme’`.
Refer to http://airbnb.io/enzyme/docs/guides/migration-from-2-to-3.html
for details

Test plan:
* all linters-and-js-specs should pass
* since this only effects js specs, that is all that really matters. 
  no app code to QA

Change-Id: I46c5d815e9d95683832d70b64e31526b943d07e5
Reviewed-on: https://gerrit.instructure.com/135136
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-08-23 14:44:23 +00:00
Ryan Shaw b5ae428dbf Make it so i18nliner understands `import(‘./foo’)`
Closes: CORE-1756

Test plan:
* write `import(‘foo/bar’).then(bar => {})` in a file in app/jsx
* run `bundle exec rake i18n:check`
* it should work
* make sure the other i18n rake tasks still work like
  `bundle exec rake i18n:generate_js`

Change-Id: I0966a5de4402232c57476249a3879b9ec1100992
Reviewed-on: https://gerrit.instructure.com/161632
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-08-23 14:19:00 +00:00
Ryan Shaw 5fdcf69ec5 upgrade instUI to 5.25.0-rc.11
This is the result of running `yarn upgrade instructure-ui` and then
fixing the handful of specs that broke from the upgrade

Change-Id: Ifb569d7a4ea262ace0f9efe1c11952e475c17cb5
Reviewed-on: https://gerrit.instructure.com/161315
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-08-22 00:25:13 +00:00
Ryan Shaw 925c22a7fc Move the pretranslated babel stuff into own pkg
closes: CORE-1725

This is so we don’t have to pull in all of the deps of quiz-presets
just to do the pretranslated stuff for canvas-rce. because without
this, it was going to be a pain to deal with the version of
`@instructure/ui-presets` that `quiz-presets` wanted if we wanted to
always be on the latest instUI rc.

It also makes it so we have to yarn install less stuff into node_modules

Test plan:
* before checking this out, go to packages/canvas-rce and run
  `yarn build:all`
* run `find -s lib -type f -exec md5sum {} \; | md5sum`
* check this out, run `yarn` then run `yarn build:all` again
* run `find -s lib -type f -exec md5sum {} \; | md5sum` again
* the 2 checksums should match, meaning they produced exactly the
  same code


Change-Id: Ife3116b43cae51bcd92c725ab68c6d1fd621dce5
Reviewed-on: https://gerrit.instructure.com/160832
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-08-17 20:34:19 +00:00
Ryan Shaw ced4d9b501 Upgrade instUI to 5.24.0 & ally-checker to 1.7.0
Closes: CORE-1697

Test plan:
* do a basic regression test of things that use instUI components.
  Specifically: the new developer keys page and the gradebook grade
  details tray since those had the most specs that needed to be fixed
* do a basic regression test of the a11y checker to make sure the
  instUI components work the same as before

Change-Id: Ie88c4fc1b01eadeecceb7536944da986e37bf3dd
Reviewed-on: https://gerrit.instructure.com/156473
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-08-17 20:33:49 +00:00
Ryan Shaw e8a88cceea A script to just update instUI
Closes: CORE-1709

This is what our Jenkins job to pull in every instui RC commit will use

Test plan:
* run `yarn upgrade-instructure-ui`
* it should make a commit that has new entries in yarn.lock for all the
  instUI packages that uses the latest rc version on the npm registry
* it should not affect anything else besides yarn.lock

Change-Id: I78cce6e801015819c4e4b27e26ede352deceebb9
Reviewed-on: https://gerrit.instructure.com/160435
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-08-15 20:21:10 +00:00
Spencer Olson 2ed2a4e411 update yarn lock
Change-Id: I2ba6ce52c15f5eb91a7a1a776ed326eef1e4f15f
Reviewed-on: https://gerrit.instructure.com/158290
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
Product-Review: Spencer Olson <solson@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
2018-07-23 15:18:44 +00:00
Ryan Shaw e09c9f9afa Downgrade node-sass to fix styling of flashMessage
Fixes: SIS-3125, COMMS-1328

In g_instructure.scss, we have some scss that looks like:

#flash_message_holder, #flash_message_buffer {
  …
  li:not(.ic-flash-info, .ic-flash-success, .ic-flash-warning, .ic-flash-error) {
    …

In recent versions of node-sass that gets output as:
#flash_message_holder li, 
#flash_message_buffer li {
  ...
}

Instead of how it should be:
#flash_message_holder li:not(.ic-flash-info, .ic-flash-success, .ic-flash-warning, .ic-flash-error), 
#flash_message_buffer li:not(.ic-flash-info, .ic-flash-success, .ic-flash-warning, .ic-flash-error) {
  ...
}

Change-Id: I6aad4a6793228c97114220f5f2b2ec85ac9ae61d
Reviewed-on: https://gerrit.instructure.com/157921
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-07-19 19:46:03 +00:00
Clay Diffrient 2dc1d7fa86 Add a way to generate better js coverage
This should pick up coverage from both karma and jest
in Canvas proper.  It should also pick up coverage from anything under
packages/*

closes CORE-1265

Test Plan:
  - Run `COVERAGE=true yarn test`
     - Coverage reports (coverage-final.json) should generate in all
       packages such as (canvas-planner) as well as in coverage-karma
       and coverage-jest
  - Run `yarn run test:coverage`
     - coverage-js folder should be generated.  Opening index.html
       should show the full coverage report
  - Remove coverage-{js, karma, jest} and
    packages/canvas-planner/coverage as well as .nyc_output to get back
    to a clean state
  - Run `RUN_TESTS_FIRST=true yarn run test:coverage`
     - All tests should run and generate the appropriate report just
       like the last time in coverage-js

Change-Id: I50744b8977e0683e079af5bdd2865dbcd6ad9066
Reviewed-on: https://gerrit.instructure.com/146098
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-07-17 14:19:03 +00:00
Ryan Shaw 4e012e178e Upgrade tinymce to 4.8.0
Fixes: CORE-1518

Test plan:
when using newest version of Microsoft Edge:
In the RCE, add a table.
After adding the table, attempt to edit the table.
You should be able to edit tables using the RCE when using MS Edge

Change-Id: Ibbc38ac11c6fbb808a31e16a84fe24a87a979e5b
Reviewed-on: https://gerrit.instructure.com/157456
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-07-17 02:04:59 +00:00
Ryan Shaw f9d51ffc39 Remove html-react-parser dependency
‘html-react-parser’ causes yarn all kinds of fuss when it tries to 
update stuff because it says it wants at least react 15. This approach 
does the same thing we were using it for but without that package.json
dependency. This fixes some problematic stuff in our yarn.lock


Test plan:
* the permissions page should have the same perf as it did before
  (Or slightly better)

Change-Id: Id7ce3e1b5e51c077b9d51ffa15ac94ee158f3ee5
Reviewed-on: https://gerrit.instructure.com/156895
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-07-16 19:04:47 +00:00
Ryan Shaw 6774f9f22c Upgrade tinymce to latest (4.7.13)
closes: CORE-1620

while I was upgrading all the package.json dependencies I noticed that
that the version of tinyMCE we are using is out-of-date

test plan:
* automated tests that deal with tinyMCE should pass
* smoke test the editor to make sure it looks/works the same as before

Change-Id: Ia7913f195d0a61aee2ac770ebcbf303ffad794fa
Reviewed-on: https://gerrit.instructure.com/156310
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-07-10 19:06:58 +00:00
Ryan Shaw 3fdd3938d2 [yarn.lock] update :allthethings
closes: CORE-1621

This is just the regular commit to update all the npm dependencies.
It is the result of running `yarn upgraded-and-dedupe`

Test plan:
* automated tests should pass
* in the review of this, look closely at yarn.lock and see if there is
  anything that you think might cause problems (eg: a duplicated lib
  or something else funky like that)

Change-Id: I6fdd04f5aa7294464015293fbb3bc0d4a61eeb73
Reviewed-on: https://gerrit.instructure.com/155302
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-07-06 20:45:35 +00:00
Ryan Shaw 3837411f7d canvas-rce: upgrade package.json devDependencies
closes:  CORE-1618

test plan:
* smoke test canvas-rce to make sure clicking around still works

Change-Id: I03f427a471aae45d07bdec916aeb15d75666de78
Reviewed-on: https://gerrit.instructure.com/156318
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-07-06 17:11:03 +00:00
Ryan Shaw 462e1ba76f canvas-planner: upgrade package.json deps
closes: CORE-1619

test plan:
* click around canvas-planner and smoke test to make sure everything
  still works.
* check to make sure that strings are still being translated correctly
  as they were before

Change-Id: I5f2a62167a00f3df1874f3f6bf43bd8b08e203c8
Reviewed-on: https://gerrit.instructure.com/156311
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-07-06 17:10:33 +00:00
Ryan Shaw 4b510e448f canvas-rce: upgrade prod deps
closes:  CORE-1617

test plan:
* smoke test canvas-rce to make sure clicking around still works

Change-Id: Ic89aaf8f130f1910b7f35c2bc64f3cdbca8defbd
Reviewed-on: https://gerrit.instructure.com/156309
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-07-06 17:10:01 +00:00
Ryan Shaw 55726526a2 Fix <Pagination> perf for accounts w/ many users
This commit fixes it for master. g/155833 is the one that we will need
to warmfix/hotfix

Closes: CORE-1576

Test plan:
* using production assets (so you are getting the minimized/optimized
  Version of react w/o propType checking)
* in an account with tons of users or courses
* go to /accounts/x and /accounts/x/users
* type some stuff in the search box
* it should not be unbearably janky

Change-Id: I6a5e9be770a9bf9d49cf7f1d5d11df935a5fc24f
Reviewed-on: https://gerrit.instructure.com/155847
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-07-05 17:20:54 +00:00
Ryan Shaw 8bfa6c58ff Upgrade axios from 0.16 to 0.18
This is so all of our pages that use axios can share the same one

Test plan:

* the selenium tests, which test pages using axios, should pass.

Change-Id: I24d15fb7fa282891b80fadb91d06d9dfa019b5d1
Reviewed-on: https://gerrit.instructure.com/155300
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-26 22:46:24 +00:00
Ryan Shaw 485e14c5d9 tinymce-a11y-checker: upgrade to 1.6.0 w/ instUI5
Closes: CORE-1436

this commit upgrades us to the latest tinymce-a11y-verision, which uses
all instUI 5 components. So that means that we are no longer using
Instui 4 anywhere in canvas’s yarn.lock. yay!

Test plan:
* check to make sure the a11y checker works the same as before
* specifically run in prod mode in Spanish or some other language and
  with a custom theme applied and:
  * make sure that the stuff in the A11y checker is translated correctly
  * make sure the buttons and stuff in the a11y checker are themed
    correctly (the same as they used to be)

Change-Id: I22c6d49a682b395a75b8323727890596d568afa0
Reviewed-on: https://gerrit.instructure.com/154547
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-26 22:43:23 +00:00
Ryan Shaw 0db7614eb0 upgrade react-apollo so it doesn’t use own lodash
The version of react-apollo that we were using had a hard dependency
On lodash 4.17.5 but the rest of all of our stuff was using 4.17.10.
That meant that react-apollo would use it’s own copy of lodash leading
To unnesisary JS bundle size in the browser.

But the latest version changes it’s hard dependency to 4.17.10 so it can
Share with everything else

Test plan:
* pages that use react-apollo should not download their own copy of
  lodash

Change-Id: I63068ce83d9ad834cbcd5fc3174c7cdf411e4409
Reviewed-on: https://gerrit.instructure.com/155245
Reviewed-by: Aaron Kc Hsu <ahsu@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-26 20:01:55 +00:00
Ryan Shaw 5568da1b39 upgrade instUI from 5.13.0 to 5.13.1
Test plan:
Here’s what changed, verify none of these bug fixes screw anything up:
Bug Fixes
ui-a11y: absolutely position offscreen content at top (f0d6305)
ui-a11y: dialog should return focus on blur (f7eb47e)
ui-forms: accept zero for decimal places in NumberInput (d4cdd6b)
ui-forms: don’t use window.event in NumberInput (943a0c9)
ui-forms: handle min={0} and max={0} props in NumberInput (5b09754)
ui-forms: NumberInput onChange w/ updated precision (fa33d06)
ui-forms: fix inline input and label alignment in Select (a696dcc)
ui-forms: Select should return focus to input on close (0baa76f)
ui-layout: Position, absolutely position offscreen content (8c85b25)

Change-Id: Iebd84317ff9abbec966ff318b549ad0e1a848a61
See: https://instructure.design/#CHANGELOG
Reviewed-on: https://gerrit.instructure.com/155015
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-26 16:26:06 +00:00
Ryan Shaw 5ddaf88785 instUI upgrade: upgrade ui-core in package.json
Closes: CORE-1494 CORE-1493 CORE-1492 CORE-1437

most things have already been upgraded to instUI 5
by pulling them in from their respective split-out
@instructure/ui-* repos. The last remaining things
are things like <Select> and <AutoComplete>
where if you pull them from their
new package you'll get a new component with a new
API.

They are still avaiable at ui-core but will
log deprecation warnings. So we should hopefully
be able to merge this without much trobule and
get the teams that own each page that uses something
from ui-core still to upgrade their stuff so the
deprecation warnings go away before instUI 6

Test plan:
* after you check this out, search the repo for 'ui-core'
* you'll find some pages that have:
  import Select from '@instructure/ui-core/lib/components/Select'
  eg: the CoursesToolbar, the NewCourseModal and usersToolbar in the
      user/course search stuff.
* make sure those selects work the same as they did before
* you will see deprecation warnings telling you not to get Select from
  ui-core and that you should get it from ui-menu in the browser console

Change-Id: I7b8a68584ef738caf4e4daca346c5f503afeebfd
Reviewed-on: https://gerrit.instructure.com/151789
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Rohan Cheeniyil <rcheeniyil@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-06-21 17:40:21 +00:00
Ryan Shaw 0c4be63a4a Upgrade instUI from 5.12.0 to 5.13.0
Test plan:
Here is the relevant changelog, it looks like, if anything, these are
only going to help us but try to see if there is anything in there that
breaks anything

Bug Fixes
NumberInput: fix controlled component (1ec816a)
Tag: pass down elementRef (ccb7a11)
ui-forms: fix aria-selected values on Select options (d84098a)
ui-forms: Select input shouldn’t be wrapped w/label (4c6e6c1)
ui-forms,RangeInput: focus styles for Edge 16 up (bbdf9e6)
ui-i18n: Fix leading zero decimal parsing (3224dc8)
ui-layout: Make body scrollTop attribute consistent for (55e5ed2)

Features
ui-buttons,Button: Add circle-default variant (addb97c)
ui-elements,Link: Add icon prop to Link (8953edb)

Change-Id: I41509228be779397b5f79f94fb9bb7c56f98cafb
Reviewed-on: https://gerrit.instructure.com/154174
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-19 15:11:06 +00:00
Clay Diffrient 9f545a5c66 Add release tracking and source map uploading to sentry
This makes it so our sentry instance can be much more detailed
in the data that it collects

Change-Id: If44ea7bc54646988d681e6ad775951eb0e35436a
Reviewed-on: https://gerrit.instructure.com/154010
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-06-15 19:40:36 +00:00
Jeremy Neander 7ace1734f2 spec: update mocha-jsdom in canvas-rce
test plan:
 * Verify Jenkins passes

Change-Id: I57944f6bd7ed952028d7e44bc79ebc089d35d9c6
Reviewed-on: https://gerrit.instructure.com/153970
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-15 16:01:05 +00:00
Clay Diffrient babb0706ca Add raven to grab errors from test runs
closes CORE-1532

Test Plan:
  - Run tests with SENTRY_URL environment variable set
  - It should attempt to send data to sentry
  - Build works otherwise

Change-Id: Ib802851a7b3ac8626033436f60399f134a8425b3
Reviewed-on: https://gerrit.instructure.com/153878
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-14 20:43:00 +00:00
Jeremy Neander 7efc1a5a38 spec: revert yarn workspace commit
test plan:
 * Verify Jenkins passes

Reverts //gerrit.instructure.com/153283

Change-Id: Id148bc7197c85ea15dcc7f2c9035a0fd8cde4803
Reviewed-on: https://gerrit.instructure.com/153800
Tested-by: Jenkins
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Jeremy Neander <jneander@instructure.com>
QA-Review: Jeremy Neander <jneander@instructure.com>
2018-06-14 03:09:58 +00:00
Ryan Shaw 346458c2c9 return the right exit code in yarn workspace-run
... & fix failing package specs
closes:  CORE-1523


Test plan:
* run `yarn workspace-run test`
* it should actually run all the specs for each
  workspace (package/gem/plugin/client-app)
* if there is a failing spec it should actually
  exit with a non-zero exit code and fail the build

Change-Id: Ie09d0a3dfa343013bf7ee09e11132ef529f1b932
Reviewed-on: https://gerrit.instructure.com/153283
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-13 22:58:29 +00:00
Landon Gilbert-Bland a9dde08b7e Fix performance of new permissions page
There are several "improvements" here that make things more performant:

  * No longer using instui buttons. They have proven to be much slower
    then raw html buttons
  * No longer using instui flexbox/flexitem. Doing this in the CSS also
    proved to be much faster
  * Caching icons in LocalStorage so that we don't have to render the
    same svg 400 times
  * Not rendering the MenuItems for buttons for every button in the
    table. Only creating and rendering this component when the button is
    clicked. Note that in the trays we are still creating all the
    MenuItems on every button, otherwise there is problems with focus
    being able to escape the tray, and the performance penaltites are
    not as bad there cause there are significantly fewer buttons

Fixes COMMS-1160

Test Plan:
  * Make sure everything still works (permission button, permission
    tray, role tray, etc). Pay special attention to focus management, as
    there was a lot of hacked together stuff to get focus working
    properly when you changed a setting on any of the buttons (in the
    tray and on the table).
  * Spot check voiceover, it should be better in the tray now. Make sure
    you have the "group items within" and "speak column and row numbers"
    selected in the voiceover utility > web options.
  * Make sure performance is acceptable in the following situations.
    Note that performance will be slightly better when this is run in
    react production mode:
      - Initial Page Load
      - Searching roles
      - Searching Permissions
      - Add tray
      - Permissions Tray
      - Role tray
      - Switching between account and course tabs

Change-Id: Ic488d51ebdc031c2498d234f5d014d6368f1f84b
Reviewed-on: https://gerrit.instructure.com/153197
Tested-by: Jenkins
QA-Review: Sara Chadwick <schadwick@instructure.com>
Reviewed-by: Aaron Kc Hsu <ahsu@instructure.com>
Product-Review: Landon Gilbert-Bland <lbland@instructure.com>
2018-06-13 16:25:14 +00:00
Dan Minkevitch d4b333d0e6 Add redux-devtools-extension for easier debugging of planner
Adds compatibility to use
https://github.com/zalmoxisus/redux-devtools-extension
in development (but not in production).

Change-Id: I4f72645161ca8165f7c81b3b45afcaeba6a2148c
Reviewed-on: https://gerrit.instructure.com/153565
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Jenkins
Product-Review: Dan Minkevitch <dan@instructure.com>
2018-06-12 22:50:39 +00:00
Jeremy Neander 0c362c44ad update instUI from 5.11.0 to 5.12.0
closes GRADE-1235

test plan:
 * Verify Jenkins passes

Change-Id: Ic723445a543680ecb806238cc7253861408179f2
Reviewed-on: https://gerrit.instructure.com/153264
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
2018-06-12 18:49:43 +00:00
Ryan Shaw 53467da087 canvas-rce: fix “unhandled promise rejection” in tests
Test plan:
* run yarn test or look at the console output of linters and js build
* you should not see any:
| (node:6453) UnhandledPromiseRejectionWarning: Error: only absolute
urls are supported
 at node_modules/node-fetch/index.js:54:10
 at new Promise (<anonymous>)
 at new Fetch packages/canvas-rce/(/node-fetch/index.js:49:9)
 at Fetch packages/canvas-rce/(node-fetch/index.js:37:10)
 at module.exports (isomorphic-fetch/fetch-npm-node.js:8:19)
 at RceApiSource.apiFetch (canvas-rce/src/sidebar/sources/api.js:236:12)
 …

* the cavas-rce tests should pass

Change-Id: Id2ab92752f316dacc34290994645e47018fd0742
Reviewed-on: https://gerrit.instructure.com/153120
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-08 19:18:32 +00:00
Ryan Shaw 62aff4cf6e fix yarn.lock dependencies so canvas-quizzes tests work
test plan:
* run `yarn && yarn test`
* the canvas-quizzes tests should pass

Change-Id: I0786e86a8f10fbbef68fca287cc178fa5129a12d
Reviewed-on: https://gerrit.instructure.com/153119
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-08 19:18:16 +00:00
Ryan Shaw bfc647720d Update instUI from 5.10.0 to 5.11.0
closes GRADE-1209 CORE-1484

this new version of instui includes a fix we need
For pagination:

Test plan:
* verify the pagination on the account course/user search works
* ensure it does not steal focus with more than 5 pages

Change-Id: I5a5e67d10ff591fb0477a80598a30d89273cf35e
Reviewed-on: https://gerrit.instructure.com/152862
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-06-07 21:15:37 +00:00
Ryan Shaw aaab29c91f canvas-planner: upgrade to instUI 5
closes: ADMIN-1073

test plan:
* make sure the themeing stuff still works
* generally click around on all the components, they have been upgraded
  to use instUI 5 (from instUI 4)
* look at this changelog for things that might be interesting here:
  https://instructure.design/#CHANGELOG
* especially make sure that any of the <Select> elements still work,
  they changed from using a native <select> to some custom stuff.
* make sure that changing them works and what they send to the server
  is correct (as-in if you refresh it has what you changed it to)

Change-Id: I4afbeb03beda42106815de28983a418627d271e9
Reviewed-on: https://gerrit.instructure.com/150263
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Luke Kingsley <lkingsley@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
2018-06-06 20:35:11 +00:00
Michael Brewer-Davis b1e8404fce fix expand/contract all buttons in new sLMGB
closes OUT-2232

Test plan:
- enable non-scoring rubrics
- load student LMGB with multiple outcome groups,
  outcomes, and outcome results
- verify that expanding and contracting the groups
  and outcomes works as expected
- verify that after contracting a group and then
  re-expanding, the outcomes within the group
  are contracted
- verify that the expand all and contract all buttons
  at the top of the page are enabled and disabled
  at the appropriate times
  - expand all: should be enabled when any element
    is contracted
  - contract all: should be enabled when any element
    is expanded
- verify that the expand all/contract all buttons
  work as expected

Change-Id: Ifbe02e900459faed8d411afb2bb9410a885a2237
Reviewed-on: https://gerrit.instructure.com/152103
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
Reviewed-by: Frank Murphy <fmurphy@instructure.com>
QA-Review: Dariusz Dzien <ddzien@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-06-06 20:07:47 +00:00
Ryan Shaw e415eaa961 Use yarn workspaces
Run `script/nuke_node.sh` to clean everything up
Run `yarn install` it should install everything for everything
Run `yarn build` and `yarn test` they should work exactly as before

Change-Id: I11a27ff2d705c6cbb3b3f9029dd8b32138706146
Reviewed-on: https://gerrit.instructure.com/151356
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-06-04 20:02:02 +00:00
Jeremy Neander c3e083727a add pagination to new moderation table
refs GRADE-964
closes GRADE-877

test plan:
 A. Setup
    1. Enable Anonymous Moderated Marking
    2. Select or create a course
       a. with Anonymous Marking enabled
       b. with three instructors (A, B, and C)
       c. with 51 or more students
          * this is for multiple pages of students
    3. Select or create an assignment
       a. with Moderated Grading
       b. with Anonymous Grading
       c. with instructor A as the final grader
    4. As each instructor (B and C)
       a. give at least one student a provisional grade
          on each assignment (using SpeedGrader)
       * This is optional, but is used for test plans
         in related commits

 B. Verify
    1. Log in or act as instructor A
    2. Visit the moderation page for the assignment
    3. Verify multiple pages of students load
    4. Verify the table has multiple pages
    5. Verify the table shows 20 students at a time
    6. Verify the table shows different students on each page

Change-Id: I133500446b581cfb2822eebacbfe5094c5af94ea
Reviewed-on: https://gerrit.instructure.com/151343
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-06-01 15:06:53 +00:00
Ryan Shaw 0bd21c9ef9 Make all instUI 5 packages available
in the commits that follow, we start using these new packages so this 
commit has just been split out into its own so we don’t need to worry 
about commit order in the others. It does no harm to make them available
now, before they are used.

Change-Id: I553ce5ca1a81bddd17a5de428a04d424375f62e2
Reviewed-on: https://gerrit.instructure.com/151766
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-30 20:35:08 +00:00
Ryan Shaw 060e9b14c5 Put parse-link-header back in package.json
…since we use it in our code

It used to be there, but somehow someone deleted it on accident

Change-Id: Id516fdb8507887ffed9450869654fc42a4afc415
Reviewed-on: https://gerrit.instructure.com/151898
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-30 19:57:52 +00:00
Ryan Shaw 63990e024c Use ui-icons instead of inst-icons for icon font
closes: CORE-1434

Test plan:
* all the icons should look the same as they did before
* make sure that icons that should flip for RTL (like the icons on 
  The course/user search pagination arrows, the icon to open the
  Submission details tray in new gradebook, the “>” icons to expand
  a submenu for the menus in new gradebook, etc)

Change-Id: I490d2dcd91b1b7ca2a116a1416718cd797f74901
Reviewed-on: https://gerrit.instructure.com/149482
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-29 20:57:04 +00:00
Ryan Shaw 900b40c78d upgrade instUI to 5.10.0 and dedupe
Test plan:
* see https://instructure.design/#CHANGELOG for what changed.
  nothing looks important to us

Change-Id: Ib3477fa160e6f7a6b8039b1c719bbbf2cee11e8e
Reviewed-on: https://gerrit.instructure.com/151522
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-25 20:07:14 +00:00
Augusto Callejas c4c9e764df Configurable proficiency ratings page
closes OUT-1856, OUT-1858, OUT-2239, OUT-2148

This adds configurable proficiency ratings on the account rubrics page.
Persisting these changes will occur in a future patchset (2252).
Validating order will be in a separate patchset (2240).

test plan:
  - with the "non-scoring rubrics" feature flag off, the account rubrics
    page should appear without the proficiency ratings tab
  - with the "non-scoring rubrics" feature flag on, the accounts rubrics
    page should appear with the proficiency tab, if visiting with an
    account with "manage_outcomes" permission (e.g. account admin)
  - create an account role that has "Create and edit assessing rubrics"
    permission enabled but "Manage learning outcomes" disabled by going
    to the account page, click on the "Permissions" link in the left menu,
    then select the "Account Roles" tab to then be able create the role
    and enable the permission above.
  - create an account user by going to the account page and then click
    on the "People" link in the left menu to then be able to
    click on "+ New User". you'll use the email address entered in
    the next step.
  - make that user an account admin by going to the account page,
    click on the "Settings" link in the left menu, then select the
    "Admins" tab, then click on "+ Account Admins". select the new
    role from the drop down menu and enter the email address you used
    in the preivous step
  - confirm with the feature flag enabled, that visiting the account
    rubrics page does not appear with the proficiency tab, if visiting
    with an account without "manage_outcomes" permission (e.g. masquerade
    as the user created above)
  - on the proficiency tab, test error handling:
    * description is required
    * points is required, should be a valid number
    * when saving changes, all fields with errors should be labelled
      with an error text, with the first field receiving focus

Change-Id: Ic52ef9fe9c58cfb215216b3a505ef1fb4b851c68
Reviewed-on: https://gerrit.instructure.com/150841
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Reviewed-by: Frank Murphy <fmurphy@instructure.com>
Tested-by: Jenkins
QA-Review: Dariusz Dzien <ddzien@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-05-24 22:11:09 +00:00
Michael Brewer-Davis 7e70b17d1a new student learning mastery gradebook
closes OUT-1851

Test plan:
With non-scoring rubrics disabled, verify that student learning
mastery gradebook loads normally and is unchanged.

With non-scoring rubrics enabled, verify that new student
learning mastery gradebook loads and matches mockups

Change-Id: If805bc50115a0c8cd0f4b516f6541ab900991eae
Reviewed-on: https://gerrit.instructure.com/150423
Reviewed-by: Frank Murphy <fmurphy@instructure.com>
Tested-by: Jenkins
QA-Review: Andrew Porter <hporter-c@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-05-24 21:23:07 +00:00
Ryan Shaw 4fb263498c upgrade InstUI from 5.8.1 to 5.9.0
Closes:  CORE-1451

Test plan:
* look at https://instructure.design/#CHANGELOG to see if anything
  Looks interesting.
  (I couldn’t see anything that should affect us)

Change-Id: I1cee6c0db65c64fb5f827efbce8d32c03fe1b5a6
Reviewed-on: https://gerrit.instructure.com/151206
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-23 20:49:45 +00:00
Ryan Shaw 06f092b709 rce: upgrade demo to InstUI 5 & add RTL toggle
Closes: CORE-1421

Test plan:
* Run:
yarn
cd packages/canvas-rce
yarn dev

* open the demo: http://localhost:8080/demo.html
* the select boxes no longer use a native <select>, but use a new
  instUI select component.
* that means that we don’t need the whole ui-core library, so that 
  so that is gone from yarn.lock
* I also added a [LTR <-> RTL] toggle switch in the “editor options”.
  That should work.
* changing the language should work

Change-Id: I4906ff6d01fd774569d9394230f483054aa9553f
Reviewed-on: https://gerrit.instructure.com/150236
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
2018-05-21 19:18:31 +00:00
Ryan Shaw 2c3390024a canvas-rce: upgrade components & icons to instUI 5
closes: CORE-1415

This is just import path renaming so everything is pulled from
it’s new location in the instUI5 monorepo. It also changes
the icon paths to come from their new home in @instructure/ui-icons
from their old home in ‘instructure-icons’

Test plan:
* look at the instUI changelog at the breaking changes from 5.0
  http://instructure.github.io/instructure-ui/#CHANGELOG
* make sure we are not affected by any of those
* general regression test of UI components

Change-Id: I7ee2b44f7f0e577981fe52cd1ad03ae78730bcab
Reviewed-on: https://gerrit.instructure.com/149947
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-21 19:18:15 +00:00
Ryan Shaw 0b4df04034 canvas-rce: replace Accordion w/ ToggleDetails
closes: CORE-1411

The ‘accordion’ variant of TabList is deprecated and we should use
The <ToggleDetails> component instead. This is needed before we can
upgrade to instUI 5

Test plan:
* go to the demo page
* on the “links” tab, the accordion with the “Pages”, “Assignments”,
  etc, has been replaced with a new InstUI component
* it should work the same as before

Change-Id: I9344525287cb30c7b01200b8d4dba0ba084c9305
Reviewed-on: https://gerrit.instructure.com/149946
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-05-21 18:30:55 +00:00
Ryan Shaw a16325e791 Upgrade instUI from 5.7.0 to 5.8.1
Closes: CORE-1417

Even though the PSA that instUI put out about needing to update asap
doesn’t affect us because we already always set the `dir` attribute
on the <html> tag, this upgrades us to that new version so there is
no confusion

Test plan:
* automated builds should pass
* nothing should actually change since there is nothing significant
  In this upgrade other than the new thing that adds the dir=“ltr” 
  attribute for you if you haven’t already

Change-Id: Id7a471265c49c595c7a71a54258218d4062be7b6
Reviewed-on: https://gerrit.instructure.com/150156
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-14 19:14:17 +00:00
Ryan Shaw e123d3f532 canvas-rce: update yarn.lock to match master
This yarn.lock change should have gone with the last commit

Change-Id: Ie662859571f1a3bc15ce03c037734b35a3c8dde9
Reviewed-on: https://gerrit.instructure.com/150141
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-14 17:14:20 +00:00
wdransfield 3f2326b682 Developer key scopes UI (functioning skeleton)
Closes PLAT-3314

Test Plan
- Enable new developer key FFs
- Navigate to the developer keys page of an account
- Verify all scope groups are rendered in the new
  scopes list component.
- Verify the filter allows filtering by scope
  group name.
- Verify the "Read Only GET" checkbox causes
  all scopes that use GET to be checked.
- Go crazy testing checkboxes and make sure they all work
  logically (i.e. selecting the group level checkbox
  checks all scopes in the group).
- Verify that each group shows a list of methods for
  all selected scopes.
- Verify you can still create developer keys in root accounts
  and site admin.

Change-Id: I5df402ca06740e8a1ff37c21b63d2d6d58720182
Reviewed-on: https://gerrit.instructure.com/149242
Reviewed-by: Marc Alan Phillips <mphillips@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2018-05-14 16:00:00 +00:00
Ryan Shaw 895cf6dba6 Make it so permissions opts-in to use prettier now
if you set your editor to eslint --fix on save, which is already safe 
be doing, it will also pass anything in this whitelist of dirs to
Opt-in to be prettier formatted too. So you don’t have to wait until
we prettier all the things later and can have consistency among your 
now

Test plan:
* gergich should complain if something in app/jsx/permissions is not
  Prettier formatted

Change-Id: I438d11f25b10ed58e53656e110aa0d1e7fed5660
Reviewed-on: https://gerrit.instructure.com/149583
Tested-by: Jenkins
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-05-09 15:08:32 +00:00
Ryan Shaw 3948fa015e Upgrade InstUI to 5.7.0 from 5.4.1-dev.1
Closes: CORE-1378

(Relevant) Change log / things to test:
Bug Fixes
ui-forms: Preserve FileDrop event during onDrop (e45b70d)
ui-i18n: Fix moment version dependency (b6289c2)
ui-overlays: Fix a11y issues in Tooltip and Popover (352b8ca)
Features
ui-forms,DateInput: Add support for disabled days (c1067ad)
ui-icons,IconX: Updated IconX to be a little smaller (1bdcd86)
ui-layout,View: Add style prop white list (incl backgroundImage) (d8a35ab)
ui-overlays,Tray: Replace timeout with requestAnimationFrame (ddd9096)

Change-Id: I4cc63f322e53bc2bb744d2a11bbdcfab9fbe88dc
Reviewed-on: https://gerrit.instructure.com/149270
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-08 14:39:13 +00:00
Jeremy Neander 0db6896f79 maintain precision of grades in grade input
fixes GRADE-1098

test plan:
 1. Create an Assignment
    a. with Display Grade as Percentage
    b. worth 9.5 points
 2. Open New Gradebook
 3. Grade a student on this assignment twice
    a. once with 55 (interpreted as percentage)
    b. again with 55% (explicit percentage)
 4. Verify grade is 55%
 5. Verify score is 5.225

Change-Id: Ie48ec7d5b787e864bfd3379e8dc6a4dbebebc2e5
Reviewed-on: https://gerrit.instructure.com/148848
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
QA-Review: Shahbaz Javeed <sjaveed@instructure.com>
Product-Review: Matt Goodwin <mattg@instructure.com>
2018-05-03 18:36:03 +00:00
Jeremy Neander 1f7495b22c add @instructure/ui-a11y to canvas-planner dependencies
test plan:
 * ensure a successful build

Change-Id: Ia4a2bd8c84fc5325a9ed3f738a91cf89aa5f285c
Reviewed-on: https://gerrit.instructure.com/149060
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
2018-05-03 16:04:03 +00:00
Jeremy Stanley b4e52fff98 switch to uglifyjs-webpack-plugin
Closes: CORE-1361

Dev test plan: it should be possible to build production assets
without consuming 50GB of memory

QA test plan:
* run RAILS_ENV=production bundle exec rake canvas:compile_assets
* run app in prod mode eg: RAILS_ENV=production bundle exec rails s
  (Or however you do it with pow or whatever)
* look at the devtools and make sure you are seeing minified code and it
  no errors or 404s

Change-Id: I247080851c9df0c74b6c59432bc7086ea625df4b
Reviewed-on: https://gerrit.instructure.com/146336
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-02 21:36:55 +00:00
Ryan Shaw 8f05a581c1 Fix so we don’t include 2 copies of all InstUI stuff
If we are going to use a dev build of instUI we have to do this
To make sure everything still shares the same version.

We need to be very careful with our updates to yarn.lock that there
is only ever 1 entry per inst-ui package in the same major version
range. Otherwise our client code will get super bloated and things
will start breaking in subtle unexpected ways (from having 2 copies
of same lib on the page)


Change-Id: Iab90131bae9e10a954ca2d5aef049a90eefb9a39
Reviewed-on: https://gerrit.instructure.com/148809
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-01 19:59:23 +00:00
Ed Schiebel 77935f7a54 Add DateTimeInput to planner
The user can now enter a due date and time.

refs ADMIN-297

test plan:
  - load the planner
  - create a new to do
  > expect the time to default to 11:59pm
  - save
  > expect the due time of 11:59 to be shown in the planner
  - edit the item, change the time, save
  > expect the new time to show up in the planner
  - edit the item, delete the date, tab out of the date text box
  > expect a "you must provide a date and time" error message
  > expect the Save button to be disabled
  - pick a date
  > expect the error message to go away
  - save
  > expect the to do to be in the planner at the given date and time

Change-Id: I6759cca675b59acfc200574a1e313f75e1cfda2e
Reviewed-on: https://gerrit.instructure.com/145147
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Christi Wruck
2018-05-01 16:29:51 +00:00
Brent Burgoyne f91658d4bf move canvas-rce to canvas-lms/packages/canvas-rce
closes CORE-994
refs RECNVS-398
refs CORE-1224
closes CORE-1237

test plan:
- yarn install
- smoke test rce
- tests pass

Change-Id: Ieaff024fa89879fac3e7edf99381f46de921cce2
Reviewed-on: https://gerrit.instructure.com/145671
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2018-05-01 13:46:18 +00:00
Ryan Shaw 8db2c527b1 Get slickGrid to work in RTL
Closes: CORE-1226

This gets both the old gradebook and the new gradezilla gradebook to
work in RTL.

Test plan:
* in both old gradebook and new gradezilla gradebook:
* go to the gradebook in normal LTR interface
* everything should work exactly as before
* turn on the RTL feature flag either in your user settings or by
  turning int on in accounts/x/settings and then setting your lang
  to arabic

Specific things to test:
* try it on both the old gradebook and the new gradezilla gradebook
* try it on a really large gradebook with tons of rows and columns
* try a really small gradebook with less columns than there is screen
  width
* try it in different browsers. Since each browser has different
  scrollLeft handling in RTL, I normalized it. but verify that it
  works in each
* try resizing and reordering columns
* borders and other styles should be flipped to the opposite side in RTL
* make sure keyboard shortcuts (like the left, right, top, down arrow
  keys) work and move you in the right direction in both LTR and RTL
  (Eg: if you are on “assignment 2”, right arrow goes to “assignment 3”
  In LTR but in RTL it goes back to “assignment 1”)
* try to think of other places that might have used the .r<column index>
  or .l<column index> classnames to make sure the use the new, RTL-aware
  ‘.b’ and ‘.f’ (those stand for “back” and “front”) classnames

This change started from this pull request:
https://github.com/mleibman/SlickGrid/pull/666
but there was a lot that still needed to be done there and we needed
change things to handle our frozen columns.

Some interesting trivia:
* in RTL, different browsers have different ways of handling scrollLeft.
  they all show the element scrolled all the way to the right by default
  (So you see the first columns) but chrome tells you scrollLeft is some
  large number to reflect how far from the left you’d have to scroll to
  get there if you scrolled all the way to the right like it should.
  Safari says scrollLeft is 0 by default and then as you scroll left to
  to see the rest of the columns, it counts down and shows
  a negative number. And IE does something else.
  So you have to do some trickery to normalize them all to be a
  consistent value, and that is why this pulled in that NPM module

Change-Id: Id00025db0918cbc2d354e96af88023e70e041e58
Reviewed-on: https://gerrit.instructure.com/144672
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-04-30 21:20:54 +00:00
Ed Schiebel 3662e42ec6 Keep to do in a course with other course items
fixes ADMIN-917

test plan:
  - have a student with a course assignment on some date
  - have the student add a to do to the course on the same date
  > expect the planner to show the assignment and the todo in the same
  > grouping

Change-Id: Ice5b796935bfe3f69d05db509696fb2ce7b38cf3
Reviewed-on: https://gerrit.instructure.com/147161
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: Christi Wruck
2018-04-25 14:55:21 +00:00
Ryan Shaw 524a8865f4 Get i18n-js and i18nliner from npm, not vendor
closes:  CORE-1201

test plan:
* the qunit & selenium tests that we have around this should still pass
  (except for that one that had to be changed because the spec was 
  actually expecting the wrong thing and the old code was erroneous)
  
* load the app in fully production build and make sure translations 
  still work

Change-Id: Id06c38f60c1670fb93e85d5479ec747035c1158b
Reviewed-on: https://gerrit.instructure.com/143456
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-04-19 21:34:33 +00:00
Ryan Shaw 3ffc72eda6 Ensure code sent to browsers is es5
…so it works in safari10 & IE11

Closes: CORE-1280

test plan:
* run yarn
* go into a file in node_modules that is used in a webpack bundle 
  (Eg: node_modules/react-dom/index.js) and change a `var` to a `const` 
  or a `let` and a `function` to an arrow () => function.
* run `yarn webpack-production`
* it should fail with errors

Change-Id: Ic1589d3c1cc266eb5be22cb4716465818d0e98b6
Reviewed-on: https://gerrit.instructure.com/146496
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-04-19 16:11:15 +00:00
Clay Diffrient 3640b3b0cd Bump canvas-rce to v3.1.0-hotfix.0
closes CORE-1288

Test Plan:
  - Add an image to a page using the RCS
  - Select that image in the RCE
  - Select another image from the RCS
  - The image should be replaced with the new one

Change-Id: I83af646010d0cc3579d6d58c4da8081084f6a9af
Reviewed-on: https://gerrit.instructure.com/147106
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-04-18 23:00:52 +00:00
Ryan Shaw 3473f81dc1 Downgrade uglify-js to solve uglifyJS swap bug
test plan: it should be possible to build production assets
without consuming 50GB of memory

Change-Id: I54b885c831408d1bc1b3c57e2ded2fdf2442b609
Reviewed-on: https://gerrit.instructure.com/146365
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
2018-04-09 20:44:42 +00:00
Ed Schiebel 929798ca3e Fix responsive planner layout bugs
fixes ADMIN-906

test plan:
  - have a user in a course with assignments.  have some new ativity,
    and something graded, and something completed, and something with
    a long title/name, and something graded with feedback
  - load the planner
  >  expet the graded+feedback pills not to stick out the right edge
     of planner
  - gradually  make the browser narrower
  > expect "show 1 completed item" to wrap and not get trunctated
  - keep making the browser narrower until it switches to the tablet
    layout
  > expect the assignment with the long title to be on 1 line, truncated
  > with an ellipsis, and not wrap.
  - if the browser is narrow enough, the feedback pill and the due date
    will run together. there's nothing to do about that other than limit
    the width of the planner

Change-Id: I23823773bf8f418b7ca4bab7aa572e6c5dceec82
Reviewed-on: https://gerrit.instructure.com/145613
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: Mary Jane Anderson <manderson@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
2018-04-06 19:45:06 +00:00
Clay Diffrient 8ddff7aef4 Use new inst-ui menu for more options
closes CORE-1122

Test Plan:
  - Go to the account level user page
  - Using a screenreader go to the "More People Options"
    button at the top.
  - Open the menu
  - VO should trap you inside that menu

Change-Id: Ic6626882625a4d034d09c96d8556c2e3c9922e9a
Reviewed-on: https://gerrit.instructure.com/145743
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-04-05 22:09:22 +00:00
Clay Diffrient c55ff773d7 Make screenreaders alert when search results are loaded
closes CORE-1116
closes CORE-1117

Test Plan:
  - Enable a screenreader
  - Go to the new account level user/course search
  - Search for something
  - The screenreader should indicate to you when results have finished loading
  - This should work for Users and Courses

Change-Id: I4e81a86fb9e9340d3acbdab3e8f28fcbfb42d2cd
Reviewed-on: https://gerrit.instructure.com/145634
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-04-05 22:09:17 +00:00
Cameron Matheson fa70851608 upgrade to apollo 2.1
closes RECNVS-377

Test plan:
  make sure student context cards work

Change-Id: Ib306e0be5d51f68afad0ff112bf745d9e0ad1d5b
Reviewed-on: https://gerrit.instructure.com/145501
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2018-04-03 22:05:07 +00:00
Ed Schiebel f7be7df9a6 Implement responsive dashboard
Replace container query css with Responsive component

This commit changes planner from using the instui containerQuery based
data-media-* attributes to the new Responsive component. When it's
complete, the wide-screen planner should look just like it did before,
though all the responsive changes have been removed in prep for building
the new designs in upcoming commits.

While updating the specs, I also cleaned up a few xpath
contains-text expressions.

closes ADMIN-871

test plan:
  - The planner should look just like it did before in normal desktop
    view.

Change-Id: I39cd99b6a29eb01bca25392f77ca96acd3d56c7e

Implement responsive dashboard

also refactored the Indicators into their own component directory

fixes ADMIN-872

test plan:
  - load the planner
  - shrink your browser's width
  > see that it reconfigures itsef to look like the tablet design
  - click the New Activity button
  > ensure that it scrolls to the next previous new activity

Change-Id: I73966fe1b1eefa69d0f0df404bb6da6d89a25471
Reviewed-on: https://gerrit.instructure.com/144279
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: Mary Jane Anderson <manderson@instructure.com>
2018-03-31 14:09:15 +00:00
Clay Diffrient 0a7c024852 Bump canvas-rce to 3.1.0
closes CORE-1012
closes CORE-1074
closes CORE-722

Test Plan:
  * Changes from 3.0.3
    - Smoke test of RCE, potential UI issues
      (This was adding support for tinymce@4.7.x)
  * Changes from 3.1.0
     - Upload an image
     - Notice that the image thumbnail loads without
       needing a page refresh

Change-Id: I0a0320b487c93b49346c1d2d730c375738b1fa2b
Reviewed-on: https://gerrit.instructure.com/143497
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-03-30 20:46:29 +00:00
Jon Willesen cbd39bb1f4 replace waypoint with event handling autoloading
On the dashboard list view, instead of triggering the loading of
future items when a waypoint comes into view, make it respond to
attempts to scroll into the future, like we do with scrolling into the
past. This makes it nicer for screenreader and keyboard only users so
they can actually reach the load more button.

Note that this change affects the initial load: it won't keep loading
until the window is full. There is another ticket to handle this:
ADMIN-894

closes ADMIN-892

test plan:
* make sure attempts to scroll into the past and future still work via
scroll wheel, touch events.
* make sure you navigate to the load more button via tab and
screenreaders

Change-Id: Id0af1682bfec67f29f7e392672ae49812f4ad19a
Reviewed-on: https://gerrit.instructure.com/144549
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Tested-by: Jenkins
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
2018-03-28 21:39:06 +00:00
Ryan Shaw 33a5bd5a0a Upgrade instUI from 4.7.3 to 4.8.0
Fixes: CORE-1105 CORE-1106 CORE-1174

Test plan (for CORE-1105 CORE-1106):
* using the keyboard, go to /accounts/x/users
* you should be able to hit “enter” to click on the “Act As” or 
  “Send Message” icon links

Test plan (for CORE-1174):
* set your feature flags so you use the RTL layout
* the navigation tray, RCE a11y checker, etc should pop in from
  the opposite side of the page than the did in normal LTR layout

Change-Id: I25d664bfd94970f4bbb37ba8ebe5c72cc9e5b3ff
Reviewed-on: https://gerrit.instructure.com/144969
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-03-27 20:03:14 +00:00
Ryan Shaw d8014ed53c make feature flags for Right To Left layout
Closes: CORE-1154

There are 2 feature flags here. One a specific user (internal
employees, sales people, contractors, etc) can turn on to see where we
are and what would still need to be done. And the other is for an
account to be able to turn on to let the users in their account that
have their language set to an RTL language (eg: Arabic, Farsi or Hebrew)
see the interface in RTL

This commit is part of a chain of commits. you'll need to apply the ones
that follow-on after this to see most of the actual Right To Left
features, this commit is mainly just to create the feature flag.

Test plan:
* go to your user settings page
* you should see a feature option for Force RTL Layout”
* it should show that it is “in development”
* it should should be hidden: eg: only appears for site admins and not
  For normal users
* turn it on

(if you have this checked out along with the others that follow beind
  this commit)
* navigate around canvas, most things on most pages should be RTL
* you should be able to get an idea of how much more work and what
  Kind of changes we’d still need to make to get it 100%

* now turn off that user feature flag, and go to your account's settings
* turn on the "allow users from RTL languages to see RTL layout"
  account-level feature flag.
* nothing should change for you, it should be LTR like normal
* set your language to either Arabic, Farsi or Hebrew
* now the interface should all be in right to left.
  (again, you'll need to have the follow-on commits to this to see all
  of the RTL changes)

* without either of the feature flags turned on, absolutely nothing
  should be different at all anywhere in the interface.

Change-Id: Ia78d86fa46d2d289b1913c5d1340546d7f6c3a1f
Reviewed-on: https://gerrit.instructure.com/143891
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
2018-03-21 21:09:38 +00:00
Clay Diffrient 71c7ff7160 Handle dependent variables in the theme editor
After the theme editor refactor dependant variables were not
working.  This fixes it.  This also makes it so that
override files are handled properly.

closes CORE-1085

Test Plan:
  - Go to the theme editor with a new theme
  - Change the "Primary Brand Color"
  - "Primary Button" should change as well
  - Preview the changes
  - Change should be reflected after the preview loads
  - Repeat that again, the same behavior should occur.
  - Change the "Primary Button" color and preview
  - The two items should now be "unlinked" and they change
    independent of one another
  - Upload a js override
  - Preview changes
  - Upload a css override
  - Preview changes
  - Both the js and the css fields should be populated

Change-Id: I61572a3c5bdf4f63c82078dff492dc504d0af7bf
Reviewed-on: https://gerrit.instructure.com/142395
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-03-20 20:07:30 +00:00
Ryan Shaw d65246ba97 Convert last remaining code from instUI 3 to 4
updates all the instui components used for these alerts to 4.x
Closes: CORE-762 CORE-732

Change-Id: Ia5af600b5747bfbeca4015d30d2be900700a90ae
Reviewed-on: https://gerrit.instructure.com/143337
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-03-12 23:20:07 +00:00
Ryan Shaw ad45370766 Upgrade tinymce-a11y-checker to 1.4.0
test plan:
* in canvas, go to a page with a text editor (like a wiki page) and
  click the "a11y checker" button in the editor toolbar
* the widgets that appear in the trays on the right of the page should
  work. look at the trays, the buttons, the text inputs, etc.

Change-Id: I43476620c5a1d8cf666e20b9495dd499791a4ee4
Reviewed-on: https://gerrit.instructure.com/143347
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-03-12 23:19:47 +00:00
Ryan Shaw 6693205bb7 update npm deps
closes: CORE-1135

this is just the regular "update all the things" commit to keep all of
our npm deps up-to-date.

includes an update of instUI from 4.7.2 to 4.7.3 
Bug Fixes
FileDrop: Fix positioning of the inner native file input  (3664ccb)
(see: github.com/instructure/instructure-ui/blob/master/CHANGELOG.md)

Change-Id: I7f2a79e5561bd579a703e720b1970e454b15b198
Reviewed-on: https://gerrit.instructure.com/143002
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-03-12 23:00:10 +00:00
Ryan Shaw f4f60700b8 Upgrade mediaelement to latest master of our fork
Fixes: CORE-1091
show controls when they receive focus (#39)

if controls are visibly hidden, they should still be tabbable for
accessibility, and when they get keyboard-focused, they should become
visible again.
See: https://github.com/instructure/mediaelement/commit/0402b2b76

Change-Id: Ic655d43a64d111662f8d7368f21032664a8aee74
Reviewed-on: https://gerrit.instructure.com/142693
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-03-12 16:18:05 +00:00
Ryan Shaw 06d3ceb331 git rid of our vendor’ed fork of mediaelement
refs: CORE-24

test plan:
* this net result of this change should mean that we are using the exact
  same code as we were using before, just pulled from github directly
  in our package.json instead of vendored into our repo.
* testing the follow-on commits should show this worked correctly

Change-Id: Ie6d022d5fe8ed1a607f66f9d426c47ec7e8f5b14
Reviewed-on: https://gerrit.instructure.com/142381
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-03-12 16:17:43 +00:00
Ed Schiebel f1f8fdde70 Bump instui version to be in sync w/ canvas
4.7.1 -> 4.7.2 is easy peasy

closes ADMIN-825

test plan:
  - jenkins is happy.

Change-Id: Ib1f4027a6267f91df3ea6cb70b7c2da71fb1f68f
Reviewed-on: https://gerrit.instructure.com/142453
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2018-03-05 21:00:27 +00:00
Jeremy Neander 3b66b2f77b update yarn.lock
test plan:
* ensure Jenkins likey

Change-Id: Iac8750f954ef2fb9ee87d45c93ad2c9cd3c846d9
Reviewed-on: https://gerrit.instructure.com/141864
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Jeremy Neander <jneander@instructure.com>
QA-Review: Jeremy Neander <jneander@instructure.com>
2018-02-26 17:31:58 +00:00
Ryan Shaw 63a0ccf95d [npm dependencies] update all our npm dependencies
This is just the regular “update all the things” commit.
For things in package.json that we just want the latest version of,
I changed them to a simple major with a carat. (Eg: “8^” or “4^”),
that way you can see easier which things are specifically locked down
To a specific version (or range of versions) for a reason.

Test plan:
* automated specs & build tasks should work

Change-Id: Id7a3f853bd0f7537cc0f08d7dba8d6726b836c44
Reviewed-on: https://gerrit.instructure.com/141653
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2018-02-23 21:32:43 +00:00
Clay Diffrient 928f334cfb Convert theme editor sidebar to use instui
closes CORE-1017

Test Plan:
  - Enable Theme Editor Refactor feature flag
  - The sidebar tabs (Edit/Upload) should use InstUI
  - On the Edit tab, the accordions should use InstUI
  - When the feature flag is off the jQuery UI stuff
    should be used.

Change-Id: Ic8bfac91d644fc75618f1f0898afbcfcf411c3fd
Reviewed-on: https://gerrit.instructure.com/140561
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-02-22 20:31:59 +00:00
Mysti Sadler ce9d3ab06a Update yarn.lock for canvas-planner instui upgrade
refs ADMIN-742

Test plan
- N/A

Change-Id: I8373501897e25790d13fe722eb67d6a1ee8b021f
Reviewed-on: https://gerrit.instructure.com/141521
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Jenkins
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
2018-02-21 20:45:01 +00:00
Ryan Shaw 465b36270c [instui 3->4] upgrade navigation_header
Closes: CORE-750

This replaces all the code for the global nav tray
That pops out when you select “courses” “groups” “Help” or your avatar.
It replaces react-tray with InstUI tray and uses instUI components
wherever possible. that means that we need much less custom one-off
css for these things and can just use the instui defaults most of the
time.

Test plan:
* do a regression test on each of the  global nav trays that pops out
  when you select “courses” “groups” “Help” or your avatar

Change-Id: Ib32c6cc9e091ec5cbdbc19ced9fbbd5e2e4bae8f
Reviewed-on: https://gerrit.instructure.com/135354
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-02-21 20:10:41 +00:00
Ryan Shaw 9300f107b8 Fix dirty yarn.lock
running yarn on master results in this difference. This just cleans
It up so it matches what it thinks it should be.

Change-Id: I5be8df931fdf2ce409a26905a2bdcbe04386f64e
Reviewed-on: https://gerrit.instructure.com/141146
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-02-15 22:32:42 +00:00
Chris Hart 72c07fe5d5 Upgrade Canvas to INSTUI 4.7.2
Fixes: UIDEV-170

Updates the parts of Canvas that were using
4.7.1 to the 4.7.2 patch release to add a bugfix
for List/ListItem where two badly-scoped CSS selectors were
selecting every element on the Canvas dashboard.

Test plan:
- Confirm ToDo List on Canvas dashboard is working
  as it should
- Confirm the selectors shown in the screenshot in the
  JIRA ticket are now only targeting first and last
  items in the List component (see ToDo List in sidebar):

  https://www.screencast.com/t/cq4W4MGcemn

Change-Id: I16c4bad0ef2bac76d0e9a4d34d6ce9869ab0587c
Reviewed-on: https://gerrit.instructure.com/141100
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
2018-02-15 20:37:02 +00:00
Ryan Shaw 637b8b756d [eslint] have --fix add copyright header for you
Test plan:
* Run eslint —fix against a file that doesn’t have a copyright header
  (Eg: eslint --fix app/coffeescripts/AssignmentDetailsDialog.js )
* it should add the copyright header for you
* run eslint on a file that already has a proper copyright header
* it should not duplicate it

Change-Id: I0bc05b6cc267fb74909f7a0fe0e93ecda1e2136e
Reviewed-on: https://gerrit.instructure.com/140757
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-02-15 20:01:41 +00:00
Brent Burgoyne 78c60b331f upgrade canvas-rce to 3.0.2
upgrades instructure-ui and fixes a microsoft edge but when inserting
equations.

closes CORE-906

test plan:
- smoke test rce sidebar for inst-ui upgrade
- open an editor in edge
- insert an equation using the equation editor
- it should show the equation, not an X with the alt text

Change-Id: Ieb44771ddbba911598d75b20367b246e6f83fc20
Reviewed-on: https://gerrit.instructure.com/140895
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2018-02-15 17:54:38 +00:00
Ryan Shaw 97510022cd don’t cp all of canvas-planner’s node_modules dir
this is to prevent canvas from copying everything in canvas-planner’s
node_modules dir into /node_modules/canvas-planner/node_modules

this will mimic the exact same behavior that pushing it to the npm
repository and pulling it from there in canvas’s package.json

test plan:
* do `ls node_modules/canvas-planner/node_modules/jest*`
* you should get: ls: node_modules/canvas-planner/\
  node_modules/jest*: No such file or directory

Change-Id: Ie428b3d0a5d6cc1d9bec89ae00adb3d451dfc916
Reviewed-on: https://gerrit.instructure.com/139907
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-02-05 22:13:31 +00:00
Brent Burgoyne e5e10b7824 upgrade a11y checker to 1.3.3
fixes untranspiled es6 that was breaking the prod build

closes CORE-972

Change-Id: Ic1068ed2eda81f0167563fb37c8d57473da30338
Reviewed-on: https://gerrit.instructure.com/139858
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Brent Burgoyne <bburgoyne@instructure.com>
2018-02-05 18:10:22 +00:00
Ed Schiebel 40b876493e Move planner under canvas-lms
closes: CORE-949

this also upgrades us to use what was on canvas-planner master
as of 1pm on 2/1/2018 (specifically 9569cc1)

test plan:
* canvas planner should work
* all automated builds should pass

Change-Id: Iecce81d640c8aacb79189e2b26946613a03d25f2
Reviewed-on: https://gerrit.instructure.com/135947
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-02-02 23:58:48 +00:00
Ryan Shaw 08b922ca3e Upgrade instUI from 4.7.0 to 4.7.1
closes: CORE-948

Change Log

4.7.1 (2018-01-25)
Bug Fixes
ui-menu: Pass href prop down to ElementType (e876404)

Test plan:
* menus should still work the same as they did before

Change-Id: Ic5817dda6d2fda3adea9905cebcd87bfa356a697
Reviewed-on: https://gerrit.instructure.com/139742
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-02-02 21:22:18 +00:00
Ryan Shaw 8d2d33489e Restore ThemeEditor to how it was before InstUI conversion
Fixes: CORE-856

This is to fix the bug that was found on beta, once we figure out a way
around that we can revert this revert and move forward

this is the result of `git revert 2fce80fe6d 96bfe1f8c2 72ca2dcacb

Test Plan:
  - Go to the theme editor for a theme
  - Make changes to the theme (including stuff inside each of the
    different hidden areas) on the Edit tab
  - Preview changes, after change those fields should reflect the
    new changes
  - Enable global css/js on the account
  - Do the same test as done previously, modifying fields, etc.
  - Switch to the Upload tab and preview changes, changes should
    still apply
  - Upload CSS/JS and preview, changes should apply
  - Upload different CSS/JS, switch to the Edit tab
  - Preview and notice that changes still apply

Revert "Convert Theme Editor Accordion to use Inst UI"
This reverts commit 2fce80fe6d.

Revert "Convert ThemeEditorAccordion to ES class"
This reverts commit 96bfe1f8c2.

Revert "Convert theme editor sidebar to use InstUI"
This reverts commit 72ca2dcacb.

Change-Id: I0ac36b144c325eaa5ae7d8c4ba86b7807aa3431b
Reviewed-on: https://gerrit.instructure.com/139594
Reviewed-by: Tucker McKnight <tmcknight@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Gentry Beckmann <gbeckmann@instructure.com>
2018-01-31 01:25:26 +00:00
Clay Diffrient 464f295a9c Bump tiny-mce-a11y checker to 1.3.2
closes CORE-907

Test Plan:
  - Load up an RCE with a color contrast issue
  - Use the a11y checker to fix that issue
  - Save the RCE entry and reload
  - The change in color should have persisted

Change-Id: Ia699175ec462f9d54c34a4adaad21135a529e8ac
Reviewed-on: https://gerrit.instructure.com/139542
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Tested-by: Jenkins
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
2018-01-30 22:42:26 +00:00
Cody Cutrer c715f6fcf7 bump timezone.js
closes CORE-577

test plan:
 * smoke test some datetime pickers, and maybe try a language or two

Change-Id: I808d64c20e89ed287a38fda5f00d61a8f422bae7
Reviewed-on: https://gerrit.instructure.com/139326
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2018-01-30 20:29:56 +00:00
Clay Diffrient 145763fce5 Revert "Bump tiny-mce-a11y checker to 1.3.2"
This reverts commit 49f73619a8.

Change-Id: I92dacba9822065836fb444cc08d4956e5431e5c2
Reviewed-on: https://gerrit.instructure.com/139541
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Cody Cutrer <cody@instructure.com>
2018-01-30 19:38:50 +00:00
Clay Diffrient 49f73619a8 Bump tiny-mce-a11y checker to 1.3.2
refs CORE-907

Test Plan:
  - Load up an RCE with a color contrast issue
  - Use the a11y checker to fix that issue
  - Save the RCE entry and reload
  - The change in color should have persisted

Change-Id: Ieabd5f50d437ce5d2bfd82841fa071dcc260e652
2018-01-30 12:21:38 -07:00
Jeremy Neander 410e0d8e87 hash webpack module ids
This also removes md5 asset chunk hashing.

test plan:
* task force consensus

Change-Id: Id67efa204bef719fdb10b3a6d429915744ff2044
Reviewed-on: https://gerrit.instructure.com/139415
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-01-29 18:44:57 +00:00
Jeremy Neander e118ce3972 use md5 to hash webpack bundles
test plan:
* all eyes of the hot potato approve

Change-Id: Idaa349b2a5b526b46bfe72df2673093fb6ff88b3
Reviewed-on: https://gerrit.instructure.com/139120
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Jeremy Neander <jneander@instructure.com>
2018-01-25 20:47:55 +00:00
Jeremy Stanley 4ab2e3f9eb Revert "roll back webpack to 3.8.1"
didn't solve the problem on beta

This reverts commit beec413391.

Change-Id: I5d88ee0fea47eccde45847b51c6fa43d2aacc28f
Reviewed-on: https://gerrit.instructure.com/139152
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2018-01-25 20:22:38 +00:00
Venk Natarajan 363544197b Bump Instui to 4.7.0
This should fix the combobox in the "edit announcement" view.

Fixes COMMS-725

Test Plan:
* Use Safari and voiceover turned out.  Use the proper safari
  commands to move into the combobox.  (Get a cheatsheet from
  Nathan if needed, don't try just "tab" and "enter", etc.)
* Verify that the section names are read as you navigate up
  and down the menu.
* Here's the changelog for the instui upgrade:
  https://gerrit.instructure.com/#/c/138876/11/CHANGELOG.md
* Find a couple instances of each component mentioned in that
  changelog and make sure they didn't break.

Change-Id: Ic648fa4c50d14947a3ed5ee65a5d158152405856
Reviewed-on: https://gerrit.instructure.com/139101
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
Product-Review: Venk Natarajan <vnatarajan@instructure.com>
2018-01-25 19:41:39 +00:00
Jeremy Stanley beec413391 roll back webpack to 3.8.1
test plan: public/dist/webpack-production/webpack-manifest.json
 should not reuse chunk ids for files such as zh-tw.bundle-xxxxx.js
 that have changed since the previous release

hopefully fixes ADMIN-706

Change-Id: I8cee724422788c86627092eb0dfd7826496c3175
Reviewed-on: https://gerrit.instructure.com/139116
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2018-01-25 19:07:39 +00:00
Jeremy Neander e26e909f15 update yarn.lock
Change-Id: I3ea694b9ff193f692e52ef3c002344fe976ddf6f
Reviewed-on: https://gerrit.instructure.com/138459
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Jeremy Neander <jneander@instructure.com>
QA-Review: Jeremy Neander <jneander@instructure.com>
2018-01-19 17:16:04 +00:00
Ed Schiebel 1c1666191d Bump canvas-planner to v1.0.16
The big change to planner in this version is instui 4.6.0

closes ADMIN-680
refs ADMIN-679

test plan:
  - student_planner_spec.rb selenium tests pass
  - planner seems to work OK

Change-Id: Ia5fc7ad265e3110e7d53100f05446929e34e05b7
Reviewed-on: https://gerrit.instructure.com/137588
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2018-01-17 20:24:12 +00:00
Ryan Shaw d8259be7cc speed up JS tests by running them concurrently
closes: CORE-865

In order to get accurate coverage reports (ie: so the coverage numbers 
don’t only reflect a fraction of the total tests), when the COVERAGE 
environment variable is set, it does not split them out into groups to
run concurrently. That way our linters-and-js-master build (which sets
that environment variable) will run the same as it always has and our 
patch-set builds (which run the linters-and-js) will be faster.

Test plan:
* run ‘yarn test’
* it should be a lot faster than it used to be

* look at the linters-and-js build in jenkins for this commit
* it should have test reports for all both groups (coffee, js)
  Of karma tests as well as for the jest tests.

* look at the coverage report after this gets merged. It should be
  the same as it was before

Change-Id: I35147cc84df4afae92c1a73c201667d4d44b5518
Reviewed-on: https://gerrit.instructure.com/136373
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-01-16 19:32:28 +00:00
Jeremy Neander aad75edec7 update parse-decimal-number to 1.0.0
A hack can be removed for parsing numbers now that 1.0.0
incorporates the needed behavior.

test plan:
* verify Jenkins passes

Change-Id: Ifaea8fd348f4f804e9a6042fb392c699badeea6e
Reviewed-on: https://gerrit.instructure.com/138046
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Jeremy Neander <jneander@instructure.com>
QA-Review: Jeremy Neander <jneander@instructure.com>
2018-01-16 17:39:59 +00:00
Landon Gilbert-Bland 5829f0850a Fix calendar event cutoff for specific time ranges
The actual fix was applied to the fullcalendar package we are using.
This just bumps our local version to apply the fix in canvas-lms. The
fix in fullcalendar can be seen here:
https://github.com/instructure/fullcalendar/pull/1/files

fixes COMMS-268

Test Plan:
  - Navigate to the calendar
  - Create a new 50 minute even (ie, from 8:00 to 8:50) with a title
  - Switch the calendar to week view
  - Notice that the bottom half of the title is not cut off

Change-Id: I084e085d7a97039df7729870271a8691e010e4ba
Reviewed-on: https://gerrit.instructure.com/137608
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
QA-Review: Venk Natarajan <vnatarajan@instructure.com>
Product-Review: Landon Gilbert-Bland <lbland@instructure.com>
2018-01-15 17:10:29 +00:00
Ryan Shaw a33231cf0a let jest know about some of our aliases
…and prevent a giant error from being logged from ui-themable


test plan:
* the “Add Ability To Add External RSS Feeds…” commit that is based
  on top of this should pass jest
* you should not see an errors like this when jest runs:
console.error node_modules/@instructure/ui-themeable/lib/registry.js:342
      TypeError: Cannot read property 'porcelain' of undefined


Change-Id: I8a9583a3d16394a919a223cedfd577aef7f70ec1
Reviewed-on: https://gerrit.instructure.com/137778
Product-Review: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
2018-01-12 19:16:18 +00:00
Clay Diffrient 14ce1d7a80 Bump tinymce-a11y-checker to 1.3.0
closes CORE-826

Test Plan:
  - Load up an RCE instance in Canvas
  - Use the a11y checker to ensure that the following
    new features work:
      - Elements with only links don't trigger the a11y checker
        (commit: 8f88c941776583ec65dc97862fc0b30db175760e)
      - Captions with only whitespace on tables trigger it
        (commit: f22604c438e31508ca2e8f72317bbe1e07417e60)
      - Modifying a header that is in the wrong order becomes a <p>
        (commit: 5c78821102054fd060a1cf2ced76bbfd45ccb561)
      - The show learn link shouldn't show on headers too long errors
        (commit: 3df571c00fbffe2c2c49b00ab89227dc0c6fb2f5)

Change-Id: I39894cc8f8b9c3d9cbf7695be93335d84da11cfa
Reviewed-on: https://gerrit.instructure.com/137397
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-01-11 20:17:40 +00:00
Steven Burnett 4bcdea0497 Revert "Enforce prettier formatting with eslint"
This reverts commit 7d9ef5c77e.

Change-Id: Ibb49916220b035205609d38a7e1c6dcfee9d04a6
Reviewed-on: https://gerrit.instructure.com/137551
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
2018-01-11 00:10:42 +00:00
Ryan Shaw 7d9ef5c77e Enforce prettier formatting with eslint
This makes prettier errors eslint warnings. So when you 
`eslint --fix some/file.js` it will format it with prettier

to try this out, apply this commit and run eslint against your files.
this change will make it so it runs it through prettier and forces
your code to look like prettier would output. But it doesn’t force
Prettier formatting to pass eslint since they are just warnings so if
you really want to format your code differently than prettier you can.

Change-Id: I4f1cdf4962173002a7dc22138be06cc66b842190
Reviewed-on: https://gerrit.instructure.com/131773
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-01-10 18:09:10 +00:00
Clay Diffrient 2fce80fe6d Convert Theme Editor Accordion to use Inst UI
closes CORE-691

Test Plan:
  - Edit tab works as expected
  - You can move between "accordion" pieces in an
    accessible manner
  - Testing this also proves g/135762 is good as well
Change-Id: Iee447bc97ad5392e74b033b072179f20984e3f6e
Reviewed-on: https://gerrit.instructure.com/135893
Tested-by: Jenkins
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2018-01-08 21:39:24 +00:00
Ryan Shaw 87e15a6089 upgrade instructure-ui to 4.6.0
Closes: CORE-821

Test plan:
* the spacing between the course links in the global tray that is based 
  on this commit should be even

Change-Id: Id93d2cfef065a7bec776843ad3a65adac9e3a032
Reviewed-on: https://gerrit.instructure.com/136879
Tested-by: Jenkins
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-01-04 18:10:29 +00:00
Brent Burgoyne fa9e6fbc3a upgrade d3 to latest 3.x version
the previous version caused an error when building native
dependencies during the yarn install when using node 8.

refs CORE-704

test plan:
- ensure d3 charts in gradezilla/OutcomeColumnView render correctly
- ensure d3 charts in gradebook/OutcomeColumnView render correctly
- ensure d3 charts in grade_summary/OutcomeLineGraphView render
  correctly
- ensure d3 charts in client_apps/canvas_quizzes render correctly
- yarn install runs without errors using latest node 8 lts

Change-Id: Ib2f8d4acab6060795b50e545eb64f324587b6300
Reviewed-on: https://gerrit.instructure.com/134476
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Leo Abner <rabner@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2018-01-03 20:40:37 +00:00
Ryan Shaw e500f77ef0 Update yarn/npm dependencies
this will make it so we can use karma with the latest node. once the 
commit to upgrade d3 is merged, that was the only other thing we needed
to do to have everything working on node 8.


Change-Id: I820b27ee3da38818b69554c6e409a2177370ca34
Reviewed-on: https://gerrit.instructure.com/136752
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-01-03 16:56:54 +00:00
Clay Diffrient 1c3b09f3a9 Bump canvas-rce to 2.6.3
closes CORE-809

Test Plan:
  - Add an equation to an RCE instance
  - There should not be a border around it

Change-Id: I9ee6ba8937035c925857825b9afe94e37c8e0f52
Reviewed-on: https://gerrit.instructure.com/136637
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2017-12-29 21:07:15 +00:00
Clay Diffrient 6b77eaebfd Add @instructure/ui-themes and @instructure/ui-themeable
Change-Id: I3b1ae6e375eb683407de7a2db68ca6db42723474
Reviewed-on: https://gerrit.instructure.com/136333
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
2017-12-21 16:56:39 +00:00
Ed Schiebel 11950bbeb2 Bump planner to v1.0.14
closes ADMIN-623

test plan
  - planner's selenium specs pass
  - planner seems to work like you'd expect
  - the changes in ADMIN-622, g/136011 are evident

Change-Id: I46fca8359f85dbc8ab3b0ed72769e33b9d5b1402
Reviewed-on: https://gerrit.instructure.com/136021
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2017-12-20 18:50:44 +00:00
Jeremy Neander 8d26b51a3f update @instructure/ui-core to 4.5.0
closes GRADE-737

test plan:
* ensure Jenkins passes
* verify Canvas is not totally borked

Change-Id: I05907db24eeed2791b6dd755cca8e8a224f408df
Reviewed-on: https://gerrit.instructure.com/136186
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-12-20 00:23:52 +00:00
Ryan Shaw d4b0982c33 Upgrade ui-core from 4.2.0 to 4.4.0
would be good to get this in before anyone does more QA on all the
instui4 commits

Change-Id: Ief71e4a76c009836910584d4d05cc219f6d38565
Reviewed-on: https://gerrit.instructure.com/135768
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-12-18 17:59:33 +00:00
Ryan Shaw 4e64e18fd5 publish jUnit test result file from karma tests
Test plan:
* run `yarn test`
* there should be xml file in coverage-js/karma-test-results.xml
  With the spec results that we will use for Jenkins builds

Change-Id: Ic68de197d2b52dbccdf58dc2d148aef1f2ca2646
Reviewed-on: https://gerrit.instructure.com/135949
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-12-18 15:44:53 +00:00
Brent Burgoyne 5177893361 bump a11y checker version to 1.2.3
fixes issue where re-check would cause contrast errors for the
default canvas link style

closes CORE-781

test plan:
- yarn install
- put content in an rce with something that will fail and a link
- fix the error
- it should not show a contrast error for the link

Change-Id: Ia72d0cfaebb98999c39290ae5de26b52defa52f3
Reviewed-on: https://gerrit.instructure.com/135744
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2017-12-14 22:51:04 +00:00
Ryan Shaw 88c1c61bdf Add Jest for testing JavaScript
closes: CNVS-34337

* For now, you can only test things that don’t require any coffeescript
  files
* Write your tests using es6 module syntax
* see app/jsx/shared/helpers/__tests__/parseLinkHeader.test.js for an
  example

test plan:
* run `yarn run jest`
* you should see some output like:
 PASS  app/jsx/shared/helpers/__tests__/parseLinkHeader.test.js
 PASS  app/jsx/actAs/__tests__/ActAsModal.test.js

Test Suites: 2 passed, 2 total
Tests:       5 passed, 5 total
Snapshots:   1 passed, 1 total
Time:        3.072s
Ran all test suites.
* make sure it runs on jenkins build

Change-Id: Ia79cd8ce35dc863c4cc5ce7512998320c7cfdb84
Reviewed-on: https://gerrit.instructure.com/100685
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-12-14 22:08:09 +00:00
Ed Schiebel 34494f112c Bump canvas-planner version to 1.0.13
closes: ADMIN-605

test plan:
  - the planner should exhibit all the fixes as enumerated in the commit
    message for https://gerrit.instructure.com/#/c/135411/

Change-Id: I7c249834582fc27d5183846e69bfe797e9d4c230
Reviewed-on: https://gerrit.instructure.com/135414
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2017-12-13 19:12:46 +00:00
Brent Burgoyne 7fecb11a08 upgrade a11y checker to include translatsions
call setLocale when initializing the a11y checker

closes CORE-632

test plan:
- change users language to other languages
- the strings in the a11y checker should be translated
- still waiting on translations for he, hy, ko, and tr

Change-Id: Idfe82194acd078f29b194b9184059985c162fa17
Reviewed-on: https://gerrit.instructure.com/135379
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2017-12-12 23:04:32 +00:00
Ryan Shaw ddcd097e10 get window.location.orgin polyfill from npm
…instead of the copy-pasta’ed one in our repo

Test plan:
Make sure the files search results page works in ie11

Change-Id: I61433363eda53d44b897bf1f88837cef7c239f87
Reviewed-on: https://gerrit.instructure.com/135141
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-12-12 16:22:06 +00:00
Ryan Shaw 8fc5d174c5 add InstUI4's ui-core to package.json
...so people can start upgrading all of their stuff

closes:  CORE-735

test plan:
* check out a follow on commit after this and make test that
* make sure theming works for new components

Change-Id: I1ab6141152c353cbae88657b8913431c2634a4f2
Reviewed-on: https://gerrit.instructure.com/135330
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-12-12 15:52:40 +00:00
Clay Diffrient 1d533e5a94 Bump tinymce-a11y-checker to version 1.1.3
closes CORE-688

Test Plan:
  - Create a violation in the a11y checker
  - Use a11y checker to fix it
  - The apply button should work
  - Also, you should QA the following things from the 1.1.0
    release:
      - [482f02c] removing redudant alt text from adjacent links
      - [cf9083a] UI design alignment
Change-Id: I47c85200f7ad487506f53e1875fb251851231359
Reviewed-on: https://gerrit.instructure.com/134170
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2017-12-12 14:19:50 +00:00
Ryan Shaw e7ec697d02 [spec] upgrade to newest 2.x enzyme
Change-Id: I4b518f68a938d4695074a19bc2a5611c74029cd7
Reviewed-on: https://gerrit.instructure.com/135147
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-12-11 20:23:08 +00:00
Brent Burgoyne d642fb6609 upgrade canvas-rce to version 2.6.2
closes CORE-673

test plan:
- ensure rcs flag is enabled
- run latest RichContentService locally w/ flickr api key
- insert a flickr image
  - should be linked to image on flickr website
- test with a wiki page
- test uploading an image from the images tab in the sidebar
  - it should have the place to enter alt text or decorative
- save the page
  - it should render image and have correct alt text
- edit wiki page
- test uploading a pdf from the files tab
- save the page
- the inline preview should work (canvadocs plugin must be enabled)
- smoke test common rce workflows

Change-Id: Ia8c9c020d4318729cc0f15bd60a05672614863ec
Reviewed-on: https://gerrit.instructure.com/134639
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2017-12-08 16:22:50 +00:00
Ryan Shaw 06ae2f2287 add eslint rules to lint Qunit specs
We just had a thing where a commit made it through that added an
.only(…), which made it so Jenkins would only run that one test.
This should help prevent that.
And it should help us write more helpful tests too.

Test plan:
* change a test from “test(” to “Qunit.only(“, eslint should print an
  error.

Change-Id: If43640a74cadbe88ed8d49a9c66232356a339104
Reviewed-on: https://gerrit.instructure.com/134893
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-12-07 16:46:34 +00:00
Ed Schiebel e6e6f5c825 bump canvas to instui 3.3.4
fixes ADMIN-570
refs ADMIN-80, ADMIN-259

test plan:
  - try test plan from ADMIN-80
  - try test plan from ADMIN-259

Change-Id: I0169be49b732ad89a5d6fe44934ddab8b600fec0
Reviewed-on: https://gerrit.instructure.com/133886
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
2017-11-29 18:15:53 +00:00
Ryan Shaw deab67450f Update a bunch of npm dependencies
Change-Id: I089fa97c1e18417f52e7b3baa9ba618129820755
Reviewed-on: https://gerrit.instructure.com/133722
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-11-27 17:09:44 +00:00
Ryan Shaw 34dd5b44c1 Make it so it works with newest yarn (1.3.2)
test plan:
* while running yarn 0.27,
* run `yarn`
* it should work and there should only be one jquery in node_modules
* brew upgrade yarn (or whatever else you do to upgrade yarn to 1.3.2)
* run `yarn`
* it should work and not make any changes to yarn.lock or node_modules


Change-Id: Idf2eefbc1707d4c77ec8d1d6a78909240fd9b9f9
Reviewed-on: https://gerrit.instructure.com/133500
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-11-21 20:46:52 +00:00
Clay Diffrient 367c776bff Bump tinymce-a11y-checker to 1.1.0
Change-Id: Iddf150297716363c73adfbe32c124837e41c77e5
Reviewed-on: https://gerrit.instructure.com/133199
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
2017-11-21 16:31:09 +00:00
Ed Schiebel 273015e755 Upgrade canvas-planner to v1.0.12
closes ADMIN-542

test plan:
  - if you _really_ want to dig deep, all the planner changes listed
    in the commit message vrom https://gerrit.instructure.com/#/c/132763/
    should be evident in canvas now
  - student_planner_spec.rb should have run w/o error

Change-Id: Ic94468de01fbc91cffc288fb7a4ce7be61ff8e62
Reviewed-on: https://gerrit.instructure.com/132785
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
QA-Review: Dan Minkevitch <dan@instructure.com>
2017-11-20 19:37:07 +00:00
Ryan Shaw 3c30c9b6df Clean up account course/user search pages
Closes: CORE-334 CORE-211

* takes out tabs from page
* changes “Courses & People” tab back to separate
  “Courses” and “People” tabs. They are still a single page app
  between those 2 tabs
* changes urls back to accounts/x for “Courses” tab and
  accounts/x/users for “People” tab (like they were previously)

Test plan:
* turn on MRA, Make sure the “suspend/unsuspend account”
  button on account settings page still works
* make sure the “find a user anywhere for siteAdmin/consortium root
  accounts” still works
* check to make sure going to the “People” and “courses” tab on the
  Left of the account nav works correctly
* verify that you can copy/paste the url showing for a given
  search result and it will come up with the same search results in
  another tab
* general regression on the account course & user pages.

Change-Id: Idfade57b2abd189a84ba5372d8e4aad1fb3ea49b
Reviewed-on: https://gerrit.instructure.com/128822
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2017-11-07 18:50:50 +00:00
Ryan Shaw 5528e05bf6 Remove phantomjs in favor of chrome headless
the preferred way to do headless testing is now chrome headless and
we have a bunch of tests that don't work in phantom anymore anyway since
they use es6 syntax that phantom's old safari doesn't support.

test plan:
* `yarn test` should still work

Change-Id: I16496ef77fe65ca61bda8c8e18d1c887b6a48486
Reviewed-on: https://gerrit.instructure.com/131340
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-11-06 16:35:25 +00:00
Brent Burgoyne 5b3dc812d6 upgrade canvas-rce to v2.5.6
fixes issue with inline file preview for document links inserted from
the rce sidebar

refs CORE-378

test plan:
- have canvadocs plugin configured
- make sure rcs feature flag is enabled
- create/edit a wiki page
- upload/insert a pdf
- save
- the inline preview should work
- edit the page
- put the cursor on the link
- click the link button in the editor toolbar
- test wil both checkboxes (autoexpand/hide inline preview)

Change-Id: I1fd5d8a41ae34f325a63b98d86b0d98ab3e2f34f
Reviewed-on: https://gerrit.instructure.com/131752
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2017-11-03 16:44:32 +00:00
Jeremy Neander 32975e3e9b spec: upgrade sinon
test plan:
* ensure Jenkins passes

Change-Id: I4d98500e19cc3287acba965454466e2c9c9c4aa1
Reviewed-on: https://gerrit.instructure.com/131756
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Jeremy Neander <jneander@instructure.com>
QA-Review: Jeremy Neander <jneander@instructure.com>
2017-11-03 14:40:45 +00:00
brian kirkby 2b75963cd0 bump canvas-rce version to 2.5.5
fixes CORE-377

Change-Id: I7e70cdcd12b4d9c71ff3b76ab816da51196d3b6b
Reviewed-on: https://gerrit.instructure.com/131566
Tested-by: Jenkins
Product-Review: brian kirkby <bkirkby@instructure.com>
QA-Review: brian kirkby <bkirkby@instructure.com>
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
2017-11-02 15:23:35 +00:00
Brent Burgoyne e02d5ce2d0 upgrade a11y checker, fix placeholders / contrast
set new config option to ignore contrast checks if the the user does
not have high contrast enabled. this is a temporary fix to prevent
the checker from failing some default canvas styles that would pass
with high contrast enabled.

closes CORE-364, closes CORE-354, closes CORE-341, closes CORE-218,
closes CORE-217

test plan:
- the first heading should not have a heading sequence error
- default link styles should not fail contrast checks
- links that only contain a link should not have contrast issues
  - must test with high contrast flag for now
- test haveing an h2 then an h4 with more than 125 characters
  - run the checker, and correct the heading order on the first
    issue
  - you should still be able to convert the long heading to a
    paragraph on the second issue

Change-Id: Iaec77c7fb1bdcc8d512eb35e20ce8c45ecc0b99f
Reviewed-on: https://gerrit.instructure.com/130650
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2017-10-24 17:27:10 +00:00
Ed Schiebel de7c17e33c Bump canvas-planner to v1.0.11 in canvas
closes ADMIN-294

test plan:
  the planner works and we see the new stuff
  some new stuff:
  - click the bell and the popup can be taller than 2 items
  - new activity button has an up-arrow in it
  - scroll planner into the past and you eventually get to the TV image
  - edit the date of a todo and you don't get a duplicate
  - edit the date of a todo and it goes where you expect it to go

Change-Id: I8a53885c3d6a1a7d6e68a4aced1d8c28a2bd648f
Reviewed-on: https://gerrit.instructure.com/129626
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2017-10-18 15:44:56 +00:00
Clay Diffrient 03c7b0e5bf Bump canvas-rce to version 2.5.4
fixes CNVS-39778

Test Plan:
  - Enable Sidebar enhancements feature flag
  - Set up a custom theme (changing the primary color)
  - Go to /pages and create/edit a page
  - The sidebar accordion colors should match the primary color
    you selected

Change-Id: Ib45019b7aa07cbaefac975dce984eccdbcfe035a
Reviewed-on: https://gerrit.instructure.com/129569
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2017-10-17 20:13:02 +00:00
Brent Burgoyne 5cdea871af upgrade tinymce-a11y-checker to v1.0.3
fixes issue with alt text length rule and images without an alt
attribute

refs CNVS-39943

test plan:
- a11y checker does not spin with images without alt text

Change-Id: Ie92374c6f5a99f6d4b0804cab2489f390d131e72
Reviewed-on: https://gerrit.instructure.com/129697
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2017-10-16 21:21:53 +00:00
Ryan Shaw 3b74d4e588 Resolve more yarn.lock weirdness
This is the result of 
Rm -rf node_modules yarn.lock
Yarn install —production —flat
Then manually de-duping a couple things 

Change-Id: I63ed1ecd0233658b9d72ac11fa68047fd7ea1f8a
Reviewed-on: https://gerrit.instructure.com/129576
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-10-13 15:08:41 +00:00
Ryan Shaw 40d1b2b2d5 add babel-plugin-transform-runtime for smaller JS
This will make our webpack bundles smaller

Test plan: 
run `yarn run webpack-production` without this
Run it again with this applied.
The output it spits out with this should be smaller

Change-Id: Ieb77a6528cd6f7759d7ebbbbc944bd9900ea90f0
Reviewed-on: https://gerrit.instructure.com/129371
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-10-12 14:35:46 +00:00
Ryan Shaw 8406c0d199 Upgrade some package.json devDependencies
Change-Id: I4df825ff17c4123c58b7478d698726caed704586
Reviewed-on: https://gerrit.instructure.com/129353
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-10-12 14:35:29 +00:00
Derek Bender b36a52bb60 react-preset-es2015 -> react-preset-env
Per the deprecation notice on react-preset-es2015, this commit
replaces react-preset-es2015 with react-preset-env. This library
can target specific browsers and result in slimmer assets since
it only transpiles what's needed instead of everything.

context: http://babeljs.io/env

Change-Id: Ia5107776c34bed200cb45aba2d30fa7671457b12
Reviewed-on: https://gerrit.instructure.com/129307
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-10-11 20:33:44 +00:00
Ryan Shaw ea18e9cec5 a11y-checker: Don’t use separate inst-{ui,icons}
This also updates yarn.lock to reflect current master

Fixes: CNVS-39906

Test plan:
* the rce a11y checker should work
* the components in the a11y checker should be themed to your
  Theme editor colors

Change-Id: Iead53ec1895a7f4c441aad207a46a93404991b5d
Reviewed-on: https://gerrit.instructure.com/129311
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-10-11 19:35:29 +00:00
Brent Burgoyne af950b51ff fix uglify issue caused by sub-dependency
Change-Id: If08466ee32d5cc848ccefca776c8104b3a80d73f
Reviewed-on: https://gerrit.instructure.com/129044
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
Tested-by: James Williams  <jamesw@instructure.com>
2017-10-09 20:32:54 +00:00
Brent Burgoyne 6a77f6fc27 add a11y checker plugin to rce
closes CNVS-39091

test plan:
- a Check Accessibility button should show on the right side of all
  editors
- try adding a empty table
- click the check a11y button
- should have two errors
  - missing caption
  - missing headers
- correct both errors
- should show no errors detected and close

Change-Id: I4028d98d082bdbdebc034facc529cccb67fc4dcf
Reviewed-on: https://gerrit.instructure.com/128951
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2017-10-09 15:36:25 +00:00
Ryan Shaw 094d65a1cb Remove remaining dynamic brand css code
closes: CNVS-39103 CNVS-39104 CNVS-38650

test plan:
* do a general css styling regression pass
* make sure that the urls to css files look like
  /dist/brandable_css/new_styles_normal_contrast/<bundle>-<fingerprint>.css
  and not:
  /dist/brandable_css/<big long md5>/new_styles_normal_contrast/<bundle>-<fingerprint>.css
* make sure that stylesheets loaded by handlebars templates work
  eg: go to the calendar page and make sure it is styled correctly
* verify that the theme editor works. especially the process when you hit
  "preivew" and "apply"
* set up config/canvas_cdn.yml to use the dev cdn
* run `bundle exec canvas:compile_assets && bundle exec rake canvas:cdn:upload_to_s3`
* load a page, all the css should load from the cdn
* verify the theme editor works when using the cdn too.

* also review the changes in the brandable_css npm package:
  https://github.com/ryankshaw/brandable_css/compare/c6bef...b159d5

Change-Id: I55db41e90f6bc54183a661128f1050445a086d6b
Reviewed-on: https://gerrit.instructure.com/120912
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2017-10-03 22:49:11 +00:00
Derek Bender b598775360 Replace react-addons-update -> immutability-helper
React-addons-update is deprecated[1] and needs to be replaced with
immutability-helper[2], which is a drop-in replacement for
react-addons-update.

[1]: https://reactjs.org/docs/update.html
[2]: https://github.com/kolodny/immutability-helper

closes: GRADE-318

test plan:
- tests pass

Change-Id: Ic74d31b0a3a998d766df9d778800377d4ede5f53
Reviewed-on: https://gerrit.instructure.com/128053
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
2017-10-02 16:32:16 +00:00
Cameron Matheson 93e2005da5 use graphql for student context cards
closes CNVS-37584

Test plan:
  - student context cards should work as usual with graphql turned off
  - when graphql is on, student context cards should behave
    identically, but should hit the /api/graphql endpoint instead of
    the REST api

Change-Id: I723ac48a7c7f58c4b6065b92ec37c9985498c9d3
Reviewed-on: https://gerrit.instructure.com/122427
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2017-09-15 22:50:17 +00:00
Stephen Jensen 3514168c86 Bump InstUI version in Canvas to 3.3.0
Closes: CNVS-39133

Test Plan:
- Pay special attention to instui Modals and Popovers
- Also DatePickers/DateInputs
- Test an InstUI component in Canvas high contrast mode
  and ensure that it shows correctly

Change-Id: I24a1fa7502397a433e872a114afe64bab6f97f96
Reviewed-on: https://gerrit.instructure.com/125239
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Stephen Jensen <sejensen@instructure.com>
2017-09-12 20:59:36 +00:00
Ryan Shaw b75f618de4 Make yarn.lock consistent with current master
Change-Id: I9d09b93ace899ff3f532b67df075c14abfb62885
Reviewed-on: https://gerrit.instructure.com/125532
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-09-11 18:21:09 +00:00
Jon Willesen f2de90d714 reverts jquery version change in yarn.lock
somehow the jquery version got mucked with in b9737cc and caused
fullcalendar to initialize itself on the wrong version of jquery

fixes CNVS-39166

test plan:
* calendar works again

Change-Id: Ic86d2c2a59ebb957d8972d5f35abea761799041c
Reviewed-on: https://gerrit.instructure.com/125441
Tested-by: Jenkins
QA-Review: Heath Hales <hhales@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
2017-09-08 23:29:35 +00:00
Neil Gupta b9737cc05c Upgrade to Inst-UI 3.2
fixes GRADE-180

Test plan:
Smoke test all Canvas pages that use InstUI.

Change-Id: I9ca3dc199924ec3a26c21bcc47dacb51ed12df6a
Reviewed-on: https://gerrit.instructure.com/122611
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Neil Gupta <ngupta@instructure.com>
2017-09-07 17:14:42 +00:00
Felix Milea-Ciobanu f09c1e6294 better a11y for account settings headings
fixes CNVS-38718

test plan:
- with a SR, navigate by heading shortcut key in the account settings
- note that it jumps to all the following sections:
  - Account Settings
  - Course Filtering
  - Find a Course
  - Find a User
  - Quiz IP Address Filters
  - Features
  - SIS Agent Token Authentication
  - Help menu options
  - Enabled Web Services
  - Who Can Create New Courses
  - External Integration Keys

Change-Id: If5c55f0f4691bd7f2c09e1615e65a17f107b0bdc
Reviewed-on: https://gerrit.instructure.com/124724
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
2017-09-01 16:56:30 +00:00
Cameron Matheson b5e55d89d7 fix graphql deps
Change-Id: Idd02f9b1f64b51ac42100df5b786ef9e9e1ebb3d
Reviewed-on: https://gerrit.instructure.com/123680
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
2017-08-31 21:29:14 +00:00
Pam Hiett 6cb9dee2ee bump inst-icon version in canvas from 4.2 to 4.3
Fixes: CNVS-38904

test plan:
- local environment set-up... since this is updating our
  icon dependecy you will need to remove /dist folder and
  re-compile all the things prior to viewing
- once all things are up and running - navigate to a course
  select an assignment... if it's pubished click to unpublish
  so you can see the "updated unpublish icon"
- example of new view: https://screencast.com/t/n5TSgNXpCSr

Change-Id: I42fb39a3856ee331460623a8964818c0925f32f4
Reviewed-on: https://gerrit.instructure.com/124362
Tested-by: Jenkins
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
2017-08-31 14:32:27 +00:00
Ryan Shaw 57f025163b dedupe things in yarn.lock
this will make it so all of our bundles share one copy of:
axios, browser, react-redux, redux-thunk. uuid, core-js etc.

it will make it so users have to download less bytes of javscript
in their webpack bundles


test plan:
make sure pages that use axios work.
automated specs should pass

Change-Id: If3698452e3d6f1095997bd97505efc11ae05c678
Reviewed-on: https://gerrit.instructure.com/124266
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-08-29 17:20:06 +00:00
Cameron Matheson 9fab292083 add prettier and config-eslint-prettier
Change-Id: I16b8e5337435136e6b8ea1e1f7edb05612d8a2aa
Reviewed-on: https://gerrit.instructure.com/123269
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
Product-Review: Cameron Matheson <cameron@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
2017-08-24 16:41:57 +00:00