Skip to content

fix(verification): 기상·걸음 판정 앱 쪽 수정 (#629) - #630

Merged
Sadturtleman merged 1 commit into
developfrom
fix/629
Oct 23, 2026
Merged

Sadturtleman merged 1 commit into
developfrom
fix/629

Conversation

@Sadturtleman

Copy link
Copy Markdown
Contributor

작업 내용

#629 (10/22 prod 기상 실패 조사)의 앱 쪽 항목 반영.

2. Health Connect 읽기 범위 — 수정

  • captureHealth 범위를 전날 00:00(KST) ~ 지금으로 넓혔다. 이미 보낸 기록의 중복은 서버가 recordId 로 거른다.
  • 범위가 이틀에 걸치므로 readings 의 date 를 수집일이 아니라 기록 시작 시각의 KST 날짜로 귀속한다(오늘 기록은 기존과 같은 값).

1. 백그라운드 걸음 누락 — 확인 결과 + 보완

  • 「recordPermissionGap 결과가 봉투에 안 실린다」는 사실이 아니다. 수집기 gap 은 signal_gap 버퍼에 쌓이고 RunSyncUseCase 가 drainGaps 로 같은 sync 의 envelope 에 합친다.
  • 백그라운드 읽기 권한 없이 읽으면 HC 는 SecurityException 을 던지고, 이 경우 이미 PERMISSION_MISSING gap 이 나간다. → 08:09 sync 의 gaps 가 비었다면 권한 거부는 아니었다고 본다.
  • 보고 없이 빈 값이 나가던 구멍 두 개를 막았다:
    • 대상 지표 권한이 없을 때(예: 걸음 꺼짐·거리 켜짐) → PERMISSION_MISSING
    • 플랫폼 HC 할당량 초과(ERROR_RATE_LIMIT_EXCEEDED) → HC_RATE_LIMITED

3. 실패 사유 문구 — 수정

  • WOKE_UP_LATE: 목표 시각까지 걸음 기록이 없어요
  • UNTRUSTED_HEALTH_SOURCE: 인정되지 않는 앱의 기록이거나 직접 입력한 기록이에요

참고

  • 앱에 「삼성헬스/구글 피트니스」 같은 출처 안내 문구는 없어 변경 없음.

Closes #629

🤖 Generated with Claude Code

- Health Connect 읽기 범위를 「오늘 00:00~지금」에서 「전날 00:00~지금」으로 넓힌다.
  서버가 귀속일 D 를 D+2 00:00 확정 전까지 재평가하므로, 자정을 넘긴 뒤에도 전날 기록을 다시 보낸다.
  readings 의 date 는 수집일이 아니라 기록 시작 시각의 KST 날짜로 귀속한다.
- 대상 지표의 읽기 권한이 없으면 PERMISSION_MISSING gap 을 남긴다.
  지금까지는 걸음만 꺼지고 거리가 켜져 있으면 gap 없이 빈 값으로 나갔다.
- 플랫폼 HC 할당량 초과(ERROR_RATE_LIMIT_EXCEEDED)를 HC_RATE_LIMITED gap 으로 보고한다.
  지금까지는 IllegalStateException 으로 조용히 삼켜졌다.
- 실패 사유 문구: WOKE_UP_LATE 는 걸음 기준으로, UNTRUSTED_HEALTH_SOURCE 는 인정되지 않는 앱까지 포함하도록 바꾼다.

Refs #629

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@Sadturtleman
Sadturtleman merged commit 4c47595 into develop Oct 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[서버 연동] 기상·걸음 판정 관련 앱 확인·수정 요청 (10/22 prod 기상 실패 조사 결과)

1 participant