Commit Graph

65127 Commits

Author SHA1 Message Date
balazs.buri 6593e40e39 remove FF: usage_rights_discussion_topics
flag=none

refs OUT-4187

test-plan:
- automated tests run
-qa-cr-

Change-Id: I9d3d046f6583aa8df1b9e93909dacc0044e11c55
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360912
Reviewed-by: Martin Dubai <m.dubai@instructure.com>
Reviewed-by: Szvetlin Tanyi <szvetlin.tanyi@instructure.com>
Product-Review: Martin Dubai <m.dubai@instructure.com>
QA-Review: Martin Dubai <m.dubai@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-27 07:43:19 +00:00
James Butters 801f8cd30c fix the container names
after the merge of 357959 we missed a couple of spots
to update the container names using hyphens.

[skip-crystalball]
[change-merged]
[build-registry-path=jenkins/canvas-lms/dockercomposehyphen]

Change-Id: I64a717a1ace4bdb9bb28d4242a6e658a93c0f994
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/361085
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Build-Review: James Butters <jbutters@instructure.com>
Reviewed-by: James Belleau <james.belleau@instructure.com>
2024-10-25 21:20:09 +00:00
Chrystal Langston e11e30fad0 Fix issue with showing recent feedback for assignments
When Discussion Checkpoints is enabled, any assignment feedback
that is not a discussion checkpoint is not displayed in Course
Recent Feedback. This PS ensures that all assignment feedback is
displayed.

closes VICE-4768
flag=discussion_checkpoints

Test plan:
- Specs are sufficient
- Prereq:
  - A course with an assignment and a student enrolled
- Disable the Discussion Checkpoints feature flag in the account
  settings
- As the student submit to the assignment
- Add a submission comment on the student's submission in
  SpeedGrader
- As the student go to the dashboard and note that the submission
  comment shows under Recent Feedback in the dashboard sidebar
- Enable the Discussion Checkpoints feature flag and clear the
  user cache for the student
- Go to the dashboard as the student and assert the assignment
  comment shows under Recent Feedback
- As an instructor, create a checkpoint discussion.
- As a student reply to topic and entry to fulfill the checkpoint
  requirements
- As an instructor, grade the reply to topic and required replies
  checkpoints and leave a comment
- As a student assert that the Recent Feedback section displays
  the assignment comment, two graded checkpoints but does not
  display the parent assignment to graded checkpoints

Change-Id: Id18177a64868b8744ef1883a146c5052ab40ecf3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360998
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Wilmer Corrales <wilmer.corrales@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Chrystal Langston <chrystal.langston@instructure.com>
2024-10-25 19:21:50 +00:00
Drake Harper 450aa9bfa8 Add error message to 'Discussion Topic initial query error'
refs FPI-389
flag=none

Test Plan:
- specs pass

Change-Id: I034896f0dde10a11d83f1ee8a5aba47a80922e5e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360890
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Daniel Matyas Vincze <daniel.vincze@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
QA-Review: Dora Csolakov <dora.csolakov@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-25 18:49:18 +00:00
Wilmer Corrales 9b8f5aece0 Linked students display in unpublished courses
closes EGG-78
flag=none

test plan:
- Create an unpublished course and enroll students and observers
- Click on the 3 dots next to one of the observers name and hit
  the “Link to students” button
- Start adding student names in the box and then hit the update button
- Leave the people page
- Go back to the people page and try to do the process again
- Validate that the names you previously added to the box remain
 and you can add someone new

Change-Id: Ic274ebf8414d32fea41c4c8ce604db9ca888160e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360830
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2024-10-25 18:22:56 +00:00
Ed Schiebel 29c994e000 Add the Divider Block to the block editor
closes RCX-2589
flag=block_editor

test plan:
  - add a divider block
  > expect a divider line

