Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Changelog

## 0.3.8 — 2026-09-04

- Keep the `Limit resets` label, separator, expiry text and countdown in
the same muted treatment as `Credits:` while retaining the bright reset
count.
- Add native hover tooltips to every 5h and 7d reset-countdown circle, showing
the elapsed percentage of that circle's own reset window and its remaining
time.
- Add the explicit earned-reset confirmation dialog to the README as a
privacy-safe, tightly cropped product screenshot.

## 0.3.7 — 2026-09-04

- Make an available earned rate-limit reset explicitly actionable from the
popup, with a native confirmation dialog showing the available count and
selected expiry when supplied.
- Consume a reset only after the user confirms, using the local Codex
app-server, one UUID idempotency key per attempt and the selected opaque
credit ID when detail rows are available.
- Refresh the full usage snapshot after every terminal consume response and
keep success, stale-count, no-credit and error outcomes visible without
adding background redemption or credential access.

## 0.3.6 — 2026-09-04

- Show the local expiry date and time of the next available earned rate-limit
Expand Down
25 changes: 18 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@
</p>
<p align="center"><sub>The account-wide Codex 5h ring appears only when the signed-in account exposes that quota.</sub></p>

<p align="center"><strong>Explicit earned-reset confirmation</strong></p>
<p align="center">
<img src="docs/model-limits/reset-confirmation.png" width="321" alt="Native confirmation dialog before using an earned limit reset">
</p>
<p align="center"><sub>An available reset is consumed only after this native confirmation.</sub></p>

| Precise hourly bucket details | Every active quota at a glance |
| --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| ![Hourly bucket hover details beside both panel blocks](docs/model-limits/bucket-tooltip.png) | ![Compact panel hover summary beside both panel blocks](docs/model-limits/panel-tooltip.png) |
Expand All @@ -50,16 +56,18 @@

- Mirrors account-level and named model-specific limits exposed by ChatGPT:
remaining usage, reset times, credits and earned resets with the next expiry
date, time and remaining countdown when available. The expiry timestamp
turns orange within seven days and uses a neon-pink breathing alert within
24 hours; a zero reset count stays compact and shows only `0`.
date, time and remaining countdown when available. An available earned reset
can be selected in the popup and is consumed only after an explicit native
confirmation; a zero reset count stays compact and shows only `0`.
- Detects dedicated GPT-5.3-Codex-Spark 5h and 7d quotas automatically when
they are enabled for the signed-in account; model-specific limits stay in
the popup by default, carry a distinct amber marker and can optionally be
added to the panel.
- Shows paired circular available-quota and reset-countdown indicators for
every active 5h and 7d window without polling the API more often. Untouched
100%-remaining cycles stay at their exact full duration until usage begins.
100%-remaining cycles stay at their exact full duration until usage begins;
hovering a reset-countdown circle shows the elapsed percentage of its own
5h or 7d reset window.
- Tracks observed consumption for the last 1h and 4h plus an exact rolling 24h
total for active 5h quotas; weekly quotas retain 12h and Today context. The
compact timeline offers per-bucket hover details for the last 24 hours, and
Expand Down Expand Up @@ -98,16 +106,19 @@ cd cinnamon-chatgpt-usage
Then open **System Settings → Applets** and add **ChatGPT Usage** to a panel.
Requirements: Cinnamon 5.8+, Python 3 and a current
[Codex CLI](https://learn.chatgpt.com/docs/codex/cli#getting-started) signed in
with ChatGPT. Version 0.3.6 is tested on Cinnamon 6.6.9 with Codex CLI 0.152.0.
with ChatGPT. Version 0.3.8 is tested on Cinnamon 6.6.9 with Codex CLI 0.153.2.

Run `./install.sh` again after updates. `./uninstall.sh` removes the applet while
retaining its settings.

## How it works

The helper makes one read-only `account/rateLimits/read` request through the
official local Codex app-server and exits. There is no HTML scraping, API key,
browser access, background daemon or reset-credit write. To calculate recent
official local Codex app-server for normal refreshes and exits. An earned reset
is never consumed in the background: the confirmed popup action starts a
separate `account/rateLimitResetCredit/consume` request with one UUID
idempotency key and then refetches the complete usage snapshot. There is no
HTML scraping, API key, browser access or background daemon. To calculate recent
consumption, it stores only timestamps, window durations, percentages and reset
IDs for eight days in `$XDG_STATE_HOME/cinnamon-chatgpt-usage/history.json`
(normally `~/.local/state/...`, mode `0600`). No prompts, credit details or
Expand Down
Loading