From 0e09533390c86797ab45aa6800162d9910145aa8 Mon Sep 17 00:00:00 2001 From: Luca Zanetti <90850610+Mex7180@users.noreply.github.com> Date: Wed, 13 Sep 2023 05:14:15 +0200 Subject: [PATCH 1/5] [#12314] Popover appears in front of modal blocking buttons (#12573) * Add mouseenter event and close tooltip if button is clicked * Remove added code from session-submission-page * Update question-submission-form.component.html Co-authored-by: Jason Qiu --------- Co-authored-by: Jason Qiu --- .../question-submission-form.component.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/web/app/components/question-submission-form/question-submission-form.component.html b/src/web/app/components/question-submission-form/question-submission-form.component.html index 069c63a0899..5f964b5cb39 100644 --- a/src/web/app/components/question-submission-form/question-submission-form.component.html +++ b/src/web/app/components/question-submission-form/question-submission-form.component.html @@ -214,7 +214,8 @@

Question {{ model.questionNumber }}: {{ mode
From ed3d5f0ea97c93bb68878651670a36841cf67ebd Mon Sep 17 00:00:00 2001 From: Bryan Lejkowski <83157275+blejkowski@users.noreply.github.com> Date: Thu, 14 Sep 2023 21:40:43 -0400 Subject: [PATCH 2/5] [#12499] Flickering questions when loading session results (#12570) * [#12499] Fixed flickering questions when loading feedback session results. * Update question-response-panel.component.ts * Update question-response-panel.component.ts * Update question-response-panel.component.ts * Update session-result-page.component.spec.ts * Update question-response-panel.component.ts * Update question-response-panel.component.ts * Update question-response-panel.component.ts --------- Co-authored-by: Jason Qiu --- .../question-response-panel.component.ts | 3 ++- .../session-result-page/session-result-page.component.spec.ts | 2 +- .../session-result-page/session-result-page.component.ts | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/web/app/components/question-response-panel/question-response-panel.component.ts b/src/web/app/components/question-response-panel/question-response-panel.component.ts index e1b3a9d6e4c..e44f8a56f55 100644 --- a/src/web/app/components/question-response-panel/question-response-panel.component.ts +++ b/src/web/app/components/question-response-panel/question-response-panel.component.ts @@ -96,6 +96,7 @@ export class QuestionResponsePanelComponent { next: (sessionResults: SessionResults) => { const responses: QuestionOutput = sessionResults.questions[0]; if (responses) { + question.hasResponse = true; question.feedbackQuestion = responses.feedbackQuestion; question.allResponses = responses.allResponses; question.otherResponses = responses.otherResponses; @@ -104,7 +105,7 @@ export class QuestionResponsePanelComponent { question.responsesToSelf = responses.responsesToSelf; question.hasResponseButNotVisibleForPreview = responses.hasResponseButNotVisibleForPreview; question.hasCommentNotVisibleForPreview = responses.hasCommentNotVisibleForPreview; - } else { + } else { question.hasResponse = false; if (question.errorMessage) { this.statusMessageService.showSuccessToast('Question ' diff --git a/src/web/app/pages-session/session-result-page/session-result-page.component.spec.ts b/src/web/app/pages-session/session-result-page/session-result-page.component.spec.ts index 9cffde1612e..48c6b131a2b 100644 --- a/src/web/app/pages-session/session-result-page/session-result-page.component.spec.ts +++ b/src/web/app/pages-session/session-result-page/session-result-page.component.spec.ts @@ -391,7 +391,7 @@ describe('SessionResultPageComponent', () => { otherResponses: [], isLoading: false, isLoaded: false, - hasResponse: true, + hasResponse: false, hasResponseButNotVisibleForPreview: false, hasCommentNotVisibleForPreview: false, }; diff --git a/src/web/app/pages-session/session-result-page/session-result-page.component.ts b/src/web/app/pages-session/session-result-page/session-result-page.component.ts index 4ad7fd4566b..9dcbeb6563a 100644 --- a/src/web/app/pages-session/session-result-page/session-result-page.component.ts +++ b/src/web/app/pages-session/session-result-page/session-result-page.component.ts @@ -327,7 +327,7 @@ export class SessionResultPageComponent implements OnInit { otherResponses: [], isLoading: false, isLoaded: false, - hasResponse: true, + hasResponse: false, hasResponseButNotVisibleForPreview: false, hasCommentNotVisibleForPreview: false, }); From ef058cafbc01b95ff04554087a94c1b96cea631e Mon Sep 17 00:00:00 2001 From: Nagarajan CK <35779983+nagarajan-ck@users.noreply.github.com> Date: Sat, 16 Sep 2023 19:49:31 +0530 Subject: [PATCH 3/5] [#12480] Add a trigger for good first issues (#12560) * add good first issue yaml file * remove error: context.issue is not a function * github.issues.createComment in V4 becomes github.rest.issues.createComment in V5 * change message to be TEAMMATES specific * resolve unexpected identifier issue * put messages in seperate lines * put messages in env variable * put 2 whitespaces for a newline * Add new lines between message * Update comment-goodfirstissue.yml * Add 2 lines * add 3rd and 4th line * put message in body variable * change github actions version from v5 to v6 * Simplify good first issue yaml file Co-authored-by: Zhao Jingjing <54243224+zhaojj2209@users.noreply.github.com> --------- Co-authored-by: Zhao Jingjing <54243224+zhaojj2209@users.noreply.github.com> --- .github/workflows/comment-goodfirstissue.yml | 30 ++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/comment-goodfirstissue.yml diff --git a/.github/workflows/comment-goodfirstissue.yml b/.github/workflows/comment-goodfirstissue.yml new file mode 100644 index 00000000000..97c001be75f --- /dev/null +++ b/.github/workflows/comment-goodfirstissue.yml @@ -0,0 +1,30 @@ +name: Comment on Good First Issue + +on: + issues: + types: + - labeled + +jobs: + comment: + if: github.event.label.name == 'good first issue' + runs-on: ubuntu-latest + + steps: + - name: Add comment + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + let body = `**Good First Issue - Notes for Contributors** + This issue is for **first-time contributors only**. If you are new to TEAMMATES, feel free to submit a PR for this issue.\n\n` + body += "*Please note that we allow only one `good first issue` per contributor.* If you have already made a prior contribution to TEAMMATES, you may wish to take a look at issues with the `help wanted` tag instead.\n\n" + body += "**We do not assign issues to contributors**. If you would like to pick up this issue, do post a comment below to express your interest and check if there is anyone else who is already working on the issue. We will do our best to reply and give you the go-ahead, but if we don't, feel free to submit a PR as long as there is no one else working on it.\n\n" + body += "**To get started**, do read through our [contributing guidelines](https://teammates.github.io/teammates/contributing-doc.html) carefully, and [set up a development environment on your local machine](https://teammates.github.io/teammates/setting-up.html) before making a PR.\n\n" + body += "If you need any clarifications on our [developer guide](https://teammates.github.io/teammates/index.html), or are facing issues that are not found in our [troubleshooting guide](https://teammates.github.io/teammates/troubleshooting-guide.html), please [post a message in our discussion forum](https://github.com/TEAMMATES/teammates/discussions)." + await github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body, + }) From 4a39df1205b791fe0480e0c8662de9a18a0ecf92 Mon Sep 17 00:00:00 2001 From: Podugu Rohith Surya Date: Sun, 17 Sep 2023 08:02:06 -0700 Subject: [PATCH 4/5] [#12276] Instructor edit session page: Fix custom visibility table overflow (#12574) * Use responsive-table class to add scrollbar when table overflows * Update snapshots according to UI changes --------- Co-authored-by: Jason Qiu Co-authored-by: Cedric Ong <67156011+cedricongjh@users.noreply.github.com> --- .../question-edit-form.component.spec.ts.snap | 4 + .../visibility-panel.component.html | 44 +- ...r-session-edit-page.component.spec.ts.snap | 1092 +++++++++-------- 3 files changed, 579 insertions(+), 561 deletions(-) diff --git a/src/web/app/components/question-edit-form/__snapshots__/question-edit-form.component.spec.ts.snap b/src/web/app/components/question-edit-form/__snapshots__/question-edit-form.component.spec.ts.snap index ff17dc5d3f7..6a053f54ffd 100644 --- a/src/web/app/components/question-edit-form/__snapshots__/question-edit-form.component.spec.ts.snap +++ b/src/web/app/components/question-edit-form/__snapshots__/question-edit-form.component.spec.ts.snap @@ -407,6 +407,10 @@ exports[`QuestionEditFormComponent should snap with default view 1`] = `
+
+
diff --git a/src/web/app/components/visibility-panel/visibility-panel.component.html b/src/web/app/components/visibility-panel/visibility-panel.component.html index 82957f78264..425928a1cad 100644 --- a/src/web/app/components/visibility-panel/visibility-panel.component.html +++ b/src/web/app/components/visibility-panel/visibility-panel.component.html @@ -24,28 +24,30 @@
- - - - - - - - - - - - +
+
User/Group{{ visibilityControl | visibilityControlName }}
{{ visibilityType | visibilityTypeName }} - -
+ + + + - - -
User/Group{{ visibilityControl | visibilityControlName }}
+ + + + + {{ visibilityType | visibilityTypeName }} + + + + + + + +
This is the visibility hint as seen by the feedback giver:
    diff --git a/src/web/app/pages-instructor/instructor-session-edit-page/__snapshots__/instructor-session-edit-page.component.spec.ts.snap b/src/web/app/pages-instructor/instructor-session-edit-page/__snapshots__/instructor-session-edit-page.component.spec.ts.snap index 4a556b097b5..0001bb43f3c 100644 --- a/src/web/app/pages-instructor/instructor-session-edit-page/__snapshots__/instructor-session-edit-page.component.spec.ts.snap +++ b/src/web/app/pages-instructor/instructor-session-edit-page/__snapshots__/instructor-session-edit-page.component.spec.ts.snap @@ -1779,181 +1779,185 @@ exports[`InstructorSessionEditPageComponent should snap with feedback session qu
- - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - -
- User/Group - - Can see answer - - Can see giver's name - - Can see recipient's name -
- +
- Recipient(s) - - - - - - - - -
- + - Giver's Team Members - - - - - - - - -
- + - Other students - - - - - - - - -
- + - Instructors - - - - - - - - -
+ Can see recipient's name + + + + + + + + Recipient(s) + + + + + + + + + + + + + + + + Giver's Team Members + + + + + + + + + + + + + + + + Other students + + + + + + + + + + + + + + + + Instructors + + + + + + + + + + + + + + +
@@ -2502,181 +2506,185 @@ exports[`InstructorSessionEditPageComponent should snap with feedback session qu
- - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - -
- User/Group - - Can see answer - - Can see giver's name - - Can see recipient's name -
- +
- Recipient(s) - - - - - - - - -
- + - Giver's Team Members - - - - - - - - -
- + - Other students - - - - - - - - -
- + - Instructors - - - - - - - - -
+ Can see recipient's name + + + + + + + + Recipient(s) + + + + + + + + + + + + + + + + Giver's Team Members + + + + + + + + + + + + + + + + Other students + + + + + + + + + + + + + + + + Instructors + + + + + + + + + + + + + + +
@@ -4546,215 +4554,219 @@ exports[`InstructorSessionEditPageComponent should snap with new question added
- - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - -
- User/Group - - Can see answer - - Can see giver's name - - Can see recipient's name -
- +
- Recipient(s) - - - - - - - - -
- + - Giver's Team Members - - - - - - - - -
- + - Recipient's Team Members - - - - - - - - -
- + - Other students - - - - - - - - -
- +
+ + Recipient(s) + + - Instructors - - - - - - - -
+ + + + + + + + + + + + + Giver's Team Members + + + + + + + + + + + + + + + + Recipient's Team Members + + + + + + + + + + + + + + + + Other students + + + + + + + + + + + + + + + + Instructors + + + + + + + + + + + + + + +
From b23d47fdb4e92be9fc01cd0ca53d9500c248dfc6 Mon Sep 17 00:00:00 2001 From: Luca Zanetti <90850610+Mex7180@users.noreply.github.com> Date: Wed, 20 Sep 2023 10:34:53 +0200 Subject: [PATCH 5/5] [#12279] Instructor home page: Improve display of card header on mobile (#12567) * Update instructor-home-page.component.scss Change to the mobile look. Displaying the options under the course title. * Update instructor-home-page.component.html * Update instructor-home-page.component.scss * Update instructor-home-page.component.html * Update instructor-home-page.component.html remove border-0 class (included as div was changed to button) * Changed card-header to button and tm-panel-chevron inside toolbar with styling * Refactor code for lint tests and update snapshots * Change header back to div * Update snapshots * Update panel-chevron.component.html - change to button - add accessibility attributes * Add type attribute and update snapshots * Update tests - card-header to div (nested interactivity) - remove invalid aria-attr. * Resolve axe-tests * Update snapshots * Change button styling and aria-label - set background color to inherit - change aria-label - update snapshots for testing * Change active styling * tm-rich-text-editor add role and aria-labels --- .../panel-chevron.component.html | 4 +- .../panel-chevron.component.scss | 8 +- .../question-edit-form.component.spec.ts.snap | 9 +- .../question-submission-form.component.html | 8 +- ...t-question-edit-answer-form.component.html | 2 +- ...-notifications-list.component.spec.ts.snap | 72 ++-- ...other-courses-modal.component.spec.ts.snap | 45 ++- ...nstructor-home-page.component.spec.ts.snap | 134 ++++--- .../instructor-home-page.component.html | 10 +- .../instructor-home-page.component.scss | 18 + ...r-session-edit-page.component.spec.ts.snap | 27 +- ...ther-sessions-modal.component.spec.ts.snap | 45 ++- ...udent-activity-logs.component.spec.ts.snap | 18 +- ...r-student-list-page.component.spec.ts.snap | 9 +- ...ion-submission-page.component.spec.ts.snap | 360 +++++++++--------- 15 files changed, 447 insertions(+), 322 deletions(-) diff --git a/src/web/app/components/panel-chevron/panel-chevron.component.html b/src/web/app/components/panel-chevron/panel-chevron.component.html index 9a924686122..48594557a11 100644 --- a/src/web/app/components/panel-chevron/panel-chevron.component.html +++ b/src/web/app/components/panel-chevron/panel-chevron.component.html @@ -1,4 +1,4 @@ -
+
+ diff --git a/src/web/app/components/panel-chevron/panel-chevron.component.scss b/src/web/app/components/panel-chevron/panel-chevron.component.scss index ee53858661d..a00f6edd589 100644 --- a/src/web/app/components/panel-chevron/panel-chevron.component.scss +++ b/src/web/app/components/panel-chevron/panel-chevron.component.scss @@ -1,4 +1,10 @@ -.chevron { +button.chevron { display: inline-flex; vertical-align: middle; + background-color: inherit; + border-width: 0; +} + +button.chevron:active { + background-color: inherit; } diff --git a/src/web/app/components/question-edit-form/__snapshots__/question-edit-form.component.spec.ts.snap b/src/web/app/components/question-edit-form/__snapshots__/question-edit-form.component.spec.ts.snap index 6a053f54ffd..22d1fe0b703 100644 --- a/src/web/app/components/question-edit-form/__snapshots__/question-edit-form.component.spec.ts.snap +++ b/src/web/app/components/question-edit-form/__snapshots__/question-edit-form.component.spec.ts.snap @@ -39,13 +39,16 @@ exports[`QuestionEditFormComponent should snap with default view 1`] = ` class="collapse-caret" > -
-
+
- +
diff --git a/src/web/app/components/question-types/question-edit-answer-form/text-question-edit-answer-form.component.html b/src/web/app/components/question-types/question-edit-answer-form/text-question-edit-answer-form.component.html index 3214e968a25..bc9a583b9bf 100644 --- a/src/web/app/components/question-types/question-edit-answer-form/text-question-edit-answer-form.component.html +++ b/src/web/app/components/question-types/question-edit-answer-form/text-question-edit-answer-form.component.html @@ -1,7 +1,7 @@
- +
@@ -109,13 +112,16 @@ exports[`UserNotificationsListComponent should snap when all loaded notification class="card-header-btn-toolbar" > - +
@@ -253,13 +259,16 @@ exports[`UserNotificationsListComponent should snap when it loads the provided n class="card-header-btn-toolbar" > -
-
+
@@ -307,13 +316,16 @@ exports[`UserNotificationsListComponent should snap when it loads the provided n class="card-header-btn-toolbar" > -
-
+
@@ -430,13 +442,16 @@ exports[`UserNotificationsListComponent should snap when it sorts the notificati class="card-header-btn-toolbar" > -
-
+
@@ -484,13 +499,16 @@ exports[`UserNotificationsListComponent should snap when it sorts the notificati class="card-header-btn-toolbar" > -
-
+
@@ -607,13 +625,16 @@ exports[`UserNotificationsListComponent should snap when it sorts the notificati class="card-header-btn-toolbar" > -
-
+
@@ -661,13 +682,16 @@ exports[`UserNotificationsListComponent should snap when it sorts the notificati class="card-header-btn-toolbar" > -
-
+
diff --git a/src/web/app/pages-instructor/instructor-course-edit-page/copy-instructors-from-other-courses-modal/__snapshots__/copy-instructors-from-other-courses-modal.component.spec.ts.snap b/src/web/app/pages-instructor/instructor-course-edit-page/copy-instructors-from-other-courses-modal/__snapshots__/copy-instructors-from-other-courses-modal.component.spec.ts.snap index cda762a9dbe..f05954210be 100644 --- a/src/web/app/pages-instructor/instructor-course-edit-page/copy-instructors-from-other-courses-modal/__snapshots__/copy-instructors-from-other-courses-modal.component.spec.ts.snap +++ b/src/web/app/pages-instructor/instructor-course-edit-page/copy-instructors-from-other-courses-modal/__snapshots__/copy-instructors-from-other-courses-modal.component.spec.ts.snap @@ -81,13 +81,16 @@ exports[`CopyInstructorsFromOtherCoursesModalComponent should snap when feedback class="card-header-btn-toolbar" > -
-
+
@@ -218,13 +221,16 @@ exports[`CopyInstructorsFromOtherCoursesModalComponent should snap when instruct class="card-header-btn-toolbar" > -
-
+
@@ -478,13 +484,16 @@ exports[`CopyInstructorsFromOtherCoursesModalComponent should snap when instruct class="card-header-btn-toolbar" > -
-
+
@@ -612,13 +621,16 @@ exports[`CopyInstructorsFromOtherCoursesModalComponent should snap with courses class="card-header-btn-toolbar" > - + @@ -640,13 +652,16 @@ exports[`CopyInstructorsFromOtherCoursesModalComponent should snap with courses class="card-header-btn-toolbar" > - + diff --git a/src/web/app/pages-instructor/instructor-home-page/__snapshots__/instructor-home-page.component.spec.ts.snap b/src/web/app/pages-instructor/instructor-home-page/__snapshots__/instructor-home-page.component.spec.ts.snap index e003acc07c9..0329d14dff8 100644 --- a/src/web/app/pages-instructor/instructor-home-page/__snapshots__/instructor-home-page.component.spec.ts.snap +++ b/src/web/app/pages-instructor/instructor-home-page/__snapshots__/instructor-home-page.component.spec.ts.snap @@ -269,15 +269,6 @@ exports[`InstructorHomePageComponent should snap with one course with error load > [CS3281]: Thematic Systems I - -
- -
-
+ + + - -
- -
-
+ + + - -
- -
-
+ + + - -
- -
-
@@ -2032,6 +2044,7 @@ exports[`InstructorHomePageComponent should snap with one course with unpopulate aria-expanded="false" class="dropdown-toggle btn btn-primary btn-sm" ngbdropdowntoggle="" + type="button" > Students @@ -2063,6 +2076,7 @@ exports[`InstructorHomePageComponent should snap with one course with unpopulate aria-expanded="false" class="dropdown-toggle btn btn-primary btn-sm" ngbdropdowntoggle="" + type="button" > Instructors @@ -2087,6 +2101,7 @@ exports[`InstructorHomePageComponent should snap with one course with unpopulate aria-expanded="false" class="dropdown-toggle btn btn-primary btn-sm" ngbdropdowntoggle="" + type="button" > Sessions @@ -2111,6 +2126,7 @@ exports[`InstructorHomePageComponent should snap with one course with unpopulate aria-expanded="false" class="dropdown-toggle btn-course btn btn-primary btn-sm" ngbdropdowntoggle="" + type="button" > Course @@ -2151,16 +2167,19 @@ exports[`InstructorHomePageComponent should snap with one course with unpopulate + + + - -
- -
-
+ + + - -
- -
-
Home

courseTabModel.course.courseName }} -
-
-
+
-
-
+
-
-
+
-
-
+
@@ -288,13 +291,16 @@ exports[`CopyQuestionsFromOtherSessionsModalComponent should snap when feedback class="card-header-btn-toolbar" > -
-
+
@@ -420,13 +426,16 @@ exports[`CopyQuestionsFromOtherSessionsModalComponent should snap when feedback class="card-header-btn-toolbar" > -
-
+
@@ -638,13 +647,16 @@ exports[`CopyQuestionsFromOtherSessionsModalComponent should snap with feedback class="card-header-btn-toolbar" > - + @@ -668,13 +680,16 @@ exports[`CopyQuestionsFromOtherSessionsModalComponent should snap with feedback class="card-header-btn-toolbar" > - + diff --git a/src/web/app/pages-instructor/instructor-student-activity-logs/__snapshots__/instructor-student-activity-logs.component.spec.ts.snap b/src/web/app/pages-instructor/instructor-student-activity-logs/__snapshots__/instructor-student-activity-logs.component.spec.ts.snap index 8fb22eed5b3..2c2f0ec0b7e 100644 --- a/src/web/app/pages-instructor/instructor-student-activity-logs/__snapshots__/instructor-student-activity-logs.component.spec.ts.snap +++ b/src/web/app/pages-instructor/instructor-student-activity-logs/__snapshots__/instructor-student-activity-logs.component.spec.ts.snap @@ -1249,13 +1249,16 @@ exports[`InstructorStudentActivityLogsComponent should snap with results of a se class="card-header-btn-toolbar" > -
-
+
@@ -1431,13 +1434,16 @@ exports[`InstructorStudentActivityLogsComponent should snap with results of a se class="card-header-btn-toolbar" > -
-
+
diff --git a/src/web/app/pages-instructor/instructor-student-list-page/__snapshots__/instructor-student-list-page.component.spec.ts.snap b/src/web/app/pages-instructor/instructor-student-list-page/__snapshots__/instructor-student-list-page.component.spec.ts.snap index 1af0749d7cb..fbb9e7a35d7 100644 --- a/src/web/app/pages-instructor/instructor-student-list-page/__snapshots__/instructor-student-list-page.component.spec.ts.snap +++ b/src/web/app/pages-instructor/instructor-student-list-page/__snapshots__/instructor-student-list-page.component.spec.ts.snap @@ -86,13 +86,16 @@ exports[`InstructorStudentListPageComponent should snap with a course with stude class="card-header-btn-toolbar" > -
-
+
diff --git a/src/web/app/pages-session/session-submission-page/__snapshots__/session-submission-page.component.spec.ts.snap b/src/web/app/pages-session/session-submission-page/__snapshots__/session-submission-page.component.spec.ts.snap index 5c5e4ac3433..c298b13ebfe 100644 --- a/src/web/app/pages-session/session-submission-page/__snapshots__/session-submission-page.component.spec.ts.snap +++ b/src/web/app/pages-session/session-submission-page/__snapshots__/session-submission-page.component.spec.ts.snap @@ -891,23 +891,23 @@ exports[`SessionSubmissionPageComponent should snap with feedback session questi class="card" id="question-submission-form-qn-1" > - question brief - +
-
+ question brief - +
-
+

question brief

- +
-
+ MSQ question - +
-
+ numerical scale question - +
-
+ constant sum question - +
-
+ contribution question - +
-
+ question brief - +
-
+ question brief - +
-
+ question brief - +
-
+ question brief - +
-
+ question brief - +
-
+

question brief

- +
-
+ MSQ question - +
-
+ numerical scale question - +
-
+ constant sum question - +
-
+ contribution question - +
-
+ question brief - +
-
+ question brief - +
-
+ question brief - +