<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>LogReplay Blog</title>
    <link>https://logreplay.com/blog/</link>
    <description>Session replay, logging, and debugging guides.</description>
    <language>en</language>
    <item>
      <title>Self-Hosting a Highlight-Based Stack: What the Docs Don't Say</title>
      <link>https://logreplay.com/blog/highlight-self-hosted-experience/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/highlight-self-hosted-experience/</guid>
      <pubDate>Wed, 12 Aug 2026 00:00:00 +0000</pubDate>
      <description>Operator notes on running a Highlight.io self hosted stack: what ClickHouse, Kafka, Postgres, and Redis demand on one box, what to monitor, when to quit.</description>
    </item>
    <item>
      <title>Kubernetes Log Management for Clusters Nobody Officially Owns</title>
      <link>https://logreplay.com/blog/kubernetes-logs-without-platform-team/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/kubernetes-logs-without-platform-team/</guid>
      <pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate>
      <description>A minimal kubernetes log management setup for small clusters without a platform team: stdout discipline, one DaemonSet agent, label routing, crash-loop capture.</description>
    </item>
    <item>
      <title>A PII Masking Checklist for Session Replay</title>
      <link>https://logreplay.com/blog/masking-pii-session-replay/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/masking-pii-session-replay/</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate>
      <description>A field-by-field checklist for masking PII in session replay: inputs, text nodes, URLs, network bodies, third-party widgets, plus a verification step.</description>
    </item>
    <item>
      <title>Infinite Re-Renders: Reading React's Error Like a Pro</title>
      <link>https://logreplay.com/blog/react-infinite-rerender-loops/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/react-infinite-rerender-loops/</guid>
      <pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate>
      <description>Why React throws 'Maximum update depth exceeded', the five loops that cause it, and how to find the real culprit when the stack trace points nowhere.</description>
    </item>
    <item>
      <title>Put a Replay Link in Every Bug Ticket</title>
      <link>https://logreplay.com/blog/session-links-in-tickets/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/session-links-in-tickets/</guid>
      <pubDate>Sat, 08 Aug 2026 00:00:00 +0000</pubDate>
      <description>How to attach a session recording to a ticket in Zendesk, Intercom, or plain email, and why this one workflow change cuts clarification round-trips.</description>
    </item>
    <item>
      <title>LogRocket Alternatives for Teams That Balked at the Quote</title>
      <link>https://logreplay.com/blog/logrocket-alternatives-small-teams/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/logrocket-alternatives-small-teams/</guid>
      <pubDate>Fri, 07 Aug 2026 00:00:00 +0000</pubDate>
      <description>A decision framework for choosing a LogRocket alternative: self-hosting, session volume, error tracking overlap, and what each option trades away.</description>
    </item>
    <item>
      <title>Open Source Session Replay in 2026: Four Options, Zero Marketing</title>
      <link>https://logreplay.com/blog/open-source-session-replay-compared/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/open-source-session-replay-compared/</guid>
      <pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate>
      <description>OpenReplay, Highlight/LogReplay, PostHog, and raw rrweb compared on license, resource footprint, and upgrade pain for teams that self-host replay.</description>
    </item>
    <item>
      <title>Is Session Replay Legal? Jurisdiction by Jurisdiction</title>
      <link>https://logreplay.com/blog/is-session-replay-legal/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/is-session-replay-legal/</guid>
      <pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate>
      <description>Session replay is legal in most places with the right setup. Where US wiretap suits and EU consent rules bite, and which configuration choices matter.</description>
    </item>
    <item>
      <title>Self-Hosted Session Replay on One VPS: a Realistic Setup</title>
      <link>https://logreplay.com/blog/self-hosted-session-replay-vps/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/self-hosted-session-replay-vps/</guid>
      <pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate>
      <description>Sizing, Docker layout, TLS via nginx and certbot, disk growth math, and backups for running self-hosted session replay on a single 8GB/4-core VPS.</description>
    </item>
    <item>
      <title>Sampling: Recording Less Without Knowing Less</title>
      <link>https://logreplay.com/blog/sampling-explained-monitoring/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/sampling-explained-monitoring/</guid>
      <pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate>
      <description>How sampling works in monitoring: head vs tail sampling, error-biased strategies, the real odds of missing a bug, and cost math at different rates.</description>
    </item>
    <item>
      <title>The rrweb record() Options That Actually Matter</title>
      <link>https://logreplay.com/blog/rrweb-record-options-that-matter/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/rrweb-record-options-that-matter/</guid>
      <pubDate>Sat, 01 Aug 2026 00:00:00 +0000</pubDate>
      <description>Six rrweb record options that change privacy, performance, and replay fidelity: maskAllInputs, blockClass, sampling, inlineStylesheet, slimDOM, recordCanvas.</description>
    </item>
    <item>
      <title>Rage Clicks: What Counts, What They Mean, When to Ignore Them</title>
      <link>https://logreplay.com/blog/rage-clicks-explained/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/rage-clicks-explained/</guid>
      <pubDate>Fri, 31 Jul 2026 00:00:00 +0000</pubDate>
      <description>What counts as a rage click, the detection thresholds tools use, the common false positives, and how to tell real frustration from click habits.</description>
    </item>
    <item>
      <title>Sentry Session Replay Pricing: When the Per-Replay Math Stops Working</title>
      <link>https://logreplay.com/blog/sentry-session-replay-pricing-math/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/sentry-session-replay-pricing-math/</guid>
      <pubDate>Thu, 30 Jul 2026 00:00:00 +0000</pubDate>
      <description>A worked example of Sentry session replay pricing: how per-replay billing scales with traffic and sample rates, and where flat-tier tools become cheaper.</description>
    </item>
    <item>
      <title>Why Replay Vendors All Ended Up on ClickHouse</title>
      <link>https://logreplay.com/blog/clickhouse-session-storage/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/clickhouse-session-storage/</guid>
      <pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate>
      <description>Why session replay vendors converged on ClickHouse for session data: append-only event shape, columnar compression, and MergeTree ordering explained.</description>
    </item>
    <item>
      <title>How Much Does Session Replay Actually Slow Down Your Site?</title>
      <link>https://logreplay.com/blog/session-replay-performance-overhead/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/session-replay-performance-overhead/</guid>
      <pubDate>Mon, 27 Jul 2026 00:00:00 +0000</pubDate>
      <description>Session replay overhead broken into bundle size, CPU, memory, and network — and how to measure the real cost on your own app instead of trusting vendors.</description>
    </item>
    <item>
      <title>Microsoft Clarity Is Free — Here's What That Buys You in Session Replay</title>
      <link>https://logreplay.com/blog/microsoft-clarity-replay-limits/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/microsoft-clarity-replay-limits/</guid>
      <pubDate>Sun, 26 Jul 2026 00:00:00 +0000</pubDate>
      <description>Microsoft Clarity's session replay is genuinely free and genuinely useful — for UX research. Here's where it stops helping engineers debug.</description>
    </item>
    <item>
      <title>Onboarding Drop-Off: UX Problem or Silent Error?</title>
      <link>https://logreplay.com/blog/onboarding-drop-off-bugs/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/onboarding-drop-off-bugs/</guid>
      <pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate>
      <description>SaaS onboarding drop off debugging starts with one question: are users confused or is something broken? How to tell hesitation from silent failure.</description>
    </item>
    <item>
      <title>The ELK Stack in 2026: Still Worth the Memory Bill?</title>
      <link>https://logreplay.com/blog/elk-stack-honest-assessment/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/elk-stack-honest-assessment/</guid>
      <pubDate>Wed, 22 Jul 2026 00:00:00 +0000</pubDate>
      <description>An honest look at ELK stack log management in 2026: what Elasticsearch still does best, what the JVM heap really costs, and when Loki or ClickHouse wins.</description>
    </item>
    <item>
      <title>Session Replay in Next.js: App Router Edition</title>
      <link>https://logreplay.com/blog/session-replay-nextjs-setup/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/session-replay-nextjs-setup/</guid>
      <pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate>
      <description>How to add session replay to a Next.js App Router project: client component providers, strict mode double-init, env vars, and route change tracking.</description>
    </item>
    <item>
      <title>"It Doesn't Work": Turning Vague Bug Reports Into Reproductions</title>
      <link>https://logreplay.com/blog/reproducing-bugs-from-vague-reports/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/reproducing-bugs-from-vague-reports/</guid>
      <pubDate>Sun, 19 Jul 2026 00:00:00 +0000</pubDate>
      <description>How to reproduce a bug from a user report that says almost nothing: five questions worth asking, ten that waste time, and how to stop needing to ask.</description>
    </item>
    <item>
      <title>Adding Session Replay to a Vite + React App</title>
      <link>https://logreplay.com/blog/session-replay-vite-react/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/session-replay-vite-react/</guid>
      <pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate>
      <description>Where to initialize session replay in a Vite + React app, how to split dev and prod config with env vars, and the strict-mode gotcha that double-records.</description>
    </item>
    <item>
      <title>Session Recording Under GDPR: Lawful, but Only If You Do the Work</title>
      <link>https://logreplay.com/blog/session-recording-gdpr-compliance/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/session-recording-gdpr-compliance/</guid>
      <pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate>
      <description>Session recording can comply with GDPR: pick a defensible lawful basis, mask PII at capture, set real retention limits, and sort out the vendor DPA.</description>
    </item>
    <item>
      <title>Log Management Best Practices When There's No Platform Team</title>
      <link>https://logreplay.com/blog/log-management-small-team-practices/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/log-management-small-team-practices/</guid>
      <pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate>
      <description>Log management best practices for a five-person SaaS team: what to centralize first, retention on a budget, and when grep over SSH is genuinely fine.</description>
    </item>
    <item>
      <title>Hydration Mismatches in Next.js: Causes Ranked by Frequency</title>
      <link>https://logreplay.com/blog/nextjs-hydration-mismatch/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/nextjs-hydration-mismatch/</guid>
      <pubDate>Sat, 11 Jul 2026 00:00:00 +0000</pubDate>
      <description>The five most common causes of hydration mismatches in Next.js, ranked by how often they actually happen in production, with a working fix for each.</description>
    </item>
    <item>
      <title>Breadcrumbs: the Poor Man's Session Replay</title>
      <link>https://logreplay.com/blog/error-breadcrumbs-explained/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/error-breadcrumbs-explained/</guid>
      <pubDate>Thu, 09 Jul 2026 00:00:00 +0000</pubDate>
      <description>What breadcrumbs are in error tracking, what a trail can and cannot tell you, when they're honestly enough, and when you need full session replay.</description>
    </item>
    <item>
      <title>Datadog Log Management: Loved Until the Invoice Arrives</title>
      <link>https://logreplay.com/blog/datadog-logs-cost-control/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/datadog-logs-cost-control/</guid>
      <pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate>
      <description>Datadog log pricing splits ingest from indexing, and indexing is what bites. Exclusion filters, rehydration, and when a small team should leave.</description>
    </item>
    <item>
      <title>Race Conditions in Frontend Code: Yes, You Have Them</title>
      <link>https://logreplay.com/blog/frontend-race-conditions/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/frontend-race-conditions/</guid>
      <pubDate>Mon, 06 Jul 2026 00:00:00 +0000</pubDate>
      <description>Frontend race conditions explained: stale responses overwriting fresh state, double submits, and effect cleanup — with AbortController fixes that hold up.</description>
    </item>
    <item>
      <title>Error Monitoring or Session Replay: Which First on a Startup Budget?</title>
      <link>https://logreplay.com/blog/error-monitoring-or-replay-first/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/error-monitoring-or-replay-first/</guid>
      <pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate>
      <description>A decision tree for choosing between error monitoring and session replay when you can only set up one thing this sprint. Spoiler: it depends on your bugs.</description>
    </item>
    <item>
      <title>Dynatrace Session Replay: What You Get for Enterprise APM Money</title>
      <link>https://logreplay.com/blog/dynatrace-session-replay-review/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/dynatrace-session-replay-review/</guid>
      <pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate>
      <description>A fair teardown of Dynatrace session replay: strong APM trace correlation, DEM-unit licensing built for enterprises, and why small teams should look elsewhere.</description>
    </item>
    <item>
      <title>Wiring Session Replay Into Your Consent Banner Correctly</title>
      <link>https://logreplay.com/blog/replay-consent-implementation/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/replay-consent-implementation/</guid>
      <pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate>
      <description>How to gate session replay on consent: start-after-consent pattern with code, buffering tradeoffs, CMP integration, and testing the reject path.</description>
    </item>
    <item>
      <title>ChunkLoadError: Your Deploy Broke Everyone's Open Tabs</title>
      <link>https://logreplay.com/blog/chunk-load-errors-after-deploy/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/chunk-load-errors-after-deploy/</guid>
      <pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate>
      <description>Why ChunkLoadError spikes after every deploy, how stale HTML references dead asset hashes, and three fixes: reload prompts, cache headers, kept assets.</description>
    </item>
    <item>
      <title>The Dark Mode Flash: Small Bug, Big Rage</title>
      <link>https://logreplay.com/blog/dark-mode-flash-fouc/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/dark-mode-flash-fouc/</guid>
      <pubDate>Sat, 27 Jun 2026 00:00:00 +0000</pubDate>
      <description>Why your site flashes the wrong theme on load, and the inline script fix that actually stops it — plus cookies vs localStorage for SSR frameworks.</description>
    </item>
    <item>
      <title>Bugs That Only Happen to One User</title>
      <link>https://logreplay.com/blog/user-specific-bugs/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/user-specific-bugs/</guid>
      <pubDate>Thu, 25 Jun 2026 00:00:00 +0000</pubDate>
      <description>How to debug a user specific issue: the five-part taxonomy — data shape, permissions, local state, extensions, locale — and a bisection sequence.</description>
    </item>
    <item>
      <title>rrweb Replays Coming Up Blank? The Usual Suspects</title>
      <link>https://logreplay.com/blog/rrweb-blank-replay-fixes/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/rrweb-blank-replay-fixes/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
      <description>A checklist for blank rrweb replays, ordered by how often each cause turns up: missing snapshots, CORS-blocked CSS, CSP, iframes, and player isolation.</description>
    </item>
    <item>
      <title>How Session Replay Works: Snapshots, Mutations, and a Lot of JSON</title>
      <link>https://logreplay.com/blog/how-session-replay-works-under-the-hood/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/how-session-replay-works-under-the-hood/</guid>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <description>How session replay works under the hood: DOM snapshots, MutationObserver diffs, batched uploads, and how the player turns JSON back into a page.</description>
    </item>
    <item>
      <title>Session Replay Attacks Have Nothing to Do With Session Replay Tools</title>
      <link>https://logreplay.com/blog/session-replay-attack-vs-session-replay/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/session-replay-attack-vs-session-replay/</guid>
      <pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate>
      <description>A session replay attack re-sends stolen auth tokens. Session replay tools record the DOM for debugging. Two unrelated things that share a name.</description>
    </item>
    <item>
      <title>Measuring What Your Monitoring SDKs Cost Your Users</title>
      <link>https://logreplay.com/blog/measuring-sdk-overhead/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/measuring-sdk-overhead/</guid>
      <pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate>
      <description>A method for measuring browser SDK performance impact on your own app: A/B cohorts, INP and LCP deltas in the field, and DevTools script evaluation time.</description>
    </item>
    <item>
      <title>Elasticsearch for Logs: Powerful, Hungry, and Often Overkill</title>
      <link>https://logreplay.com/blog/elasticsearch-for-logs-tradeoffs/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/elasticsearch-for-logs-tradeoffs/</guid>
      <pubDate>Sat, 13 Jun 2026 00:00:00 +0000</pubDate>
      <description>How inverted indexes, ILM tiers, and shard sizing shape Elasticsearch for log management — and when field queries make a columnar store the better fit.</description>
    </item>
    <item>
      <title>The Support-to-Engineering Handoff Is Where Bugs Go to Die</title>
      <link>https://logreplay.com/blog/support-to-engineering-triage/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/support-to-engineering-triage/</guid>
      <pubDate>Thu, 11 Jun 2026 00:00:00 +0000</pubDate>
      <description>Why the support ticket bug triage process breaks at the handoff, and a protocol that fixes it: intake capture, escalation criteria, and the evidence rule.</description>
    </item>
    <item>
      <title>How Long to Keep Session Replays (a Retention Policy That Holds Up)</title>
      <link>https://logreplay.com/blog/replay-retention-policy-design/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/replay-retention-policy-design/</guid>
      <pubDate>Tue, 09 Jun 2026 00:00:00 +0000</pubDate>
      <description>A session replay retention policy that balances support lookback, GDPR storage limitation, and disk cost — with a tiered template and audit notes.</description>
    </item>
    <item>
      <title>The White Screen of Death in Production React</title>
      <link>https://logreplay.com/blog/react-white-screen-production/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/react-white-screen-production/</guid>
      <pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate>
      <description>What to check when your React app renders a blank white page in production: error boundaries, chunk loads, hydration crashes, and stale deploys.</description>
    </item>
    <item>
      <title>p50, p95, p99: Percentiles for People Who Skipped Stats</title>
      <link>https://logreplay.com/blog/percentiles-for-web-devs/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/percentiles-for-web-devs/</guid>
      <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
      <description>What p95 latency means in plain language, why averages hide slow requests, which percentile to alert on, and how to compute them from RUM data.</description>
    </item>
    <item>
      <title>Centralizing Logs When Every Service Writes to Its Own File</title>
      <link>https://logreplay.com/blog/centralizing-logs-first-steps/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/centralizing-logs-first-steps/</guid>
      <pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate>
      <description>A staged migration to centralized log management: from SSH and grep, to one aggregation box with vector, to structured JSON and retention tiers.</description>
    </item>
    <item>
      <title>Session Replay and HIPAA: Proceed Only With Extreme Care</title>
      <link>https://logreplay.com/blog/session-replay-hipaa-healthcare/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/session-replay-hipaa-healthcare/</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate>
      <description>Why session replay on healthcare apps is high-risk under HIPAA: PHI leaks through DOM capture, most vendors won't sign a BAA, and what's defensible.</description>
    </item>
    <item>
      <title>Hotjar Session Recordings: Great for Marketers, a Dead End for Debugging</title>
      <link>https://logreplay.com/blog/hotjar-session-recording-for-devs/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/hotjar-session-recording-for-devs/</guid>
      <pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate>
      <description>Hotjar session recording is genuinely good for UX research, but it lacks console, network, and error data — here's where developers hit the wall.</description>
    </item>
    <item>
      <title>Linux Log Management After journald Took Over</title>
      <link>https://logreplay.com/blog/linux-log-management-journald/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/linux-log-management-journald/</guid>
      <pubDate>Wed, 27 May 2026 00:00:00 +0000</pubDate>
      <description>Practical linux log management with journald: journalctl queries worth memorizing, persistent storage, rate limits that drop logs silently, and forwarding.</description>
    </item>
    <item>
      <title>"Works on My Machine": a Field Manual for Unreproducible Bugs</title>
      <link>https://logreplay.com/blog/bugs-you-cannot-reproduce/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/bugs-you-cannot-reproduce/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate>
      <description>A taxonomy of bugs you cannot reproduce from production — state, timing, environment, and history dependent — and the capture strategy that cracks each one.</description>
    </item>
    <item>
      <title>Your Logs Are a Breach Waiting to Happen</title>
      <link>https://logreplay.com/blog/securing-your-logs/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/securing-your-logs/</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate>
      <description>Auth headers, tokens, and env dumps leak into logs constantly, and log access is rarely audited. How to secure log management at the source and at ingest.</description>
    </item>
    <item>
      <title>DOM Snapshots: How a Page Becomes Data</title>
      <link>https://logreplay.com/blog/dom-snapshots-explained/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/dom-snapshots-explained/</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate>
      <description>What a DOM snapshot is, how a serializer walks the tree, what gets captured versus referenced versus rebuilt, and why replayed pages can't run code.</description>
    </item>
    <item>
      <title>CORS Errors That Only Happen in Production</title>
      <link>https://logreplay.com/blog/cors-errors-in-production/</link>
      <guid isPermaLink="true">https://logreplay.com/blog/cors-errors-in-production/</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate>
      <description>Why CORS errors appear only in production: preflight caching, credentials plus wildcard origins, proxies stripping headers, and the curl commands to debug it.</description>
    </item>
  </channel>
</rss>
