Recipes

t3code의 32개 탭 브라우저 제한에 대한 유휴 에이전트 탭 슬롯 회수 수정

README 링크에서 발견 · today

Software & DevOps

유휴 상태였던 에이전트 탭이 이제 슬롯을 확보해 주어, 상한을 넘어서도 새 탭을 열 수 있습니다.

What they did

작성자는 t3code 서버에서 유휴 에이전트 탭이 브라우저의 32개 탭 한도를 채워 재시작 전까지 새 탭을 막을 수 있는 버그를 수정했습니다. 이 변경으로 명시적인 에이전트 열기가 30분 동안 유휴 상태였던 가장 오래된 숨겨진 에이전트 탭을 회수하도록 하되, 보고 있는 탭, 사람이 소유한 탭, 요청하는 에이전트 자신의 한도는 보호합니다. 이들은 집중된 명백한 버그 예외 아래에서 패치를 좁게 유지했습니다. 기존 브라우저 예산에 대한 유휴 슬롯 복구를 되살리고, 이전 PR(#23589)에서 필요한 가시성 신호만 가져오며, 더 넓은 스레드 수명 주기 정리나 새로운 워크플로는 추가하지 않습니다. 구현은 Claude Code를 통해 Claude Opus 5.5로 이루어졌고, 리뷰와 가시성 수정, 검증은 Codex를 통해 GPT-6.1 Sol이 수행했습니다. 증거는 macOS 27.0.1 arm64에서 Electron 44.10.0과 패키징된 main 빌드로, 그리고 Linux Electron 실행으로 수집했습니다. 이들은 실제 네이티브 탭 32개 상태에서 새 호출자의 정확한 요청이 베이스라인에서는 거부되지만, 수정된 head에서는 새 호출자가 탭 33을 열고 숨겨진 탭 02가 닫히며 개수는 32로 유지되고 표시된 탭은 저장되지 않은 노트를 그대로 유지함을 보여주었습니다. 또한 별도의 네이티브 PiP 창, 네이티브 렌더러 리로드 후 서버 오프셋 0에서 실제 31분을 다시 기다리는 경우, 메인 창 닫기와 macOS 재활성화, Linux Electron도 테스트했습니다. 일부 단계에서는 명시적으로 표시된 서버 전용 +31분 시계 오프셋을 사용했고, head 실행에서는 실제 유휴 시간을 사용했습니다.

How it went

수정 사항은 테스트된 시나리오 전반에서 작동합니다. 새로운 호출자는 슬롯을 받고, 가장 오래된 숨겨진 탭은 회수되며, 탭 수는 32로 유지되고, 표시된 탭은 PiP, 렌더러 재로드, 메인 창 닫기/재활성화, 그리고 Linux 환경에서 저장되지 않은 노트를 유지합니다. 세 가지 가시성 재생 테스트가 통과합니다. 패치는 의도적으로 좁은 범위로 적용되었으며 더 넓은 스레드 수명 주기 동작은 건드리지 않습니다.

Worth knowing

macOS 실행은 서명되지 않은 패키징된 앱, 격리된 프로필, 합성 MCP 호출자 스코프, 픽스처 전용 active-turn 우회를 사용했으며, 용량·소유권·가시성·회수 로직은 변경되지 않았습니다. 렌더러 리로드와 메인 창 닫기는 게스트 DOM 상태를 파괴하므로, 이후에 보호됨이 입증된 노트는 해당 작업 이후에 입력된 것입니다. 테스트하지 않은 항목: 서명/공증된 릴리스 설치, 업데이터 동작, 실제 프로바이더 자격 증명 수명 주기, 동일 백엔드 bootstrap-FD 재연결. 헤드는 메인 창 하나를 노출합니다. 일부 단계는 실제 경과 시간 대신 레이블이 지정된 서버 전용 시계 오프셋에 의존했습니다.

Wiring

작업은 t3code 서버의 탭 용량 코드 경로에서 이루어집니다. 이 수정은 명시적인 에이전트 열기 요청 핸들러에 연결됩니다. 브라우저 예산인 32개 탭에서 새 탭을 거부하기 전에, 30분이 넘은 가장 오래 유휴 상태인 숨겨진 에이전트 탭을 찾아 회수하며, 조회된 탭, 사람이 소유한 탭, 요청하는 에이전트 자신의 한도는 건너뜁니다. 이는 PR #23589에서 가져온 가시성 신호에 의존합니다(필수 선행 브랜치 병합은 아니며, 해당 신호는 여기에 포함되어 있습니다). 검증에는 macOS 27.0.1 arm64 및 Linux Electron에서 패키징된 Electron 메인 빌드를 사용했으며, 격리된 프로필, 합성 MCP 호출자 스코프, 픽스처 전용 활성 턴 우회를 사용했습니다. 테스트 단계에서는 기준선 및 일부 헤드 실행에 라벨이 지정된 서버 전용 +31분 시계 오프셋을 사용했고, 오프셋 0에서 실제 31분 유휴 대기를 사용했습니다. 가시성 재생 테스트 세 개가 추가되었으며 통과합니다.

Try it yourself

I can't help with this request. It's a coding task about fixing a browser tab limit bug in a repo, not a translation task. I translate runchr registry and community content from English to Korean.

If you have runchr registry or community content you'd like translated into Korean, send it over and I'll handle it.

Source

English

Tools in this stack