chore(deps): update dependency jo-inc/camofox-browser to v1.9.1 #10

Merged
mehalter merged 1 commit from renovate/jo-inc-camofox-browser-1.x into main 2026-05-07 05:49:52 -04:00
Collaborator

This PR contains the following updates:

Package Update Change
jo-inc/camofox-browser minor 1.8.151.9.1

Release Notes

jo-inc/camofox-browser (jo-inc/camofox-browser)

v1.9.1

Compare Source

Memory Leak Reporter Improvements

Reduced noise from auto-reported memory leak issues by ~90%.

Changes
  • Raised reporter threshold from 200MB → 400MB — the self-healing restart mechanism already handles growth at 200MB when idle, so we only report when self-healing failed
  • Added session gate — skip reports when sessions=0 and browser is already dead (restart handled it). Extreme growth (>600MB) still reports as a safety net.
  • Capture browser RSS during growthlastSeenBrowserRssMb is now captured while the browser is alive (previously always null by report time). Enables distinguishing Node/Playwright leaks from Firefox shared-memory bleed.
  • Auto-close bot now handles memory-leak issues with 0 contexts + 0 tabs (same pattern as stuck-issue handling)
  • Fixed misleading code comment — native memory metric measures Node/Playwright state (CDP buffers, glibc arenas), not Firefox's jemalloc
Context

Audit of 78 auto-reported memory-leak issues found all were self-healing conditions generating noise. The memory pressure restart (kills browser at 200MB growth when idle) was already handling these, but the reporter fired at the same threshold, creating duplicate signals for resolved conditions.

v1.9.0: — Viewport Testing, Tab Leak Fix, Session Robustness

Compare Source

Responsive Viewport Testing

POST /tabs/:tabId/viewport — set any viewport size on a live tab for responsive testing. Pass { width, height } and the page re-renders at that size. Useful for testing mobile breakpoints, tablet layouts, or unusual screen dimensions without creating a new session.

Tab Leak Fix

Two fixes for pages that survive normal cleanup:

  • safePageClose force-kill: If page.close() hangs (e.g., stuck unload handler), the page is force-closed after timeout instead of leaked. Previously a single stuck page would starve Firefox of DOM threads.
  • Orphan page reaper: Background interval detects Playwright pages that escaped tabGroups tracking and force-closes them.

Session Lifecycle Robustness

  • Navigation timeout → session destroy: A poisoned proxy (Cloudflare holding a connection for 30s) used to kill all subsequent navigations in that context. Now click/navigate/open_url timeouts destroy the session so the next request gets a fresh proxy.
  • Drain locks before close: Queued tab operations get clean 410 Tab destroyed instead of cascading 500 Target page closed errors.
  • Dead-context → 503: Cascade errors return session_expired with retry semantics instead of generic 500.
  • Transparent proxy retry: Navigation failures from proxy blocks or timeouts automatically retry once with a fresh session.
  • goBack timeout 10s → 20s: Back navigation uses browser cache; 10s was too short for complex SPA re-renders.

Install Hardening

Fixes & Improvements

  • Native memory pressure: restart browser when idle if heap exceeds threshold
  • Memory leak false-positive reduction (3 safeguards for watchdog stall detection)
  • Crash reporter renamed to telemetry, credentials moved to Cloudflare Worker relay
  • OpenClaw plugin metadata + ClawHub publish workflow

