Shopify / theme-extension-getting-started

A theme app extension boilerplate that highlights the basic structure and features that are available to developers who want to integrate their apps with Shopify Online Stores.
https://shopify.dev/apps/online-store/theme-app-extensions/getting-started
MIT License
108 stars 45 forks source link

Limited by 100KB limitation to expand our app #22

Closed customerhub closed 1 year ago

customerhub commented 2 years ago

Hi Shopify TAE team,

I wanted to enquire here and see if there is any plans or ways to go past the very limited 100kb liquid limit set on Theme App Extensions.

This limitation is applied across all liquid within an app, and we have multiple extensions that add functionality within our merchants shops - and have plans for others as well as to expand our existing functionality.

We have optimised about as much as we can, and now we are at the point of constantly hitting that 100kb limit when we try to add something else to our app.

This limit is debilitating to our progress. We attended Unite, and were told to post here. If you would like more details on our use case, please PM me and I can provide any details you wish.

We hope you can lift the limit to ~300-500kb - which would provide us enough run-way to expand on our app while keeping optimisation in mind.

I have posted in the Slack channels as well - but no love there. We hope someone @shopify-admins can reply and provide us some insight and resolution of this issue so we can continue to provide more to merchants.

adithwip commented 1 year ago

Hey, have this issue been resolved? I have the same issue with the 10000 bytes threshold. Eventually, I was told to visit this Repo as well after asking countless Shopify support channels.

customerhub commented 1 year ago

Hey mate, unfortunatly no it has not. Many people are now encountering this issue after being forced to move away from the Asset API and/or onto the TAE.

I have not been able to reach anyone internally at Shopify who is looking into this issue seriously for a resolution. All I have been told so far is that it some sort of "system design limitation" and that was it, they were not looking to try and address it. Hopefully someone at @shopify-admins looks at this and understands how serious an issue it is. Talk from other devs is they need it lifted to around 500kb, which I think is more than reasonable and will provide the scope for us all to make better products.

Oh and I was also told to visit this repo when I spoke to Shopify directly at Unite, however it does not seem to be monitored based on the lack of response.

@tobi ?

flourishpool commented 1 year ago

Our team also copes with the 100kb liquid file and 25-setting-per-block limit limitations when working with Theme App Extensions on our Shopify app.

We tried to reach out to the Shopify support team (both via the ticket and live chat), but the situation is still under consideration.

For our case, we need to support a rich set of configurations for the app blocks to cover different use cases that the merchants might need. However, we quickly reach the 25-setting-per-app-block and 100kb liquid file limit.

For example, in the blocks like Tabs, Accordion.. (in our app), we can only define a maximum of 6 items (each item has about 3-4 settings of title, icon and description). Merchants will find our pre-built settings too limited and need extra configurations for their specific customization of spacing, thumbnail, text size, animation, etc. (which are unavailable due to the 25-setting-per-block limit).

I really hope the Shopify development team will consider lifting the hard limits (100kb liquid file and 25-settings-per-block) to truly explore the 'section everywhere' on the Online Store 2.0.

Under this circumstance, we have to think of adding a separate app to extend the features, which is really bad in terms of UX and app performance (More apps to achieve one single goal - Shopify store design).

I believe if the TAE limit as mentioned above is resolved, we can expect more agencies leveraging add-on components to augment free or paid themes—such as Shopify’s own Dawn theme—rather than developing everything from scratch as you referred to in this article: https://www.shopify.com/partners/blog/development-trends-2023

limoniapps commented 1 year ago

Running into the same issue. Given that the Asset API is being deprecated, we need to move all code to App Embeds. Unfortunately, the current limits make it near impossible to do so. Additionally, it seems we cannot nest snippets in an App Embed, which makes code re-use impossible.

customerhub commented 1 year ago

Great additional point @limoniapps - we also hit the issue of not being able to next snippets with the render call. We had to apply all our render logic to the block and then render the appropriate snippets and also separate snippets so we could do this (which is not efficient and also adds to the KB of our liquid). I have also reached out too a memeber of the TAE team via slack and he has said he will pass this thread onto the team. Hopefully the provide some insight and updates as to what is being done to resolve these issues soon.

robertosenabre commented 1 year ago

Running into the same issue in our case. Shopify must increase this limit at the earliest convenience. It seems counterproductive to mandate all apps to migrate to app embeds with these limitations in liquid files and input settings.

albertogcatalan commented 1 year ago

Running into the same issue in our case. Shopify must increase this limit at the earliest convenience. It seems counterproductive to mandate all apps to migrate to app embeds with these limitations in liquid files and input settings.

robertosenabre commented 1 year ago

Great update about this: https://github.com/Shopify/cli/pull/2504

customerhub commented 1 year ago

Promising to see some specific mention of this! I just gave it a test (ensured I had the lastest CLI) and I still get hit with the error. Have you tested this on your end @aresena ?

cbothner commented 1 year ago

The new version of the CLI shipped today, which updates the client-side validation with the increased limit. Thank you all for this feedback.