@cellarnode/ui 0.178.1 → 0.180.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.
Files changed (284) hide show
  1. package/dist/brand/brand-field-provenance.js +3 -3
  2. package/dist/brand/brand-field-provenance.js.map +1 -1
  3. package/dist/brand/brand-generation-context-form.js +2 -2
  4. package/dist/brand/brand-generation-recovery.js +2 -2
  5. package/dist/brand/brand-generation-recovery.js.map +1 -1
  6. package/dist/brand/brand-image-asset-slot-card.js +1 -1
  7. package/dist/brand/brand-image-chooser.js +1 -1
  8. package/dist/brand/brand-image-source-picker.js +1 -1
  9. package/dist/brand/brand-profile-form-lists.js +2 -2
  10. package/dist/brand/brand-profile-form-people.js +2 -2
  11. package/dist/brand/brand-profile-review-media.js +1 -1
  12. package/dist/brand/brand-profile-review-visibility.d.ts.map +1 -1
  13. package/dist/brand/brand-profile-review-visibility.js +6 -4
  14. package/dist/brand/brand-profile-review-visibility.js.map +1 -1
  15. package/dist/brand/brand-profile-workspace-copy.d.ts +14 -0
  16. package/dist/brand/brand-profile-workspace-copy.d.ts.map +1 -1
  17. package/dist/brand/brand-profile-workspace-copy.js +4 -0
  18. package/dist/brand/brand-profile-workspace-copy.js.map +1 -1
  19. package/dist/brand/brand-profile-workspace-parts.d.ts +22 -2
  20. package/dist/brand/brand-profile-workspace-parts.d.ts.map +1 -1
  21. package/dist/brand/brand-profile-workspace-parts.js +6 -7
  22. package/dist/brand/brand-profile-workspace-parts.js.map +1 -1
  23. package/dist/brand/brand-profile-workspace.d.ts +5 -1
  24. package/dist/brand/brand-profile-workspace.d.ts.map +1 -1
  25. package/dist/brand/brand-profile-workspace.js +8 -3
  26. package/dist/brand/brand-profile-workspace.js.map +1 -1
  27. package/dist/brand/brand-provenance-summary.js +1 -1
  28. package/dist/brand/brand-summary-card.js +1 -1
  29. package/dist/brand/brand-summary-card.js.map +1 -1
  30. package/dist/brand/index.d.ts +1 -0
  31. package/dist/brand/index.d.ts.map +1 -1
  32. package/dist/brand/index.js +1 -0
  33. package/dist/brand/index.js.map +1 -1
  34. package/dist/brand/public-visibility-toggle.d.ts +33 -0
  35. package/dist/brand/public-visibility-toggle.d.ts.map +1 -0
  36. package/dist/brand/public-visibility-toggle.js +23 -0
  37. package/dist/brand/public-visibility-toggle.js.map +1 -0
  38. package/dist/chat/chat-composer.d.ts +3 -1
  39. package/dist/chat/chat-composer.d.ts.map +1 -1
  40. package/dist/chat/chat-composer.js +3 -3
  41. package/dist/chat/chat-composer.js.map +1 -1
  42. package/dist/chat/chat-surface.d.ts +23 -2
  43. package/dist/chat/chat-surface.d.ts.map +1 -1
  44. package/dist/chat/chat-surface.js +77 -41
  45. package/dist/chat/chat-surface.js.map +1 -1
  46. package/dist/chat/index.d.ts +2 -0
  47. package/dist/chat/index.d.ts.map +1 -1
  48. package/dist/chat/index.js +1 -0
  49. package/dist/chat/index.js.map +1 -1
  50. package/dist/chat/messenger-layout.js +2 -2
  51. package/dist/chat/messenger-layout.js.map +1 -1
  52. package/dist/chat/messenger-screen/room-panel.d.ts +24 -0
  53. package/dist/chat/messenger-screen/room-panel.d.ts.map +1 -1
  54. package/dist/chat/messenger-screen/room-panel.js +175 -21
  55. package/dist/chat/messenger-screen/room-panel.js.map +1 -1
  56. package/dist/chat/messenger-screen/types.d.ts +2 -0
  57. package/dist/chat/messenger-screen/types.d.ts.map +1 -1
  58. package/dist/chat/use-stick-to-bottom.d.ts +45 -0
  59. package/dist/chat/use-stick-to-bottom.d.ts.map +1 -0
  60. package/dist/chat/use-stick-to-bottom.js +191 -0
  61. package/dist/chat/use-stick-to-bottom.js.map +1 -0
  62. package/dist/chat-ably/use-presence.d.ts +13 -0
  63. package/dist/chat-ably/use-presence.d.ts.map +1 -1
  64. package/dist/chat-ably/use-presence.js +35 -0
  65. package/dist/chat-ably/use-presence.js.map +1 -1
  66. package/dist/components/access-model-select.d.ts.map +1 -1
  67. package/dist/components/access-model-select.js +2 -1
  68. package/dist/components/access-model-select.js.map +1 -1
  69. package/dist/components/accordion.js +1 -1
  70. package/dist/components/animated-select.js +1 -1
  71. package/dist/components/animated-select.js.map +1 -1
  72. package/dist/components/animated-shadcn-select.d.ts +2 -2
  73. package/dist/components/animated-shadcn-select.d.ts.map +1 -1
  74. package/dist/components/animated-shadcn-select.js +16 -3
  75. package/dist/components/animated-shadcn-select.js.map +1 -1
  76. package/dist/components/avatar-stack.js +3 -3
  77. package/dist/components/avatar-stack.js.map +1 -1
  78. package/dist/components/avatar.js +1 -1
  79. package/dist/components/avatar.js.map +1 -1
  80. package/dist/components/bottle-extract-dialog.js +2 -2
  81. package/dist/components/bottle-extract-dialog.js.map +1 -1
  82. package/dist/components/bottle-extraction-inline-progress.js +1 -1
  83. package/dist/components/bottle-extraction-inline-progress.js.map +1 -1
  84. package/dist/components/card-actions-trigger.js +1 -1
  85. package/dist/components/card-actions-trigger.js.map +1 -1
  86. package/dist/components/certification-upload-card.d.ts +23 -2
  87. package/dist/components/certification-upload-card.d.ts.map +1 -1
  88. package/dist/components/certification-upload-card.js +103 -8
  89. package/dist/components/certification-upload-card.js.map +1 -1
  90. package/dist/components/checkbox.js +1 -1
  91. package/dist/components/checkbox.js.map +1 -1
  92. package/dist/components/closure-select.d.ts.map +1 -1
  93. package/dist/components/closure-select.js +2 -1
  94. package/dist/components/closure-select.js.map +1 -1
  95. package/dist/components/colour-picker-field.js +1 -1
  96. package/dist/components/colour-picker-field.js.map +1 -1
  97. package/dist/components/composition-editor.js +1 -1
  98. package/dist/components/composition-editor.js.map +1 -1
  99. package/dist/components/confirmation/beverage-comparison-modal.js +1 -1
  100. package/dist/components/confirmation/beverage-comparison-modal.js.map +1 -1
  101. package/dist/components/confirmation/confirmation-card.js +2 -2
  102. package/dist/components/confirmation/confirmation-card.js.map +1 -1
  103. package/dist/components/confirmation/cross-portfolio-nudge-sheet.js +5 -5
  104. package/dist/components/confirmation/cross-portfolio-nudge-sheet.js.map +1 -1
  105. package/dist/components/corner-style-picker.js +1 -1
  106. package/dist/components/corner-style-picker.js.map +1 -1
  107. package/dist/components/country-code-multi-select.d.ts.map +1 -1
  108. package/dist/components/country-code-multi-select.js +2 -1
  109. package/dist/components/country-code-multi-select.js.map +1 -1
  110. package/dist/components/country-code-select.d.ts.map +1 -1
  111. package/dist/components/country-code-select.js +4 -2
  112. package/dist/components/country-code-select.js.map +1 -1
  113. package/dist/components/currency-select.d.ts.map +1 -1
  114. package/dist/components/currency-select.js +2 -1
  115. package/dist/components/currency-select.js.map +1 -1
  116. package/dist/components/delivery-terms-select.d.ts.map +1 -1
  117. package/dist/components/delivery-terms-select.js +2 -1
  118. package/dist/components/delivery-terms-select.js.map +1 -1
  119. package/dist/components/enterprise-type-select.d.ts.map +1 -1
  120. package/dist/components/enterprise-type-select.js +2 -1
  121. package/dist/components/enterprise-type-select.js.map +1 -1
  122. package/dist/components/inset-drawer.js +1 -1
  123. package/dist/components/inset-drawer.js.map +1 -1
  124. package/dist/components/link.d.ts +1 -1
  125. package/dist/components/link.d.ts.map +1 -1
  126. package/dist/components/link.js +3 -2
  127. package/dist/components/link.js.map +1 -1
  128. package/dist/components/offer-card.js +1 -1
  129. package/dist/components/offer-card.js.map +1 -1
  130. package/dist/components/packaging-select.d.ts.map +1 -1
  131. package/dist/components/packaging-select.js +2 -1
  132. package/dist/components/packaging-select.js.map +1 -1
  133. package/dist/components/picker-empty-guidance.js +1 -1
  134. package/dist/components/picker-empty-guidance.js.map +1 -1
  135. package/dist/components/preflight-verdict-sheet.js +2 -2
  136. package/dist/components/preflight-verdict-sheet.js.map +1 -1
  137. package/dist/components/price-range-picker.js +1 -1
  138. package/dist/components/price-range-picker.js.map +1 -1
  139. package/dist/components/procurement-channel-select.d.ts.map +1 -1
  140. package/dist/components/procurement-channel-select.js +2 -1
  141. package/dist/components/procurement-channel-select.js.map +1 -1
  142. package/dist/components/product-card.js +1 -1
  143. package/dist/components/product-card.js.map +1 -1
  144. package/dist/components/product-picker-drawer.js +4 -4
  145. package/dist/components/product-picker-drawer.js.map +1 -1
  146. package/dist/components/radio.js +1 -1
  147. package/dist/components/radio.js.map +1 -1
  148. package/dist/components/region-select.d.ts.map +1 -1
  149. package/dist/components/region-select.js +2 -1
  150. package/dist/components/region-select.js.map +1 -1
  151. package/dist/components/scroll-area.js +1 -1
  152. package/dist/components/shadcn-badge.js +2 -2
  153. package/dist/components/shadcn-badge.js.map +1 -1
  154. package/dist/components/shadcn-button.d.ts.map +1 -1
  155. package/dist/components/shadcn-button.js +2 -2
  156. package/dist/components/shadcn-button.js.map +1 -1
  157. package/dist/components/shadcn-input.js +1 -1
  158. package/dist/components/shadcn-input.js.map +1 -1
  159. package/dist/components/shadcn-select.d.ts +1 -1
  160. package/dist/components/shadcn-select.d.ts.map +1 -1
  161. package/dist/components/shadcn-select.js +9 -2
  162. package/dist/components/shadcn-select.js.map +1 -1
  163. package/dist/components/shadcn-textarea.js +1 -1
  164. package/dist/components/shadcn-textarea.js.map +1 -1
  165. package/dist/components/source-composite.js +1 -1
  166. package/dist/components/source-composite.js.map +1 -1
  167. package/dist/components/source-drawer.js +1 -1
  168. package/dist/components/source-drawer.js.map +1 -1
  169. package/dist/components/supporting-pane-layout.d.ts +6 -1
  170. package/dist/components/supporting-pane-layout.d.ts.map +1 -1
  171. package/dist/components/supporting-pane-layout.js +65 -12
  172. package/dist/components/supporting-pane-layout.js.map +1 -1
  173. package/dist/components/switch.d.ts +12 -0
  174. package/dist/components/switch.d.ts.map +1 -1
  175. package/dist/components/switch.js +35 -19
  176. package/dist/components/switch.js.map +1 -1
  177. package/dist/components/table.js +1 -1
  178. package/dist/components/table.js.map +1 -1
  179. package/dist/components/tabs.js +1 -1
  180. package/dist/components/text.js +1 -1
  181. package/dist/components/text.js.map +1 -1
  182. package/dist/components/toast.js +1 -1
  183. package/dist/components/toast.js.map +1 -1
  184. package/dist/components/variant-picker-dialog.js +6 -6
  185. package/dist/components/variant-picker-dialog.js.map +1 -1
  186. package/dist/components/variant-picker-hero.js +1 -1
  187. package/dist/components/variant-picker-hero.js.map +1 -1
  188. package/dist/components/year-picker.js +1 -1
  189. package/dist/components/year-picker.js.map +1 -1
  190. package/dist/fic-label/ingredient-input.js +1 -1
  191. package/dist/fic-label/ingredient-input.js.map +1 -1
  192. package/dist/globe/globe-view.js +1 -1
  193. package/dist/globe/globe-view.js.map +1 -1
  194. package/dist/image-upload/focal-point-picker.js +1 -1
  195. package/dist/image-upload/focal-point-picker.js.map +1 -1
  196. package/dist/index.d.ts +1 -1
  197. package/dist/index.d.ts.map +1 -1
  198. package/dist/index.js.map +1 -1
  199. package/dist/insight-band/next-best-action-card.js +1 -1
  200. package/dist/insight-band/next-best-action-card.js.map +1 -1
  201. package/dist/lib/reveal-truncated-select-value.d.ts +8 -0
  202. package/dist/lib/reveal-truncated-select-value.d.ts.map +1 -0
  203. package/dist/lib/reveal-truncated-select-value.js +16 -0
  204. package/dist/lib/reveal-truncated-select-value.js.map +1 -0
  205. package/dist/marketing/pricing-table.js +1 -1
  206. package/dist/marketing/qr/qr-customizer-controls.js +1 -1
  207. package/dist/marketing/qr/qr-customizer-controls.js.map +1 -1
  208. package/dist/notifications/notification-tray.js +1 -1
  209. package/dist/notifications/notification-tray.js.map +1 -1
  210. package/dist/offer/attachments-card.js +1 -1
  211. package/dist/offer/attachments-card.js.map +1 -1
  212. package/dist/offer/index.d.ts +1 -1
  213. package/dist/offer/index.d.ts.map +1 -1
  214. package/dist/offer/index.js.map +1 -1
  215. package/dist/offer/negotiation-flow-timeline.js +1 -1
  216. package/dist/offer/negotiation-flow-timeline.js.map +1 -1
  217. package/dist/offer/negotiation-labels.d.ts +12 -0
  218. package/dist/offer/negotiation-labels.d.ts.map +1 -1
  219. package/dist/offer/negotiation-labels.js +17 -3
  220. package/dist/offer/negotiation-labels.js.map +1 -1
  221. package/dist/offer/offer-branch-shared.d.ts +1 -1
  222. package/dist/offer/offer-branch-shared.js +1 -1
  223. package/dist/offer/offer-evaluation-sections.js +1 -1
  224. package/dist/offer/offer-page.d.ts +62 -2
  225. package/dist/offer/offer-page.d.ts.map +1 -1
  226. package/dist/offer/offer-page.js +158 -14
  227. package/dist/offer/offer-page.js.map +1 -1
  228. package/dist/offer/parties-card.d.ts.map +1 -1
  229. package/dist/offer/parties-card.js +1 -1
  230. package/dist/offer/parties-card.js.map +1 -1
  231. package/dist/offer/reviews-summary.js +1 -1
  232. package/dist/offer/reviews-summary.js.map +1 -1
  233. package/dist/offer/sticky-scroll-padding.d.ts +4 -0
  234. package/dist/offer/sticky-scroll-padding.d.ts.map +1 -0
  235. package/dist/offer/sticky-scroll-padding.js +54 -0
  236. package/dist/offer/sticky-scroll-padding.js.map +1 -0
  237. package/dist/offer/timeline-event.d.ts.map +1 -1
  238. package/dist/offer/timeline-event.js +5 -3
  239. package/dist/offer/timeline-event.js.map +1 -1
  240. package/dist/opportunities/opportunity-detail-header.js +1 -1
  241. package/dist/opportunities/opportunity-detail-header.js.map +1 -1
  242. package/dist/opportunities/opportunity-detail-panel.js +1 -1
  243. package/dist/opportunities/opportunity-detail-panel.js.map +1 -1
  244. package/dist/opportunities/opportunity-filter-bar.js +1 -1
  245. package/dist/opportunities/opportunity-filter-bar.js.map +1 -1
  246. package/dist/opportunities/opportunity-stacked-card.js +2 -2
  247. package/dist/opportunities/opportunity-stacked-card.js.map +1 -1
  248. package/dist/opportunities/wizard/allowed-delivery-terms-section.js +1 -1
  249. package/dist/opportunities/wizard/allowed-delivery-terms-section.js.map +1 -1
  250. package/dist/opportunities/wizard/opportunity-wizard.js +2 -2
  251. package/dist/opportunities/wizard/opportunity-wizard.js.map +1 -1
  252. package/dist/opportunities/wizard/step-opportunities.js +14 -10
  253. package/dist/opportunities/wizard/step-opportunities.js.map +1 -1
  254. package/dist/opportunities/wizard/step-pricing-timeline.js +4 -4
  255. package/dist/opportunities/wizard/step-review.js +1 -1
  256. package/dist/opportunities/wizard/step-tender-basics.js +2 -2
  257. package/dist/opportunities/wizard/wizard-stepper.js +1 -1
  258. package/dist/opportunities/wizard/wizard-task-frame.js +1 -1
  259. package/dist/org/billing-address-source.js +2 -2
  260. package/dist/org/public-location-notice.js +2 -2
  261. package/dist/pdf-tool/live/pdf-label-layer.js +1 -1
  262. package/dist/pdf-tool/live/pdf-label-layer.js.map +1 -1
  263. package/dist/portfolio/portfolio-folder-card.js +1 -1
  264. package/dist/portfolio/portfolio-folder-card.js.map +1 -1
  265. package/dist/portfolio-import/beverage-comparison-modal.js +5 -5
  266. package/dist/portfolio-import/beverage-comparison-modal.js.map +1 -1
  267. package/dist/portfolio-import/bottle-photos-status.js +1 -1
  268. package/dist/portfolio-import/bottle-photos-status.js.map +1 -1
  269. package/dist/portfolio-import/import-job-detail-view.js +1 -1
  270. package/dist/portfolio-import/import-job-detail-view.js.map +1 -1
  271. package/dist/portfolio-import/product-gallery.js +1 -1
  272. package/dist/portfolio-import/product-gallery.js.map +1 -1
  273. package/dist/product-editor/product-editor-surface.js +1 -1
  274. package/dist/product-editor/product-editor-surface.js.map +1 -1
  275. package/dist/product-editor/tabs/product-status-tab.js +1 -1
  276. package/dist/product-editor/tabs/product-status-tab.js.map +1 -1
  277. package/dist/product-editor/tabs/resources/awards-panel.js +2 -2
  278. package/dist/product-editor/tabs/resources/awards-panel.js.map +1 -1
  279. package/dist/profile/business-details.js +1 -1
  280. package/dist/profile/business-details.js.map +1 -1
  281. package/dist/profile/product-detail-drawer.js +2 -2
  282. package/dist/profile/product-detail-drawer.js.map +1 -1
  283. package/package.json +1 -1
  284. package/src/theme/tokens.css +7 -1
