Comments inline.

☆*PhistucK*


On Wed, Aug 8, 2018 at 3:29 AM Adam Klein <ad...@chromium.org> wrote:

> Apologies for the delay, this got hidden from me due to some gmail
> filtering issues...comments inline.
>
> On Thu, Jul 26, 2018 at 2:14 PM PhistucK <phist...@gmail.com> wrote:
>
>> I misremembered formatToParts as a relatively recent feature, but now I
>> see that the intent I remembered was actually discussing NumberFormat.
>> DateTimeFormat did not seem to have an intent on blink-dev (but I see
>> that it did on v8-users).
>> https://www.chromestatus.com/features/6319456309477376 says it is still
>> behind a flag... Is the MDN article
>> <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts>
>> correct in stating that it was supported in Chrome 57 (and confusingly,
>> also behind the flag until Chrome 60)?
>>
>
> Indeed, Chrome 57 looks like the right release (from looking through v8
> commits). I've updated that on chromestatus. That is indeed awhile ago.
>

Thank you.



>
>
>> Shameless plug - probably a good opportunity to add it to my filtered
>> feed scraper and to my RSS reader -
>>
>> https://frequentfeedscraper.appspot.com/read?feed=v8users&title_filter=exact:intent
>>
>> Nevertheless, my intuition (more like a hunch, though) is that this
>> specific field is relatively little used, but I may be wrong (the fact that
>> my locale does not use it probably makes me biased).
>> From seeing all of the polyfills (which already use the standard casing)
>> on GitHub (the search yielded a lot of those), I presumed they are also
>> used by projects, which might mean those projects probably tested their
>> polyfilled implementation as well on Internet Explorer 11 or Safari pre-11,
>> so they would have probably seen the casing issue if they did something
>> with that particular field (Salesforce worked around it, for example).
>> However, there is probably a lot of code that is Chrome only (:(), so...
>>
>
> Again, it'd be great to get Jungshik's input on this, since he was the one
> who implemented it.
>

I agree, it would be great if you pinged Jungshik on Hangouts or something
and ask Jungshik to follow this thread...



>
>
>> Is there an option to add a use counter to V8?
>> Is there an existing use counter for formatToParts altogether that I may
>> have missed (or maybe it is internal)?
>>
>
> It is possible to add use counters to V8. They need to be plumbed through
> the API, and then manually updated from V8, so it's more work to add than
> it is in Blink, but it's doable. Would you be interested in adding such a
> counter?
>

It is probably much more than I bargained for (especially the delay until
we get results and usage can increase by the day). ;) But if you have a
change list I can follow for guidance, I might just do that (barring a
positive response from Jungshik).



