12k
LATEST

From the OpenReplay Blog

Modern iOS Feature Detection (Without the Pain)

Modern iOS feature detection made practical: use CSS.supports, behavior checks, and limited UA sniffing for iOS 26 and old iPads.

OpenReplay Team · Aug 18, 2026 · 6 min read

5 Accessibility Checks to Run Before Shipping

Five quick accessibility checks before shipping: keyboard tab order, automated scans, semantic HTML, color contrast, and 200% zoom.

OpenReplay Team · Aug 18, 2026 · 6 min read

Why rel='noopener' Is Obsolete for Links

Why rel=noopener is obsolete for target=_blank links, what reverse tabnabbing was, and when noreferrer, opener, or COOP still matter.

OpenReplay Team · Aug 17, 2026 · 6 min read

How to Force HTTPS with .htaccess

Force HTTPS with .htaccess using Apache rewrite rules, fix redirect loops behind CDNs or load balancers, and set up www and HSTS safely.

OpenReplay Team · Aug 17, 2026 · 6 min read

Plan Mode in Claude Code for Complex Tasks

Plan Mode in Claude Code explained: how it works, four ways to enable it, read-only limits, workflow tips, and when to skip it for simple edits.

OpenReplay Team · Aug 16, 2026 · 6 min read

Building a Data Grid with TanStack Table

Build a TanStack Table data grid with sorting, filtering, pagination, and virtualization, plus fixes for memoization bugs and infinite rerenders.

OpenReplay Team · Aug 16, 2026 · 6 min read

Adding Internationalization to a React App

Set up internationalization in React with react-i18next: interpolation, pluralization, RTL layout, locale formatting, and Next.js SSR.

OpenReplay Team · Aug 15, 2026 · 6 min read

Motion vs GSAP: Do You Need Both?

Motion vs GSAP for React: compare declarative component animation, scroll timelines, licensing, performance, and when to use both together.

OpenReplay Team · Aug 15, 2026 · 5 min read

How to Persist State in Local Storage with React

Persist React state in localStorage with a reusable hook: lazy useState init, JSON try/catch, SSR guards, and cross-tab sync.

OpenReplay Team · Aug 14, 2026 · 7 min read

Understanding CIDR Notation and IP Ranges

CIDR notation, IP ranges, and subnet math explained for IPv4 and IPv6. See how to read prefixes, size networks, and avoid overlap and open rules.

OpenReplay Team · Aug 14, 2026 · 6 min read

In-Browser Editing with contentEditable

Contenteditable editing in the browser: turn on inline text editing, capture input events, handle execCommand limits, and prevent XSS.

OpenReplay Team · Aug 13, 2026 · 6 min read

5 JavaScript APIs Every Frontend Developer Should Know

5 native JavaScript APIs for frontend developers: IntersectionObserver, ResizeObserver, AbortController, Clipboard API, and View Transitions.

OpenReplay Team · Aug 13, 2026 · 6 min read

How to Fix 'ERR_TOO_MANY_REDIRECTS'

Fix ERR_TOO_MANY_REDIRECTS with a diagnosis-first guide to redirect loops, HTTP to HTTPS mismatches, Cloudflare SSL, and proxy settings.

OpenReplay Team · Aug 12, 2026 · 6 min read

Using AI Agents to Automate Repetitive Project Tasks

Use Claude Code skills to automate repetitive project tasks, capture setup and deploy steps, and keep team workflows versioned and reliable.

OpenReplay Team · Aug 12, 2026 · 6 min read

Testing API-Driven Components in Storybook

Use MSW in Storybook 10 to test API-driven components with loading, error, empty, and success states, then turn stories into component tests.

OpenReplay Team · Aug 11, 2026 · 6 min read

Common CSS Shorthand Properties

CSS shorthand cheatsheet for margin, padding, border, font, background, and flex, with reset rules, value order, and silent bug fixes.

OpenReplay Team · Aug 11, 2026 · 5 min read

Doing Real Geometry in the Browser with Geometric.js

Geometric.js brings polygon intersection, bounds, point-in-polygon tests, and path interpolation to browser charts, maps, SVG, and Canvas.

OpenReplay Team · Aug 10, 2026 · 6 min read

3 Type Systems That Aren't TypeScript

Compare JSDoc + @ts-check, ReScript, and Flow as TypeScript alternatives for JavaScript, with trade-offs on soundness, build steps, and adoption.

OpenReplay Team · Aug 10, 2026 · 6 min read

MDN Is Now an MCP Server

MDN’s MCP server gives AI coding agents live search, documentation, and browser-compatibility data, plus setup steps and privacy caveats.

OpenReplay Team · Aug 9, 2026 · 5 min read

What bunx Is and When to Use It

bunx explained: how Bun runs npm binaries without a global install, when to use --bun, and when npx is still the safer choice.

OpenReplay Team · Aug 9, 2026 · 5 min read

How to Truncate Text in CSS

Truncate text in CSS with text-overflow: ellipsis for one line or line-clamp for multiple lines, plus flex and grid fixes.

OpenReplay Team · Aug 8, 2026 · 6 min read

5 Useful Bookmarklets for Developers

Five useful bookmarklets for developers: live-edit pages, debug layout, reveal password fields, pick colors, and inject eruda mobile DevTools.

OpenReplay Team · Aug 8, 2026 · 5 min read

Testing Svelte 5 Components with Vitest

Test Svelte 5 components with Vitest using mount, testing-library, or browser mode, plus the right setup for runes, effects, and snippets.

OpenReplay Team · Aug 7, 2026 · 6 min read

Getting Started with npm Workspaces

npm workspaces setup, commands, and limits: manage a monorepo, link sibling packages, and know when to add Turborepo or Nx.

OpenReplay Team · Aug 7, 2026 · 6 min read

We use cookies to improve your experience. By using our site, you accept cookies.