Cherry-pick "agent_ui: Fix token count not getting shown in the TextThread (#34485)" into v0.195.x (#34550)
Manual cherry-pick of #34485 into v0.195.x Release Notes: - Fix token count not getting shown in the TextThread Co-authored-by: Umesh Yadav <23421535+imumesh18@users.noreply.github.com>
This commit is contained in:
parent
fa815dbf70
commit
662a13f034
1 changed files with 27 additions and 27 deletions
|
@ -1888,16 +1888,14 @@ impl AgentPanel {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_token_count(&self, cx: &App) -> Option<AnyElement> {
|
fn render_token_count(&self, cx: &App) -> Option<AnyElement> {
|
||||||
let (active_thread, message_editor) = match &self.active_view {
|
match &self.active_view {
|
||||||
ActiveView::Thread {
|
ActiveView::Thread {
|
||||||
thread,
|
thread,
|
||||||
message_editor,
|
message_editor,
|
||||||
..
|
..
|
||||||
} => (thread.read(cx), message_editor.read(cx)),
|
} => {
|
||||||
ActiveView::TextThread { .. } | ActiveView::History | ActiveView::Configuration => {
|
let active_thread = thread.read(cx);
|
||||||
return None;
|
let message_editor = message_editor.read(cx);
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let editor_empty = message_editor.is_editor_fully_empty(cx);
|
let editor_empty = message_editor.is_editor_fully_empty(cx);
|
||||||
|
|
||||||
|
@ -1910,23 +1908,25 @@ impl AgentPanel {
|
||||||
let conversation_token_usage = thread.total_token_usage()?;
|
let conversation_token_usage = thread.total_token_usage()?;
|
||||||
|
|
||||||
let (total_token_usage, is_estimating) =
|
let (total_token_usage, is_estimating) =
|
||||||
if let Some((editing_message_id, unsent_tokens)) = active_thread.editing_message_id() {
|
if let Some((editing_message_id, unsent_tokens)) =
|
||||||
|
active_thread.editing_message_id()
|
||||||
|
{
|
||||||
let combined = thread
|
let combined = thread
|
||||||
.token_usage_up_to_message(editing_message_id)
|
.token_usage_up_to_message(editing_message_id)
|
||||||
.add(unsent_tokens);
|
.add(unsent_tokens);
|
||||||
|
|
||||||
(combined, unsent_tokens > 0)
|
(combined, unsent_tokens > 0)
|
||||||
} else {
|
} else {
|
||||||
let unsent_tokens = message_editor.last_estimated_token_count().unwrap_or(0);
|
let unsent_tokens =
|
||||||
|
message_editor.last_estimated_token_count().unwrap_or(0);
|
||||||
let combined = conversation_token_usage.add(unsent_tokens);
|
let combined = conversation_token_usage.add(unsent_tokens);
|
||||||
|
|
||||||
(combined, unsent_tokens > 0)
|
(combined, unsent_tokens > 0)
|
||||||
};
|
};
|
||||||
|
|
||||||
let is_waiting_to_update_token_count = message_editor.is_waiting_to_update_token_count();
|
let is_waiting_to_update_token_count =
|
||||||
|
message_editor.is_waiting_to_update_token_count();
|
||||||
|
|
||||||
match &self.active_view {
|
|
||||||
ActiveView::Thread { .. } => {
|
|
||||||
if total_token_usage.total == 0 {
|
if total_token_usage.total == 0 {
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue