Skip to content

feat: richer Problems list modal with severity glyphs and detail - #53

Merged
cursor[bot] merged 1 commit into
mainfrom
cursor/problems-modal-15fc
Aug 29, 2026
Merged

feat: richer Problems list modal with severity glyphs and detail#53
cursor[bot] merged 1 commit into
mainfrom
cursor/problems-modal-15fc

Conversation

@nicholasadamou

@nicholasadamou nicholasadamou commented Aug 29, 2026

Copy link
Copy Markdown
Member

Summary

Replace the flat ChoiceModal problems picker with a dedicated list that matches how diagnostics are meant to be read: severity glyphs, an error/warning tally heading, column-aligned locations, optional source notes, and a fixed-height detail block for the selected message.

Also fixes cursor-scoped pick: Enter previously indexed into the full open-file rows instead of the scoped list, so jumping from “Problem at cursor” could land on the wrong diagnostic.

Test plan

  • bun test test/lsp-ui.test.tsx — list shows tally/glyph/location; Enter jumps; cursor-scoped list jumps correctly
  • CI green on this branch
Open in Web Open in Cursor 

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features

    • Added a dedicated problems modal showing diagnostics with severity totals, detailed messages, file locations, and keyboard navigation.
    • Preserved diagnostic sources and displays paths relative to the project.
    • Selecting a problem now jumps directly to its location, including from cursor-scoped results.
  • Bug Fixes

    • Improved problem selection handling for diagnostics displayed in the modal.
  • Tests

    • Added coverage for severity summaries, diagnostic details, cursor-scoped navigation, and jumping to selected problems.

Show diagnostics with glyphs, error/warning tally, aligned locations,
and a multi-line detail pane so long messages stay readable. Enter still
jumps; cursor-scoped picks now resolve against the scoped rows.

Co-authored-by: Nicholas Adamou <nicholasadamou@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Aug 29, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e713a944-c899-47ad-886c-48b70b4fcf1b

📥 Commits

Reviewing files that changed from the base of the PR and between 41f9fd2 and 05e7e75.

📒 Files selected for processing (6)
  • src/app/App.tsx
  • src/app/AppView.tsx
  • src/app/lsp/view.ts
  • src/ui/modal.ts
  • src/ui/overlays/ProblemsModal.tsx
  • test/lsp-ui.test.tsx

📝 Walkthrough

Walkthrough

The application replaces choice-based diagnostic data with ProblemEntry objects and renders a dedicated ProblemsModal. The modal displays diagnostic details, supports keyboard navigation, preserves diagnostic sources, and jumps to the selected location.

Changes

Problems modal

Layer / File(s) Summary
Problems modal implementation
src/ui/modal.ts, src/ui/overlays/ProblemsModal.tsx
Adds cut and introduces a modal with severity counts, diagnostic details, keyboard navigation, source information, and selection controls.
Diagnostic entry pipeline
src/app/lsp/view.ts, src/app/AppView.tsx, src/app/App.tsx
Replaces problemChoices with problemEntries. Selection now passes a problem object and calls jumpTo.
Modal behavior validation
test/lsp-ui.test.tsx
Verifies modal content, severity counts, cursor-scoped selection, and navigation to the selected problem.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers: cursoragent

Sequence Diagram(s)

sequenceDiagram
  participant App
  participant ProblemUI
  participant ProblemsModal
  participant Editor
  App->>ProblemUI: request problemEntries
  ProblemUI-->>App: return diagnostic entries
  App->>ProblemsModal: render entries
  ProblemsModal->>ProblemUI: select ProblemChoice
  ProblemUI->>Editor: jumpTo diagnostic location
Loading
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/problems-modal-15fc

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nicholasadamou
nicholasadamou marked this pull request as ready for review August 29, 2026 12:11
@cursor
cursor Bot merged commit d9d80cc into main Aug 29, 2026
6 of 7 checks passed
@cursor
cursor Bot deleted the cursor/problems-modal-15fc branch August 29, 2026 12:11
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.

2 participants