@@ -18,13 +18,16 @@ import { useAbly } from "ably/react";
18
18
  import { ChatComposer, ChatMessageList, ChatPresenceRow, ChatShell, } from "../chat-surface.js";
19
19
  import { ConnectionBanner } from "../connection-banner.js";
20
20
  import { unreadStore } from "../unread-store.js";
21
+ import { getActiveChatRoom, setActiveChatRoom } from "./active-room-store.js";
21
22
  import { ChatRoom } from "../../chat-ably/chat-room.js";
22
23
  import { useChatMessages } from "../../chat-ably/use-chat-messages.js";
23
24
  import { useTyping } from "../../chat-ably/use-typing.js";
24
- import { usePresence } from "../../chat-ably/use-presence.js";
25
+ import { useGatedPresence } from "../../chat-ably/use-presence.js";
25
26
  import { useChatConnectionStatus } from "../../chat-ably/use-chat-connection-status.js";
26
27
  import { useAblyBannerState } from "../../chat-ably/use-ably-banner-state.js";
27
28
  import { COUNTERPARTY_SENDER_ORG_ID, adaptChatItem, getInitials, toSurfaceMessage, } from "./message-adapters.js";
29
+ /** CEL-2155: at most one live mark-read request per interval while the panel is open. */
30
+ const LIVE_MARK_READ_INTERVAL_MS = 1000;
28
31
  /* ─── Shared internals ─── */
