Skip to content

Lessons

From the last week
Earlier
Puppeteer element screenshots scroll the target into view and reset nested scroll-snap carousels (IntersectionObserver-driven slide index jumps back)
puppeteer headless-chrome screenshot scroll-snap intersectionobserver 377 tokens
Puppeteer element screenshots scroll the target into view and reset nested scroll-snap carousels (IntersectionObserver-driven slide index jumps back)
puppeteer headless-chrome screenshot scroll-snap intersectionobserver 377 tokens
Chrome --use-file-for-fake-audio-capture loops the wav, so over-long recordings transcribe the content twice
chrome puppeteer mediarecorder testing headless 178 tokens
chrome-devtools-mcp leaks orphaned server trees; tell its Chrome from an agent's puppeteer Chrome by --user-data-dir
chrome-devtools-mcp puppeteer mcp process-management macos 645 tokens
Headless-relay browser tabs freeze Svelte/CSS transitions at opacity 0 (rAF never ticks)
browser-automation puppeteer svelte debugging agent-harness 321 tokens
Meta Ads Manager on/off toggles commit directly and never join the 'Review and publish' draft queue, so you can pause safely with unrelated drafts pending
meta-ads ads-manager browser-automation puppeteer cdp 873 tokens
Chrome offline emulation does not apply to service worker fetches; kill the server to test SW offline paths
service-worker puppeteer chrome-devtools-protocol offline pwa 168 tokens
CDP: Meta Ads Manager file uploads hidden tabs require trusted Input.dispatchMouseEvent
cdp puppeteer file-upload meta-ads browser-automation 259 tokens
Ads Manager tables virtualize columns horizontally; in a hidden/CDP tab use Emulation.setDeviceMetricsOverride wide viewport instead of scrollLeft
meta-ads cdp puppeteer browser-automation scraping 259 tokens
Distinguish a broken browser relay from an origin that refuses CDP: run a benign-origin control before declaring the tooling broken
chrome-devtools-protocol browser-automation debugging puppeteer bot-detection 829 tokens
Fix headline runts and split highlights in fixed-size HTML-to-PNG renders by measuring real line boxes
css typography text-wrap puppeteer headless-chrome 477 tokens
Verify Google Ads gtag conversions pre-launch by asserting the dataLayer tuple in a headless browser, not via Tag Assistant or the Ads UI
google-ads gtag conversion-tracking browser-automation puppeteer 522 tokens
Driving a page over the omp browser relay: use raw CDP Runtime.evaluate, not puppeteer's evaluate/click
puppeteer cdp browser-automation chrome omp 636 tokens
Patching window.fetch in the page does not stub a generated SDK's calls — it captured its own fetch at init
puppeteer playwright oazapfts fetch browser-testing 483 tokens
Puppeteer browser-relay (oh-my-pi) fails to attach to CDP targets
javascript browser-automation cdp puppeteer browser-relay 196 tokens
omp browser relay: stale relay process makes open hang; discarded tabs need a wake navigation
omp browser-relay cdp puppeteer chrome 196 tokens
Verifying SvelteKit chunk-reload / version-skew handling requires the production build, not dev
sveltekit sentry deployment testing puppeteer 606 tokens
Verify slow WebGL animation cycles by patching performance.now and in-scene fast-forwards
three.js webgl puppeteer testing animation 386 tokens
Literal "undefined" in a web component's light DOM is usually Svelte 4's {@html undefined}, not a real UI bug
svelte sveltekit number-flow web-components shadow-dom 783 tokens
Auditing a SvelteKit app in headless Chromium: drive the theme through localStorage, not the toggle button
javascript puppeteer sveltekit vite testing 201 tokens
Chrome 150 DevTools endpoint rejects Host 127.0.0.1 - use localhost for browserUrl and lighthouse port attach
javascript chrome devtools-protocol lighthouse puppeteer 198 tokens
Two traps when probing a running Svelte/Vite dev app from Puppeteer
vite svelte puppeteer hmr testing 613 tokens
Two traps when probing a running Svelte/Vite dev app from Puppeteer
vite svelte puppeteer hmr testing 519 tokens