last time, so maybe it's punycode.toUnicode which is causing the issue
atj
CatQuest: appreciate you have your reasons for doing so but sometimes security > features
i'll see if I can find compatibility for the punycode call
CatQuest
atj: and I wish I could update it but again whenever I try (I was on 30 before I managed to push all the way t o40 ,and then to 44 later) I keep hitting snags in that plugins i *use* no longer work/get updated. the big whollop now is tab groups. there *was* plugin but mozilla completely scorced all old plugin-versions before some chrome update thing and therefor nothing below idk 47 or what it is is shown
the irony is that I can probably only update to 47 48 maxx anyway because at some point Mac OS 10.7 is unsupported
(never getting a mac again)
and as an *aside* I have been told already. I *know* I can't help it. this machine is already aving a SATA disc issue so I will have to find time and money to buy a new machine anyway. it 's much easier to instlal eg, waterfox or whatnot on a new machine than trying to fix old things that (for the moment) work mostly than going through so much effort to upgrade 4-5 versions where things break anyway and isn't much more "secure"
MajorLurker joined the channel
and my features aren't "features" they are "things I use every day and I can't actually do the mb work witouth them"
really, really really my biggest with is a browser that you can change everything on, visually, that has tabgroups (if you want them), you can have any kind of menu/button/text/icon configuration, and plugins of any type
and that hey upgrade silently and *only*change*security*
don't remove features, don't move features, don't break plugins, don't "we think you'll like this slick new smooth way of doing (this thing I don't care about) but oops we also removed the other not very often sued thing (which i use al lthe time)
atj
CatQuest: yeah I get it. Unfortunately 99% of people aren't power users and browsers are ridiculously complex, so the days of community supported versions is all but over.
CatQuest
change fonts, move text, make buttons bigger/smaller/wiotuth text/grayscale
MajorLurker has quit
and that's why yo uget me using FF44
🤷
atj
CatQuest: can you try running some code in your console to see if it triggers the bug?
CatQuest
uh
you mean intentionally hanging it again?
oh. kay? i'm going ot have to finish a tihng i'm doing first though. als ohow does one run code in console? webconsole?
:o i went out for tea and it seems you guys have found the culprit!
atj
possibly
the debugger is highlighting a line within "var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR)" in node_modules/core-js/internals/iterate.js
CatQuest
:O
CatQuest adds books ot bb in the meantime
Mr_Monkey
Yeah, that smells like the sort of issue that would make the browser go into a bad loop
atj
Mr_Monkey: feels like some sort of iterator overload which is being triggered by the code I added?
Mr_Monkey
Well, I think it just ties back to an issue with `for…of` in older version of FF.
-You can see if reimplementing that loop without for…of fixes the issue
Yes, that makes sense. That's ironically part of the reason why Iterators were implemented in the first place :p
atj
heh :)
Mr_Monkey
But I'm guessing `Array.from(` will be a similar solution to your `new Set(…` and separate key iteration from the keys themselves
I haven't tried running any of that code, though, so I'm not certain
sumedh has quit
atj
Mr_Monkey: thanks. I used set originally because you can multiple params with the same name, but searchParams.delete("x") removes every param named "x"
roger_that has quit
adk0971 joined the channel
running "var s = new Set(url.searchParams.keys())" in the FF44 console just triggered the freeze :)
Mr_Monkey
Actually, I wonder if you could instead loop over TRACKING_PARAMS and use `searchParamas.delete` for each key:
>If the property which you are trying to delete does not exist, delete will not have any effect and will return true
That was the likely culprit, that `Set`. I wonder if it's specifically `.keys` that it doesn't like, or any iteration of an iterator like Set.
Mr_Monkey: yeah I think that's the best option. I was trying to be too clever and optimise for the general case where there are very few params but it's more trouble than it's worth.