This is an urgent issue. @Louis, when you have a moment, will really appreciate it for you to take a look.
We have created a site with many components.
One feature we’ve added is the ability to set the image width using a number property.
We have connected this to the width property of the target block and it works perfectly when there is a single component used on the page.
As soon as you add an additional component it stops working.
If multiple different components are used and they have the same property type (e.g. number), it appears they are also conflicting with one another.
Step-by-step reproduction instructions:
Open the Post Editor/Site Editor
Create a component containing a block that responds to width changes
Add a number property to the component
Connect it to the width property of the block
Notice that with a single instance this works correctly
Add a second instance of the component
Notice that it only uses the width value from the first component
Note: as mentioned above - it appears that the first property of the same type of the first component of any type is overriding the values of subsequent components.
Created a minimal test case on a site with 1.4.2 and the property values don’t appear on the front end - the CSS variables do not get added and therefore the blocks that reference them do not display correctly.
Created a second minimal test case on a different demo site. Verified the issue with 1.4.2. Number property values are not added to the variables on the front end.
I sent you two different sites reproducing this, you should have admin access to the first one. I will also attempt to recreate on the instawp site you provided.
Thank you for the workaround. That resolves the issue I shared in the minimal test case in Cwicly 1.4.2.
Unfortunately it didn’t immediately resolve the issue where multiple components of different types were overriding each other.
Then I remembered that we had had this issue:
And surmised that the reason we were getting overlap between our components is because when the team member that created them had copied the blocks with “Copy Linked” on unknowingly, which caused the class names to be shared between components, so essentially it was sharing the CSS styles between the components but without the actual component data.
Randomising the class names immediately fixed this issue and everything worked perfectly again!
This was a classic case of one issue affecting another. Always satisfying to get these sorted, no matter how annoying they may have been previously. Especially when you have a release pending.