@linktr.ee/messaging-react 4.2.0-rc-1787181113 → 4.2.0-rc-1787181256

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/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-BcU18EjV.cjs");exports.ActionButton=e.ActionButton;exports.Avatar=e.Avatar;exports.ChannelEmptyState=e.ChannelEmptyState;exports.ChannelList=e.ChannelList;exports.ChannelView=e.ChannelView;exports.CustomMessageProvider=e.CustomMessageProvider;exports.FaqList=e.FaqList;exports.FaqListItem=e.FaqListItem;exports.LinkAttachment=e.LinkAttachment;exports.LockedAttachment=e.LockedAttachment;exports.MediaMessage=e.MediaMessage;exports.MessageAttachment=e.MessageAttachment;exports.MessageBubble=e.MessageBubble;exports.MessagingLoggerProvider=e.MessagingLoggerProvider;exports.MessagingProvider=e.MessagingProvider;exports.MessagingShell=e.MessagingShell;exports.RichCard=e.RichCard;exports.TipMessage=e.TipMessage;exports.buildCompactMetaLabel=e.buildCompactMetaLabel;exports.formatFileSize=e.formatFileSize;exports.formatRelativeTime=e.formatRelativeTime;exports.getFileExtensionLabel=e.getFileExtensionLabel;exports.getMessageDisplayText=e.getMessageDisplayText;exports.isLinkAttachment=e.isLinkAttachment;exports.isTipMessage=e.isTipMessage;exports.isUuidLike=e.isUuidLike;exports.messageAttachmentGroupPositionFromStream=e.bubbleGroupPositionFromStream;exports.normalizeLanguageCode=e.normalizeLanguageCode;exports.optimizeMessagingAttachmentUrl=e.optimizeMessagingAttachmentUrl;exports.resolveConversationParticipant=e.resolveConversationParticipant;exports.resolveLinkAttachment=e.resolveLinkAttachment;exports.resolveMediaFromMessage=e.resolveMediaFromMessage;exports.resolveParticipantDisplayName=e.resolveParticipantDisplayName;exports.useComposerLocked=e.useComposerLocked;exports.useCustomMessage=e.useCustomMessage;exports.useMessaging=e.useMessaging;exports.useMessagingLogger=e.useMessagingLogger;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-D9hvmfn3.cjs");exports.ActionButton=e.ActionButton;exports.Avatar=e.Avatar;exports.ChannelEmptyState=e.ChannelEmptyState;exports.ChannelList=e.ChannelList;exports.ChannelView=e.ChannelView;exports.CustomMessageProvider=e.CustomMessageProvider;exports.FaqList=e.FaqList;exports.FaqListItem=e.FaqListItem;exports.LinkAttachment=e.LinkAttachment;exports.LockedAttachment=e.LockedAttachment;exports.MediaMessage=e.MediaMessage;exports.MessageAttachment=e.MessageAttachment;exports.MessageBubble=e.MessageBubble;exports.MessagingLoggerProvider=e.MessagingLoggerProvider;exports.MessagingProvider=e.MessagingProvider;exports.MessagingShell=e.MessagingShell;exports.RichCard=e.RichCard;exports.TipMessage=e.TipMessage;exports.buildCompactMetaLabel=e.buildCompactMetaLabel;exports.formatFileSize=e.formatFileSize;exports.formatRelativeTime=e.formatRelativeTime;exports.getFileExtensionLabel=e.getFileExtensionLabel;exports.getMessageDisplayText=e.getMessageDisplayText;exports.isLinkAttachment=e.isLinkAttachment;exports.isTipMessage=e.isTipMessage;exports.isUuidLike=e.isUuidLike;exports.messageAttachmentGroupPositionFromStream=e.bubbleGroupPositionFromStream;exports.normalizeLanguageCode=e.normalizeLanguageCode;exports.optimizeMessagingAttachmentUrl=e.optimizeMessagingAttachmentUrl;exports.resolveConversationParticipant=e.resolveConversationParticipant;exports.resolveLinkAttachment=e.resolveLinkAttachment;exports.resolveMediaFromMessage=e.resolveMediaFromMessage;exports.resolveParticipantDisplayName=e.resolveParticipantDisplayName;exports.useComposerLocked=e.useComposerLocked;exports.useCustomMessage=e.useCustomMessage;exports.useMessaging=e.useMessaging;exports.useMessagingLogger=e.useMessagingLogger;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as e, b as t, C as i, c as n, d as o, e as g, F as r, f as m, L as l, h as M, M as c, i as L, j as h, k as p, l as u, m as d, R as v, T as C, n as A, p as k, q as F, s as b, t as P, u as T, v as f, w as x, x as y, y as z, o as S, z as q, B, D, E, G as R, H as w, I as G, J as I } from "./index-6RdyZh6F.js";
1
+ import { a as e, b as t, C as i, c as n, d as o, e as g, F as r, f as m, L as l, h as M, M as c, i as L, j as h, k as p, l as u, m as d, R as v, T as C, n as A, p as k, q as F, s as b, t as P, u as T, v as f, w as x, x as y, y as z, o as S, z as q, B, D, E, G as R, H as w, I as G, J as I } from "./index-pjcNrxVo.js";
2
2
  export {
3
3
  e as ActionButton,
4
4
  t as Avatar,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linktr.ee/messaging-react",
3
- "version": "4.2.0-rc-1787181113",
3
+ "version": "4.2.0-rc-1787181256",
4
4
  "description": "React messaging components built on messaging-core for web applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -50,7 +50,7 @@
50
50
  "chromatic:local": "yarn storybook:build && chromatic"
51
51
  },
