This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+12 more
Summary
AI summaryUpdates What's fixed, Reviews & Tests, and https://github.com/openwong2kim/wmux/commit/989dd8a across a mixed release.
Full changelog
@alphabeen 이 v2.8.1 출시 직후 PR #25 로 보고한 두 문제를 한 patch 에 묶는다. v2.8.1 의 startup brick 픽스 이후에도 runtime accumulation 시나리오 (X close 후 daemon 이 유지하는 detached 세션이 며칠에 걸쳐 누적) 에서는 hard cap 50 에 다시 도달했고, 더 나쁜 건 cap throw 가 renderer 의 Ctrl+T 핸들러에서 silent 하게 묻혀 단축키가 무반응처럼 보이던 결함이다. v2.8.1 사용자는 즉시 업그레이드 권장.
What's fixed
🟡 데몬 세션 hard cap 50 → 200 상향 (#25, by @alphabeen)
v2.8.0 의 세션 영속화 이후 cap 의 의미가 "한 세션 동안 최대 동시 PTY" → "lifetime 누적 detached PTY 총합" 으로 바뀐 결과, multi-workspace + 빈번한 split 사용자는 며칠 내 50 에 재도달. 50 자체는 commit 989dd8a 의 보안 하드닝 단계에서 정한 DoS 휴리스틱이었고 200 도 같은 카테고리 안 (둘 다 fork bomb 막기엔 헐겁고 일반 사용자 PTY 메모리 한계 안).
- soft cap 40 (recovery) / 7-day suspended TTL 정책은 무변경
- 헤드룸 10 → 160
- 근본 해결 (orphan detached GC) 은 v2.9 트랙으로 별도 검토
🔴 `pty.create` rejection 이 묻혀 단축키 무반응처럼 보이던 회귀
@alphabeen 이 PR #25 description 에서 짚어준 두 번째 문제. cap 도달 시 daemon 이 actionable 에러 (`Cannot create new terminal: 200 active sessions already running. Close some panes (or restart wmux) and try again.`) 를 throw 하는데 renderer 의 세 호출 지점 — `useKeyboard` Ctrl+T 핸들러, `AppLayout` empty-leaf 자동 PTY, `FloatingPane` 첫 열림 — 모두 `.then()` 만 달고 `.catch()` 누락 (또는 silent catch) 이라 rejection 이 묻히고 단축키가 무반응처럼 보였다. v2.8.1 Bug 1 의 actionable error 의도가 무력화되던 결함.
- 신규 IPC 에러 코드
RESOURCE_EXHAUSTED—wrapHandler.classifyError가 cap 메시지 패턴 (cannot create new terminal+active sessions already running) 을 감지해 분류, 메시지에[RESOURCE_EXHAUSTED]prefix stamp. useIpc매핑 —DEFAULT_MESSAGES['RESOURCE_EXHAUSTED']= "터미널 세션 한도에 도달했습니다. 일부 pane을 닫거나 wmux를 재시작한 뒤 다시 시도해주세요.", level'warn'.- 세 호출 지점 모두
ipcInvokewrap 으로 통일 —result.ok분기 + 실패 시 toast 자동 게재. - Electron invoke envelope wrap 처리 —
/codex reviewP2:ipcRenderer.invoke가 main side 에러를 renderer 로 전달할 때 메시지를Error invoking remote method 'X': Error: <orig>형태로 감싸서MESSAGE_CODE_PREFIX가 `^` anchor 인 한 stamp 가 envelope 뒤로 밀려 매칭 실패 → 모든 coded error 가 다시 UNKNOWN 으로 떨어지던 path 차단. renderer regex 만 anchor 제거 (main side 는 자기 raw output 매칭이라 anchor 유지). 회귀 테스트 추가.
Migration
자동. 클라이언트 / 외부 MCP 통합 측에 변경 없음. 신규 RESOURCE_EXHAUSTED 코드는 내부 IPC 경계 안쪽 (renderer ↔ main) 에서만 사용.
Reviews & Tests
- @alphabeen PR #25 (외부 컨트리뷰터의 첫 PR — 정확한 진단 + 깔끔한 변경)
/codex review— P2 (Electron envelope path) 잡힘. 같은 patch 에 fold-in- 934 tests passing (+5 vs v2.8.1)
- typecheck + daemon (158.4kb) + mcp build 모두 clean
🤖 Generated with Claude Code
Full Changelog: https://github.com/openwong2kim/wmux/compare/v2.8.1...v2.8.2
What's Changed
- fix(daemon): raise MAX_SESSIONS 50 → 200 by @alphabeen in https://github.com/openwong2kim/wmux/pull/25
- fix(v2.8.2): RESOURCE_EXHAUSTED toast + Electron envelope match by @openwong2kim in https://github.com/openwong2kim/wmux/pull/26
New Contributors
- @alphabeen made their first contribution in https://github.com/openwong2kim/wmux/pull/25
Full Changelog: https://github.com/openwong2kim/wmux/compare/v2.8.1...v2.8.2
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Wmux
All releases →Related context
Beta — feedback welcome: [email protected]