Skip to content

feat(ui): per-file review tick-off - #3

Open
jakob1379 wants to merge 1 commit into
devfrom
feat/file-review-tick
Open

jakob1379 wants to merge 1 commit into
devfrom
feat/file-review-tick

Conversation

@jakob1379

Copy link
Copy Markdown
Owner

What

Adds a per-file reviewed checkbox in addition to the existing per-group tick.

  • Every file row in a flow group and in the Ungrouped bucket gets a checkbox. Reviewed files are struck through.
  • x toggles the selected file. X toggles its whole flow. The keyboard hint footer is updated.
  • Ticking a group ticks all of its files. A group becomes ticked once every one of its files is ticked, and unticking any file unticks the group.
  • The Ungrouped bucket (infra) can be ticked like a flow group and counts toward the n/m reviewed counter.
  • Reviewed files are dimmed in the collapsed group rail.
  • File ticks reset wherever group ticks already reset: new analysis, refinement applied, manifest import, and clearAnalysis.

This revives wip/file-review-tick (2de1dd2, salvaged WIP based on v0.5.16), rebased onto current dev. Conflicts were in clearAnalysis (dev added showNewCommits and refinementApplied reset) and in the infra group className (dev added selected). Both sides were kept. The rail styling and the three extra reset sites are new, needed because dev added those code paths after the WIP was written.

Testing

In the devShell (nix develop), crates/diffcore-tauri/ui:

  • npm run build (tsc + vite): passes
  • npm run typecheck:e2e: passes
  • npx playwright test, full suite: 235 passed, 2 skipped. This includes the new specs in tests/e2e/bugfixes.spec.ts:
    • 04: x toggles file reviewed from Monaco focus
    • 04b: Shift+X toggles the group and syncs files, and per-file untick/retick propagates to the group
    • 04c: the Ungrouped bucket ticks off like a group

Note: if the host shell exports LD_LIBRARY_PATH with a newer alsa-lib, the nix Playwright Chromium fails to launch with GLIBC_2.43 not found. Run with env -u LD_LIBRARY_PATH nix develop .... This is unrelated to this PR.

Known gaps

  • Review state is session-only, the same as the existing group ticks; nothing is persisted.
  • Applying a refinement clears all ticks, including file ticks, even though the files are unchanged. This matches existing group behaviour. Keeping file ticks across a regroup would need group ticks recomputed from file ticks.
  • The I (Ungrouped) chip in the collapsed rail doesn't show tick state.

Each file in a flow group or the Ungrouped bucket gets its own reviewed
checkbox. `x` now toggles the selected file and `X` toggles its whole
group; a group is ticked once all of its files are, and ticking a group
ticks every file in it. The Ungrouped bucket can be ticked like a flow
group and counts toward the "n/m reviewed" total. Reviewed files are dimmed
in the collapsed group rail.

File ticks reset wherever group ticks reset (new analysis, refinement
applied, manifest import).
@coderabbitai

coderabbitai Bot commented Oct 5, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 9217859a-5359-4414-b120-cd58b3c7edb2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

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