Hi @Nataliia_Staff ,
thank you for the explanation regarding the v2.354 sanitization fix! I completely understand why global string trimming was implemented to prevent duplicate entities and broken edit suggestions.
To answer your question on why two streets share the same name and why the hair space was necessary:
-
The shared name: in Croatia, state/county highways frequently pass through towns under their official local street name (e.g., “Zagrebačka ulica”). Naturally, the municipal streets in that same village are also named “Zagrebačka ulica”.
-
The shield inheritance issue: when a categorized road (State/County Highway) and an adjacent non-categorized street share the exact same Primary Name string, the Waze backend automatically propagates the highway shield onto the local municipal streets. This causes local village streets to incorrectly display state road shields on the map.
-
Why the hair space (U+200A) was used: to prevent this shield spillage while keeping street names clean for drivers, our community appended an invisible hair space at the end of the Primary Name string on the categorized road segment. To drivers and search, the names remain identical, but to the shield-rendering logic, the strings are distinct—keeping the road shields strictly isolated to the actual highway.
-
The impact of v2.354: Trimming the hair space removes this string distinction, causing the state shield to spill onto neighboring streets. Because of this, we are currently unable to onboard new road segments or migrate existing networks without breaking the map visuals in these areas.
Would it be possible to allow an exemption for trailing hair spaces (U+200A), or is there an alternative recommended way from the Waze team to prevent road shields from propagating onto adjacent streets sharing the same Primary Name?
Here is a visual explanation. Here is a new road (a part of it) I am trying to add and its categorization.
The yellow part is the new categorization (because of a newly built road). It means that the yellow line should get a L26130 marking.
However, in the WME (and in reality) that road also has a name (Mala Črešnjevica). E.g. if you have a house here, your address will be Mala Črešnjevica xx, not L26130 xx (where xx is your house number).
Thus, the relevant Primary name should be Mala Črešnjevica. However, it’s valid to notify drivers that they are on a L26130 road.
The old practice was to add the primary name as follows: L26130 - Mala Črešnjevica. However, that is way too long, and in some cases it would make the name of the segment fall under the speedometer and the Report button. It would also be announced fully to the user on TTS voices, which is unacceptable.
So, we want to name it Mala Črešnjevica and have the shield represent it as a categorized road.
However, the surrounding segments that aren’t L26130 are also named… you guessed it… Mala Črešnjevica.
So we (without our ‘fix’) have two choices, both not very nice nor acceptable.
Option A is for it to show for every segment, which is a mess (see draft below).
I think we can both agree: what a mess!
The real way this should approximately be is below.
Option B is for it to be completely shield-free. That way the driver would have zero idea that this is a L26130 road.
Our (ugly but good) fix was to add that character to make the road treat it as a different segment from the rest that have the same name. We’d add the actual name (w/o the space) as a alternative name (AN).
Thank you for your help and support!