You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
본문 이미지 fileKey 를 URL 에서 역산하지 않고 upload() 반환값을 쓴다 — #1017 반영 후속 #1125
이 방식은 fileUrl == "<스킴>://<호스트>/" + fileKey 를 가정한다. CDN 이 경로 프리픽스를 붙이거나(https://cdn/bucket/mindrecords/…) 쿼리스트링이 붙으면 조용히 틀린 키가 나가고, 증상은 #549 가 고친 것과 같은 «저장은 됐는데 이미지가 안 뜬다» 다.
왜 지금까지 역산이었나 — 그리고 무엇이 바뀌나
역산은 몰라서 쓴 게 아니라 코어가 fileKey 를 버려서 쓴 우회다. HtmlText.kt 의 KDoc 이 그 사정을 적어 두고 있다.
권위 있는 출처는 presigned 응답의 fileKey 인데 PhotoUploadRepository.upload() 가 fileUrl 만 돌려주며 버린다 — CDN 이 경로 프리픽스나 쿼리스트링을 붙이면 조용히 틀린 키가 된다. 반환을 넓히는 것은 core:data 범위라 별건으로 둔다 (#1017).
그 별건이 #1017(PR #1094)이다. 머지되면 upload() 가 UploadedFile(fileUrl, fileKey) 를 돌려주므로 역산의 전제가 사라진다. 이 이슈는 그 뒤에 남는 우회를 걷어내는 후속이다.
무엇을 하면 되나
업로드 결과를 URL 집합이 아니라 URL → fileKey 대응으로 기억한다 (uploadedImageUrls: Set<String> → 맵).
toWireContent 가 그 대응으로 치환하게 바꾼다. 서버가 준 키를 그대로 쓰므로 추측이 사라진다.
쓰는 곳이 없어지는 toUploadedFileKey() 와 그 단위 테스트(HtmlImageSrcTest)를 지운다.
changed the title [-]refactor(mindrecord): 본문 이미지 fileKey 를 URL 에서 역산하지 않고 upload() 반환값을 쓴다 — #1017 반영 후속[/-][+]본문 이미지 fileKey 를 URL 에서 역산하지 않고 upload() 반환값을 쓴다 — #1017 반영 후속[/+]on Aug 28, 2026
Activity
merge: fix/1016-diary-filekey(#1120) 병합 — 업로드 반환 타입과 fileKey 치환을 함께 살린다
[-]refactor(mindrecord): 본문 이미지 fileKey 를 URL 에서 역산하지 않고 upload() 반환값을 쓴다 — #1017 반영 후속[/-][+]본문 이미지 fileKey 를 URL 에서 역산하지 않고 upload() 반환값을 쓴다 — #1017 반영 후속[/+]fix(mindrecord): 업로드 fileKey 대응표를 SavedStateHandle 에 싣는다 (#1125)