Version Packages#802
Open
ait-community-bot[bot] wants to merge 1 commit into
Open
Conversation
ait-community-bot
Bot
force-pushed
the
changeset-release/main
branch
from
July 20, 2026 20:42
f740203 to
7d1b2c3
Compare
ait-community-bot
Bot
force-pushed
the
changeset-release/main
branch
from
July 22, 2026 12:20
7d1b2c3 to
245aba4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@ait-co/devtools@0.1.142
Patch Changes
c2d9764: env3 러너/대시보드에 "테스트 완료까지 앱 전면 유지" 안내 추가 — 2026-07-08 실기기 관측(46/8/6 부분 run vs 78/0/13 클린 완주)으로 원인이 확정된 백그라운드 suspend 연쇄 실패(iOS WebView JS suspend → evaluate 60s 타임아웃 → relay WS 사망 → 잔여 파일 전연쇄 실패)에 대한 사전 안내. 원인이 사용자 행동이라 suspend 감지/재개 로직 대신 안내 한 줄로 대응(Page visibility 신호가 relay 죽음과 동시에 끊기므로 사전 안내가 실효적 해법).
attach.sandbox.step4)·intoss(env 3,attach.intoss.step5) 양쪽 family, ko/en 모두.devtools-testCLI의 러너 터미널 출력(scan-wait 배너) —attach-orchestrator.ts의 공유header에 한 줄 추가,start_attachMCP 도구 결과와 CLI 표준출력 양쪽에 동일하게 실림.relay-worker.ts) — "기기 앱이 백그라운드로 갔을 수 있음"을 덧붙여 사후 진단을 빠르게.Closes env3 러너/대시보드에 '테스트 완료까지 앱 전면 유지' 안내 — 백그라운드 suspend가 relay 사망 연쇄 유발 #766.
22653eb: in-app 디버그 표면에 graceful detach 추가 — run 종료 시 우리가 주입한 오버레이·상태를 정리해 미니앱을 조작 가능 상태로 되돌린다 (in-app: run 종료 후 'Debugger Disconnected' + 스피너 + 전체 터치 무반응으로 미니앱 조작 불가 #748).
run7 실기기 관측(디버그 세션 종료 후 "Debugger Disconnected" 잔존)의 (b)-가설 코드 원인은 우리 표면 3건이었다: ① CDP로 주입된
#__ait_debug_indicator배지가 종료 후 영구 잔존(attach-orchestrator.tsbuildIndicatorExpression가 렌더,relay-factory.tsclose()가 disconnected로만 바꾸고 제거는 안 함), ② eruda 인-페이지 콘솔이 unmount 없이 잔존, ③ keepAwake가beforeunload에서만 복구돼 세션 종료(비-unload) 시 화면이 계속 awake.buildIndicatorExpression): disconnected 상태를 non-blocking(pointer-events:none즉시)·self-dismissing(창 이후 fade→DOM 제거)으로 변경. 재연결(ait:relay-ws-stateopen) 시 self-dismiss 취소·재마운트(transient 터널 blip은 배지를 날리지 않음), 컨트롤러는 유지돼 재주입 시window.WebSocket이중 래핑 없음. 기본 disconnected 라벨을 ko-primary디버거 연결 끊김으로.attach.tsdetachDebugSurface()): 단일 idempotent·비-throw 정리 함수. 배지 제거 + eruda unmount(unmountEruda()) + keepAwake 복구. relay WS 종료의 모든 경로에 배선 — 비-4401 종료는 grace window 후(재연결 시 취소), 4401(TOTP 만료=종결)은 즉시,error는 방어적 스케줄,pagehide는 즉시(beforeunload-safe).#478fail-fast 보존을 위해 WS observer proxy는 의도적으로 유지.경계(가설 a): 스피너 + 전체 터치 무반응은 우리 레이어 밖 — 우리 표면은 full-viewport 요소·body 스크롤/pointer 잠금·capture-phase 리스너가 없어 구조적으로 모든 입력을 흡수할 수 없다. 네이티브 토스 앱 오버레이는 JS로 해제 불가라 시도하지 않고 코드 주석으로 명시. 실기기 run7 재현 확인은 폰-게이트라 다음 env3 세션에서 검증 예정.
adab590:
getConsentedUserDatamock 추가 —@apps-in-toss/web-framework2.x stable 라인에만 존재하는 export(3.0-beta 표면엔 부재,PermissionError의 역비대칭)를 mock 표면에 반영.appLogin/getAnonymousKeyasync-bridge 패턴을 미러해aitState.state.auth.consentedUserData(기본{ USER_NAME: 'mock-user-name' },aitState.patch('auth', …)로 dial)를 resolve. 타입 asymmetry는 기존AssertIfPresent로 처리(3.0-beta는 skip, 2.x는 strictAssertCompat게이트) —as unknown as캐스트 불필요(선언 shape를 로컬 재선언, 반환값이 선언 타입 내부라 구조적 호환). 다운스트림 sdk-example 배선은 sdk-example#331. Closes feat(mock): getConsentedUserData mock 추가 — 실 public export인데 mock 부재로 env1 미측정 #798.