Skip to content

[R1-02] Verify and finish PDF highlights and Annotations workflow #30

Description

@dkritarth

Outcome

Users can create durable highlights from actual PDF text, find them in Annotations, jump back, and delete them reliably.

Dependencies

Blocked by #29. Existing PR #22 is stacked on PR #21 and must remain ordered. PR #22 implements highlight behavior only; Add to chat and Explain belong to later issue.

Scope

Review PR #22 after #21 lands. Validate text-layer anchors across zoom, navigation, restart, and representative PDFs. Verify migration/IPC/preload/UI and stale-anchor behavior.

Acceptance criteria

  • Selecting text and choosing each color creates exact visible highlight.
  • Highlight quote, page, color, anchor, and paper ownership persist.
  • Annotation click navigates to correct page and visible range.
  • Delete removes list entry and overlay.
  • Zoom and restart preserve anchor.
  • Invalid/stale anchors degrade without crash or wrong-text highlight.
  • Highlights never cross paper boundaries.
  • Migration and cascade deletion are proven.

Live verification

Use multi-page real PDF. Highlight beginning/end of lines, multi-line selection, repeated text, then zoom, navigate, restart, jump, and delete. Record any PDF.js selection limitations.

Required PR evidence

PR must use Closes #30, stay focused, and include:

  • regression/failing test or reproducible baseline;
  • focused tests plus npm test, npm run typecheck, npm run build, git diff --check;
  • exact Electron clicks/typing and observed result;
  • screenshots for UI changes when tooling permits;
  • console output, restart/persistence result, and unresolved limitations;
  • real-paper evidence for reader behavior.

Existing PR code and mocked tests are not sufficient. Reviewer must independently exercise live flow before merge.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:readerPDF reader, text layer, navigation, or citationsarea:storageSQLite schema, migrations, or persistencearea:uxUser-facing workflow or interfacephase:1-readingPhase 1: paper reading, selection, and evidence workflowstatus:in-progressImplementation PR exists or work is actively claimed

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions