hazo_chat 2.1.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +182 -67
- package/SETUP_CHECKLIST.md +773 -67
- package/dist/api/index.d.ts +17 -2
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +16 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/messages.d.ts +34 -1
- package/dist/api/messages.d.ts.map +1 -1
- package/dist/api/messages.js +340 -47
- package/dist/api/messages.js.map +1 -1
- package/dist/api/types.d.ts +50 -2
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/unread_count.d.ts +19 -10
- package/dist/api/unread_count.d.ts.map +1 -1
- package/dist/api/unread_count.js +54 -30
- package/dist/api/unread_count.js.map +1 -1
- package/dist/components/hazo_chat/hazo_chat.d.ts.map +1 -1
- package/dist/components/hazo_chat/hazo_chat.js +23 -15
- package/dist/components/hazo_chat/hazo_chat.js.map +1 -1
- package/dist/components/hazo_chat/hazo_chat_header.d.ts.map +1 -1
- package/dist/components/hazo_chat/hazo_chat_header.js +17 -4
- package/dist/components/hazo_chat/hazo_chat_header.js.map +1 -1
- package/dist/components/hazo_chat/hazo_chat_messages.d.ts +5 -4
- package/dist/components/hazo_chat/hazo_chat_messages.d.ts.map +1 -1
- package/dist/components/hazo_chat/hazo_chat_messages.js +48 -8
- package/dist/components/hazo_chat/hazo_chat_messages.js.map +1 -1
- package/dist/hooks/use_chat_messages.d.ts +5 -5
- package/dist/hooks/use_chat_messages.d.ts.map +1 -1
- package/dist/hooks/use_chat_messages.js +247 -148
- package/dist/hooks/use_chat_messages.js.map +1 -1
- package/dist/types/index.d.ts +162 -7
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hazo_chat_messages.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_chat/hazo_chat_messages.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hazo_chat_messages.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_chat/hazo_chat_messages.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAA+C,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,qBAAqB,EAAkC,MAAM,sBAAsB,CAAC;AAkElG,iBAAS,qBAAqB,CAAC,EAC7B,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAyB,EACzB,aAAyB,EACzB,SAAS,EACV,EAAE,qBAAqB,2CA2RvB;AAGD,eAAO,MAAM,gBAAgB,yDAwB3B,CAAC"}
|
|
@@ -6,21 +6,35 @@
|
|
|
6
6
|
* - Auto-scroll to new messages
|
|
7
7
|
* - Scroll to highlighted message
|
|
8
8
|
* - Empty and loading states
|
|
9
|
+
* - Memoization for performance
|
|
9
10
|
*
|
|
10
11
|
* Uses shadcn/ui ScrollArea component.
|
|
11
12
|
*/
|
|
12
13
|
'use client';
|
|
13
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
import { useRef, useEffect, useCallback } from 'react';
|
|
15
|
+
import { useRef, useEffect, useCallback, memo } from 'react';
|
|
15
16
|
import { cn } from '../../lib/utils.js';
|
|
16
17
|
import { ChatBubble } from '../ui/chat_bubble.js';
|
|
17
18
|
import { LoadingSkeleton } from '../ui/loading_skeleton.js';
|
|
18
19
|
import { ScrollArea } from '../ui/scroll-area.js';
|
|
19
20
|
import { EMPTY_CHAT_MESSAGE } from '../../lib/constants.js';
|
|
21
|
+
const MemoizedChatBubble = memo(function MemoizedChatBubble({ message, current_user_id, timezone, on_delete_message, on_reference_click, is_highlighted, show_delete_button, bubble_radius, }) {
|
|
22
|
+
const is_sender = message.sender_user_id === current_user_id;
|
|
23
|
+
return (_jsx(ChatBubble, { message: message, is_sender: is_sender, sender_profile: message.sender_profile, timezone: timezone, on_delete: is_sender ? () => on_delete_message(message.id) : undefined, on_reference_click: on_reference_click, is_highlighted: is_highlighted, show_delete_button: show_delete_button, bubble_radius: bubble_radius }));
|
|
24
|
+
}, (prevProps, nextProps) => {
|
|
25
|
+
// Only re-render if these specific props change
|
|
26
|
+
return (prevProps.message.id === nextProps.message.id &&
|
|
27
|
+
prevProps.message.read_at === nextProps.message.read_at &&
|
|
28
|
+
prevProps.message.deleted_at === nextProps.message.deleted_at &&
|
|
29
|
+
prevProps.message.send_status === nextProps.message.send_status &&
|
|
30
|
+
prevProps.is_highlighted === nextProps.is_highlighted &&
|
|
31
|
+
prevProps.show_delete_button === nextProps.show_delete_button &&
|
|
32
|
+
prevProps.bubble_radius === nextProps.bubble_radius);
|
|
33
|
+
});
|
|
20
34
|
// ============================================================================
|
|
21
35
|
// Component
|
|
22
36
|
// ============================================================================
|
|
23
|
-
|
|
37
|
+
function HazoChatMessagesInner({ messages, current_user_id, timezone, is_loading, has_more, on_load_more, on_delete_message, on_mark_as_read, on_scroll_to_message, highlighted_message_id, show_delete_button = true, bubble_radius = 'default', className }) {
|
|
24
38
|
const container_ref = useRef(null);
|
|
25
39
|
const load_more_trigger_ref = useRef(null);
|
|
26
40
|
const is_at_bottom_ref = useRef(true);
|
|
@@ -109,9 +123,9 @@ export function HazoChatMessages({ messages, current_user_id, timezone, is_loadi
|
|
|
109
123
|
console.warn('[HazoChatMessages] on_mark_as_read not provided - cannot mark messages as read');
|
|
110
124
|
return;
|
|
111
125
|
}
|
|
112
|
-
// Filter to only unread messages
|
|
113
|
-
|
|
114
|
-
|
|
126
|
+
// Filter to only unread messages not sent by current user
|
|
127
|
+
// In group chat, any message not sent by the current user can be marked as read
|
|
128
|
+
const unread_messages = messages.filter((msg) => msg.sender_user_id !== current_user_id &&
|
|
115
129
|
!msg.read_at &&
|
|
116
130
|
!marked_as_read_ref.current.has(msg.id));
|
|
117
131
|
console.log('[HazoChatMessages] Unread messages to observe:', {
|
|
@@ -207,9 +221,35 @@ export function HazoChatMessages({ messages, current_user_id, timezone, is_loadi
|
|
|
207
221
|
else {
|
|
208
222
|
message_refs.current.delete(message.id);
|
|
209
223
|
}
|
|
210
|
-
}, children: _jsx(
|
|
211
|
-
? () => on_delete_message(message.id)
|
|
212
|
-
: undefined, on_reference_click: handle_reference_click, is_highlighted: highlighted_message_id === message.id, show_delete_button: show_delete_button, bubble_radius: bubble_radius }) }, message.id)))] }) }));
|
|
224
|
+
}, children: _jsx(MemoizedChatBubble, { message: message, current_user_id: current_user_id, timezone: timezone, on_delete_message: on_delete_message, on_reference_click: handle_reference_click, is_highlighted: highlighted_message_id === message.id, show_delete_button: show_delete_button, bubble_radius: bubble_radius }) }, message.id)))] }) }));
|
|
213
225
|
}
|
|
226
|
+
// Memoized export to prevent unnecessary re-renders
|
|
227
|
+
export const HazoChatMessages = memo(HazoChatMessagesInner, (prevProps, nextProps) => {
|
|
228
|
+
// Deep comparison for messages array by checking length and IDs
|
|
229
|
+
if (prevProps.messages.length !== nextProps.messages.length)
|
|
230
|
+
return false;
|
|
231
|
+
if (prevProps.is_loading !== nextProps.is_loading)
|
|
232
|
+
return false;
|
|
233
|
+
if (prevProps.has_more !== nextProps.has_more)
|
|
234
|
+
return false;
|
|
235
|
+
if (prevProps.highlighted_message_id !== nextProps.highlighted_message_id)
|
|
236
|
+
return false;
|
|
237
|
+
if (prevProps.show_delete_button !== nextProps.show_delete_button)
|
|
238
|
+
return false;
|
|
239
|
+
if (prevProps.bubble_radius !== nextProps.bubble_radius)
|
|
240
|
+
return false;
|
|
241
|
+
// Check if any message has changed (by comparing key fields)
|
|
242
|
+
for (let i = 0; i < prevProps.messages.length; i++) {
|
|
243
|
+
const prev = prevProps.messages[i];
|
|
244
|
+
const next = nextProps.messages[i];
|
|
245
|
+
if (prev.id !== next.id ||
|
|
246
|
+
prev.read_at !== next.read_at ||
|
|
247
|
+
prev.deleted_at !== next.deleted_at ||
|
|
248
|
+
prev.send_status !== next.send_status) {
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return true;
|
|
253
|
+
});
|
|
214
254
|
HazoChatMessages.displayName = 'HazoChatMessages';
|
|
215
255
|
//# sourceMappingURL=hazo_chat_messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hazo_chat_messages.js","sourceRoot":"","sources":["../../../src/components/hazo_chat/hazo_chat_messages.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hazo_chat_messages.js","sourceRoot":"","sources":["../../../src/components/hazo_chat/hazo_chat_messages.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
* - Optimistic updates for sent messages
|
|
8
8
|
* - Soft delete functionality
|
|
9
9
|
* - Exponential backoff on errors
|
|
10
|
+
* - Abstracted transport layer for future WebSocket/SSE support
|
|
10
11
|
*
|
|
11
12
|
* Uses fetch() to call API endpoints instead of direct database access.
|
|
12
13
|
* This allows the hook to work in client components without Node.js dependencies.
|
|
13
14
|
*/
|
|
14
|
-
import type { UseChatMessagesReturn } from '../types/index.js';
|
|
15
|
-
import type { RealtimeMode } from '../types/index.js';
|
|
15
|
+
import type { UseChatMessagesReturn, RealtimeMode } from '../types/index.js';
|
|
16
16
|
export interface UseChatMessagesParams {
|
|
17
|
-
/** UUID of the chat
|
|
18
|
-
|
|
17
|
+
/** UUID of the chat group (required) */
|
|
18
|
+
chat_group_id: string;
|
|
19
19
|
/** Reference ID for chat context grouping */
|
|
20
20
|
reference_id?: string;
|
|
21
21
|
/** Reference type (default: 'chat') */
|
|
@@ -29,5 +29,5 @@ export interface UseChatMessagesParams {
|
|
|
29
29
|
/** Number of messages per page for pagination (default: 20) */
|
|
30
30
|
messages_per_page?: number;
|
|
31
31
|
}
|
|
32
|
-
export declare function useChatMessages({
|
|
32
|
+
export declare function useChatMessages({ chat_group_id, reference_id, reference_type, api_base_url, realtime_mode, polling_interval, messages_per_page, }: UseChatMessagesParams): UseChatMessagesReturn;
|
|
33
33
|
//# sourceMappingURL=use_chat_messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_chat_messages.d.ts","sourceRoot":"","sources":["../../src/hooks/use_chat_messages.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"use_chat_messages.d.ts","sourceRoot":"","sources":["../../src/hooks/use_chat_messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAKV,qBAAqB,EAErB,YAAY,EACb,MAAM,mBAAmB,CAAC;AA0B3B,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAoDD,wBAAgB,eAAe,CAAC,EAC9B,aAAa,EACb,YAAiB,EACjB,cAAuB,EACvB,YAA+B,EAC/B,aAAqC,EACrC,gBAA2C,EAC3C,iBAA6C,GAC9C,EAAE,qBAAqB,GAAG,qBAAqB,CA2pB/C"}
|