29
32
  /**
30
33
  * Suffix the panel appends to the consumer's `attachmentsQueryKey` so the
@@ -75,11 +78,11 @@ function useLatestCallback(callback) {
75
78
  * (bridge component + children-as-function) survives the lift
76
79
  * unchanged.
77
80
  */
78
- function SdkLiveState({ children }) {
81
+ function SdkLiveState({ presenceActive, children, }) {
79
82
  const { messages, sendMessage, retryMessage, loadMore, hasMore, isLoadingHistory, isLoadingMore, } = useChatMessages();
80
83
  const { currentlyTyping, start: startTyping } = useTyping();
81
84
  const { currentStatus } = useChatConnectionStatus();
82
- const { presentMembers } = usePresence();
85
+ const { presentMembers } = useGatedPresence(presenceActive);
83
86
  // `useAbly()` returns the Ably Realtime instance owned by the
84
87
  // `<AblyProvider>` at the consumer's app shell. Cast through
85
88
  // `unknown` because the lib's TypeScript shim does not perfectly
@@ -138,12 +141,12 @@ export function MessengerRoomPanel(props) {
138
141
  // CEL-2115 — until the session knows who the user is (cold load of
139
142
  // a deep link), `<ChatRoom>` mounts no provider; `<SdkLiveState>`'s
140
143
  // room hooks must not render in that window.
141
- fallback: _jsx(MessengerRoomPanelPlaceholder, { label: props.labels?.loadingConversation }), children: _jsx(SdkLiveState, { children: (state) => (_jsx("div", { "data-chat-connection-status": state.connectionStatus, className: "flex min-w-0 max-w-full flex-1 flex-col overflow-hidden", children: _jsx(MessengerRoomPanelContent, { ...props, live: state }) })) }) }));
144
+ fallback: _jsx(MessengerRoomPanelPlaceholder, { label: props.labels?.loadingConversation }), children: _jsx(SdkLiveState, { presenceActive: props.active ?? true, children: (state) => (_jsx("div", { "data-chat-connection-status": state.connectionStatus, className: "flex min-w-0 max-w-full flex-1 flex-col overflow-hidden", children: _jsx(MessengerRoomPanelContent, { ...props, live: state }) })) }) }));
142
145
  }
