Discord 피드백 알림 미전송 버그 수정 + 해결 알림

날짜
영향도보통

Decisions

D1: GitOps 매니페스트 env 블록 누락 수정

  • Context: Sprint 63에서 identity-discord-secret K8s Secret과 소스 레포 매니페스트는 작성했으나, GitOps 레포(aether-gitops)에 env 블록 반영을 누락하여 Discord 알림이 silent skip됨
  • Choice: aether-gitops의 identity-service.yamlDISCORD_FEEDBACK_WEBHOOK_URL secretKeyRef env 블록 추가
  • Alternatives: 없음 (명백한 누락 수정)
  • Code Paths: aether-gitops/algosu/base/identity-service.yaml

D2: 피드백 해결 시 인앱 알림 추가

  • Context: 피드백 작성자에게 해결 사실을 알려야 함. 기존 NotificationService + SSE 인프라가 완비되어 있어 신규 인프라 도입 불필요
  • Choice: FEEDBACK_RESOLVED NotificationType 추가 + FeedbackService에서 RESOLVED 전이 시 NotificationService.create() 호출
  • Alternatives: Discord DM (webhook으로 불가), 이메일 (이메일 서비스 미구축)
  • Code Paths: services/identity/src/notification/notification.entity.ts, services/identity/src/feedback/feedback.service.ts

Patterns

P1: fire-and-forget 알림 패턴

  • Where: services/identity/src/feedback/feedback.service.ts (updateStatus 메서드)
  • When to Reuse: 핵심 비즈니스 로직(상태 변경)에 부가 알림을 연결할 때. Promise.catch()로 실패를 흡수하여 메인 흐름에 영향 없도록 함

P2: DB ENUM 확장 migration 패턴

  • Where: services/identity/src/database/migrations/1709000019000-AddFeedbackResolvedNotificationType.ts
  • When to Reuse: PostgreSQL ENUM에 새 값을 추가할 때. COMMITALTER TYPE ADD VALUE IF NOT EXISTSBEGIN 순서 필수

Metrics

  • Commits: 3건, Files changed: 8개 (+324/-5)