Commit Graph

354 Commits

Author SHA1 Message Date
Jarrod Watts
7ea5f331d9 fix: wrap HUD output when terminal width is unavailable 2026-04-04 13:59:08 +11:00
github-actions[bot]
d9b1a3daae build: compile dist/ [auto] 2026-04-04 02:52:13 +00:00
Jarrod Watts
5e5c950c3a Merge pull request #349 from xiaodream551-a11y/feat/i18n-chinese-support
feat: add Chinese (zh) language support
2026-04-04 13:51:54 +11:00
Jarrod Watts
f223562354 test: align reset countdown expectation for i18n 2026-04-04 13:51:04 +11:00
Jarrod Watts
6c863b2f02 Merge main into i18n branch and keep English default 2026-04-04 13:50:24 +11:00
Jarrod Watts
72c01d75af Merge pull request #363 from jarrodwatts/fix-gh-star-command-compat
docs: add gh star command fallback
2026-04-04 13:43:51 +11:00
Jarrod Watts
36bc0d8f20 docs: add gh star command fallback 2026-04-04 13:41:56 +11:00
Jarrod Watts
f7b71255b8 Merge pull request #362 from jarrodwatts/issue-355-windows-node-default
docs: prefer node over bun on windows
2026-04-04 13:36:09 +11:00
Jarrod Watts
a47c952b6b docs: prefer node over bun on windows 2026-04-04 13:35:21 +11:00
Jarrod Watts
5909886a48 Merge pull request #361 from jarrodwatts/issue-346-star-command
docs: shorten setup star command
2026-04-04 13:31:42 +11:00
Jarrod Watts
593be9398a docs: shorten setup star command 2026-04-04 13:31:03 +11:00
Jarrod Watts
f2445a490f Merge pull request #360 from jarrodwatts/issue-315-json-safety
docs: make setup JSON escaping explicit
2026-04-04 13:30:27 +11:00
Jarrod Watts
5cecc69e33 docs: make setup JSON escaping explicit 2026-04-04 13:29:50 +11:00
github-actions[bot]
98a2358e3e build: compile dist/ [auto] 2026-04-04 02:28:54 +00:00
Jarrod Watts
b851959be0 Merge pull request #359 from jarrodwatts/issue-353-auth-label
fix: stop guessing auth mode from env vars
2026-04-04 13:28:38 +11:00
Jarrod Watts
03c394825c fix: stop guessing auth mode from env vars 2026-04-04 13:28:03 +11:00
github-actions[bot]
3c4a2c1976 build: compile dist/ [auto] 2026-04-04 02:26:18 +00:00
Jarrod Watts
0786f4c50b Merge pull request #357 from kagura-agent/fix/preserve-taskid-map-across-todowrite
fix: preserve taskIdToIndex map across TodoWrite operations (#345)
2026-04-04 13:25:59 +11:00
Jarrod Watts
a30a7afd63 chore: drop generated dist artifacts 2026-04-04 13:25:45 +11:00
github-actions[bot]
16ce438825 build: compile dist/ [auto] 2026-04-04 02:24:24 +00:00
Jarrod Watts
2d8561a84f Merge pull request #354 from zelinewang/feat/compact-model-display-name
feat: add display.modelFormat and display.modelOverride config options
2026-04-04 13:24:10 +11:00
kagura-agent
9955880815 fix: preserve taskIdToIndex map across TodoWrite operations (#345)
When TodoWrite is called, the taskIdToIndex map was cleared and
rebuilt from scratch. However, TodoItem objects only contain content
and status fields — no taskId. This meant all taskId mappings from
prior TaskCreate calls were permanently lost, causing subsequent
TaskUpdate operations to silently fail.

Fix: Before clearing the map, build a reverse lookup of content →
taskIds from the existing state. After replacing latestTodos with the
new TodoWrite items, re-register taskId mappings for items whose
content matches a previously-known task. Stale mappings (for content
no longer present) are naturally dropped.

Adds two tests:
- TaskCreate → TodoWrite → TaskUpdate flow preserves taskId
- TodoWrite-only regression test (no TaskCreate involved)
2026-04-03 17:19:49 +08:00
Zane Wang
e6ed4aa1a6 test: add render tests for modelFormat and modelOverride
Cover both rendering paths (expanded + compact) to verify that:
- modelFormat compact/short correctly strips context suffix and prefix
- modelOverride completely replaces the model name in the badge
- modelOverride takes precedence over modelFormat
- loadConfig structural test validates new display fields
2026-04-03 06:49:40 +08:00
Zane Wang
ab4c564892 feat: add display.modelOverride for custom model display names
Users can now set a fully custom model name in their config:

  { "display": { "modelOverride": "zane's intelligent opus 4.6" } }

When set, the override completely replaces the auto-detected model
name (while preserving the provider qualifier like "| Bedrock").

Follows the same pattern as customLine: string type, max 80 chars,
empty string means disabled (falls through to modelFormat).
2026-04-03 06:42:25 +08:00
Zane Wang
5676041f19 feat: add configurable modelFormat option (full/compact/short)
Redesign from mandatory stripping to user-configurable display format.
Adds display.modelFormat with three levels:

  full:    Show raw display name as-is (default, backward-compatible)
  compact: Strip redundant context-window suffix
  short:   Strip context suffix AND "Claude " prefix

Examples with Bedrock model "Opus 4.6 (1M context)":
  full:    [Opus 4.6 (1M context) | Bedrock]
  compact: [Opus 4.6 | Bedrock]
  short:   [Opus 4.6 | Bedrock]

Examples with API model "Claude Sonnet 3.5 (200k context)":
  full:    [Claude Sonnet 3.5 (200k context)]
  compact: [Claude Sonnet 3.5]
  short:   [Sonnet 3.5]
2026-04-03 06:37:26 +08:00
Zane Wang
c12e514465 feat: strip redundant context-window suffix from model display names
Claude Code may include the context window size in display_name
(e.g. "Opus 4.6 (1M context)"), but the HUD already shows context
usage via the context bar — making the parenthetical redundant.

This adds stripContextSuffix() which removes any parenthetical
containing the word "context" from the display name. It handles
common variants like "(1M context)", "(200k context)",
"(with 1M context)", and "(extended context window)" while
preserving non-context parentheticals like "(beta)" or "(preview)".

Before: [Opus 4.6 (1M context) | Bedrock]
After:  [Opus 4.6 | Bedrock]
2026-04-03 06:25:24 +08:00
xiaodream
7895941b8b fix: address code review findings for i18n
- Fix detectLanguage() to follow POSIX priority: LC_ALL > LC_MESSAGES > LANG
- Fix Chinese format.resetsIn from broken wrap-around grammar to prefix form
- Fix loadConfig() to call mergeConfig({}) when no config file exists,
  ensuring detectLanguage() runs for auto-detection
- Add setLanguage('en') guard to render.test.js for locale-independent tests
- Add dedicated i18n test suite (tests/i18n.test.js) covering t(),
  detectLanguage(), and mergeConfig language handling

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:03:53 +08:00
xiaodream
c8d9e809ed feat: add Chinese (zh) language support (#334)
Add i18n infrastructure with automatic language detection from system
locale (LANG/LC_ALL/LC_MESSAGES) and manual override via config.json.
Translates all user-facing HUD labels, status messages, and format
strings. English remains the default.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:39:45 +08:00
github-actions[bot]
30e1dfe46a build: compile dist/ [auto] 2026-03-23 04:05:49 +00:00
Jarrod Watts
7e3b1cd284 feat: configurable element colors 2026-03-23 15:05:16 +11:00
Jarrod Watts
7ea243ae88 feat: add configurable element colors 2026-03-23 15:04:40 +11:00
Jarrod Watts
557e563970 docs: collapse Windows runtime install note 2026-03-23 14:52:46 +11:00
Jarrod Watts
cb2f07c172 docs: remove stale plan label examples 2026-03-23 14:48:33 +11:00
github-actions[bot]
891cc9baee build: compile dist/ [auto] 2026-03-23 03:47:56 +00:00
Jarrod Watts
3aebe1b973 Simplify usage display to stdin only (#288)
* Simplify usage display to stdin only

* chore: bump version to 0.0.11
2026-03-23 14:47:39 +11:00
Jarrod Watts
c449c0ba29 milestone-5: prepare v0.0.10 release v0.0.10 2026-03-23 13:37:16 +11:00
Jarrod Watts
7c24dbf7d1 docs: refine v0.0.10 changelog 2026-03-23 13:36:51 +11:00
Jarrod Watts
fd9a25e35f release v0.0.10: refresh changelog and dist 2026-03-23 13:36:34 +11:00
Jarrod Watts
4482d8d51f milestone-4: clarify proxy vs custom endpoint usage 2026-03-23 13:26:36 +11:00
Jarrod Watts
738a0ce52c milestone-4: refine stdin usage fallback 2026-03-23 13:24:15 +11:00
Jarrod Watts
87cf7a020e milestone-4: prefer stdin rate limits when available 2026-03-23 13:20:24 +11:00
Jarrod Watts
23391b412d milestone-4: fix weekly-only usage rendering 2026-03-23 13:20:16 +11:00
Jarrod Watts
60cf0c65c8 prefer stdin rate limits for usage display 2026-03-23 13:19:14 +11:00
Jarrod Watts
2ac029d035 fix weekly-only usage rendering 2026-03-23 13:17:21 +11:00
Jarrod Watts
837ce37045 milestone-3: add opt-in approximate RAM line 2026-03-23 13:09:02 +11:00
Jarrod Watts
b76c7d36da clarify approximate memory hud wording 2026-03-23 13:08:02 +11:00
Jarrod Watts
aac2bcf532 milestone-3: avoid caching partial transcript parses 2026-03-23 13:04:46 +11:00
Jarrod Watts
210d274eee restack memory hud as opt-in expanded line 2026-03-23 13:03:45 +11:00
Jarrod Watts
ae24fe6ea9 milestone-3: mitigate repeated transcript reparsing 2026-03-23 13:01:10 +11:00
Jarrod Watts
c29a55e1dd mitigate transcript reparsing cost 2026-03-23 13:00:41 +11:00