giseldo/neodataset huggingface dataset:
BUG. Error with Verizon, Twilio, Goldman Sachs & PwC Corporate Partners Analytics Report

Check `getAnalyticsReportSummary` in `server/utils/reportUtils.ts` - for summary sheet Check `server/utils/reportUtils.ts` line 405 where we set the onboarding status for every volunteer - for data sheet

Connect to prod read only and run date range with a lot of data and check how close numbers are and run script

The partners listed in the title have errors in their analytics reports. See the attached 'Partner Report Errors' for specifics. The reports with errors are also attached.

[Verizon-analytics-report.xlsx](/uploads/020edc52c84418fd3a271069e788cef1/Verizon-analytics-report.xlsx)

[PWC-analytics-report.xlsx](/uploads/26556ee5730e2108cf67f6d1bb5b8f2b/PWC-analytics-report.xlsx)

[Twilio-analytics-report.xlsx](/uploads/5d09640f67d3a250ed70972c7bd0e285/Twilio-analytics-report.xlsx)

[Goldman_Sachs-analytics-report__1_.xlsx](/uploads/3e6a5a6aea7b58205e82fde934cb9160/Goldman_Sachs-analytics-report__1_.xlsx)

[Partner_Report_Errors__1_.xlsx](/uploads/68da0be12391009d104e13cfdaea8ea7/Partner_Report_Errors__1_.xlsx)

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 5.0
Post-Survey: Create endpoint to submit post-session survey content

Save survey data and emitting a post session survey event 

Note: This is a new service 

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 2.0
Post-Survey: Backend Write Swagger

This is a separate ticket because logic coming from the backend determines how the frontend orders and handles optionality of survey questions 
EDIT: handled in #1114
## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 2.0
Post-Survey: Remove old feedback endpoints and handlers

- Clean **both** pre and post survey legacy code 

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Post-Survey: Update retool dashboard (Session Metircs)

Add to sessions retool dashboard 
- In section modifiable by a date range selector
  - Pie chart of student feelings pre session
  - Pie chart of student feelings post session
  - Nice to have: pie charts for each of the goals

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Post-Survey: New Email for Student Reports

Automated session review emails:
- [Warning] Student was pushy / just wanted answers 
  - Current trigger: 1st time student is flagged as “looking for answers”
  - New trigger: Volunteer post-session form: 1st time Student was pressuring me to do their work for them
- Absent users no changes
  - Volunteer + student still get auto email on 1st absent users trigger
- Apology email no changes
  - Unmatched student still gets apology email on 1st not matched sessions
  - Volunteer gets ghosted for first time still gets email
  - Student gets ghosted for first time still gets email
- Tech issue trigger should be the same but will be in a slightly different question: not sure if this impacts any code 
  - Auto send emails to volunteers and students
- NEW: Reported sessions
  - Volunteers should get an automatic apology email each time they report a student. These are two different reported emails
    - One if the student is rude
    - Other one if they are concerned about the students well-being
- NEW: emotional distress
    - If “Report” button has not been used for session: Follow “Report” button flow for ​​severe emotional distress selection (auto email with resources, emailing volunteer, etc)
    - If “Report” button has been used for session: Do nothing


Open Questions: 
1. Is new trigger for warning only first time or every-time? **Answer:** Only first time

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 2.0
Post-Survey: Update feedback session to show old feedback and new post session survey format

Admin Session View
- (Nice to have) Add all student pre-session responses to admin session view
- Add all student post-session responses to admin session view
  - Currently we can see open-ended written content from two boxes, we will only need to see this from “Your Thoughts” box in the new version
- Add all volunteer post-session responses to admin session view 
  - Currently we can see open-ended written content from two boxes, we will only need to see this from “Your Thoughts” box in the new version

https://docs.google.com/document/d/17k0zRVsNeYAAzfbPUVxv4RlZPs-LlX2wK1ZP3Mh-_zQ/edit

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 2.0
Post-Survey: Create chip component (web - view)

Note: Similar style used in Session Review for flags

Figma: https://www.figma.com/file/JPZ9LQZ8ytnvS07WqLZprx/Session-History%2F-Coaches%2FProfile?node-id=645%3A14846

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Post-Survey: Frontend: Display and submit survey (web)

