Remix.run Logo
Show HN: Diffy – browser extension for faster GitHub PR review experience(github.com)
3 points by suveshmoza 12 hours ago | 2 comments

I built diffy, a browser extension that improves GitHub PR review experience and even works on large PRs. It gives you a full-screen scrollable diff with a searchable file tree, side-by-side and unified view, 50+ themes, inline comments, and review workflow. All of this in <2MB.

Try it (no account needed) Chrome (https://chromewebstore.google.com/detail/diffy/oaakiockkfndn...) and Firefox (https://addons.mozilla.org/en-US/firefox/addon/diffy-pr/)

- On any PR page -> click View Diff

- Anywhere on GitHub -> right-click a PR link -> Open in diffy

Works on public repos out of the box. A GitHub token is only needed for private repos, higher API rate limits, posting comments and review workflow.

How diffy works?

On a PR page it adds a View Diff button and starts prefetching the PR in the background. You can also right-click any PR link → Open in diffy.

When you open a PR, diffy fetches the diff through the GitHub API and shows it in a full-screen overlay.

Tech: TypeScript, React, WXT, Pierre Trees and Diffs.

Questions, feedback - all welcome!

wkali-dev 12 hours ago | parent [-]

Nice work! The side-by-side diff with a file tree native experience on large PRs.

One question: how do you handle binary files or very large diffs (10k+ lines)? That's usually where PR review tools start to struggle.

suveshmoza 11 hours ago | parent [-]

Thanks!

At the moment, binary files aren't supported. They show up in the file tree, but their contents are empty. That's something I plan to add in the next release.

For large PRs, diffy fetches the PR through GitHub's API (page by page), stitches the patches together, and renders the entire diff using Pierre's Diffs and Trees. Syntax highlighting runs in a background worker, so the UI stays responsive even for very large changes.

Here's a demo of a PR with 10k+ lines of changes: https://drive.google.com/file/d/1-6f16V8tOR3cV15FCWXGmHHnRE5...