[fsc-max-nodes=12]
[fsc-timeout=60]
* switch lots of parsing to Nokogumbo to keep things consistent
* deep CSS sanitization is now built in, and with a proper parser (meaning
we can drop our code to do it, and adjust some specs to account for things
that _are_ valid)
lots of changes because gumbo parsing<->serialization cycle is slightly different:
* better job preserving original whitespace
* literal non-breaking space characters are converted to entities
* <p> tags aren't inserted for the heck of it
* several _other_ entities are unnecessary, and output as literal characters
* some elements no longer have a closing tag
Change-Id: I7c5e36cbd04b8a05f64c9e0af00868dd6b00f4ce
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256444
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Fixes COMMS-644
Test plan:
- Create a course
- Create a group in said course and add a student to this group
- Conclude the coures
- Mascarade as the student
- Go to the groups page
- Verify the group is shown under the `Previous Groups` heading, and
that the group name is not a clickable link.
Change-Id: I6b68be00629b17f410e386024d97c253e6265bb2
Reviewed-on: https://gerrit.instructure.com/137857
Tested-by: Jenkins
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Landon Gilbert-Bland <lbland@instructure.com>
just do it the right way, since the shim doesn't seem to work in rails 5
this is just a massive find/replace (repeated, due to chained assignment)
refs CNVS-34867
Change-Id: I267a16bed05a116e463cf9301645270e79a2d80e
Reviewed-on: https://gerrit.instructure.com/104193
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
and remove a ton of legacy cruft
test plan:
- create/edit an assignment or discussion topic
- check the "This is a group <thing>" box
- click the "New Group Category" button
- the same "New Group Set" dialog that appears on the People page
should appear, and should be fully functional
- if you save the new group set, it should be selected in
the dropdown box in the assignment or discussion edit page
also:
- sanity check the course and account groups pages to ensure
I didn't delete something that's still needed
fixes CNVS-33593
Change-Id: Ieadc720ed6bce5cc35e6dd5dd7dbee7cca1545ca
Reviewed-on: https://gerrit.instructure.com/97402
Tested-by: Jenkins
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Chris Ward <cward@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
not a comprehensive list by any means, but these were
the ones that stood out
refs #CNVS-27773
Change-Id: I209d983155e740fe1990b8fc4b1a10167eb149d6
Reviewed-on: https://gerrit.instructure.com/75134
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Fixes: CNVS-28125
test plan:
- as a user that has groups set-up
- in old ui select the "Courses & Groups" link to get the
expanded sub-nav view - select the "View all groups"
- the groups should now be displayed in a table-style
view that matches the "all courses" page
- in new ui select the "Groups" link from the left-hand
nav - within the sub-nav select "all groups"
note: comparison of old view and new view
old: http://screencast.com/t/jBYtzJwIM3
new: http://screencast.com/t/DQxjJrZgSKg
Change-Id: I70a9c41eada11226ee6da5e2095abc6588f26f9f
Reviewed-on: https://gerrit.instructure.com/73822
Tested-by: Jenkins
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Fixes CNVS-10783
Test plan:
- Create a course
- Create a group in said course
- Add a user to said group
- As the user, visit /groups and ensure you see the group that
you were added to under "current groups"
- Conclude the course
- As the user, visit /groups and ensure you now see the group
under "previous groups"
- Do the same thing but with the course being soft concluded
(i.e. set a course end date that's in the past instead of
using the "conclude course" button)
- Have both a group in a concluded course and a group in an
active course at the same time and ensure that they still
show up correctly
Change-Id: Ibb940239a8604455d418111ef60c30d0cb3113d4
Reviewed-on: https://gerrit.instructure.com/57431
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Tested-by: Jenkins
QA-Review: Adrian Russell <arussell@instructure.com>
Multiple groups with the same name are now better identified with their
context names (and term names if they are courses).
Test Plan:
* Create two courses, with one of them in the Default Term
* Create course groups in those courses
* Add a student to both course groups
* As the student, go to /courses
* Make sure the course name appears under the group name
* Make sure the term name appears (unless it's in the Default Term)
* Do the same for /groups
test plan:
* create an admin that has read roster permission only
* as that user, you should be able to go to /accounts/X/groups, and not
error
Change-Id: I396d99f971cdbd2dd37b8e9a5a5d7ff578fe9667
Reviewed-on: https://gerrit.instructure.com/29009
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
the new dashboard design categorizes recent activity into buckets that can be
expanded/collapsed, and inidividual messages can be dismissed. the categories
are announcements, conversations, discussions and assignments. this redesign
applies to the homepage dashboard, the group home page, and the course homepage
when "recent activity dashboard" is selected as the course home page type.o
the motiviation is that the dashboard should capture and present in one place
important information happening in all the user's courses or groups, and allow
for jumping into this information to see more details:
- announcements/discussions should show on the dashboard when they are created,
or when there are root replies to recent announcements
- conversations should show on the dashboard when there is new activity
- assignments should show on the dashboard when they are created, or when
changes are made at least a couple hours after being created
the presence of a dashboard item means there is activity for that item that may
be of interest to the user. additionally, the dashboard items will show
read/unread state (excluding assignments) for items which the user has not yet
viewed.
additionally, global messages such as course inivitations, account level
announcements, and new user messages have been restyled, but will keep their
place above the recent activity widget on the dashboard.
test plan:
- visit many exising user's dashboards and make sure they are functional in the
new style.
- visit canvas as a brand new user (no enrollments), a new user enrolled in
a new course and make sure the dashboard is restyled and the messaging makes
sense.
- make an account level announcement and make sure it shows up on user's
dashboards.
- create all different types of conversations: single, group, bulk private,
from submission comment, add user to convo, etc. and make sure the
appropriate dashboard items appear and make sense
- create discussions and announcements, reply to them at the root level and at
the sub entry level (sub entries will not make new dashboard items), test
from both a read and unread user's perspective, making sure dashboard items are
correct. (note that read/unread state will not be correct for existing items
before this code is applied, but should be correct for future items moving
forward)
- dismiss dashboard items and account announcements, make sure they stay
dismissed.
- test creating assignments, waiting > 2 hours, and updating due dates or other
assignment details. make sure items appear. note that unread state will not
exist for assignment notifications.
closes#10783
refs #11038
refs #11039
Change-Id: I276a8cb1fae4c8a46425d0a368455e15a0c470c5
Reviewed-on: https://gerrit.instructure.com/14540
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>