cli icon indicating copy to clipboard operation
cli copied to clipboard

[Bug]: theme push is very slow in versions with the new colorful upload UI

Open BearKid opened this issue 7 months ago • 8 comments

Please confirm that you have:

  • [X] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)
  • [X] Reproduced the issue in the latest CLI version.

In which of these areas are you experiencing a problem?

Theme

Expected behavior

I expect shopify theme push -d in @shopify/cli@3.64.0 should complete in no more than 5s, should be same as @shopify/cli@3.47.5.

Actual behavior

I found that v3.56.x ~ v3.64.0 (the latest version at this moment) is very slow when uploading the theme files using shopify theme push -d.

  • Taking about 15s ~ 2minutes for a simple theme in development store that initially created by shopify.
  • Taking serveral minutes to upload my formal theme(not a big project) in my prod store.

I tested cli 3.47.x ~ 3.53.x, shopify theme push -d is far more faster than the new versions, taking no more than 5s.

Intuitively, the versions with the colorful upload progress bar are slow, and the versions with the old style upload progress bar are faster.

  • new UI image
  • old UI img_v3_02cr_6df5956c-2eda-4594-a6d9-0bff6068e9fg

Below is a more detail table image

As you can see by the table above, my new PC doesn't run the old version of the CLI properly and I have to use the new version, so I'm desperate to find a solution to the slow uploads.

Verbose output

...

2024-07-16T04:10:29.212Z: Request to https://xxx-dev.myshopify.com/admin/api/unstable/themes/143758819578/assets/bulk.json completed in 1003 ms
With response headers:
 - content-type: application/json; charset=utf-8
 - x-request-id: 6e88e3c6-713f-48fa-9b81-9b2941e0db9f-1721103028

2024-07-16T04:10:29.214Z: File Upload Results:
-snippets/preorder-now-settings-1.liquid: success
-snippets/preorder-now.liquid: success
-snippets/price.liquid: success
-snippets/signup_event_fire.liquid: success
-templates/page.bss-b2b-wholesaler-18046.liquid: success
-templates/search.bss.b2b.liquid: success
-templates/search.preorder-now-search.liquid: success
-templates/customers/account.liquid: success
-templates/customers/register.liquid: success
2024-07-16T04:10:29.221Z: Uploading the following files:                                                                                                                                                                                                                                                            
-assets/pandectes-settings.json                                                                                                                                                                                                                                                                                     
-templates/product.json
2024-07-16T04:10:30.167Z: Request to https://xxx-dev.myshopify.com/admin/api/unstable/themes/143758819578/assets/bulk.json completed in 943 ms
With response headers:
 - content-type: application/json; charset=utf-8
 - x-request-id: ebed7cfc-672b-470e-8d97-b2623aef3cd1-1721103029

2024-07-16T04:10:30.169Z: File Upload Results:                                                                                                                                                                                                                                                                      
-assets/pandectes-settings.json: success                                                                                                                                                                                                                                                                            
-templates/product.json: success
2024-07-16T04:10:30.173Z: Uploading the following files:                                                                                                                                                                                                                                                            
-config/settings_schema.json                                                                                                                                                                                                                                                                                        
2024-07-16T04:10:30.898Z: Request to https://xxx-dev.myshopify.com/admin/api/unstable/themes/143758819578/assets/bulk.json completed in 723 ms
With response headers:
 - content-type: application/json; charset=utf-8
 - x-request-id: 29bb82c3-9245-47ec-afe3-f1ed7550b4c1-1721103030

2024-07-16T04:10:30.902Z: File Upload Results:                                                                                                                                                                                                                                                                      
-config/settings_schema.json: success                                                                                                                                                                                                                                                                               
2024-07-16T04:10:30.906Z: Uploading the following files:
-assets/appointly-main.js
2024-07-16T04:10:31.902Z: Request to https://xxx-dev.myshopify.com/admin/api/unstable/themes/143758819578/assets/bulk.json completed in 993 ms
With response headers:
 - content-type: application/json; charset=utf-8
 - x-request-id: cbd5f66c-639c-4380-90ba-8951f36c7c67-1721103030

2024-07-16T04:10:31.906Z: File Upload Results:                                                                                                                                                                                                                                                                      
-assets/appointly-main.js: success                                                                                                                                                                                                                                                                                  
2024-07-16T04:10:31.910Z: Uploading the following files:
-assets/bss-b2b-hook.js
-assets/bss-b2b-js.js
2024-07-16T04:10:35.136Z: Request to https://xxx-dev.myshopify.com/admin/api/unstable/themes/143758819578/assets/bulk.json completed in 3218 ms
With response headers:
 - content-type: application/json; charset=utf-8
 - x-request-id: b970d93d-6245-45e8-a4dc-525717de3278-1721103031

2024-07-16T04:10:35.148Z: File Upload Results:                                                                                                                                                                                                                                                                      
-assets/bss-b2b-hook.js: success                                                                                                                                                                                                                                                                                    
-assets/bss-b2b-js.js: success
2024-07-16T04:10:35.150Z: Uploading the following files:
-assets/bss-b2b-state.js
2024-07-16T04:10:36.371Z: Request to https://xxx-dev.myshopify.com/admin/api/unstable/themes/143758819578/assets/bulk.json completed in 1215 ms
With response headers:
 - content-type: application/json; charset=utf-8
 - x-request-id: 8ecbbb1f-dde9-43b1-8cab-fc2b1971b6b3-1721103035

2024-07-16T04:10:36.372Z: File Upload Results:                                                                                                                                                                                                                                                                      
-assets/bss-b2b-state.js: success

...

 Analytics event sent: {
  "command": "theme push",
  "time_start": 1721109452872,
  "time_end": 1721109601617,
  "total_time": 148745,
  "success": true,
  "cli_version": "3.64.0",
  "ruby_version": "3.3.4",
  "node_version": "22.4.1",
  "is_employee": false,
  "uname": "windows amd64",
  "env_ci": false,
  "env_plugin_installed_any_custom": false,
  "env_plugin_installed_shopify": "[\"@shopify/cli\"]",
  "env_shell": "cmd.exe",
  "env_device_id": "59e44e9b47f02007da55a01933fdbb74b0d207e4",
  "env_cloud": "localhost",
  "env_package_manager": "pnpm",
  "env_is_global": true,
  "cmd_app_warning_api_key_deprecation_displayed": false,
  "cmd_all_timing_network_ms": 144150,
  "cmd_all_timing_prompts_ms": 0,
  "cmd_all_launcher": "unknown",
  "cmd_all_topic": "theme",
  "cmd_all_plugin": "@shopify/cli",
  "cmd_all_force": false,
  "cmd_all_verbose": true,
  "cmd_all_path_override": true,
  "cmd_all_path_override_hash": "e23c73e2fe642a39a0a3686096356ed8af4ac0a5",
  "cmd_all_timing_active_ms": 4594,
  "cmd_all_exit": "ok",
  "args": "-d --store {mystore_name}.myshopify.com --verbose",
  "env_plugin_installed_all": "[\"@shopify/cli\"]",
  "metadata": "{\"extraPublic\":{},\"extraSensitive\":{}}"
}

Reproduction steps

  1. follow doc to Install Ruby+Devkit 3.x using https://rubyinstaller.org/downloads/
  2. pnpm i -g @shopify/[email protected] or npm i -g @shopify/[email protected]
  3. shopify theme push -d --store xxx.myshopify.com

Operating System

Windows 10

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

3.64.0

Shell

Powersell

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

v22.4.1

What language and version are you using in your application?

No response

BearKid avatar Jul 16 '24 04:07 BearKid