nicolium: experimental timeline: support streaming

Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
nicole mikołajczyk
2026-03-05 12:59:58 +01:00
parent 0d89f53a91
commit 2ec0d8bcb5
3 changed files with 44 additions and 3 deletions

View File

@ -11,6 +11,7 @@ import { updateConversations } from '@/queries/conversations/use-conversations';
import { queryKeys } from '@/queries/keys';
import { useProcessStreamNotification } from '@/queries/notifications/use-notifications';
import { useSettings } from '@/stores/settings';
import { useTimelinesStore } from '@/stores/timelines';
import { getUnreadChatsCount, updateChatListItem } from '@/utils/chats';
import { play, soundCache } from '@/utils/sounds';
@ -110,14 +111,19 @@ const useUserStream = () => {
const listener = useCallback((event: StreamingEvent) => {
switch (event.event) {
case 'update':
case 'update': {
const timelineId = getTimelineFromStream(event.stream);
dispatch(processTimelineUpdate(getTimelineFromStream(event.stream), event.payload));
importEntities({ statuses: [event.payload] });
useTimelinesStore.getState().actions.receiveStreamingStatus(timelineId, event.payload);
break;
}
case 'status.update':
importEntities({ statuses: [event.payload] });
break;
case 'delete':
dispatch(deleteFromTimelines(event.payload));
useTimelinesStore.getState().actions.deleteStatus(event.payload);
break;
case 'notification':
processStreamNotification(event.payload);