143
146
  function MessengerRoomPanelPlaceholder({ label }) {
144
147
  return (_jsx("div", { role: "status", "aria-busy": "true", "data-chat-room-pending": "", className: "flex min-w-0 max-w-full flex-1 items-center justify-center p-6 text-sm/6 text-muted-foreground", children: label ?? "Loading conversation" }));
145
148
  }
146
- function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentUserName, currentOrgId, markRoomRead, orgMemberSource, attachmentSource, getAttachmentUploadAdapter, subscribeToAttachmentChanges, onOpenAttachment, formatAttachmentOnlyContent, attachmentsQueryKey, isReadOnly, labels, roomsQueryKey, onMarkReadSettled, onReconnected, live, }) {
149
+ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentUserName, currentOrgId, markRoomRead, orgMemberSource, attachmentSource, getAttachmentUploadAdapter, subscribeToAttachmentChanges, onOpenAttachment, formatAttachmentOnlyContent, attachmentsQueryKey, isReadOnly, labels, roomsQueryKey, onMarkReadSettled, onReconnected, active = true, composerInputRef, showHeader = true, live, }) {
147
150
  const roomId = room.id;
148
151
  const queryClient = useQueryClient();
149
152
  const [composerValue, setComposerValue] = React.useState("");
@@ -260,8 +263,8 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
260
263
  /* ── Connection banner (mapping + first-connect suppression live in the lib) ── */
261
264
  const { bannerState, showBanner: showConnectionBanner } = useAblyBannerState(live.connectionStatus);
262
265
  /* ── Mark-read: optimistic zero + snapshot/rollback + in-flight dedupe ── */
263
- // The panel is the active surface whenever it is mounted (the screen
264
- // remounts it per room via `key`), so the tuple below records
266
+ // The panel is the active surface whenever it is mounted and `active` (the
267
+ // screen remounts it per room via `key`), so the tuple below records
265
268
  // "successfully marked" only AFTER the REST call resolves — a
266
269
  // transient failure does not lock the room out of future retries.
267
270
  const getMarkRoomRead = useLatestCallback(markRoomRead);
@@ -273,17 +276,27 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
273
276
  // Track the in-flight room separately so we don't fire duplicate REST
274
277
  // calls while a previous attempt for the same room is still pending.
275
278
  const inflightRoomRef = React.useRef(null);
276
- React.useEffect(() => {
277
- const panelActive = true;
278
- const last = lastMarkedRef.current;
279
- const becameActive = panelActive && !last.panelActive;
280
- const switchedRoom = panelActive && roomId && roomId !== last.roomId;
281
- const shouldMark = (becameActive || switchedRoom) && roomId;
282
- if (!shouldMark)
283
- return;
279
+ const activeRef = React.useRef(active);
280
+ // True once the panel was hidden after a mark-read request started, so a
281
+ // request that resolves for an already-reopened panel re-marks (messages may
282
+ // have arrived while it was hidden, and the server-side read marker predates them).
283
+ const hiddenSinceMarkRef = React.useRef(false);
284
+ const [remarkTick, setRemarkTick] = React.useState(0);
285
+ const lastMarkAtRef = React.useRef(0);
286
+ // True while a counterparty message arrived that no successful-or-started
287
+ // mark-read request has covered yet (panel hidden, tab hidden, or throttled).
288
+ const pendingMarkRef = React.useRef(false);
289
+ const disposedRef = React.useRef(false);
290
+ const scheduleLiveMarkRef = React.useRef(() => undefined);
291
+ const liveMarkTimerRef = React.useRef(null);
292
+ const startMarkRead = useLatestCallback((roomId) => {
284
293
  if (inflightRoomRef.current === roomId)
285
- return;
294
+ return false;
286
295
  inflightRoomRef.current = roomId;
296
+ // This request covers everything received so far.
297
+ pendingMarkRef.current = false;
298
+ lastMarkAtRef.current = Date.now();
299
+ hiddenSinceMarkRef.current = false;
287
300
  // Snapshot the prior count so we can restore it if the server-side
288
301
  // mark-read call fails AND no fresh messages arrived in the
289
302
  // meantime — without the conditional, we'd clobber any inbound bump
@@ -298,7 +311,15 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
298
311
  // unread until the next reconnect or staleTime expiry.
299
312
  void getMarkRoomRead()(roomId)
300
313
  .then(() => {
301
- lastMarkedRef.current = { panelActive: true, roomId };
314
+ // Hidden at any point during the flight: opening re-marks. If it is
315
+ // active again right now, re-mark immediately.
316
+ const needsRemark = activeRef.current && hiddenSinceMarkRef.current;
317
+ lastMarkedRef.current = { panelActive: needsRemark ? false : activeRef.current, roomId };
318
+ if (needsRemark) {
319
+ if (inflightRoomRef.current === roomId)
320
+ inflightRoomRef.current = null;
321
+ setRemarkTick((tick) => tick + 1);
322
+ }
302
323
  void queryClient.invalidateQueries({ queryKey: [...roomsQueryKey] });
303
324
  getOnMarkReadSettled()({ roomId, ok: true });
304
325
  })
@@ -314,8 +335,141 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
314
335
  if (inflightRoomRef.current === roomId) {
315
336
  inflightRoomRef.current = null;
316
337
  }
338
+ // A counterparty message arrived while this request was outstanding.
339
+ if (pendingMarkRef.current && !disposedRef.current)
340
+ scheduleLiveMarkRef.current();
317
341
  });
318
- }, [roomId, queryClient, roomsQueryKey, getMarkRoomRead, getOnMarkReadSettled]);
342
+ return true;
343
+ });
344
+ React.useEffect(() => {
345
+ const panelActive = active;
346
+ activeRef.current = active;
347
+ if (!panelActive) {
348
+ hiddenSinceMarkRef.current = true;
349
+ // Hidden: never mark read, and forget the marker so that becoming active
350
+ // again marks the room (messages may have arrived while it was hidden).
351
+ lastMarkedRef.current = { ...lastMarkedRef.current, panelActive: false };
352
+ return;
353
+ }
354
+ const last = lastMarkedRef.current;
355
+ const becameActive = panelActive && !last.panelActive;
356
+ const switchedRoom = panelActive && roomId && roomId !== last.roomId;
357
+ const shouldMark = (becameActive || switchedRoom) && roomId;
358
+ if (!shouldMark)
359
+ return;
360
+ startMarkRead()(roomId);
361
+ }, [roomId, active, remarkTick, queryClient, roomsQueryKey, startMarkRead]);
362
+ // CEL-2155: while the panel is open and the tab is visible, counterparty
363
+ // messages that arrive after the activation mark must be marked read too,
364
+ // otherwise the server keeps counting them and the badge shows them as
365
+ // unread after the panel closes. Coalesced to at most one request per
366
+ // LIVE_MARK_READ_INTERVAL_MS; reuses the in-flight dedupe + rollback above.
367
+ const incomingIds = React.useMemo(() => {
368
+ const ids = [];
369
+ for (const item of live.messages) {
370
+ if (item.optimistic || item.messageType === "system")
371
+ continue;
372
+ const adapted = adaptChatItem(item, roomId, currentUserId, currentOrgId, memberLookup, teammateFallbackName);
373
+ if (adapted.senderOrgId === COUNTERPARTY_SENDER_ORG_ID)
374
+ ids.push({ id: adapted.id, at: adapted.createdAt });
375
+ }
376
+ return ids;
377
+ }, [live.messages, roomId, currentUserId, currentOrgId, memberLookup, teammateFallbackName]);
378
+ const seenIncomingRef = React.useRef(null);
379
+ const isLoadingHistory = live.isLoadingHistory;
380
+ const isLoadingMore = live.isLoadingMore;
381
+ const getScheduleLiveMark = useLatestCallback(() => {
382
+ if (disposedRef.current || !active || !roomId || !pendingMarkRef.current)
383
+ return;
384
+ if (typeof document !== "undefined" && document.visibilityState !== "visible")
385
+ return;
386
+ if (liveMarkTimerRef.current)
387
+ return;
388
+ const wait = Math.max(0, lastMarkAtRef.current + LIVE_MARK_READ_INTERVAL_MS - Date.now());
389
+ liveMarkTimerRef.current = setTimeout(() => {
390
+ liveMarkTimerRef.current = null;
391
+ if (disposedRef.current || !activeRef.current || !pendingMarkRef.current)
392
+ return;
393
+ if (typeof document !== "undefined" && document.visibilityState !== "visible")
394
+ return;
395
+ // In flight: the request's settle handler reschedules while pending.
396
+ if (startMarkRead()(roomId))
397
+ pendingMarkRef.current = false;
398
+ }, wait);
399
+ });
400
+ const scheduleLiveMark = React.useCallback(() => getScheduleLiveMark()(), [getScheduleLiveMark]);
401
+ scheduleLiveMarkRef.current = scheduleLiveMark;
402
+ React.useEffect(() => {
403
+ let newest = "";
404
+ for (const { at } of incomingIds)
405
+ if (at > newest)
406
+ newest = at;
407
+ let seen = seenIncomingRef.current;
408
+ if (!seen || seen.roomId !== roomId) {
409
+ seen = { roomId, newest: "", sawHistoryLoading: false, historySettled: false };
410
+ seenIncomingRef.current = seen;
411
+ }
412
+ // The baseline is the first SETTLED state, not the mount state: React
413
+ // batches the history merge and `isLoadingHistory=false` into one render,
414
+ // so history never looks "loading" when it lands. Everything up to and
415
+ // including that render is covered by the activation mark.
416
+ const wasSettled = seen.historySettled;
417
+ if (isLoadingHistory)
418
+ seen.sawHistoryLoading = true;
419
+ else if (seen.sawHistoryLoading)
420
+ seen.historySettled = true;
421
+ // Only a message NEWER than the newest one already seen is an arrival;
422
+ // older pages (loadMore) never are.
423
+ const isArrival = newest > seen.newest;
424
+ if (isArrival)
425
+ seen.newest = newest;
426
+ if (!wasSettled || !isArrival || isLoadingHistory || isLoadingMore)
427
+ return;
428
+ pendingMarkRef.current = true;
429
+ scheduleLiveMark();
430
+ }, [incomingIds, roomId, isLoadingHistory, isLoadingMore, scheduleLiveMark]);
431
+ React.useEffect(() => {
432
+ disposedRef.current = false;
433
+ return () => {
434
+ // The screen remounts the panel per room: nothing may fire for this one.
435
+ disposedRef.current = true;
436
+ activeRef.current = false;
437
+ pendingMarkRef.current = false;
438
+ if (liveMarkTimerRef.current)
439
+ clearTimeout(liveMarkTimerRef.current);
440
+ liveMarkTimerRef.current = null;
441
+ };
442
+ }, []);
443
+ React.useEffect(() => {
444
+ if (!active) {
445
+ if (liveMarkTimerRef.current)
446
+ clearTimeout(liveMarkTimerRef.current);
447
+ liveMarkTimerRef.current = null;
448
+ return;
449
+ }
450
+ const onVisibility = () => {
451
+ if (document.visibilityState === "visible")
452
+ scheduleLiveMark();
453
+ };
454
+ document.addEventListener("visibilitychange", onVisibility);
455
+ return () => {
456
+ document.removeEventListener("visibilitychange", onVisibility);
457
+ if (liveMarkTimerRef.current)
458
+ clearTimeout(liveMarkTimerRef.current);
459
+ liveMarkTimerRef.current = null;
460
+ };
461
+ }, [active, roomId, scheduleLiveMark]);
462
+ // While the user is reading this room, tell the notification bridges so they
463
+ // do not bump unread or refetch for it. Clear only our own registration.
464
+ React.useEffect(() => {
465
+ if (!active)
466
+ return;
467
+ setActiveChatRoom(roomId);
468
+ return () => {
469
+ if (getActiveChatRoom() === roomId)
470
+ setActiveChatRoom(null);
471
+ };
472
+ }, [active, roomId]);
319
473
  /* ── Reconnect reconciliation ── */
