diff --git a/crates/assistant2/src/assistant.rs b/crates/assistant2/src/assistant.rs index 910eeda9e115d853cfe2a7ccaea041245050484e..871ab131e5f68600db81dbc3bee643d558b5e361 100644 --- a/crates/assistant2/src/assistant.rs +++ b/crates/assistant2/src/assistant.rs @@ -12,7 +12,7 @@ use chrono::{DateTime, Local}; use collections::HashMap; use fs::Fs; use futures::StreamExt; -use gpui::{actions, AppContext}; +use gpui::{actions, AppContext, SharedString}; use regex::Regex; use serde::{Deserialize, Serialize}; use std::{cmp::Reverse, ffi::OsStr, path::PathBuf, sync::Arc}; @@ -47,7 +47,7 @@ struct MessageMetadata { enum MessageStatus { Pending, Done, - Error(Arc), + Error(SharedString), } #[derive(Serialize, Deserialize)] diff --git a/crates/assistant2/src/assistant_panel.rs b/crates/assistant2/src/assistant_panel.rs index 359056d9d3d4826cbd9014261e0325c67069acd4..79ebb6602d77776ee30f905cacba3ce6434e9512 100644 --- a/crates/assistant2/src/assistant_panel.rs +++ b/crates/assistant2/src/assistant_panel.rs @@ -1628,8 +1628,9 @@ impl Conversation { metadata.status = MessageStatus::Done; } Err(error) => { - metadata.status = - MessageStatus::Error(error.to_string().trim().into()); + metadata.status = MessageStatus::Error(SharedString::from( + error.to_string().trim().to_string(), + )); } } cx.notify(); @@ -2273,7 +2274,7 @@ impl ConversationEditor { Some( div() .id("error") - .tooltip(move |cx| Tooltip::text(&error, cx)) + .tooltip(move |cx| Tooltip::text(error.clone(), cx)) .child(IconElement::new(Icon::XCircle)), ) } else { diff --git a/crates/collab_ui2/src/chat_panel.rs b/crates/collab_ui2/src/chat_panel.rs index e9e2610a8604355d1ea480de81eb01ad64d8471f..0f6d6c3cd1a9085d3e848b821bdf93dda6d5ba5e 100644 --- a/crates/collab_ui2/src/chat_panel.rs +++ b/crates/collab_ui2/src/chat_panel.rs @@ -1,6 +1,4 @@ -// use crate::{ -// channel_view::ChannelView, is_channels_feature_enabled, render_avatar, ChatPanelSettings, -// }; +// use crate::{channel_view::ChannelView, is_channels_feature_enabled, ChatPanelSettings}; // use anyhow::Result; // use call::ActiveCall; // use channel::{ChannelChat, ChannelChatEvent, ChannelMessageId, ChannelStore}; @@ -9,13 +7,9 @@ // use db::kvp::KEY_VALUE_STORE; // use editor::Editor; // use gpui::{ -// actions, -// elements::*, -// platform::{CursorStyle, MouseButton}, -// serde_json, -// views::{ItemType, Select, SelectStyle}, -// AnyViewHandle, AppContext, AsyncAppContext, Entity, ModelHandle, Subscription, Task, View, -// ViewContext, ViewHandle, WeakViewHandle, +// actions, div, list, px, serde_json, AnyElement, AnyView, AppContext, AsyncAppContext, Div, +// Entity, EventEmitter, FocusableView, ListOffset, ListScrollHandle, Model, Orientation, Render, +// Subscription, Task, View, ViewContext, WeakView, // }; // use language::LanguageRegistry; // use menu::Confirm; @@ -23,10 +17,10 @@ // use project::Fs; // use rich_text::RichText; // use serde::{Deserialize, Serialize}; -// use settings::SettingsStore; +// use settings::{Settings, SettingsStore}; // use std::sync::Arc; -// use theme::{IconButton, Theme}; // use time::{OffsetDateTime, UtcOffset}; +// use ui::{h_stack, v_stack, Avatar, Button, Label}; // use util::{ResultExt, TryFutureExt}; // use workspace::{ // dock::{DockPosition, Panel}, @@ -40,19 +34,18 @@ // pub struct ChatPanel { // client: Arc, -// channel_store: ModelHandle, +// channel_store: Model, // languages: Arc, -// active_chat: Option<(ModelHandle, Subscription)>, -// message_list: ListState, -// input_editor: ViewHandle, -// channel_select: ViewHandle, -// ) -> AnyElement, +// // ) -> AnyElement