Swiftshader is a software based fallback for WebGL context used in
Chrome without GPU access - e.g. in headless browsers for testing, or
containerized selenium browsers, like in our docker dev setup. The
automatic fallback to Swiftshader was disabled in January 2026, causing
any test using a WebGL context to fail.
See https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/gpu/swiftshader.md
To fix that, we enabled the unsafe fallback now manually for testing
contexts.
This ultimatively seems to be a bug in Ferrum or an incompatibility
between Ferrum and browserless. I understand that the setting defines
whether a single or multiple web socket connections are used to communicate
with the browser, but apart from that I don't understand well what the actual
issue is.
flatpickr is using local dates at midnight internally and in its
callback functions. In datepicker component and stimulus controller we
are using UTC dates at midnight.
And the timezone service is assuming local time when converting to iso dates.
Fixed it by explcitly converting from utc date to iso string, and using
iso date strings when setting flatpickr dates, avoiding any issues.
It could be a good idea to use iso date strings everywhere as much as
possible instead of always jumping back and forth from dates to iso
string.
Have you ever wanted to debug a spec in headful mode but it's running
way too fast to tell what's going on? Adding a `SLOMO` environment
variable lets you add a delay (in seconds) to every action taken by
the driver.
Setting
```
SLOWMO=0.2
```
is a pretty good delay in order to be able to nicely inspect what's going
on and slows down the spec run enough to understand it.
Hope this helps everyone as it's helped me!
* Sets 1920x1080 as the default resolution for both headless and
headful mode.
* Adds an ENV variable to customize the browser's window resolution
when running in headful mode (perhaps because you're working on
your laptop and 1920x1080 is too big to fit your screen).