How do view diff between old and new version of PR?

We are using rebase-only strategy is our repository. When developer makes a fixes in existing PR (fixing review feedback, for example), they amend existing commit and force-push.

However reviewer is not really interested in reviewing the whole full thing again. They already did most of the review and they want to see just the latest updates. How can they see the diff between “old” (before force push) and “new” (after force push) versions of PR?

Force pushing effectively destroys the previous commit and replaces it, so the old hash becomes a dangling reference which is no longer usable. Still, the RefLog should contain a copy of the old commit (for undo operations), so you might want to reference that for diffing, but I doubt you can use this feature on GitHub — at least, I don’t know of any such way, and as far as my experience goes, clicking on commits which have been force-pushed over (they have a red cross icon next to them) links nowhere since they are dangling references.

If this is an important aspect of your development cycle, the easiest approach would be to create a backup of the PR branch before amending it (e.g. renaming it <name>.bak); this would allow you to diff the current head of the PR branch with its backup copy, both locally and on GH’s WebUI.