In a session¶
What is on the screen while you are sitting one, what each control does, and which of them an exam takes away.
The player is the same component in all three states — study, exam, and reading a finished attempt back. What changes is what it offers.
The layout¶
Three columns, two of them optional.
| Column | Is | Notes |
|---|---|---|
| Left — the rail | Every question in the session | Collapsible. The choice is remembered in localStorage under pedshub.quizRail. Below 1151px it becomes a drawer opened by the site's own menu button, rather than a second hamburger. |
| Middle | The question | Takes whatever the other two leave. |
| Right — lab values | The reference table | Opens beside the question, never over it: a range is read while re-reading the case. |
A bar across the foot is always on screen — the player is a fixed-height shell and the question scrolls inside it.
The rail¶
Each row is a number. What else it shows depends on the mode.
| Study, and any finished attempt | An exam still being sat | |
|---|---|---|
| The stem | An excerpt, but only for questions you have reached | Nothing — a column of numbers |
| Right or wrong | Live, in green or red | Hidden until it is handed in |
| Difficulty | Once the question is answered, never before | Not shown |
| ★ | A favourited question | A favourited question |
Reading the stems of questions still ahead of you is not something the exam being rehearsed would allow, so in exam mode the rail says nothing about them. Difficulty waits for the answer in both modes: "easy" beside a question you are still working on tells you how hard to look, which is the one thing a difficulty mark must not do.
Answering¶
Clicking an option is answering it. There is no second Submit press in study mode — the answer is written to the database the moment it is given.
- Study — the option turns green or red immediately, every option's reasoning opens at once, the explanation and key points appear, and the rail fills in.
- Exam — the choice is recorded as a
DRAFTand nothing is revealed. - Typing is the exception: a fill-in-the-blank answer is held until Enter or leaving the box, because typing is not a decision the way a click is.
Answering the same question again replaces the row. The latest pick wins.
Show answer — study only¶
Being stuck is a reason to read the explanation, not a reason to guess.
Show answer opens the explanation without recording anything: the question
still counts as unanswered in the score, in the "N answered" count and in what
is handed in. The rail marks it as finished with, not as a miss.
It is never offered in an exam. There is nothing to show until the block is over.
Reset question¶
Beside the explanation once an answer is in. It withdraws the answer both in
the page and on the server (DELETE /attempts/{id}/answer/{question_id}), so a
misclick in study mode does not go on counting.
Ruling options out — exam only¶
A small ab button beside each option strikes it through. It is working-out,
not an answer: it is not saved, and it does not follow you into another
sitting of the same question. It disappears the moment the question is marked,
and it is not offered in study or review — there, the explanation underneath is
the point of the screen.
The tools on the question¶
| Control | What it does | Where it is |
|---|---|---|
| ⚗ Labs | Opens the reference table in the right-hand column | On the question's own bar in study; up in the exam chrome in an exam (never both) |
| ⚕ Attending tip | One nudge for the whole question, written by an educator | Only drawn when the question actually has one |
| ✎ Notes | Your own note on this question, Markdown, private, saved on blur | The panel opens in study and review only |
| ☆ / ★ Favourite | Marks the question for later | Always |
| ✕ Clear | Removes the highlights you dragged on this question | Desktop; on a phone it is under ⋯ |
| ⋯ | Give feedback; share in study mode; on a phone the labs and highlight controls | Always |
Only one panel is open at a time — tip or note, never both. They sit in the same place under the stem, and two at once would push the options off the screen.
The Notes button is drawn during an exam and does nothing
The exam chrome deliberately leaves Notes out of the bar across the top — a note is something you write about a question you are learning from — but the button on the question's own action bar is not gated the same way. It is drawn while an exam is being sat, and pressing it opens nothing, because the panel itself is gated on study or review. Write the note when you review the block.
Highlighting¶
Select text in the stem and it stays highlighted. Click a highlight to remove it; Clear removes all of them on the current question. Options cannot be highlighted — nothing stored is drawn there and nothing new can be made.
The attending tip counts as a hint¶
Opening the tip before answering records a hint against that question. It is still counted as correct if you then get it right, but the analysis reports "correct after a tip" separately — see Answer split.
Opening one after the answer is in records nothing. That is revision, and docking it would punish looking things up.
Lab values¶
GET /study-tools/lab-values, published entries only. Grouped (Blood, and
whatever else has been entered), searchable by test name, age group, specimen
or units, with the typed text marked wherever it occurs in a row.
One line per test, with its age-specific ranges stacked underneath — a paediatric range is an age range before it is a number. A row may carry links to flashcards about that value.
There is no editing here. The table is maintained in Settings → Tools by an educator, deliberately: a control that changes what every learner on the site reads does not belong one keystroke from a stem somebody is answering.
The calculator — exam only¶
Arithmetic, and nothing else: + − × ÷ ^, parentheses, up to 300 characters.
It is a real parser with operator precedence, not eval — no identifiers, no
function calls, no property access. Division by zero and an out-of-range result
each say so.
A study session has no calculator and no clock. Both are exam furniture.
The clocks, and the two things that stop them¶
Study mode is untimed and shows no clock at all — a clock on an untimed session is a clock inviting somebody to hurry through the one mode where hurrying is the mistake.
An exam shows two figures at the foot of the rail (session time, time on this question, and the running average) and one Block Time Remaining in the foot bar. That countdown is the only one: a second one elsewhere is a second chance to misread it.
| Event | What happens |
|---|---|
| Five minutes left | A Block Time Warning dialog, said once |
| Time up | The block stops. Nothing is marked until you press Close — a learner who comes back to this screen has not already had the answer sheet taken away. |
| Pause | Stops the clock and covers the questions with an Exam Paused card |
| Three minutes with no mouse, key, scroll, wheel or touch | Still there? — and the clock is already stopped by the time it shows |
| The tab is hidden | The clock stops |
The away threshold is deliberately generous: reading a long vignette is two or three minutes of no input at all, and scrolling and pointer movement count as activity precisely so that reading registers as reading.
There is no server-side countdown. The client owns the clock and reports where it has got to; the server's job is to refuse to be lied to about how much is left. See Sessions and modes.
Leaving, and ending¶
| Study | Exam | |
|---|---|---|
| The control | Exit session | Exit session, and End Block |
| Leaving asks first | No — there is nothing to lose | Yes: Leave this block? Answers are saved and the clock stops while you are away. |
| Ending | There is no Submit. Every answer counted as it was given, and the session closes itself once every question has one. | End Block hands it in. If anything is unanswered it says how many first. |
| Until then | It sits in the session list as Resume | Likewise |
Next on the last question does what Next means at the end of a paper: it
ends the block in an exam, and leaves in study or review.
The keyboard¶
While the focus is not in a text box and no dialog is open:
| Key | Does |
|---|---|
| 1–9 | Choose that option |
| ← | Previous question |
| → or N | Next question |
| B | Favourite this question |
| Space | Open the question's image, where it has a legacy single image |
| Esc | Close the expanded image |
Keys are ignored inside an input, a textarea, a select or a contenteditable, while text is selected, and while a dialog is open.
The in-app shortcut card is stale, and unreachable
QuizTools contains a Keyboard shortcuts dialog, but nothing in the
application opens it. Its list also names "Submit study response —
Enter", which no longer exists: study mode marks on the click.
The table above was read from the key handler, not from that card.
Sharing one question¶
Study mode only, from ⋯ inside a session. It mints a link a colleague with no account can open.
| Rule | Value |
|---|---|
| What is shared | This question by default, or the whole session |
| Cap | 40 questions a link |
| Life | 3 days, inside the signature — a link cannot be given a longer life by editing it |
| From an exam | Refused (409). An exam's questions are what somebody is about to be marked on. |
| From the bank | There is no such path. A link that could be made against any question would be a way to publish the bank one URL at a time. |
| Site switch | An administrator can turn sharing off. Links already handed out keep working; new ones stop. |
Nothing is written when a link is made. The token is the set — the question ids, signed — so there is no row to clean up, nothing ties the link back to who made it, and editing or deleting your session afterwards changes nothing about what the recipient opens. There is also no way to revoke one; the three days are the revocation.
Opening a shared link records nothing for anybody, signed in or not. It is a conversation between two people, not a sitting.
The tutor¶
The drawer beside the question, and the one control whose availability is a three-way rule:
| When | Offered |
|---|---|
| Exam, being sat | Never. Refused at the server. |
| Study | Yes, unless an administrator has turned the tutor_in_quiz flag off |
| Reviewing a finished attempt | Always — the answer is already out |
It is given the correct answer and told it may reveal it, which is why the first row is not a setting. Limit: 30 messages a day. See AI Mode and the tutor.
Where the answers actually live¶
Redis holds the ephemeral UI state — which question you are on, the timer — for 7 days, and a 30-second marker saying which browser is live. Postgres holds the answers, written as they are given. Fetching progress merges the two and the database wins.
Resuming from a second browser is allowed and the newest takes over. The 30-second key is how the interface can say "this session is open somewhere else", not a lock that refuses the second device.