Change-Id: I33cac6d34709dd765281695ffdec2e6e36902afb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360975
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2024-10-25 14:28:13 +00:00
Jenkins c497290c26 update uk translation
Change-Id: I8220290c71aa3058e32c8b7a949a624180c10c6e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/361048
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-25 13:54:00 +00:00
Jenkins c002724ff9 update tr translation
Change-Id: I9b447d8ba19fe6aea138609911efdade1447de6a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/361046
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-25 13:53:16 +00:00
Jenkins 3e0deada06 update nn translation
Change-Id: I9d03dc7d21f27c43337c9608f652a93e2b7ecff9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/361045
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-25 13:52:34 +00:00
Jenkins 322ba5a0e2 update ko translation
Change-Id: I8b0cc95ce2e5daf61e23ca4683d0b2105787630c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/361044
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-25 13:51:50 +00:00
Jenkins b74c024b03 update hy translation
Change-Id: I14e640ee3ff2cbfb67fe55703b8678fd0f5c62be
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/361043
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-25 13:51:17 +00:00
Jenkins 6d23097da5 update hu translation
Change-Id: Ibb034ba47987f312ea5ab615d11cd6d7e8d459ed
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/361042
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-25 13:50:41 +00:00
Jenkins 1a2e1a69b1 update he translation
Change-Id: I682be437ecc0952f6054ff47b77c470f9e40ed67
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/361041
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-25 13:50:01 +00:00
Jenkins 2266f85054 update fa translation
Change-Id: I677f00d33aea191fc602d1a91df779933cf00d83
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/361040
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-25 13:49:22 +00:00
Jenkins 943df911da update el translation
Change-Id: I15f24141e589db80d8a5e3f1af715f075bd5b33e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/361039
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-25 13:48:43 +00:00
James Butters 741a725f52 update docker-compose to docker compose
[skip-crystalball]
[change-merged]
[build-registry-path=jenkins/canvas-lms/dockercomposeupdate]

Change-Id: Id8dac2c65a5b586fc5e419bbd83ecf565a71e33e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357959
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Build-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Gergely Máté <gergely.mate@instructure.com>
2024-10-25 13:25:20 +00:00
David Veres 13543fd7ea Adjust position of see all and search scrollbar
Description: Adjust the position for the See all button on
smaller mobile view and remove the scrollbars in the
search input in mobile view
test plan: Go to Discover page adjust the screen size down to 320px
flag=lti_registrations_page
refs LRN-8726

Change-Id: I6b291c9ab9bf6f3371e8bb0b9e5b01044aee0da2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/359936
Reviewed-by: Westin Humble <westin.humble@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Panna Kristóf <panna.kristof@instructure.com>
Product-Review: Panna Kristóf <panna.kristof@instructure.com>
2024-10-25 11:46:43 +00:00
Adam Molnar 7cd6542083 fix "Assign To" on mobile
fixes VICE-4633
flag=react_discussions_post

test plan:
- go to a discussion create/edit page
- append "?embed=true" to the URL
- try to add some sections, save
- it shouldn't crash the page

Change-Id: I76845f102c2a6acc7ef382e2f2804c17f9466f2d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360379
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
Reviewed-by: Daniel Matyas Vincze <daniel.vincze@instructure.com>
Reviewed-by: Janos Csizmas <janos.csizmas@instructure.com>
QA-Review: Mario Hegyi <mario.hegyi@instructure.com>
2024-10-25 11:40:21 +00:00
maciej.sasinsk 38935d0ec9 Adjust heading on group page
refs VICE-4745

flag = instui_nav

Testplan:
- Go to groups
- Check the situation when buttons are in one line with header and check
if they dont overlap and small space between them exist

Change-Id: If52e9ea140c85a32b89bd1aebd5656a735428381
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360703
Reviewed-by: Roland Beres <roland.beres@instructure.com>
QA-Review: Dora Csolakov <dora.csolakov@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-25 09:38:19 +00:00
Imre Foldes 925ca1fb8c fix cyclic reference of merged users
The main idea is the following: instead of simply calling
check_accounts_right? on the merged_into_user recursively, which might
run into an infinite recursion due to cyclic reference, let's collect
the merged_into_users chain in an iterative manner and select the first
user in the chain with associated_accounts.

fixes FOO-4789
flag=none

Test plan:
- Create two users through site admin: A and B
- Open user profile pages from site admin
- Merge A into B from rails console: UserMerge.from(a).into(b)
- Merge B into A from rails console: UserMerge.from(b).into(a)
- Set `workflow_state = 'deleted'` on related pseudonyms
- refresh the previously opened user profile pages
- CHECK:
  - User A should show user's profile (because it has deleted pseudonyms)
  - User B should return Access Denied (because it doesn't have any
pseudonym after the merge)

