diff --git a/public/_redirects b/public/_redirects index 56552b89a3..fce2b2098f 100644 --- a/public/_redirects +++ b/public/_redirects @@ -1,5 +1,7 @@ /merge-queue/intro /merge-queue 301 /merge-queue/multi /merge-queue 301 +/merge-queue/browser-extensions /browser-extensions 301 +/merge-queue/browser-extensions/ /browser-extensions 301 /configuration /configuration/file-format 301 /configuration/ /configuration/file-format 301 /conditions /configuration/conditions 301 diff --git a/src/content/docs/merge-queue/browser-extensions.mdx b/src/content/docs/browser-extensions.mdx similarity index 51% rename from src/content/docs/merge-queue/browser-extensions.mdx rename to src/content/docs/browser-extensions.mdx index f83f940dc1..958e42df8f 100644 --- a/src/content/docs/merge-queue/browser-extensions.mdx +++ b/src/content/docs/browser-extensions.mdx @@ -1,23 +1,25 @@ --- title: 'Browser Extensions' -description: 'Install the Chrome or Firefox helpers that surface queue controls directly inside GitHub pull requests.' +description: 'Install the Chrome or Firefox extension to surface Mergify Merge Queue and stack controls directly inside GitHub pull requests.' --- import { Image } from "astro:assets"; -import extensionListScreen from "../../images/merge-queue/browser-extensions/list.png"; -import extensionPrScreen from "../../images/merge-queue/browser-extensions/pr.png"; +import extensionListScreen from "../images/browser-extensions/list.png"; +import extensionPrScreen from "../images/browser-extensions/pr.png"; +import stacksPanel from "../images/stacks-revision-history.png"; -## Why use the browser extensions? +## Why Use the Browser Extensions? -The Chrome and Firefox extensions inject a small Mergify toolbar into every GitHub pull request you -open. The toolbar exposes the most common merge queue actions (such as queueing a pull request) -without having to type [commands](/commands). Use it when you want to: +The Chrome and Firefox extensions inject a small Mergify panel into every GitHub pull request you +open. The panel surfaces the most common actions without typing [commands](/commands) and shows +Mergify context (queue state, stack position) directly in the pull request. Use them when you want to: - Enqueue a pull request as soon as you review it. - Quickly dequeue without context switching. - See at a glance whether the pull request is already in one of your queues. +- See a [stack's](/stacks) chain and revision history without opening the CLI. -## Locate the official download links +## Locate the Official Download Links The dashboard keeps the canonical links to the Chrome Web Store and Firefox Add-ons listing so you always grab the signed builds. @@ -43,7 +45,7 @@ always grab the signed builds. 1. Click **Add to Firefox** from the dashboard page. 2. Approve the requested permissions in the Firefox Add-ons prompt. -## Use the queue controls inside GitHub +## Merge Queue Controls After installation, reload any pull request on GitHub. A Mergify toolbar appears near the GitHub merge box and displays queue-specific controls: @@ -56,4 +58,16 @@ merge box and displays queue-specific controls: Mergify browser extension toolbar injected into a GitHub pull request \ No newline at end of file +/> + +## Stacks Panel + +For repositories using [Stacks](/stacks), the extension renders the Mergify Stacks panel inside the +pull request. It shows the full chain of stacked PRs, highlights where the current PR sits, and +includes the [revision-history](/stacks/reviewing#revision-history) timeline so you can see how each +commit evolved across pushes without leaving GitHub. + +Mergify Stacks panel with the stack and its revision history timeline on a pull request diff --git a/src/content/docs/stacks/compare/gh-stack.mdx b/src/content/docs/stacks/compare/gh-stack.mdx index 990d4f2422..6305632454 100644 --- a/src/content/docs/stacks/compare/gh-stack.mdx +++ b/src/content/docs/stacks/compare/gh-stack.mdx @@ -122,7 +122,7 @@ yet implemented. **Native GitHub UI.** gh-stack gets a stack map rendered directly in the PR interface. Mergify posts a stack comment on each PR and, with the -[browser extension](/merge-queue/browser-extensions) installed, renders the +[browser extension](/browser-extensions) installed, renders the stack and its revision history as an in-PR panel. Both work well, but neither is a built-in GitHub UI element. diff --git a/src/content/docs/stacks/reviewing.mdx b/src/content/docs/stacks/reviewing.mdx index 1f247c1aa3..1b9af9e1fb 100644 --- a/src/content/docs/stacks/reviewing.mdx +++ b/src/content/docs/stacks/reviewing.mdx @@ -70,7 +70,7 @@ That reason shows up against the matching revision, so you don't have to diff old and new SHAs to understand what moved. :::tip - The [Mergify browser extension](/merge-queue/browser-extensions) renders the + The [Mergify browser extension](/browser-extensions) renders the stack and its revision history directly in the GitHub pull request, as shown above. ::: diff --git a/src/content/images/merge-queue/browser-extensions/list.png b/src/content/images/browser-extensions/list.png similarity index 100% rename from src/content/images/merge-queue/browser-extensions/list.png rename to src/content/images/browser-extensions/list.png diff --git a/src/content/images/merge-queue/browser-extensions/pr.png b/src/content/images/browser-extensions/pr.png similarity index 100% rename from src/content/images/merge-queue/browser-extensions/pr.png rename to src/content/images/browser-extensions/pr.png diff --git a/src/content/navItems.tsx b/src/content/navItems.tsx index c4f85c539c..e96efa6bfd 100644 --- a/src/content/navItems.tsx +++ b/src/content/navItems.tsx @@ -67,11 +67,6 @@ const navItems: NavItem[] = [ path: '/merge-queue/github-rulesets', icon: 'simple-icons:github', }, - { - title: 'Browser Extensions', - path: '/merge-queue/browser-extensions', - icon: 'lucide:puzzle', - }, { title: 'Monitoring', path: '/merge-queue/monitoring', icon: 'lucide:layout-dashboard' }, ], }, @@ -398,7 +393,14 @@ const navItems: NavItem[] = [ }, ], }, - { title: 'CLI', path: '/cli', icon: 'lucide:terminal' }, + { + title: 'Tools', + icon: 'lucide:wrench', + children: [ + { title: 'CLI', path: '/cli', icon: 'lucide:terminal' }, + { title: 'Browser Extensions', path: '/browser-extensions', icon: 'lucide:puzzle' }, + ], + }, { title: 'Security', path: '/security', icon: 'lucide:shield' }, { title: 'Support', path: '/support', icon: 'lucide:life-buoy' }, { title: 'Billing', path: '/billing', icon: 'lucide:banknote' },