Skip to content

Update quota alert logic for 100%+ display#96

Merged
kargnas merged 1 commit intomainfrom
codex-100
Feb 27, 2026
Merged

Update quota alert logic for 100%+ display#96
kargnas merged 1 commit intomainfrom
codex-100

Conversation

@kargnas
Copy link
Member

@kargnas kargnas commented Feb 25, 2026

Summary

  • introduce an explicit 100% alert-first threshold so providers over quota still trigger the alert display
  • detect when only one quota provider is enabled so the status bar shows it regardless of used percent history
  • reuse the new candidate helpers to keep the "alert first" and critical-provider paths consistent
    Testing
  • Not run (not requested)

@op-gg-ai-devops
Copy link
Contributor

Status Bar의 Only Show (Alert First) 모드에서 사용량이 100%를 초과할 때의 표시 우선순위 로직을 개선하고, 기존 100% 캡(clamp) 로직을 제거했군요.

  1. 로직 개선: 기존 usagePercentsForMostUsed에서 100%로 값을 잘라버리던(clamping) 부분을 제거해서, 이제 120% 같이 초과된 사용량도 정확하게 우선순위에 반영되겠네요. 나이스 판단입니다.
  2. 코드 구조: quotaAlertCandidates로 후보군 추출 로직을 분리해 가독성이 좋아졌습니다. 다만 singleEnabledQuotaProvider ?? mostCriticalProvider 패턴은 조금 중복처럼 보입니다. mostCriticalProvider 하나만 써도 후보가 1개일 때 동일하게 동작할 것 같은데, 의도된 분기인지 확인만 한 번 해주세요.
  3. 상수 관리: critical(90)과 alertFirst(100) 임계값을 분리해서 모드별 정책을 명확히 한 점도 유지보수에 좋아 보입니다.

이것은 짧은 미리보기 리뷰입니다. 버그 탐지와 시큐리티 체크를 포함한 전체 코드 리뷰를 원하시면,
댓글로 **@opgginc/op-gg-ai-devops** 리뷰해줘라고 쓰거나 이 PR의 Reviewer로 **opgginc/op-gg-ai-devops**를 추가해주세요. (AGENTS.md 규칙을 준수합니다)

@kargnas
Copy link
Member Author

kargnas commented Feb 26, 2026

@opgginc/op-gg-ai-devops

@op-gg-ai-devops
Copy link
Contributor

op-gg-ai-devops bot commented Feb 26, 2026

✅ AI Code Review Completed

Review finished. Check the PR for inline comments.


📋 View Logs | 🤖 Model: google/gemini-3-pro-preview

Copy link
Contributor

@op-gg-ai-devops op-gg-ai-devops bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 OP.GG DevOps AI Code Review

📝 요약

이 PR은 Alert First 모드의 동작 방식을 개선하여, 기존 90% 이상일 때 표시되던 텍스트를 100% 이상(완전 소진 시) 표시되도록 변경하고 있습니다. 또한 관련된 mostCriticalProvider 로직을 리팩토링하였습니다.

✅ CI/CD Status

모든 체크(Lint, Build, Test)가 성공했습니다.

🔍 주요 검토 사항

  1. 로직 중복 제거: updateStatusBarText 메서드에서 singleEnabledQuotaProvidermostCriticalProvider를 함께 사용하는 부분은 불필요한 중복 연산(전체 제공자 순회)을 유발합니다. mostCriticalProvider 하나로 통합하여 더 간결하게 만들 수 있습니다.
  2. 버전 다운그레이드: Info.plist의 버전이 2.7.5에서 2.7.4로 변경되었습니다. 의도하지 않은 변경이라면 수정이 필요합니다.
  3. 임계값 분리: Critical Badge(빨간 점)는 여전히 90%(criticalUsageThreshold)를 따르고, Alert First(텍스트 표시)는 100%(alertFirstUsageThreshold)를 따르도록 분리되었습니다. 이 정책 변경이 의도된 것인지 확인하면 좋습니다.

💡 제안 사항

코드의 중복을 제거하고 버전 번호를 확인해 주세요.

Comment on lines +1256 to +1257
let alertFirstCandidate = singleEnabledQuotaProvider(atOrAbove: alertFirstUsageThreshold)
?? mostCriticalProvider(minUsagePercent: alertFirstUsageThreshold)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

singleEnabledQuotaProvider 메서드는 quotaAlertCandidates()를 내부적으로 호출하며, 이어지는 mostCriticalProvider 역시 quotaAlertCandidates()를 호출하므로 비효율적입니다.

mostCriticalProvider(minUsagePercent:) 메서드는 단일 제공자만 있는 경우에도 정상적으로 동작(필터링 후 max값 반환)하므로, 아래와 같이 단순화할 수 있습니다.

Suggested change
let alertFirstCandidate = singleEnabledQuotaProvider(atOrAbove: alertFirstUsageThreshold)
?? mostCriticalProvider(minUsagePercent: alertFirstUsageThreshold)
let alertFirstCandidate = mostCriticalProvider(minUsagePercent: alertFirstUsageThreshold)

@kargnas kargnas merged commit 52f4a08 into main Feb 27, 2026
15 checks passed
@kargnas kargnas deleted the codex-100 branch February 27, 2026 14:37
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.

1 participant