Change-Id: Id1cc16563a9c935bdd8a30dc73fbbd1bbe385c44
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/358412
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Imre Foldes <imre.foldes@instructure.com>
2024-10-25 07:56:38 +00:00
Ed Schiebel e7a7916ce9 Fix blank page template
closes RCX-2591
flag=block_editor

test plan:
  - click on +Page
  > expect a blank page template, followed by any other
    global page templates that exist (currently just 1)
  - click on New Blank Page
  > expect a blank page with a ColumnsSection having 1 column
  > expect to be able to add blocks to the column, to
    change column count, etc. Basically, it's a well behaved
    page.
  - start over and hover over the other template
  > expect the "Customize" button to appear
  - click it
  > expect a page of stuff

Change-Id: Ib67db145a42c5e85c5ab8856743e69e55d7cbe0b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360987
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2024-10-24 23:08:08 +00:00
Juan Chavez 761b17c2db Revert "Fix event pagination issue for assignments"
This reverts commit 56f14beb7e.

Reason for revert: This cause issues with some assignments in prod.

Change-Id: Ic2fa1359547e89c88d20d4a2e48f3492ea9a9672
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360560
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Sarah Gerard <sarah.gerard@instructure.com>
QA-Review: Sarah Gerard <sarah.gerard@instructure.com>
Product-Review: Sarah Gerard <sarah.gerard@instructure.com>
2024-10-24 22:34:22 +00:00
Matheus Costa b69e4c3bca Implement choose editor modal for page CRUD flows
closes RCX-2444
flag=block_editor

Test plan:
- Create a page and check the editor choice modal
  is opened up.
- Select the RCE and check the flow behaves normally
- Create a new page and select the block editor and
  check the block editor flow works like it should
- Create a page via module and edit it later, check
  the editor choice pops up, check both paths.
- Edit a page already with some content and check the
  editor choice does not popup.
- Try the page creation a couple times and check th
  remember my choice checkbox
- Check the modal no longer show up
- Clear the user preference that controls editor choice
- Try again and check the modal shows up like before

Change-Id: Ief8f5716ecca5e3f7d56a631c42cb3a284002ab5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360710
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: Luis Oliveira <luis.oliveira@instructure.com>
2024-10-24 22:01:24 +00:00
Xander Moffatt 5a74bc95b8 fix: Canvas.assignment.dueAt.iso8601 LTI variable
This variable was resolved to assignment.due_at, which
does not handle differentiated due dates. Especially
the case when a due date is set for a specific section
and no other due date is set for anybody else.

The new logic gets the due dates from submissions
and returns the latest due date set for any student.

note: this commit was reverted and redone, with an index
on submissions to make this query performant on large clusters

refs INTEROP-8870
closes INTEROP-8911
flag=none

test plan:
- install LTI 1.3 test tool
- setup custom variable for $Canvas.assignment.dueAt.iso8601
- create a course
- create a section in the course
- enroll at least 2 students in the course
  You need to activate them as well: log in and accept the enrollment
- create a section in the course with 1 of the enrolled students
- create an assignment in a Course
- set the due date to a future date, but only for the section
- do not set the 'Everyone else' due date
- launch the tool
- check if the LTI variable is expanded to the due date
- remove the due date from the assignment
- check if the LTI variable is not expanded
  it's value should be: $Canvas.assignment.dueAt.iso8601

Change-Id: Ib1f685fe5e0b02087a942131912a48f59991f666
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360974
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Reviewed-by: Ryan Hawkins <ryan.hawkins@instructure.com>
Migration-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
2024-10-24 21:48:19 +00:00
Jeremy Stanley c6703cbfe2 make eportfolio slug generation I18n-aware
eportfolio categories and entries have a "slug" generated by
stripping non-alphanumeric characters from the name. names in
non-Latin scripts end up resulting in completely empty slugs,
breaking edit links

(rant: https://gerrit.instructure.com/c/canvas-lms/+/68422
did the wrong thing about this problem; clearly I18n was
not considered nine years ago)

