Fixes CNVS-16494
test plan
- configure yo plugin with an api token
- configure a user's yo service with their yo username
(you'll need to install the yo app and register a user)
- set yo notification preferences to asap
- cause a notification to be sent
- ensure canvas yo's you
- ensure the yo link links back to canvas
Change-Id: I36ed467ed19842c2e92285ae20a3553272698f22
Reviewed-on: https://gerrit.instructure.com/42896
Product-Review: Joel Hough <joel@instructure.com>
QA-Review: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
refs CNVS-11947
the scoping tweak ensures that translate call with an explicit :scope
(ohai will_paginate) do not have their keys incorrectly scoped to the
current file
version bump also fixes issue w/ 5 built-in ActiveRecord translations not
resolving (e.g. "1 error prohibited this %{model} from being saved"), due
to the unfortunately named `i18n_scope` stomping an existing method with
a slightly different purpose. it doesn't appear that a user would ever
actually see any of these 5 strings in canvas, but ¯\_(ツ)_/¯
test plan:
0. create a bunch of page errors if necessary
1. go to /error_reports
2. confirm the pagination links say stuff like "Next →" instead of
"Next Label"
Change-Id: I9ff182863691fbceda44b105ab9bb94d9321b177
Reviewed-on: https://gerrit.instructure.com/43640
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
Reviewed-by: Jennifer Stern <jstern@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
this swaps out (most of) our ruby haax with i18nliner
test plan:
1. verify string extraction:
1. `rake i18n:generate` before and after this commit
2. confirm `config/locales/generated/en.yml` is identical
2. verify english defaults:
1. use canvas in english
2. confirm everything looks correct
3. verify translation keys/scopes:
1. run canvas w/ RAILS_LOAD_ALL_LOCALES=true and optimized js
2. use canvas in spanish
3. confirm that todo está bien
4. confirm you can now use i18nliner-y features:
1. call `t` without a key
2. use the fancy erb block syntax
Change-Id: I979479c0889fe7e31ee0c962a4bd1998ab54d711
Reviewed-on: https://gerrit.instructure.com/42785
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
fixes CNVS-2467
test plan
- verify you can set up the diigo plugin with the information in gollum https://gollum.instructure.com/OtherServiceTestAccounts
- on the user settings page, verify you can use your diigo username and password to register the service
Change-Id: I8d33a8c1c29a013c681488fcc38bbfe7b83cd398
Reviewed-on: https://gerrit.instructure.com/39942
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Test plan: Failed jobs should retry and fail permanently as expected,
rather than getting stuck in the locked state until the worker restarts.
You can test this from the console with:
Object.send_later(:class_variable_get, :@@blah)
And then run jobs.
Change-Id: Ic31cfe604686e6f15d95e75f3eb0e8a04f16cec1
Reviewed-on: https://gerrit.instructure.com/43396
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
Adds a PandaPub client and settings UI. This commit doesn't add any new
functionality or feature that use PandaPub - just the plumbing.
running and configuring PandaPub:
* Start up a local PandaPub instance. Easiest way is with Docker:
docker run --rm -ti -p 49000:3000 -e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=password zwily/pandapub:latest
* Log into PandaPub at:
http://$(boot2docker ip 2>/dev/null):49000/admin
with admin/password.
* Create a new application named "canvas"
* Create a new key with an expiration date in the future. Record
the key_id and secret.
* Log into Canvas and go to PandaPub plugin settings:
base_url: http://{DOCKER IP}:49000/
application_id: <id from created application>
key_id: <id from created key>
key_secret: <secret from created key>
* In your PandaPub admin section, open the "Console" tab for your
created application. In the "Subscribe" section, enter "**" in the
input box, and hit "Subscribe". This will show you the first 50
events that arrive for the canvas application you just created.
test plan for settings:
* Verify that the /plugins/pandapub settings page works, saving,
disabling, etc.
test plan for client via console:
* Set up and configure PandaPub in Canvas
* Open a Rails console
* Run this command to post a pandapub message:
CanvasPandaPub.post_update("/public/foo", {"a" => 1})
* Verify that the message showed up in your PandaPub console.
Change-Id: Ifddcbd335293c2a29f532b1e5fd44c23c8b910c4
Reviewed-on: https://gerrit.instructure.com/40311
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
closes CNVS-15881
This mostly involved adding hooks to the gem for things that we were
directly modifying in Canvas, then hooking into those points in the
canvas config/initializers/delayed_job.rb file.
Periodic jobs scheduling changed a bit as well -- there's no longer
support in the extracted gem for reading a special file under config/,
so I moved our periodic_jobs.rb file to a normal initializer.
test plan: delayed jobs should still work as before, including queuing
jobs, running the worker pool, and in tests.
Change-Id: I9ce57091d18f21f4355011fcb75230193d53facb
Reviewed-on: https://gerrit.instructure.com/42027
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
refs CNVS-15881
our delayed_job depends on this, so I'm pulling it out into a gem first,
so that we can fully gemify our fork of delayed_job and use it in other
apps.
I modified the code to be built on top of the after_commit callback
functionality added in rails3, and I pulled in the test_after_commit gem
(after making a fix to it), which emulates transaction callbacks in test
mode. This makes it easier to write tests that interacts with these
callbacks, and cleans up some code in the app that was checking for test
mode and changing behavior. Fortunately, it behaves well with once-ler.
Side note: now that we are on rails3, we could replace some, but not
all, of our usage of after_transaction_commit with after_commit AR
callbacks. I didn't do that in this commit, to minimize churn.
test plan: things that happen in commit callbacks should still happen as
expected. for instance, with caching enabled, changing a /plugins
setting should still take effect immediately, because the cache is
cleared in a commit callback.
Change-Id: I66af5f66bf9fa9354352ed37edec8bd92d8e39c8
Reviewed-on: https://gerrit.instructure.com/41819
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
- The "New Quiz Statistics" feature flag now converts the regular
statistics page into the new one that uses the React/CQS client app
- All Ember quizzes code gone
- canvas_ember_urls gem gone
- quiz_moderate feature flag gone
- quiz_stats feature flag is now allowed in prod
- statistics_cqs explicit/hidden route gone, but the statistics_cqs ERB
and coffee bundle are still there to help ease the transition later
Closes CNVS-16330
TEST PLAN
---- ----
- go to /courses/:course_id/quizzes/:quiz_id/statistics
+ verify you get the old/regular stats page
- enable the "New Quiz Statistics" feature flag
+ refresh that page, verify you see the new app
Now turn the flag on and off and play around the quizzes pages, verify
everything looks OK.
Change-Id: I01fc5da80fd206df08338823ffb446a1e3a06ed0
Reviewed-on: https://gerrit.instructure.com/42965
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
also change not_ended_enrollments to be a multishard association,
since the preloader now respects the shard of the owner
test plan:
* enroll an out-of-shard user in a course
* do GET /api/v1/courses/:course_id/users?include[]=enrollments
* it should include the enrollment for the out-of-shard user
Change-Id: If45f047fd12c15364076cfa7a1d3780e795e996f
Reviewed-on: https://gerrit.instructure.com/43167
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-14894
this fixes a problem finding shadow objects through has_through associations,
and also makes a tweak for matching global ids to try to better support 32 bit
architectures.
test plan:
- set up a course on a sharded account
- create one student in the site admin account and one in the new shard account
- enroll them both in the course
- create a Peer Review Assignment in the courses
- assign them to each peer review the other
- it should work
Change-Id: I8614791d145d11ef8ab5666234e2e7443f71f065
Reviewed-on: https://gerrit.instructure.com/42975
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
while recording, we weren't wrapping the default shard in a transaction,
so side effects could carry over to other groups/examples.
additionally, the previous version of once-ler added recording hooks to
any sharding group, whether or not it actually had any recordings. this
was sub-optimal, and also problematic for non-transactional tests.
this fixes a slew of the rerun failures.
also get rid of the ConnectionEnumerator, since an array suffices and is
easier to reason about (it was just like an array, except #each yielded
connections)
Change-Id: I8cf4d6fb74f2b048017a33c4fc50313cc8e5c19c
Reviewed-on: https://gerrit.instructure.com/38713
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
fix a blocking thing, and add a compatibility gem
and a few final missed things
fixes CNVS-16239
Change-Id: I6ffa4569f936173393eaf7225f7463a4ccba1c7c
Reviewed-on: https://gerrit.instructure.com/42715
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Braden Anderson <braden@instructure.com>
Product-Review: Braden Anderson <braden@instructure.com>
QA-Review: Braden Anderson <braden@instructure.com>
test plan:
* play Minecraft
* look at your user's most recent page view and asset access
* verify that entries were added for the LTI tool
Change-Id: I422a188ed80cbedbaa8b4ecafcb3262c6f2d1e14
Reviewed-on: https://gerrit.instructure.com/42783
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Braden Anderson <braden@instructure.com>
it has a rails 4 fix
Change-Id: I059d0d59ceb9db3e1ce6fe03c992d26470858d43
Reviewed-on: https://gerrit.instructure.com/42077
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
fixes #CNVS-14270
move broadcast policy into a gem of its own
to remove plugin deprecation warnings.
TEST PLAN:
-no behavior changes
-regression test notifications
(no need to hit them all, confirm that 3 or
4 separate notifications flow and
that will prove the pipeline)
Change-Id: If8445653ec09ab4d221124d85f9674d1cedd3751
Reviewed-on: https://gerrit.instructure.com/40899
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
fixes: CNVS-14531
ruby-saml-mod 0.1.30 fixes a bug with enforcing ISO-8859-1 encoding when
verifying the signature on the XML. This will fix issues with saml
assertions containing non ASCII characters.
Test Plan:
- Setup a SAML provider
- Setup a user in the provider that has a non ASCII/UTF-8 character in the
attributes passed back with the SAML response.
- Create a user to match from the provider in Canvas.
- The user should be able to log in throught the SAML provider.
Change-Id: Ib95c8d87acfad94c0d96957d3c2f0713738854f4
Reviewed-on: https://gerrit.instructure.com/41367
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Paul Hinze <paulh@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
closes CNVS-14268
Since this is very clearly our own fork of the gem at this point, I've
removed a lot of unused code, rather than fixing it up to work as a gem.
This includes:
* all the other processors besides mini_magick
* red_artisan, it was only used by the core_image processor
* geometry and the Array monkey patch, it was only used by image science
* the db_file_backend
* the Tempfile monkey patch, I fixed the AttachmentFu code to properly
create tempfiles with the desired extension
* removed the Technoweenie outer namespace, to match normal gem practices
test plan:
Attachments should still work as before, including viewing, uploading,
downloading, and thumbnail generation.
Change-Id: I94ff63182af839ec54b64714defd6912b0d91f65
Reviewed-on: https://gerrit.instructure.com/41281
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
There's a rails4 fix that isn't available in a published gem version,
yet.
test plan: compile assets, and verify that still works properly in rails3
Change-Id: I24e7815f8325d52764813eab353ae226dcec0d12
Reviewed-on: https://gerrit.instructure.com/41060
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Some of these tweaks to bin and config were made just to match what a
newly-generated rails4 project looks like.
Change-Id: I57a7c71e2ddd7f3295ffadf30cb0976c4d15db6a
Reviewed-on: https://gerrit.instructure.com/41186
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
we are seeing errors stream data from aws, when passing a block to read, which
appears tomatches this bug: https://github.com/aws/aws-sdk-ruby/issues/557. at
the time of this commit, it appears that upgrading the gem increases stability,
although it sounds like it is not a total solution yet, especially for ruby 2.
closes CNVS-15441
test plan:
- make sure file uploads to s3 still work
Change-Id: Ib2e84bc4697583337c1ad03da4677913a2a78aad
Reviewed-on: https://gerrit.instructure.com/40937
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
closes CNVS-13380
closes CNVS-8057
closes CNVS-5156
Test plan:
* scribd should no longer exist
* document previews should work in canvadocs
Change-Id: I5ac60c3e986f030c3aea88e32d2992ec7b1c7a08
Reviewed-on: https://gerrit.instructure.com/37895
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-15414
This applies to rails3 as well, we just use the appropriate version of
redis-rails for each.
test plan: redis should work as before, for both cache and data.
Change-Id: Ic34729190936a133b908e31ff186934fa435c1b6
Reviewed-on: https://gerrit.instructure.com/40898
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-15308
test plan:
* have multiple shards
* in console:
Rails.cache.write('a', 'b')
Shard.with_each_shard(parallel: 2) { Shard.default.activate { puts Rails.cache.fetch('a') } }
* you should see a bunch of b's (one per shard), and no errors
Change-Id: I5ad7b3ae7d6c03005d229f04cf5bc2ee1e51b948
Reviewed-on: https://gerrit.instructure.com/40832
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
makes the lockfile the same between 1.9 and 2.1
Change-Id: I3ab1c3c7a7fcb8e6a5aba0170744d04739029209
Reviewed-on: https://gerrit.instructure.com/40753
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-13611
test plan: run with_each_shard tasks, such as
Reporting::CountsReport.process. It should complete without error. To
fully test the fix, you'd need to do this in an environment that has
many shards.
Change-Id: I425e8c8fb352aba15d0e9bc87b74984d4b7b8900
Reviewed-on: https://gerrit.instructure.com/40487
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-14529
What it does:
- Adds feature flags for new styleguide styles
- Strips out un-needed variable highcontrast (these will need to
be set per element, not on the main color variables)
- Changes gemfile to point to temporary dress_code repo: we need this
so the dress_code generator strips out the parent tag
Test plan:
- get new gem: bundle install
- get new styles: npm run compile-sass
- regenerate styleguide: rake css:styleguide
- Make sure new_styles is disabled. You can do this in rails console:
Account.find(1).disable_feature!(:new_styles)
- Go to /styleguide and it should look the same as it does now
- Now turn on the feature flag. In rails console:
Account.find(1).enable_feature!(:new_styles)
- Refresh /styleguide and you should see are base starter styles for
the new look and feel!
Note: The new styleguide components are a wip and this request just
adds in the layout and styles specifically for the /styleguide page
to use while we work through all the components. You will notice
some funky looking ui - that's normal. We will be attacking these
components piece by piece.
Change-Id: I952b36346df77f98ddb7bbc5e27ab9b45ab4d8ca
Reviewed-on: https://gerrit.instructure.com/39600
Reviewed-by: Chris Hart <chart@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
temporarily uses our own gem again, until this gets merged upstream.
test plan: enable it in marginalia.yml , then verify that updates and
deletes get logged with the expected comment. i used the console:
Setting.create!(name: 'x', value: 'x').tap { |s| s.touch }.destroy
Change-Id: I5319551ffc4ac1444de3c78d094342cc79c6340c
Reviewed-on: https://gerrit.instructure.com/39982
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
(switchman handles the details)
test plan:
* in cache_store.yml, have something like:
oneoff:
cache_store: redis_store
development: oneoff
* launch rails console in development mode; Rails.cache should be a redis store
Change-Id: Ie12e655264b1f8c4a5df6ef31cf84d12cc913eb6
Reviewed-on: https://gerrit.instructure.com/39923
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
This turns the vendor/plugin into a rails engine, and establishes the
convention of canvas-dependent rails engines/gems going into
gems/plugins, and everything in that dir being auto-required and added
to canvas spec runs.
closes CNVS-14286
test plan: regression test on the respondus quiz builder client. no
behavior should change.
Change-Id: I51b548418bcb70af77e87c2c2d62cac27ed4ab44
Reviewed-on: https://gerrit.instructure.com/38394
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes #CNVS-14723
Change-Id: I2d02c692a0ef7429b1fdc55ace887ed3998a9a97
Reviewed-on: https://gerrit.instructure.com/39160
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
also, clean up ims-lti usage with pluralized lti methods
test plan:
- registrations should still work
- registrations without resource handlers
and using a default message handler should still work
fixes PLAT-566 PLAT-567
Change-Id: Icd9feca44ba9f5600d89a4943b0b93b34aeb78a5
Reviewed-on: https://gerrit.instructure.com/38182
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
QA-Review: Brad Humphrey <brad@instructure.com>
after many steps towards this moment, we're finally here
This yanks sass and compass out of canvas-lms
completely and instead uses the libsass based
node-sass to compile our SASS files.
wins:
It is WAYYY faster!
as in, < 10 seconds to recompile all css in canvas
(compared to the 5+ minutes it used to take)
It is all in JS, helping use move to a completely
nodeJS based fronted tooling workflow.
next steps:
remove jammit: we don't need an assets.yml file
since node-sass can output compressed css for us
and we use sass to do all of our @import'ing of other
files (@colleen calls those "compiler" sheets), this
would simplify and speed up fronted asset building
even more
use gulp/broccoli/whatev to do cached, incremental builds
test plan:
all outputted css should look exactly the
same as it used to.
run `npm run compile-sass`, make sure it works
and is way faster than `rake css:generate` used to be
Change-Id: I7d865ea6b3e374cdc27a883d2019a4c15746c0e2
Reviewed-on: https://gerrit.instructure.com/38416
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
even if it hasn't had a full manual regression check on it
Change-Id: Ia9275c1fe95236b750b602e34727d7cd2caf2936
Reviewed-on: https://gerrit.instructure.com/38603
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
extract core unzip functionality into canvas_unzip gem, and put
security logic there. use this gem instead of shelling out to
`unzip` (which does not have the option to skip symlinks).
test plan:
1. import 'evil_course_2.imscc' from CNVS-14338
* there should be an import warning
* you should get a blank syllabus body and
definitely not see sensitive system data
2. import 'evil_sis_import.zip' from CNVS-14346
* a file called '/tmp/pwn3d' should not have been
created on your app server
3. sanity check the parts of canvas that unzip things:
* course copy
* course import
* zip content imports via the API
* zip file uploads from files page
* assignment submission comments download/upload
* sis imports
fixes CNVS-14338
fixes CNVS-14346
Change-Id: I38fa141653eb7bc483e99a28a135831b8cb3b2a6
Reviewed-on: https://gerrit.instructure.com/37959
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
fixes: CNVS-14316
test plan:
* in the android native app, open anything that
loads in a webview
* you should not see a message of "Your browser
does not meet the minimum requirements for Canvas..."
Change-Id: Ic2dda05b54155e03923afaabcbe9ebd1066949f3
Reviewed-on: https://gerrit.instructure.com/37826
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
also switch rails3 lockfile to the default, so the spring binstub can
use the default lockfile and see itself
Change-Id: Id10cbc3df010671a59c73137a77583e2c2e0e5a8
Reviewed-on: https://gerrit.instructure.com/37802
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
This uses the fontcustom gem to compile our icons from svgs in the
public/fonts/ folder. No more complicated workflow for adding/editing
icons!
Way to test:
* Add your new svg to public/font/icons/
* Important!! Edit template file to update
stylesheet in public/font/_canvas-icons.scss
* Run the rake task to compile: bundle exec rake icons:compile
* Check the styleguide to make sure they're pulling in
* Done!
Update
fixes DES-101
-takes our core_en.js file (unneeded)
fixes DES-101
- Changes font directories
- Tweaked documentation
fixes DES-101
- Tweaked documentation
- Changed directories for font icon
- Added unique hash to font name
fixes DES-101
- Changed rake task to perform bundle exec
- Updated documentation
- Added missing config file
fixes DES-101
Takes out the default [date-icon] css fontcustom puts in
fixes DES-101
Take out all the icomoon comments in the svgs
fixes DES-101
Added missing icons to font
fixes DES-101
Adds the fontcustom gem to a different gemfile
Change-Id: I9860cb074baaf4518548c9d87c1177a14d96a44c
Reviewed-on: https://gerrit.instructure.com/36974
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
fixes CNVS-13306
fixes gh-453
MySQL refuses to change columns that have a foreign key on them
Test plan
- Run the polling migrations on MySQL
- They should migrate the database correctly.
Change-Id: Ib781c5237c0973b254043096e536ac094dd809cf
Reviewed-on: https://gerrit.instructure.com/35511
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
really old bundler versions don't support the ruby directive,
so give an obtuse error
Change-Id: I7ef5cd3c48b628751f2c540ef42df3d557417f95
Reviewed-on: https://gerrit.instructure.com/37556
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
refs CNVS-13987
what was called CanvasUuid was *not* generating UUIDs. it was generating
slugs. by default, its generate method only creates 4 character slugs.
these should obviously not be used as UUIDs. the misnomer already caused
a bug in EventStream where it used these slugs as UUIDs, causing
collisions. to fix:
(1) rename canvas_uuid gem to canvas_slug, and rename it's primary
class CanvasUuid to CanvasSlug
(2) create new canvas_uuid gem, with class CanvasUUID, extracted from
lib/uuid_singleton for actual UUID generation
(3) fix event stream use CanvasUUID, rather than following the rename
of CanvasUuid to CanvasSlug
test-plan:
- have cassandra set up for audit logs
- create an audit log entry (e.g. change a grade)
- look at the generated audit log entry's id field; it should be a UUID
value, not a 4 character slug
Change-Id: I19758fff4433cd6cb2e21219217dced19ee05c5a
Reviewed-on: https://gerrit.instructure.com/37506
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
it kinda is now
Change-Id: Ia21a1bcd8ea321c22eb8334c18638b7bae88e9c5
Reviewed-on: https://gerrit.instructure.com/37434
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
closer to 3.0, which we probably don't want to go to until
we can drop rspec 1 (rails 2)
Change-Id: I8affc4882bfc927a6d3b9bcc9c43fe5ab92cd3b7
Reviewed-on: https://gerrit.instructure.com/37326
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
sometimes it's needed to debug stuff in 2.1, cause it
fixes SystemStackError
bundler doesn't support it yet, so we have to use conditionals
instead of platform options
Change-Id: I88614634d24f36d7c18c999c1dc65eb91df65a32
Reviewed-on: https://gerrit.instructure.com/37010
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
so that it will use https
Change-Id: I6414d8ee064a98d6726ce5633ec1a960c3804b2e
Reviewed-on: https://gerrit.instructure.com/36722
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
for the OCD in all of us (and those that like to avoid
`bundle exec`)
Change-Id: Id4850f22a40b5a52b9a4ae89bccc3e774e17c834
Reviewed-on: https://gerrit.instructure.com/36313
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
This gives certain user-triggered events
a "look" as though they came directly from
that user (the FROM and REPLY-TO headers
have the name of the source user).
This also introduces "letter_opener" into the
dev environment. If you use "letter_opener"
as your send method for dev emails, it will
open all emails in a browser tab. Very useful.
closes: CNVS-11837
TEST PLAN:
Validate each of the following notifications
looks like it's "from" the source user:
- Submitting an assignment
- Resubmitting an assignment
- Posting to a discussion
- sending a conversation message
- posting a comment on a submission
Change-Id: I0e04aa9aa5bf31a590e69507e04b86b637247acf
Conflicts:
app/models/message.rb
Reviewed-on: https://gerrit.instructure.com/35362
Reviewed-by: Drew Bowman <dbowman@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Drew Bowman <dbowman@instructure.com>
Change-Id: I917579dfaf73f869b032aa9a5377129726095931
Reviewed-on: https://gerrit.instructure.com/35653
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
This changed from a part of the query string in cassandra 1.1 to a
separate parameter passed to execute in cassandra 1.2 and above.
Unfortunately we need to jump through some hoops to support both, until
we've fully upgraded to 1.2.
This commit adds a placeholder to the query string %CONSISTENCY% that
will be replaced with the chosen level in 1.1, and replaced with the
empty string in 1.2. Once we've upgraded to 1.2, we can remove all this
as it'll just be another option to the method.
closes CNVS-9273
test plan:
Using each of cassandra 1.1, 1.2, and 2.0:
* Clear out the consistency level Settings
* Setting.connection.delete("DELETE FROM settings WHERE name LIKE 'event_stream.%_consistency%'")
* Verify that page views and audit logs can be fetched, verify in the
rails logs that no consistency level is given in the CQL query
lines
* Set the consistency level
* Setting.set('event_stream.read_consistency', 'ONE')
* Verify that page views and audit logs can be fetched, verify in the
rails logs that consistency level "ONE" is given in the CQL query
lines. In 1.1, this will be in the query string, in 1.2 and 2.0 it
will follow the query in an options hash
Change-Id: I3d007376d096e6ed31a40e699e77dca4cdd065a2
Reviewed-on: https://gerrit.instructure.com/35171
Tested-by: Brian Palmer <brianp@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-12161
test plan
- regression test CAS login and logout
- logout should now include service parameter
Change-Id: Ieab7d53021eaf8697bf1636a438a6da4556df905
Reviewed-on: https://gerrit.instructure.com/33498
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
AKA: run all of our compiled sass through autoprefixer
so we don't serve css designed for browsers we
don't support and so that we do output css for the
browsers we do support.
This will result in us sending the browser A LOT less
css. see this patch for how much it will remove from
our current css:
https://gist.github.com/ryankshaw/fd0ea0a8af4596569dcb
The idea going forward would be to write your css
prefix-free and just let autoprefixer handle the
rest for you.
Also, now that this exists, we could (and should)
retroactively go through the code base and remove
some of these places where we have these prefixes
to keep our css more maintainable.
test plan:
open /styleguide (or any canvas page) in ie10 (or any browser)
it should look exactly the same as it did before
Change-Id: I7e55518d69580af692a8f04ac6fe2b491f7678af
Reviewed-on: https://gerrit.instructure.com/34940
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <cpalmer@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
fixes CNVS-12143
allow polymorphic names in ActiveRecord has_many
associations; when retrieving association, use these
names to retrieve records with different (but synonymous)
foreign_types
currently this gem only addresses has_many relationships
to achieve feature-parity with the existing Quizzes
monkeypatching. A future commit will address adding
similar functionality to other types of associations
test plan:
1) Create a quiz with id Q
2) Attempt the quiz twice, so you can see
both attempts on submission_history/ gradebook
3) In the rails console, get the set of attempts:
versions = Quizzes::QuizSubmission.where(quiz_id: Q).first.versions
4) Change the versionable_type of one of the attempts, but not the other:
versions.where(id: versions.first.id).update_all(versionable_type:
"Quiz")
5) Check the submission_history/gradebook to verify
that you still see both attempts
Change-Id: Ia9611a35705ba2929a92757f586a916dce90a4ee
Reviewed-on: https://gerrit.instructure.com/33505
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Anthus Williams <awilliams@instructure.com>
fixes: CNVS-10477
Test Plan:
Make sure auditing still works.
Change-Id: I021c0772ad0cf337d452b55bf690d15ce1a61a09
Reviewed-on: https://gerrit.instructure.com/31494
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
Refactoring the generation of quiz question statistics into its own gem.
This patch adds support for Essay question statistics.
Closes CNVS-12725
TEST PLAN
---- ----
- create a quiz with an essay question
- perform an API request to retrieve the quiz statistics
- ensure that the following metrics are generated and correct:
- "graded": number of students whose answers have been graded by the
teacher
- "full_credit": number of students who received a full score
- "point_distribution": a list of scores and the number of students
who received them (so if 2 students got graded for 3 points, it
should have a key of 2 and a value of 3), un-graded submissions
should be keyed under null
- "responses": number of students who answered the question
(wrote anything)
- "user_ids": IDs of those students
- documentation for QuizStatistics -> Essay should be updated with the
new stats
> Other things to test
- verify that the old statistics page still renders:
/courses/:course_id/quizzes/:quiz_id/statistics
- verify that you can still generate both student and item analysis
CSV reports
API endpoint for quiz stats:
/api/v1/courses/:courseid/quizzes/:quiz_id/statistics [GET]
Change-Id: Ib15434ff4cef89ac211c1f4602d1ee609ef48ec4
Reviewed-on: https://gerrit.instructure.com/33990
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
fixes: CNVS-12120
test plan:
- regression test facebook functionality
Change-Id: I041e726ee12f9eca8fc27ccdd049422073d1af15
Reviewed-on: https://gerrit.instructure.com/33595
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-12871
test plan:
* regression test on saml logins
* the saml login redirect should not contain newlines encoded in the
base64 (%0A characters)
Change-Id: I28470ce165ec1f8a90cfb22983d49d017bb72b80
Reviewed-on: https://gerrit.instructure.com/34311
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes: CNVS-12492
test-plan:
* Test that all things Twitter related still work
Change-Id: Ib656c5bfcb2dc8490a6fa6f214b0f6dce25ad181
Reviewed-on: https://gerrit.instructure.com/33193
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-12752, CNVS-12753, CNVS-12754
test plan:
- turn fabulous quizzes off
- visit an individual quiz with fabulous quizzes turned off
- switch fabulous quizzes on
- refresh the page
- it should redirect to the overview tab on fabulous quizzes
- the url should be something like: /courses/1/quizzes/fabulous_quizzes#/437
- turn fabulous quizzes off
- visit the quiz moderate page for a quiz with fabulous quizzes turned off
- switch fabulous quizzes on
- refresh the page
- it should redirect to the moderate tab on fabulous quizzes
- the url should be something like: /courses/1/quizzes/fabulous_quizzes#/437/moderate
- turn fabulous quizzes off
- visit the quiz statistics page for a quiz with fabulous quizzes turned off
- switch fabulous quizzes on
- refresh the page
- it should redirect to the statistics tab on fabulous quizzes (which is
currently an empty page)
- the url should be something like: /courses/1/quizzes/fabulous_quizzes#/437/statistics
- turn fabulous quizzes on
- edit a quiz
- when you save the quiz, it should redirect to the overview tab
- try other variations which should bring you back to the show/moderate/stats
pages. They should all bring you to the correct tabs on fabulous now
Change-Id: I85e8b628c0562d72c72a30e4e8340dd2cc0adcac
Reviewed-on: https://gerrit.instructure.com/34112
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
***test plan
1. have a user make an adobe connect recording
2. try to view the recording with a user that has
never made a recording
*user should also be enrolled in the course
3. verify that the user is taken to the recording
and not required to login
Change-Id: I1712c2745261860e2e0e06ecb288c6b0b344f786
closes: PS-1426
Reviewed-on: https://gerrit.instructure.com/33791
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jake Sorce <jake@instructure.com>
Product-Review: Adam Phillipps <adam@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
fixes: CNVS-12305
test plan:
summaries email should be formatted correctly with indentations.
twitter messages should not be longer than 140 characters.
Change-Id: I912a63b03c6c14de0c1d678063bb8fa33504d843
Reviewed-on: https://gerrit.instructure.com/33171
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-12182
test plan
- regression test on incoming mail
- use script/process_incoming_emails to manually trigger the processing
of incoming mail
Change-Id: Iccd74d8fe2b5af3d5eefe25a2736273e3bf559b0
Reviewed-on: https://gerrit.instructure.com/32794
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
Only site admins with the "Application Profiling" permission will see
this UI or be able to trigger profilings. The little UI that shows up in
the top left corner contains information on request timings, renderings,
AR queries and timings, and other information about the request.
When Redis is configured, you can share this information with others
(until it drops out of Redis) using a special link given in the UI.
closes CNVS-12563
test plan:
As a full site admin
* enable the profiling UI by appending ?pp=enable to a request
* visit canvas pages and verify you can see the new profiling UI
Verify that for all non site admins, the UI doesn't show up and cannot
be enabled with ?pp=enable. It also can't be enabled by other site admin
roles unless permission is given in the site admin permissions UI.
You don't need to do in-depth testing of the UI itself, though do a
quick smoke test to make sure it doesn't interfere with canvas at all or
modify the HTML returned for non-site-admins.
Change-Id: I4e71389af6b56bdff3617170c16b2ee70cea5c6f
Reviewed-on: https://gerrit.instructure.com/33541
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes: CNVS-12513
test plan:
- run rake tasks for i18n and jst
Change-Id: Ied2b1d67979e55356adfef1cc7aaed42aa0c4b5a
Reviewed-on: https://gerrit.instructure.com/33501
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
fixes: CNVS-11902
Test Plan:
Make sure Canvas is not broken. This will break a lot of things if it
does not work correctly.
Change-Id: I8701ff8c271a162a712fe3be05a4fd361430b26e
Reviewed-on: https://gerrit.instructure.com/32113
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
this commit lets canvas remember that an LTI has this extension.
launching and using LTI for content migrations will happen
separately.
refs LOR-20
test plan:
- configure an LTI tool with XML that includes the
migration_selection extension
- the tool should show up in the tool list with the "Migration
Selection" tag.
Change-Id: I880125515a32af1b9a39fbd1787617bceae74f50
Reviewed-on: https://gerrit.instructure.com/21442
Reviewed-by: Jake Trent <jaketrent@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
fixes CNVS-11426
The UI/UX team *really* wants to start doing some major style changes
to the canvas interface. Because it is a very visual change and especially
because we've let people hack the crap out of canvas styles with
their own css override file, any changes we do need to be behind a
feature flag so an institution can opt-in when they are ready.
This commit does some trickery so we actually create 4 different versions
of every stylesheet. one for each variant in:
legacy_normal_contrast legacy_high_contrast
new_styles_normal_contrast new_styles_high_contrast
and then sets the $use_new_styles and $use_high_contrast sass variables
accordingly in each.
now, in any sass file, you can do things like:
@if $use_new_styles {
background-color: red;
} @else {
background-color: blue;
}
@if not $use_high_contrast{
font-size: 12px;
}
test plan:
* in a production (minified assets) environment, ensure you see:
<link href="/assets/common_legacy_normal_contrast.css... in the <head> of the page
* go to the account settings page for the domain_root_account you are on
* turn on the "Use New Styles" feature
* now verify that <link href="/assets/common_new_styles_normal_contrast.css...
is in the <head>. There should not be any visible differences because we do
not have any styles that target specifically $use_new_styles yet.
* now, go to /settings and turn on the user feature for "Use High Contrast Styles"
* verify that <link href="/assets/common_new_styles_high_contrast.css..
is in the <head>
* again, turning that on will not actually change the way anything looks,
the next commit (g/32863) will take care of that
Change-Id: I45ba4ddfe780c5c819fb995b61ebfc0a5325d418
Reviewed-on: https://gerrit.instructure.com/31881
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
fixes: CNVS-11645
Test Plan:
Test the groups api endpoint at
api/v1/users/self/groups?context_type=Account
Make sure its not broken.
Change-Id: I2a17672f0e81530aa8623c5ed16b9cb0bb6b3ce5
Reviewed-on: https://gerrit.instructure.com/31417
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
fixes CNVS-10479
test plan:
- in a course with kaltura enabled
- go to a discussion and add media
- upload a video (use right tab, not the webcam)
- save the video/discussion post
- the video should be saved properly and viewable
(this sometimes takes a minute of two)
Change-Id: I40b9174807707dd1fb41125e04705422a8711d5d
Reviewed-on: https://gerrit.instructure.com/32024
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
refs: CNVS-11648
Test Plan:
Test the sub_accounts api endpoint and make sure the pagination
is not broken.
Change-Id: Ie59674a7a834698ac432307940305d6958cb73f1
Reviewed-on: https://gerrit.instructure.com/31413
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-12056
test plan:
* ordering/reordering of modules/module items should still work
* ordering/reordering of discussion topics should still work
Change-Id: I599b559933a4a89c9329d631d71f83343c6f24da
Reviewed-on: https://gerrit.instructure.com/32516
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
fixes: CNVS-11530
See PR: https://github.com/bracken/ruby-saml/pull/20
Test Plan:
Make sure SAML is not broken.
Make sure Signature element is not included in logout requests.
Change-Id: I9d17378136eb2cce4353731c90ab909bad0a54ca
Reviewed-on: https://gerrit.instructure.com/32558
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
fixes: CNVS-11890
Test Plan:
Canvas Should not be broken, test requests that use the SortLast and SortFirst
class. One is account settings. Make sure its sorted correctly. Another is
submissions_controller show method and make sure the visible rubric assesments
are sorted correctly.
Change-Id: I75a61475a928e069d6566fcc51305a6c442ec5a0
Reviewed-on: https://gerrit.instructure.com/32014
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Change-Id: Ib90c12b99d30853a0a1a0235c9aa1b5dd645f614
fixes: CNVS-11949
Reviewed-on: https://gerrit.instructure.com/32176
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
QA-Review: August Thornton <august@instructure.com>
during a previous commit
(SHA 10e7b5b003bea9aea3286b9170f5e04b8a9e3735)
we removed indentation of gems, but this indentation
had semantic significance for us: any gem which was
not required by canvas but was required by another
gem required by canvas was indented. This allowed us
to clarify that canvas didn't actually use the gems
while still locking into specific versions of each
Also added a comment explaining this to Gemfile
Change-Id: I0f476e1bed6156f2f5969e54d56d44ded5442a0f
Reviewed-on: https://gerrit.instructure.com/32588
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Anthus Williams <awilliams@instructure.com>
QA-Review: Anthus Williams <awilliams@instructure.com>
fixes: CNVS-11785
Test Plan:
Automated tests will check most of it. Make sure Canvas is not broken.
Change-Id: I797a71b492a043fc7d14b88457842bbde4295bb2
Reviewed-on: https://gerrit.instructure.com/31719
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
fixes CNVS-12130
test plan:
- have a RAILS_LTS file in a vendor/plugin folder
- it should be found by bundler
Change-Id: I9edeb6b24246b7bf5373367c168db77a14a35453
Reviewed-on: https://gerrit.instructure.com/32596
Reviewed-by: Anthus Williams <awilliams@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
this is a proof-of-concept to see if partitioning
our Gemfile helps more than it hurts. It's modeled
after the way the Squash team handles its dependencies
this doesn't implement any of the particularly nice
things that can be found in the Squash set up, such
as conditionally loading gems based on the contents
of our configuration files (we can already sort of
do this with groups in bundler), but it's a start.
In particular, it allows us to add non-OSS gems to
Gemfile.d without necessarily having to release it
as part of our open-source packaging
Change-Id: If7ff1fe97409de4cd09867ad5be1c4134c5d0117
Reviewed-on: https://gerrit.instructure.com/32442
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Product-Review: Anthus Williams <awilliams@instructure.com>
QA-Review: Anthus Williams <awilliams@instructure.com>