Fix user error handling and display in app deployment
WHY are these changes introduced?
Fixes https://github.com/Shopify/develop-app-inner-loop/issues/2487 Depends on https://github.com/shop/world/pull/23196
Errors returning from the App Management API aren't being returned correctly.
WHAT is this pull request doing?
- Fixes the type for
CONFIG_EXTENSION_IDSto explicitly be a string array - previously we accidentally used the whole spec rather than the spec identifier - Introduces a standardized
UserErrorinterface inDeveloperPlatformClient, used for deploy and release operations in both APIs - Extracts the user identifier as the
extension_idduringdeploy
Also:
- Makes
appVersionoptional in theAppDeploySchemato properly handle error cases (and make some code simpler)
How to test your changes?
- Attempt to deploy an app with invalid configuration; see the linked issue
- Verify that error messages are properly displayed
- Test successful deployments to ensure they still work correctly
Measuring impact
How do we know this change was effective? Please choose one:
- [x] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
Checklist
- [x] I've considered possible cross-platform impacts (Mac, Linux, Windows)
- [x] I've considered possible documentation changes
- #5565
π (View in Graphite) main
This stack of pull requests is managed by Graphite. Learn more about stacking.
Coverage report
St.:grey_question: |
Category | Percentage | Covered / Total |
|---|---|---|---|
| π‘ | Statements | 76.79% (+0.03% πΌ) |
9673/12596 |
| π‘ | Branches | 72.11% (+0.01% πΌ) |
4789/6641 |
| π‘ | Functions | 76.66% (+0.05% πΌ) |
2496/3256 |
| π‘ | Lines | 77.31% (+0.03% πΌ) |
9144/11828 |
Show files with reduced coverage π»
St.:grey_question: |
File | Statements | Branches | Functions | Lines |
|---|---|---|---|---|---|
| π’ | ... / upload.ts |
83.51% (-1.03% π») |
74.6% (-2.45% π») |
84.85% | 83.91% (-1.15% π») |
Test suite run success
2290 tests passing in 990 suites.
Report generated by π§ͺjest coverage report action from ab708f7c99b94e213982d6edb4906f9f60ae95cb
We detected some changes at packages/*/src and there are no updates in the .changeset. If the changes are user-facing, run "pnpm changeset add" to track your changes and include them in the next release CHANGELOG.
We detected some changes at packages/*/src and there are no updates in the .changeset.
If the changes are user-facing, run pnpm changeset add to track your changes and include them in the next release CHANGELOG.
[!CAUTION] DO NOT create changesets for features which you do not wish to be included in the public changelog of the next CLI release.
Tophatting with this TOML...
client_id = "79147652a3d9f9f6cc5700e2673d5657"
organization_id = "164192500"
name = "dlm-test-2025-05-12-2"
application_url = "https://example.com"
embedded = false
[build]
[webhooks]
api_version = "2025-07"
[[webhooks.subscriptions]]
uri = "/webhooks/customers/data_request"
compliance_topics = [ "customers/data_request" ]
[access_scopes]
# Learn more at https://shopify.dev/docs/apps/tools/cli/configuration#access_scopes
scopes = ""
[auth]
redirect_urls = [ "https://donald.merand.org" ]
I get this error which is clearly missing some keys:
Is the core PR not shipped yet? Am I missing something in my config.
Ah, sorry! Thought I'd rolled out to 100%. Have done that now.