refs FOO-1116
flag = none
verified contents of public/dist/ are intact across versions with a cmd
like this:
find ./public/dist -type f -exec md5sum {} + | awk '{print $1}' | md5sum
== TEST PLAN
run "npx gulp rev" and verify it still works
== BONUS TEST PLAN
wipe out node_modules/, run "rake canvas compile:assets" and verify that
still works.
Change-Id: Ie072e415a89478e58a98b04b7826f974ba63f904
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253041
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
closes LS-1621
flag=none
Strictly speaking, the bug this fixes was addressed by updating
the <Select> in the RCE's Filter component by changing it to
<SimpleSelect>, but there was a bug in an earlier version that
had me update instui v7 components in canvas to the latest versions.
You need to run yarn (canvas:compile_assets does this for you), or
maybe even nuke_node before moving forward.
test plan:
- in the RCE, open the content tray (e.g. Documents > Course Documents)
- use the keyboard to navigate thru the filter area
- use arrow keys to open the various dropdowns and make changes
> expect it to work, and for the tray not to unexpectedly close
Change-Id: Id48441ef51ca2053b2b4b4cae27b90fcab6f4308
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/252965
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Test Plan:
- View the component in Storybook
- The passed in data should render, matching designs
- The action buttons should fire their callback with the selection
closes VICE-845
flag=react_inbox
Change-Id: I5a894cdeea8fea8618243b63aa00bcf209b069c2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/252162
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
QA-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
fixes VICE-849
flag=react_inbox
Test Plan:
- Navigate to the canvas_inbox directory and run yarn install && yarn
storybook
- In storybook look at the `Message Action Buttons` component
- Clicking the buttons should cause an action corresponding to the
button pressed to appear in the actions panel in storybook
- Each action should have a tooltip
- Toggling the disable options in the component controls should disable
the appropriate action button
- Toggling the `isSubmissionComment` option in the controls should cause
only the reply action to be rendered
Change-Id: I8fe83861aa9a1d036c644b5746c9c32ee38760b8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/251774
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
QA-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
flag=react_inbox
test plan:
- Open storybook
- Test that clicking input works
- Select a new mailbox,
- See the output of callback in actions
qa risk: low
Change-Id: Id7c09191cccde8342cd01cbac7c47a99785d5b25
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/250338
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
QA-Review: Matthew Lemon <mlemon@instructure.com>
Product-Review: Matthew Lemon <mlemon@instructure.com>
fixes VICE-930
flag=none
Tests are not currently enabled on the CI build,
that work will come later.
test plan:
- run tests locally
> cd client_apps/canvas_inbox && yarn test
qa risk: low
Change-Id: I43cf6342c0f3b160302d283c2115ee69fe5dbe21
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/250347
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
QA-Review: Matthew Lemon <mlemon@instructure.com>
Product-Review: Matthew Lemon <mlemon@instructure.com>
Test Plan
1. Pull down code
2. Navigate to client_apps/canvas_inbox
3. Run `yarn`
4. Run `yarn storybook` to open Storybook at port 6006
Note:
- There are examples in this commit to help the team get started with storybook
- Examples can be easily deleted and should be once a few components are started
Change-Id: I5a8cb17053d7cf7ca1a69537f068dccf9be80bb7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/249896
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
QA-Review: Matthew Lemon <mlemon@instructure.com>
Product-Review: Matthew Lemon <mlemon@instructure.com>
This only applies to uploading images, not other media
like videos and files. Those should be handled in a
separate patchset.
This also only appears when the "Require Usage Rights"
course setting is enabled.
When "Require Usage Rights" is enabled, the Usage
Rights accordion should be expanded already. When it
is not enabled, the Attributes accordion should be
expanded.
For some reason, the Session properties were never
being fetched, so this adds some code to fetch the
session when the upload modal mounts. The session
includes the boolean for whether usage rights are
required.
Test Plan
Turn on RCE Enhancements.
For a course, turn on the "Copyright and license
information must be provided for files before they
are published." setting on the front page of the
course settings.
Open up an RCE.
Open the upload modal. The "Usage Rights" box
should appear beneath where the file upload is.
It should be expanded.
Upload a file and adjust the settings in the
usage rights section.
Go to the Files page and find the file that you
just uploaded.
On the right side of the file's row, it should have
your file's usage rights data listed correctly.
Refs LS-324
flag = rce_enhancements
Change-Id: Ie1f9beccc3d28dc9eb37c59c5166cd13e6fe91af
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/244618
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
closes LS-1377
flag = immersive_reader_wiki_pages
Test Plan:
- Enable immersive reader.
- Because there doesn't seem to be a way to run this locally
(without consul), I had to temporarily modify the
immersive_reader_controller.rb and added
prod creds to get this to test. see me for more details
Change-Id: Ifaa7edfa94ff29856ae6b474548e0f450b9d4c6c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/245869
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Clint Furse <cfurse@instructure.com>
This change bumps the ui-media-player from v5 to v7.
I also found a bug in the logic for retrying fetching the video sources
that's fixed here so we don't call fetch unneeded extra times. Learned
a lot about the interaction between useEffect and timers used to retry
actions.
Updated the @testing-library components in canvas-rce. waitFor in the new
version uses a mutation observer, not just a timer which helped make specs
more reliable.
Also did some significant rework of CanvasMediaPlayer.test to get it to
pass, especially without a bunch of react or testing-library warnings.
With PS13, I finally figure out how to listen for the onLoadedMetedata
out of <MediaPlayer> without having to reach under the hood and grab
the <video> element
closes LS-1077
flag=none
test plan:
- audio and video still works, but with the new player
- record a longish (30s+) video
> expect to see the
"Your media has been uploaded and will appear here after processing"
message, and for the video to eventually play.
- record or insert a portrait oriented video
> expect it to be letterboxed in the player
- record or insert audio
> expect it to be loaded in the player
Change-Id: I797e6f16e763d7029eaf19149439e973590e978c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/244463
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Anderson <raanderson@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
refs SAS-1540
* adds an audience setting to developer keys, so a key can be set to
target external audiences with its credentials grants
* when a key with an external audience grants credentials, the token is
signed with an asymmetric key instead of the internal symmetric key
* external audiences can retrieve the corresponding public keys from
/login/oauth2/jwks
* credentials issued by developer keys with an account id include the
account's guid in a custom claim
includes a refactor of key storage and rotation in consul, which had
already been done for LTI. but it wasn't really a feature of lti, just
something used by LTI, and we needed the same for key management for
this. moved it to be part of Canvas::Security
Change-Id: Ie5c0fcee6fc21687f31c109389a3bcc1ed349c5d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/243606
QA-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
It also allows editing other a11y features, like making
the image presentational or embedding it as a link.
It splits out the Image Options form from the editor tray
to avoid copy/pasting too much. The logic and state are
still separated between the upload and edit forms, since
they don't overlap super well.
It also edits the logic around uploading and embedding
images to support the extra attributes.
A few Jest tests were added to check for appropriate
attributes being added.
Test Plan:
With RCE Enhancements enabled, visit an RCE page
Open the image upload modal and choose an image
Notice the image attributes form underneath.
Add alt text. Adjust the other attributes as desired.
Upload the image
Open the Raw HTML Editor.
Notice that the alt text is added to your image, along
with whatever other attributes you changed.
Decoration Images are given the `role="presentation"`
attribute; Display As "Link" embeds the image as a
link.
Fixes LS-445
flag = rce_enhancements
Change-Id: I462e2c322a3b39fc4fa9f47b675426c581c3a398
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242736
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
Test Plan:
-inspect avatar on inbox message is rendered from inst-ui
fixes VICE-17
flag=none
Change-Id: I92941e079b63a3a60468e1e894059c20e15b1251
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/241435
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
QA-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
The canvas_quizzes dependency for grunt-template-jasmine-requirejs used
the git protocol (`git://`). This is an issue when trying to build in a Docker
environment AND when behind a corporate firewall. Git can be configured
to prefer `https://` instead of `git://`; however, this configuration
takes place in the host's gitconfig file and isn't visible to the git
implementation inside a container (unless you mount your host's
gitconfig inside the container, which may or may not be desirable).
This commit changes canvas_quizzes' package.json file to use `https://`
instead of `git://`. This resolves the issue of not being able to fetch
the dependency from inside a container whilst behind a firewall since
Docker will pick up the `https_proxy` environment variables from the
host and use the proxy to fetch the dependency via https.
Test plan:
- check out the repo
- run `yarn`
Expected result:
- all dependencies should be fetched without issue
Change-Id: I866ae05b120c190bfe268b936fb873f5fdc98e75
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/241575
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
closes LA-991
flag=rce_enhancements
Replaced a few toolbar icons with the instui versions for consistency.
test plan:
- specs pass and everything still works
Change-Id: Ibb488d6df2457f2e41138e40b3b3d9469eb68215
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239388
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
closes LA-729
flag=rce_enhancements
The original intent for the audio player was to size it so the buttons
just fit. This ignored the fact that it's rendered w/in an iframe,
so popup menus are clipped. This change sizes the player to leave
room for those popups.
While the ticket was written against the audio player, the same issues
may occur in the video player, either for portrait videos or videos < 400px
wide when closed captions are present. The original code for
sizing the video player shrank the width to fit
thea video's size, which clipped the buttons. This change sets a minimum
width for the player and letter-boxes the video.
test plan:
- in the new rce
- add an audio file
> expect it to be wide enough to show all the buttons and
tall enough for the speed and volume popups
- add a vertical video
> expect the video sized to fit in the available space in the Computer
tab of the Upload Media modal
- Submit to upload
> expect the player to be wide enough to show all the buttons
- click the fullscreen button
> expect the video to be the height of the screen and letterboxed
- restore to windowed size
> expect the video to return to its letterboxed size
- click the video, then the Options button
- change the video's size
> expect the video to remain letterboxed
- add a horizontal video
> expect the video sized to fit in the available space in the Computer
tab of the Upload Media modal
- submit to upload
> expect the player to be sized to the size of the video
- fullscreen
> expect the video to be letterboxed in the fullscreen player
(if the aspect ration of the video !== that of your monitor,
or fill the screen if they match)
- for the horizontal video, select Opitons and
change the size to be "medium" or "custom" and < 400px wide
and add subtitles
> expect the video to be letterboxed in a 400px wide iframe.
Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Anderson <raanderson@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
closes LA-995
flag=none
1. unify the instui ui-babel-preset options across sub-packages
2. include "@instructure" as part of each sub-package name
3. unify the commonjs and es module directory structure
4. use index.js to export anything needed to be imported from
outside the package. This removes any dependency on the
package's internal directory structure and makes importing
independent of commonjs vs es module simple
5. move canvas-rce's main entry from async.js to index.js
(I'm 98% sure index.js was an artifact of the old rce)
test plan:
- canvas-lms builds locally and in docker. (Jenkins builds
the docker image, so I presume if it passes jenkins,
the docker build wasn't broken)
- sniff test the result, esp. student planner and the new rce.
- yarn build:watch from canvas-rce, canvas-planner, and
canvas-media packages should work, and yarn build:watch
from canvas-lms should pick-up any changes.
(I've verified this by finding a console.log statement
and changing the message then use devtools to see it's in
the new source after refreshing the browser)
Change-Id: I5f242d06ad655597cd416057d4b740d4bd86003b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238603
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Anderson <raanderson@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
closes OUT-3593
flag=outcome_alignment_non_scoring_content
Test plan:
- with quiz_api, outcomes, canvas running,
provision outcomes for account
- in canvas rails console:
Account.first.provision_outcomes
- in a course, create some outcomes and groups
- sync canvas outcomes to outcomes service
- following instructions in outcomes-service canvas.rake
re: canvas docker-compose config, run in outcomes-service:
dc run --rm api bundle exec rake \
canvas:dump_canvas_data[outcomes.docker,db.canvas.docker]
dc run --rm api bundle exec rake canvas:sync[outcomes.docker,true]
- enable "Outcome alignment to non-scoring content" FF
- create canvas course with wiki page
- on wiki page show page, add outcomes to the page
- verify that outcomes are retained on reload
- in another course without outcomes, verify that outcomes widget does
not appear
Change-Id: Ie3af07642d818eaa529bff76b1ac7d81e575622b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235665
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Augusto Callejas <acallejas@instructure.com>
Product-Review: Jody Sailor
Refs USERS-549
flag=none
This will be used in places where responsive components
may have performance issues due to complexity.
Test plan:
* build passes
Change-Id: Icce432352b5eb5118fc258b7c2f0e3c730eaae86
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236255
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
This reverts commit d3d7ebf2c1.
Reason for revert: Merged after rebasing but before Jenkins finished building
Change-Id: I86783eb8f555ab4948b9a16937c08ee4871c96c0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236002
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
flag=canvas_k6_theme
Closes UXS-95
Test plan:
1. Turn on RCE Enhancements and Canvas Elementary Theming flags
You can turn them on at the admin level
You can turn them to 'allow' at the admin level
and on at the course level
2. Navigate to any page with RCE. Ex. Syllabus tab in any course
3. Edit the RCE content. By default,
the font should be Architect's Daughter
4. Open the hidden menu (Option + F9)
5. Select any other font (Format > Fonts > [font])
6. Add an additional line to the RCE content
7. Close the editing mode
8. The text should be in the fonts in which it was typed
Change-Id: Ia5dc5d2fbd0e042310b687a1d865a0804d95ef5d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233850
Tested-by: Laura Gonzalez-Horwitz <lgonzalez-horwitz@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Closes: CCI-351
flag = none
Test Plan:
- no behavioral changes
- build passes
Change-Id: I2e6bfa46b56ee2b59b8289fc90ef9c319757fc34
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235566
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Fixes: CCI-352
This resolves an issue with a plugin which includes it explicitly and
then changes the yarn.lock. This gets both package.json files in sync.
Test plan:
- yarn.lock does not change with or without plugins present
flag = none
Change-Id: I48452b2c542476b42cf1aae80605e267d0c62819
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235769
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
instui -> 6.24.0
@instructure/media-capture -> 7.1.0
the update to @instructure/media-capture is necessary to
fix the audio recording bug described in LA-859. This change
required a bump to INSTUI's version. Both updates are rolled
into this change.
closes LA-595
flag=none
test plan:
For the audio recording part:
prereq: have notorious running. you must be loading canvas
from localhost unless using https in order to enable
the mic and webcam.
- create or edit something with the rce
- select Media > Upload/Record media
- change to the Record tab
- click on the "WebCam" button and select "No video"
- record some audio and save
> expect the audio to be uploaded and appear in the RCE
- go to the speedgrader for a graded object
- click on the Media Comment button
- click on the "WebCam" button and select "No video"
- record some audio and save
> expec the audio comment to be uploaded and playable
For the instui upgrade part:
- make sure everything still works as expected
- check with instui changelog for changes since 6.21 for guidance
This commit reverts commit 7ede798549,
which reverted 81d493b722
which was prematurely merged.
Reason for revert: get the oritinal patchset back in the queue,
but hold off merging until after beta is cut from master. This
will give the INSTUI change a chance to soak in dev for longer
than the weekend before being deployed
Change-Id: Iada67ee10a796e4b4b967b27a64f3e527e78249a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233037
Reviewed-by: Charley Kline <ckline@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
In the interest of time, we imported the canvas FileBrowser
into canvas-rce by dot-dotting our way out of our package. This
kept canvas-rce from building outside canvas-lms. The CI team
needs this to work so that they can integrate snyc into out build
process. While we will eventually get the RCE working outside canvas,
this change doesn't do that, but does let it build.
closes LA-927
flag=none
test plan:
- in the RCE, document > course documents
- in the tray, switch from "Documents" to "All"
> expect the file browser to populate with all your files
and to work like before
- have file name with diacritic marks and other non-English
characters
> expect the files to be correctly sorted by name according
to the user's locale
to help 'ä' sorts before 'z' with locale 'en' or 'de' (german)
'ä' sorts after 'z' with locale 'sv' (swedish)
Change-Id: Ifa348a77525c6e8af7611cf14b96510ce4ddd7f4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234251
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
instui -> 6.24.0
@instructure/media-capture -> 7.1.0
the update to @instructure/media-capture is necessary to
fix the audio recording bug described in LA-859. This change
required a bump to INSTUI's version. Both updates are rolled
into this change.
closes LA-595
flag=none
test plan:
For the audio recording part:
prereq: have notorious running. you must be loading canvas
from localhost unless using https in order to enable
the mic and webcam.
- create or edit something with the rce
- select Media > Upload/Record media
- change to the Record tab
- click on the "WebCam" button and select "No video"
- record some audio and save
> expect the audio to be uploaded and appear in the RCE
- go to the speedgrader for a graded object
- click on the Media Comment button
- click on the "WebCam" button and select "No video"
- record some audio and save
> expec the audio comment to be uploaded and playable
For the instui upgrade part:
- make sure everything still works as expected
- check with instui changelog for changes since 6.21 forguidance
Change-Id: I322b57f4addca16c989feeb9b74a1fc3f8c775e5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234155
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
closes LA-898
flag=assignment_bulk_edit
test plan:
- Edit many dates and save
- The job should start and a progress bar should be displayed next to
the cancel button
- The job progress should be polled and the progress bar updated
- When the job completes, polling stops (see network tab), the progress
bar should be at 100%, and a success message should be displayed.
- There should be appropriate screen reader announcements.
- If there are any errors during the job, polling should stop and the
error messages should be displayed.
Change-Id: Ifd9ec6224318a003317a66ce2460ccf3e9d45efa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233136
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
closes LA-847
flag=assignment_bulk_edit
test plan:
- Assignments and their overrides should be displayed with their dates
- Each date input should function and work independently
Change-Id: Ia2206bcae8b462535e3bcc99bf024bfaae39bc3e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230953
QA-Review: Anju Reddy <areddy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Since instructure-ui has published version 6.22, any developer who runs
`yarn` will result in a modified `yarn.lock` file. To prevent accidental
upgrading from 6.21 to 6.22, it would be prudent to pin these
dependencies in the `package.json`. This also is a good idea to help
reduce any confusion around _why_ the yarn.lock is being changed locally
as well.
Fixes: CCI-302
Test plan:
- manually verify no changes to the `resolved` fields of each
git-changed package. Since this pins all instui deps, they should all
be exactly the same.
- manually verify there are no @instructure prefixed packages that are
version 6.22
Change-Id: Id1c061bc60f1922d330cfafab00b4ddc9e09f9ab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232255
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: Benjamin Christian Nelson <bcnelson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
The thrust of this commit is to implement a CanvasDateInput on top of
instui's DateInput field. The bulk editing table is just an instance
of it to test with.
closes LA-835
flag=assignment_bulk_edit
test plan:
- go to the assignment bulk editing page
- play around with the single date input component
- selecting dates from the calendar
- typing in dates
- typing invalid dates
- blank line
- keyboard navigation
- screen reader
- play around with your user locales and timezones and expect correct
behavior showing the proper dates
Note that VO reads the date twice when you navigate with the keyboard. I
believe this is because it is reading the input value change and the
selected calendar date. I don't know that there's much to do about this.
The demo on instui's page does the same thing.
Change-Id: I9c66ccaa746fb91fecd20362e00a927c57f491b5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230609
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Refs UXS-49
Refs USERS-459
It will be generally useful to be able to use the InstUI
Responsive component to deal with browser breakpoints in
React. The immediate use case is something I'm working on
in multiple-root-accounts but it needs to be in core
Canvas.
Test Plan:
* You agree that the changes here, especially what happened
to yarn.lock, are kosher.
Change-Id: Icad7db3de7fef94dd1eb292b02b30014a0facbd4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232023
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chris Hart <chart@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
Uses the "Product Tour" feature flag to selectively load
the bundle. It also grabs the user's role to only show
the tour to teachers. Admin and Student tours coming
soon.
To properly facilitate communication between the Navigation
component and the Tour component, I created a
simple PubSub engine which allows components to pass
messages between each other in an efficient and clean way.
This allows the tour to open the nav trays at certain
points in the tour.
Whether the tour shows is determined by a localStorage
key, set on the users browser. When they close the tour
if turns the flag on and uses that to now automatically
show the tour again.
The key is "canvas-tourpoints-shown-teacher"
This patchset also includes an update to the help links.
If the user is a teacher, it shows the "Show Welcome Tour"
link, allowing the tour to be re-opened from the help tray.
Test Plan:
Log into Canvas as a teacher
The tour should appear. Navigating through the tour properly
opens and highlights items in the navigation trays.
Reloading the page after closing the tour completely should
cause the tour not to appear. Removing the localstorage
key should cause the tour to reappear.
It should look like the designs linked below.
https://www.figma.com/file/BzfJcEbBaccu5lMsaZ08zK/Canvas-COVID19-Tourpoints?node-id=8%3A33
Refs UXS-22
Change-Id: I1164bc1fbe55fa5cbb5f4a9df271a0dcd772f045
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230614
QA-Review: Daniel Sasaki <dsasaki@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Laura Leavitt <lleavitt@instructure.com>
flag=none
closes UXS-8
Adds new content (copy and links to Canvas Guides), as well as
updated images for each of the existing new user tutorial trays.
Test Plan:
Verify that the trays work as follows:
- All links should correctly resolve to the Canvas Guides page
they name
- All trays should feature a Panda image
- All tray should open and close, and should be able to be
dismissed permanently (no regressions from existing functionality)
Check the following index pages for trays: Announcements, Assignments,
Collaborations, Conferences, Discussions, Grades, Course Home Page,
Course Import page (under Settings), Modules, Pages, People, Quizzes,
Settings, Syllabus. There is a tray for Files, but it seems to be removed
from the Files index page on page load (not a result of this commit).
Change-Id: I873fdf9ceb6097d987f3e7da38e5fd615c1d98ea
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230372
QA-Review: David Tan <dtan@instructure.com>
Reviewed-by: Pam Hiett <phiett@instructure.com>
Product-Review: Pam Hiett <phiett@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Closes USERS-336
flag=none
Test plan:
* should be wrung out in beta
* can someone please test the CanvasMediaPlayer in the RCE?
I saw some weirdness there and had to skip a test.
Change-Id: I1663466aa411fc5e98e2a5e4f7384eb151364817
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/228277
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: August Thornton <august@instructure.com>
closes OUT-3401
flag = none
test plan:
- check out/update canvas plugins needed for sharding:
* multiple_root_accounts
* demo_site
* canvas_geoip
- check out/update canvas plugin needed for provisioning:
* uuid_provisioner
- check out/update quiz repo:
* quiz_api
- check out/update outcomes service:
* outcomes-service
- add the following to the postgres container section
of your docker-compose.override.yml in canvas:
===
ports:
- "5432:5432"
environment:
VIRTUAL_HOST: db.canvas.docker
===
- update canvas configuration by adding example
dynamic_settings to existing config/dynamic_settings.yml
and by copying example uuid_provisioner.yml
- in canvas rails console, enable the auto provision setting:
> Setting.set('auto_provision_outcomes_service', 'true')
- start up canvas, outcomes-service and quiz_api
- create a new root account from canvas siteadmin
http://canvas.docker/accounts/site_admin/root_accounts:
* account name: outcomes
* account domain: outcomes.canvas.docker
- after a few minutes, verify in the outcomes rails console that a new
shard has been created and registered for the second account, but
not the first
> ap AccountRegistry.all
- create a course with outcomes in outcomes.canvas.docker
- in the outcomes api docker container, dump canvas data and sync
into the provisioned outcomes shard:
> bundle exec rake canvas:dump_canvas_data[outcomes.outcomes.docker]
> bundle exec rake canvas:sync[outcomes.outcomes.docker,true]
- enable the outcome alignment feature flag:
- http://canvas.docker/accounts/site_admin/settings
- Feature Options tab
- Find "Outcome alignment to non-scoring content" feature flag
- Switch to "ON"
- return to course created in new canvas account
- create a canvas page in the course
- load the newly created canvas page
- confirm that an outcome alignment widget appears, and that
it opens a side tray with course outcomes when attempting to align
Change-Id: Ide6891493ea3c926d155d4aea9bc7aff5bdaa6fb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/227463
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
QA-Review: Michael Brewer-Davis <mbd@instructure.com>
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
refs KNO-265
flag=confetti_for_assignments
Moving Steven's POC (https://gerrit.instructure.com/c/canvas-lms/+/224811)
to the original assignments implementation.
A followup commit will introduce the screenreader text as this commit
is already getting large, and there has been a few difficulties on
adding that behavior already.
test plan:
- with confetti_for_assignments flag disabled
- turn in a submission for an assignment before the due date
- you should be redirected to /courses/:id/assignments/:id
- no confetti should display
- visit /courses/:id/assignments/:id?confetti=true
- no confetti should display
- with confetti_for_assignments flag enabled
- turn in a submission for an assignment before the due date
- you should be redirected to /courses/:id/assignments/:id?confetti=true
- confetti should display
- turn in a submission for an assignment after the due date
- you should be redirected to /courses/:id/assignments/:id
- no confetti should display
- while confetti is displayed
- you should be able to clear by pressing either `space` or `esc`
- confetti should clear itself after 3 seconds
qa risk: low
Change-Id: Ie7743af9e2341eab26fbc3055e90bb0658463018
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/225929
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Johnny Le <jle@instructure.com>
Product-Review: Johnny Le <jle@instructure.com>
QA-Review: Johnny Le <jle@instructure.com>
Closes USERS-205
flag=none
Also had to make a slight tweak to a Canvas Planner file to reflect
a change in ui-forms -> ui-checkbox
In addition, several imports from InstUI had to be changed from
their legacy locations to their currently-documented ones, in
order for all the tests to pass. Using the old import sources
apparently causes two components of the same name to be rendered
which breaks assumptions in some tests that there will be only one.
Eventually we'll have to fix up all the imports which will be a
bit of a slog.
INST-UI changes notes for 6.16.0:
---------------------------------
Bug Fixes:
ui-a11y-utils: fix ui-a11y-utils dependencies
ui-docs-client:
remove unnecessary import of ScreenReaderContent
ui-modal: update deprecated lifecycles in modal
ui-tooltip: uncontrolled example broken
Features:
instui-cli,ui-scripts,ui-template-scripts:
add a new ui-template-scripts package
instui-cli,ui-upgrade-scripts:
add a new ui-upgrade-scripts package
ui-badge: add ui-badge package
ui-buttons: add a CondensedButton component
ui-buttons: add an IconButton component
ui-byline,ui-layout: add ui-byline package
ui-checkbox: add ui-checkbox package
ui-docs-client:
make content within docs pages navigable via linking
ui-docs-client: updates to compileMarkdown for id generation
ui-drawer-layout: add ui-drawer-layout package
ui-elements: add isWithinText prop to ui-element Link
ui-elements,ui-truncate-text: add ui-truncate-text package
ui-expandable: add ui-expandable package
ui-forms,ui-radio-input: add ui-radio-input package
ui-forms,ui-text-area: add ui-text-area package
ui-navigation: remove experimental pill from AppNav
ui-range-input: ui-range-input package
ui-responsive: add ui-responsive package
ui-spinner: ui-spinner and design updates
ui-themeable: update deprecated lifecycles in themeable
ui-tray: ui-tray package
Test plan:
* Review changelog above
* Test on master thoroughly.
Change-Id: I9f4552f18b2a48a626e7bb2102f8b3def46eb775
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/221466
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Steve Shepherd <sshepherd@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
Refs USERS-205
flag=none
The InstUI folks are splitting up packages so to allay
future compatibility problems, and to get tests to pass
on future upgrades of InstUI, we should follow these as
they move rather than rely on the old locations. This
takes care of the Canvas Planner package.
Note that I cheated a bit here and brought CanvasSelect
over from the main Canvas app into this package. At
some point that should probably become a package of its
own, I guess.
And I had to add another test file because the tests
for CanvasSelect dragged the test coverage below 85%.
Sigh.
Test plan:
* tests pass
* canvas planner works
Change-Id: I40bbbe559f4928318b8ac1444649d97b09a281c0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/221741
Product-Review: Charley Kline <ckline@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
This makes it so canvas-rce and canvas-planner are using
the new translations build rather than relying on their
own builds. It also removes the package specific translations
from the individual directories to avoid confusion since they
are no longer used. It also removes some language packs that are no
longer used/supported for the packages.
Another important note is that another new package is introduced in
the form of
babel-preset-pretranslated-translations-package-format-message. This
package is important because it allows the use of pretranslated builds
for canvas-rce without causing problems trying to read in non-existant
translations from the canvas-rce directory. Also the new build.js
script inside of canvas-rce provides means to continue doing
pretranslated builds for canvas-rce while using
@instructure/translations. While these aren't used anywhere currently,
it's a positive pattern going forward for other packages and this can be
used a template to move towards that pattern.
Test Plan:
- Canvas builds appropriately
- Translations of the canvas-planner and canvas-rce
work as expected
closes USERS-45
flag = none
Change-Id: I1653bc7440aefc7299341b8cc2486843db320aee
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/220506
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
fixes LA-292
flag=direct_share
Test plan
- Load the content shares and ensure the
SR announces the load
Change-Id: I828c4ad23d5ebaf0879a7e3df56d2584b715c508
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/220774
Tested-by: Jenkins
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: Anju Reddy <areddy@instructure.com>
closes LA-95
flag=none
test plan:
- go to any course settings page
- click "Choose Image"
- drag an image file into the drop area
> expect a spinner while it uploads
> expect the image chooser modal to close
> expect the image to show as the course image
- repeat, but try to drop an image outside the drop area
> expect nothing to happen
- repeat, but try to drop a non-image file into the
drop area
> expect it to be rejected and the message
"File must be an image"
Change-Id: I7c94a02090b2b806610637d6329cf301ca1d5237
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/220548
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
fixes LA-325
flag=direct_share
Test plan
- In the direct share import tray
select a course and then a module
for that course
- Then search for a different course
and select one from the searched list
- Verify that you don't get the "something
went wrong" picture
Change-Id: I70b7614da7d9003c76bf3ebe3ff1290e4de98575
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/219207
Tested-by: Jenkins
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
this is the result of running `yarn upgrade-and-dedupe` but with
Some of the ones I am worried enough about to keep a more close eye
On, like tinymce/graphQL/apollo, left out. I will commit those as
Their own commit
Test plan:
* automated specs should pass
Change-Id: Idacc227993c5e4807322493a811ad2833f398a46
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/218788
Tested-by: Jenkins
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Test plan:
* automated tests should pass
* check this changelog https://instructure.design/#CHANGELOG
and see if you can see anything that might have broke
Change-Id: I97024e87d5e8af6715b68da7010da140af049335
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/218787
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: Adrian Packel <apackel@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
whenever canvas-lms is updated, we get a new yarn.lock with a
subtly different node-sass entry. Let's finally check it in
closes: LA-243
test plan: n/a
Change-Id: I76de33c59aef5380d85df290132be86fac8b2660
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/218133
Tested-by: Jenkins
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
- depends on COREFE-325
- remember values in each tab when user changes tabs
- disable Submit button when current tab does not have complete data
closes LA-106
AKA COREFE-376
test plan:
- open a page with the RCE
- click on media > Upload/Record Media toolbar item
> expect the Submit button to be disabled
- select a file in the computer tab
> expect the Submit button to be enabled
- switch to the Embed Tab
> expect the Submit button to be disabled
- enter text in the embed code textarea
> expect the Submit button to be enabled
- switch among the tabs
> expect the Computer and Embed
Tabs to retain their data (subtitles are not
retained in the computer tab and recorded video is
not retained in the record tab. see COREFE-377)
> expect the submit button to be enabled where there is
data
> expect clicking Submit to do insert the corresponding
media into the rce
Change-Id: I6833bb99f66ef7e4b738531dd34d4411b54d2dd2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/214263
Reviewed-by: Carl Kibler <ckibler@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
See https://github.com/ryankshaw/jquery/commit/3a48a84c for the
Actual changes
If this jQuery code was initialized after the DOMContentLoaded event
But before the window.load event, it would wait until the window.load
Fallback to run everything that was using $.ready() (aka $(fn))
this change make it so it executes all those callbacks now instead
Of waiting for window.load
Test plan:
* turn streaming on
* profile a page
* you should notice that jQuery is initialized as part of main.js
Sometime after DOMContentLoaded
* but you should see all the callbacks run then instead of after the
Window.load event
Change-Id: Ie75f3475f21ac9e7f7503c91e9c5d5700ff28b11
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/215873
Tested-by: Jenkins
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
this fixes the following error that is showing up in the console
when using student view:
Warning: [Heading] `ellipsis` is deprecated and will be removed in
version 7.0.0. Use `<TruncateText />
Test Plan:
* when using A2, go to an assignment page and confirm that the
warning is no longer showing
flag=assignments_2_student
fixes WOKE-90
Change-Id: I9fea740c04d9b4029d01a688a8b2f98c94d3fd8b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/215964
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Norton <rnorton@instructure.com>
closes LA-109
formerly COREFE-325
test plan:
- load up the RCE
- click on Media > Upload/Record medoa
- select the Embed tab
- enter some embed code in the textarea
I copied this from youtube:
<iframe width="560" height="315" src="https://www.youtube.com/embed/Nuzi7LlSDVo"
frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
> expect the Jon Oliver video in the RCE
> expect the yellow box highlighting the video to be the right size
- you can actually put anything in the textarea and it will show up in
the RCE, as if you typed it in the HTML view. You should test typing
in the textarea too, since there is some bad interaction between
the TextArea and the Tabs I worked around.
Change-Id: I3225ae192ca054becb03f570e34d30817c06faec
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/211690
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
temporarily using a fork of bigeasy/timezone since it does not build
with the latest releases of eggert/tz
fixes COREFE-308
test plan:
- set user timezone to brazilia
- create an assignment with a due date after 2019-11-03
- save the assignment
- the time should not be off by an hour on the details page
Change-Id: I7a15e92def90a5d83f8be079657a58894bd13822
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/215065
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
closes COREFE-315
test plan:
- load a page with the RCE and have a video in it
- click on the video
> expect the Options popup toolbar button
- click it
> expect the video options tray to open
> expect the title to default to the video's file name
> expect the default size to be Large (400px on the long side)
- delete the title
> expect the Done button to be disabled
- set a new title
- change the size to Custom
- delete the width or height
> expect an error message and the Done button to
be disabled
- enter a new size, or select one from the dropdown
- click Done
> expect the video to be resized to the new size
- if you're using a screenreader, expect the video
to be announced as "Video player for {your title}"
Change-Id: Id7e29520cc91c02645b92d666216e64f6619bbbb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/211355
Product-Review: Lauren Williams <lcwilliams@instructure.com>
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
closes: COREFE-387
See this for the actual changes:
https://github.com/ryankshaw/jquery/commit/1529762158a452fecdeb31b826
Test plan:
* jQuery should work the same but the main bundle should be smaller
Change-Id: I246a34ee67e4c90caef5a9dc99ca87f58baa757d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/214806
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
closes: COREFE-365
this version of InstUI no longer appends the data-cid attributes from
instUI's testable when NODE_ENV===production. that is because it slows
things down in produciton. and since our selenium build runs with
NODE_ENV=production when it runs webpack we can't use those in our
selenium tests. you need to use semantic stuff or data-test-ids or
something else to find things instead.
test plan:
* automated tests should pass
Change-Id: Id346d6c4e25d8b7b148ebf9ad9fd09cbab6e7dfb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/213301
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
because it prevents preventDefault on file links (sometimes)
then use it explicitly where we need it, on the left/right
preview buttons
test plan:
- go to user files (/files)
- have multiple image files in a folder
- reload the page, then click an image file
- it should preview, not download
- clicking the left/right arrows at the
side of the preview window should go to the
previous/next image without reloading the page
fixes ADMIN-2923
Change-Id: Ib97d25d51e7c94fb962e5d24d3c763554e7fcdd4
Reviewed-on: https://gerrit.instructure.com/212876
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
test plan:
* see the commit msg from the pull request
https://github.com/instructure/mediaelement/pull/52
* that forced RecalculateStyle should not happen anymore
* media element should work the same as before
Change-Id: I779d9aa193841bfe6e6f27004c3e0c85e0b734ea
Reviewed-on: https://gerrit.instructure.com/213061
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Test Plan:
- Enable Immersive Reader Feature flag
- Go to a wiki page with content
- Click the immersive reader button
- Immersive reader should open
closes COREFE-265
flag = immersive_reader_wiki_pages
Change-Id: I015fbbd72adf05177f3941890b5a04a7aa067ee2
Reviewed-on: https://gerrit.instructure.com/211546
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
In a future commit, we need to see why the tests in CanvasContentTray
In canvas-rce are so brittle and fix them
Change-Id: I890f47a0cae2758f2f91a3366066fe409c5ce056
Reviewed-on: https://gerrit.instructure.com/211956
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
closes COREFE-268
test plan:
- open a page with the rce
- from the media toolbar button menu, select upload
- pick a video from your computer
> expect a preview to appear
> expect the video to be about 75% the width of the modal
and as tall as it needs to be for the video
- click Submit
> expect the modal to close
> expect the video to show up in the rce
> expect it to be 400px wide, and however tall it needs
to be (try both portrait and landscape videos)
> expect the grey placeholder while it's being uploaded
> expect the yellow flash indicator when it's loaded
> expect to see a "Loading..." message until the video player
renders
- from the documents toolbar button menu, select upload
and upload a video
> expect the video file to show up in the media>course media
tray list
- click on the video file
> expect the video to show up in the rce
> and for all the same constraints as the uploaded
video to be true
- you should try this with the video appended to the end of
content and right in the middle
- click on a video and delete.
- if you loaded the page via http, there will probably be
no fullscreen button
Change-Id: I934ad486b74689e81941e1fcf0cf6efd18e5f426
Reviewed-on: https://gerrit.instructure.com/209296
Tested-by: Jenkins
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Fixes: ADMIN-2950
See: https://github.com/ryankshaw/jquery/commit/637babee7ed47a532c962d
For the actual fix
Test plan:
* root cause check:
Open your browser devtools:
Type: $(window).is(':hidden')
That should return `false` and not throw this error:
Uncaught TypeError: Cannot read property 'defaultView' of undefined
Type: $(window).is(':visible')
That should return `true` and not throw this error:
Uncaught TypeError: Cannot read property 'defaultView' of undefined
Manual check for the jira
- have analytics plugin configured
- have more than 10 students enrolled in a course
- scroll down in course analytics
- students beyond the first 10 should appear as you scroll
Change-Id: I0e6e3ae2f8b5758f02611273018b751b9e20f758
Reviewed-on: https://gerrit.instructure.com/211192
Tested-by: Jenkins
Reviewed-by: Mysti Lilla <mysti@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Test Plan:
- Go to the RCE and click the plug toolbar icon
- This won't appear if you don't have some
tools installed
- The LTI tool window should appear
- Search for items in the search box and it will
filter to them.
closes COREFE-254
flag = rce_enhancements
Change-Id: Ifc9844f4a2db21b7217c3df615d0c478faa28806
Reviewed-on: https://gerrit.instructure.com/210331
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Lauren Williams <lcwilliams@instructure.com>
Closes: COREFE-301
Test plan:
* all the instUI things should still work
* specifically check to make sure that bowser is no longer in prod build
And that objectSpread thing is fixed so it uses babel helpers
Change-Id: Ie30edddba6ff7c9f37852ea13a65dddc42f93d65
Reviewed-on: https://gerrit.instructure.com/209745
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
This does not mandate anything or -1 or anything like that, it just
makes it so if you hate figuring out how to format ruby code like I do
you can have prettier do it for you.
Test plan:
* First checkout this commit & run yarn and make sure you are using
Ruby 2.5 or newer
To test on command line:
* `yarn prettier --write path/to/any/ruby/file.rb`
To test in vscode:
* After you checked out this commit and ran yarn, restart vscode
* Open a ruby file in vscode
* open the command pallet (command-shift+p)
* type “Format” so the “Format Document” command appears. Hit enter
* it should pretter format that ruby file
* or alternatively, trigger the “Format Document” command directly
By typing “Shift+Alt+F”
Change-Id: Ifd0272f2c1bed3263473a1e7d5df13547e10dec4
Reviewed-on: https://gerrit.instructure.com/209982
Tested-by: Jenkins
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
closes ADMIN-2839
flag=direct_share
test plan:
- as a user with course management permissions (such as a teacher) go to
the discussions index page and select "Send To..." from a discussion's
kabob menu.
- this should open a modal where you can search for and select other
course users who have course management permissions.
- clicking on the "Send" button only does a console log at the moment.
Change-Id: I67f823d0820283fd90e2aa6e3ae3ea5fe54d9b3d
Reviewed-on: https://gerrit.instructure.com/205967
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
Per https://github.com/tc39/proposal-optional-chaining
Test Plan:
- Jenkins passes
flag = none
Change-Id: I7b9fde7e91a9bd00a85397bcf791b8eccd528a5b
Reviewed-on: https://gerrit.instructure.com/209826
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
see: https://github.com/ryankshaw/jquery/commit/ce59a7f0b3c4fc6ff9a2176
for the diff of the actual changes
Copying from that commit message:
All of these checks only ever returned false in older browsers that
We no longer support. By getting rid of them, we can get rid of this
Chunk of javascript execution that happens on every page right before
The domcontentloaded event fires: https://cl.ly/d368d5c9388 which ends
Up being non-trivial because it causes a couple recalculate-styles
(As seen by the purple in that screenshot)
Test plan:
jQuery should work the same as before
* domcontentloaded should end 15-200ms sooner which means all pages
Should load a little faster
Change-Id: I3efa8752708b9043107e9123d31cd509536e9993
Reviewed-on: https://gerrit.instructure.com/208606
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Note: There appears to be an issue with VoiceOver not announcing the
aria live updates. Going to ignore this for now and see if it is still a
problem when InstUI 6 lands. Another ticket will be created to check and
fix.
refs ADMIN-2811
flag=direct_share
test plan:
- should be able to search by name for courses you manage in the direct
share course selection tray.
- copy button disabled until you select a course
- after selecting a course, the copy button just logs to the console
- cancel button closes the tray
- generally accessible, except for VO reading alerts.
- could check the flash_screenreader_holder div in the inspector if
you want to watch the DOM changes that should trigger the alert.
Change-Id: I5c102b25d277204a9929f780adbe94b9d3e46bcb
Reviewed-on: https://gerrit.instructure.com/205371
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
closes COREFE-203
Adds ability for a teacher to switch between course and user files.
Changes the images query logic to piggyback on the /documents api
so docuents, media, and images will all share the same query logic
test plan:
- have a course with some images
- have a teacher and a student with personal images
- go to the course as a teacher
> expect rce images toolbar button menus to
show Upload, Course images, and My images
- upload an image
> expect it to succeed
> expect the new image to appear in the Course images
tray
> expect the images to appear in the course's upload media folder
- select My Images from the toolbar menu
> expect my Images to be shown in the tray
- use the filter to switch to Course Images
> expect course Images to be shown in the tray
- repeat, starting with Course Images and flipping to My Images
- go to the course as a student
> expect rce Images toolbar button menus to
show Upload and My Images
- upload Image(s)
> expect it to succeed
> expect the new imsges to appear in the user's file page's
My Files (/files).
> do NOT expect the imsges to show up in the course's Files page
(/courses/:id/files)
- click on Images > My Images
> expect to see Links and My Images in the top select of the tray
> do NOT expect to see the Course Files option in tray
Change-Id: If7f4e6b6f90b445e497be81b9cb940da71a8cf74
Reviewed-on: https://gerrit.instructure.com/206788
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Tested-by: Jenkins
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Just making sure there’s not something fixed in a package we use
That could help with build flakiness
Test plan:
* builds should pass
Change-Id: I67d738063dd1170612846673623455b7c62f71d5
Reviewed-on: https://gerrit.instructure.com/207712
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
closes: COREFE-209 COREFE-207 COREFE-230
this should help bugs, spec flakiness, and bundle sizes
test plan:
* make sure that the pages that are still using the old 5.x one from
@instructure/ui-core still work, namely:
app/jsx/account_course_user_search/components/CoursesToolbar.js
app/jsx/blueprint_courses/components/CourseFilter.js
app/jsx/grade_summary/SelectMenu.js
* make sure themeing of instUI components still works and picks up
theme editor settings
* make sure bundle sizes are smaller, not bigger
* check tinymce-a11y-checker that it still works the same
(With the rce-enhancements feature both on and off)
Perf test plan:
* make sure tree shaking is working
load it up in one of the webpack bundle visualizers to see
* make sure we are not loading *all* of the icons
this commit also updates the instUI6 version we use from 6.9 6o 6.10
which has fix for <Alert> unmounting that ed fixed:
Test plan:
* you should see less console arrows about react unmounting nodes
Associated with the CanvasSelect component
Change-Id: Ied2ff1d1521b0900126136170f103dea27bc554a
Reviewed-on: https://gerrit.instructure.com/204545
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
add cleanup for spec_results folder on nodes.
add jasmine-pretty-html-reporter to get html reports
for i18n tests.
refs: CORE-3254
Change-Id: Ifa1724e368c5c91dc69e854ae98a1a13abe33aa0
Reviewed-on: https://gerrit.instructure.com/207203
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
The only change is that some things that it actually used weren’t
In it’s package.json and they were added.
See
https://diff.intrinsic.com/@instructure/canvas-rce-old/4.1.4/4.1.5
For the differences
Test plan:
* when we upgrade canvas’s instUI to 6.x we shouldn’t get failures
about not being able to find
@instructure/ui-alerts/lib/packages/alert.js
Change-Id: Icff6d120bff55697defc73c092b2ca9782fc44e2
Reviewed-on: https://gerrit.instructure.com/207063
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Test plan: graphiql works
flag = none
Change-Id: Ia8bd7100024cab45746a27f370d5423e6c5fa9e6
Reviewed-on: https://gerrit.instructure.com/206853
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
closes COMMS-2316
TEST PLAN
-------------------------------
all tests pass
Change-Id: I0c270bb7a8d5dfa166641648841e619a1a21c0f4
Reviewed-on: https://gerrit.instructure.com/206348
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
Tested-by: Jenkins
QA-Review: Ben Nelson <bnelson@instructure.com>
Product-Review: Ben Nelson <bnelson@instructure.com>
If you ran yarn on master it would create a dirty yarn.lock
Test plan:
* after this is applied, if you run `yarn` it should not make any
Changes to yarn.lock
Change-Id: I0303e6e9ca0032771b95497df4b39a3e26e2eed3
Reviewed-on: https://gerrit.instructure.com/206700
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
closes CORE-2654
Testing Notes:
* Max dimensions per size are as follows
* Small: 200 x 200px
* Medium: 320 x 320px
* Large: 400 x 400px
* Extra Large: 640 x 640px
* Images must be at least 10 x 10px
test plan:
1. Add an image to TinyMCE
2. Select the image
3. Click the "Options" button in the popover
4. For each of the preset sizes:
a. Select the size
b. Click the Done button
c. Verify the image fits that size
5. For the Custom size:
a. Enter a width
b. Verify the height maintains the aspect ratio
c. Enter a height
d. Verify the width maintains the aspect ratio
e. Verify the image cannot be saved when:
* The image is too small
* The dimensions are not numbers
6. Integration with tinymce
a. add an image
b. click in it, then on the Options button
to open the tray
c. resize and click Done
e. Verify the Options button/toolbar realigns
itself with the newly sized image
Change-Id: I1c1456b33c355d2d17a5430cd3d6d1687ff6ecdc
Reviewed-on: https://gerrit.instructure.com/198540
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Jenkins
This is the rest of the npm deps except for the ones we know we have to
hold back like the graphql/apollo stuff and canvas-rce’s tinymce
Test plan:
* builds should pass
Change-Id: I985cf8915540af8377d5b83bb3c114a58ccfce4d
Reviewed-on: https://gerrit.instructure.com/206060
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
note: this will start logging a lot of deprecation warnings from
React about stuff like componentWillMount and componentWillReceiveProps.
Teams should update their code to not use those things so those
Deprecations go away
Test plan:
* automated builds should pass
Change-Id: I42a340dacdb43d410c7246945c025e0eb83220fa
Reviewed-on: https://gerrit.instructure.com/205772
Reviewed-by: Ryan Norton <rnorton@instructure.com>
Tested-by: Jenkins
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
here are 2->3 changes from immutability-helper
Huge thanks to @jedmao for converting the library to typescript!
New: TypeScript definitions are now generated from TypeScript source.
meaning they will always be 100% in sync w/ the source code.
New: exported Context class.
Deprecated: stop using const myUpdate = newContext().update and start
using const myContext = new Context(); myContext.update(...).
Deprecated: stop using update.extend and start using import { extend }
from 'immutability-helper' or const { extend } = new Context().
test plan:
* the only thing that uses immer is the assignments_2 teacher stuff,
that should still work
* discussions, gradingPeriods, and the CreateOrUpdateUserModal use
immutability-helper, those should still all work
Change-Id: If6b62788be5d3929b5a0ddd64e1b63aa09916b84
Reviewed-on: https://gerrit.instructure.com/205773
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
This includes some general utilities
Note: There is a bug in the instui Tray that mounts the contents of the
Tray twice, which results in multiple fetches for the managed courses.
We're going to ignore this for now since the right fix is to fix Tray
and not work around it.
flag=direct_share
refs ADMIN-2811
test plan:
- On the discussions index page, click on the kabob menu for a
discussion and choose "Copy To...".
- A tray should open and load a list of the courses you are allowed to
manage. There is no other functionality in the tray yet.
Change-Id: Ic0f5e841f61cd3cdaef7b681db2907089c561665
Reviewed-on: https://gerrit.instructure.com/204331
Tested-by: Jenkins
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Test plan:
* use the media capture stuff from the new RCE
* it should look the same but use instUI 6 components
Change-Id: If5e41b75652898c0d2a4d51eedb4fc437d68f7d2
Reviewed-on: https://gerrit.instructure.com/205695
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
The previous commit makes it so i18nliner can understand <> instead of
<React.Fragment>, so this turns back on the eslint rule we had to turn
Off
Test plan:
* run bin/rake i18n:generate_js (or let the Jenkins builds run)
* it should pass
Change-Id: Ia3204cd6c3147eb52ca612adbb3b20b2df8c6921
Reviewed-on: https://gerrit.instructure.com/205378
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
the entry to ui-focusable unexpectedly changed.
Change-Id: Iba491ab95d415d5bb37677da8ebeae9aeb36dffc
Reviewed-on: https://gerrit.instructure.com/205624
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
This also upgrades it to babel 7 so it should be able to handle other
Modern features that it used to not.
I will try to get jon to merge the pull request for this
https://github.com/jenseng/i18nliner-js/pull/27
And use the official version but for now we can just use it directly
From my pull request branch.
Test plan:
* with the next commit applied (which changes all the <Fragment>s to <>)
* Run bin/rake i18n:generate_js
* It should work
Change-Id: I2752ff4c18c8e71b8b0530e0572596fa7da9ea8e
Reviewed-on: https://gerrit.instructure.com/205377
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
instead of having our own eslint in canvas-rce, and maintaining all
future rules like react hooks and stuff we can just use the same one
that the rest of the repo uses.
test plan:
* cd packages/canvas-rce
* `yarn lint` should run
Change-Id: Idbe8af533f7a19035d1998538d2d6fd1a711f164
Reviewed-on: https://gerrit.instructure.com/204998
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>