320
474
  const getOnReconnected = useLatestCallback(() => onReconnected?.());
321
475
  React.useEffect(() => {
@@ -339,7 +493,7 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
339
493
  getOnReconnected,
340
494
  ]);
341
495
  /* ── Render ── */
342
- return (_jsxs(_Fragment, { children: [showConnectionBanner ? (_jsx(ConnectionBanner, { state: bannerState, onRetry: live.reconnect, reconnectingMessage: labels?.connection?.reconnecting ?? "Reconnecting to live updates…", offlineMessage: labels?.connection?.offline ?? "You are offline. Messages will send when you reconnect.", connectedMessage: labels?.connection?.connected ?? "Back online. Messages syncing.", retryLabel: labels?.connection?.retry ?? "Retry", liveLabel: labels?.connection?.live ?? "Live", ariaLabels: labels?.connection?.aria })) : null, _jsx(ChatShell, { title: counterparty.name, subtitle: counterparty.subtitle, presence: _jsx(ChatPresenceRow, { participants: [
496
+ return (_jsxs(_Fragment, { children: [showConnectionBanner ? (_jsx(ConnectionBanner, { state: bannerState, onRetry: live.reconnect, reconnectingMessage: labels?.connection?.reconnecting ?? "Reconnecting to live updates…", offlineMessage: labels?.connection?.offline ?? "You are offline. Messages will send when you reconnect.", connectedMessage: labels?.connection?.connected ?? "Back online. Messages syncing.", retryLabel: labels?.connection?.retry ?? "Retry", liveLabel: labels?.connection?.live ?? "Live", ariaLabels: labels?.connection?.aria })) : null, _jsx(ChatShell, { hideTitle: !showHeader, title: counterparty.name, subtitle: counterparty.subtitle, presence: _jsx(ChatPresenceRow, { participants: [
343
497
  {
344
498
  id: COUNTERPARTY_SENDER_ORG_ID,
345
499
  name: counterparty.name,
@@ -354,7 +508,7 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
354
508
  },
355
509
  ], typingNames: isTyping ? [counterparty.name] : [], connectionState: toConnectionState(live.connectionStatus) }), actions: live.hasMore ? (_jsx("button", { type: "button", disabled: live.isLoadingHistory, onClick: () => void live.loadMore(), className: "rounded-full bg-muted px-3 py-1.5 text-xs/5 font-medium text-muted-foreground transition-[background-color,color,transform] duration-[var(--duration-standard)] ease-[var(--ease-emphasized-strong)] hover:-translate-y-px hover:bg-muted/80 hover:text-foreground disabled:pointer-events-none disabled:opacity-50 motion-reduce:transition-none motion-reduce:hover:translate-y-0", children: live.isLoadingHistory
356
510
  ? (labels?.loadingOlder ?? "Loading")
357
- : (labels?.loadOlder ?? "Load older") })) : null, className: "flex-1 rounded-none border-0 ring-0 shadow-none", composer: isReadOnly ? (_jsx("div", { className: "rounded-[1.65rem] bg-muted/60 px-4 py-3 text-sm/6 text-muted-foreground ring-1 ring-border/60", children: readOnlyMessage })) : (_jsx(ChatComposer, { roomId: roomId, value: composerValue, onValueChange: setComposerValue, onTyping: () => void live.startTyping().catch(() => undefined), onSend: async (value, attachmentAttempt) => {
511
+ : (labels?.loadOlder ?? "Load older") })) : null, className: "flex-1 rounded-none border-0 ring-0 shadow-none", composer: isReadOnly ? (_jsx("div", { className: "rounded-[1.65rem] bg-muted/60 px-4 py-3 text-sm/6 text-muted-foreground ring-1 ring-border/60", children: readOnlyMessage })) : (_jsx(ChatComposer, { textareaRef: composerInputRef, roomId: roomId, value: composerValue, onValueChange: setComposerValue, onTyping: () => void live.startTyping().catch(() => undefined), onSend: async (value, attachmentAttempt) => {
358
512
  const submittedReplyId = attachmentAttempt
359
513
  ? attachmentAttempt.replyToMessageId
360
514
  : replyingTo?.messageId;
@@ -394,7 +548,7 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
394
548
  notice: isConnected
395
549
  ? undefined
396
550
  : (labels?.composer?.liveUpdatesPaused ??
397
- "Live updates paused. Messages still send."), isSending: isSending, placeholder: labels?.composer?.placeholder ?? "Write a message", sendLabel: labels?.composer?.send ?? "Send", sendingLabel: labels?.composer?.sending ?? "Sending", fieldLabel: labels?.composer?.field ?? "Message", maxLength: 2_000 })), children: _jsx(ChatMessageList, { messages: surfaceMessages, currentParticipantId: currentOrgId, onReply: attachmentAttemptPending
551
+ "Live updates paused. Messages still send."), isSending: isSending, placeholder: labels?.composer?.placeholder ?? "Write a message", sendLabel: labels?.composer?.send ?? "Send", sendingLabel: labels?.composer?.sending ?? "Sending", fieldLabel: labels?.composer?.field ?? "Message", maxLength: 2_000 })), children: _jsx(ChatMessageList, { messages: surfaceMessages, currentParticipantId: currentOrgId, active: active, newMessagesLabel: labels?.newMessages, onReply: attachmentAttemptPending
398
552
  ? undefined
399
553
  : (messageId) => {
400
554
  const parent = surfaceMessages.find((message) => message.id === messageId);
@@ -1 +1 @@
1
- {"version":3,"file":"room-panel.js","sourceRoot":"","sources":["../../../src/chat/messenger-screen/room-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room-panel.js","sourceRoot":"","sources":["../../../src/chat/messenger-screen/room-panel.tsx"],"names":[],"mappings":"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"}
@@ -128,6 +128,8 @@ export interface MessengerScreenLabels {
128
128
  /** Supports one `{{name}}` placeholder. Defaults to `"{{name}} typing"`. */
129
129
  typing?: string;
130
130
  loadOlder?: string;
131
+ /** Label of the jump-to-newest button shown when messages arrive while reading history. Defaults to `"New messages"`. */
132
+ newMessages?: string;
131
133
  loadingOlder?: string;
132
134
  /**
133
135
  * Shown in the room panel while the current user is not yet known
@@ -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;AACjE,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAI5B;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,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,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,wFAAwF;IACxF,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,0BAA0B,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACnD,oBAAoB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7C,kBAAkB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAID,2EAA2E;AAC3E,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC;IAAE,IAAI,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CAAC;AAE1E,4EAA4E;AAC5E,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAE3E,8EAA8E;AAC9E,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,0DAA0D;AAC1D,MAAM,MAAM,yBAAyB,GAAG,CACtC,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8DAA8D;AAC9D,MAAM,MAAM,uCAAuC,GAAG,CACpD,OAAO,EAAE,0BAA0B,KAChC,2BAA2B,GAAG,SAAS,CAAC;AAE7C,iFAAiF;AACjF,MAAM,MAAM,qCAAqC,GAAG,CAClD,OAAO,EAAE,0BAA0B,EACnC,mBAAmB,EAAE,CAAC,KAAK,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,KAC3D,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AAIzB,wEAAwE;AACxE,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,IAAI,CAAC,EAAE,0BAA0B,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;;;;WAKG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;KAC5C,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,UAAU,CAAC,EAAE,yBAAyB,CAAC;CACxC;AAID;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,EAClE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAC1D,OAAO,CAAC,IAAI,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,iGAAiG;IACjG,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,2EAA2E;IAC3E,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAID,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IAG9B,sEAAsE;IACtE,SAAS,EAAE,kBAAkB,CAAC;IAC9B,uCAAuC;IACvC,YAAY,EAAE,qBAAqB,CAAC;IACpC,0EAA0E;IAC1E,eAAe,EAAE,eAAe,CAAC;IACjC,4EAA4E;IAC5E,YAAY,EAAE,YAAY,CAAC;IAC3B,iEAAiE;IACjE,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,4FAA4F;IAC5F,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,6EAA6E;IAC7E,0BAA0B,CAAC,EAAE,uCAAuC,CAAC;IACrE,qFAAqF;IACrF,4BAA4B,CAAC,EAAE,qCAAqC,CAAC;IACrE,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,CACjB,UAAU,EAAE,qBAAqB,EACjC,OAAO,EAAE,0BAA0B,KAChC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,8EAA8E;IAC9E,2BAA2B,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAG5D,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAC;IACxB,+GAA+G;IAC/G,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;IAClD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC;IACnD;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC;IAC/C;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAG5C,iEAAiE;IACjE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,yDAAyD;IACzD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAGvF;;;;OAIG;IACH,CAAC,CAAC,EAAE,aAAa,CAAC;IAClB,wDAAwD;IACxD,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAG/B,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,CAAC;IAG9D;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAG3B,yEAAyE;IACzE,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/chat/messenger-screen/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /** Distance from the bottom, in px, still treated as "at the bottom". */
2
+ export declare const STICK_TO_BOTTOM_THRESHOLD_PX = 64;
3
+ export interface UseStickToBottomOptions {
4
+ scrollerRef: React.RefObject<HTMLElement | null>;
5
+ /** The element that wraps the messages; its growth (typing indicator, late images) keeps a pinned list pinned. */
6
+ contentRef: React.RefObject<HTMLElement | null>;
7
+ /** Message ids, oldest first. Identity changes (prepend, append, a different thread) are derived from this. */
8
+ ids: readonly string[];
9
+ /** Whether the newest message was sent by the viewer (always scrolls into view). */
10
+ lastIsOwn: boolean;
11
+ /** False while the list is hidden (closed pane). false to true scrolls to the newest message. */
12
+ active?: boolean;
13
+ /** Whether the scroller is mounted (the list renders an empty state without one). */
14
+ hasMessages: boolean;
15
+ }
16
+ /**
17
+ * Scroll behaviour for a chat log (CEL-2165). Always instant, never smooth, so
18
+ * it is reduced-motion safe by construction.
19
+ *
20
+ * The hook keeps an INTENT ("the viewer wants the newest message") rather than
21
+ * re-deriving it from scroll events. Only a genuine user action clears it: a
22
+ * scroll event that follows a wheel, touch, key or pointer input and ends more
23
+ * than `STICK_TO_BOTTOM_THRESHOLD_PX` from the bottom. Scroll events caused by
24
+ * our own writes or by layout (a pane settling to its final height) never do,
25
+ * so a list revealed while its container is still resizing ends up at the bottom.
26
+ *
27
+ * - Opens at the newest message, again whenever `active` turns true, and when
28
+ * the list is reused for a different thread (neither end id was in the
29
+ * previous list).
30
+ * - Appended messages follow the intent (or the viewer's own send); otherwise
31
+ * `hasNewBelow` turns true instead of moving the viewport.
32
+ * - Container or content height changes keep an intent-holding list at the bottom.
33
+ * - A scroll that settles within the threshold of the bottom re-pins, whatever
34
+ * caused it (a fling that lands at the bottom follows again).
35
+ * - `release()` drops the intent for code that scrolls the list itself (for
36
+ * example jumping to a quoted message); user input does this automatically.
37
+ * - Prepended older messages keep the visible position. The scroller must set
38
+ * `overflow-anchor: none` so browser anchoring does not also compensate.
39
+ */
40
+ export declare function useStickToBottom({ scrollerRef, contentRef, ids, lastIsOwn, active, hasMessages, }: UseStickToBottomOptions): {
41
+ hasNewBelow: boolean;
42
+ scrollToBottom: () => void;
43
+ release: () => void;
44
+ };
45
+ //# sourceMappingURL=use-stick-to-bottom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-stick-to-bottom.d.ts","sourceRoot":"","sources":["../../src/chat/use-stick-to-bottom.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAY/C,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACjD,kHAAkH;IAClH,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChD,+GAA+G;IAC/G,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,oFAAoF;IACpF,SAAS,EAAE,OAAO,CAAC;IACnB,iGAAiG;IACjG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,UAAU,EACV,GAAG,EACH,SAAS,EACT,MAAa,EACb,WAAW,GACZ,EAAE,uBAAuB;;;;EAmJzB"}