for this change, use the `to_url` helper used by wiki pages
(which transliterates non-Latin characters) instead of
a naive regex, which will prevent empty slugs going forward.
fall back on a randomly-generated slug if `.to_url` returns
an empty string.

also, do not regenerate the slug on every save; only do this
if the slug is blank or the name changes. this will prevent
content updates from breaking external links to eportfolio
pages.

finally, apply a datafixup to generate missing slugs

test plan:
 - before applying the database migration,
   - create ePortfolio sections with no alphanumeric characters
     in the name
   - create ePortfolio pages with no alphanumeric characters
     in the name
   - confirm that some of these cannot be edited
     (the `href` value in the `edit_page_link` is blank)
 - apply the database migration and verify the pages
   can be edited again
 - confirm that it is no longer possible to reproduce the bug

flag=none
closes FOO-4862

Change-Id: I69fa58adde4786420bf410e768b8d80ea9d55867
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360251
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
Migration-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2024-10-24 21:09:03 +00:00
Mysti Lilla 520670cac5 Fix media redirect blocking access
fixes RCX-2556
flag=rce_linked_file_urls

Test plan
- Ensure the authenticated_iframe_content
  feature flag shows is on
- Set up a video in a new quiz question
- Copy the quiz question to an item bank
- In a different course, add that item
  into a new quiz
- As a person who only has access to
  the second course, ensure they can
  access the video file

Change-Id: Ieb1dbee6d2ec52a6f6387a6e84011ec0b0867a84
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360475
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jorge Andres <jorge.andres@instructure.com>
Product-Review: Jorge Andres <jorge.andres@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Griffin Zody <griffin.zody@instructure.com>
2024-10-24 21:03:06 +00:00
Ed Schiebel 62cad59f92 Fix sizing if ImageBlock
closes RCX-2585
flag=block_editor

test plan:
  - create 2 columns
  - make one column tall (add a slew of icons?)
  - add an image to the other column
  - set size to percent and drag to make 100% tall
  > expect the image to fill the column
  - change among auto, pixel, and percent
  - resize the image
  > expect it to behave
  - look at the preview
  > expect it to behave

Change-Id: I9107dc07aea4de83cdb9c2f8b2a04b6e00b5a684
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360874
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2024-10-24 20:50:34 +00:00
Ed Schiebel 03200fc815 Fix GroupBlock alignment
closes RCX-2588
flag=block_editor

test plan:
  - create a page
  - put some stuff in a column
  - change horizontal alignment
  > expect the content to align correctly
  - change layout direction from column to row
  - change the vertical alignment
  > expect the contents to be correctly aligned
  - add a group block
  - put some stuff in it
  - resize it so it's larger than its contents
  - repeat the above exercise with the group

Change-Id: Ia6b23d70d174f85500b77d30e1e84365af705afc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360954
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2024-10-24 20:50:24 +00:00
Jeremy Stanley 330713980f don't surface SQL error messages in graphql
test plan:
 - undo this fix locally:
   https://gerrit.instructure.com/c/canvas-lms/+/358062/6/app/models/conversation.rb
 - attempt to send a conversation message
 - the graphql call should result in a 500 error and the invalid SQL
   should show up in /error_reports and not the browser console

flag=none
closes FOO-4874

Change-Id: I78686a28ce3c99d2137f35423dbd81fe5e833658
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360950
Reviewed-by: Keith Garner <kgarner@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2024-10-24 20:08:47 +00:00
Keith T. Garner 97c62b2563 add caching to heavy queries for selective release
This adds caching to queries that are commonly used to determine
visibilty, somtimes multiple times in the same call. For now, we'll
cache up to a minute to give the database some breathing room.

This also removes unused functions from the visibility services and
replaces a function with one provided by rails.

flag=none

test plan:
  - specs pass
  - determine if the queries are being cached by looking at the logs

Change-Id: I30cc97ea614a6fc9578582dc3d97be45e8427365
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360794
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Sarah Gerard <sarah.gerard@instructure.com>
QA-Review: Sarah Gerard <sarah.gerard@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
2024-10-24 20:02:31 +00:00
Caleb Guanzon 6a13dd4601 allow creating of nc groups via api
fixes EGG-256
flag=differentiated_tags

