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...

makandra dev

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...

thregr.org

To show your key inputs on screen, e.g. for a screencast or screen sharing, you can use screenkey.

A Rails script lives in lib/scripts and is run with bin/rails runner lib/scripts/.... They are a simple tool to perform...

I, [2024-01-21T06:22:17.484221 #2698200] INFO -- : [4cdad7a4-8617-4bc9-84e9-c40364eea2e4] test

github.com

There are a few tools to combat the dreaded n+1 queries. The bullet gem notifies you of missing eager...

Ruby methods which load from a Yaml file, like YAML.safe_load or YAML.safe_load_file, support passing freeze: true to...

Your development server is usually running on an insecure HTTP connection which is perfectly fine for development.

Here are some hints on best practices to maintain your tasks in larger projects. Rake Tasks vs. Scripts

You can use the config.x configuration in combination with config_for to configure global settings for your Rails 4.2+ application...

You can ignore certain commits when using git blame with the --ignore-revs-file option. This is handy to ignore...

Getting an entire test suite green can be a tedious task which involves frequent switches between the CLI that is...

This Capistrano task runs a command on all servers. bundle exec cap production app:run cmd='zgrep -P "..." RAILS_ROOT/log/production.log...

In the Gitlab settings the flag Auto-cancel redundant pipelines is enabled by default. This auto-cancels pipelines with jobs...

makandracards.com

A general overview about why and how we migrate can be found under Migrating from Elasticsearch to Opensearch

makandra dev

Getting CSS (and JS) live reloading to work in a esbuild / Rails project is a bit of a hassle, but...

tl;dr You can use ordered to ensure that messages are received in a specific order. Example expect(ClassA).to...

When you find similar groups of expect calls in your tests, you can improve readability by extracting the group into...

docs.ruby-lang.org

The sprintf method has a reference by name format option: sprintf("% d : % f", { :foo => 1, :bar => 2 }) # => 1 : 2.000000

Every modern Rails app should have a Content Security Policy enabled. Very compatible default The following "default" is a minimal...

While upgrading CarrierWave from version 0.11.x to 3.x, we encountered some very nasty fails. Below are the basic...