-
Notifications
You must be signed in to change notification settings - Fork 225
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
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 b867383 |
This comment has been minimized.
This comment has been minimized.
4876c88 to
f689efe
Compare
adbc1ae to
103a462
Compare
jordanverasamy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎩 ! Looks good and works nicely, just needs one tiny polish cleanup :)
103a462 to
b867383
Compare
|
/snapit |
|
🫰✨ Thanks @nickwesselman! Your snapshot has been published to npm. Test the snapshot by installing your package globally: npm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260129185510Caution After installing, validate the version by running just |
nickwesselman
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good from a DX POV
ryancbahan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mentioned here that I think we really need a systemic solution for this, but given we don't have one now this makes sense to me.
| const version = await resolveApiVersion({adminSession, userSpecifiedVersion}) | ||
| return {adminSession, version} | ||
| }, | ||
| renderOptions: {stdout: process.stderr}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This pattern seems smelly to me. I'm unclear why it's necessary to pass the process around since it's a global. I see it's being done in a few other places for bulk commands, so I won't block, but I question whether this is the right approach.

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
renderSingleTaskcall at the very start of each command method, with the authentication and version lookup being the task it tracks. The message it shows isAuthenticating...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.
Tophatting
Before:
Screen Recording 2026-01-22 at 5.41.18 PM.mov (uploaded via Graphite)
After:
Screen Recording 2026-01-28 at 12.57.18 PM.mov (uploaded via Graphite)
NOTE: IMPLEMENTATION HAS CHANGED UPON REVIEW
Check here for more details