Shopify / cli

Build apps, themes, and hydrogen storefronts for Shopify
https://shopify.dev
MIT License
422 stars 126 forks source link

[Bug]: `shopify run dev` for theme extensions local url incorrect. #1915

Closed liamjosephsilk closed 1 year ago

liamjosephsilk commented 1 year ago

Please confirm that you have:

In which of these areas are you experiencing a problem?

Extension

Expected behavior

When running npm run dev with a theme extension, the link to the local editor should be:

https://app-test-store-development.myshopify.com/admin/themes/148711473425/editor

Interacting with this link should open the local theme editor to enable and add the theme extension.

Actual behavior

The logs print out:

https://app-test-store-development.myshopify.com/admin/themes/148711473425/edit

Instead, the link fails and states the this is not available.

Verbose output

2023-05-05 05:33:18 │ extensions │ DEBUG POST https://partners.shopify.com/api/cli/graphql with request_id:
                                   7a6347e2-51fa-482a-b6d6-caa7e364ebe4
2023-05-05 05:33:18 │ extensions │ DEBUG {"data"=>{"extensionSpecifications"=>[{"name"=>"App Nav Item",
                                   "identifier"=>"app_nav_item", "options"=>{"managementExperience"=>"custom"},
                                   "features"=>{"argo"=>nil, {"name"=>"Online Store Nav Item",
                                   "identifier"=>"online_store_nav_item",
                                   "options"=>{"managementExperience"=>"custom"}, "features"=>{"argo"=>nil,
                                   {"name"=>"POS Link", "identifier"=>"pos_link",
                                   "options"=>{"managementExperience"=>"dashboard"}, "features"=>{"argo"=>nil,
                                   {"name"=>"App Link", "identifier"=>"app_link",
                                   "options"=>{"managementExperience"=>"dashboard"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Bulk Action", "identifier"=>"bulk_action",
                                   "options"=>{"managementExperience"=>"dashboard"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Flow - Action Definition", "identifier"=>"flow_action_definition",
                                   "options"=>{"managementExperience"=>"dashboard"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Flow - Trigger Definition", "identifier"=>"flow_trigger_definition",
                                   "options"=>{"managementExperience"=>"dashboard"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Flow - Trigger Discovery Webhook",
                                   "identifier"=>"flow_trigger_discovery_webhook",
                                   "options"=>{"managementExperience"=>"dashboard"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Privacy Compliance Webhooks",
                                   "identifier"=>"privacy_compliance_webhooks",
                                   "options"=>{"managementExperience"=>"custom"}, "features"=>{"argo"=>nil,
                                   {"name"=>"function", "identifier"=>"function",
                                   "options"=>{"managementExperience"=>"cli"}, "features"=>{"argo"=>nil,
                                   {"name"=>"App Link Runtime Parameters",
                                   "identifier"=>"app_link_runtime_params",
                                   "options"=>{"managementExperience"=>"custom"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Coinstall Retail Apps", "identifier"=>"coinstall_retail_apps",
                                   "options"=>{"managementExperience"=>"custom"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Produces Sales", "identifier"=>"produces_sales_extension",
                                   "options"=>{"managementExperience"=>"custom"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Checkout Post Purchase", "identifier"=>"checkout_post_purchase",
                                   "options"=>{"managementExperience"=>"cli"},
                                   "features"=>{"argo"=>{"surface"=>"checkout"}, {"name"=>"Checkout Extension",
                                   "identifier"=>"checkout_ui_extension",
                                   "options"=>{"managementExperience"=>"cli"},
                                   "features"=>{"argo"=>{"surface"=>"checkout"}, {"name"=>"Merchandising - Create
                                   Publication", "identifier"=>"merchandising_create_publication",
                                   "options"=>{"managementExperience"=>"custom"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Merchandising - Fulfillment Variant Details",
                                   "identifier"=>"merchandising_fulfillment_variant_details",
                                   "options"=>{"managementExperience"=>"custom"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Product Subscription", "identifier"=>"subscription_management",
                                   "options"=>{"managementExperience"=>"cli"},
                                   "features"=>{"argo"=>{"surface"=>"admin"}, {"name"=>"Marketing Activity",
                                   "identifier"=>"marketing_activity_extension",
                                   "options"=>{"managementExperience"=>"dashboard"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Web Pixel Extension", "identifier"=>"web_pixel_extension",
                                   "options"=>{"managementExperience"=>"cli"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Online Store - App Theme Extension",
                                   "identifier"=>"theme_app_extension",
                                   "options"=>{"managementExperience"=>"cli"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Payment Gateway", "identifier"=>"payment_gateway",
                                   "options"=>{"managementExperience"=>"custom"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Payments App - Redeemable ", "identifier"=>"payments_app_redeemable",
                                    "options"=>{"managementExperience"=>"dashboard"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Retail Cart Promotion", "identifier"=>"retail_cart_promotion",
                                   "options"=>{"managementExperience"=>"dashboard"}, "features"=>{"argo"=>nil,
                                   {"name"=>"Retail Product Recommendation",
                                   "identifier"=>"retail_product_recommendation",
                                   "options"=>{"managementExperience"=>"dashboard"}, "features"=>{"argo"=>nil,
                                   {"name"=>"POS UI Extension", "identifier"=>"pos_ui_extension",
                                   "options"=>{"managementExperience"=>"cli"},
                                   "features"=>{"argo"=>{"surface"=>"point_of_sale"}, {"name"=>"Subscription
                                   Link", "identifier"=>"subscription_link",
                                   "options"=>{"managementExperience"=>"dashboard"}, "features"=>{"argo"=>nil]
2023-05-05 05:33:18 │ extensions │ DEBUG GET https://app-test-store-development.myshopify.com/admin/api/unstable/t
                                   hemes/148711473425.json with request_id: c8678e76-23d2-465f-9f84-80dafd8a5772
2023-05-05 05:33:21 │ extensions │ DEBUG POST https://partners.shopify.com/api/cli/graphql with request_id:
                                   33a9aa45-f84d-4831-878c-627813a85626
2023-05-05 05:33:21 │ extensions │ DEBUG {"data"=>{"app"=>{"id"=>"40300150785", "title"=>"Pace (dev)",
                                   "apiKey"=>"5654af1232f1e0095ed3d283f897e785",
                                   "apiSecretKeys"=>[{"secret"=>"4746687f6c57fe4eb8d44a1472be5b17"}],
                                   "appType"=>"undecided", "extensionRegistrations"=>[{"id"=>"23910252545",
                                   "type"=>"THEME_APP_EXTENSION", "uuid"=>"f5179084-47e9-4878-a665-1d54a2167f07",
                                   "title"=>"pace-ui", "draftVersion"=>{"registrationId"=>"23910252545",
                                   "context"=>nil, "lastUserInteractionAt"=>"2023-05-05T01:22:32-04:00",
                                   "location"=>"https://partners.shopify.com/2588298/apps/40300150785/extensions/t
                                   heme_app_extension/23910252545", "validationErrors"=>[], "id"=>"93439590401",
                                   "uuid"=>"b33c7821-342a-4e64-bc5c-ff63fa91dfda", "versionTag"=>"0.0.0"]}
2023-05-05 05:33:21 │ extensions │
2023-05-05 05:33:21 │ extensions │ --------- Viewing extension…
2023-05-05 05:33:21 │ extensions │ Enable your theme app extension:
2023-05-05 05:33:21 │ extensions │ https://partners.shopify.com/2588298/apps/40300150785/extensions/theme_app_exte
                                   nsion/23910252545
2023-05-05 05:33:21 │ extensions │
2023-05-05 05:33:21 │ extensions │ Setup your theme app extension in the host theme:
2023-05-05 05:33:21 │ extensions │ https://app-test-store-development.myshopify.com/admin/themes/148711473425/edit
                                   or
2023-05-05 05:33:21 │ extensions │
2023-05-05 05:33:21 │ extensions │ Preview your theme app extension:
2023-05-05 05:33:21 │ extensions │ http://127.0.0.1:9292
2023-05-05 05:33:21 │ extensions │ ------------------
2023-05-05 05:33:21 │ extensions │ [2023-05-05 06:33:21] INFO  WEBrick 1.7.0
2023-05-05 05:33:21 │ extensions │ [2023-05-05 06:33:21] INFO  ruby 3.1.2 (2022-04-12) [x86_64-darwin20]
2023-05-05 05:33:21 │ extensions │ [2023-05-05 06:33:21] INFO  WEBrick::HTTPServer#start: pid=2509 port=9292
2023-05-05 05:33:22 │ extensions │ DEBUG POST https://partners.shopify.com/api/cli/graphql with request_id:
                                   f11c227a-e36e-45fe-981d-354c69bdfe61
2023-05-05 05:33:22 │ extensions │ DEBUG {"data"=>{"extensionUpdateDraft"=>{"extensionVersion"=>{"registrationId"=
                                   >"23910252545", "context"=>nil,
                                   "lastUserInteractionAt"=>"2023-05-05T01:33:22-04:00",
                                   "location"=>"https://partners.shopify.com/2588298/apps/40300150785/extensions/t
                                   heme_app_extension/23910252545", "validationErrors"=>[]}, "userErrors"=>nil}
2023-05-05 05:33:22 │ extensions │ Pushed » 'pace-test' to a draft
2023-05-05 05:33:22 │ extensions │ - blocks/star_rating.liquid
2023-05-05 05:33:22 │ extensions │ - snippets/stars.liquid
2023-05-05 05:33:22 │ extensions │ - locales/en.default.json
2023-05-05 05:33:22 │ extensions │ - assets/app.js
2023-05-05 05:33:22 │ extensions │ - assets/thumbs-up.png

Reproduction steps

  1. Create a theme extension in the Shopify Node template.
  2. npm run dev
  3. In the terminal, click the link for the local theme editor.

Operating System

Mac OS Big Sur 11.7.4

Shopify CLI version (check your project's package.json if you're not sure)

3.45.0

Shell

iTerm2

Node version (run node -v if you're not sure)

v16.17.1

What language and version are you using in your application?

No response

isaacroldan commented 1 year ago

Hi @liamjosephsilk!

Looking at your verbose output, seems like an issue with your terminal. I see this from your log:

2023-05-05 05:33:21 │ extensions │ https://app-test-store-development.myshopify.com/admin/themes/148711473425/edit
                                   or

Which means that the link is being split into a second line and your terminal breaks the link, some terminals can't interpret urls correctly if the are in two lines i'm afraid.

The solution would be to make your terminal wider or just copy paste the full link