feat(vscode-ide-companion): 改进消息排序和显示逻辑

- 添加时间戳支持,确保消息按时间顺序排列
- 更新工具调用处理逻辑,自动添加和保留时间戳
- 修改消息渲染逻辑,将所有类型的消息合并排序后统一渲染
- 优化完成的工具调用显示,修复显示顺序问题
- 调整进行中的工具调用显示,统一到消息流中展示
- 移除重复的计划展示逻辑,避免最新块重复出现
- 重构消息处理和渲染代码,提高可维护性
This commit is contained in:
yiliang114
2025-11-28 09:55:06 +08:00
parent dc340daf8b
commit 9cc48f12da
44 changed files with 2445 additions and 767 deletions

View File

@@ -46,11 +46,20 @@ export class AuthMessageHandler extends BaseMessageHandler {
private async handleLogin(): Promise<void> {
try {
console.log('[AuthMessageHandler] Login requested');
console.log(
'[AuthMessageHandler] Login handler available:',
!!this.loginHandler,
);
// Direct login without additional confirmation
if (this.loginHandler) {
console.log('[AuthMessageHandler] Calling login handler');
await this.loginHandler();
console.log(
'[AuthMessageHandler] Login handler completed successfully',
);
} else {
console.log('[AuthMessageHandler] Using fallback login method');
// Fallback: show message and use command
vscode.window.showInformationMessage(
'Please wait while we connect to Qwen Code...',
@@ -59,9 +68,15 @@ export class AuthMessageHandler extends BaseMessageHandler {
}
} catch (error) {
console.error('[AuthMessageHandler] Login failed:', error);
console.error(
'[AuthMessageHandler] Error stack:',
error instanceof Error ? error.stack : 'N/A',
);
this.sendToWebView({
type: 'loginError',
data: { message: `Login failed: ${error}` },
data: {
message: `Login failed: ${error instanceof Error ? error.message : String(error)}`,
},
});
}
}