DelayedMessage#set_send_at is called as a before save, and calls both:
- self.communication_channel
- self.communication_channel.user
Meaning that each time a delayed message is saved, it generates a query
for a communication channel and a user.
One common place delayed messages are created is in the
NotificationMessageCreator. at the time they are created the
communication channel and user are already in memory, we just need to
coax rails into using them.
Rails tries to set inverse_of associations automatically whenever
possible, but it appears that something (maybe the order argument) on
user.communication_channels is preventing that from happening. Once we
have inverse associations working properly, we can pass the object
instead of the id so everything is preloaded.
As noted in the inline comment, this is safe because notification_policy
is always loaded from a communication_channel association, whose
automatic inverse_of association is working correctly.
test plan:
- send a delayed notification to many people
- it should work, and not over-query communication_channels or users
Change-Id: Ia24282c9a24746701227781b4782b22b6c9f70f7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231352
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Significant delays are happening in high priority messages being
delivered to clients due to lack of delivery prioritization. Implement
simple delivery prioritization with "high priority" queue to prevent
password resets and other high priority messages from being delayed.
Test plan:
* Deploy to canary or beta environment
* Create user with @instructure.com email address
* Take user through password reset process and confirm that email is
received
refs SAS-1442
Change-Id: I0b4f98ac03c5a5ee24e903a913614c005a12ead8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231036
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
Closes USERS-450
Refs UXS-50
See the Figma designs in UXS-50.
Test plan:
* Go to the Canvas login page
* Click on "Forgot password?"
* Fill in your login email and click on "Request Password"
* The text of the success flash message displayed should match
that of the design in UXS-50
* The flash message should not dismiss itself after 3 seconds
but persist "indefinitely" (it's actually 15 minutes but
that should be more than enough time to read and comprehend
the thing)
Change-Id: Icb3abdf46456d71732bbf5afca6f6eb961e16eac
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231258
Reviewed-by: Pat Renner <prenner@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
flag=mute_notifications_by_course
/ ---- ---- \
| Test Plan |
\ ---- ---- /
- Create a course and navigate to the course notification settings
- Note that the Header no longer has a vertical scroll on it
Change-Id: I8c836c56d4c8c7fc0cd8d939551d00dc3a1fbe2f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231349
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
Change-Id: I5a50cb4d52624e69c32406c5039bca4318576413
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231024
Reviewed-by: James Williams <jamesw@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
closes UX-31
flag=enable_fullstory
test plan:
1. LOG OUT BETWEEN TESTS
2. to determine if fullstory was enabled, you can:
a. use devtools to look for the fullstory script
in the HEAD. It will be after the
<!-- fullstory snippet --> comment, making it easy to find
b. lok for a network request for edge.fullstory.com/s/fs.js
3. to your dynamic_settings.yml, add
config:
canvas:
fullstory:
sampling_rate: 1.0
app_key: 'anything'
- do not enable the flag
- log in
> expect fullstory not to be enabled
- enable the flag
- log in
> expect fullstory to be enabled
- change sampling_rate to 0.0
- log in
> expect fullstory not to be enabled
Change-Id: I27885ebafea3066a8996a45f990118584f2bf56c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230591
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
spec: Created 'mobile 3 assignments, 3 submissions'
Pact provider state for mobile to test against.
closes MBL-13409
Test Plan:
--Ensure that our mobile pact tests for assignments
and submissions pass against this new provider
state.
Change-Id: Iefd9bb4afc1adfa6c76dbfb66e951e3db2758951
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231218
Tested-by: James Butters <jbutters@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Joseph Hoag <jhoag@instructure.com>
Product-Review: Joseph Hoag <jhoag@instructure.com>
closes PLAT-5482
flag=none
Test plan
- Spec pass
- Create a line item and verify it has a
root account id in the model.
Change-Id: Ibea6d112f588525ab86a6794b58549982ead97bb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229561
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
flag = none
This issue manifests when running `docker-compose run --rm web yarn`. The build
scripts do not have permissions to write to various generated directories, so the
builds fail. We're able to work around these permission constraints by using
volumes and deleting folder contents instead of the generated folders themselves.
Without these changes, anyone using docker on linux will end up with runtime JS
errors relating to missing files (i.e. missing js-utils/lib/* files).
Change-Id: I5d0efe70d161717b8b2fa4f5a7f1b162eca55281
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231029
QA-Review: Jim Simon <jsimon@instructure.com>
Product-Review: Jim Simon <jsimon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Before, you could drag from anywhere in the assignment or assignment
group. This (1) is different from other pages (e.g. Modules), and
causes issues on screen < 768 wide, where the layout changes and the
assignment is full-width and you can't scroll on a mobile device.
closes LA-711
flag=none
test plan:
- load up a course assignments page, with a couple assignments
> expect you can drag to sort them only by the drag handle
> expect the same on the assignment group heading too
Change-Id: Ie43bf28f6b34422120ed65d04a95cb35715deb12
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230575
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Lauren Williams <lcwilliams@instructure.com>
closes APM-26
flag = none
TEST PLAN:
* redis and aws telemetry starts showing up in
APM traces
* canvas does not fail to boot
Change-Id: I5e797f797b57299afb43f6a199289230354a7f73
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231068
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: David Warkentin <dwarkentin@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
fixes: CCI-296
flag = none
Test-Plan:
jenkins passes and has both reports published
Change-Id: Ief404e5bc6ae2fef6da144d371f2c509f2f7f762
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231098
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Rex Fleischer <rfleischer@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
flag = none
Test-plan: - PS4: Times out and propagates a success from FSC
FSC build 2038
Canvas build 25027
- PS5: Fails a spec and propagates a failure
- PS6: Passes
Change-Id: Ibc0313088e5f2128d143f6aaeb4712c6ba2bfedf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231005
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Jacob Powell <spowell@instructure.com>
fix n+1's on enrollment term, favorites and nicknames
test plan:
* user dashboard should load nicknames as before
* also favorites (when "Course Favorites From Dashboard"
feature is enabled)
closes #LA-821
Change-Id: Idf4b71ee54ca2f5b826c86ea4f1d8637532a1d28
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230099
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
and update user rows directly without callbacks
Change-Id: Idfd2d5d67d102fc93ab5d8c6d1bf8aa26b22bcfe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/229809
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
fixes KNO-355
flag = none
this is an attempt at making it possible to segment the stats available
on GA by metrics relevant to product... the goal is to be able to tell
which flows are popular among students versus those among teachers, for
example
we now supply every pageview hit with 3 types of additional information:
1. enrollments (student? teacher? observer?)
2. admin status (admin? site admin?)
3. masquerading?
this information is tracked in "custom dimensions"[1] and the submission
is still anonymous; we're not tracking userId
. . . . .
\ TEST PLAN /
---- ----
- create yourself a google analytics account, because if not now, when?
this is your chance
- inside GA, create "Custom Dimensions" for each of the dimensions[2]
implemented in this patch:
1. Enrollments
2. Admin
3. Masquerading
- use a Rails console to set your tracker id:
Setting.set('google_analytics_key', TRACKER_ID)
- now browse around Canvas and keep an eye on the GA dashboard; you
should see points tracked after some time (could take up to an hour
really...) with the dimensions populated
[1]: https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#customs
[2]: from User#user_roles - https://gerrit.instructure.com/plugins/gitiles/canvas-lms/+/refs/heads/master/app/models/user.rb#2877
Change-Id: I1d797e6c500d3d60da36da3b50339bab649e57de
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230360
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>
Updates the text in the QR for Mobile Login modal to the latest
product/documentation/support vision.
closes USERS-447
test plan:
- specs pass
Change-Id: I1726ee0e404585509fdb97c4a2a7cf94d37eba44
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231114
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
Fixes a URL that was relative to be absolute, thus not breaking when
you're not in the root context.
fixes USERS-433
flag=mobile_qr_login
test plan:
- Have the QR for Mobile Login feature enabled
- Navigate down into a course
- Visit in the "QR For Mobile Login" link in the profile trey
- Ensure QR code loads.
Change-Id: Ia781dd92b993bde48e4323300c80ec4fd107576e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231055
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Change-Id: I95c9e0ee2ca4191f5ca87f8f2fcf9df15a84fc59
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231010
Reviewed-by: James Williams <jamesw@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
FIXES APM-25
flag = none
also properly implments plugin
reset so that we can enable/disable
without rebooting the process
test plan:
specs pass flaky spec catcher
Change-Id: I96e8137e351639559d68c8f1e9242e1c315cb26d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231006
Reviewed-by: David Warkentin <dwarkentin@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
flag = none
Test Plan:
passes jenkins
Change-Id: I71776b847ab20358060839b0f297e0422bc5c4d8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/231014
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
ModelGenerator alters callbacks and other behaviors of AR models and
causes the following specs to fail.
Change-Id: I2d436c560c047d8c0a8bcbdefe960c26d6d0069c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230572
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: Christian Prescott <cprescott@instructure.com>
Product-Review: Christian Prescott <cprescott@instructure.com>
Closes USERS-439
flag=mobile_qr_login
A potential sad user path through the mobile QR code flow
would be if the code on the screen expired before they had
a chance to scan it. So let's make it automatically refresh
before it expires, and also give the user some indication
that they are life-limited (in case they try to print their
screen or something dumb like that).
Nothing was changed here in the QR code generation or
display itself, so it shouldn't be necessary to heavily QA
the functionality of the displayed codes themselves.
Test plan:
* Be sure you're set up to generate mobile login QR codes
(see test plan for g/230318)
* Bring up a mobile QR code
* See that the modal appears with a code, and says it
expires in 10 minutes
* Wait one minute (-ish)
* Now it should say it expires in 9 minutes
* Keep waiting or go do something else for 7-8 minutes
* Eventually the message will say "expires in a few seconds"
* Not long after that (9 minutes 45 seconds after the code
was generated to be precise) the QR code should change to
a new one, and the message should reset to say that the
new code once again expires in 10 minutes
* You can verify that a new code was fetched by looking in
the network inspector (or if you have eagle eyes by seeing
the changes in the QR data bits themselves 😊)
Change-Id: I40ce1ab1f5e210dea12d4158bb8d11fa20fa4f42
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230956
Reviewed-by: Keith Garner <kgarner@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Keith Garner <kgarner@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
closes QUIZ-7524
flag=none
Test Plan:
- From the Import Content Page.
- With both"Common Cartridge 1.x Package" and "QTI .zip file"
content types.
- With "Import assesment content as New Quizzes" checked
- The import should import quizzes into new quizzes
Change-Id: I762b1d046bc94b35d6afe8518e44ca236fbcd33a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230507
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Kevin Dougherty <jdougherty@instructure.com>
Reviewed-by: Han Yan <hyan@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
closes APM-16, APM-20
flag = none
also adds context id and user id
to request annotations for APM
configures host-level sampling
TEST PLAN:
* enable apm collection on datadog agent on single test cluster
* push consul config to same cluster for enabling apm sampling
* push consul config depressing host sampling rate to 5%
* delayed job telemetry should show up in ddog
* trace count from active clusters should drop by an order of magnitude
Change-Id: I94d97b299ed14403e8b141629740a1627310b259
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230592
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: David Warkentin <dwarkentin@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
flag=none
Test Plan
- specs pass
Change-Id: If827338e2a6f12bb71b195e147e469a3a9477d8d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230780
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Gary Mei <gmei@instructure.com>
closes LA-676
flag = none
Test Plan:
- enable Assignments 2
- edit an assignment to have a semi-long name (20+)
- become student
- view in mobile size with width: 320
- Scrolling down should no longer overlap elements
Change-Id: I9ca9be2cdadc9f9ff475b7d5dd02a59b526a7553
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230186
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Clint Furse <cfurse@instructure.com>
send_keys has an issue that sometimes it won't send
the full string before the next line of code is executed
resulting in a new folder with wrong name. It's recommended
to add a click to the input before send_keys.
flag = none
Change-Id: Ib2659a418d29ef85fd0fcadd91037e5f309e94a0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230876
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
use the accept_alert method rather than custom accept alert. Add
wait for delete option to be visible before trying to click.
flag = none
Test Plan:
jenkins passes specifically FSC build
Change-Id: Id697279b467a9e416d2f8c93bd269e469948c870
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230925
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Jacob Powell <spowell@instructure.com>
added wait_for_ajaximations after entering section name for
the search to complete before attempting click, bettered the
selector for the override option to click.
flag = none
Test Plan:
jenskins passes specifically the FSC build
Change-Id: I13216fa8c01e39ec5b55d5e81ed3be3fa9759591
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230924
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Jacob Powell <spowell@instructure.com>
Product-Review: Jacob Powell <spowell@instructure.com>
wait for elements to be displayed before attempting interaction.
use accept_alert method.
flag = none
Test Plan:
jenkins passes
Change-Id: I21eba7fb7b3b2f18faef8808c3cf2b3ae29e54a3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230927
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Powell <spowell@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
expecting user to be the first in enrollments leads
to flakey results. Instead check for the user to be
included in the enrollments, no requirement for this
user to be the first.
flag = none
Test Plan:
passes jenkins specifically FSC build
Change-Id: Ia067daf8bb8d8ad2dec751743b1e87505887ef6e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230918
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@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>