feat: show the Pro usage meter in eaSpot #83
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
x/ego-chat!83
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/easpot-publisher"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Shows the Pro usage meter in eaSpot, a macOS menu bar quota display, when it is installed. The menu bar then reads "ChatGPT · GPT-6 Pro weekly: 188 of 200 messages left".
What it does
easpotCLI every minute. It checksEASPOT_BINfirst, then~/.local/bin,/opt/homebrew/bin,/usr/local/bin, andeaSpot.appin/Applicationsor~/Applications. When eaSpot isn't found it does nothing and never reads the meter.broker.getProUsage()accessor. It then publishesgpt6ProWeekagainst the configuredgpt6ProPerWeekallowance.EGO_CHAT_DATA_DIRoverrides never do.The reset time
eaSpot ignores a reading whose reset moved more than 30 minutes earlier, and it still reports success, so the published reset must never go backwards. It is:
oldestUnansweredSentAt), since that answer will count from its Send;easpot status --json). This covers retention dropping the newest counted Send.Other changes
computeProUsageaddsgpt6ProNewestAtandoldestUnansweredSentAt.config.mjsexportsisDefaultDataDir().rust/main.rs.broker.mjsaccessor.Compatibility
eaSpot 0.2.0 and later show the counts and the "ChatGPT" name. eaSpot 0.1.x accepts the same input and shows the percentage.
Testing
npm test: 1,540 pass. The test "an unexpected successor preparation failure retains its checkpoint…" fails now and then under full-suite load. It waits only 2 s for a restarted broker, never touches the publisher, and passes alone.npm run lintis clean, andcargo checkpasses.easpot publishsubprocess, including a slow first answer after an empty week.