> 최근 구글 계정으로 가입한 mango입니다.
프로필 사진을 여러 번 등록했지만 정상적으로 반영되지 않아 문의드립니다.

처음에는 브라우저 캐시나 이미지 업로드 실패를 의심했습니다. 그런데 확인해 보니 사진 파일은 서버에 정상적으로 저장되고 있었고, 프로필 수정 화면에서도 새 사진과 “저장되었습니다”라는 메시지가 표시되고 있었습니다.
이상한 점은 다른 화면으로 이동했을 때만 이미지가 깨진다는 것이었습니다.
조금 더 추적해 보니 특정 회원에게만 문제가 생기는 이유가 있었습니다.
커뮤니티의 회원번호가 커지면서 프로필 사진 저장 경로의 깊이도 달라지고 있었습니다.
기존 회원
/profile/585/585.jpg
최근 회원
/profile/456/001/1456.jpg
기존 회원은 숫자 폴더가 한 단계였지만, 회원번호가 1000을 넘은 최근 회원은 폴더가 두 단계로 나뉘었습니다. 이미지 제공 규칙은 기존의 한 단계 경로만 예상하고 있었기 때문에, 최근 가입한 일부 회원의 사진만 정상적으로 불러오지 못했던 것입니다.
개념적으로는 다음과 같은 차이였습니다.
기존 규칙
/profile/[숫자]/[파일]
수정한 규칙
/profile/([숫자]/)+[파일]
허용하는 파일 종류와 기본 정책은 그대로 유지하고, 회원번호에 따라 숫자 폴더가 여러 단계로 만들어져도 프로필 이미지를 정상적으로 제공하도록 범위만 정확하게 보완했습니다.

수정 후에는 다음 항목을 함께 확인했습니다.
기존 회원의 프로필 사진이 계속 정상적으로 표시되는지
최근 회원의 다단계 경로 사진이 정상적으로 표시되는지
JPG와 PNG가 모두 정상인지
프로필 이외의 기존 정책에는 영향이 없는지
확인 결과, 문제가 있었던 mango님의 프로필 사진도 정상적으로 표시됐습니다.
여기서 한 가지 문제를 더 발견했습니다.
프로필 수정 화면은 업로드 직후 서버에 저장된 사진을 보여주는 것이 아니라, 브라우저에서 만든 임시 미리보기 이미지를 보여주고 있었습니다. 그래서 실제 화면에서는 사진을 불러오지 못하는 상황이어도, 수정 화면만 보면 저장이 완벽하게 끝난 것처럼 보일 수 있었습니다.
기존 흐름은 이랬습니다.
await uploadImage();
showMessage('프로필 사진이 저장되었습니다.');
이를 다음과 같은 흐름으로 보완했습니다.
const imageUrl = await uploadImage();
await loadActualServerImage(imageUrl);
showMessage('프로필 사진이 저장되었습니다.');
이제는 업로드 응답만 성공했다고 바로 완료 메시지를 보여주지 않습니다. 서버에 저장된 실제 이미지 URL을 다시 불러와 정상적으로 표시되는 것까지 확인한 후에만 성공으로 안내합니다.
실제 이미지를 확인하지 못하면 다음과 같이 구분해서 알려줍니다.
사진은 저장되었지만 실제 이미지 표시를 확인하지 못했습니다.
잠시 후 새로고침해 주세요.
덕분에 앞으로 비슷한 문제가 생기더라도 임시 미리보기에 가려지지 않고 더 빠르게 발견할 수 있게 됐습니다.
문의 확인부터 원인 추적, 수정, 검증, 배포까지 모바일 환경에서 바이브스럽게 마무리한 아침이었습니다.
일시적으로 휴가 중이긴 하지만, 이런 일상이 계속되면 노마드의 삶이 이런 걸까요?
아직은 육아를 열심히 해야 할 상황이라 진짜 노마드는 꿈도 못 꿉니다. 사실 돈도 못 벌고 있으니 오늘은 겉모습만 노마드인 것으로 하겠습니다. ㅋㅋ
그리고 무엇보다 이런 피드백이 커뮤니티를 성장시킨다고 생각합니다.
운영자가 모든 환경과 모든 사용자의 상황을 미리 경험할 수는 없습니다. 누군가 “저만 이상한가요?” 하고 알려주신 작은 불편 하나가 숨어 있던 문제를 발견하게 하고, 그 수정이 다음에 가입할 많은 분에게 도움이 됩니다.
알려주신 분도 커뮤니티를 돕고, 해결 과정과 결과를 공유하는 운영자도 다시 커뮤니티를 돕습니다. 그렇게 서로 돕는 경험이 하나씩 쌓이면서 더 편하고 단단한 공간이 되어가는 것 같습니다.
사소해 보이는 불편이라도 괜찮습니다.
“이 버튼이 잘 안 눌려요.”
“모바일에서 조금 이상해요.”
“저만 사진이 안 보이는 것 같아요.”
무엇이든 편하게 알려주세요. 모든 문제를 즉시 해결한다고 약속할 수는 없지만, 원인을 제대로 확인하고 더 나아질 수 있도록 꾸준히 노력하겠습니다.
정중하게 상황을 알려주신 mango님께 다시 한번 감사드립니다.
그리고 버그 픽스 로그 공유해주셔서 감사합니다. 라이브 서비스는 진짜 굴려보기 전까진 무슨 일이 터질지 예측불가인 것 같아요. 그래도 사이트가 커지면서 생긴 진통이니 기쁜 일이기도 합니다. 접속자수가 없으면 문제도 안 생기니까요.
그나저나 휴가중이신데 모바일로 버그 픽스라니, 진짜 노마드의 모습이네요. 커뮤니티가 잘 되어서 전업 노마드가 되시기를 응원해봅니다 ㅋㅋㅋ