The diff sidebar now shows specific reasons when it can't display a diff, and debounces its file-history lookups
The diff sidebar (the panel showing file changes) used to have separate hardcoded checks for cases like no git repository or a terminal window too narrow to display it. It now runs those checks through a single helper that returns a structured status, and shows a notification with a reason-specific message keyed to that reason. Separately, the sidebar's file-history lookup is now debounced (delayed slightly and cancelled if superseded) using a timer and an abort mechanism.
The reworked refusal messages should make it clearer to users exactly why the diff sidebar isn't showing, and debouncing the file-history fetch avoids firing off redundant lookups while the sidebar state is still changing.