Come up with the shape of data that is most convenient to receive from backend to display optional questions 

Submit answers when pressing the submit button 

Figma: https://www.figma.com/file/JPZ9LQZ8ytnvS07WqLZprx/Session-History%2F-Coaches%2FProfile?node-id=645%3A14846

Will be merged/tested/closed with #1113

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 5.0
Post-Survey: Backend for post session survey and session review

Note: 
- Create new system not converting old feedback 
- Add email to job queue 

## Tasks
- [ ] Seed update to add new flags
- [ ] Change logic around flagging - increment user session metrics
- [ ] Trigger logic for emails
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 8.0
Post-Survey: Create endpoint to get post-session survey content

Hook database schema to swagger schema 

**This is where we are going to encode business rules for optional questions for a survey**

Will be merged/tested/closed with #1114 

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 2.0
Post-Survey: Make initial surveys in DB for testing

Source of Truth for content: https://docs.google.com/document/d/17k0zRVsNeYAAzfbPUVxv4RlZPs-LlX2wK1ZP3Mh-_zQ/edit

Only add 1 set of questions for now so we can go forward with development and testing. Another issue later on will complete remaining questions when final copy is confirmed 

## Tasks
- [ ] Add optional column to `surveys_survey_questions` type boolean 
- [ ] Add to seeds 
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 2.0
BUG: Unable to type in Document Editor and text prompt is vertical

The "type or paste something" prompt is vertical and you cannot type into the document editor. Likely has to do with overriding CSS rules

![Screen_Shot_2022-05-31_at_17.05.56](/uploads/bd5aafc6482555a0884771ff428c87e4/Screen_Shot_2022-05-31_at_17.05.56.png)

Users are able to type on the document editor as long as they selected the upper-left most part of the document editor to begin typing

## Tasks
- [x] Code review
- [x] Staging smoke tests
- [x] Merge to main
- [x] Deploy to prod

## Smoke tests
- [x] Student/volunteer can login
- [x] Student/volunteer can make/join session
- [x] Student/volunteer can use whiteboard and chat in session
- [x] Sessions with a document editor display the text prompt properly

Story points: 1.0
Launch "U.S. History":  Turn off Feature Flag for Students + Volunteers + Clean up U.S. History subject flags

- Turn on feature flag for students 
- Clean up feature flag(s) and remove paths
`us-history-launch-volunteer` and  `us-history-launch-student`
Don't deploy this until we feel confident with feature and no longer need the flag (a couple days)

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Launch "U.S. History" as subject to students (web)

Example Reading: https://gitlab.com/upchieve/subway/-/merge_requests/1065

Open Questions:

1. Where should Social Studies fall on list of Topics in Training Materials? **Answer:** 1. Math  2. Reading & Writing  3. Science 4. Social Studies 5. College Counseling 6. Standardized Testing
2. Do we need an icon? **Answer:** Yes Grace will have this by June 30th

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Launch "U.S. History" as a subject to volunteers

- Update the dashboard banner to have US History text
  - Add condition to check if not certified in US History then show banner
- Turn on banner 
- Add quiz + materials so volunteers can get certified
- The certification is in the app under "U.S. History"
- add subject to trainging view here (src/views/TrainingView.vue)

![Screen_Shot_2022-06-17_at_8.57.52_AM](/uploads/250f14e3f0e0b801423271bc6721e633/Screen_Shot_2022-06-17_at_8.57.52_AM.png)

Open Questions:
1. Where should Social Studies fall on list of Topics in Training Materials? **Answer:** Social studies in between reading and writing and college counseling
2. Confirm if design is good as is with new topic added **Answer:** Good for now but will need update in future 

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 2.0
Sign Up Eligibility V1: Remove continue button from college sign up page

## Tasks 
- [x] Code review
- [x] Staging smoke tests
- [x] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
BUG: Completing UPchieve 101 material gives users an UPchieve 101 cert without taking the quiz

Tested on staging with `volunteer4@upchieve`

Steps to reproduce:
1. Complete the required material to unlock the UPchieve 101 quiz
2. The quiz will be completed when visiting the dashboard
3. Inspecting the user object in the network shows that `ceritfications.upchieve101.passed` is `true`


