auto-sync: 2026-05-22 13:08:09
This commit is contained in:
@@ -98,15 +98,25 @@ status="pending",
|
||||
|
||||
**注意**:inform 类型邮件的 Agent spawn prompt 需要引导 Agent 快速确认(不需要复杂执行),在 spawner 的 spawn message 中根据 task_type 区分。
|
||||
|
||||
### P1-1:Tab badge 改用实际未处理邮件数
|
||||
### P1-1:Tab badge + mailUnread 计算逻辑修正
|
||||
|
||||
**问题**:Tab badge 用 `sseEvents`,不是 mail API 的实际未读数。
|
||||
**问题**:
|
||||
- Tab badge 用 `sseEvents`,不是 mail API 的实际未读数
|
||||
- `store.ts` 的 `mailUnread` 按 `!m.is_read` 计算,但废弃 is_read 后语义不对
|
||||
- failed 的邮件 is_read 仍为 false,会被误计为 unread
|
||||
|
||||
**修复**:改用 `useStore.getState().mailUnread`(loadMails 已算出)。
|
||||
**修复**:
|
||||
|
||||
**文件**:`src/frontend/src/App.tsx`
|
||||
**文件 1**:`src/frontend/src/store.ts`(mailUnread 计算逻辑)
|
||||
```typescript
|
||||
// 之前:
|
||||
mailUnread: mails.filter(m => !m.is_read).length,
|
||||
|
||||
**改动**:
|
||||
// 之后:按 status 计算,unread = 需要处理的邮件数
|
||||
mailUnread: mails.filter(m => !['done', 'failed', 'cancelled'].includes(m.status)).length,
|
||||
```
|
||||
|
||||
**文件 2**:`src/frontend/src/App.tsx`(Tab badge 取值)
|
||||
```typescript
|
||||
// 之前:
|
||||
const unread = ((useStore.getState().sseEvents || []) as any[])
|
||||
@@ -116,7 +126,7 @@ const unread = ((useStore.getState().sseEvents || []) as any[])
|
||||
const unread = useStore.getState().mailUnread || 0;
|
||||
```
|
||||
|
||||
**预估**:1 行
|
||||
**预估**:2 行
|
||||
|
||||
### P1-2:废弃 is_read / mark_executed,统一用 done
|
||||
|
||||
|
||||
Reference in New Issue
Block a user