{"push_id":642603581,"size":535,"distinct_size":535,"ref":"refs/heads/master","head":"e704f541f2a75e8ea9c349398a25e3a90fd7e2c3","before":"dd0f2b53f3419f722cc03dbf9aa03928901d7bcf","commits":[{"sha":"b5050b316cc4b98608ecdebde06d2284efb49923","author":{"email":"c878b263bec3799f413acc99986a9bb0680302bc@sfu.ca","name":"Patrick Chin"},"message":"Fix unintended group membership deletion\n\nPrevents removal of user from unrestricted groups when the user is enrolled in more than one section of a course. The previous code assumes that a student is enrolled in at most one section of a course. The new code checks for multiple enrollments.\n\nTest plan:\n- add the user to multiple sections of a course\n- add the user to an unrestricted group of the course\n- delete the user from one section\n- confirm that the user is still in the group","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/b5050b316cc4b98608ecdebde06d2284efb49923"},{"sha":"bc0363f830a7d8f54bdf950bf8aa27bf976c042b","author":{"email":"d630b17dcb6f54330e202f868831681842596d45@instructure.com","name":"Transifreq"},"message":"Updated nb translation\n\nChange-Id: I2336d7efa399c178896ccc711c11685214f09107","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/bc0363f830a7d8f54bdf950bf8aa27bf976c042b"},{"sha":"2f41f13076676b4c0fe007561047de4fcd2b46e1","author":{"email":"d630b17dcb6f54330e202f868831681842596d45@instructure.com","name":"Transifreq"},"message":"Updated zh_Hant translation\n\nChange-Id: Ic0b9ec4364da90d5d94e350aef400a23fb0683ae","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/2f41f13076676b4c0fe007561047de4fcd2b46e1"},{"sha":"ae0a791510626b7d8e740f1372baeead802035c7","author":{"email":"6d3e3f1a68388efca72d0ac9c9ecbc1039d2a9c2@instructure.com","name":"Brian Finney"},"message":"Don't blow up if a user's answer is not an option\n\nFixes CNVS-19274\n\nTest plan\n - The following should no longer error\n  https://ucdenver.instructure.com/courses/16213/gradebook/speed_grader?assignment_id=128057#%7B%22student_id%22%3A%2212288%22%7D\n\nChange-Id: I4b477254398b4bc025d6d692fcbcf986f3b5c28b\nReviewed-on: https://gerrit.instructure.com/50357\nReviewed-by: Cameron Sutter <csutter@instructure.com>\nProduct-Review: Cameron Sutter <csutter@instructure.com>\nQA-Review: Derek Hansen <dhansen@instructure.com>\nTested-by: Matt Fairbourn <mfairbourn@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/ae0a791510626b7d8e740f1372baeead802035c7"},{"sha":"d40786df8fc161bb959896db14af54b102c5db15","author":{"email":"e53c8988cd428dde240324ce2797c8eb7073560f@instructure.com","name":"Matthew Berns"},"message":"fix assignment disappearing from view when added to new group with drag and drop\n\nfixes CNVS-18904\n\ntest plan:\n- already have a group with at least 1 assignment\n- create a new group\n- drag an existing assignment to the new group\n- then add an assignment with the \"+\" on the new group\n- both assignments should still be visible\n- assignment list items in group should have no change to expected behaviors\n\nChange-Id: I5dc18e5008d293b8ebb57d97878ed0db27e88eda\nReviewed-on: https://gerrit.instructure.com/49787\nTested-by: Jenkins\nReviewed-by: Mike Nomitch <mnomitch@instructure.com>\nReviewed-by: Simon Williams <simon@instructure.com>\nQA-Review: Adam Stone <astone@instructure.com>\nProduct-Review: Hilary Scharton <hilary@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/d40786df8fc161bb959896db14af54b102c5db15"},{"sha":"c70acb6585cd81bd0b8cb8721a066296250b9d8d","author":{"email":"3a5f4ed991dbfa5c9ef76ad729d240ca12f62180@instructure.com","name":"James Williams"},"message":"don't load module json js_env data for students on modules index\n\ntest plan:\n* modules index should still work for students\n (and be a lot faster if there's a lot of modules)\n\ncloses #CNVS-19277\n\nChange-Id: If876e8c2213815df3c6dcef7c8370e6cdfc61a13\nReviewed-on: https://gerrit.instructure.com/50361\nReviewed-by: Jeremy Stanley <jeremy@instructure.com>\nProduct-Review: Jeremy Stanley <jeremy@instructure.com>\nTested-by: Jenkins\nQA-Review: Derek Hansen <dhansen@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/c70acb6585cd81bd0b8cb8721a066296250b9d8d"},{"sha":"2eebdb381646018bcab332e7d086aaa26cc24d1f","author":{"email":"d630b17dcb6f54330e202f868831681842596d45@instructure.com","name":"Transifreq"},"message":"Updated tr translation\n\nChange-Id: I392f058e0595f70757ee8045438d4c27d974b9ea","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/2eebdb381646018bcab332e7d086aaa26cc24d1f"},{"sha":"8a800af3e1ee5972a0203a86002f794cf1ed0926","author":{"email":"b3f594e10a9edcf5413cf1190121d45078c62290@instructure.com","name":"Jeremy Stanley"},"message":"remove discussion entry attachment foreign key constraint\n\nthis constraint is problematic because entries belong to the course's\nshard, but attachments belong to the user's shard.\n\ntest plan:\n - a user from a different shard than the course should be able to\n   attach files to discussion entries without error\n\nrefs CNVS-19181\n\nChange-Id: I7055b63df48a3726a615dd3b8810ad45633edc9a\nReviewed-on: https://gerrit.instructure.com/50222\nTested-by: Jenkins\nReviewed-by: James Williams  <jamesw@instructure.com>\nQA-Review: Clare Strong <clare@instructure.com>\nReviewed-by: Jacob Fugal <jacob@instructure.com>\nProduct-Review: Jeremy Stanley <jeremy@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/8a800af3e1ee5972a0203a86002f794cf1ed0926"},{"sha":"0a24190c9ac285f87532e2a5a95a73bfa923d0d8","author":{"email":"8f0644d105785a923e938c7b131e3ab930cb6139@instructure.com","name":"Jayce Higgins"},"message":"Adds assignment override objects to /assignments API response\n\nFixes: SIS-852\n\nWith the overrides flag sent to the /assignments\nendpoint in canvas, the response will include all\nassignment override objects\n\nTest-Plan:\n1.) Hit the assignments end-point in canvas\n2.) Verify that assignment overrides are a part of\n\tthe response.\n\t- response['overrides'] should not be nil\n\nChange-Id: I8e3e7d507a71ef7da1b3626035b53e13315b1497\nReviewed-on: https://gerrit.instructure.com/49864\nTested-by: Jenkins\nReviewed-by: Tyler Pickett <tpickett@instructure.com>\nQA-Review: Jeremy Putnam <jeremyp@instructure.com>\nProduct-Review: Jayce Higgins <jhiggins@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/0a24190c9ac285f87532e2a5a95a73bfa923d0d8"},{"sha":"3e87551e76008c37befe6b17908f1ee9decf1323","author":{"email":"25919c673621c006b735dcd5a28df63325948e2b@instructure.com","name":"Aaron Cannon"},"message":"Accessibility: Due Date and related fields have labels in a more logical place\n\nFixes CNVS-18879\n\nTest plan:\n- Visit assignments as a teacher, and create a new one.\n- Using a screen reader, arrow through the due date section\n- Verify that the labels for those fields are not read as a group before all\n  the fields.\n- Verify that each label is read directly before the form field it applies to.\n- Tab through the fields and verify that each field's label is read on focus.\n\nChange-Id: I196618ad5759418f0f5f53b4f88ad52d91e7f858\nReviewed-on: https://gerrit.instructure.com/50154\nProduct-Review: Aaron Cannon <acannon@instructure.com>\nTested-by: Jenkins\nReviewed-by: Simon Williams <simon@instructure.com>\nQA-Review: Adam Stone <astone@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/3e87551e76008c37befe6b17908f1ee9decf1323"},{"sha":"260c0083fb6fce2487db9ef0c0d62d6beeae18b2","author":{"email":"3a5f4ed991dbfa5c9ef76ad729d240ca12f62180@instructure.com","name":"James Williams"},"message":"fix translation of modules in imported quizzes\n\ntest plan:\n* create a link to a module or module item in a\n quiz description\n* copy the course\n* should still work\n\ncloses #CNVS-19159\n\nChange-Id: I3dcd98c3db225815f24e2ea7a2198303f61652e8\nReviewed-on: https://gerrit.instructure.com/50216\nTested-by: Jenkins\nReviewed-by: Jeremy Stanley <jeremy@instructure.com>\nProduct-Review: Jeremy Stanley <jeremy@instructure.com>\nQA-Review: Clare Strong <clare@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/260c0083fb6fce2487db9ef0c0d62d6beeae18b2"},{"sha":"9b48eee477f4c69f3c37ba4cf357f9b005069581","author":{"email":"e794458448443812fb2685675aab3bbd1a3891bc@instructure.com","name":"Steven Shepherd"},"message":"Refactored and updated conferences.rb with deletion and visibility tests\n\nAlso created a new Conferences helper and prioritized test order\n\nTest Plan:\n  * Run Specs\n\nChange-Id: I8a684b72e1ac84b10590684c7a766bdd9b94f3d0\nReviewed-on: https://gerrit.instructure.com/50117\nReviewed-by: Caleb Guanzon <cguanzon@instructure.com>\nReviewed-by: Derek Hansen <dhansen@instructure.com>\nTested-by: Jenkins\nReviewed-by: Pedro Fajardo <pfajardo@instructure.com>\nProduct-Review: Derek Hansen <dhansen@instructure.com>\nQA-Review: Derek Hansen <dhansen@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/9b48eee477f4c69f3c37ba4cf357f9b005069581"},{"sha":"32eda2811d0d961049d5bbd89fad45b181097fb0","author":{"email":"b3f594e10a9edcf5413cf1190121d45078c62290@instructure.com","name":"Jeremy Stanley"},"message":"don't mark locked pages and topics viewed for progressions\n\ntest plan:\n - have an unlocked module containing some item\n - have a module that unlocks in the future, containing a wiki page\n   and a discussion topic, and \"must view\" completion requirements\n   for each\n - as a student, view the unlocked module item from the first step,\n   and use the module sequence footer to proceed to the items in\n   the locked module\n   - for each item, you should see a message saying when the content\n     will be unlocked\n - as a student, return to the modules page. the locked items for\n   which you saw the lock message should not be marked as viewed\n\nfixes CNVS-11976\n\nChange-Id: I1ecdbde82cd87a4c1b5cf251afb099cbb207ca09\nReviewed-on: https://gerrit.instructure.com/50393\nTested-by: Jenkins\nReviewed-by: James Williams  <jamesw@instructure.com>\nQA-Review: Clare Strong <clare@instructure.com>\nProduct-Review: Jeremy Stanley <jeremy@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/32eda2811d0d961049d5bbd89fad45b181097fb0"},{"sha":"13daa43d2d8b2513af3e278d754056b02a4b252b","author":{"email":"73eeb0b2f65d05a906adf3b21ee1f9f5a2aa3c1c@instructure.com","name":"Ethan Vizitei"},"message":"Don't strip out lang attributes when sanitizing html\n\nfixes CNVS-18648\n\nThis was suspected to be a tinymce problem,\nbut tiny wasn't stripping lang at all (which\nis why the reporter was confused that it was\nin the white list).\n\nThis adds rspec (and therefore specs)\nand the sanitize dependency\nto the canvas_sanitize gem, adds a spec\nthat proves the sanitization problem was in here,\nand then changes the default config to allow the\nlang element to show up on html elements.\n\nTEST PLAN:\n - Open an RCE in Canvas\n - Use the HTML editor and paste in <p lang=\"es\"> Hola. Como estas?</p>p>\n - Save\n - Edit and verify that the lang attribute hasn't been stripped\n\nChange-Id: Iff9129a8cbff4b4efd004e619ef92c7395dda568\nReviewed-on: https://gerrit.instructure.com/50255\nReviewed-by: Jeremy Stanley <jeremy@instructure.com>\nProduct-Review: Jeremy Stanley <jeremy@instructure.com>\nReviewed-by: Dan Minkevitch <dan@instructure.com>\nTested-by: Jenkins\nQA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/13daa43d2d8b2513af3e278d754056b02a4b252b"},{"sha":"a2f74845920881460f49f9b74f24a5ab9ce23391","author":{"email":"b3f594e10a9edcf5413cf1190121d45078c62290@instructure.com","name":"Jeremy Stanley"},"message":"fix usage rights for course files on user files page\n\ntest plan:\n - enroll a teacher in a course where the account enables\n   \"better file browsing\" and \"require usage rights\".\n - upload a file into the course.\n - from the user's files page, expand the course's folder and\n   ensure usage rights can be set on the course file\n - confirm that the rights are reflected on the course files page\n\nfixes CNVS-19160\n\nChange-Id: Id999015a04b946713747a7bc5781f0e41195ac71\nReviewed-on: https://gerrit.instructure.com/50259\nTested-by: Jenkins\nReviewed-by: Clay Diffrient <cdiffrient@instructure.com>\nQA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>\nProduct-Review: Jeremy Stanley <jeremy@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/a2f74845920881460f49f9b74f24a5ab9ce23391"},{"sha":"9f0448b646d29753db6ae05e2b9b37fb3418675b","author":{"email":"73eeb0b2f65d05a906adf3b21ee1f9f5a2aa3c1c@instructure.com","name":"Ethan Vizitei"},"message":"Allow switching media players with many players loading\n\nfixes CNVS-16057\n\nthis problem was reproducible without any canvas wrapper at all as long\nas we're dynamically throwing a ton of new players at the page every\ntime we click a link. By default it's causing each new player to try to\npreload it's content, and that's causing issues for the browser\nas it tries to decide which stream to continue, and it's not great at\nbreaking away from a queue of active downloads just beacuse a media\nplayer pauses. There are probably smart and great ways to handle this\nbetter inside mediaelement.js by improving that library, but what we\nhave found to be effective for mitigating the issue for Canvas is to use\nthe \"preload='none'\" attribute on each media element as it's added to\nthe page.  Since we immediately click on it anyway as part of activating\nthe media comment, it still kicks off the download immediately, but the\nbrowser appears to be more conservative about trying to download all\nthe media elements on the page at once that way giving smoother\nand more snappy transitions between playing various media elements\n\nalso did a little dependency breaking to move away from deeply nested\nfunctions inside of \"mediaComment.coffee\" while we were in there\nanyway.\n\nTEST PLAN:\n - create a new page in pages\n - use \"instructure record\" tinymce plugin to insert like\n    20 different media comments\n - go to the page as a consumer (someone visiting to read, not edit)\n - click on the first media comment, let it just start, then open\n    another media comment, and after it's played for a second or two,\n    open a third, etc.\n - each time you open a new media element it should cleanly shift\n   playing focus to the latest engaged element without big lag\n\nChange-Id: I13e2115f15e83fe7c367299865be2e1a16396492\nReviewed-on: https://gerrit.instructure.com/50336\nTested-by: Jenkins\nReviewed-by: Jacob Fugal <jacob@instructure.com>\nReviewed-by: Ryan Shaw <ryan@instructure.com>\nQA-Review: August Thornton <august@instructure.com>\nProduct-Review: Ethan Vizitei <evizitei@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/9f0448b646d29753db6ae05e2b9b37fb3418675b"},{"sha":"57e333ca1db3329eead769a68ac19c7faaa8b945","author":{"email":"73eeb0b2f65d05a906adf3b21ee1f9f5a2aa3c1c@instructure.com","name":"Ethan Vizitei"},"message":"don't make good urls with \"@\" in them mailto links\n\ncloses CNVS-14427\n\nStops bad behavior for big links from google maps\nand such that have \"@\" in the middle of them, but\nreally aren't email addresses.\n\nAlso extracts this transformation into a function\nin the new \"editor_box_utils\" module, which will\nhenceforth hold all functions like this that are\nextracted from tinymce.editor_box for better (read:\n\"any\") unit testing.\n\nTEST PLAN:\n - Create a wiki page in your course and name it and type some text in the\n  body.\n - Highlight the text you added to the body of the message and then click\n  on the \"Link to URL\" button from the content editor bar and specify a\n - url with an \"at\" symbol in it such as the one below to link to.\n   https://www.google.com/maps/place/331+E+Winchester+St,+Murray,+UT+84107/@40.633021,-111.880836,17z/data=!3m1!4b1!4m2!3m1!1s0x875289b8a03ae74d:0x2e83de307059e47d\n - Click on insert link and create the page\n - CHECK THE SOURCE AND MAKE SURE IT HASN'T BECOME A MAILTO LINK!\n\nChange-Id: I27ac9387cfe7b80a5d293b14f4c3491a77b1e267\nReviewed-on: https://gerrit.instructure.com/50272\nTested-by: Jenkins\nReviewed-by: Ryan Shaw <ryan@instructure.com>\nQA-Review: August Thornton <august@instructure.com>\nProduct-Review: Ethan Vizitei <evizitei@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/57e333ca1db3329eead769a68ac19c7faaa8b945"},{"sha":"928c141cda8eebcedd957b112ad06e1b5a3d1abe","author":{"email":"73eeb0b2f65d05a906adf3b21ee1f9f5a2aa3c1c@instructure.com","name":"Ethan Vizitei"},"message":"Translate equations back into editor\n\nfixes CNVS-18342\n\nThis was treating \"img\" tags inside the editor\nas text for the purposes of extracting an equation.  By\nchecking the \"text\" with a regex for actually being an img tag,\nin that case we can wrap it in a jquery object and parse it\nthe right way for the equation editor.\n\nAlso put in some specs for the EquationEditorView\n\nTEST PLAN:\n- go to a tinymce editor\n- Click on the LaTeX \"π\" icon.\n- Create any equation & click \"Insert Equation\"\n- Select the inserted equation and click on the (now highlighted) LaTeX\n\"π\" icon.\n- Make sure that the entire HTML img tag doesn't get pulled in, just\n  the alt attribute\n\nChange-Id: Ic917af7698c64dc22e07afa7e514e6cb22e6f858\nReviewed-on: https://gerrit.instructure.com/50362\nTested-by: Jenkins\nReviewed-by: Ryan Shaw <ryan@instructure.com>\nQA-Review: August Thornton <august@instructure.com>\nProduct-Review: Ethan Vizitei <evizitei@instructure.com>","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/928c141cda8eebcedd957b112ad06e1b5a3d1abe"},{"sha":"6990bfc4656a6a9fdde4cb8adb00818f48d0fb10","author":{"email":"d630b17dcb6f54330e202f868831681842596d45@instructure.com","name":"Transifreq"},"message":"Updated ar translation\n\nChange-Id: Id281dc5c0704fd7d9d7d58c80b513c9c27a26e9f","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/6990bfc4656a6a9fdde4cb8adb00818f48d0fb10"},{"sha":"b98d2670d1ad2b1a2b976736deb35c147271bfdf","author":{"email":"d630b17dcb6f54330e202f868831681842596d45@instructure.com","name":"Transifreq"},"message":"Updated de translation\n\nChange-Id: Ib3f89aa0353a118df39234abfd0e5d974abf5f25","distinct":true,"url":"https://api.github.com/repos/redconfetti/canvas-lms/commits/b98d2670d1ad2b1a2b976736deb35c147271bfdf"}]}