Skip to content

feat(lore-app): mark inbox proposals that repeat an older one or a note - #423

Open
hsusul wants to merge 1 commit into
mainfrom
feat/inbox-marks-duplicates
Open

hsusul wants to merge 1 commit into
mainfrom
feat/inbox-marks-duplicates

Conversation

@hsusul

@hsusul hsusul commented Nov 9, 2026

Copy link
Copy Markdown
Owner

What

  • list_proposals adds repeats: { id, title, kind: "note" | "proposal" } | null to each ProposalDto: the first earlier pending proposal, or else active note, whose title is near-identical (duplicates::near_identical) in the same scope or global (mirrors already_filed from fix(lorectl): refuse a proposal that repeats a pending one or an active note #412). Updates are never marked.
  • The review card shows one quiet line (Same as a lesson you haven't reviewed: <title> / Already a note: <title>) and a Reject as duplicate button that rejects with reason duplicate of <id>.
  • Bindings regenerated; the mock shows one repeating lesson.

Why

The inbox has near-duplicate pairs (the same lesson filed twice, reworded). Each had to be read and rejected by hand.

Test

  • Rust: a_proposal_that_repeats_an_older_one_or_a_note_names_it (earlier proposal, active note, global covering repo, later/repo-scoped not marked, update skipped, unrelated not marked); IPC round-trip.
  • Vitest: card shows the line, button rejects with duplicate of N1; no button when nothing repeats.
  • fmt, clippy -D warnings, cargo test (lore-app, lore-ipc), tsc, eslint, vitest all pass.

list_proposals now names, per pending proposal, the first earlier pending
proposal or else active note with a near-identical title in a covering
scope. The review card says so in one line and offers Reject as duplicate.
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.

1 participant