52
52
  "dependencies": {
53
- "@linktr.ee/messaging-core": "2.5.0-rc-1787181113",
53
+ "@linktr.ee/messaging-core": "2.5.0-rc-1787181256",
54
54
  "@linktr.ee/messaging-taxonomy": "^0.10.0",
55
55
  "@phosphor-icons/react": "^2.1.10"
56
56
  },
@@ -560,13 +560,27 @@ describe('MessagingProvider', () => {
560
560
  logger: sink,
561
561
  })
562
562
 
563
- expect(serviceLogger(service)).toBe(sink)
563
+ expect(serviceLogger(service).error).toBe(sink.error)
564
564
 
565
565
  const error = new Error('boom')
566
566
  logger.error?.('[MessagingShell] Failed:', error)
567
567
  expect(sink.error).toHaveBeenCalledWith('[MessagingShell] Failed:', error)
568
568
  })
569
569
 
570
+ it('resolves a partial prop sink before handing it to the service', async () => {
571
+ const consoleWarn = vi.spyOn(console, 'warn').mockImplementation(() => {})
572
+ const sink: Logger = { error: vi.fn() }
573
+ const { service } = await renderWithLogger({
574
+ serviceConfig: baseServiceConfig,
575
+ logger: sink,
576
+ })
577
+
578
+ // The service swaps its own console defaults out wholesale, so an
579
+ // unresolved partial sink would silence the levels it omits.
580
+ serviceLogger(service).warn?.('[StreamChatService] Slow:', 1)
581
+ expect(consoleWarn).toHaveBeenCalledWith('[StreamChatService] Slow:', 1)
582
+ })
583
+
570
584
  it('lets an explicit serviceConfig.logger win over the logger prop', async () => {
571
585
  const configSink: Logger = { error: vi.fn() }
572
586
  const propSink: Logger = { error: vi.fn() }
@@ -13,7 +13,7 @@ import React, {
13
13
  import { StreamChat } from 'stream-chat'
14
14
  import { Chat } from 'stream-chat-react'
15
15
 
16
- import { MessagingLoggerProvider } from '../logging'
16
+ import { MessagingLoggerProvider, resolveLogger } from '../logging'
17
17
  import type { MessagingProviderProps, MessagingCapabilities } from '../types'
18
18
 
19
19
  /**
@@ -204,9 +204,10 @@ export const MessagingProvider: React.FC<MessagingProviderProps> = ({
204
204
  debug: debugRef.current,
205
205
  client: chatClient,
206
206
  // An explicit serviceConfig.logger wins — existing injectors keep working.
207
+ // Resolved, because the service swaps its console defaults out wholesale.
207
208
  ...(currentConfig.logger || !loggerRef.current
208
209
  ? {}
209
- : { logger: loggerRef.current }),
210
+ : { logger: resolveLogger(loggerRef.current) }),
210
211
  })
211
212
 
212
213
  serviceRef.current = newService