All browsers implement an event named beforeunload. It is fired when the active window is closed and can be used...
Up until Chrome 120, scrollbars could only be styled using the various -webkit-scrollbar-* pseudo elements, e.g. to make the...
I recently noticed a new kind of flaky tests on the slow free tier GitHub Action runners: Integration tests were...
Any form fields where users enter numbers should be an . Numeric inputs have several benefits over : On mobile or tablet...
Usually our code lives on GitLab, therefore our documentation for CI testing is extensive in this environment. If you are...
tl;dr We recommend configuring Selenium's unhandled prompt behavior to { default: 'ignore' }. When running tests in a real browser...
Tested on Ubunut 22.04 1. Opener script Create a file ~/.local/bin/coverage_zip_opener with: #!/bin/bash tmp_folder="/tmp/coverage-report-opener" if [ -z "$1" ]
Today I learned that you can animate HTML elements using the Web Animation API's method .animate(keyframes, options) (which...
Multiply by 1x the unit: $number = 13 $length = $number * 1px // => 13px Removing a unit
Your development server is usually running on an insecure HTTP connection which is perfectly fine for development.
Version 3.7.0 broke some things in complex forms. Sorry for that. Concurrent user input is hard. 3.7.1 This change fixes...
If you have an element with significant border-radius (e.g. 50% for a circle) and you want inline content (i.e...
A list of clever debugging tricks. TOC: Advanced Conditional Breakpoints monitor() class Calls Call and Debug a Function Pause Execution...
Getting CSS (and JS) live reloading to work in a esbuild / Rails project is a bit of a hassle, but...
Make sure that you use the correct property when editing an HTML attribute. Using innerHTML with unsafe arguments makes your...
The sprintf method has a reference by name format option: sprintf("% d : % f", { :foo => 1, :bar => 2 }) # => 1 : 2.000000
Ruby has the class Rational which allows you to store exact fractions. Any calculation on these variables will now use...
Even when you app has no CSS at all, you still inherit a default user agent stylesheet from your browser...
Every modern Rails app should have a Content Security Policy enabled. Very compatible default The following "default" is a minimal...
View specs are a powerful tool to test several rendering paths by their cases instead of using a more costing...
The recommended additional setup of the spreewald gem, a useful set of cucumber steps, includes adding a file for defining...
Chromedriver (or selenium-webdriver?) will not reliably scroll elements into view before clicking them, and actually not click the element...
Browsers can auto fill-in one time codes if advised. Use it like this: Demo: https://twitter.com/sulco/status/1320700982943223808 Browser support...
Besides Plotting graphs in Ruby with Gruff, which comes handy for many uses cases, you sometimes might need configuration for...