closes: CNVS-37030
Test plan:
* the student dropdown menu in Speedgrader should still work
Change-Id: Icb7464188b4480e07356521609108caffc5c6f5e
Reviewed-on: https://gerrit.instructure.com/112310
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
closes FALCOR-265
Test Plan:
- Enable planner feature flag
- Switch to list view dashboard
- Have several assignments with due dates
- Notice that the assignments show up
Change-Id: I235795b86b704fd33d8f0ba82a874c89e9c3348d
Reviewed-on: https://gerrit.instructure.com/111723
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Mary Jane Anderson <manderson@instructure.com>
fixes CNVS-36648, closes INSTUI-421
Test plan:
The following areas of Canvas are affected by this upgrade:
- High contrast mode and theme editor branding
- blueprint courses
- conditional release stats
- student context cards
- new user tutorial
- course home dialog
Change-Id: I5d7128e4ebf88a34342ffcb99d4ccf7dd839b2f7
Reviewed-on: https://gerrit.instructure.com/111443
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Tested-by: Jenkins
closes CNVS-28612
test plan:
- test in legacy editor and with rcs enabled
- insert a table
- click table properties icon at bottom left of table context menu
- shift+tab to move focus back to tabs
- should indicate focus with a box outline in the tab
Change-Id: I547d2c204dab670ecfe3208c442a7250c40204ab
Reviewed-on: https://gerrit.instructure.com/111626
Tested-by: Jenkins
Reviewed-by: brian kirkby <bkirkby@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
closes FALCOR-245
Test Plan:
- Enable planner feature flag
- Go to dashboard and switch to List View
- You should see the planner header items (+ and bell) in the
top right
- There should be a spinner in the middle
- NOTE: At this point, the spinner will not go away and will
remain because the API is not in place yet.
Change-Id: Id9f3f0c678ec295976b8e29d0092a96fbfec089d
Reviewed-on: https://gerrit.instructure.com/111479
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
closes: CNVS-36810
I’m working towards turning on babel for public/javascripts
And so instead of having to worry about selectively adding excludes
For things in public/javascripts/vendor that we haven’t modified,
I’m just moving things out of there.
Test plan:
* Nothing should change
* run compile_assets
* the flash widget for the video/audio recording in the rce editor
should work exactly as before.
Change-Id: Iaa85df60c82a354b05864156a68418f14b332a23
Reviewed-on: https://gerrit.instructure.com/111112
Tested-by: Jenkins
Reviewed-by: brian kirkby <bkirkby@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
also uses new npm module for the tinymce-light-skin
closes CNVS-30080
test plan:
- turn off RCS features for tinymce
- thorough test of the tinymce editor in all locations
- one visible added feature is to create a table and look
for the table context menu
Change-Id: If0396e79ffd58cab6ba6ec45a871f477a3f1feba
Reviewed-on: https://gerrit.instructure.com/107020
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: brian kirkby <bkirkby@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
closes: CNVS-35923
test plan:
* all specs should pass
* if you open your devtools there should still be a $ and jQuery
variable globally available for you to use
* check to make sure that the client_app quizzes stuff works.
* e.g.: go to view a quiz’s stats as well as quiz log auditing
Change-Id: Ibcb55c8f319fc02974814452273aea5af793b205
Reviewed-on: https://gerrit.instructure.com/106474
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
- fixes known bugs
- includes additional translations
closes CNVS-36607
test plan:
- enable RCS
- add image to text area
- select the image and then add a new image to replace
- select the image and add a link with the link button
and or Links panel
- verify the image links to the correct link
- while editing a page, select an existing image
- fromt he Images tab on the sidebar, upload a new image
- verify that it replaces the selected image with the new image instead
of hyperlinking the old image to the new image
Change-Id: I2f9eff61a1d40ca989efb07b56bee9d60dd70e41
Reviewed-on: https://gerrit.instructure.com/110260
Tested-by: Jenkins
Reviewed-by: brian kirkby <bkirkby@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
fixes CNVS-36568
Test plan:
The instructure-ui patch release fixes an issue with the TabList component
which is used in the following areas of Canvas:
- Conditional release
- Account user search
Change-Id: I9f72fcda1e035401fd11f36ce612e00f55b4a490
Reviewed-on: https://gerrit.instructure.com/110189
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
- prevent navigation to unselectable assignees
- remove tabindex from non-form field
closes CNVS-35509
Test plan:
Change-Id: Ic65585caced5502e54dbdf8bb05b81387737e411
Reviewed-on: https://gerrit.instructure.com/109407
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Leo Abner <rabner@instructure.com>
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
test plan:
Run yarn
Run it again,
it shouldn’t take more than a couple seconds
Change-Id: I0ceeccac6ef1036fc99628c19afb9f18edeb8939
Reviewed-on: https://gerrit.instructure.com/109265
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
closes CNVS-33443
test plan:
- regression test RCS editor and sidebar
- up to level 2 feature flag
- do not need to test with high-risk flag (yet)
Change-Id: I92f9282d655203f6b76e7667d4e00cbcc147db6e
Reviewed-on: https://gerrit.instructure.com/107130
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
closes: CNVS-35498, CNVS-36371
- New icon
- Better SVG support
- PopoverMenu bug fixes
Test Plan:
- Make sure icons show up
- Make sure icon-external-link works (you can do this by
just changing a class name on any icon in inspector)
- Regression test areas that use instructure-ui
Change-Id: Ib43d0698571f8e22a2977cde5e9bbdfc1e6acf40
Reviewed-on: https://gerrit.instructure.com/108745
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Pam Hiett <phiett@instructure.com>
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Tested-by: Jenkins
QA-Review: Dan Sasaki <dsasaki@instructure.com>
closes: CNVS-36233
webpack adds a fingerprint to the filenames that it outputs, which
means that if the content changes, the filename changes. so over
time, unless you manually know to rm -rf public/dist/webpack*
periodically, you'll start accumulating a ton of javascript files
in that dir that you don't need which can slow down your editor's
grepping, take up a ton of space, and confuse you. this change makes
it so right before webpack emits all of the new bundles, it cleans up
the ones that were there. it only cleans up the ones in the dir it is
outputting to, so you can still have prod bundles in
public/dist/webpack-production/ and dev bundles in
public/dist/webpack-development
test plan:
* run webpack before you check this out
* check this out
* run yarn then run webpack again
* you should see something in the webpack output like:
WebpackCleanupPlugin: 220 file(s) deleted.
* and there should be only one copy of each bundle in the
public/dist/webpack-development dir.
Change-Id: Ide7a7f53c255c7aa5ad09fb4ff0bcfd7436b2852
Reviewed-on: https://gerrit.instructure.com/108147
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
closes: CNVS-35924
Test plan:
webpack && bin/rspec ./spec/selenium/interactions_report_student_spec.rb:33
Should pass.
Also, go to that page and verify that you
Can click on the column headers and sort by that
column
Change-Id: I68227ea44b44ee33ce2d1078299b2f62e52bd058
Reviewed-on: https://gerrit.instructure.com/106513
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
fixes CNVS-28479
when a course has more than 200 students (so not all are prefetched) and
an adhoc assignment override specifies more than a page size (default
10) of students, it's possible for some students in the override to be
neither prefetched nor in the first page of results when fetched by ID.
make sure to fetch all pages of results when fetched by ID.
also make the 4 prefetch requests happen serially, and only once the user
begins interacting with the component (hover or focus). this way we don't
fetch more than we need to in small courses, and we don't fetch anything
if the teacher isn't using this part of the UI (generally the case). this
has the added benefit of speeding up selenium specs, as it has only one
server thread and the `get` waits for all ajax requests to complete
test-plan:
part 1:
- have a course with at least 201 students
- have an assignment in that course with an override that specifies 11
students
- have the 11th student specified for the override be the 201st student
in the course
- edit the assignment
- confirm you see the name for the 201st student (11th in override)
instead of "Loading..."
part 2:
- have a course with 51 students
- go to edit a new assignment
- confirm no /users ajax requests happen initially
- focus the "Assign to" widget so you can manage overrides
- confirm there are 2 ajax requests for /users
- confirm you see 7 students in the dropdown (either immediately or
with a very slight delay, depending on whether you clicked or
tabbed into the widget)
- confirm you can search for any of them without additional ajax
requests
Change-Id: I47ed202eb0d8ac1ad9e4ad21e50ceae930a6f3fe
Reviewed-on: https://gerrit.instructure.com/106693
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Leo Abner <rabner@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
test plan
* Specs should pass
* Load up gradebook and everything should work
Change-Id: I5734e9262244154c495725f89d92841547aba473
Reviewed-on: https://gerrit.instructure.com/106662
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
Product-Review: Shahbaz Javeed <sjaveed@instructure.com>
QA-Review: Shahbaz Javeed <sjaveed@instructure.com>
Fixes: CNVS-35540
test plan:
Since this upgrades the coffeescript compiler version,
it changes the format of the code that it generates so it has
the possibility to break things in a strange way if someone was
doing something in a way that was not actually supposed to be
supported as part of the coffeescript language spec or if we
run into a weird edge case of the compiler doing one thing before
but doing it in a way where our code breaks now. Having said that,
since there is no specific place where we intended things to change:
* automated specs should pass
Change-Id: I0630c25db7f97e69675992bba2ebccfdaf918ed3
Reviewed-on: https://gerrit.instructure.com/104677
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Test Plan:
- InstUI components in canvas should behave as before
Change-Id: Icf74b119347d1af7d037abe6bed1cab655ca4a48
Reviewed-on: https://gerrit.instructure.com/104670
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Dan Sasaki
Product-Review: Colleen Palmer <colleen@instructure.com>
closes: CNVS-31785
test plan:
all builds should pass
Change-Id: I2925934692a3d2f115f1289d7b50cb72d8cb907f
Reviewed-on: https://gerrit.instructure.com/104492
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
fixes CNVS-34969
test plan:
- go /profile/settings and turn on high contrast
- go to the course people page (/courses/#/users)
- click on the +People button
> expected result: the modal honors high contrast
- enter some text in he text area
> expected result: nothing bad happens, as the event
handler for TextArea has changed.
- there's a TextArea in MessageStudents also, but I don't
know where to find it in the UI. You should probalby
test it doesn't blow up either.
Change-Id: Ia8102dacfa2b01ee043002ee0f5c27943abe5743
Reviewed-on: https://gerrit.instructure.com/102133
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Dan Sasaki
Product-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
fixes: CNVS-35414
the actual changes are here:
https://github.com/ryankshaw/brandable_css/commit/1fa1c2bc10c
Test plan:
Before checking this out, run:
rm -rf public/dist/brandable_css
RAILS_ENV=production node_modules/.bin/brandable_css
rm public/dist/brandable_css/brandable_css_*
cd public/dist/brandable_css/
git init .
git add .
git commit -am “original”
cd ../../..
Check this out, then run:
yarn install
RAILS_ENV=production node_modules/.bin/brandable_css
rm public/dist/brandable_css/brandable_css_*
cd public/dist/brandable_css
git diff
There should be no difference
to test the S3 stuff still works:
* set up your config/cavnas_cdn.yml file with a valid s3 bucket
* run `brandable_css`
* pull up a canvas page.
* the css should show up right and should be coming from your
cloudfront url
Change-Id: Iee1a7a916c3f17341adf513c2981b018420f7c16
Reviewed-on: https://gerrit.instructure.com/104016
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
this does make xsslint about 10x slower, since:
1. babel is slower than acorn
2. we now have to coffeescript everything on the fly
will revisit perf in another commit
Change-Id: I2ddad309d1921ba6a4e15cd79d3d8bd956a7e403
Reviewed-on: https://gerrit.instructure.com/103850
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Landon Wilkins <lwilkins@instructure.com>
Closes: CNVS-35152
This changes all our tooling that used `npm` to
Run scripts to use `yarn`. `npm` will still work
for now but if you have yarn installed, it will use
that.
Cheat Sheet:
old command -> new command
npm install -> yarn install (or just `yarn`)
npm run webpack -> yarn run webpack
npm test -> yarn test
See more at https://yarnpkg.com
Test plan:
* all Jenkins builds should pass
* without yarn installed:
* run script/nuke_node.sh
* it should work and warn you about how `npm` is deprecated
* now install yarn, e.g.: `brew install yarn`
* run script/nuke_node.sh again
* it should work and you should see silly yarn emoji
in the output and it should be a lot faster
* the docker changes I made should work and docker should
build correctly and use yarn.
Change-Id: I4aa31eeae3ecc504634a7c72a1ea0d3396f445e3
Reviewed-on: https://gerrit.instructure.com/102969
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>