PI fixes from live class testing#1298
Open
sethbern wants to merge 3 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes multiple Peer Instruction (PI) UX/state issues discovered during live sessions, including chat catch-up state handling, message counting behavior across vote phases, and several student-facing text/UI tweaks. It also changes the default async_mode for new peer questions and adds a migration to apply the new DB default.
Changes:
- Clear assignment-scoped per-student Redis catch-up state on vote/next transitions; adjust client handling of enableChat catch-up and include
assignment_idin relevant control messages. - Count instructor dashboard “message count” from question start (not vote-2 start) by adding
message_start_time. - UI/text improvements: vote-1 prompt shown to students, assignment title displayed on after-class page, and simplified reflection submit text; default
async_modeupdated tollmwith migration.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| migrations/versions/d8e4f2b6c1a7_default_async_mode_to_llm.py | Sets DB server default for assignment_questions.async_mode to 'llm' (and downgrades to 'standard'). |
| components/rsptx/templates/staticAssets/js/peer.js | Adds/adjusts client catch-up handling and includes assignment_id in control messages. |
| components/rsptx/templates/assignment/student/peer_question.html | Adds an initial vote-1 prompt message for students. |
| components/rsptx/templates/assignment/student/peer_async.html | Displays assignment title on after-class page; simplifies non-LLM reflection submit button text. |
| components/rsptx/templates/assignment/instructor/peer_dashboard.html | Sends message_start_time and exposes assignment_id for downstream control messages. |
| components/rsptx/db/models.py | Changes ORM-level default async_mode to "llm". |
| bases/rsptx/assignment_server_api/routers/peer.py | Clears assignment-scoped Redis state on key phase transitions; counts messages from question start; filters async explainer messages. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
Author
|
This should be good whenever you get the chance to review @bnmnetp |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes several issues noticed during live peer instruction sessions:
vote so the chat panel doesn't reappear empty on the next question
count doesn't reset to 0 mid-question
configured, via async_mode column default (migration included)
Note on peer.css: while testing this I found that the chat panel rendered unstyled /staticAssets/css/peer.css (from the "restore and move peer.css" commit) because the file was never added to the nginx static assets.