Skip to content

New loading indicator - #8136

Open
gonzaloriestra wants to merge 2 commits into
mainfrom
new-spinner
Open

gonzaloriestra wants to merge 2 commits into
mainfrom
new-spinner

Conversation

@gonzaloriestra

@gonzaloriestra gonzaloriestra commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

HackDays project: https://vault.shopify.io/hackdays/154/projects/24279-Shopify-CLI-UX-improvements

The CLI uses multiple spinner implementations with inconsistent visuals and behavior.

WHAT is this pull request doing?

Replaces task and app dev spinners with a shared Shopify-branded loading indicator.

demo.mp4

How to test your changes?

  • pnpm i -g @shopify/cli@0.0.0-snapshot-20260811121607
  • shopify app init
  • shopify app dev

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 — I've identified the correct bump type (patch for bug fixes · minor for new features · major for breaking changes) and added a changeset with pnpm changeset add

@github-actions github-actions Bot added the Area: @shopify/cli @shopify/cli package issues label Jul 21, 2026
@gonzaloriestra
gonzaloriestra changed the base branch from main to graphite-base/8136 July 21, 2026 09:45
@gonzaloriestra
gonzaloriestra changed the base branch from graphite-base/8136 to mouse-support July 21, 2026 09:46
@gonzaloriestra gonzaloriestra changed the title Add new loading indicator New loading indicator Jul 22, 2026
@gonzaloriestra
gonzaloriestra marked this pull request as ready for review July 27, 2026 09:42
@gonzaloriestra
gonzaloriestra requested review from a team as code owners July 27, 2026 09:42
@gonzaloriestra
gonzaloriestra force-pushed the new-spinner branch 2 times, most recently from 3d7da2b to fee6455 Compare August 7, 2026 11:08
@gonzaloriestra
gonzaloriestra force-pushed the new-spinner branch 2 times, most recently from 7dec6dd to d9cbb2c Compare August 13, 2026 08:43
@gonzaloriestra
gonzaloriestra changed the base branch from mouse-support to graphite-base/8136 August 13, 2026 14:31
@gonzaloriestra
gonzaloriestra changed the base branch from graphite-base/8136 to background-analytics August 13, 2026 14:31
Base automatically changed from background-analytics to main August 14, 2026 15:48
@gonzaloriestra
gonzaloriestra force-pushed the new-spinner branch 2 times, most recently from f5c9815 to 6aca6e8 Compare August 28, 2026 13:38
@dmerand

dmerand commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

/snapit

@github-actions

Copy link
Copy Markdown
Contributor

🫰✨ Thanks @dmerand! Your snapshot has been published to npm.

Test the snapshot by installing your package globally:

pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260828140545

Caution

After installing, validate the version by running shopify version in your terminal.
If the versions don't match, you might have multiple global instances installed.
Use which shopify to find out which one you are running and uninstall it.

@github-actions

Copy link
Copy Markdown
Contributor

This PR seems inactive. If it's still relevant, please add a comment saying so. Otherwise, take no action.
→ If there's no activity within a week, then a bot will automatically close this.
Thanks for helping to improve Shopify's dev tooling and experience.

@gonzaloriestra gonzaloriestra added stale-exempt If added, the PR/issue won't be closed by stale-bot and removed no-pr-activity labels Oct 2, 2026
@gonzaloriestra
gonzaloriestra force-pushed the new-spinner branch 2 times, most recently from e95d65f to 23e3af3 Compare October 2, 2026 08:24
@github-actions

github-actions Bot commented Oct 9, 2026

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

packages/cli-kit/dist/private/node/ui/components/LoadingIndicator.d.ts
import React from 'react';
interface LoadingIndicatorProps {
    title: string;
    noColor?: boolean;
}
declare const LoadingIndicator: ({ title, noColor }: LoadingIndicatorProps) => React.JSX.Element;
export { LoadingIndicator };

Existing type declarations

packages/cli-kit/dist/public/node/ui.d.ts
@@ -325,9 +325,9 @@ export interface RenderSingleTaskOptions<T> {
     renderOptions?: RenderOptions;
 }
 /**
- * Awaits a single task and displays a loading bar while it's in progress. The task's result is returned.
+ * Awaits a single task and displays a loading indicator while it's in progress. The task's result is returned.
  * @param options - Configuration object
- * @param options.title - The initial title to display with the loading bar
+ * @param options.title - The initial title to display with the loading indicator
  * @param options.task - The async task to execute. Receives an updateStatus callback to change the displayed title.
  * @param options.retry - The number of additional attempts after a failure. Defaults to zero.
  * @param options.renderOptions - Optional render configuration
packages/cli-kit/dist/public/node/ui/components.d.ts
@@ -1,4 +1,5 @@
 export { ConcurrentOutput, ConcurrentOutputContext, useConcurrentOutputContext, } from '../../../private/node/ui/components/ConcurrentOutput.js';
 export { Alert } from '../../../private/node/ui/components/Alert.js';
 export { Link } from '../../../private/node/ui/components/Link.js';
+export { LoadingIndicator } from '../../../private/node/ui/components/LoadingIndicator.js';
 export { TabularData } from '../../../private/node/ui/components/TabularData.js';
\ No newline at end of file

This branch has not been deployed

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

Labels

Area: @shopify/cli @shopify/cli package issues stale-exempt If added, the PR/issue won't be closed by stale-bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants