Repository navigation
Pro Spark five-hour quota is shown as a generic account window #4017
Description
This was generated by AI during triage.
Client or integration
OpenCodex dashboard (Codex account quota cards)
Area
Authentication and account pool
Summary
On Pro accounts, the five-hour quota returned inside the GPT-5.3-Codex-Spark additional rate limit is displayed as the generic account five-hour window. The Spark-specific five-hour window should stay model-scoped and be shown as GPT-5.3-Codex-Spark 5h, alongside its Spark weekly window.
The WHAM payload can contain account-level primary/secondary windows and an additional GPT-5.3-Codex-Spark limit with its own five-hour primary and weekly secondary. The parser kept the Spark weekly window but dropped the Spark five-hour window.
Reproduction
- Use a Pro WHAM response whose account-level primary window is weekly and whose additional
GPT-5.3-Codex-Sparklimit contains a five-hour primary plus a weekly secondary. - Refresh the account quota.
- Open the Codex account quota cards.
- Observe that the Spark five-hour usage is not represented under the Spark label.
Expected:
- Account-level five-hour usage remains in the generic five-hour fields when explicitly reported.
- Spark five-hour usage is shown as
GPT-5.3-Codex-Spark 5h. - Spark weekly usage is shown as
GPT-5.3-Codex-Spark Weekly. - The Spark visibility setting hides or reveals both Spark-specific rows together.
- Other providers' custom quota windows remain unchanged.
Version
2.48.0
Operating system
Windows
Provider and model
ChatGPT Codex account pool / GPT-5.3-Codex-Spark
Logs or error output
No error is emitted; this is a quota-window attribution/display mismatch.
Screenshots and supporting files
Not included; the reproduction uses synthetic, redacted WHAM window data.
Redacted configuration
No provider URL, credential, account identifier, or local path is required.
Checks
- I searched existing issues and documentation.
- I removed secrets, tokens, account details, request credentials, and personal data.
Activity
github-actions commentedon Sep 8, 2026
Issue reopened
The report now contains the information required by the automated check. Thanks for updating it.
lidge-jun commentedon Sep 8, 2026
리뷰 · 우선순위 58 / 80
이 이슈는 Pro 요금제 Codex 계정 카드에서 Spark 전용 5시간 창이 일반 계정 5시간처럼 보이거나, Spark 라벨 아래로 안 올라오는 표시 오류다. 지금
devHEAD는29bb221c3(패키지 2.49.0, tip 문서 머지 #4021)이고, 제품 tip은 여전히 #4002 계열의 auth/routing·quota 축이다. WHAM 응답에는 계정 단위 primary/secondary와 별도로GPT-5.3-Codex-Sparkadditional limit가 있을 수 있다. 현재src/codex/quota.ts의parseUsageQuota는 Spark 쪽에서 weekly 후보만customWindows에 넣고, Spark 5시간 primary는 버린다. 그래서 카드·집계 표면에서는 Spark weekly만 보이고, Spark 5시간 사용량이 계정 일반 5시간 자리로 섞이거나 아예 빠질 수 있다. 이슈가 말하는 재현(계정 primary=weekly, Spark additional에 5h+weekly)은 그 파서 모양과 정확히 맞는다.왜 지금 우선도가 중간 이상인가. Spark 창은 이미
showCodexSparkQuota로 기본 숨김이고,src/codex/auth-api.ts의withSparkVisibility/CODEX_SPARK_WINDOW_LABEL은 라벨 문자열 한 개(GPT-5.3-Codex-Spark Weekly)만 걸러낸다. 즉 “보이기/숨기기” 스위치와 라우팅이 쓰는 custom window 경계는 weekly 한 줄에 맞춰져 있다. 5시간 Spark 창을 살리면 표시뿐 아니라 visibility 필터·문서·i18n 힌트까지 같이 손봐야 한다. 그래도 Pro 카드가 틀린 창을 보여 주면 운영자가 풀 전환을 잘못 판단할 수 있어서, 순수 문서 이슈보다 높다.현재 HEAD에서 관련 경로를 짚으면:
parseUsageQuota는 Spark weekly만quota.customWindows = [sparkWindow]로 고정하고,auth-api.ts는 그 라벨만 숨긴다. GUI 힌트(gui/src/i18n/en.ts등)도 “weekly window”만 말한다. 계정 일반 5h/weekly 필드는 그대로 두고 Spark만 모델 스코프 custom window로 올리는 방향이 이슈 Expected와 맞다. types.ts/config.ts 대분할에 바로 무효화될 성격은 아니고, 중복 이슈로 바로 닫을 다른 open도 이 스냅샷에서는 보이지 않는다. 이미 고치려는 draft PR#4018이 열려 있다.라인 src/codex/quota.ts Spark customWindows - 지금 파서는 Spark weekly만 남기고 5시간 Spark primary를 버린다. 이슈 Expected대로 5h를
GPT-5.3-Codex-Spark 5h로 따로 올려야 한다.라인 src/codex/auth-api.ts
CODEX_SPARK_WINDOW_LABEL- visibility 필터가 weekly 라벨 하나만 본다. 5h 라벨을 추가하지 않으면 스위치 off여도 Spark 5h 줄이 카드에 남을 수 있다.경로 gui/src/i18n/*
codexAuth.sparkQuotaHint- 문구가 weekly만 언급한다. 5h+weekly를 같이 보여 주기로 하면 힌트도 맞춰야 한다.경로 PR #4018 - 이 이슈를 Closes로 묶은 draft 수정이 이미 있다. 이슈만 따로 재구현할 필요는 없다.
메인테이너의 판단이 필요한 지점
GPT-5.3-Codex-Spark 5h로 둘지, 계정 short window와 같은 분 단위 표기를 따를지showCodexSparkQuota가 5h·weekly를 항상 묶어서 숨길지, 창별로 나눌지너의 추천
이슈 자체는 유효하다. 새 구현을 기다리지 말고
#4018을 다듬어 랜딩한 뒤 이 이슈를 닫아라.#4018이 막히거나 방향이 바뀌면 그때 이 이슈를help wanted로 남겨라. types/config 분할 때문에 버릴 대상은 아니다.이 댓글은 grok-bot이 작성했습니다
wp2: land seven contributor bug fixes (quota, catalog, streaming, sto…
lidge-jun commentedon Sep 8, 2026
Fixed on
devin 9587750 (via #4051, carrying #4018 by @cb8010d6).One correction to the report while closing it, so the record is accurate: the Spark five-hour reading was not being shown as the generic account window — it was being dropped entirely.
shortPercentis populated only fromdata.rate_limit.primary_windowand never readsadditional_rate_limits, so a Spark window could not land in the generic 5h field. The actual defect was thatsparkWeeklywas the only selector and it excludes short windows, so a Spark sub-day window matched nothing and never reachedcustomWindows. A probe with both an account-level 5h and a Spark 5h confirmedshortPercentstays on the account value.The four outcomes you asked for are delivered: the Spark 5h window now parses as its own labeled row alongside Spark Weekly, both are filtered by the same
showCodexSparkQuotagate (default off, so a default account card is byte-identical), and the model-scoped window cannot become a global account signal.Closing manually because pull requests here target
dev, and GitHub only auto-closes on merge intomain.lidge-jun commentedon Sep 8, 2026
Landed via #4051 at 9587750
wp2: land seven contributor bug fixes (quota, catalog, streaming, sto…