-
Notifications
You must be signed in to change notification settings - Fork 223
Immediate UI feedback for shopify app execute and shopify app bulk execute
#6793
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
shopify app execute and shopify app bulk execute
Coverage report
Show new covered files 🐣
Show files with reduced coverage 🔻
Test suite run success3689 tests passing in 1431 suites. Report generated by 🧪jest coverage report action from f689efe |
|
We detected some changes at Caution DO NOT create changesets for features which you do not wish to be included in the public changelog of the next CLI release. |
4876c88 to
f689efe
Compare

Inspired by: https://docs.google.com/document/d/1zZVFeZn2jWbPI8pS9XvMMcXvNwXHKnEQoSGYeBMHyGk/edit?tab=t.0
Resolves: https://github.com/orgs/shop/projects/208/views/34?pane=issue&itemId=3840287153&issue=shop%7Cissues-api-foundations%7C1311
Problem
Users experience a noticeable delay (~1-3 seconds) between hitting enter and seeing any output. During this time, the CLI is performing necessary async operations (authentication, API version resolution) but provides no visual feedback, making the tool feel unresponsive.
Solution
Add a
renderInfocall at the very start of each command's run() method, before any async work begins:app execute: "Preparing GraphQL operation..."app bulk execute: "Preparing bulk operation..."Why this approach
This change may seem minimal, but it's the earliest possible point we can provide feedback.
The delay occurs during:
prepareExecuteContext()- parses flags, validates query, loads app context, selects storecreateAdminSessionAsApp()- authenticates with ShopifyresolveApiVersion()- determines API versionWe cannot include the detailed info (store, app, API version) in this initial message because that information isn't available yet - it's the result of the async operations causing the delay.
There is still some lag at the beginning. Eliminating this lag entirely would require adding feedback to all Shopify CLI commands at the framework level, which is out of scope for this change.
Future considerations
If the two info banners ("Preparing..." followed by "Starting bulk operation" with details) feel like too much output, we could:
Tophatting
Before:
Screen Recording 2026-01-22 at 5.41.18 PM.mov (uploaded via Graphite)
After:
Screen Recording 2026-01-22 at 5.36.51 PM.mov (uploaded via Graphite)