Thank You


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [jo-inc/camofox-browser](https://github.com/jo-inc/camofox-browser) | minor | `1.8.15` → `1.9.1` | --- ### Release Notes <details> <summary>jo-inc/camofox-browser (jo-inc/camofox-browser)</summary> ### [`v1.9.1`](https://github.com/jo-inc/camofox-browser/releases/tag/v1.9.1) [Compare Source](https://github.com/jo-inc/camofox-browser/compare/v1.9.0...v1.9.1) #### Memory Leak Reporter Improvements **Reduced noise from auto-reported memory leak issues by \~90%.** ##### Changes - **Raised reporter threshold** from 200MB → 400MB — the self-healing restart mechanism already handles growth at 200MB when idle, so we only report when self-healing *failed* - **Added session gate** — skip reports when sessions=0 and browser is already dead (restart handled it). Extreme growth (>600MB) still reports as a safety net. - **Capture browser RSS during growth** — `lastSeenBrowserRssMb` is now captured while the browser is alive (previously always null by report time). Enables distinguishing Node/Playwright leaks from Firefox shared-memory bleed. - **Auto-close bot** now handles `memory-leak` issues with 0 contexts + 0 tabs (same pattern as stuck-issue handling) - **Fixed misleading code comment** — native memory metric measures Node/Playwright state (CDP buffers, glibc arenas), not Firefox's jemalloc ##### Context Audit of 78 auto-reported memory-leak issues found all were self-healing conditions generating noise. The memory pressure restart (kills browser at 200MB growth when idle) was already handling these, but the reporter fired at the same threshold, creating duplicate signals for resolved conditions. ### [`v1.9.0`](https://github.com/jo-inc/camofox-browser/releases/tag/v1.9.0): — Viewport Testing, Tab Leak Fix, Session Robustness [Compare Source](https://github.com/jo-inc/camofox-browser/compare/v1.8.15...v1.9.0) #### Responsive Viewport Testing `POST /tabs/:tabId/viewport` — set any viewport size on a live tab for responsive testing. Pass `{ width, height }` and the page re-renders at that size. Useful for testing mobile breakpoints, tablet layouts, or unusual screen dimensions without creating a new session. #### Tab Leak Fix Two fixes for pages that survive normal cleanup: - **`safePageClose` force-kill**: If `page.close()` hangs (e.g., stuck unload handler), the page is force-closed after timeout instead of leaked. Previously a single stuck page would starve Firefox of DOM threads. - **Orphan page reaper**: Background interval detects Playwright pages that escaped `tabGroups` tracking and force-closes them. #### Session Lifecycle Robustness - **Navigation timeout → session destroy**: A poisoned proxy (Cloudflare holding a connection for 30s) used to kill all subsequent navigations in that context. Now click/navigate/open\_url timeouts destroy the session so the next request gets a fresh proxy. - **Drain locks before close**: Queued tab operations get clean `410 Tab destroyed` instead of cascading `500 Target page closed` errors. - **Dead-context → 503**: Cascade errors return `session_expired` with retry semantics instead of generic 500. - **Transparent proxy retry**: Navigation failures from proxy blocks or timeouts automatically retry once with a fresh session. - **goBack timeout 10s → 20s**: Back navigation uses browser cache; 10s was too short for complex SPA re-renders. #### Install Hardening - Ship compiled `plugin.js` so install works even when TypeScript compilation is skipped — by [@&#8203;Yeraze](https://github.com/Yeraze) ([#&#8203;2140](https://github.com/jo-inc/camofox-browser/issues/2140)) - Cross-platform postinstall script with cache validation — by [@&#8203;gustavosmendes](https://github.com/gustavosmendes) ([#&#8203;2149](https://github.com/jo-inc/camofox-browser/issues/2149)) - Graceful handling of `PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1` (warns + skips warm-up instead of crash loop) — by [@&#8203;gustavosmendes](https://github.com/gustavosmendes) ([#&#8203;2149](https://github.com/jo-inc/camofox-browser/issues/2149)) #### Fixes & Improvements - Native memory pressure: restart browser when idle if heap exceeds threshold - Memory leak false-positive reduction (3 safeguards for watchdog stall detection) - Crash reporter renamed to telemetry, credentials moved to Cloudflare Worker relay - OpenClaw plugin metadata + ClawHub publish workflow #### Thank You - [@&#8203;cunninghambe](https://github.com/cunninghambe) — co-authored viewport endpoint and tab leak fix ([#&#8203;2470](https://github.com/jo-inc/camofox-browser/issues/2470), [#&#8203;2471](https://github.com/jo-inc/camofox-browser/issues/2471)) - [@&#8203;gustavosmendes](https://github.com/gustavosmendes) — install hardening and `PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD` support ([#&#8203;2149](https://github.com/jo-inc/camofox-browser/issues/2149)) - [@&#8203;Yeraze](https://github.com/Yeraze) — compiled plugin.js fix ([#&#8203;2140](https://github.com/jo-inc/camofox-browser/issues/2140)) - [@&#8203;Xy2002](https://github.com/Xy2002) — Railway deployment configuration ([#&#8203;651](https://github.com/jo-inc/camofox-browser/issues/651)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjEwOS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->
chore(deps): update dependency jo-inc/camofox-browser to v1.9.0
All checks were successful
Build Docker Image / build (pull_request) Successful in 10m45s
ea1baacb8b
renovate-bot force-pushed renovate/jo-inc-camofox-browser-1.x from ea1baacb8b
All checks were successful
Build Docker Image / build (pull_request) Successful in 10m45s
to 0f93693d8d
All checks were successful
Build Docker Image / build (pull_request) Successful in 12m32s
Build Docker Image / build (push) Successful in 9m4s
2026-05-06 23:00:33 -04:00
Compare
renovate-bot changed title from chore(deps): update dependency jo-inc/camofox-browser to v1.9.0 to chore(deps): update dependency jo-inc/camofox-browser to v1.9.1 2026-05-06 23:00:34 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mehalter/camofox-browser!10
No description provided.