sabre/vobject splits single-value text properties (FlatText: NOTE, FN, TITLE, BIRTHPLACE…) on unescaped commas. getValue() then returns the value escaped again, so NOTE:Line 1\nLine 2, more reads with a literal \n. Upstream fix: sabre-io/vobject#797.
When
Once sabre-io/vobject#797 is released, and we require that release (#4: the fix will most likely not be backported to 4.x).
Changes
src/VCard/Internal/PropertyReader.php (text(), marked sabre/vobject workaround:): remove the joining of the parts of a text value, and use __toString() as for other properties.
VCardDecoderTest::testTextWithCommasAndNewLinesIsUnescaped must keep passing unchanged.
🤖 Generated with Claude Code
sabre/vobject splits single-value text properties (
FlatText: NOTE, FN, TITLE, BIRTHPLACE…) on unescaped commas.getValue()then returns the value escaped again, soNOTE:Line 1\nLine 2, morereads with a literal\n. Upstream fix: sabre-io/vobject#797.When
Once sabre-io/vobject#797 is released, and we require that release (#4: the fix will most likely not be backported to 4.x).
Changes
src/VCard/Internal/PropertyReader.php(text(), markedsabre/vobject workaround:): remove the joining of the parts of a text value, and use__toString()as for other properties.VCardDecoderTest::testTextWithCommasAndNewLinesIsUnescapedmust keep passing unchanged.🤖 Generated with Claude Code