For Selenium tests, your browser starts in your local timezone, or whatever your system's environment specifies. This is usually...
DirectUpload allows you to upload files to your file storage without having to wait for the form to submit. It...
ActiveStorage does not provide any built-in way of implementing authentication for the available DirectUpload endpoint in Rails. When using...
SVG files often contain redundant information, like editor metadata or hidden elements. When esbuild handles your static assets, you can...
Hint If you are using our opscomplete.com hosting we can set all environment variables mentioned below for your deployment on...
Elements can be hidden and shown by toggling the display property. However, this is not animatable, so we often turn...
Starting with ChromeDriver 127, if your application displays a beforeunload confirmation dialog, ChromeDriver will immediately close it. In consequence, any...
esbuild comes with a minifier that is good enough for most cases. If you're looking to squeeze out as...
Terser is a really good minifier ("compressor") for JavaScript code. I'm often surprised by the thoughtfulness of its compressed...
testing-library are widely used testing utilities libraries for javascript dependent frontend testing. The main utilities provided are query methods...
Reacting on a class getting added can be done with a mutation observer. Example: const items = document.querySelectorAll('.item') const expectedClass...
I recently stumbled over a quirk in the way Ruby handles local variables that I find somewhat dangerous. Consider:
Modern JavaScript includes Intl.NumberFormat to format numbers in different formats and locales. In this card, we describe a wrapper for...
This card shows an uncommon way to retrieve a file using selenium where JavaScript is used to return a binary...
Debouncing a method call delays its execution until after a specified time has passed. If it's called again before...
As we're switching from PT to Linear, I've updated the existing bash script to work for commits that...
Your commit messages should include the ID of the issue your code belongs to. Our preferred syntax prefixes the issue...
This card describes two variants, that add a more intuitive workflow when working with nested attributes in Rails + Unpoly.
tl;dr When browsers start to adapt proposals from Open UI, it might not be necessary to use any 3rd...
You can chain multiple Capybara matchers on the page or any element: expect(page) .to have_content('Example Course')
A common cause of non-accessible web pages are elements that were made interactive via JavaScript but cannot be focused...
I recently built a screen with a very high and wide table in the center. This posed some challenges:
The Web Animations API has great browser support, and you should be using it to animate DOM elements from JavaScript...
All browsers implement an event named beforeunload. It is fired when the active window is closed and can be used...