>
>
>> Also, Node does not have to use V8 anymore, just saying. ;)
>>
>> ☆*PhistucK*
>>
>>
>> On Thu, Jul 26, 2018 at 7:59 PM Adam Klein <ad...@chromium.org> wrote:
>>
>>> +Jungshik and Dan, who I believe worked on this feature in V8
>>> originally. I'm curious if they know how it happened that this ended up
>>> with the wrong capitalization.
>>>
>>> I appreciate the outreach you've done to fix uses in the wild, but it
>>> still scares me a little bit to make such a hard-breaking change,
>>> especially for V8-only environments like Node. So I'd also like to get some
>>> of your (or Jungshik or Dan's) intuition about how often this particular
>>> field is accessed.
>>>
>>> On Fri, Jul 20, 2018 at 8:56 AM PhistucK <phist...@gmail.com> wrote:
>>>
>>>> (Probably an overkill, but here it goes)
>>>>
>>>>
>>>> Contact emails
>>>>
>>>> phist...@gmail.com
>>>>
>>>> Explainer
>>>>
>>>> No explainer, a specification exists already.
>>>>
>>>> Spec
>>>> https://tc39.github.io/ecma402/#sec-partitiondatetimepattern
>>>>
>>>> Summary
>>>>
>>>> This change corrects a non-compliant type value in the formatToParts
>>>> implementation.
>>>>
>>>>
>>>> > new Intl.DateTimeFormat("en-us", {hour12: true, hour:
>>>> "numeric"}).formatToParts()
>>>>
>>>> [{"type": "hour", "value": "6"}, {"type": "literal", "value": " "},
>>>> {"type": "day*p*eriod", "value": "PM"}]
>>>>
>>>>
>>>> Will change to -
>>>>
>>>> [{"type": "hour", "value": "6"}, {"type": "literal", "value": " "},
>>>> {"type": "day*P*eriod", "value": "PM"}]
>>>>
>>>>
>>>> Motivation
>>>>
>>>> Compliance with the standards and other browsers and likely most of the
>>>> code that is already out there.
>>>>
>>>>
>>>> Risks
>>>>
>>>> Interoperability and Compatibility
>>>>
>>>> Compatibility risk - small to medium at worst.
>>>>
>>>>
>>>> Searched GitHub (not exhaustive, but some indication) for dayperiod 
>>>> instances
>>>> -
>>>>
>>>> https://github.com/search?l=&p=1&q=formatToParts+dayperiod+language%3AJavaScript&type=Code
>>>>
>>>> The vast majority are polyfills that use dayPeriod already, or code
>>>> that uses type.toLowerCase() to bridge over the differences.
>>>>
>>>>
>>>> Sent pull requests to the few cases that were plain wrong -
>>>> https://github.com/sensu/sensu-go/pull/1852
>>>> https://github.com/brave/browser-laptop/pull/14790
>>>> https://github.com/ray007/js-misc/pull/1
>>>> https://github.com/OriginalNexus/venture/pull/1
>>>> https://github.com/ua9msn/datetime/pull/9
>>>>
>>>>
>>>> Interoperability risk - none.
>>>>
>>>>
>>>> Edge: No signals
>>>>
>>>> Firefox: Shipped
>>>>
>>>> Safari: Shipped
>>>>
>>>> Web developers: No signals.
>>>>
>>>>
>>>> Alternatives for web developers
>>>>
>>>> Either check for type === "dayPeriod" || type === "dayperiod", or 
>>>> type.toLowerCase()
>>>> === "dayperiod".
>>>>
>>>> Ergonomics
>>>>
>>>> Irrelevant.
>>>>
>>>> Activation
>>>>
>>>> Irrelevant.
>>>>
>>>> Debuggability
>>>>
>>>> Already debuggable.
>>>>
>>>>
>>>> Will this feature be supported on all six Blink platforms (Windows,
>>>> Mac, Linux, Chrome OS, Android, and Android WebView)?
>>>>
>>>> Yes.
>>>>
>>>> Is this feature fully tested by web-platform-tests
>>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
>>>> ?
>>>>
>>>> Nope, but it is tested by test262, though not this case (which is
>>>> apparently why the interoperability issue exists).
>>>>
>>>> *I submitted a test262 pull request to maintain interoperability -*
>>>> *https://github.com/tc39/test262/pull/1645
>>>> <https://github.com/tc39/test262/pull/1645>*
>>>>
>>>>
>>>> Bug and proposed change list -
>>>>
>>>> https://crbug.com/865351
>>>>
>>>> https://chromium-review.googlesource.com/c/v8/v8/+/1145304
>>>>
>>>>
>>>> Link to entry on the feature dashboard <https://www.chromestatus.com/>
>>>> https://www.chromestatus.com/features/5252265900244992
>>>>
>>>> Requesting approval to ship?
>>>>
>>>> Yes. I think so. Do you think a deprecation period is warranted? There
>>>> is no (public?) use counter for formatToParts.
>>>>
>>>>
>>>> ☆*PhistucK*
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "blink-dev" group.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABc02_%2B1xEoNvCtuc4ocTw%3DtLmfHmT-z-cFTuiE6YS9Q_MdPqg%40mail.gmail.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABc02_%2B1xEoNvCtuc4ocTw%3DtLmfHmT-z-cFTuiE6YS9Q_MdPqg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to