spree_themes icon indicating copy to clipboard operation
spree_themes copied to clipboard

After some time theme on frontend resets default

Open elavretskiy opened this issue 6 years ago • 10 comments

Hello. Installed theme-BigShop-3-3-bump to heroku. After deploy frontend theme skipped to default view, but on backend selected theme-BigShop-3-3-bump.

https://monosnap.com/file/RALPrBxdqvDB9qECumLaBm7yv1sTzX

elavretskiy avatar May 28 '18 11:05 elavretskiy

We have the same issue. Theme was working on Heroku straight after install but then Heroku reset this to default spree template/theme. Can anyone tell us what to do to be able to use this theme on Heroku?

55monkey avatar May 30 '18 10:05 55monkey

Eventually, I just deleted template completely and then uploaded its assets, images and views into main app folder pushed to heroku and it seems to be working fine now. Just do not use their install procedure for production if you are going to use heroku.

55monkey avatar May 31 '18 14:05 55monkey

But the author's advise and guidance still would be appreciated. Thank you.

55monkey avatar May 31 '18 14:05 55monkey

@55monkey Can you describe in detail all the actions?

elavretskiy avatar May 31 '18 14:05 elavretskiy

@PareshGupta @himanshumishra31 @bansalakhil @mjuneja Give the answer please. Thank you.

elavretskiy avatar Jun 18 '18 17:06 elavretskiy

Hi @elavretskiy , We were trying to replicate the issue since the day you posted. But we couldn't replicate it. Our application is working fine.

Can you please tell us the steps so that we could replicate it and help you with it.

himanshumishra31 avatar Jun 18 '18 18:06 himanshumishra31

I reproduced the problem. The reason is that heroku filesystem is not persistent, which means all the static assets (theme and uploaded images) will be lost on deploy. I tried pushing all the templates files in the public folder to the repository also I tried running theme.publish from the command line but nothing worked.

radilr1 avatar Apr 17 '19 09:04 radilr1

As @radilr1 just said, Heroku works with an ephemeral system. So all uploaded files should be sent to AWS S3 or similar service.

All we need to know is about the Vinsol Spree Theme support for these services.

theo-bittencourt avatar Apr 18 '19 17:04 theo-bittencourt

@radilr1 When the theme is published, a 'current' folder in public/vinsol_spree_themes is created with symlink to the theme folder which has been published. As you know the heroku filesystem is not persistent, thus the symlink data is lost. In order to make theme work with heroku, you need to publish the theme on your local system and change the symlink path to the current directory theme folder instead of the system path of the theme folder and then deploy that application to heroku. It will find the symlink directory theme and theme will be published. Hope this works.

himanshumishra31 avatar Apr 18 '19 19:04 himanshumishra31

Updating my .gitignore worked for me:

...
/public/assets/*
!/public/assets/vinsol_spree_theme
...

Seems like the settings of Vinsol precompile is putting files in the public/assets instead public/assets/vinsol_spree_theme. The generated HTML fetchs from public/assets/vinsol_spree_theme.

theo-bittencourt avatar Apr 26 '19 20:04 theo-bittencourt