Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
a05496f
fix(cli): restore strict verification and Trae aggregation
junhoyeo May 26, 2026
7c443b0
fix(groups): reject malformed invite payloads
junhoyeo May 26, 2026
14c17b6
fix(leaderboard): preserve filters and paginate groups
junhoyeo May 26, 2026
d8ede56
docs(readme): correct Trae sync and client filters
junhoyeo May 26, 2026
e683f62
fix(leaderboard): avoid swallowing dynamic route detection
junhoyeo May 26, 2026
c9e051a
docs(cli): clarify Trae credential variants
junhoyeo May 26, 2026
013552e
fix(leaderboard): preserve filters across view toggles
junhoyeo May 26, 2026
6d0fe74
fix(groups): reject non-object invite payloads
junhoyeo May 26, 2026
1a1efd8
refactor(leaderboard): remove duplicate date validation
junhoyeo May 26, 2026
8e5778d
fix(cli): write Trae sync artifacts only when referenced
junhoyeo May 26, 2026
9228a8a
ci: update coverage badge [skip ci]
github-actions[bot] May 26, 2026
1ac617e
docs(cli): document local active-time day buckets
junhoyeo May 26, 2026
64e278c
Merge origin/main: pick up coverage badge refresh on top of local fixes
junhoyeo May 26, 2026
20fec5c
test(frontend): add CI coverage for tests and migrations (#605)
IvGolovach May 27, 2026
8c6df8e
fix(groups): enforce invite role hierarchy (#604)
IvGolovach May 27, 2026
f6aeca7
fix(submit): allow consistent high-volume token reports (#602)
IvGolovach May 27, 2026
b969525
fix(submit): adopt legacy rows for first device submit (#609)
IvGolovach May 27, 2026
10793c0
fix(submit): preserve same-device totals on parser regressions
IvGolovach May 27, 2026
1f4c210
fix(release): commit release provenance before npm publish
IvGolovach May 27, 2026
6a86e51
fix(cli): honor explicit home diagnostics
IvGolovach May 27, 2026
5552276
fix(scanner): scan Hermes profile databases from extra paths
IvGolovach May 27, 2026
7ce8728
docs: require maintainer identity for agent commits
junhoyeo May 27, 2026
ef17c25
fix(cursor): surface setup diagnostics for explicit reports
IvGolovach May 27, 2026
2402fb2
fix(submit): bypass cost-without-tokens check for Cursor legacy `prem…
junhoyeo May 27, 2026
fcab5fb
fix: invite privilege escalation, submit savepoint race, leaderboard …
junhoyeo May 27, 2026
2505a9f
fix(tui): anchor warm-cache writer and TUI reader on a shared group_b…
junhoyeo May 27, 2026
715fddf
chore: bump version to 3.0.0
github-actions[bot] May 27, 2026
5ed5895
fix(submit): exclude tokenless-cost rows instead of failing the whole…
junhoyeo May 28, 2026
cf4b931
style: rustfmt wrap in tokenless-cost exclusion test
junhoyeo May 28, 2026
70060c3
chore(release): reset manifests to 2.1.3 to re-publish 3.0.0
junhoyeo May 28, 2026
c21f0f5
chore: bump version to 3.0.0
github-actions[bot] May 28, 2026
d237a00
fix(leaderboard): drop duplicate page title above the view tabs
junhoyeo May 29, 2026
64cbb17
ci(workflows): make Rust lint read-only (#638)
IvGolovach May 30, 2026
dea44dd
fix(pricing): resolve Kimi k2p6 aliases (#619)
IvGolovach May 30, 2026
a9b4424
fix(cursor): clarify explicit setup diagnostics (#623)
IvGolovach May 30, 2026
b967a53
fix(cache): preserve recreated source entries (#624)
IvGolovach May 30, 2026
0cf80b2
fix(kimi): deduplicate repeated status updates (#637)
IvGolovach May 30, 2026
3949f53
fix(core): use local pricing fallback for hourly reports (#639)
IvGolovach May 30, 2026
35dec4c
fix(tui): scope cache by report filters (#617)
IvGolovach May 30, 2026
17ff824
fix(submit): recover first-write races (#616)
IvGolovach May 30, 2026
e044046
fix(auth): reject personal tokens on group mutations (#621)
IvGolovach May 30, 2026
efb1e64
fix(frontend): accept trae client submissions (#640)
IvGolovach May 30, 2026
746e73d
fix(tui): honor compatible colors in Apple Terminal (#629)
IvGolovach May 30, 2026
eb3e6dc
fix(groups): guard member mutations against stale roles (#626)
IvGolovach May 30, 2026
e9b9579
feat(tui): add Cost/1M column to Models, Daily, Hourly tabs (#632)
crhan May 30, 2026
734f685
fix(submit): aggregate device time totals (#627)
IvGolovach May 30, 2026
042e14a
fix(release): support safe npm publish recovery (#620)
IvGolovach May 31, 2026
a2c85fa
fix(codex): skip replayed fork token counts (#630)
IvGolovach May 31, 2026
f4eb42f
fix(claude): count tool-result input usage (#622)
IvGolovach May 31, 2026
d1cd03c
feat(warp): add aggregate usage sync (#636)
IvGolovach May 31, 2026
d73b908
feat(antigravity): discover Windows language servers (#628)
IvGolovach May 31, 2026
d692d31
ci: update coverage badge [skip ci]
github-actions[bot] May 31, 2026
0c820a5
feat(claude): discover cc-mirror variants (#618)
IvGolovach May 31, 2026
6dfd79f
fix(scanner): support zed extra scan paths (#643)
makoMakoGo May 31, 2026
d9f2a9b
feat(codex): detect turn starts so the Turn column counts codex turns…
crhan May 31, 2026
0c8878c
test(cli): isolate fixtures from inherited scan-path env vars (#647)
crhan May 31, 2026
a86e688
fix(antigravity): sync over HTTPS with self-signed local cert (#642)
SaulMoreno3 May 31, 2026
4405584
fix(codex): skip replayed parent usage in fork logs (#649)
IvGolovach Jun 4, 2026
1a305f0
fix(claude): surface desktop usage diagnostics (#614)
IvGolovach Jun 4, 2026
5c1fe65
fix(pricing): skip unusable exact price entries (#658)
IvGolovach Jun 4, 2026
b2b8c1f
feat(pricing): add models.dev fallback source (#665)
IvGolovach Jun 4, 2026
f2bf654
fix(auth): require CSRF validation for cookie mutations (#615)
IvGolovach Jun 4, 2026
5594688
fix(auth): allow tokscale.ai CSRF origin (#652)
IvGolovach Jun 4, 2026
9c09473
fix(auth): claim device codes atomically (#654)
IvGolovach Jun 4, 2026
6143cfa
fix(auth): hash browser session tokens at rest (#625)
IvGolovach Jun 4, 2026
9300d24
fix(auth): constrain GitHub OAuth return paths (#664)
IvGolovach Jun 4, 2026
f564ede
fix(leaderboard): use competition ranks for all-time ties (#655)
IvGolovach Jun 4, 2026
7500b30
fix(claude): preserve cc-mirror tool result attribution (#659)
IvGolovach Jun 4, 2026
7ddfa74
fix(core): derive active time from message durations (#657)
IvGolovach Jun 4, 2026
4987875
fix(graph): reuse local Cursor auto-sync path (#656)
IvGolovach Jun 4, 2026
9f7f374
fix(headless): preserve capture timeout state (#663)
IvGolovach Jun 4, 2026
b48af31
fix(antigravity): include cache rows in default submit (#653)
IvGolovach Jun 4, 2026
4356ddb
test(auth): align device authorize tests with guarded claims (#671)
IvGolovach Jun 4, 2026
63a44d7
fix(warp): scan aggregate usage cache files (#662)
IvGolovach Jun 5, 2026
c3f8d09
fix(release): validate publish inputs before version bump (#660)
IvGolovach Jun 5, 2026
8493048
test(core): isolate Zed path test from XDG_DATA_HOME (#672)
IvGolovach Jun 5, 2026
e6290a3
fix(release): guard publish dist-tags and matrices (#666)
IvGolovach Jun 5, 2026
2d90f41
Add Codex fork replay regression for submit cap failures (#651)
minislively Jun 5, 2026
ad208fa
feat(tui): keep hourly and daily dates readable in compact layouts.
crhan Jun 5, 2026
591e1b1
ci: update coverage badge [skip ci]
github-actions[bot] Jun 5, 2026
f2d09e0
feat: display MCP servers in profile Statistics panel
leecoder Jun 5, 2026
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
8 changes: 4 additions & 4 deletions .github/badges/coverage.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions .github/workflows/build-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ jobs:
steps:
- uses: actions/checkout@v5

- name: Check release workflow safety
run: python3 scripts/check-release-workflow-safety.py

- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
Expand Down
78 changes: 78 additions & 0 deletions .github/workflows/frontend_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Frontend CI

on:
workflow_dispatch:
push:
branches: [main, develop]
paths:
- "packages/frontend/**"
- "package.json"
- "bun.lock"
- ".github/workflows/frontend_ci.yml"
pull_request:
branches: [main, develop]
paths:
- "packages/frontend/**"
- "package.json"
- "bun.lock"
- ".github/workflows/frontend_ci.yml"

permissions:
contents: read

env:
BUN_VERSION: 1.3.10

jobs:
vitest:
name: Frontend Vitest
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ env.BUN_VERSION }}

- name: Install workspace dependencies
run: bun install --frozen-lockfile

- name: Run frontend tests
run: bun run --cwd packages/frontend test

migration-replay:
name: Frontend Migration Replay
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: tokscale_ci
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U postgres -d tokscale_ci"
--health-interval 5s
--health-timeout 5s
--health-retries 12
env:
DATABASE_URL: postgres://postgres:postgres@localhost:5432/tokscale_ci
NODE_ENV: test
steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ env.BUN_VERSION }}

- name: Install workspace dependencies
run: bun install --frozen-lockfile

- name: Replay frontend database migrations
run: bun run --cwd packages/frontend test:migrations
Loading
Loading