Re: [whatwg/url] Refusing a mix of numeric-only and BIDI domains (#543)

alvestrand left a comment (whatwg/url#543)

Note: when I wrote that RFC, I wrote code to evaluate ALL possible
combinations of bidi properties against the criteria. The rules in the RFC
were the simplest I could get to work. Before trying to simplify, take the
time to check ALL the edge cases with code, not just "it looks reasonable".

ons. 18. feb. 2026, 19:00 skrev Markus Scherer ***@***.***>:

> *markusicu* left a comment (whatwg/url#543)
> <https://github.com/whatwg/url/issues/543#issuecomment-3922325238>
>
> Trying to make it spiffy and implementation-friendly:
>
>    - If the current label is an RTL label, then all of the following must
>    be true:
>       - The current label must satisfy the bidi rule conditions.
>       - The next label (if there is one other than the empty root label)
>       must satisfy the bidi rule conditions.
>       - From the current label, check preceding labels. Skip each label
>       that contains only Bidi_Class=European_Number characters. If there is
>       another label immediately before zero or more all-EN labels, then it must
>       satisfy the bidi rule conditions.
>
> Implementation notes:
>
>    - We can quickly find out during earlier processing steps whether
>    there is any RTL label -- whether we have a bidi domain name.
>    - We do need to introduce one new type of check; here one for "label
>    that contains only bc=EN", as opposed to the earlier proposal's "LDH label"
>    and "LDH label that does not start with bc=EN".
>    - By not trying to be extra clever about just the end of the preceding
>    label / start of the next label, we don't need yet more types of label
>    checks.
>    - I would expect implementations to actually classify all labels front
>    to back, and keep a little bit of state to check for adjacent label bidi
>    types, rather than scan out from each RTL label. And only do any of this if
>    earlier processing found this to be a bidi domain name.
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/whatwg/url/issues/543#issuecomment-3922325238>, or
> unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AADVM7LAZMOV52NZXQ5LPOD4MSSEPAVCNFSM6AAAAACVPG6YVCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTSMRSGMZDKMRTHA>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>


-- 
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/url/issues/543#issuecomment-3922441954
You are receiving this because you are subscribed to this thread.

Message ID: <whatwg/url/issues/543/3922441954@github.com>

Received on Wednesday, 18 February 2026 18:26:27 UTC