앱 측 원인 확인 및 수정 MR 을 올렸습니다. 아직 머지 전이며 리뷰 대기 중입니다.
MR: https://git.alphea.io/Alphea-Dev/alphea-connect-app/-/merge_requests/2
원인 (앱 측)
사진 업로드는 3단계(업로드 URL 발급 → 바이트 PUT → 확정)로 동작하는데, 2단계 PUT 이 발급받은 일회성 업로드 토큰을 헤더에 싣지 않았습니다. 서버는 이 토큰이 없으면 본문을 읽기 전에 401 로 거부하므로, 업로드가 예외 없이 항상 실패했습니다. 서버는 정상 동작 중이며 앱 측 결함입니다.
수정 내용
- 바이트 PUT 에 업로드 토큰 헤더를 싣도록 수정했습니다.
- 업로드가 성공했을 때만 사진을 반영하도록 바꿨습니다. 기존에는 전송 전에 선택한 이미지를 먼저 반영해, 업로드가 실패해도 사진이 바뀐 것처럼 보였습니다.
- 반영·저장하는 값을 서버가 확정한 이미지 주소로 바꿨습니다. 기존에는 갤러리가 준 임시 주소를 저장해, 앱을 다시 켜면 사진이 표시되지 않을 수 있었습니다.
검증
로컬에서 타입체크와 전체 테스트(65 suites / 481 tests)가 통과했습니다. 업로드 토큰 헤더, 실패 시 미반영, 성공 시 서버 주소 반영에 대한 회귀 테스트를 추가했습니다. 다만 현재 CI 설정상 staging 브랜치에서만 파이프라인이 생성되므로 이 브랜치에는 CI 실행 기록이 없습니다 — 위 결과는 로컬 검증입니다.
별건으로 남는 사항
Contribution(홈) 화면 헤더는 현재 디자인상 고정 이미지를 사용하며 사용자 프로필 사진을 표시하는 규격이 없습니다. 해당 화면에 프로필 사진을 노출할지 여부는 제품·디자인 결정이 필요해 이번 수정에 포함하지 않았습니다. 별도 건으로 다뤄야 합니다.