Skip to content

[Fix] 4.1.0 1차 QA 반영 - 복습 세트 로딩과 중복 완료, 기분 선택, 홈 카드, Sentry 오류 - #276

Merged
KiSeungMin merged 29 commits into
developfrom
chore/4.1.0-dev-qa
Sep 21, 2026
Merged

KiSeungMin merged 29 commits into
developfrom
chore/4.1.0-dev-qa

Conversation

@KiSeungMin

Copy link
Copy Markdown
Contributor

✔️ 연관 이슈

📝 작업 내용

4.1.0 을 dev 서버 연동 빌드로 QA 하면서 나온 화면 문제와 Sentry 에 쌓인 로컬 오류를 고쳤습니다.

  • 버전: 4.1.0+71 로 올렸습니다. TestFlight 에는 --build-number=1 로 iOS 빌드 번호만 1 로 따로 올렸습니다.
  • 복습 세트: 누르면 화면부터 넘기고 그 안에서 스켈레톤을 보여 주며 불러옵니다. 불러오는 사이에 다른 세트를 눌러 두 화면이 쌓이던 것이 없어졌습니다.
  • 복습 완료 중복: 저장하는 동안 확인 버튼을 막아서 여러 번 눌러도 복습 횟수가 한 번만 오릅니다.
  • 기분 고르기: 완료 화면과 복습 인증 화면이 따로 가지고 있던 줄을 MoodPickerRow 로 모았습니다. 더보기에서 고른 이모지가 줄 맨 앞과 제목 옆에 보입니다.
  • 지난 복습 소감: 상세 화면에서 빼고 복습 세트 목록의 날짜 뒤에 이모지로만 붙였습니다.
  • 오답노트 관리 홈
    • 오늘의 미션 카드와 추천 복습 카드의 크기를 맞췄습니다.
    • 받기 태그와 개수 배지를 화살표 바로 앞으로 옮겼습니다.
    • 폴더에 끌어다 댈 때 강조 테두리 양옆이 잘리던 것을 고쳤습니다.
    • 끌 때 손에 붙는 모양을 둥근 카드로 바꿨습니다.
  • 그 밖의 화면
    • 스플래시 닫는 따옴표가 흐리게 남던 것을 고쳤습니다. 가리개의 흐린 끝자락 때문이었습니다.
    • 테마 다이얼로그: 잠긴 색 테두리를 테마색의 진한 색으로 바꾸고, 맨 위 판 배경을 흰색으로 바꿨습니다.
    • 옷장: 획득까지 n레벨 남았어요 로 바꿨습니다.
    • 복습 인증: 시간 조절 칩 넷을 한 줄에 두고 칩 사이를 띄웠습니다.
    • 마이페이지 안내 문구를 뺐습니다.
    • 앱 안의 한글 수를 숫자로 바꿨습니다.
  • Sentry 오류
    • 푼 날짜가 없는 문제에서 상세 화면이 멈추던 것을 고쳤습니다 (18A).
    • Expanded 중첩을 고쳤습니다 (YK).
    • 스터디룸 조회와 반응에서 받지 않던 예외를 받아 둡니다 (15G, 174). 15G 는 운영에서도 fatal 로 들어오던 것입니다.
    • 구글 로그인 12501/12502 를 취소로 처리합니다 (VM).
    • 같은 에러가 두 번 보고되던 것을 막고, E2E 가 돌 때는 보고하지 않습니다.
    • 본문 없는 502/503/504 는 warning 으로 낮췄습니다.

검증

  • flutter analyze: warning 과 error 0 건입니다.
  • flutter test: 2133 개 통과했습니다. 바뀐 화면의 골든을 갱신했고, 공책을 끄는 순간의 골든을 새로 추가했습니다.
  • iPhone 17 Pro 시뮬레이터: dev 서버로 띄워 홈 카드, 스플래시, 태그 위치를 직접 확인했습니다.

