Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

keepAlive sessions go COMPLETED within 500ms of CDP connect (Starter plan)

未关闭
#183 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
冷清
技术栈
javascript, nodejs, playwright, typescript
领域
api, backend

调研方向

首先运行提供的 @browserbasehq/sdk session-create、sessions.retrieve 和 Playwright connectOverCDP 复现,比较有无 CDP 连接时 keepAlive 和 timeout 的行为。未指定任何 repository 文件或测试;完成的标准是确定是 SDK 还是远程 session 服务导致提前完成,并确认 sessions 会一直保持 RUNNING,直到 timeout 或 REQUEST_RELEASE。

由索引模型根据 Issue 内容生成。

描述

Bug Report

Plan: Starter ($99/mo)
Project ID: e8975632-d34f-4ef5-b974-ea324e16c327
SDK: @browserbasehq/sdk 2.10.0
Region: us-west-2
Connect endpoint: connect-v2.usw2.browserbase.com

Problem

Sessions created with keepAlive: true and timeout: 900 go COMPLETED within 500ms-10s, regardless of whether a CDP connection is established.

Reproduction
const Browserbase = require('@browserbasehq/sdk');
const { chromium } = require('playwright');
const bb = new Browserbase({ apiKey: 'YOUR_KEY' });

const session = await bb.sessions.create({
  projectId: 'YOUR_PROJECT',
  keepAlive: true,
  timeout: 900,
});

// Session is RUNNING here
const browser = await chromium.connectOverCDP(session.connectUrl, { timeout: 10000 });
// Browser disconnects within 500ms

// Immediately after:
const retrieved = await bb.sessions.retrieve(session.id);
console.log(retrieved.status); // "COMPLETED" — should be "RUNNING"
Observed behavior
  1. Without CDP connect: Session goes from RUNNING → COMPLETED after ~10 seconds (polled every 1s)
  2. With immediate CDP connect: Browser disconnects within 500ms, session goes COMPLETED
  3. With active page navigation: Same — page.evaluate throws "Target page, context or browser has been closed"
  4. expiresAt is set correctly (15 minutes out), but session dies in seconds
  5. keepAlive shows true on the session object
  6. Project concurrency is 100 (confirming Starter plan is active)
Expected behavior

Session should remain RUNNING for timeout duration (900s) or until explicitly released via REQUEST_RELEASE. CDP connections should remain stable.

What I've ruled out
  • Docker/container issues: Same behavior on macOS host directly
  • NODE_TLS_REJECT_UNAUTHORIZED: Same behavior with and without
  • Playwright version: Tested with multiple versions
  • Race conditions: Session polled every 1s, consistently dies at ~10s mark without CDP
  • Session limits: Only 1 session at a time, concurrency limit is 100
  • connectUrl format: Using the signed connectUrl from session creation (wss://connect-v2.usw2.browserbase.com/?signingKey=...)
Environment
  • macOS Darwin 24.6.0
  • Node.js v25.2.1 (host) / v18.20.8 (Docker)
  • Playwright (latest)
  • @browserbasehq/sdk 2.10.0
  • Account created 2026-05-06

This is blocking production use. Appreciate a quick look!

主要语言
TypeScript
星标
65
派生
17
平均合并
16 分钟
30 天内合并 PR
2

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

browserbase/sdk-node 的其他 Issue

查看 browserbase/sdk-node 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。