Relevant areas of code:
- https://gitlab.com/upchieve/subway/-/blob/main/server/services/TrainingCourseService.ts#L67
- https://gitlab.com/upchieve/subway/-/blob/main/server/models/User/legacy-user.ts#L134


## Tasks
- [x] Code review
- [x] Staging smoke tests
- [x] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [x] Student/volunteer can login
- [x] Student/volunteer can make/join session
- [x] Student/volunteer can use whiteboard and chat in session

Story points: 2.0
BUG: Partner students with an optional school sign up are required to enter in a highschool

When signing up as a partner student who has `school_signup_required` as `false`, if you do not click the checkmark for "Are you currently a high school student?" an error is thrown: `Database transaction error: Key schoolId was unexpectedly null or undefined` See screenshot below

To test:
Try creating an account with student partner org `community-org` either locally or on staging
`http://localhost:3000/signup/student/community-org`

![Screen_Shot_2022-05-23_at_17.28.04](/uploads/8c1b633512541eae2dbc47898074a449/Screen_Shot_2022-05-23_at_17.28.04.png)


## Tasks
- [x] Code review
- [x] Staging smoke tests
- [x] Merge to main
- [x] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Chatbot: Clean up: feature flag and legacy chatbot code

- Clean `chatbot` feature flag code and anywhere it is referenced 
- Remove code for legacy chatbot

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Retool Dashboard: map old session id to a new session id

Given a text input of an old mongo session ID return the new postgres session id so staff can view it in the admin panel

**Open Question:** What dashboard should this live in? **Answer:** This should be its own dashboard 

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Update reading banner text

Change the text of the reading banner to "Introducing our new subject: READING! Take the quiz today" CTA “Get Certified”

## Tasks
- [ ] Update text
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Fix whiteboard on session recap view

The whiteboard document from our storage bucket is not loading when we retrieve it. There are a couple of issues that we have noticed while trying to debug this problem. The first one is a known problem that we will not tackle now

1. This issue is well documented here https://gitlab.com/upchieve/subway/-/issues/983#note_825196682. TLDR (Too long didn't read): The client sends an "INIT" message to the server, but the server never responds to it. This means we actually never try to get the whiteboard document from Azure. We will not be tackling this problem in this ticket. We will instead show the user that we had a problem loading the document. 
2. Zwibbler doesn't load the document when we actually get the whiteboard document from storage
3. We need to have a fail-safe in case issue #1 happens. This involves having a timeout on the frontend just in case Zwibbler never gets connected to the server


## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 2.0
BUG: Sessions showing no texts sent

The frontend expects an array of text messages on `session.notifications` but we don't include that at all. Lookup notifications for a session and add it to the return type on `getSessionByIdWithStudentAndVolunteer` which is used to populate the admin session detail

From Mark:
I've been going through sessions and it looks like it still says no messages sent (although I may just be missing all the ones that do send messages + maybe we are sending and the site isn't reflecting that + maybe we ran out of coaches to text). Is there another way to search / look for sessions and the number of messages sent?
Some of the sessions 

I looked at below where volunteers joined more than a minute after the session was made (from the last several days)
- https://app.upchieve.org/admin/sessions/0180cad9-af7f-2497-ec54-283c6647a17f
- https://app.upchieve.org/admin/sessions/0180cacc-0f5b-fbf8-b5b6-f67bcffca92b
- https://app.upchieve.org/admin/sessions/0180caba-fb26-b849-5dfd-4a861b2854c1
- https://app.upchieve.org/admin/sessions/0180ca3a-ac99-9641-ca1a-dd4f6864557d
- https://app.upchieve.org/admin/sessions/0180c574-b270-e310-1115-871c33b182ea
- https://app.upchieve.org/admin/sessions/0180be49-1e55-bb6a-8635-30c1bee6ab8f
- https://app.upchieve.org/admin/sessions/0180ba1e-f2d4-381c-eeb4-5d96cd49f43a
- https://app.upchieve.org/admin/sessions/0180b96e-a99d-9a64-9ab2-6e1184d2b9a9
- https://app.upchieve.org/admin/sessions/0180b5d9-5ab4-57a0-b2a2-4125eac59944
- https://app.upchieve.org/admin/sessions/0180b44f-38e7-9473-934c-d1f3fcb0e78c

## Tasks
- [ ] join total notifications in query - getSessionForAdminView
- [ ] Update to return array of notification ids 
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Create new auto email after 35 days

