Repository navigation
fix(app): R8 이 응답 DTO 를 지워 요청이 나가지 않던 문제를 막는다 - #673
Merged
Merged
Conversation
본문을 읽지 않는 응답 DTO(EmptyData 등 4종)를 R8 이 미사용으로 보고 지우면서 반환형이 BaseResponse<Object> 로 바뀌어, Retrofit 이 요청 전에 컨버터 생성에서 실패했다. FCM 기기 등록·알림 읽음·프로필 수정 등 11개 API 가 release 빌드에서 서버에 닿지 않았다. com.ruleup 의 @serializable 클래스를 keep 해 제네릭 시그니처와 serializer 를 보존한다. Refs #655, #656 Co-Authored-By: Claude <[email protected]>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



원인
release 빌드에서 R8 이 본문을 읽지 않는 응답 DTO 를 미사용 클래스로 보고 지웠습니다. 지워진 타입은 제네릭 시그니처에서
Object로 치환돼 반환형이BaseResponse<Object>가 되고, Retrofit 이 요청을 보내기 전 컨버터 생성 단계에서 실패합니다.지워진 DTO 는
EmptyData,UpdateProfileResponse,AcknowledgeResponse,CancelManualResponse4종이고, 아래 11개 API 가 서버에 닿지 않았습니다.POST·DELETE v1/devicesPUT v1/notifications/readPUT·DELETE v1/users/me/notification-settings/mutes/{id}DELETE v1/users/me/blocks/users/{id},.../blocks/challenges/{id}POST v1/auth/logoutPATCH v1/users/me/profilePOST v1/verifications/{id}/ackDELETE v1/verifications/{id}작업 내용
app/proguard-rules.pro에com.ruleup의@Serializable클래스 keep 규칙을 추가했습니다.EmptyData만 지키면 나머지 3종이 남고, 본문을 안 읽는 응답 DTO 가 새로 생길 때 재발하므로 범위를 DTO 전체로 잡았습니다.검증
BaseResponse<Object>11건,EmptyData는ClassNotFoundExceptionmapping.txt에 남고BaseResponse<Object>0건Object로 바뀐 반환형 0개,EmptyData.Companion.serializer()정상POST /v1/devices가 서버에 찍히는지는 아직 확인하지 못했습니다(배포 후 서버 로그로 확인 필요)이 PR 에 없는 것
Closes #655
Closes #656
🤖 Generated with Claude Code