Skip to content

Token Jar v0.1.1 — CLI 종료 대기 수정

Pre-release
Pre-release

Choose a tag to compare

@nahwan-kim nahwan-kim released this 05 Sep 18:11

Token Jar v0.1.1 — CLI 종료 대기 수정

v0.1.0 사용자는 이 버전으로 업데이트하세요. Codex·arkcli 프로세스 종료 정리를 수정한 실제 앱 빌드입니다.

수정 사항

  • 자식 프로세스가 종료된 뒤 Process.waitUntilExit()에서 간헐적으로 멈추던 문제 수정.
  • 실행 전 종료 콜백을 등록하고 비동기로 정리를 완료하도록 변경. 전역 signal 설정 변경 없이 오류·취소 경로에서도 자식 종료를 기다립니다.
  • 테스트 완료 신호 유실 및 고정 yield 횟수에 의존하던 동기화 수정.
  • CI는 패키지 테스트 3회 모두 통과해야 합니다. 실패를 재시도로 덮거나 제한 시간을 늘리지 않았습니다.

설치·업데이트

  1. Token-Jar-v0.1.1-universal.zipSHA256SUMS를 같은 폴더에 다운로드합니다.
  2. shasum -a 256 -c SHA256SUMS로 무결성을 확인합니다.
  3. 실행 중인 Token Jar를 종료하고 ZIP을 풉니다. 새 Token Jar.app으로 Applications 폴더의 기존 앱을 교체합니다.
  4. macOS가 차단하면 출처와 체크섬을 확인한 뒤 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기에서 이 앱만 허용합니다.

macOS 14 이상, Apple Silicon·Intel Universal 빌드입니다. ad-hoc 서명이며 Developer ID 서명·Apple 공증은 없습니다. 체크섬은 개발자 신원 인증을 대신하지 않습니다. Gatekeeper 전체 비활성화, quarantine 제거, 악성 소프트웨어 경고 무시를 요구하지 않습니다. 관리 정책에 따라 실행이 제한될 수 있습니다. 자동 업데이트·Homebrew 패키지는 아직 제공하지 않습니다.

검증 근거

  • Source: bae6b15fb62164561982a49e7e3df93fb5f457a1
  • 앱 버전 0.1.1 (2), Xcode 26.6 (17F113), 최소 macOS 14.0.
  • 소스 CI: macOS 14/Xcode 16.2 및 macos-latest 모두 통과. 각 환경에서 패키지 테스트 3회, 앱·fixture UI 테스트, Universal Release 빌드 및 payload 검사를 수행했습니다.
  • 공개 후 실행된 v0.1.1 태그 CI도 두 macOS 환경 모두 통과했습니다.
  • 최종 84개 패키지 테스트를 로컬에서 30회 연속 통과(2,520개 실행, strict/default cooperative pool 각각 15회). 빠른 CLI 자식 프로세스 1,440개 회수 검사 포함.
  • ZIP 재추출 후 엄격한 서명 검사, 버전·아키텍처·리소스·개인정보 manifest·의존성·누출 검사 통과. 두 아키텍처 실행 파일에 새 종료 처리 구현이 있고 waitUntilExit 참조가 없음을 확인했습니다.
  • 배포 ZIP에서 추출한 앱의 시작·12초 실행 유지 확인. 이 검사는 provider autostart를 끄고 수행했습니다.
  • Developer ID/프로비저닝/추가 entitlement 없음. Gatekeeper 평가는 미공증 앱으로서 실제로 rejected입니다.

검증 한계

최종 Release 앱의 전체 실계정 연동·UI·5분 유휴 성능, Intel 실기기, 깨끗한 호스트의 다운로드 후 개별 허용 흐름은 별도 검증이 필요합니다. fixture 기반 CI 통과를 실계정 검증으로 해석하지 마세요. 기존의 제공자 비공개 API·캐시 형식 변경 위험은 동일합니다. CI checkout의 Node.js 20 지원 종료 경고(Node.js 24로 실행됨)와 AppIntents metadata 생략 경고는 남아 있습니다.

This is an unnotarized prerelease. Quit the previous version before replacing the app. The existing v0.1.0 tag and download are preserved; this release contains the corrected executable.