closes LS-2739
flag=none
test plan:
confirm that each language is in its own bundle
- rm -r public/dist/webpack-dev/*
- yarn build:packages && yarn build
- look into packages/translations/lib/canvas-planner/ar.json
for the first key. It will be something like
a_great_discussion_6526a6d9
- grep for it in the build output. for exmaple:
$ fgrep -Rl a_great_discussion_6526a6d9 public/dist/webpack-dev/*.js
> expect many files
Change-Id: Ibfafb4c2139a6d1e2991dd88d064b5ee0303a5f9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275912
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Jeff Largent <jeff.largent@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Fixes it so only the planner's translations for the user's
locale are loaded, not all of them.
closes LS-2717
flag=none
test plan:
- build canvas
- make note of a translation key by looking in
packages/translations/lib/canvas-planner/<anyfile>.json. The
first key looks something like "a_great_discussion_6526a6d9"
- grep public/dist/webpack-[dev|production] (which one depends on
what you built) for a translation key.
$ grep -Rl a_great_discussion_6526a6d9 public/dist/webpack-dev/
> expect there to be one file, and if you search it for the key
you'll find all the languages
- checkout this commit and repeat
> expect many files with the key, one for each language (or almost,
not all languages have all the strings and if it's missing the
key you're looking for the grep won't find the bundle)
If you _really_ want to account for all the bundles, try
fgrepping for "!*** ./packages/translations/lib/canvas-planner/"
- log into canvas as a user in a language other than 'en'
> expect the planner to be in the user's language
Change-Id: Ic7e64bf279cc3e2b175d89ba4aa71683440563f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275516
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Jeff Largent <jeff.largent@instructure.com>
fixes FOO-1859
leave canvas-planner's dependency on DateTimeInput (part of v6) for
later
test plan: the world doesn't end
Change-Id: Iedbf1ccf0f815ed96f6f8f7d2a151f263ea35010
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266766
Reviewed-by: August Thornton <august@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: August Thornton <august@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: August Thornton <august@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
fixes FOO-2047
according to the following BREAKING CHANGES:
- Removed ui-a11y, ui-elements, ui-layout, ui-forms
- Removed Modal, Popover, Tooltip and Tray from ui-overlays
test plan: there should be no behavioral changes as we're picking the
same components only from a different location
Change-Id: Id065d6e1d6eb49a3968c7c9db9443edaec9c0dfb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266452
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
A new modal component was added to the Canvas-planner, this modal
communicates with the UI and the redux store similar to how the tray
editor does in normal canvas, also slight changes were added
to support personal TO-DO edition when the user is in a
single-course view
fixes LS-2159
flag=canvas_for_elementary
Test Plan:
Scenario 1:
-Create some personal to-do in normal canvas, set a course for a
least one of them
- Enable k5 mode
- Access as student and go to the dashboard
- Look for one of the to-do you created in step 1
- Click it and expect to details be opened in a new modal
- Do some changes and click on Save.
-Expect to the changes be saved and the modal closed
- Open the To-do again and click on Delete.
- Expect to the To-do be deleted
Scenario 2:
- With k5 mode enable
- Go to a course that you used in step 1 of scenario 1 and access
to it as student.
- Look for one of the to-do created in step 1 of scenario 1
- Click it and expect the modal behaves as it does in scenario 1
Change-Id: I8a80857f67df18301a02c1371eb7d7beacd2fe73
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265623
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Jeff Largent <jeff.largent@instructure.com>
Fixes a security vulnerability
I had to bump the es-check es8 -> es9 because the new version of
axios-cache-adapter used an object spread operator which es8
didn't like, though it is supported by all our browsers and
I've checked that it does work at the spot es-check was flagging
closes MAT-115
flag=none
test plan:
- all the specs still pass
- everything seems to work well
- poke about in /accounts/2/developer_keys, because I made a little
change in create/edit developer keys.
Change-Id: Ib912b3c1e2e497e23999adc72aaa1d8abf53a345
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264679
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
This change updates the K-5 schedule tab navigation to no longer focus
on the first item due today or missing items section when switching
tabs and navigating through the weeks. However, it will still focus on
those elements when navigating to the schedule tab from the K-5 card
links (# due today and # missing).
fixes LS-2124
fixes LS-2130
flag = canvas_for_elementary
Test plan:
- Log in to the dashboard of a student enrolled in K-5 courses
- Set up assignments due in the past, the future, and today if none
already exist
- From the homeroom tab on the dashboard, click the schedule tab.
Expect focus to stay on the schedule tab
- Navigate forward and backward through the weeks. Expect the focus
to stay on the weekly navigation buttons when doing so
- Click "today" to jump to today from another week. Expect focus to
stay on the "today" button
- Back on the homeroom tab of the dashboard, click on the "# due
today" link on a course card. Expect to switch to the schedule tab
and scroll to and focus the first item due today.
- From the homerrom tab again, click on the "# missing" link on a
course card. Expect to switch to the schedule tab and scroll to
and focus the "missing items" section
Change-Id: I4a3b391f5fb97282ebb5e3885704cc14d2224dd0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262993
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Jeff Largent <jeff.largent@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
This change adds a temporary splash page for the K-5 dashboard
schedule tab explaining that the teacher version is coming soon and
rendering an example of what the schedule will look like to students.
closes LS-1765
flag = canvas_for_elementary
Test plan:
- Log in to a K-5 account as a teacher with no student enrollments
- Go the schedule tab on the K-5 dashboard
- Expect to see an adorable panda, a message explaining that the
teacher schedule view is coming soon, and an example day with
dummy data.
Change-Id: Idbffc22e9cf54c35f225f7c0dee8817f5508f70e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/261279
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
closes: LS-1948
flag=canvas_for_elementary
I think that's the right flag
current PS: specs in progress
test plan:
- have a course/courses with assignments and stuff with due dates
- in the k5 homeroom, open the schedule tab
> expect sunday-saturday of the current week with all the due stuff
- click the > button
> expect next week to replace this week, with all the due stuff
- click on the Today button
> expect this week to replace next week
- click on the < button
> expect last week to replace this week
- keep clicking < or > until you run out of assignments
> expect the balloons (though the wording needs to be different)
If you _really_ want to test the planner item fetching logic, change
the "per_page: 100" in sagas.js loadWeekSaga to something smaller than
the number of items you have in a week, rebuild, and make sure you
still get all your items
Change-Id: I81ed2e6eb69702b6caccdddd9d87d7c46d8ef8bd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260405
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Jeff Largent <jeff.largent@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
Most of the upgrades were backwards-compatible, but I made a few
changes:
* Replaced usages of wait, waitForElement, and waitForDomChange with
waitFor as recommended here, since they are deprecated:
https://testing-library.com/docs/dom-testing-library/api-async/#deprecated-methods
* Replaced '@testing-library/react-hooks' imports with
'@testing-library/react-hooks/dom' as recommended here:
https://react-hooks-testing-library.com/installation#being-specific
* Fixed some issues with @testing-library/jest-dom's toBeDisabled
matcher not checking for the disabled attribute on parent elements--
e.g. changing this:
`expect(getByText('Button Text')).toBeDisabled()`
to this:
`expect(getByRole('button', {name: 'Button Text'})).toBeDisabled()`
closes LS-1831
flag = none
Test plan: tests pass in Jenkins
Change-Id: Ia549950dade5fd5b2597a3002b11f4f0a6f740f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258923
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
closes LS-1657
flag=none
This change required code-splitting the canvas-planner/index.js entry
point by introducing lazy-loaded components to keep the bundle
below our max allowable size.
A unit test was failing with the tests running concurrently and I
couldn't find the root cause. Having them to run serially fixed it.
(See package.json)
test plan:
- canvas still builds
- no jenkins errors
> expect the student planner to still work and look right
- open a course
> expect the ToDo list in the sidebar to load
Change-Id: I96b593e385eabf2195fb55e611c68c0d60d1f57a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253898
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Refs FOO-649
flag=none
Finishes up the <Spinner> imports, pulling the stuff in from
packages.
Test plan:
* Similar to g/240804, just spot-check some of the stuff in the
planner and RCE to make sure everything is still functioning
Change-Id: I3ee605cd0982fef179a28994a39290ee3f8b2c12
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240996
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-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>
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>
Test Plan:
- Translations get built and put into
packages/translations/lib/
closes COREFE-258
flag = none
Change-Id: I05889f9c122aaf1263a6803daad8abd977b32e44
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/213813
Tested-by: Jenkins
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Steve Shepherd <sshepherd@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
canvas-planner was the one package that had a unique
config/locales setup rather than a /locales setup.
This will improve the translation flow for the packages
directory as a whole.
Test Plan:
- yarn extract runs properly
refs COREFE-258
flag = none
Change-Id: I0058b3bb79e09c6ddafdfbd472009f01e3f9d587
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/213812
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 is to get it to work with how browserslist/autoprefixer/babel/
@instructure/ui-babel-preset expect things to work.
We had to change the name because
https://github.com/browserslist/browserslist#shareable-configs
Says:
For security reasons, external configuration only supports packages that
have the browserslist-config- prefix. npm scoped packages are also
supported, by naming or prefixing the module with
@scope/browserslist-config, such as @scope/browserslist-config or
@scope/browserslist-config-mycompany
And we have to add:
"browserslist": ["extends @instructure/browserslist-config-canvas-lms"],
to all of our package.jsons that use @instructure/ui-babel-preset
because that by default will use
"extends @instructure/browserslist-config-instructure—ui" which would
still do all the stuff for IE11
Test plan:
* run `yarn`
* all those errors about browserslist and postcss should not show uo
* look at the code in public/dist for canvas-planner,
* It should not include regenerator-runtime and you should see native
`async` functions
Change-Id: Ic84c13ac59d58963c12b8365b3068b5da3ee618d
Reviewed-on: https://gerrit.instructure.com/204251
Tested-by: Jenkins
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
…instead, just use the default config for the rest of the repo
Test plan:
* cd packages/canvas-planner
* yarn eslint src/components/BadgeList/index.js
* you should not see an error about not being able to find flowtype
Change-Id: I48c4ab3ac20a60352c20c489addb4d4b4a32e83a
Reviewed-on: https://gerrit.instructure.com/199060
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
This gets canvas planner and canvas-rce on babel 7, which is a
prerequisite to canvas doing the same. Also, by not depending on the
Kitchen sink of ui-presets, it cleans a ton of unused stuff from our
node_modules/yarn.lock. It was originally 2 different commits but
in order to get the yarn.lock right, we have to do them all as one.
This also made it so we needed to have less “resolutions” in our
package.json since the newer versions of those things work fine with
the newer version of babel
So there are 2 test plan areas:
1. Canvas-planner
Closes: CORE-2575
Test plan:
* smoke test to make sure everything in canvas-planner still works/looks
like it used to in the canvas ui
* make sure the translation task (yarn check-transifex) still works
canvas-rce: upgrade to babel 7 & @instructure/ui-babel-preset
2. canvas-rce
Closes: CORE-2576
Test plan:
* smoke test the RCE editor
* theming should still work/look exactly as before
* make sure all the various build tasks (eg yarn test, test:coverage,
debug, lint, extract, etc) all still work as before
Change-Id: Id896687e3905f4df4627b181cad3f67ffe4417a5
Reviewed-on: https://gerrit.instructure.com/183877
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Closes: CORE-2560 CORE-2569
Refs: ADMIN-2453
Test plan:
* general spot check to make sure things look the same
(Specifically check the publish/unpublish button on the modules page)
* verify that the total size of the vendor & common production webpack
bundles is smaller
Change-Id: I734e9723917c14778cdc5fc4e22dcd1011b5e77e
Reviewed-on: https://gerrit.instructure.com/184911
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
test plan:
- tests pass and everything still works
Change-Id: I73540f1b5e4647c19f3446ce558bce7e4dfde684
Reviewed-on: https://gerrit.instructure.com/180736
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Daniel Sasaki <dsasaki@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
closes QA-614
Test Plan:
- Run yarn test inside the canvas-planner directory
- A junit file should be created in ./coverage/canvas-planner-junit.xml
- It should also report to jenkins 'Test Results' when there is a failure
Change-Id: Ibfb1ec088ceb60f2c265b3c31e77029968268f9a
Reviewed-on: https://gerrit.instructure.com/173008
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
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>
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>
Test plan:
* the stuff in canvas-planner/lib should be es modules
* you should see a bunch of /* harmony import */ comments in the
File that is built by canvas’s webpack when it pulls it in
* you should no longer see those warnings about "duplicate module"
something something "from copy_of_what_gets_published_to_npm"
in your jest specs anymore.
Change-Id: I055ad8a7ca3520e233b0a33bceebdee7a3559c11
Reviewed-on: https://gerrit.instructure.com/165326
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
closes ADMIN-198
test plan:
- have a student with enough missed assignments that the
opportunity center drop-down will have a scrollbar
- open the planner
> expect the jewel on the bell to have the right number
- click the bell
> expect the opportunity center to open
> expect to be able to scroll the list w/o the tabs scrolling out
of view
- click the 'x' to dismiss some
> expect them to move to the dismissed tab and the jewel number
to decrement
Change-Id: I6d6d4e990cf0c34cd432ab91de4906760c624a7d
Reviewed-on: https://gerrit.instructure.com/161943
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
QA-Review: Mysti Sadler <mysti@instructure.com>
Product-Review: Christi Wruck
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>
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>
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>
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>
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>
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>
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>
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>
This moves the sidebar code from main canvas into the canvas-planner
repository. This allows us to merge the redux state into one redux store
and allows the list view and the sidebar respond to each other's
actions.
Right now their state is still somewhat separated and they do individual
loads. It would be nice to make them use the same data and only have a
single loading process, but for now this is simple and works.
closes ADMIN-1048
fixes ADMIN-1097
test plan:
- in general, make sure the completion status of the todo side bar on
the card view syncs up with the list view.
- dismissing an item on the sidebar should mark it as complete in the
list view.
- completing an item in the list view should remove it from the side
bar.
- uncompleting an item in the list view should add it back to the side
bar.
- if the dashboard is initially in card view, dismissing items should
work fine and not cause any console errors.
- adding an incomplete item in list view within two weeks of today
should add it to the side bar.
- adding an incomplete item in list view outside of two weeks from today
should not add it to the side bar.
- changing the date of an item should also change its date in the
sidebar, potentially removing it from the side bar if the new date is
outside of the two weeks.
- changing the date of an item that was outside the two weeks to inside
the two weeks should add it to the side bar.
- deleting an item in list view should also delete it from the side bar.
- items in the side bar should always be sorted by their date and title,
even when these have been edited in list view.
Change-Id: I52660ec4102ffd4a0bba94210e77041da8e6a486
Reviewed-on: https://gerrit.instructure.com/150663
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
QA-Review: Luke Kingsley <lkingsley@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
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>
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>
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>
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>
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>