You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 27, 2023. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 27, 2023. It is now read-only.
I think if this is unique to last pass, we may be able to have them update. However, given how hard it was to catch, this might be failing silently elsewhere? I wonder if we need to have a usage counter for this before moving forward with shipping?
In light of these discovered incompatibilities Chrome will no longer be shipping this proposal in 108.
Reacted by Jordan Harband, Yahor Siarheyenka, Sigurd Johnsen Setså, Jesse Jackson, Dennis Kats, Tes, Lea Verou, Oliver Williams, Degubi, Ricardo Fernández Serrata and 1 more
I haven't tested the proposed removal but Array.prototype.group = null; in the console did fix my LastPass extension. Several traces are also in the bugzilla issue that point to the group property/method.
Since LastPass isn't the only regression I doubt it matters to much but some additional information. I regularly use LastPass with the same account in Chrome unstable and haven't run into the same problem. I can confirm the other regressions from this issue on that browser so the so probably a frustrating variation between the Chrome and Firefox extension provided by LastPass.
@ljharb I share that empathy for users — even as developers, we are all users and none of us wants a bad experience. However, isn't this actually a case of (inconsiderate) devs who are breaking the web? Nothing that's been proposed would cause a break in backward compatibility of existing standards/APIs. There will always be devs (or product owners, etc. — the "code-owning decision makers") who eschew social responsibility and always users who suffer by those devs' choices. Where do we draw the line?
@jsejcksn we draw the line, as always, at "no breakage". Slippery slope arguments don't change that.
What I meant by "Where do we draw the line?" was: Every built-in is being mutated by some site out there, and its users would be affected by any new name chosen for this API (no matter the name). Maybe it's just one student's sandbox app — or one community forum site for a very small group.
What is the objective measure that we've determined to be the threshold? Is it one site? Is it 100? Is it 1% according to some index created by a single crawler? How do we define what "no breakage" means?
We are getting a bit off topic, I think @bakkot gave a good answer to the question. Please feel free to ask for more clarification in the matrix channel for tc39-general!
Reacted by Jesse Jackson, Michael Ficarra, Jordan Harband and Yahor Siarheyenka
@bricss Since group didn't work out, we'll need to find another option. I believe the current best hope is switching to static methods on Object and Map, but the committee will need to discuss that before browsers can ship it.
Safari 16.4 shipped Array#group. At the time, this broke IBM cloud login (webcompat/web-bugs#112923), but not altron.ch (webcompat/web-bugs#112552). IBM's usage involved treating an array as a query param object, one of the keys of which was group. They seem to have corrected this misuse since then.
I guess this is where we're bikeshedding backup names.
bucket
keyBy
toGroups
switchkidding
I’m not familiar with any such word “assort” - that may not be an intuitive option.
It’s a pity this is too obscure because I think it'd be a semantic upgrade from “group” if not for that — it implies grouping on the basis of some condition, not just arbitrary grouping.
Reacted by Yahor Siarheyenka and Ricardo Fernández Serrata
I don't think we need additional name suggestions right now; we're right in the middle of the TC39 plenary and we'll be discussing it further tomorrow.
Activity
codehag commentedon Nov 7, 2022
I think if this is unique to last pass, we may be able to have them update. However, given how hard it was to catch, this might be failing silently elsewhere? I wonder if we need to have a usage counter for this before moving forward with shipping?
ljharb commentedon Nov 7, 2022
Any idea what code on LastPass is breaking with this?
syg commentedon Nov 7, 2022
@codehag Was https://bugzilla.mozilla.org/show_bug.cgi?id=1791415#c14 actually confirmed to fix the issue?
codehag commentedon Nov 7, 2022
Looks like not yet, still waiting on the full picture.
codehag commentedon Nov 7, 2022
We have a second regression that appears to be related to this proposal: https://bugzilla.mozilla.org/show_bug.cgi?id=1799522 / webcompat/web-bugs#112923
codehag commentedon Nov 7, 2022
And a third, unfortunately: webcompat/web-bugs#112552 -- also tested and confirmed on chrome canary.
[-]WebCompat regression: LastPass on `group`[/-][+]WebCompat regressions with `group`[/+]syg commentedon Nov 7, 2022
In light of these discovered incompatibilities Chrome will no longer be shipping this proposal in 108.
V8 will not ship `Array.prototype.{ group, groupToMap }` in V8 ~ Chro…
neclimdul commentedon Nov 8, 2022
I haven't tested the proposed removal but
Array.prototype.group = null;in the console did fix my LastPass extension. Several traces are also in the bugzilla issue that point to the group property/method.neclimdul commentedon Nov 8, 2022
Since LastPass isn't the only regression I doubt it matters to much but some additional information. I regularly use LastPass with the same account in Chrome unstable and haven't run into the same problem. I can confirm the other regressions from this issue on that browser so the so probably a frustrating variation between the Chrome and Firefox extension provided by LastPass.
bricss commentedon Nov 14, 2022
Maybe, it might be possible to rename
group()andgroupToMap()intoassort()andassortToMap()and ship 🚢 it asap 🤔ljharb commentedon Nov 15, 2022
I’m not familiar with any such word “assort” - that may not be an intuitive option.
bricss commentedon Nov 15, 2022
That's what I found in dictionary for
groupsynonyms 😀 sounds legit, imo 🙄bricss commentedon Nov 15, 2022
As an option might be
aggregate,batchorpluck🙂10 remaining items
jsejcksn commentedon Nov 30, 2022
@bakkot Thanks for the link!
@ljharb I share that empathy for users — even as developers, we are all users and none of us wants a bad experience. However, isn't this actually a case of (inconsiderate) devs who are breaking the web? Nothing that's been proposed would cause a break in backward compatibility of existing standards/APIs. There will always be devs (or product owners, etc. — the "code-owning decision makers") who eschew social responsibility and always users who suffer by those devs' choices. Where do we draw the line?
ljharb commentedon Nov 30, 2022
@jsejcksn we draw the line, as always, at "no breakage". Slippery slope arguments don't change that.
jsejcksn commentedon Nov 30, 2022
What I meant by "Where do we draw the line?" was: Every built-in is being mutated by some site out there, and its users would be affected by any new name chosen for this API (no matter the name). Maybe it's just one student's sandbox app — or one community forum site for a very small group.
What is the objective measure that we've determined to be the threshold? Is it one site? Is it 100? Is it 1% according to some index created by a single crawler? How do we define what "no breakage" means?
ljharb commentedon Nov 30, 2022
I don't think there is any objective measure - I think each browser just makes a judgement call.
codehag commentedon Nov 30, 2022
We are getting a bit off topic, I think @bakkot gave a good answer to the question. Please feel free to ask for more clarification in the matrix channel for tc39-general!
bricss commentedon Jan 11, 2023
Any hope, any updates? 🤔
bakkot commentedon Jan 11, 2023
@bricss Since
groupdidn't work out, we'll need to find another option. I believe the current best hope is switching to static methods on Object and Map, but the committee will need to discuss that before browsers can ship it.lilnasy commentedon May 15, 2023
Safari 16.4 shipped Array#group. At the time, this broke IBM cloud login (webcompat/web-bugs#112923), but not altron.ch (webcompat/web-bugs#112552). IBM's usage involved treating an array as a query param object, one of the keys of which was
group. They seem to have corrected this misuse since then.bricss commentedon May 15, 2023
Shall we also break things and move fast ⏩ forward? 😀
o-t-w commentedon May 17, 2023
It's already stable Safari and all the other naming suggestions are terrible.
bathos commentedon May 17, 2023
switchkiddingIt’s a pity this is too obscure because I think it'd be a semantic upgrade from “group” if not for that — it implies grouping on the basis of some condition, not just arbitrary grouping.
karlcow commentedon May 17, 2023
etc. all names need to be checked against what exist out there.
ljharb commentedon May 17, 2023
I don't think we need additional name suggestions right now; we're right in the middle of the TC39 plenary and we'll be discussing it further tomorrow.
ljharb commentedon May 18, 2023
The proposal has been demoted to stage 2, with the expectation that I will be requesting stage 3 for it in July with static methods (#47).