Skip to content

Commit 7408481

Browse files
MrOrzclaude
andcommitted
fix(sidebar): treat missing lastEventTime as 0 for sort and unread
Old sessions without lastEventTime no longer appear as unread or float to the top. Display label still uses lastUpdateTime as fallback. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 9465501 commit 7408481

1 file changed

Lines changed: 5 additions & 8 deletions

File tree

src/components/Sidebar.tsx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,15 @@ function SessionItem({ session, isActive, onClose }: SessionItemProps) {
2222
const [editTitle, setEditTitle] = useState('')
2323

2424
const title = session.name
25-
const lastActivityTime = session.lastEventTime ?? session.lastUpdateTime
25+
const lastActivityTime = session.lastEventTime ?? 0
2626
const hasNew =
2727
!isActive &&
2828
lastActivityTime > 0 &&
2929
lastActivityTime > (session.lastOpenedAt ?? 0)
3030

31-
const lastActiveLabel = lastActivityTime
32-
? new Date(lastActivityTime * 1000).toLocaleDateString('zh-TW', {
31+
const lastDisplayTime = session.lastEventTime ?? session.lastUpdateTime
32+
const lastActiveLabel = lastDisplayTime
33+
? new Date(lastDisplayTime * 1000).toLocaleDateString('zh-TW', {
3334
month: 'short',
3435
day: 'numeric',
3536
})
@@ -141,11 +142,7 @@ export function Sidebar({ isOpen, onClose }: SidebarProps) {
141142
const { data: rawSessions, isLoading } = useSessions()
142143
const sessions = rawSessions
143144
?.slice()
144-
.sort(
145-
(a, b) =>
146-
(b.lastEventTime ?? b.lastUpdateTime) -
147-
(a.lastEventTime ?? a.lastUpdateTime),
148-
)
145+
.sort((a, b) => (b.lastEventTime ?? 0) - (a.lastEventTime ?? 0))
149146

150147
return (
151148
<>

0 commit comments

Comments
 (0)