mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-29 01:31:41 +00:00
feat(tui): append git branch to cwd label in status bar
Adds useGitBranch hook (async, cached, 15s TTL) and fmtCwdBranch helper so the footer shows `~/repo (main)` instead of just `~/repo`. Degrades silently when git is unavailable or cwd is outside a repo. Partial fix for #12267 (TUI portion; #12277 covers the Python side).
This commit is contained in:
parent
0175ff7516
commit
ff2aa7ccd7
4 changed files with 160 additions and 3 deletions
|
|
@ -5,7 +5,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
|||
import { STARTUP_RESUME_ID } from '../config/env.js'
|
||||
import { MAX_HISTORY, WHEEL_SCROLL_STEP } from '../config/limits.js'
|
||||
import { imageTokenMeta } from '../domain/messages.js'
|
||||
import { shortCwd } from '../domain/paths.js'
|
||||
import { fmtCwdBranch } from '../domain/paths.js'
|
||||
import { type GatewayClient } from '../gatewayClient.js'
|
||||
import type {
|
||||
ClarifyRespondResponse,
|
||||
|
|
@ -13,6 +13,7 @@ import type {
|
|||
GatewayEvent,
|
||||
TerminalResizeResponse
|
||||
} from '../gatewayTypes.js'
|
||||
import { useGitBranch } from '../hooks/useGitBranch.js'
|
||||
import { useVirtualHistory } from '../hooks/useVirtualHistory.js'
|
||||
import { asRpcResult, rpcErrorMessage } from '../lib/rpc.js'
|
||||
import { buildToolTrailLine, sameToolTrailGroup, toolTrailLabel } from '../lib/text.js'
|
||||
|
|
@ -620,9 +621,12 @@ export function useMainApp(gw: GatewayClient) {
|
|||
[turn, showProgressArea]
|
||||
)
|
||||
|
||||
const cwd = ui.info?.cwd || process.env.HERMES_CWD || process.cwd()
|
||||
const gitBranch = useGitBranch(cwd)
|
||||
|
||||
const appStatus = useMemo(
|
||||
() => ({
|
||||
cwdLabel: shortCwd(ui.info?.cwd || process.env.HERMES_CWD || process.cwd()),
|
||||
cwdLabel: fmtCwdBranch(cwd, gitBranch),
|
||||
goodVibesTick,
|
||||
sessionStartedAt: ui.sid ? sessionStartedAt : null,
|
||||
showStickyPrompt: !!stickyPrompt,
|
||||
|
|
@ -630,7 +634,7 @@ export function useMainApp(gw: GatewayClient) {
|
|||
stickyPrompt,
|
||||
voiceLabel: voiceRecording ? 'REC' : voiceProcessing ? 'STT' : `voice ${voiceEnabled ? 'on' : 'off'}`
|
||||
}),
|
||||
[goodVibesTick, sessionStartedAt, stickyPrompt, ui, voiceEnabled, voiceProcessing, voiceRecording]
|
||||
[cwd, gitBranch, goodVibesTick, sessionStartedAt, stickyPrompt, ui, voiceEnabled, voiceProcessing, voiceRecording]
|
||||
)
|
||||
|
||||
const appTranscript = useMemo(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue