fix(desktop): DeerFlow UI — ChatArea refactor + ai-elements + dead CSS cleanup
ChatArea retry button uses setInput instead of direct sendToGateway, fix bootstrap spinner stuck for non-logged-in users, remove dead CSS (aurora-title/sidebar-open/quick-action-chips), add ai components (ReasoningBlock/StreamingText/ChatMode/ModelSelector/TaskProgress), add ClassroomPlayer + ResizableChatLayout + artifact panel Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,7 +4,7 @@ use sqlx::PgPool;
|
||||
use crate::error::{SaasError, SaasResult};
|
||||
use crate::common::PaginatedResponse;
|
||||
use crate::common::normalize_pagination;
|
||||
use crate::models::{PromptTemplateRow, PromptVersionRow};
|
||||
use crate::models::{PromptTemplateRow, PromptVersionRow, PromptSyncStatusRow};
|
||||
use super::types::*;
|
||||
|
||||
/// 创建提示词模板 + 初始版本
|
||||
@@ -310,3 +310,21 @@ pub async fn check_updates(
|
||||
server_time: chrono::Utc::now().to_rfc3339(),
|
||||
})
|
||||
}
|
||||
|
||||
/// 查询设备的提示词同步状态
|
||||
pub async fn get_sync_status(
|
||||
db: &PgPool,
|
||||
device_id: &str,
|
||||
) -> SaasResult<Vec<PromptSyncStatusRow>> {
|
||||
let rows = sqlx::query_as::<_, PromptSyncStatusRow>(
|
||||
"SELECT device_id, template_id, synced_version, synced_at \
|
||||
FROM prompt_sync_status \
|
||||
WHERE device_id = $1 \
|
||||
ORDER BY synced_at DESC \
|
||||
LIMIT 50"
|
||||
)
|
||||
.bind(device_id)
|
||||
.fetch_all(db)
|
||||
.await?;
|
||||
Ok(rows)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user