Skip to content

Preset not working properly with live preset customization because browser caching. #467

@tonamphong

Description

@tonamphong

Steps to reproduce the issue

Enable the Custom Style option for any Helix Ultimate-based template. You will see live changes when modifying colors for elements like the top bar or links. However, it doesn't always work correctly — sometimes the changes apply, and sometimes they don't. You often need to hard refresh the browser for the updates to appear.

Expected result

The color should change after the browser (iframe) loads if you update the color settings.

Actual result

It changes the color, but sometimes it doesn't. You can see that the preset1.css, preset2.css, ..., preset8.css, or default.css files are updated, but the browser still uses a cached version, so the changes aren't reflected live.

System information (as much as possible)

Joomla and Helix Ultimate framework latest version

Additional comments

Take a look at how PageBuilder renders its CSS

com_sppagebuilder/assets/css/animate.min.css?f884b94d2130eed5937399c725be18b1
com_sppagebuilder/assets/css/sppagebuilder.css?f884b94d2130eed5937399c725be18b1

Notice the query strings (?f884b94d2130eed5937399c725be18b1) at the end of each CSS file? These act as cache-busting hashes or version identifiers to ensure the browser always loads the latest file.

We can implement a similar approach for the preset files. For example:

We can extend the function add_scss() https://github.com/JoomShaper/helix-ultimate/blob/master/plugins/system/helixultimate/src/Core/HelixUltimate.php#L1070 to accept an optional hash, version, or timestamp parameter. This would allow us to append a cache-busting query string to the generated CSS file, helping to resolve the issue where live preset customizations aren't reflected immediately due to browser caching.

I believe this issue is important and should be addressed as soon as possible to improve the user experience.
See https://www.joomshaper.com/forum?search=preset

Thank you

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions