Skip to content

1.293.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 20:32
· 32 commits to main since this release

1.293.0 — The Practice view matches the exam app's question screen

The Practice question screen is rebuilt from the owner's screenshots of the
official testing app, recorded as text in docs/practice-bluebook-reference.md.
The layout is clean-room: no exam-app code, artwork, font or wording is copied,
and colours still come from the user's Obsidian theme.

  • Header and tools — the section title with Directions beneath it, a
    centred timer and its Hide pill, and labelled tool buttons
    (Highlights & Notes, Calculator, Reference, More) replace the
    generic bar. The practice-test ribbon is no longer rendered.
  • Answers — full-width outlined rows with a lettered circle, and the
    cross-out control outside the box. A crossed-out choice keeps a solid 1 px
    border, greys and strikes its text, slashes the letter circle and swaps the
    control for a small orange Undo pill. The controls and Undo no longer
    inherit the plugin's 44 px tap target, so they render at their intended
    22 px and 20 px.
  • Highlights — the drawer's highlight panel is replaced by one floating
    pill anchored above the selected text or the clicked highlight, with the four
    colours, a highlight/underline toggle, remove and an inline note field.
    Marks also paint inside answer choices, true/false options and review rows;
    clicking a mark reopens the pill, and a drag across choice text no longer
    counts as choosing that answer.
  • Selection capture — selectionchange plus a range-text fallback and
    section detection, and exam text opts back into text selection because
    Obsidian's own chrome disables it.
  • Calculator — a graphing tab plots an expression of x through the
    existing restricted evaluator and draws an SVG path. There is still no
    eval, new Function, dependency or network call.

src/practice-view.js, src/practice-tools.js, src/calculator.js and
styles.css carry the change. tests/practice-chrome.test.js adds 16 tests,
and tests/practice-tools.test.js is updated for the pill and the labelled
tool row. No dependency, provider, network path, note schema or storage format
was added.

Verification: node --test → 2,498 pass, 0 fail; npm run check clean
across 347 source files; main.js is 6,985,509 bytes from
350 modules. The plan records 98 checked / 3 partial / 0 unchecked.