Skip to content

feat: opt-in notes on test results (#375) - #377

Merged
timdegroot1996 merged 2 commits into
mainfrom
feat/375-fail-notes
Oct 14, 2026
Merged

timdegroot1996 merged 2 commits into
mainfrom
feat/375-fail-notes

Conversation

@timdegroot1996

Copy link
Copy Markdown
Collaborator

Closes #375

Adds opt-in notes on test results: write down why a test failed or passed with a warning, link the bug, and group notes with categories you define. Documentation: docs/notes.md.

How it works

  • Opt-in. Settings → Defaults → Test Notes (off by default). Turning it off hides everything; stored notes come back when it is turned on again.
  • Storage. Notes live in the browser's localStorage, keyed by run and test, so they work in a local HTML file and with --server. Nothing is written to the database or the HTML. Export/import is available in the Notes modal.
  • Adding a note.
    • Right-click a test in Test Statistics, the Most Failed / Most Flaky graphs (and recent variants) or Compare Tests. A normal click still opens the log.
    • The pencil in the new Test Notes widget, or in the note column of the Test table.
  • Editor. Text (max 2000 chars, http(s) links clickable), an optional category, Delete Note / Save Note in the header. There is no Close: dismissing the editor saves.
  • Categories. User defined name and color, managed in the editor or in the Notes modal.
  • Notes modal. Notes tab with an Update mode that shows the checkboxes and the bulk delete buttons, Unmatched tab for notes whose run/test is not in this dashboard, Categories tab. Edits are stored immediately, and the dashboard redraws after the modal closes, like the filter and settings modals.
  • Where notes show. Tooltips, a category colored border around tests with a note, the Test Notes widget (failures, failures without a note, notes per category) and the Tables page. The widget follows the section filters and can be moved or hidden in the layout editor.

Also changed

  • Modals no longer shift the page or shorten the sticky menu bar (body.modal-open no longer becomes a scroll container).
  • Closing the Settings modal keeps the scroll position instead of jumping to the top.
  • Redrawing the test graphs after a note change shows the loading spinners.

Testing

  • JS 480 passed (new tests/javascript/notes), Python 414 passed with 97% coverage.
  • Robot (Docker): full suite 142/142, including the new 10_notes.robot.

🤖 Generated with Claude Code

- add a Test Notes setting (off by default) that adds a right-click menu on test graphs, a Test Notes table and a notes column in the tests table
- notes have a text, a category with a color, and are stored in localStorage keyed by run and test
- Notes modal with a list tab (update mode, bulk delete) and a categories tab; the note editor saves when it is closed
- edits in the notes modal take effect on the open dashboard after closing it, like the filter and settings modals
- keep the page from shifting when modals open and keep the scroll position when the settings modal closes
- docs/notes.md, README and docs index; JS unit tests and robot suite 10_notes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The category chooser in the note editor was a native <select>, which
can't show the category color in every browser. It is now a Bootstrap
dropdown with a color dot on every entry, as requested in #375. A
hidden input keeps the chosen id, so saving is unchanged.

The Categories tab of the Notes modal now lays out the new-category
form and every row on one grid (Category | Usages | Color | button),
so colors and buttons line up. The Delete buttons pick the outline
class of the current theme; they were invisible in light mode because
theme.js only swaps the classes of buttons that exist at that time.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@timdegroot1996
timdegroot1996 merged commit 16260ed into main Oct 14, 2026
3 checks passed
@timdegroot1996
timdegroot1996 deleted the feat/375-fail-notes branch October 14, 2026 00:20
@timdegroot1996 timdegroot1996 mentioned this pull request Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE REQUEST] Fail notes

1 participant