Chrome 77 Breaking Drag and Drop Events
bugs.chromium.org
bugs.chromium.org
So now there's a bit of a pinch: revert the fix (and break it for the 1%), or leave it (break it for the 99%). Presumably, you could disable the field trial AND revert the fix at the same time, but that wasn't considered. I'm not sure why, but my guess would be that it's a pain in the butt to coordinate both rollout systems.
Obviously the right answer is to make a new fix that doesn't break things for any users, but fixes take time and the release was already halfway rolled out. I think that's where the discussion about impact came from, and the initial assessment was that it wouldn't break much stuff, so the fix was bumped to the next release (Chrome 78).
However, after lots of people jumped on the issue tracker to say it did, in fact, break a bunch of stuff, Chrome 77 was re-released ("respun") with the new fix included.
So, broadly speaking, I think the decisions here made sense under the assumption that it was a small-impact issue. My main criticism would be that there must be a more effective way to estimate impact than waiting for people to complain in the bug tracker.
One approach would be some kind of reverse integration testing system. ie, if you have a critical app or library that depends on Chrome, there should be some way of submitting your tests so that the Chrome team can estimate the impact of changes and find out more easily if they'll break anything unexpected.
Rust does this with a system called Crater: https://rust-lang.github.io/rustc-guide/tests/intro.html#cra...
And apparently Yocto has something similar: https://lwn.net/Articles/788626/
This is very true. There are 100s if not thousands of people for every support person that knows about new Chrome updates and Bug Tracker for opening issues.
Users are told to trust Chrome updates and assume that updates won't affect existing functionality and so the idea of opening a browser support ticket does immediately come to mind.
No one is hand rolling drag and drop these days.
There’s a lot of complexity implementing drag and drop both visually and binding stuff to events. It’s messy and finicky. Unless your usecase is very simple.
Once you start trying to add it to your frontend with other complex features already there, you're back having to reason about the core of drag-and-drop and essentially solving it yourself to parse the library's code. In my experience I've had to modify library code to handle my requirements most of the time because it did not play well in a complex environment.
I've been tracking this drag-and-drop bug from five years ago; it's still not fixed.
I think most browser manufacturers mostly gave up on the HTML5 drag-and-drop API. There are lots of open bugs on lots of browsers that haven't been touched in ages.
I know this particular bug seems to be an edge case that may happen with every browser, but when you are using Chrome, you should know that if an issue doesn't affect Google, it will likely be deprioritized a lot.
I'm not a self-acclaimed internet freedom fighter, I'm actually very pragmatic, and I'd still humbly suggest everyone to give Firefox a try.
The text selection in the dev tools is woeful as well
For what it's worth, I've found them responsive to my bug reports, and even my feature requests.
I usually suggest die-hard Chrome users use a plugin to spoof their user agent so product managers and developers are more likely to tread non-Chrome as a first-class browser.
Edit: it doesn't work.
Heh. It's the same old web app from the works-in-firefox days.
I use it, instead of different methods, because it's just a few clicks away and for me it's one of the top results for "firefox skype".
this just worked. Onto Firefox!
https://github.com/mozilla/webcompat-addon
https://wiki.mozilla.org/Compatibility/Go_Faster_Addon/Overr...
https://hacks.mozilla.org/2019/07/firefox-68-bigints-contras...
Good to see this in action already.
When they are blocking other browsers explicitly despite the fact that the other platforms work that is a whole different level.
Of course it doesn't have to be that black and white but they certainly makes it easy to dislike them at the moment.
Embarrassing, sorry, and thanks for pointing it out.
I'm using Firefox so it doesn't work for me either. I was using their web app before they decided to ditch Firefox. Now I am forced to use their stupid desktop app. If they decide to push ads I will just tell my colalborators to contact me via e-mail or switch to Wire.
And in Firefox ? someone still needs to prioritize issues, and issues affecting more people will get more attention in both browsers.
As an immigrant struggling with a new language personally I need Chrome's right click to translate a page functionality in Firefox before I'll fully move
Simply select text, click the popup and done. I just wish there was option to quick change the output language (currently you can have like 2 target languages).
I just can't get past the font weight rendering and the scroll bars. Is there any way to make them not look terrible?
If you think a bug is easy to fix, pleasez consider providing a patch.
I have no trouble believing that contributing to Chrome is even harder, but then again I didn't hear someone from Google saying "If you think a bug is easy to fix, pleasez consider providing a patch."
Is that a good thing?
I'll take Mozilla over Google every day, but if Mozilla presents itself as open to community, it also lends itself to criticism that Google avoids altogether.
So yes, that happens, and if that's not as easy as we could have hoped, probably help is welcome with that as well.
Big and complex projects generally have higher standard of effort necessary to get the leg in. The comparison to Chrome was that it's a project comparable in complexity, and yet Firefox is easier and faster to build.
I've submitted many browser bug reports to Google, Microsoft, Apple and Mozilla over many years. I only bother to submit issues for "important" bugs, I write clearly, I simplify, and I spend significant time ensuring that the bug report is useful to developers and relevant for users.
Google respects my efforts, and often fixes my reported issues, or at least explains why it can't be fixed (usually with well reasoned answers, usually the actual developer is communicating with me).
Microsoft/Apple/Mozilla waste my time, ignore my efforts, and generally that results in a poorer user experience in the browser.
The Chrome team is one of the most amazing software teams I have ever been tangentially involved with - and the product quality shines.
Maybe someone from Mozilla's community outreach can comment and ultimately make some improvements.
Specific examples of said bug reports would probably help, though.
Ideally take a subsample and talk to the submitters, and see what they think.
If Mozilla agree that Google do a better job than Mozilla, then benchmark against them.
I eventually stopped reporting bugs to Mozilla, Microsoft and Apple unless I absolutely had to. I recently stopped working with browsers, so I no longer have much appetite for helping.
It used to be ridiculously hard, back in the days of hq merge queues or even cvs, I give you that, but the general build stuff improved a lot since then.
The build system is hg clone/git clone + ./mach bootstrap + ./mach build... And there is a lot of docs for it too. I wouldn't call that "borderline insane".
Submitting a patch for review is a only moz-phab command away (after you set it up once, which took me under half an hour).
A full build on a slow machine can take hours indeed (on my 2015 macbook it takes about about 2 hours I think, but my beefy desktop finishes in under one hour). But you often do not even need a full build, but an artifact build[1], which brings it down to a few minutes and just a few seconds on rebuilds (./mach build faster).
>and most importantly people who can approve your changes clearly have more important things to do and regularly fail to answer.
Now that's actually a problem. It's usually not that they are too busy to respond, but that they do not read their bug mail (because they get thousands of emails a day). That's why you either have to actually request a review or need-info them on bugzilla. That usually draws their attention, simply because review requests are listed in a neat list and need-info-s are listed in another neat list, and if that still fails to grab attention, there is enough folks on the irc channels who can either help you directly or point you in the right direction.
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_g...
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_g...
./mach bootstrap will usually help you set up your environment mostly automated after some confirmations, and will ask you if you want to do full builds or artifact builds, too
A general build guide is available too: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_g...
I would put the number more at 99 with a 1% error in that figure
If it's a js/css/html/xul-only fix (and chances are good it is, when it's a usability issue, as the frontend/UI code js on a high level), then you do not even have to really build Firefox but can use artifacts mode[1], which takes a few minutes for the initial build and only a few seconds for subsequent builds.
Then find a reviewer. I usually look at the recent activity of files I touch (or related files, or related bugs), find functional changes and just add whoever reviewed those most recent changes. Even easier when it's regressions, then you can see who reviewed the regressed changeset and who wrote it and CC them as well.
If the person(s) you picked do not want to review it or cannot review it, they will tell you, and usually suggest who else to ask. If this doesn't work, then you can always ask/nag on IRC.
[1] https://developer.mozilla.org/en-US/docs/Mozilla/Developer_g...
I stopped bothering raising Chrome bug reports years ago.
Firefox's tiny market share is all that stands between all the W3C and WHATG publications going from "standards" to "what Chromium does".
Google is a giant corporation. One day they're going to do an IE6, and shift their focus away from the project, and the whole web will suffer.
Today when you navigate to google.com from Microsoft Edge, there's a barrage of popups urging you to use Chrome instead.
When Chrome is completely dominant, maybe those popups will be on non-AMP sites urging you to "get the best experience"? It's guaranteed that there will be a lot of internal pressure to use Chrome to promote the goals of other divisions at Google.
Chrome already does this.
And a key UI target for a huge chunk of their applications and services, including search.
If "web browsing" doesn't work in Chrome, that's kind of a big deal for Google.
It only needs to make sense in the minds of a handful of high-level managers, and we all suffer.
Would you mind briefly elaborating on this? I wasn't aware that Mozilla had done anything apart from behave well.
I'm a long-time Firefox user, FWIW.
> resetting default search provider back to Google on updates Never happened to me. Was this a specific update I might have missed?
Why is that a problem? I never got the furore over it. When it appeared, I removed the icon and just went about my business.
Annoying yes, but certainly not "shady". From what I understood / stand it was a mozilla app they included with the browser, not that different to how firefox comes with a bookmarks app.
It's two clicks.
It took me a few months before I realized that the page was customizable at all, especially since the triple-dot menu doesn't even show up until you hover or focus the element.
https://github.com/mozilla/doh-rollout/issues/125
Don't get me wrong, DoH is great if you have a shady ISP. But it should be opt-in, not opt-out, since those of us who don't have shady ISPs don't want all our DNS queries centralized in the same place, to be scooped up with just one FISA warrant. And dark patterns like this are a pox on the web and Mozilla shouldn't be perpetuating them.
If you live in the US or EU your ISP logs dns queries and sells them on [0] encryption is the only solution.
[0] https://www.ispreview.co.uk/index.php/2019/04/big-uk-broadba...
So what's shady here? That the process is working?
https://blog.mozilla.org/futurereleases/2019/09/06/whats-nex...
It's inconvenient, but it turns out the "open, anonymous" web has huge trust issues that bad actors use to exploit and attack the unknowing. Some of that is most readily solved by nudging users to trusted third-parties.
You can have issue with whether that third party should be trusted, but the larger issue is that the user has to trust some third party for DNS to work at all, and most don't even think twice about that question.
> since those of us who don't have shady ISPs don't want all our DNS queries centralized
If you don't hae a shady ISP, disable protection. You're already protected by your ISP not being shady, right? ;) The average user has no idea if they should trust their ISP's DNS.
This would still be preferable to if they became the only browser and all web developers were subject to breakneck paced new features and discontinued compatibility as Google makes their characteristic impulsive lurches with zero long term vision.
Bad decisions does not imply evil decisions, nor does it imply death. Pocket? A convenience people may want that might have provided money, hat didn't invade privacy. DNS over HTTPS? The horror! They are trying to enhance privacy on the Internet but haven't done it perfectly!
Not to be that guy, but if you take a look at the bug a fix has been merged into 77
Top voted comment couldn't bother to read bug report. I often see inconvenient truths buried in downvotes meanwhile misinformation that apeases a vocal minority gets catapulted to the top.
I'm also not a comment, I'm a person. Thank you.
I'm not sure that this issue illustrates the case you're trying to make here.
A Google account integration issue would always be more important than web pages being broken in many subtle ways. This wasn't the case when they didn't hold the browser monopoly.
Did Mozilla take 21 days to fix that issue, push it off for a future release, and only reprioritize it as a hotfix after being hounded?
GP isn't complaining that Chrome has bugs, every browser has bugs. They're complaining that Chrome doesn't prioritize bug fixes unless users raise a stink.
I am somewhat sympathetic, because I've worked with issue triaging, and I understand that everyone wants their issue to be #1. I am less sympathetic than I otherwise would be though because Google owns the dominant browser in the marketplace and is owned by one of the biggest companies in the world. My standards for them are higher.
The bug is already fixed and has been released. What other issues are you talking about?
I trust Mozilla less because they’re more desperate and desperate people are dangerous. They’re also ideologues who I don’t agree with, who often say one thing and do another. They preach privacy/control for users while simultaneously selling them out, removing control and inserting ads where there should be none.
Lots of folks just figuring out web apps don't run in a metaspherical happy place or "the cloud", no, they run on fucking Chrome and you are not paying for it.
Tomorrow everyone on Hacker News and Twitter will go back to chiding IT departments that want the ability to test software changes before they get deployed, or have the ability to roll back.
Chrome updates constantly and regresses nearly never. It's actually impressive how rarely this happens given the complexity of HTML. Slow IT departments delaying useful upgrades is an everyday occurrence though.
The monoculture is more of a problem here than having browser-hosted UIs to enterprise software.
>[Do you have a] live website or is it a project under development? […] We will fix the issue for 78 if that is alright with you.
or
>Are they going to upgrade to 77? Enterprise customers usually only upgrade if things are alright.
As if the reporter's apps were more special than the thousands of other websites that it broke.
And I don't mean this in a negative way, I'm just surprised.
Frequently breakage like this affects literally only one site. The engineer probably thought that was the case here.
https://bugs.chromium.org/p/chromium/issues/detail?id=100184...
I can't help but think that if a lowly dev like me were to report the issue the "won't fix" would've stuck.
Hundreds of people saying "My app is broken" isn't data. Someone saying "based on a search of the top Alexa 1 million sites, this will affect 8% of users" will catch their attention.
Here is what is not efficient, ever: getting a GPU texture into a raster format CPU accessible buffer. At best this requires synchronization and a full memory copy into a new buffer, but it can easily be much much more expensive because GPUs, and mobile GPUs basically never, store textures in raster formats. So now you need a full copy and a bunch of extra SIMD to convert it from the GPU preferred format into raster format for your getImageData call.
And all this for what is essentially a trap API! Chances are if you are calling getImageData regularly, you are doing something wrong and inefficient.
I would love to see stats on the use cases. Personally I have never used canvas other than to getImageData in a loop!
If I only needed to draw primitives, SVG is often a better choice.
If I needed something GPU accelerated, I would switch to webgl and write shaders.
So the only thing left 2D canvas is good for is to get the pixel data to do image processing on (e.g., flood fill connected components, color histograms, etc).
https://www.superanimo.com/editor
Chrome 77 did waste 1 day of work for me though, I filed a bug report related to drawImage canvas-to-canvas on large files and they merged a fix for my issue pretty fast:
https://bugs.chromium.org/p/chromium/issues/detail?id=101170...
Wonder if it actually still works.
It makes a huge difference to how long you send testing manually.
Both Firefox and Chromium were broken, when I contacted Steam's support they said I am the only person having problems.
When I dug into the failure a bit in Firefox the object coming with the event was always NULL, and searches turned up a bunch of results from web devs struggling with the same problem in various ways.
I'm glad Epiphany worked, so I could promptly forget it all and get on with my life. Presumably it's still broken for steam app devs however. It escapes me why Valve doesn't have a simple file browser button fallback for when this crap doesn't work.
(Quoted a comment from the thread on https://bugs.chromium.org/p/chromium/issues/detail?id=100574...)
Wasn't this specific version of Chrome rolling out to production users world-wide? Clearly there was a subset of users that was impacted by this (otherwise, a report wouldn't have been made in the first place). Not sure why they're asking the reporter about the state of their specific project?... :\
I reported the issue, after navigating several-second UI lag, but not holding my breath for them to fix something on an old OS/hardware.
It seems like every release of a Google product(the ones that I use anyway, gmail, Chrome, Voice) brings some downside/regression.
Can anyone recommend script blockers for Safari ? It was the main reason to use Chrome for me.
(As an aside, what bothers me more that the right-click menu goes out of fashion. That I feel is a bigger usability problem.)
I literally just drag-and-dropped that text on a phone.
And even with mouse it's error prone, you might accidentally move your mouse during clicking on something, and d&d something somewhere that you don't really want to (classic example is moving folder into another folder in the file open dialog).
But I don't really mind DnD as long as it's not obtrusive and there are other means to accomplish the task.
But what about selecting a card and being able to move it around with the keyboard?
No. Instead it means you are a project manager, and that often implies that your technical skills are on the same level as that aunt, maybe slightly better, but not by much.
> you are most likely in the office and you can learn to use the keyboard
Or just keep using drag'n'drop which is the established pattern, which also works really well for this, with the mouse you already have in the office.
I am not a PM so I couldn't care less, but I think this is really condescending to people who work in that role. If you're a knowledge worker, it's your responsibility to make yourself familiar/efficient with the tools you use daily.
> No. Instead it means you are a project manager
Actually there are no project managers using Kanbanize at that customer of mine. They have exactly one developer and currently three freelance developers working remotely. All of us use Kanbanize every day because it's the place where we write the specs of what we have to do. One of the partners use it to answer our questions but I don't think he moves cards around.
Gut feeling again: the keyboard could be more effective on larger distances because each tap of a key is a full movement of one row or one column, and no mistakes.
People using a mouse probably need more time to release the mouse and move their hand back to the keyboard, unless they are left handed: mouse on the left and right hand already close to the arrow keys.
About drag and drop: it's a mess if you can't see both source and destination at the same time. Then you drag hoping to be headed into the right direction. A right click menu could be better in those cases.
Oh god no. Like you already state, most people operate both the mouse and the arrow keys with the right hand, so your proposal adds a lot of unnecessary movement. It could work with click to select and with WSAD keys, but most office users wouldn't discover that mode.
I would much prefer navigation keys (arrow keys, page up/down, home, end) to select, shift+navigation keys to move.
So when someone suggests drag-n-drop works bad on touch/mobile, you suggest another operation which relies on a keyboard as a potential improvement?
Come on. This would make things even worse.
In Azure Devops (Or Microsoft Team Foundation Server, for the old-timers), you can do this.
And the people trying to twiddle the menus are orders of magnitudes slower at operating the board than people simply dragging things around.
It's so much slower, it's painful to watch.
Better than the virtual manual labor of exerting constant force to keep something held.
Click the "Edit" menu > "move" > select board, column, position.
Not as convenient as drag and drop, but it's possible to do.
Advantage of this to d&d is that you can navigate around during the process. You can easily scroll the screen if it's too large. You can for example select a different card. You can switch to different window and do something there.
For example, a Trello card I should be able to drag to the home button on my iPhone, then switch apps, maybe go do something else for a bit, and then continue dragging it into an email, or HN comment.
Drag and drop should be more like universal cut and paste. It should be against intergalactic law to implement it all yourself so you can't drag between apps.
Edit: I wasn't able to reproduce in either, didn't dig into why
Not just drag 'n drop, but a drag 'n drop inside an iframe that points to a different domain.
The short version is that the value to devs was offset by the cost borne by every user (those components were in the binary even if they were never used, and they pulled in libraries that weren't used by anything else) and the increased attack surface of having that tool in place.
They do not write tests or something?
That having been said, if they didn't have a test for this situation before, I assume they do now. ;)
(I mistated earlier when I said unit tests. Determining if the right order of events is fired is probably a functional or integration test. And full coverage on those is the problem of covering the power set of features of a system.)
Why not just take all of your browsing data and publish it online, skip the middle man?