test plan:
- new specs must pass
- you can make the REST api requests
yourself if you want, keep in mind
it won't be that much different from
the specs

Change-Id: I527829430239701928cf17df81303cbdd9034d60
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360868
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
2024-10-24 18:49:58 +00:00
Chawn Neal ce26fe9b40 Set default entry to highlight speedgrader
fixes EGG-92
flag=discussion_checkpoints
flag=react_speedgrader

Test Plan:
0. Have a graded checkpoints discussion.
1. Open it in speedgrader:
- without url param entry_id and it will highlight an entry.
2. If entry_id is set that will be chosen over the default entry.
3. If you change to a new student it will default to an entry
(regardless if the entry_id is incorrect).

Change-Id: Icd4bd27b66f1aa777a292e0b1d23ed7c00f0af4e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360329
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2024-10-24 18:43:58 +00:00
Ed Schiebel 265cf8f1b8 fix ability to publish/unpublish templates
closes RCX-2570
flag=block_editor
flag=block_template_editor

test plan:
  - create a block page
  - save a template
  - from the Block Toolbox, click the 'x' in your template
  - change from published to unpublished or visa versa
  > expect its state in the toolbox to update accordingly
    (unpublished templates have a red border)

Change-Id: I665157802fcfa20a9e7948aae42e2d2dcb3bb3fb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360817
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2024-10-24 18:08:38 +00:00
Martin Yosifov 18118a2a32 Fix error in assignment_scope when checkpoints enabled
closes EGG-270
flag=discussion_checkpoints

Test plan:
- Enable discussion checkpoints feature flag
- Go to Calendar and open devtools->network
- Select only your own calendar and reload the page
- Verify that the requests for calendar_events with
type assignment and sub_assignment return 200 OK
- Alternatively, paste in browser the URLs below and
verify that they succeed without errors
{local canvas}/api/v1/calendar_events?type=assignment
{local canvas}/api/v1/calendar_events?type=sub_assignment

Change-Id: I998c02ed40228ed5f414ff34d25bc74eff091422
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360905
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2024-10-24 17:24:41 +00:00
Maya Tyner 8b622f26bf skip error-handling test in AccountList
fetchMock throws error to console, causing test to fail. No
straightforward fix, so skip for the time being.

refs FOO-4877
flag=none

test-plan:
- tests pass

Change-Id: I7e042476beb07401224490d8e1dea5813c8352e0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360949
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Maya Tyner <maya.tyner@instructure.com>
Product-Review: Maya Tyner <maya.tyner@instructure.com>
2024-10-24 16:46:26 +00:00
Xander Moffatt b32c0f4bff Revert "Fix Canvas.assignment.dueAt.iso8601 LTI variable logic"
This reverts commit 3a25dc44cf.

Reason for revert: on some clusters, this query does not perform well

Change-Id: I0579a51ec1718d235ba312234c08cea7b7375279
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360558
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
Product-Review: Evan Battaglia <ebattaglia@instructure.com>
2024-10-24 16:34:10 +00:00
Aaron Shafovaloff da025f1d33 improve useInfiniteQuery wrapper
Change-Id: Id2a1e2f76bc4a9d9a35569934704967b9dcc50cb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360829
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-10-24 15:00:35 +00:00
Keith T. Garner cb89667565 replace function with one provided by rails
Rails now provides a function that does the same thing as empty_id_hash,
so let's move over to using that.

flag=none

test plan:
 - specs pass

Change-Id: I6b624f81c47092997b51c95a7bb6a854bd897363
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360888
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
2024-10-24 14:43:50 +00:00
theo sorriaux 8de28a8ff4 Fix discussion entry creation
https://gerrit.instructure.com/c/canvas-lms/+/359689/ introduced a bug
This fix should resolve the 422 while trying to create a reply

flags=none

test plan
- Create a discussion
- Try to reply
- everything should work
- play with the sort order button
- refresh
- order should be preserved

Change-Id: I24ab6b05582fc93cd390cc399d03f187a8fbf905
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360917
Reviewed-by: Mario Hegyi <mario.hegyi@instructure.com>
QA-Review: Dora Csolakov <dora.csolakov@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
2024-10-24 14:43:44 +00:00
Janos Csizmas 520362e332 Force tablet view on Collaboration page
refs VICE-4747

