优化上下文事件更新的处理逻辑
This commit is contained in:
@@ -65,8 +65,12 @@ export function StatusBarTokens() {
|
||||
getConnSnapshot
|
||||
)
|
||||
|
||||
const liveContextUsed = activeConn?.usage?.used ?? null
|
||||
const liveContextMax = activeConn?.usage?.size ?? null
|
||||
const rawLiveUsed = activeConn?.usage?.used ?? null
|
||||
const rawLiveSize = activeConn?.usage?.size ?? null
|
||||
// Treat live used=0 as "no data" so we fall back to sessionStats —
|
||||
// Claude Code sends used=0 for synthetic local commands (/context etc.)
|
||||
const liveContextUsed = rawLiveUsed != null && rawLiveUsed > 0 ? rawLiveUsed : null
|
||||
const liveContextMax = rawLiveSize != null && rawLiveSize > 0 ? rawLiveSize : null
|
||||
|
||||
const contextUsed =
|
||||
liveContextUsed ?? sessionStats?.context_window_used_tokens ?? null
|
||||
|
||||
@@ -975,6 +975,12 @@ function connectionsReducer(
|
||||
case "USAGE_UPDATE": {
|
||||
const conn = state.get(action.contextKey)
|
||||
if (!conn) return state
|
||||
// Ignore usage updates that reset used to 0 when we already have
|
||||
// valid data — these come from synthetic responses for local commands
|
||||
// like /context and would overwrite the real context window usage.
|
||||
if (action.usage.used === 0 && conn.usage && conn.usage.used > 0) {
|
||||
return state
|
||||
}
|
||||
if (
|
||||
conn.usage?.used === action.usage.used &&
|
||||
conn.usage?.size === action.usage.size
|
||||
|
||||
Reference in New Issue
Block a user