Improve TUI timestamp consistency and formatting
This commit is contained in:
@@ -78,10 +78,19 @@ export function App({
|
||||
onTransfer,
|
||||
onExit,
|
||||
}: AppProps): React.ReactElement {
|
||||
const ensureTimestamp = useCallback((message: Message): Message => ({
|
||||
...message,
|
||||
timestamp: message.timestamp ?? Date.now(),
|
||||
}), []);
|
||||
|
||||
const ensureTimestamps = useCallback((history: Message[]): Message[] => (
|
||||
history.map(ensureTimestamp)
|
||||
), [ensureTimestamp]);
|
||||
|
||||
const ctrlCExitWindowMs = 1_500;
|
||||
const { exit } = useApp();
|
||||
const [input, setInput] = useState('');
|
||||
const [messages, setMessages] = useState<Message[]>(session.getHistory());
|
||||
const [messages, setMessages] = useState<Message[]>(ensureTimestamps(session.getHistory()));
|
||||
const [isStreaming, setIsStreaming] = useState(false);
|
||||
const [streamingContent, setStreamingContent] = useState('');
|
||||
const [scrollOffset, setScrollOffset] = useState(0);
|
||||
@@ -682,7 +691,7 @@ export function App({
|
||||
const messageWithTimestamp = session.addMessage(userMessage);
|
||||
setMessages(prev => [...prev, messageWithTimestamp]);
|
||||
} else {
|
||||
setMessages(prev => [...prev, { ...userMessage, timestamp: Date.now() }]);
|
||||
setMessages(prev => [...prev, ensureTimestamp(userMessage)]);
|
||||
}
|
||||
setScrollOffset(0);
|
||||
|
||||
@@ -696,7 +705,7 @@ export function App({
|
||||
await agent.process(command.content);
|
||||
const usage = agent.getUsage();
|
||||
setTokenUsage({ inputTokens: usage.inputTokens, outputTokens: usage.outputTokens });
|
||||
setMessages(session.getHistory());
|
||||
setMessages(ensureTimestamps(session.getHistory()));
|
||||
} else if (modelClient.chatStream) {
|
||||
let fullContent = '';
|
||||
|
||||
@@ -757,6 +766,8 @@ export function App({
|
||||
exit,
|
||||
onExit,
|
||||
isStreaming,
|
||||
ensureTimestamp,
|
||||
ensureTimestamps,
|
||||
messages.length,
|
||||
tokenUsage.inputTokens,
|
||||
tokenUsage.outputTokens,
|
||||
|
||||
Reference in New Issue
Block a user