flag = instui_nav

Test plan:
- Navigate to the collaboration page
- Check the adding button in desktop and tablet view
- Button should be unter the title in tablet view
- Check with instui_nav feature flag as well

Change-Id: Iaef5c3ac492e0ddd4c7656f94be0dd15e34ed168
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360523
Reviewed-by: Daniel Matyas Vincze <daniel.vincze@instructure.com>
QA-Review: Dora Csolakov <dora.csolakov@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
2024-10-24 14:43:15 +00:00
Janos Csizmas 8302380b88 Add label to Collaboration and BBB pages
refs VICE-4738

flag = none

Test plan:
- Navigate to BigBlue button page (need to set)
- Check the add button
- The button label should be Add Conference
- Navigate to collaboration page
- Check the add button
- The button label should be Add Collaboration

Change-Id: I6e9919056159966aef769f8578761944c6ec333d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360513
Reviewed-by: Theo Sorriaux <theo.sorriaux@instructure.com>
QA-Review: Dora Csolakov <dora.csolakov@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
2024-10-24 14:42:39 +00:00
Matheus fb6cc2f375 Remove newPageStepper and add createFromTemplate
closes RCX-2461
flag=block_editor

Test plan:
- Create a new page with the block editor
- Wait for the new full modal to appear with
  the option for a blank page and the templates.
- Check all the templates showed up.
- Choose to start from scratch and save.
- Check everything worked out fine with the new page.
- Create a new page and this time choose a template
- Check that the correct template got loaded on
  to the editor.
- Edit it and save and check the new page worked
  out fine.
- Ensure the createFromTemplate modal does not show
  up for block editor pages already created, even if they
  are empty.
- Ensure the above flows can be completed keyboard only

Change-Id: I7d849520bfcd5d470ef2d8bcaf02144ffad29c6b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360485
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
2024-10-24 13:00:40 +00:00
David Varga 0e47b734b1 Add postMessage show & hideNavigationMenu
Lti tools can use postMessages to interact
with platform. There was a
toggleCourseNavigationMenu getting deprecated now,
and replaced with a showNavigationMenu
and a hideNavigationMenu to explicitly show
or hide the navigation menu in course, account or group page.

closes INTEROP-8809
flag=none

test plan:
- Open a course or account or group page
- Launch lti 1.3 test tool
- Send postmessage in test tool to hide course NavigationMenu
   with message {"subject":"hideNavigationMenu"}
- Verify course navigation menu is hidden
- Send postmessage in test tool to show course NavigationMenu
   with message {"subject":"showNavigationMenu"}
- Verify course navigation menu is shown

Change-Id: I2d84e48b0dc193f9bfe63e70683d445e0a3c95ca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360518
Reviewed-by: Csaba Csuzdi <csaba.csuzdi@instructure.com>
QA-Review: Csaba Csuzdi <csaba.csuzdi@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-24 09:33:28 +00:00
theo sorriaux 8931245728 Change CommMessage doc
Add a better description for the different types of workflow_state

refs VICE-4603
flag=none

Test plan:
- Read the description
- It should be understandable

Change-Id: I5f82cd6948f8a8303a0d6a47f080edea8b15a23b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360707
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Daniel Matyas Vincze <daniel.vincze@instructure.com>
QA-Review: Daniel Matyas Vincze <daniel.vincze@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
2024-10-24 07:34:40 +00:00
Janos Csizmas 0edce7ea9b Fix breadcrumb link in announcements pages
refs VICE-4755

flag = instui_nav

Test plan:
- Ensure that the instui_nav feasture flag is enabled
- Navigate to the announcements page
- Select an announcements
- Check the breadcrumb in the loaded page
- Try it in the edit page as well

Change-Id: Ie04f94fb7c985de01bbe4384db9b27bf88ae6697
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360614
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Theo Sorriaux <theo.sorriaux@instructure.com>
QA-Review: Dora Csolakov <dora.csolakov@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
2024-10-24 07:20:58 +00:00
Janos Csizmas 2d1bb6a178 Add label to settings button on discussion page
refs VICE-4739

flag = none

Test plan:
- Navigate to Discussion list page
- Check the settings button
- Button has to be contains a settings label

Change-Id: Ic6372e2a5b26002ceb1c61ed8a3e5ff255c59171
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360516
Reviewed-by: Daniel Matyas Vincze <daniel.vincze@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Theo Sorriaux <theo.sorriaux@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
2024-10-24 07:19:38 +00:00
Evan Battaglia 7a1b980bf6 add Platform Notification Services LTI scope
flag=platform_notification_service
refs INTEROP-8895

Test plan:
- ensure the platform_notification_service FF is on for your root
  account
- start creating or editing an LTI developer key for the root account
- make sure the scope
  (https://purl.imsglobal.org/spec/lti/scope/noticehandlers) shows up in
  the form
- save the Dev Key with the scope added
- check the DB and make sure the scope is added to the DeveloperKey and
  the Lti::ToolConfiguration
- start a Dyn Reg flow and make sure the scope is listed in the
  scopes_supported send back to the tool
- finish the Dyn Reg flow including the scope. check the DB and make
  sure the scope is added to the DeveloperKey and
  the Lti::ToolConfiguration
- turn the platform_notification_service FF off
- start creating or editing an LTI developer key and make sure the scope
  doesn't show up in the manual form
- start a Dyn Reg flow and make sure the scope is _not_ listed in the
  scopes_supported send back to the tool

Change-Id: I719360763b8c02a9bbd2f6685e834fe68d5ddc1e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360395
Product-Review: Alexis Nast <alexis.nast@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
Reviewed-by: Paul Gray <paul.gray@instructure.com>
QA-Review: Paul Gray <paul.gray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-10-24 01:51:14 +00:00
Jason Gillett 2829bec5c8 Update group categories index method to be tag aware
The index method is the only one where we need to filter
out specific group categories based on permissions

The rest of the actions will just have an updated
permissions handler

refs EGG-254
flag=none

Test Plan
1. create a non_collaborative group category
2. Go to peoples page as a teacher
3. Verify that the category appears
4. as a student view the people page
5. Verify that the categories do not appear
6. turn off collaborative permissions for teacher
7. As a teacher view people page
8. Verify that the hidden group does not appear

Change-Id: Iabe83fd73e608c3af9c844cf9c1430cf13f211f8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360855
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Chrystal Langston <chrystal.langston@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
2024-10-23 23:56:36 +00:00
Evan Battaglia f2d8fe1c98 Add supported notificationTypes to LTI launch
This implements the part of the 1Edtech Platform Notification Service
specification, namely, platforms that support PNS should advertise the
supported notification types in LTI launches.

flag=platform_notification_service
closes INTEROP-8879

Test plan:
- Have an LTI tool whose developer key includes the scope
  https://purl.imsglobal.org/spec/lti/scope/noticehandlers
- turn the platform_notification_service FF on (`canvas-ffs flip` to get
  flag from checked out HEAD)
- launch the tool
- check that the
  https://purl.imsglobal.org/spec/lti/claim/platformnotificationservice
  claim is present in the JWT, and matches as described in the platform
  notification spec
- flip the FF off
- launch the tool check that the claim is not present
- flip the FF on and remove the scope from the key
- launch the tool check that the claim is not present

Change-Id: Ibd2e2d19263e86557fb8269188143892c2c2211e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360075
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
Reviewed-by: Paul Gray <paul.gray@instructure.com>
QA-Review: Paul Gray <paul.gray@instructure.com>
2024-10-23 22:18:13 +00:00
Chris Soto 68dc870987 fix zIndex issue with FindDialog and instui modal
this commit allows the FindDialog to take a new optional parameter to
specify a custom zIndex. without this change, the FindDialog modal would
be hidden behind the instui modal. this change should have limited
impacts because the default zIndex is set to 1000 if not specified,
which is the same as today.

closes EVAL-4774
flag=enhanced_rubric_assignments
flag=enhanced_rubrics

test plan:
- navigate to an assignment and click on the Create rubric button
- click on the "Create from Outcome" button
- verify that you can see and interact with the outcomes dialog

Change-Id: Ide11a4da1cf31597a784f6217af0aeea0d13b458
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/360873
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Chris Soto <christopher.soto@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2024-10-23 22:05:45 +00:00