Focus latest activity item by id

This commit is contained in:
武阳
2026-05-07 15:54:27 +08:00
parent b0ae8ad0be
commit a4a0677ce4
@@ -120,13 +120,18 @@ export function ActivityPanel() {
const visibleItems = selectedMessageId
? items.filter((item) => activityMessageId(item.id) === selectedMessageId)
: items;
const prevCountRef = useRef(0);
const prevLatestIdRef = useRef<string | null>(null);
useEffect(() => {
if (mode === "activity" && items.length > prevCountRef.current) {
openItem(items.at(-1)?.id ?? items[0]?.id ?? "");
const latestId = items.at(-1)?.id ?? null;
if (
mode === "activity" &&
latestId &&
latestId !== prevLatestIdRef.current
) {
openItem(latestId);
}
prevCountRef.current = items.length;
prevLatestIdRef.current = latestId;
}, [items, mode, openItem]);
if (!open) return null;