The linked rbenv plugin rbenv-each is very helpful to keep QoL gems up to date that are not part...
By default, Devise sends all emails synchronously with deliver_now. To change that, Devise's readme suggests overwriting the send...
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...
Disclaimer This card is a collection of guides and things to have in mind when upgrading to a specific version...
Rails' url_for is useful for generating routes from a Hash, but can lead to an open redirect vulnerability.
In the linked page, Manuel Matuzović offers an FAQ regarding web components, and their accessibility in particular.
Newest versions of Chromedriver breaks the user agent for device emulation via device name. In previous versions the user agent...
Capybara allows you to filter elements that are focused. page.find(:fillable_field, focused: true) # Filtering only fillable inputs for performance...
An introduction to mangling When you minify ("compress", "optimize") your JavaScript for production, the names of your functions and variables...
In CI test runs I noticed that string sorting order changed after switching from a debian-based PostgreSQL docker image...
You can tell npm to install a package globally with npm -g install @puppeteer/browsers. However, it seems that its not...
If you want to collapse/expand elements with dynamic content (and thus unknown height), you can not transition between height: 0...
TL;DR: Grid elements have min-width: auto in a 1fr column, which may lead to overflows. With minmax(0...
Sometimes you'll find yourself with a set of tasks that require similar code for different models. For example, if...
Suppose you want to implement a publish/subscribe pattern in your Frontend application to react to data changes and events. First...
When you write your next CarrierWave uploader, consider processing your images with libvips instead of ImageMagick. Reasons for libvips
Using querySelector or querySelectorAll in JavaScript, you can easily find descendants of a node that match a given selector.
Ctrl + Alt + S > search "rubocop on save" Under "Inspections", check the highlighted box on rubocop -a Caveat: This adds a...
So you have a heading that is just barely wider than the container it should fit into, and it wraps...
We have a long-standing checklist for merge requests. However, it hardly matches the intricate requirements for design. This checklist...
alias_method makes a copy of a method. This works fine until the same method is overridden using prepend. If...
It most cases it's not necessary to add a version constraint next to your packages in the package.json. Since...
It most cases it's not necessary to add a version constraint next to your gems in the Gemfile. Since...