This repo demonstrates some browser bugs that tend to affect drawing web apps the most. Status should be fairly up-to-date.
Visit here for easy viewing of demos: bitbof.github.io/browser-bug-demos
Not Fixed
Chrome
Date |
Live Demo |
Summary |
Effects |
Issue Link |
2021-02-15 |
View |
In an iframe, when using a stylus, PointerEvent.pointerId is inconsistent. |
Drawing applications can't reliably run in iframes. I.e. Kleki/Klecks can't be easily embedded via iframe. |
Chromium Ticket (reported 2021-02-15) |
2022-04-28 |
View |
CanvasRenderingContext2D deletes parts of image after switching tabs. |
With certain hardware, drawing apps or image editing apps aren't reliable, as image data gets corrupted when switching tabs. I.e. Kleki/Klecks users lose progress. |
Chromium Ticket (reported 2022-03-24) |
2022-10-19 |
View |
Context2d arc() fill() draws jagged circles on MacOS M1. |
Applications relying on the canvas arc method achieve bad quality circles. I.e. the pen tool in Kleki/Klecks looks much worse. |
Chromium Ticket (reported 2022-10-23) |
2023-05-06 |
kleki.com |
canvas.context('webgl') fails on Chrome OS on some pages (not on all devices) |
Features relying on WebGL do not work (filters in Kleki/Klecks) |
Chromium Ticket (reported 2023-05-06) |
Safari
Date |
Live Demo |
Summary |
Effects |
Issue Link |
2023-04-30 |
View |
Canvas putImageData draws onto wrong canvas. |
If you duplicate canvases, the putImageData method becomes unreliable. I.e. it breaks the paint bucket in Kleki/Klecks without a special workaround. |
WebKit Bugzilla Ticket (reported on 2023-04-30) |
Firefox
Date |
Live Demo |
Summary |
Effects |
Issue Link |
2022-03-08 |
View |
PointerEvent.buttons attribute is inconsistent when using a stylus. |
Drawing applications break, unless they handle Firefox differently (not trust the button attribute). |
Bugzilla Ticket (reported 2022-03-08) |
todo
- chrome invert artifacts https://github.com/bitbof/klecks/issues/8
- safari canvas gradient -> webgl glitch https://github.com/bitbof/klecks/issues/41
- chrome disappearing cursor with pen (need demo?)
- firefox text repositioning after scrolling
- safari apple pencil pressure very high in first event?
- chrome after lifting stylus one pointerevent in position of pointerdown?