closes FOO-1372
flag=none
TEST PLAN:
1) send garbage encoded parameter to any endpoint
2) you get InvalidParam error and 400,
but no sentry report
Change-Id: I3c6e2b535bac1860c4208d16cfaa79f37b4f752c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255657
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
See https://github.com/redis/redis-rb/pull/414
This allows canvas to work cleanly with redis on newer passenger versions
which explicitly establish an activerecord connection before calling
starting_worker_process, since switchman also establishes a redis connection
and thus would generate a bunch of noise from trying to reuse a forked
redis connection.
Change-Id: I228cc6717362693892c36ca6616ccba15aaff2fc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255631
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
closes FOO-1350
TEST PLAN:
1) break an upstream service
2) request the upstream service
3) get 502s, not 500s
Change-Id: I4405942f41068ecafb7375fe3e21c8ae03ac1e71
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255393
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
Allow feature flags to be "allowed on". Updates user facing langauge
to be enabled/disabled + "(always)" or "(default)", which is clearer
than allowed, especially with 4 states. Also moves from backbone UI
to react UI rather than retrofitting the changes to the old UI. The
backbone ui can be killed in a separate PS. The new UI is easier to
ctrl-f on and presents the flags in alphabetical order according to
the user's current locale.
This includes a somewhat gross workaround for a bug in InstUI <Menu>
which is why it goes in an explicit <Popover>
fixes FOO-835
test plan:
- Ensure 'New Feature Flags' feature is off
- Make sure feature flags work in all the expected ways at the siteadmin, account, and course level
- Turn on 'New Feature Flags'
- Make sure that you can still use the feature flag ui in natural ways at each level
- Try turning a feature flag "on" but unlocking it/leaving it unlocked
- Ensure it is inherited on but overridable
Change-Id: I520824cdf6e18b5a7da5ab5f552a7fd3140fd4bf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/249917
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
closes EVAL-1330
flag=none
Test plan:
- Have a course with final grade override enabled and some students
and grading periods
- Take note of the IDs of one or more students
- Make a PUT request to the API endpoint:
- /api/v1/courses/<courseid>/update_final_grade_overrides
- With a JSON request body like the following (you can add additional
records if you feel like it):
{
"grading_period_id": "1",
"override_scores": [
{"override_score":"60", "student_id":"7"},
{"override_score":"61", "student_id":"125"}
]
}
- (Replace the grading period and student IDs above with values
applicable to you, or remove the grading_period_id parameter entirely
apply the change to the course override score)
- Check that the request returns a Progress object (which should
finish in short order) and that override grades in the gradebook are
updated to the values you set
- Check that changing override scores in this way populates gradebook
history
- Check that the following return unauthorized errors:
- Accessing the endpoint for a course without final grade override
enabled
- Accessing the endpoint for a concluded course
- Accessing the endpoint as a user who does hnot have permission to
manage grades
- Smoke test setting override grades manually from Gradebook
- Make sure it still works and populates gradebook history as before
Change-Id: I78d19d899485b40c6c812867a89b8352c215955f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/253921
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
QA-Review: Syed Hussain <shussain@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
flag = none
Test Plan:
- Jenkins build passes with browser 87
- docker locally builds and runs selenium tests on chrome 87
- local install of canvas runs seleniums on chrome 87
Change-Id: Id1600e002c202a4dd90405d9b68a3ff092cbd764
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255045
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
closes EVAL-1272
flag=grade_calc_ignore_unposted_anonymous
Test Plan:
1. Enable the 'Ignore Unposted Anonymous Assignments in Grade
Calculation' release flag. Create an anonymous assignment and
grade some students.
2. Before posting the assignment, enter a rails console and check the
unposted_* scores for the students. Verify:
- The unposted_* scores do not include the submission score from the
anonymous unposted assignment.
3. Disable the 'Ignore Unposted Anonymous Assignments in Grade
Calculation' release flag.
4. Enter a rails console again and check the unposted_* scores for the
students. Verify:
- The unposted_* scores include the submission score from the
anonymous unposted assignment.
5. Post the assignment to students. Then enter a rails console again and
verify the unposted_* scores for the students include the submission
score from the anonymous (now posted) assignment.
6. Re-enable the 'Ignore Unposted Anonymous Assignments in Grade
Calculation' release flag. Verify the unposted_* scores for the
students include the submission score from the anonymous (now posted)
assignment.
Change-Id: Ibb42b9f3164c08e3bc2a21fc02736760f58af51a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/251786
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
fixes gh-1636
i.e. Amazon Aurora
note that if you have a secondary set up that is in recovery, it will still
try to compute an LSN diff, and will likely fail, so this isn't a full
solution for using Aurora with multiple replicas
Change-Id: I35956bb386e00bdfa0fd7d34c31d4942a13b6e28
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254616
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>