⚠️ 전달사항

  • Sentry 보고 경로가 바뀌었습니다. FlutterError.onError 와 PlatformDispatcher.onError 는 이제 Sentry 로 직접 보내지 않고 SentryFlutter 통합에 맡깁니다. 그래서 이 두 경로에서는 error_source 태그가 붙지 않습니다.
  • 훈장 설명과 미션 제목은 서버 문구라 아직 한글 수입니다. [Chore] 훈장 설명과 미션 제목의 한글 수를 숫자로 바꾼다 OnO_BACKEND#341 이 머지되면 docs/훈장/훈장표.md 와 fixture 를 따라 고쳐야 합니다.
  • 운영 빌드는 반드시 --dart-define=ENV=prod 로 다시 빌드해야 합니다. QA 용 TestFlight 빌드 1 은 dev 서버를 봅니다.

스크린샷 (선택)

없음

…까지 그려지는데 가리개는 상자 안에만 덮여서 그 조각만 처음부터 흐릿하게 보였다, 쓰는 동안에는 상자 오른쪽 경계에서 잘라 두고 다 쓴 뒤에는 자르지 않아 완성된 글씨는 그대로다
…강 오답노트 줄은 보라처럼 테마와 상관없는 색이 둘러졌다, 레벨 글자도 같은 색으로 맞췄다
… 문제 복습 Lv.4 · 4 레벨 남았어요 처럼 읽혀 어느 쪽이 필요 레벨인지 헷갈렸다, 획득까지 n레벨 남았어요 로 적고 이미 얻을 수 있으면 지금 바로 얻을 수 있어요 로 적는다, 골든 갱신
…여백 20 이 목록 바깥에 있어서 살짝 커지는 테두리와 그림자가 목록 끝에서 잘렸다, 여백을 목록 안쪽으로 옮겨 보이는 배치는 그대로다
… 다른 세트를 또 누르면 두 화면이 겹쳐 쌓였다, 누르면 바로 넘어가 스켈레톤을 보여 주고 불러오지 못하면 다시 불러오기를 둔다, 넘어가는 애니메이션 사이의 두 번 누름도 막았다, 겹친 불러오기가 공유 문제 목록에 서로의 문제를 섞어 넣지 않도록 다 모은 뒤 한 번에 바꾸고 늦게 끝난 옛 요청은 버린다
…록과 좌우 선이 어긋났다, 배경과 테두리를 빼고 위 통계와는 구분선으로 나누고 좌우 여백을 문제 목록과 같은 16 으로 맞췄다, 골든 갱신
… 때마다 횟수를 올리는데 확인 버튼이 응답을 기다리는 동안에도 눌렸다 저장 중에는 버튼을 막고 도는 표시를 두며 실패하면 다시 누를 수 있다, 복습 마치기를 두 번 누르면 완료 화면이 두 번 떠서 닫을 때 한 화면이 남던 것도 막았다, 더보기 다이얼로그에서 추천에 없는 이모지를 고르면 어느 칸도 골라진 것으로 보이지 않았다 더보기 칸이 그 이모지를 골라 둔 모양으로 보여 준다
…A, FLUTTER-YK) - 서버는 푼 날짜 없이도 문제를 저장하는데 상세 화면 세 곳이 solvedAt! 로 꺼내 null 검사에서 터졌다 없으면 적은 날짜로 그것도 없으면 오늘로 적는다, 삭제된 문제를 그리는 자리가 이미 Expanded 안에서 Expanded 를 또 둘러 ParentDataWidget 오류가 났다
… - 기다리지 않고 부르는 곳이라 실패가 끝까지 올라가 앱이 죽은 것처럼 fatal 로 보고됐고 운영에서도 들어왔다, 사용자에게는 HttpService 가 이미 스낵바로 알리므로 warning 으로만 남기고 던지지 않는다
…가 닫은 것이고 12502 는 다른 로그인 창이 이미 떠 있는 것이라 결함이 아닌데 예외로 올라가 오류로 보고됐다, 둘 다 null 을 돌려 기존 취소 처리로 조용히 끝낸다
…rror 와 PlatformDispatcher.onError 에서 직접 보내는데 SentryFlutter 의 통합이 그 핸들러를 감싸 한 번 더 보내서 오버플로 같은 것이 두 건씩 짝으로 들어왔다 이 두 곳은 Discord 만 보낸다, E2E 가 진짜 main 을 띄워 테스트 실패와 시드 데이터가 운영 이슈처럼 쌓였다 E2E 가 앱을 띄우기 전에 보고를 끈다, 서버가 502 503 504 를 본문 없이 주면 error 로 가서 서버 재시작 몇 분 사이 Discord 가 찼다 일시적인 것으로 보고 warning 으로 낮춘다 500 은 그대로 둔다
… 끼어 자리만 차지했다, 목록 카드의 마지막 복습 날짜 아래에 지난 소감 이모지와 이름을 한 줄로 적는다 소감이 없거나 앱이 모르는 키면 그 줄을 그리지 않는다, 상세 화면의 소감 골든은 지웠다
…그 칸은 가로 목록 맨 끝이라 폰에서는 화면 밖이었다, 추천에 없는 것을 고르면 목록 맨 앞에 칸을 하나 세워 골라 둔 모양으로 보여 주고 목록도 처음으로 되돌린다, 저장 중에 확인을 또 눌러도 한 번만 보내는지 확인하는 테스트를 더했다
…드마다 자리가 달랐다, 둘 다 누르면 가는 곳을 뜻하는 오른쪽 화살표 바로 왼쪽에 둔다
… 이름 글자를 빼고 날짜 뒤에 그림만 붙인다 이름은 길게 누르면 뜨고 스크린 리더도 읽는다
…자는 자리가 남는데 칩은 반쪽에 안 들어가 +10초 가 아랫줄로 넘어갔다, 칩 묶음이 제 폭을 먼저 쓰고 글자가 나머지를 쓴다 아주 좁은 폰에서는 줄을 바꾸지 않고 칩을 조금 줄인다, 칩이 한 줄에 서는지 테스트를 더했다
… 수 있고 더보기에서 고르면 다이얼로그가 닫힌 뒤 무엇을 골랐는지 여전히 알기 어려웠다, 어디서 골랐든 제목 줄 오른쪽에 이모지와 이름이 뜬다, 골든 갱신
…사진만 50x70 으로 떠서 무엇을 들고 있는지 잘 안 보이고 모서리가 각져 화면과 동떨어져 보였다, 목록 칸처럼 둥근 카드에 그림과 이름을 담고 살짝 기울여 그림자를 띄운다 손가락에 가리지 않게 손끝 위쪽에 둔다, 공책을 다른 공책 위로 끌고 간 순간을 골든으로 잠갔다
… 문제 복습 인증 화면에 따로 있어서 앞 커밋들은 완료 화면만 고쳤다 인증 화면에서는 추천에 없는 것을 고르면 여전히 어느 칸도 골라진 모양이 아니었다, 줄을 MoodPickerRow 로 모아 두 화면이 같이 쓴다 추천에 없는 것은 줄 맨 앞에 칸을 세우고 줄을 처음으로 되돌리며 제목 옆에도 고른 기분을 적는다, 완료 화면 칸 테두리 색이 인증 화면과 달랐던 것도 같이 맞췄다 골든 갱신
…훈장의 한 번만 해내면 받아요를 3개 1번 처럼 숫자로 바꿨다, 한 번에 처럼 수가 아니라 말투인 것은 그대로 둔다
…가 분홍 보라 초록 파랑으로 바뀌었다, 칠하지 않고 아래 격자와는 선 하나로만 나눈다
…자락이 다 쓴 뒤에도 문구 오른쪽 끝 2.5% 를 덮고 있었다, 끝자락까지 상자 밖으로 밀어내고 다 쓰면 가리개를 걷어 낸다, 앞 커밋에서 넣은 오른쪽 자르기는 원인을 잘못 짚은 것이라 되돌렸다
@KiSeungMin KiSeungMin added the Bug Something isn't working label Sep 21, 2026
@KiSeungMin KiSeungMin self-assigned this Sep 21, 2026
@KiSeungMin
KiSeungMin merged commit 69c5ac9 into develop Sep 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant