developer.mozilla.org

Today I learned that you can animate HTML elements using the Web Animation API's method .animate(keyframes, options) (which...

unpoly.com

Version 3.7.0 broke some things in complex forms. Sorry for that. Concurrent user input is hard. 3.7.1 This change fixes...

Added: State machine can now use the :prefix-option to avoid name collision if you define multiple state machines on...

Make sure that you use the correct property when editing an HTML attribute. Using innerHTML with unsafe arguments makes your...

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

All direct child directories of app are automatically added to the eager- and autoload paths. They do NOT create a...

thegnar.com

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

github.com

For my computer science bachelor's thesis I programmed and evaluated a CLI Test Case Prioritization (TCP) tool for makandra...

Rails' url_for is useful for generating routes from a Hash, but can lead to an open redirect vulnerability.

Rails offers several methods to manage three types of different cookies along with a session storage for cookies. These...

If you want to collapse/expand elements with dynamic content (and thus unknown height), you can not transition between height: 0...

Note: You won't need this for single lines of text. In this case it is better to just use...

Using querySelector or querySelectorAll in JavaScript, you can easily find descendants of a node that match a given selector.

makandra dev

We have a long-standing checklist for merge requests. However, it hardly matches the intricate requirements for design. This checklist...

TL;DR Still has caveats. Code splitting is a feature of JavaScript bundlers that can keep huge libraries out of...

adactio.com

Web forms can be made much more usable with a few HTML attributes. Short summary: type: Tells browsers about the...

When you allow file uploads in your app, a user might upload content that hurts other users. Our primary concern...

Rack::SteadyETag was a Rack middleware that generates the same default ETag for responses that only differ in XOR-masked...

Every Rails response has a default ETag header. In theory this would enable caching for multiple requests to the same...

Haml 6 has some breaking changes regarding boolean attributes. Only the following attributes and aria/data attributes are considered boolean attributes...