Audience: Volunteer 

Sent 35 days after volunteer creates an account but has not completed onboarding: https://mc.sendgrid.com/dynamic-templates/d-dbd1c17e9c334a3d9280f0ff296c5204/version/31b7ba77-41b2-4236-8ac8-de960bac7622/editor 

Open Question - what time should this be sent out?

## Tasks
- [ ] Query to check for volunteer
- [ ] cron job to send after 35 days if volunteer is still not onboarded
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 2.0
Volunteer Funnel: Remove non-onboarded volunteers from 30, 60, 90 day inactive emails

Remove non-onboarded volunteers from 30, 60, 90 day inactive emails 

30 day inactive: https://mc.sendgrid.com/dynamic-templates/d-e2c9917e22c24d72a187ff00a5eff5e9/version/b82ec278-ed41-4873-872c-0d009dc57cf5/editor

60 day inactive: https://mc.sendgrid.com/dynamic-templates/d-659b7e8d08754ef58d9b6e594f748e19/version/bbcbe4b4-bab6-4677-89a5-583b9494df05/editor

90 day inactive:
https://mc.sendgrid.com/dynamic-templates/d-1bb491dbb4a044f5a4cd9cd926eacf38/version/d7247855-8ecd-4dce-9083-059961e8e968/editor 

**volunteer/queries.ts**

**getinactivevolunteers**

## Tasks
- [ ] Update query to not include non-onboarded volunteers (only include onboarded volunteers)
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Volunteer Funnel: Responsive reference form

Make form mobile web friendly (currently only see “strongly disagree”)

Open Questions: Ask Grace about design

Current look:

![Screen_Shot_2022-05-17_at_2.49.33_PM](/uploads/0b9f4a84efcf3c06c093921270959b0b/Screen_Shot_2022-05-17_at_2.49.33_PM.png)


Dropdown:
- change view to use existing dropdown ()2 **DESIGN:** https://www.figma.com/file/n1E6MRQLw2RFrevM6yduHh/Onboarding?node-id=3%3A6453

Pullup: 
- a lot of work since that is native on mobile app would be harder on 
- Would need to see design  
- emulate platform native modals 
**- Probably double or triple the size of Dropdown  **

**DECISION: USE DROPDOWN **

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 2.0
Volunteer Funnel: Update volunteer email reference logic

- When volunteer is entering references they should be allowed to delete and re-add the same email address 
- Make sure not allowed to enter their own email address for reference 

1. Check references that user has and do logic in code - does reference already exist and what is status? (should be able to readd if status of the reference wasn’t previously “rejected”)
1. Disallow Volunteer from entering their own email address for reference
1. Reference email should not be globally unique but should be per user
 
## Tasks
- [x] Remove existing constrain on reference and make new one 
- [x] Update code logic to handle unique references/status
- [x] Update code logic to disallow volunteer entering own email 
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 3.0
Context Sharing: Frontend: update chat design

**Figma Design:** https://www.figma.com/file/JPZ9LQZ8ytnvS07WqLZprx/Session-History%2F-Coaches%2FProfile?node-id=392%3A9861

**open to outside contributors**

Update:
- [ ] "End Session" Button shape
- [ ] Color of chat to blue
- [ ] Add "in session" text 

## Tasks
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 1.0
Chatbot: Make changes to chatbot messages and flow

Follow source of truth: https://docs.google.com/drawings/d/1wOGuFaH1r5YBe3Ob9BgpyYqIG0dRIqWSxOvI-5qB45s/edit

- **subway/server/worker/jobs/chatbot/messages.ts**
- **subway/server/tests/jobs/chatbot/messages.test.ts**

**Note:** unicode should not be used for quotes / symbols 

## Tasks
- [ ] Rewrite all of the `messages.ts` scenarios to match the source of truth
- [ ] make sure when copy pasting text to not use unicode
- [ ] Rewrite the `messages.test.ts`
- [ ] Code review
- [ ] Staging smoke tests
- [ ] Merge to main
- [ ] Deploy to prod

## Smoke tests
- [ ] Student/volunteer can login
- [ ] Student/volunteer can make/join session
- [ ] Student/volunteer can use whiteboard and chat in session

Story points: 3.0