Skip to content

Conversation

@Musti7even
Copy link
Collaborator

@Musti7even Musti7even commented Dec 15, 2025

Fix file changes view to show individual files in new folders and improve revert handling

Fixes #426 #426

What's Fixed

Files in new folders now show up individually

  • Previously, when files were created inside a new folder, only the folder name appeared in the changes view
  • Now each file is listed separately with its own line counts
  • You can stage, view diffs, and manage each file individually

Reverting new files works correctly

  • Previously, trying to revert a new file showed an error
  • Now reverting a new file deletes it, matching expected behavior

Better button visibility and tooltips

  • Stage and revert buttons are easier to click with larger hover areas
  • Tooltips appear faster and explain what each action does

What You'll Notice

  • All files in new folders appear in the changes list
  • Each file shows its addition/deletion counts
  • Reverting new files works without errors
  • Buttons are easier to interact with

See here how now files within new folders are being shown and are accessible to view.

  • the buttons regarding staging and reverting files is now clearer.
image

Also fixed this error (when you wanted to revert a new (unstaged) files):
image


Note

Show individual new files (including inside new folders), correctly revert untracked files, and improve the changes panel with tooltips, telemetry, and a commit & push flow.

  • Git/Backend:
    • Include untracked files in status queries by adding --untracked-files=all in git status across src/main/ipc/gitIpc.ts, src/main/services/GitService.ts, and src/main/services/WorktreeService.ts to surface files in new folders.
    • Improve revertFile in src/main/services/GitService.ts to delete untracked files and safely revert tracked files from HEAD.
  • UI/Renderer:
    • src/renderer/components/FileChangesPanel.tsx:
      • Add tooltips and larger hit areas for stage/revert actions; keep staged badge and diff modal behavior.
      • Add commit message input with "Commit & Push" action when staged changes exist.
      • Trigger telemetry on PR actions and adjust PR button states.
  • Repo:
    • Update .gitignore to ignore .checkouts/.

Written by Cursor Bugbot for commit 53aa2be. This will update automatically on new commits. Configure here.

@Musti7even Musti7even self-assigned this Dec 15, 2025
@vercel
Copy link

vercel bot commented Dec 15, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
docs Ready Ready Preview, Comment Dec 15, 2025 5:58am

Copy link
Contributor

@arnestrickmann arnestrickmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks Musti

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the final PR Bugbot will review for you during this billing cycle

Your free Bugbot reviews will reset on January 7

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

if (fs.existsSync(absPath)) {
fs.unlinkSync(absPath);
}
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Checkout failure causes unintended file deletion

The git cat-file check and git checkout command are in the same try block. If cat-file succeeds (confirming the file exists in HEAD) but checkout fails for any reason (permissions, disk issues, file locked), the error is caught by the catch block which assumes the file doesn't exist in HEAD and deletes it. This could cause data loss of tracked files when the checkout operation fails for reasons unrelated to file existence.

Fix in Cursor Fix in Web

captureTelemetry('changes_viewed');
})();
setSelectedPath(change.path);
setShowDiffModal(true);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Telemetry tracking calls removed during refactoring

The captureTelemetry('changes_viewed') call was removed from the file change click handler, and captureTelemetry('pr_viewed') was removed from the PR button click handler during the tooltip refactoring. These events are still defined in the telemetry type definitions (telemetry.ts) and allowed events list (telemetryIpc.ts), indicating this was unintentional. The PR description doesn't mention removing telemetry tracking.

Fix in Cursor Fix in Web

@arnestrickmann arnestrickmann merged commit edfe01a into main Dec 15, 2025
4 checks passed
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.

[bug]: Changes View lacks complete information about all changes

3 participants