• Resolved Matthew Dixon

    (@matthewdixon)


    Hi guys,

    Great work with this plugin so far, the regular updates are very encouraging!

    I recently had a client get in touch to say a product wasn’t syncing, from what I found in the logs it sounded like the description was too long:

    With data: {
    	"developerMessage": "The request entity has constraint violations",
    	"errorType": "CONSTRAINT_VIOLATION",
    	"violations":[{
    		"propertyName": "description",
    		"developerMessage": "size must be between 0 and 1024",
    		"constraintType": "INVALID_SIZE",
    		"expected": "0-1024",
    		"value": "yada yada..."

    I asked them to create the product again with no description – this synced as usual then they added the description afterwards. Their description had been a little over 1024 characters but this shouldn’t stop a product from syncing, especially as it’s unlikely the description would ever be used in store! I’m hoping you’ll be able to truncate the output before sending it to Zettle so products with long descriptions are handled automatically (leaving this public message in case anyone else has the same issue).

    Thanks again for all your hard work ??

Viewing 8 replies - 1 through 8 (of 8 total)
  • Plugin Support Syde Joost

    (@joostvandevijver)

    Hello @matthewdixon

    thank you for reaching out to us. However, what you are describing is indeed how the plugin should be functioning. I understand the suggestion and will open a feature request for it, but this will most likely not be done in 2021, since we are currently only resolving bugs. We might get the possibility of picking up new features in 2022.

    I have linked the feature request to this thread, so you will get updated once it is picked up and developed. For now, I will, however, mark this thread as resolved, since there won’t be much activity possible.

    Kind regards,
    Joost

    Thread Starter Matthew Dixon

    (@matthewdixon)

    Hi @joostvandevijver, thanks for getting back to me.

    Sorry but I’m confused, can you explain in what way this is a feature request? I don’t see how this can be interpreted as anything other than a bug, it’s something which is not working properly! A product should still sync even if its description is too long for Zettle, descriptions which are too long need to be handled appropriately.

    A product completely failing to sync is the worst response in my opinion. As a product description is unlikely to be needed in store I imagine most users would rather it synced with no description than failed without a useful error message to indicate the problem. The best response would be the truncate the content so as much of the data makes it to Zettle as possible.

    I’ll mark this ‘not resolved’ until it’s clear why it’s not a bug. Thanks for your work so far ??

    Plugin Support Syde Joost

    (@joostvandevijver)

    Hello @matthewdixon

    the error that is returned is clear, no? The description of a product cannot be longer than 1024 characters. Having a function added to the tool that fixes this mistake for the users, is (in my opinion) a feature. The error returned is clear and does what it should do, tell the user what they did wrong. So getting this situation changed, is a feature because both situations (current and suggested) work as they are intended.

    I discussed this with the team and got the same response.
    Let me know if you can agree with our logic.

    Kind regards,
    Joost

    Thread Starter Matthew Dixon

    (@matthewdixon)

    Hi again @joostvandevijver, I’m sorry to say I see no logic in your interpretation at all.

    There is nothing on the front-end informing the user of the limitation before or after this fails, so how are they to know? When this issue does occur the cause of the failure can only be seen in logs which are a mess due to being duplicated and garbled along with the description HTML itself which isn’t helpful – a non-developer would have no chance making sense of this and all they’re told on the front-end is the product is syncable but won’t sync which is a contradiction and inaccurate as the product is not syncable but they’re not told why.

    In my opinion this is a broken piece of functionality and therefore a clear bug, must say it’s worrying that you and the rest of the team don’t think the same ??

    Plugin Support Syde Joost

    (@joostvandevijver)

    Hello @matthewdixon

    I am sorry you did not see the logic, let me try again.

    This plugin is used by merchants that need an easy to use plugin for synchronizing their inventory. They can use the plugin to do that and have both front-end and backend access in order to identify issue. If they run into the issue where a product is not synchronizing, they have the access to the backend logs in are able to identify the cause of the problem and get it resolved.

    I understand your point of view, but since this is working as we intended it, we do not see this as a bug. I will however add the restriction of maximum characters to our documentation, so merchants can find this there as well.

    Again, thank you for your input, we will try to include it when we have the chance to do so.

    Kind regards,
    Joost

    Thread Starter Matthew Dixon

    (@matthewdixon)

    Hi @joostvandevijver,

    I do see where you’re coming from in that a user literally has access to the information required to identify the issue, but IRL these merchants have no development experience and while the info might be there they won’t be ‘able to identify the cause of the problem and get it resolved’ without the help of a developer – this is a poor user experience for the merchant.

    You say this is working as intended and therefore not a bug – can you explain the logic behind preferring a product sync to fail completely rather than sync either with no description or a truncated one? Is a description required in Zettle for some reason? Without a good reason for requiring a description this can only be a bug IMO.

    Plugin Support Syde Joost

    (@joostvandevijver)

    Hello @matthewdixon

    I also understand your point of view, but I have to follow the guidelines in how our team operates. This applies to the priorities of the items that are found and documented. For me and my team, it will not add value if we would change this. I think we can only agree to disagree on this one.

    I did however run a test where I created a product that had over 1024 characters in the details/description of the product and was not able to trigger this error. I was however able to trigger it when making the name of the product much longer (>256). SO far I have not found what field was triggering the error for your client, it does not seem to be the fields that cause this issue. Are you aware of what field was adjusted to get this resolved for your client?

    Kind regards,
    Joost

    Thread Starter Matthew Dixon

    (@matthewdixon)

    Hi @joostvandevijver,

    Priorities are one thing and I appreciate this one being low on the list, but that doesn’t make it a feature when it’s a bug!

    As in my initial post the field is "propertyName": "description" which is the_content() in WordPress, ie. the default editor (non-Gutenberg). Very odd you don’t see the same behaviour..

Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘Product description CONSTRAINT_VIOLATION stopping sync’ is closed to new replies.