Skip to content

Hyperlink shortcut labels in DevSessionUI footer#7259

Open
nickwesselman wants to merge 4 commits intonwesselman/dev-console-shortcutfrom
nwesselman/dev-footer-hyperlinks
Open

Hyperlink shortcut labels in DevSessionUI footer#7259
nickwesselman wants to merge 4 commits intonwesselman/dev-console-shortcutfrom
nwesselman/dev-footer-hyperlinks

Conversation

@nickwesselman
Copy link
Copy Markdown
Contributor

@nickwesselman nickwesselman commented Apr 13, 2026

WHY are these changes introduced?

Clean up app dev footer (especially for non-embedded apps) by using hyperlinks when supported.

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes
  • I've considered analytics changes to measure impact
  • The change is user-facing, so I've added a changelog entry with pnpm changeset add

Copy link
Copy Markdown
Contributor Author

nickwesselman commented Apr 13, 2026

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@nickwesselman nickwesselman changed the base branch from nwesselman/dev-console-shortcut to graphite-base/7259 April 13, 2026 15:07
@nickwesselman nickwesselman force-pushed the nwesselman/dev-footer-hyperlinks branch from 26db21d to 2a7a395 Compare April 13, 2026 15:10
@nickwesselman nickwesselman changed the base branch from graphite-base/7259 to nwesselman/dev-console-shortcut April 13, 2026 15:10
@nickwesselman nickwesselman marked this pull request as ready for review April 13, 2026 15:19
@nickwesselman nickwesselman requested review from a team as code owners April 13, 2026 15:19
@nickwesselman nickwesselman force-pushed the nwesselman/dev-footer-hyperlinks branch 3 times, most recently from fe40fdc to 660d519 Compare April 13, 2026 15:30
@nickwesselman nickwesselman force-pushed the nwesselman/dev-console-shortcut branch from 6fe15bf to b2880a1 Compare April 13, 2026 15:41
@nickwesselman nickwesselman force-pushed the nwesselman/dev-footer-hyperlinks branch from 660d519 to 880aac9 Compare April 13, 2026 15:41
@nickwesselman nickwesselman force-pushed the nwesselman/dev-footer-hyperlinks branch from 880aac9 to 672c0d4 Compare April 13, 2026 15:46
@nickwesselman nickwesselman force-pushed the nwesselman/dev-console-shortcut branch from b2880a1 to 9a408b5 Compare April 13, 2026 15:46
@nickwesselman nickwesselman force-pushed the nwesselman/dev-footer-hyperlinks branch from 672c0d4 to a8b0bbc Compare April 13, 2026 16:09
@nickwesselman nickwesselman force-pushed the nwesselman/dev-console-shortcut branch from 9a408b5 to 5e5ddf6 Compare April 13, 2026 16:09
@nickwesselman nickwesselman force-pushed the nwesselman/dev-console-shortcut branch from 5e5ddf6 to 880c5f8 Compare April 13, 2026 19:11
@nickwesselman nickwesselman force-pushed the nwesselman/dev-footer-hyperlinks branch from a8b0bbc to e126d1d Compare April 13, 2026 19:11
nickwesselman and others added 4 commits April 13, 2026 15:19
When the terminal supports hyperlinks, the shortcut labels (p, c, g) are
rendered as clickable OSC 8 links and the separate URL list is hidden.
When hyperlinks are not supported, labels render as plain text with the
URL list shown below as before.

Adds terminalSupportsHyperlinks() to @shopify/cli-kit/node/system and
makes boolean check ordering consistent (status.isReady first).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Only hide the URL list when hyperlinked shortcuts are actually rendered
(canUseShortcuts && terminalSupportsHyperlinks), not just when the
terminal supports hyperlinks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…terminalSupportsPrompting

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@nickwesselman nickwesselman force-pushed the nwesselman/dev-footer-hyperlinks branch from e126d1d to dbabaf1 Compare April 13, 2026 19:19
@github-actions
Copy link
Copy Markdown
Contributor

Differences in type declarations

We detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:

  • Some seemingly private modules might be re-exported through public modules.
  • If the branch is behind main you might see odd diffs, rebase main into this branch.

New type declarations

We found no new type declarations in this PR

Existing type declarations

packages/cli-kit/dist/public/node/system.d.ts
@@ -87,6 +87,12 @@ export declare function exec(command: string, args: string[], options?: ExecOpti
  * @returns A Promise resolving after the number of seconds.
  */
 export declare function sleep(seconds: number): Promise<void>;
+/**
+ * Check if the terminal supports OSC 8 hyperlinks.
+ *
+ * @returns True if the terminal supports hyperlinks.
+ */
+export declare function terminalSupportsHyperlinks(): boolean;
 /**
  * Check if the standard input and output streams support prompting.
  *

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant