This bug relates to all versions of App Bridge, all POS devices, and all instances of App Bridge when interacting with the cart.
Currently, when adding to the cart in POS, app bridge allows us to specify the variant and quantity we want to add, amongst a few other things if it is a custom product. It however does not allow us to specify line item properties with that payload. Instead, we need to add line item properties based on the line item index after the fact. This creates an issue where you cannot add the same variant with different line item properties.
An example to illustrate how this differs from the Online Store. You sell custom rings with engraving, and your customer wants to buy three rings for his daughters Jill, Kelly and Laura. On the online store, you can effectively add the same variant to the cart three times with a line item property of "engraving" equal to the name.
In POS, there is no way to add three separate line items of the same variant, they simply combine and become a quantity of three. From there, you are unable to split that line item into multiples to apply different line item properties.
The answer I have received in the past is to simply pass multiple keys to the line item property value of that combined line item, such as "engraving1", "engraving2", and "engraving3". This doesn't work though, as it doesn't then match the online store orders. Downstream systems will therefore not work or require additional editing.
The other answer was to modify the order after the fact. This isn't possible as the GQL doesn't support this currently and the initial order/create hook would go out before we could change the details.
I see this as a major bug in App Bridge for POS and it has been something that has severally delayed our ability to develop solutions for POS that merchants are asking for constantly. We have built an app that requires this functionality to actually release, but we need this bug fixed before we can move forward.
Three things would need to be done to support this:
Unfortunately, it looks like Shopify has no interest in fixing this. Both here and on the github issue we've heard nothing but crickets.
We're having to engineer some pretty significant work arounds since it's not getting the attention it deserves.