Refined GitHub

repository·main·Indexed 12 days ago

https://github.com/refined-github/refined-github

A browser extension designed to improve and simplify the GitHub user interface by adding useful features and fixing common annoyances. It provides enhancements for repository views, file management, code interaction, comment writing and reading, conversation management, and pull request workflows.

Tokens
6.7K
Snippets
10
Records
36
Agent score
97%

What's inside Refined GitHub

  1. Fixes for GitHub Shortcomings

    main

    Refined GitHub addresses various bugs and UX issues in the native GitHub interface:

    • Link and URL Fixes:
      • Linkifies branch references in "Quick PR" pages.
      • Linkifies line numbers where GitHub lacks links.
      • Linkifies certain text like issue references in issue titles and discussion sidebars.
      • Drops the redundant readme-ov-file parameter from repository URLs.
      • Suggests fixes for links wrongly shortened by GitHub.
      • Keeps links from opening in new tabs by default (ensuring "Open in new tab" is a user choice).
    • Workflow and Interaction Fixes:
      • Points the "View file" button on PRs to the branch instead of the commit (enabling Edit/Delete buttons).
      • Prevents duplicate PR submissions when clicking "Create pull request" multiple times.
      • Prevents comment loss by opening preview links in a new tab instead of navigating away while editing.
      • Fixes <kbd>cmd</kbd> <kbd>enter</kbd> to submit comments on closed PRs.
      • Redirects to the repo issue list when a search does not include is:pr.
      • Automatically scrolls the file tree to the current file.
      • Closes checks lists when clicking outside of a modal.
      • Disables certain modals that reduce user experience.
    • UI and Performance Fixes:
      • Applies various CSS fixes to the GitHub interface.
      • Removes the file hover effect in the repository file browser.
      • Removes unnecessary or redundant information from the repository sidebar.
      • Retries downloading images that failed due to GitHub's limited proxying.
      • Improves the usability of the comment reactions popup by making it smaller.
      • Stacks old and new titles in title change timeline events for better readability.
      • Adds a 'New Milestone' button to the milestone page.
  2. Refined GitHub Features: Editing Pull Requests

    main

    Enhancements for the PR editing workflow:

    • Title Syncing: Uses the PR title as the default squash commit title and keeps them in sync.
    • Branch Management: Adds an "Update branch | Rebase" button to every PR and can automatically delete branches immediately after merging (excluding long-lived branches like develop or release/*).
    • Review Workflow: Simplifies review submission with one-click Approve/Reject buttons and adds a quick-review sidebar with a keyboard shortcut <kbd>v</kbd> to focus the review textarea.
    • Keyboard Shortcuts: Use <kbd>g</kbd> <kbd>←</kbd> / <kbd>g</kbd> <kbd>→</kbd> or <kbd>g</kbd> <kbd>1</kbd> through <kbd>g</kbd> <kbd>4</kbd> to cycle through PR tabs.
    • Other: Enables one-click creation of draft PRs/gists, clears clutter from merge commit messages (keeping only co-authors), and turns the "Resolve conflicts" dropdown into plain buttons.
  3. Notification Management Improvements

    main

    Refined GitHub adds several tools to manage GitHub notifications more efficiently:

    • Quick Access:
      • Adds a button to the notification page to open all unread notifications at once.
      • Adds a button to the global header to open unread notifications from any page.
      • Adds a link to the last page of notifications.
      • Makes the notifications action bar sticky.
    • Navigation and Selection:
      • Adds a shortcut to select all visible notifications: <kbd>a</kbd>.
      • Stops redirecting to the notification inbox from notification bar actions while holding <kbd>Alt</kbd>.
      • Points PR notifications to the Conversation tabs instead of the commits page (to avoid 404s).
    • UI Cleanup:
      • Makes the notifications list more compact when grouped by repository.
      • Cleans up the Notifications page header, especially on mobile devices.
  4. Refined GitHub Features: Tags and Releases

    main

    Improvements for managing releases and tags:

    • Release Management: Adds a Releases tab with shortcut <kbd>g</kbd> <kbd>r</kbd>, a tags dropdown/search on release pages, and a button to convert a release to a draft.
    • Release Metadata: Shows download counts next to assets and adds a link to the changelog file from the releases page.
    • Workflow: Adds a shortcut <kbd>c</kbd> to create a new release on the Releases page, adds a link to changes since the last tag/release, and provides a confirmation dialog when publishing a release to prevent accidental submissions.
  5. Profile and Repository Enhancements

    main

    Refined GitHub improves the user profile and repository browsing experience with several features:

    • User Profile Improvements:
      • Shows whether a user follows you on their profile.
      • Marks private organizations on your own profile.
      • Adds a keyboard shortcut to visit your own profile: <kbd>g</kbd> <kbd>m</kbd>.
      • Adds a link to the user's most starred repositories.
      • Filters out forks and archived repos from profiles by default (though they can still be shown).
      • Linkifies the user location in hovercards and profile pages.
      • Adds links to issues and pull requests on the user profile repository tab and global search.
    • Repository Browsing:
      • Highlights private repositories in the repository list with a distinct color.
      • Reduces default tab indent width from 8 to 4 characters in code views.
      • Makes the file header sticky when scrolling through code diffs.
      • Makes the first column of CSV/TSV file previews sticky during horizontal scrolling.
  6. Refined GitHub Features: Commit and Diff Improvements

    main

    Tools to improve code inspection and commit history:

    • Diff Viewing: Adds a "Hide whitespace" button with shortcut <kbd>d</kbd> <kbd>w</kbd>, enables toggling file diffs by clicking headers, and allows toggling commit messages by clicking the commit box. It also widens the Expand diff button for easier clicking.
    • Commit Links: Adds links to .patch and .diff files, and provides links to view raw versions, blame, and history for files within PRs/commits.
    • Visual Cues: Shows conventional commit types as labels, displays tags next to commits, marks merge commits in lists, and uses icons to indicate if files are being added or removed.
    • Advanced Inspection: Alt-clicking "Reblame" buttons performs a "deep reblame" by extracting associated PR commits first. It also suggests limiting commit/PR titles to 72 characters.
  7. Refined GitHub Highlights

    main

    Refined GitHub includes several high-impact features to improve the GitHub experience:

    • Whitespace visibility: Makes whitespace characters visible.
    • Unreleased commits detection: Indicates if you are viewing the latest version or if unreleased commits exist.
    • PR base commit info: Shows how far a PR head branch is behind and its base commit.
    • Conversation activity filter: Filters issue/PR events to show only comments or unresolved comments.
    • Status subscription: One-click subscription to issue opening/closing events.
    • Default branch link: Adds a link to the default branch on directory listings and files.
    • Restore file button: Adds a button in PRs to discard all changes to a file.
    • Notification selection: Allows selecting notifications by type and status.
  8. Netiquette and Best Practice Reminders

    main

    Refined GitHub includes unobtrusive reminders to encourage better GitHub etiquette:

    • Netiquette Reminders: Provides context for old closed issues, highly-active issues, or draft PRs.
    • Anti-pattern Warnings:
      • Warns you when creating a Pull Request from the default branch.
      • Warns you when unchecking Allow edits from maintainers (noted as maintainer-hostile).
  9. Global UI and Navigation Enhancements

    main

    General improvements to the GitHub interface and navigation:

    • Navigation and Shortcuts:
      • Adds a keyboard shortcut to open a selection in a new tab when navigating via <kbd>j</kbd> and <kbd>k</kbd>: <kbd>shift</kbd> <kbd>o</kbd>.
      • Shows all Refined GitHub keyboard shortcuts in the help modal (triggered by the <kbd>?</kbd> hotkey).
      • Lets you open pseudo-links in a new tab with <kbd>ctrl</kbd> <kbd>click</kbd> or middle click.
    • UI Refinements:
      • Adds useful related pages and alternatives on 404 pages.
      • Automatically closes dropdown menus when they are no longer visible.
      • Fills in missing backtick rendering (`text`) in various locations.
      • Shows how others are using a specific Action in the Marketplace.
      • Dims the site footer to make it less prominent.
      • Adds dark mode support to the global 404 page.
      • Uses a monospace font in textareas for commit messages, descriptions, and release bodies.
  10. Refined GitHub Features: Pull Request Enhancements

    main

    Refined GitHub provides several UI improvements for managing Pull Requests (PRs):

    • PR Lists: Adds dropdown filters for Checks and Draft PRs, color-coded review counts, and highlights non-default base branches. It also shows if a PR has conflicts and linkifies review state labels (e.g., "Draft", "Changes requested") to allow filtering.
    • PR Files Tab: Allows batch marking/unmarking files as "Viewed" using Shift-click. You can also jump to the first non-viewed file by clicking the progress bar.
    • PR Navigation & UI: Adds duplicate commit navigation buttons at the bottom of the Commits tab, makes PR tabs smaller for mobile/small screens, and provides a link to the latest deployment in the PR header.
    • Checks & Deployments: Automatically shows all checks when expanding the panel without scrolling, and hides inactive deployments.
  11. Manage conversations with Refined GitHub

    main

    Refined GitHub provides tools to manage issues and pull request conversations more efficiently:

    • Bulk Actions: Open all visible issues/PRs at once or use <kbd>alt</kbd> <kbd>click</kbd> to toggle all similar items (minimized comments, deferred diffs, etc.) at once.
    • Sticky UI: Makes the issue/PR list filters toolbar and comment headers sticky during scrolling.
    • Conversation Highlighting: Highlights issues/PRs opened by you or repository collaborators.
    • Improved Sorting: Changes the default sort order of issues/PRs to Recently updated.
    • Clean Sidebars/Headers: Hides empty sections in the sidebar and removes duplicate information from PR headers.
    • Label Management: Aligns labels to the left below titles and adds one-click buttons to remove labels.
    • Bot Noise Reduction: Dims commits and PRs created by bots.
    • Status Filters: Allows toggling between open/closed/merged filters in searches.
    • Quick Close: Allows closing an issue as "unplanned" in one click.
    • Navigation Shortcuts: Adds <kbd>esc</kbd> to cancel editing a PR title.
  12. Customize Refined GitHub features and styles

    main

    You can customize the extension in two ways:

    1. Disable features: Most features can be disabled via the extension options if they are JavaScript-based.
    2. Override styles: You can override the extension's CSS with your own styles within the extension options.