@cellarnode/ui 0.172.0 → 0.173.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/dist/chat/chat-api.d.ts.map +1 -1
- package/dist/chat/chat-api.js +12 -2
- package/dist/chat/chat-api.js.map +1 -1
- package/dist/chat/chat-composer.d.ts +67 -0
- package/dist/chat/chat-composer.d.ts.map +1 -0
- package/dist/chat/chat-composer.js +482 -0
- package/dist/chat/chat-composer.js.map +1 -0
- package/dist/chat/chat-labels.d.ts +5 -0
- package/dist/chat/chat-labels.d.ts.map +1 -0
- package/dist/chat/chat-labels.js +8 -0
- package/dist/chat/chat-labels.js.map +1 -0
- package/dist/chat/chat-surface.d.ts +127 -26
- package/dist/chat/chat-surface.d.ts.map +1 -1
- package/dist/chat/chat-surface.js +103 -45
- package/dist/chat/chat-surface.js.map +1 -1
- package/dist/chat/index.d.ts +2 -2
- package/dist/chat/index.d.ts.map +1 -1
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/messenger-screen/index.d.ts +1 -1
- package/dist/chat/messenger-screen/index.d.ts.map +1 -1
- package/dist/chat/messenger-screen/message-adapters.d.ts +4 -2
- package/dist/chat/messenger-screen/message-adapters.d.ts.map +1 -1
- package/dist/chat/messenger-screen/message-adapters.js +52 -6
- package/dist/chat/messenger-screen/message-adapters.js.map +1 -1
- package/dist/chat/messenger-screen/messenger-screen.d.ts.map +1 -1
- package/dist/chat/messenger-screen/messenger-screen.js +2 -2
- package/dist/chat/messenger-screen/messenger-screen.js.map +1 -1
- package/dist/chat/messenger-screen/room-panel.d.ts +9 -1
- package/dist/chat/messenger-screen/room-panel.d.ts.map +1 -1
- package/dist/chat/messenger-screen/room-panel.js +114 -19
- package/dist/chat/messenger-screen/room-panel.js.map +1 -1
- package/dist/chat/messenger-screen/types.d.ts +49 -2
- package/dist/chat/messenger-screen/types.d.ts.map +1 -1
- package/dist/chat/types.d.ts +33 -5
- package/dist/chat/types.d.ts.map +1 -1
- package/dist/chat-ably/use-chat-messages.d.ts +33 -6
- package/dist/chat-ably/use-chat-messages.d.ts.map +1 -1
- package/dist/chat-ably/use-chat-messages.js +116 -17
- package/dist/chat-ably/use-chat-messages.js.map +1 -1
- package/dist/components/importer-picker-modal.d.ts +5 -0
- package/dist/components/importer-picker-modal.d.ts.map +1 -1
- package/dist/components/importer-picker-modal.js +3 -2
- package/dist/components/importer-picker-modal.js.map +1 -1
- package/dist/product-editor/index.d.ts +2 -0
- package/dist/product-editor/index.d.ts.map +1 -1
- package/dist/product-editor/index.js +1 -0
- package/dist/product-editor/index.js.map +1 -1
- package/dist/product-editor/product-readiness-approval-dialog.d.ts +23 -0
- package/dist/product-editor/product-readiness-approval-dialog.d.ts.map +1 -0
- package/dist/product-editor/product-readiness-approval-dialog.js +101 -0
- package/dist/product-editor/product-readiness-approval-dialog.js.map +1 -0
- package/dist/product-editor/tabs/product-status-tab.d.ts +2 -3
- package/dist/product-editor/tabs/product-status-tab.d.ts.map +1 -1
- package/dist/product-editor/tabs/product-status-tab.js +34 -40
- package/dist/product-editor/tabs/product-status-tab.js.map +1 -1
- package/dist/realtime/journey-offers/schemas.d.ts +21 -6
- package/dist/realtime/journey-offers/schemas.d.ts.map +1 -1
- package/dist/realtime/journey-offers/schemas.js +16 -10
- package/dist/realtime/journey-offers/schemas.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,6 +5,7 @@ import type { SendMessageRest, HistoryFetch } from "../../chat-ably/use-chat-mes
|
|
|
5
5
|
import type { ConnectionBannerAriaLabels } from "../connection-banner.js";
|
|
6
6
|
import type { MessengerEmptyStateLabels } from "../messenger-empty-state.js";
|
|
7
7
|
import type { PresenceStatus, TranslationFn } from "../types.js";
|
|
8
|
+
import type { ChatAttachmentLabels, ChatAttachmentUploadAdapter, ChatSurfaceAttachment } from "../chat-surface.js";
|
|
8
9
|
/**
|
|
9
10
|
* One chat-room roster row, normalized across both dashboards. This is
|
|
10
11
|
* the union of producer-dashboard's `ChatRoomRow` and
|
|
@@ -59,6 +60,23 @@ export type MessengerMarkRoomRead = (roomId: string) => Promise<void>;
|
|
|
59
60
|
* pre-CEL-919 behavior).
|
|
60
61
|
*/
|
|
61
62
|
export type MessengerOrgMemberSource = () => Promise<MessengerOrgMember[]>;
|
|
63
|
+
/** Offer attachment row projected into chat by its canonical message UUID. */
|
|
64
|
+
export interface MessengerChatAttachment extends ChatSurfaceAttachment {
|
|
65
|
+
source: string;
|
|
66
|
+
linkedMessageId: string | null;
|
|
67
|
+
}
|
|
68
|
+
/** Fetch the selected offer's current attachment rows. */
|
|
69
|
+
export type MessengerAttachmentSource = (offerId: string) => Promise<readonly MessengerChatAttachment[]>;
|
|
70
|
+
export interface MessengerAttachmentContext {
|
|
71
|
+
roomId: string;
|
|
72
|
+
offerId: string;
|
|
73
|
+
}
|
|
74
|
+
/** Resolve an offer-scoped uploader for the selected room. */
|
|
75
|
+
export type MessengerAttachmentUploadAdapterFactory = (context: MessengerAttachmentContext) => ChatAttachmentUploadAdapter | undefined;
|
|
76
|
+
/** Subscribe to validated `attachment_changed` events for the selected offer. */
|
|
77
|
+
export type MessengerAttachmentChangeSubscription = (context: MessengerAttachmentContext, onAttachmentChanged: (event: {
|
|
78
|
+
attachmentId: string;
|
|
79
|
+
}) => void) => void | (() => void);
|
|
62
80
|
/** Visible + sr-only copy overrides for the connection banner block. */
|
|
63
81
|
export interface MessengerConnectionLabels {
|
|
64
82
|
reconnecting?: string;
|
|
@@ -88,6 +106,16 @@ export interface MessengerScreenLabels {
|
|
|
88
106
|
* Defaults to `"Live updates paused. Messages still send."`.
|
|
89
107
|
*/
|
|
90
108
|
liveUpdatesPaused?: string;
|
|
109
|
+
reply?: string;
|
|
110
|
+
replyAriaLabel?: string;
|
|
111
|
+
replyingTo?: string;
|
|
112
|
+
cancelReply?: string;
|
|
113
|
+
attach?: string;
|
|
114
|
+
openAttachment?: string;
|
|
115
|
+
unknownAuthor?: string;
|
|
116
|
+
messageUnavailable?: string;
|
|
117
|
+
replyTargetMissing?: string;
|
|
118
|
+
attachment?: Partial<ChatAttachmentLabels>;
|
|
91
119
|
};
|
|
92
120
|
readOnly?: {
|
|
93
121
|
roomClosed?: string;
|
|
@@ -121,8 +149,15 @@ export interface MessengerScreenLabels {
|
|
|
121
149
|
*/
|
|
122
150
|
export interface MessengerLiveState {
|
|
123
151
|
messages: ChatMessageItem[];
|
|
124
|
-
sendMessage: (text: string, metadata?: Record<string, string | number | boolean | null> | null
|
|
125
|
-
|
|
152
|
+
sendMessage: (text: string, metadata?: Record<string, string | number | boolean | null> | null, options?: {
|
|
153
|
+
replyToMessageId?: string;
|
|
154
|
+
v2MessageId?: string;
|
|
155
|
+
}) => Promise<void | {
|
|
156
|
+
messageId: string;
|
|
157
|
+
}>;
|
|
158
|
+
retryMessage: (v2MessageId: string) => Promise<void | {
|
|
159
|
+
messageId: string;
|
|
160
|
+
}>;
|
|
126
161
|
loadMore: () => Promise<void>;
|
|
127
162
|
hasMore: boolean;
|
|
128
163
|
isLoadingHistory: boolean;
|
|
@@ -152,6 +187,16 @@ export interface MessengerScreenProps {
|
|
|
152
187
|
historyFetch: HistoryFetch;
|
|
153
188
|
/** Org-members fetch powering teammate attribution. Optional. */
|
|
154
189
|
orgMemberSource?: MessengerOrgMemberSource;
|
|
190
|
+
/** Offer-scoped attachment projection. Only `source === "chat"` rows render in messages. */
|
|
191
|
+
attachmentSource?: MessengerAttachmentSource;
|
|
192
|
+
/** Offer-scoped upload/link adapter. Omit to keep the composer text-only. */
|
|
193
|
+
getAttachmentUploadAdapter?: MessengerAttachmentUploadAdapterFactory;
|
|
194
|
+
/** Active-room subscription seam for composite `attachment_changed` offer events. */
|
|
195
|
+
subscribeToAttachmentChanges?: MessengerAttachmentChangeSubscription;
|
|
196
|
+
/** Open a delivered attachment through the consumer's signed-download flow. */
|
|
197
|
+
onOpenAttachment?: (attachment: ChatSurfaceAttachment, context: MessengerAttachmentContext) => void | Promise<void>;
|
|
198
|
+
/** Localized bounded content for a file-only message. Receives file count. */
|
|
199
|
+
formatAttachmentOnlyContent?: (fileCount: number) => string;
|
|
155
200
|
/** V2 userId — equals the Ably clientId. */
|
|
156
201
|
currentUserId: string;
|
|
157
202
|
/** Display name forwarded to `<ChatRoom>` + used on own bubbles. */
|
|
@@ -215,6 +260,8 @@ export interface MessengerScreenProps {
|
|
|
215
260
|
* their caches coherent.
|
|
216
261
|
*/
|
|
217
262
|
roomsQueryKey?: readonly unknown[];
|
|
263
|
+
/** Defaults to `["offer-attachments", offerId]`. */
|
|
264
|
+
attachmentsQueryKey?: (offerId: string) => readonly unknown[];
|
|
218
265
|
/**
|
|
219
266
|
* Fired after each mark-read persist settles. The composite already
|
|
220
267
|
* invalidates the rooms query; consumers use this to invalidate
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/chat/messenger-screen/types.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/chat/messenger-screen/types.ts"],"names":[],"mappings":"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"}
|
package/dist/chat/types.d.ts
CHANGED
|
@@ -13,17 +13,45 @@ export interface ChatRoom {
|
|
|
13
13
|
lastMessageAt?: string | null;
|
|
14
14
|
createdAt: string;
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* CEL-1990 — an immutable snapshot of the message being replied to, taken by
|
|
18
|
+
* the backend at SEND time (migration 0177) rather than joined at read time.
|
|
19
|
+
* The quote therefore keeps rendering after the parent is soft-deleted: the
|
|
20
|
+
* content was already seen by everyone in the room, and losing the quote would
|
|
21
|
+
* silently change what a reply appears to be answering. Product-accepted.
|
|
22
|
+
*/
|
|
23
|
+
export interface ChatReplySnapshot {
|
|
24
|
+
messageId: string;
|
|
25
|
+
/** Whitespace-collapsed, capped at 140 chars by the server. */
|
|
26
|
+
preview: string | null;
|
|
27
|
+
senderUserId: string | null;
|
|
28
|
+
/** Nullable: `reply_sender_org_id` is a nullable column (migration 0177). */
|
|
29
|
+
senderOrgId: string | null;
|
|
30
|
+
}
|
|
16
31
|
export interface ChatMessage {
|
|
17
32
|
id: string;
|
|
18
33
|
roomId: string;
|
|
19
|
-
|
|
34
|
+
/** Null for system-authored rows. */
|
|
35
|
+
senderOrgId: string | null;
|
|
20
36
|
senderUserId?: string | null;
|
|
21
37
|
content: string;
|
|
22
|
-
messageType: "text" | "system";
|
|
38
|
+
messageType: "text" | "system" | "file";
|
|
23
39
|
metadata?: (Record<string, unknown> & {
|
|
24
40
|
clientMessageId?: string;
|
|
25
41
|
}) | null;
|
|
26
42
|
createdAt: string;
|
|
43
|
+
/** Present only on replies. Absent/null on ordinary messages. */
|
|
44
|
+
replyTo?: ChatReplySnapshot | null;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Extra, optional send parameters. An options bag rather than a fifth
|
|
48
|
+
* positional: `sendMessage` already takes four, this is a published package
|
|
49
|
+
* with live consumers, and the next addition would otherwise need a sixth.
|
|
50
|
+
*/
|
|
51
|
+
export interface ChatSendOptions {
|
|
52
|
+
/** Parent message id. Must be a live message in the SAME room — the server
|
|
53
|
+
* answers 422 REPLY_PARENT_INVALID otherwise. */
|
|
54
|
+
replyToMessageId?: string;
|
|
27
55
|
}
|
|
28
56
|
export interface CursorPaginatedResponse<T> {
|
|
29
57
|
data: T[];
|
|
@@ -56,13 +84,13 @@ export type ConversationEvent = {
|
|
|
56
84
|
id: string;
|
|
57
85
|
kind: "chat";
|
|
58
86
|
timestamp: string;
|
|
59
|
-
senderOrgId: string;
|
|
87
|
+
senderOrgId: string | null;
|
|
60
88
|
message: ChatMessage;
|
|
61
89
|
} | {
|
|
62
90
|
id: string;
|
|
63
91
|
kind: "system";
|
|
64
92
|
timestamp: string;
|
|
65
|
-
senderOrgId: string;
|
|
93
|
+
senderOrgId: string | null;
|
|
66
94
|
message: ChatMessage;
|
|
67
95
|
} | {
|
|
68
96
|
id: string;
|
|
@@ -75,7 +103,7 @@ export type ConversationEvent = {
|
|
|
75
103
|
export type TranslationFn = (key: string, fallback: string, options?: Record<string, unknown>) => string;
|
|
76
104
|
export interface ChatApiClient {
|
|
77
105
|
getMessages(roomId: string, cursor?: string): Promise<CursorPaginatedResponse<ChatMessage>>;
|
|
78
|
-
sendMessage(roomId: string, content: string, messageType?: "text" | "system", metadata?: Record<string, unknown
|
|
106
|
+
sendMessage(roomId: string, content: string, messageType?: "text" | "system" | "file", metadata?: Record<string, unknown>, options?: ChatSendOptions): Promise<ChatMessage>;
|
|
79
107
|
markRead(roomId: string, messageId: string): Promise<void>;
|
|
80
108
|
markReadBulk(roomId: string): Promise<{
|
|
81
109
|
markedRead: number;
|
package/dist/chat/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chat/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chat/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,19 @@ import * as React from "react";
|
|
|
9
9
|
* compile-time check is sufficient); callers are trusted to map the V2
|
|
10
10
|
* response correctly.
|
|
11
11
|
*/
|
|
12
|
+
/**
|
|
13
|
+
* CEL-1990 — send-time snapshot of the message a reply answers. Declared
|
|
14
|
+
* here rather than imported from `../chat/types`: `chat-ably` is its own
|
|
15
|
+
* entrypoint and does not depend on `chat`, the same reason
|
|
16
|
+
* `ServerChatMessage` is local. Both mirror migration 0177's columns.
|
|
17
|
+
*/
|
|
18
|
+
export interface ReplySnapshot {
|
|
19
|
+
messageId: string;
|
|
20
|
+
/** Whitespace-collapsed, 140 chars. Server-authoritative once delivered. */
|
|
21
|
+
preview: string | null;
|
|
22
|
+
senderUserId: string | null;
|
|
23
|
+
senderOrgId: string | null;
|
|
24
|
+
}
|
|
12
25
|
export interface ServerChatMessage {
|
|
13
26
|
/** V2 `chat_messages.id` UUID. Same value as `v2MessageId`. */
|
|
14
27
|
id: string;
|
|
@@ -26,6 +39,8 @@ export interface ServerChatMessage {
|
|
|
26
39
|
createdAt: string;
|
|
27
40
|
updatedAt: string;
|
|
28
41
|
deletedAt: string | null;
|
|
42
|
+
/** Present only on replies (CEL-1990). */
|
|
43
|
+
replyTo?: ReplySnapshot | null;
|
|
29
44
|
}
|
|
30
45
|
/**
|
|
31
46
|
* Consumer-provided REST send callback. Lib generates the `v2MessageId`
|
|
@@ -41,6 +56,8 @@ export type SendMessageRest = (input: {
|
|
|
41
56
|
content: string;
|
|
42
57
|
v2MessageId: string;
|
|
43
58
|
metadata?: Record<string, string | number | boolean | null> | null;
|
|
59
|
+
/** CEL-1990 — parent message id; the server takes the snapshot. */
|
|
60
|
+
replyToMessageId?: string;
|
|
44
61
|
}) => Promise<ServerChatMessage>;
|
|
45
62
|
/**
|
|
46
63
|
* Consumer-provided history fetch callback. Cursor-paginated (matches V2's
|
|
@@ -83,6 +100,8 @@ export interface OptimisticChatMessage {
|
|
|
83
100
|
serial: null;
|
|
84
101
|
/** Populated on REST failure. */
|
|
85
102
|
error?: Error;
|
|
103
|
+
/** CEL-1990 — the quote this message answers, else null. */
|
|
104
|
+
replyTo?: ReplySnapshot | null;
|
|
86
105
|
}
|
|
87
106
|
/**
|
|
88
107
|
* Delivered message — either history-fetched, REST-200-reconciled, or
|
|
@@ -108,6 +127,8 @@ export interface DeliveredChatMessage {
|
|
|
108
127
|
messageType: "text" | "system" | "file";
|
|
109
128
|
/** Soft-delete marker from the DB. Lib does not filter; consumers decide rendering. */
|
|
110
129
|
deletedAt: string | null;
|
|
130
|
+
/** CEL-1990 — the quote this message answers, else null. */
|
|
131
|
+
replyTo?: ReplySnapshot | null;
|
|
111
132
|
}
|
|
112
133
|
export type ChatMessageItem = OptimisticChatMessage | DeliveredChatMessage;
|
|
113
134
|
/**
|
|
@@ -125,23 +146,29 @@ export interface UseChatMessagesResponse {
|
|
|
125
146
|
messages: ChatMessageItem[];
|
|
126
147
|
/**
|
|
127
148
|
* Send a message. Generates a `v2MessageId`, inserts an optimistic row,
|
|
128
|
-
* fires `sendMessageRest`. Resolves
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
* `messages` to render send/delivered/failed states.
|
|
149
|
+
* fires `sendMessageRest`. Resolves with the canonical database message
|
|
150
|
+
* UUID after REST succeeds. REST failures still mark the optimistic row as
|
|
151
|
+
* failed, then reject so composers can preserve drafts and pending files.
|
|
132
152
|
*
|
|
133
153
|
* If no `sendMessageRest` is provided on `<ChatRoom>` (read-only
|
|
134
154
|
* consumer like admin v2 chat monitoring), this throws synchronously
|
|
135
155
|
* with a clear error message so misuse is loud.
|
|
136
156
|
*/
|
|
137
|
-
sendMessage: (text: string, metadata?: Record<string, string | number | boolean | null> | null
|
|
157
|
+
sendMessage: (text: string, metadata?: Record<string, string | number | boolean | null> | null, options?: {
|
|
158
|
+
replyToMessageId?: string;
|
|
159
|
+
v2MessageId?: string;
|
|
160
|
+
}) => Promise<{
|
|
161
|
+
messageId: string;
|
|
162
|
+
}>;
|
|
138
163
|
/**
|
|
139
164
|
* Re-fire `sendMessageRest` for an optimistic row whose previous send
|
|
140
165
|
* rejected. Identified by `v2MessageId`. Reset the row's status to
|
|
141
166
|
* `"sending"` and clears the previous `error`. No-op if the row no
|
|
142
167
|
* longer exists or is not in `"failed"` state.
|
|
143
168
|
*/
|
|
144
|
-
retryMessage: (v2MessageId: string) => Promise<
|
|
169
|
+
retryMessage: (v2MessageId: string) => Promise<{
|
|
170
|
+
messageId: string;
|
|
171
|
+
} | void>;
|
|
145
172
|
/**
|
|
146
173
|
* Fetch the next older page via `historyFetch`. No-op when `hasMore` is
|
|
147
174
|
* false, or when no `historyFetch` is provided. Sets `isLoadingMore`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-chat-messages.d.ts","sourceRoot":"","sources":["../../src/chat-ably/use-chat-messages.tsx"],"names":[],"mappings":"AAgDA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qCAAqC;IACrC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxC,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"use-chat-messages.d.ts","sourceRoot":"","sources":["../../src/chat-ably/use-chat-messages.tsx"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
49
49
|
import * as React from "react";
|
|
50
50
|
import { useMessages, useRoom } from "@ably/chat/react";
|
|
51
51
|
import { ChatMessageEventType } from "@ably/chat";
|
|
52
|
+
/** Mirror of the server's preview rule, for the optimistic row only. */
|
|
53
|
+
function replyPreview(text) {
|
|
54
|
+
const preview = text.replace(/\s+/g, " ").trim().slice(0, 140);
|
|
55
|
+
return preview || null;
|
|
56
|
+
}
|
|
52
57
|
const ChatRestCallbacksContext = React.createContext({});
|
|
53
58
|
/**
|
|
54
59
|
* Internal API — `<ChatRoom>` calls this to thread REST callbacks down to
|
|
@@ -86,6 +91,46 @@ function readEnvelopeKeys(event) {
|
|
|
86
91
|
const messageType = meta.v2_message_type === "system" ? "system" : "text";
|
|
87
92
|
return { v2MessageId, v2CreatedAt, messageType };
|
|
88
93
|
}
|
|
94
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
95
|
+
/**
|
|
96
|
+
* The Ably Chat SDK retains message metadata but drops unknown top-level
|
|
97
|
+
* payload fields. CEL-1990 therefore mirrors the server-owned reply snapshot
|
|
98
|
+
* under `metadata.v2_reply_to`. Keep absence distinct from canonical null:
|
|
99
|
+
* legacy events must not erase a snapshot already learned through REST.
|
|
100
|
+
*/
|
|
101
|
+
function readRealtimeReplySnapshot(metadata) {
|
|
102
|
+
if (!metadata || typeof metadata !== "object" || Array.isArray(metadata)) {
|
|
103
|
+
return { present: false };
|
|
104
|
+
}
|
|
105
|
+
const record = metadata;
|
|
106
|
+
if (!Object.prototype.hasOwnProperty.call(record, "v2_reply_to")) {
|
|
107
|
+
return { present: false };
|
|
108
|
+
}
|
|
109
|
+
const raw = record.v2_reply_to;
|
|
110
|
+
if (raw === null)
|
|
111
|
+
return { present: true, value: null };
|
|
112
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
|
|
113
|
+
return { present: false };
|
|
114
|
+
}
|
|
115
|
+
const snapshot = raw;
|
|
116
|
+
const nullableString = (value) => value === null || typeof value === "string";
|
|
117
|
+
if (typeof snapshot.messageId !== "string" ||
|
|
118
|
+
!UUID_PATTERN.test(snapshot.messageId) ||
|
|
119
|
+
!nullableString(snapshot.preview) ||
|
|
120
|
+
!nullableString(snapshot.senderUserId) ||
|
|
121
|
+
!nullableString(snapshot.senderOrgId)) {
|
|
122
|
+
return { present: false };
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
present: true,
|
|
126
|
+
value: {
|
|
127
|
+
messageId: snapshot.messageId,
|
|
128
|
+
preview: snapshot.preview,
|
|
129
|
+
senderUserId: snapshot.senderUserId,
|
|
130
|
+
senderOrgId: snapshot.senderOrgId,
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
}
|
|
89
134
|
/**
|
|
90
135
|
* Sort comparator. Primary key `v2CreatedAt`, tie-breaker `v2MessageId`
|
|
91
136
|
* lexicographic. UUID v4 strings sort deterministically.
|
|
@@ -114,6 +159,7 @@ function toDelivered(row) {
|
|
|
114
159
|
serial: null,
|
|
115
160
|
messageType: row.messageType,
|
|
116
161
|
deletedAt: row.deletedAt,
|
|
162
|
+
replyTo: row.replyTo ?? null,
|
|
117
163
|
};
|
|
118
164
|
}
|
|
119
165
|
// ────────────────────────────────────────────────────────────────────────────
|
|
@@ -258,6 +304,7 @@ export function useChatMessages() {
|
|
|
258
304
|
const handler = React.useCallback((event) => {
|
|
259
305
|
setMessages((prev) => {
|
|
260
306
|
const { v2MessageId, v2CreatedAt, messageType } = readEnvelopeKeys(event);
|
|
307
|
+
const realtimeReply = readRealtimeReplySnapshot(event.message.metadata);
|
|
261
308
|
// Identity preference: v2MessageId (Option A canonical key). Fall
|
|
262
309
|
// back to serial-match for legacy messages that predate CEL-303.
|
|
263
310
|
const identityKey = v2MessageId ?? event.message.serial;
|
|
@@ -279,6 +326,9 @@ export function useChatMessages() {
|
|
|
279
326
|
serial: event.message.serial,
|
|
280
327
|
messageType,
|
|
281
328
|
deletedAt: null,
|
|
329
|
+
replyTo: realtimeReply.present
|
|
330
|
+
? realtimeReply.value
|
|
331
|
+
: (next[existingIndex]?.replyTo ?? null),
|
|
282
332
|
};
|
|
283
333
|
if (existingIndex === -1) {
|
|
284
334
|
next.push(delivered);
|
|
@@ -311,6 +361,7 @@ export function useChatMessages() {
|
|
|
311
361
|
? event.message.timestamp.toISOString()
|
|
312
362
|
: new Date().toISOString()
|
|
313
363
|
: (cur.deletedAt ?? null),
|
|
364
|
+
replyTo: realtimeReply.present ? realtimeReply.value : (cur.replyTo ?? null),
|
|
314
365
|
};
|
|
315
366
|
}
|
|
316
367
|
// Out-of-order updates without a matching create: ignore. Under
|
|
@@ -354,7 +405,7 @@ export function useChatMessages() {
|
|
|
354
405
|
// analysis.
|
|
355
406
|
useMessages({ listener: handler });
|
|
356
407
|
// Send: generate v2MessageId, optimistic insert, fire REST, reconcile.
|
|
357
|
-
const sendMessage = React.useCallback(async (text, metadata) => {
|
|
408
|
+
const sendMessage = React.useCallback(async (text, metadata, options) => {
|
|
358
409
|
if (!sendMessageRest) {
|
|
359
410
|
throw new Error("useChatMessages: sendMessage called but no `sendMessageRest` callback was provided on <ChatRoom>. " +
|
|
360
411
|
"This consumer is read-only (e.g. admin v2 chat monitoring) — provide a sendMessageRest prop on <ChatRoom> to enable sends.");
|
|
@@ -362,7 +413,7 @@ export function useChatMessages() {
|
|
|
362
413
|
if (!roomId) {
|
|
363
414
|
throw new Error("useChatMessages: sendMessage called without a mounted <ChatRoom> ancestor.");
|
|
364
415
|
}
|
|
365
|
-
const v2MessageId = crypto.randomUUID();
|
|
416
|
+
const v2MessageId = options?.v2MessageId ?? crypto.randomUUID();
|
|
366
417
|
const optimisticAt = new Date().toISOString();
|
|
367
418
|
// Optimistic insert. ClientId is empty until we know the sender —
|
|
368
419
|
// consumers can pass `useChatRoomUser()` data themselves if they
|
|
@@ -370,23 +421,62 @@ export function useChatMessages() {
|
|
|
370
421
|
// echo will overwrite this with the canonical clientId on
|
|
371
422
|
// reconcile.
|
|
372
423
|
setMessages((prev) => {
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
424
|
+
// CEL-1990 — build the quote locally so it renders with the bubble
|
|
425
|
+
// rather than popping in when REST returns. Approximate by design:
|
|
426
|
+
// sender ids come from the cached parent and the server's canonical
|
|
427
|
+
// snapshot overwrites this whole object on reconcile. If the parent
|
|
428
|
+
// is not in the cache (replying to something scrolled out of a
|
|
429
|
+
// trimmed window) the quote shows an empty preview for one tick.
|
|
430
|
+
const parent = options?.replyToMessageId === undefined
|
|
431
|
+
? undefined
|
|
432
|
+
: prev.find((m) => m.v2MessageId === options.replyToMessageId);
|
|
433
|
+
const existingIndex = prev.findIndex((message) => message.v2MessageId === v2MessageId);
|
|
434
|
+
const existing = existingIndex === -1 ? undefined : prev[existingIndex];
|
|
435
|
+
// A repeated attachment send intentionally reuses the same UUID after
|
|
436
|
+
// an ambiguous/lost REST acknowledgement. Never append a duplicate
|
|
437
|
+
// optimistic row. An Ably-delivered row also stays delivered while the
|
|
438
|
+
// idempotent REST confirmation is retried.
|
|
439
|
+
if (existing && !existing.optimistic)
|
|
440
|
+
return prev;
|
|
441
|
+
const optimistic = {
|
|
442
|
+
optimistic: true,
|
|
443
|
+
status: "sending",
|
|
444
|
+
v2MessageId,
|
|
445
|
+
v2CreatedAt: existing?.v2CreatedAt ?? optimisticAt,
|
|
446
|
+
text: existing?.text ?? text,
|
|
447
|
+
metadata: existing?.metadata ?? metadata ?? null,
|
|
448
|
+
clientId: existing?.clientId ?? "",
|
|
449
|
+
serial: null,
|
|
450
|
+
...(existing?.replyTo
|
|
451
|
+
? { replyTo: existing.replyTo }
|
|
452
|
+
: options?.replyToMessageId === undefined
|
|
453
|
+
? {}
|
|
454
|
+
: {
|
|
455
|
+
replyTo: {
|
|
456
|
+
messageId: options.replyToMessageId,
|
|
457
|
+
preview: replyPreview(parent?.text ?? ""),
|
|
458
|
+
senderUserId: parent?.clientId || null,
|
|
459
|
+
senderOrgId: null,
|
|
460
|
+
},
|
|
461
|
+
}),
|
|
462
|
+
};
|
|
463
|
+
const next = [...prev];
|
|
464
|
+
if (existingIndex === -1)
|
|
465
|
+
next.push(optimistic);
|
|
466
|
+
else
|
|
467
|
+
next[existingIndex] = optimistic;
|
|
386
468
|
return next.sort(compareItems);
|
|
387
469
|
});
|
|
388
470
|
try {
|
|
389
|
-
const serverRow = await sendMessageRest({
|
|
471
|
+
const serverRow = await sendMessageRest({
|
|
472
|
+
roomId,
|
|
473
|
+
content: text,
|
|
474
|
+
v2MessageId,
|
|
475
|
+
metadata,
|
|
476
|
+
...(options?.replyToMessageId === undefined
|
|
477
|
+
? {}
|
|
478
|
+
: { replyToMessageId: options.replyToMessageId }),
|
|
479
|
+
});
|
|
390
480
|
setMessages((prev) => {
|
|
391
481
|
const idx = prev.findIndex((m) => m.v2MessageId === v2MessageId);
|
|
392
482
|
if (idx === -1)
|
|
@@ -403,6 +493,7 @@ export function useChatMessages() {
|
|
|
403
493
|
next[idx] = delivered;
|
|
404
494
|
return next.sort(compareItems);
|
|
405
495
|
});
|
|
496
|
+
return { messageId: serverRow.id };
|
|
406
497
|
}
|
|
407
498
|
catch (err) {
|
|
408
499
|
setMessages((prev) => {
|
|
@@ -423,6 +514,7 @@ export function useChatMessages() {
|
|
|
423
514
|
};
|
|
424
515
|
return next;
|
|
425
516
|
});
|
|
517
|
+
throw err;
|
|
426
518
|
}
|
|
427
519
|
}, [sendMessageRest, roomId]);
|
|
428
520
|
// Retry: flip the failed row back to "sending" and re-fire REST.
|
|
@@ -445,7 +537,9 @@ export function useChatMessages() {
|
|
|
445
537
|
const cur = current[idx];
|
|
446
538
|
if (!cur || !cur.optimistic || cur.status !== "failed")
|
|
447
539
|
return;
|
|
448
|
-
|
|
540
|
+
// `replyTo` rides along so the retry re-sends the pointer, not just
|
|
541
|
+
// the text (CEL-1990).
|
|
542
|
+
const captured = { text: cur.text, metadata: cur.metadata, replyTo: cur.replyTo };
|
|
449
543
|
// Flip to sending.
|
|
450
544
|
setMessages((prev) => {
|
|
451
545
|
const i = prev.findIndex((m) => m.v2MessageId === v2MessageId);
|
|
@@ -464,6 +558,10 @@ export function useChatMessages() {
|
|
|
464
558
|
content: captured.text,
|
|
465
559
|
v2MessageId,
|
|
466
560
|
metadata: captured.metadata,
|
|
561
|
+
// CEL-1990 — without this a retried reply silently becomes an
|
|
562
|
+
// ordinary message: the row keeps its local quote, the server
|
|
563
|
+
// stores none, and the next history fetch drops it.
|
|
564
|
+
...(captured.replyTo ? { replyToMessageId: captured.replyTo.messageId } : {}),
|
|
467
565
|
});
|
|
468
566
|
setMessages((prev) => {
|
|
469
567
|
const idx = prev.findIndex((m) => m.v2MessageId === v2MessageId);
|
|
@@ -481,6 +579,7 @@ export function useChatMessages() {
|
|
|
481
579
|
next[idx] = delivered;
|
|
482
580
|
return next.sort(compareItems);
|
|
483
581
|
});
|
|
582
|
+
return { messageId: serverRow.id };
|
|
484
583
|
}
|
|
485
584
|
catch (err) {
|
|
486
585
|
setMessages((prev) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-chat-messages.js","sourceRoot":"","sources":["../../src/chat-ably/use-chat-messages.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-chat-messages.js","sourceRoot":"","sources":["../../src/chat-ably/use-chat-messages.tsx"],"names":[],"mappings":"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"}
|