Skip to content

Version Packages#802

Open
ait-community-bot[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

Version Packages#802
ait-community-bot[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@ait-community-bot

@ait-community-bot ait-community-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

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 죽음과 동시에 끊기므로 사전 안내가 실효적 해법).

    • QR 대시보드(attach 페이지) 스캔 절차에 마지막 단계로 추가 — sandbox(env 2, attach.sandbox.step4)·intoss(env 3, attach.intoss.step5) 양쪽 family, ko/en 모두.
    • devtools-test CLI의 러너 터미널 출력(scan-wait 배너) — attach-orchestrator.ts의 공유 header에 한 줄 추가, start_attach MCP 도구 결과와 CLI 표준출력 양쪽에 동일하게 실림.
    • (선택) evaluate 타임아웃이 재시도까지 실패했을 때의 최종 에러 메시지에 진단 힌트 추가(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.ts buildIndicatorExpression가 렌더, relay-factory.ts close()가 disconnected로만 바꾸고 제거는 안 함), ② eruda 인-페이지 콘솔이 unmount 없이 잔존, ③ keepAwake가 beforeunload에서만 복구돼 세션 종료(비-unload) 시 화면이 계속 awake.

    • 배지(buildIndicatorExpression): disconnected 상태를 non-blocking(pointer-events:none 즉시)·self-dismissing(창 이후 fade→DOM 제거)으로 변경. 재연결(ait:relay-ws-state open) 시 self-dismiss 취소·재마운트(transient 터널 blip은 배지를 날리지 않음), 컨트롤러는 유지돼 재주입 시 window.WebSocket 이중 래핑 없음. 기본 disconnected 라벨을 ko-primary 디버거 연결 끊김으로.
    • in-app(attach.ts detachDebugSurface()): 단일 idempotent·비-throw 정리 함수. 배지 제거 + eruda unmount(unmountEruda()) + keepAwake 복구. relay WS 종료의 모든 경로에 배선 — 비-4401 종료는 grace window 후(재연결 시 취소), 4401(TOTP 만료=종결)은 즉시, error는 방어적 스케줄, pagehide는 즉시(beforeunload-safe). #478 fail-fast 보존을 위해 WS observer proxy는 의도적으로 유지.

    경계(가설 a): 스피너 + 전체 터치 무반응은 우리 레이어 밖 — 우리 표면은 full-viewport 요소·body 스크롤/pointer 잠금·capture-phase 리스너가 없어 구조적으로 모든 입력을 흡수할 수 없다. 네이티브 토스 앱 오버레이는 JS로 해제 불가라 시도하지 않고 코드 주석으로 명시. 실기기 run7 재현 확인은 폰-게이트라 다음 env3 세션에서 검증 예정.

  • adab590: getConsentedUserData mock 추가 — @apps-in-toss/web-framework 2.x stable 라인에만 존재하는 export(3.0-beta 표면엔 부재, PermissionError의 역비대칭)를 mock 표면에 반영. appLogin/getAnonymousKey async-bridge 패턴을 미러해 aitState.state.auth.consentedUserData(기본 { USER_NAME: 'mock-user-name' }, aitState.patch('auth', …)로 dial)를 resolve. 타입 asymmetry는 기존 AssertIfPresent로 처리(3.0-beta는 skip, 2.x는 strict AssertCompat 게이트) — as unknown as 캐스트 불필요(선언 shape를 로컬 재선언, 반환값이 선언 타입 내부라 구조적 호환). 다운스트림 sdk-example 배선은 sdk-example#331. Closes feat(mock): getConsentedUserData mock 추가 — 실 public export인데 mock 부재로 env1 미측정 #798.

@ait-community-bot
ait-community-bot Bot force-pushed the changeset-release/main branch from f740203 to 7d1b2c3 Compare July 20, 2026 20:42
@ait-community-bot
ait-community-bot Bot force-pushed the changeset-release/main branch from 7d1b2c3 to 245aba4 Compare July 22, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

0 participants