stream-chat-react 13.6.6 → 13.7.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/components/ChannelPreview/utils.js +3 -1
- package/dist/components/Chat/hooks/useChat.js +1 -1
- package/dist/components/Message/renderText/remarkPlugins/imageToLink.d.ts +12 -0
- package/dist/components/Message/renderText/remarkPlugins/imageToLink.js +27 -0
- package/dist/components/Message/renderText/remarkPlugins/index.d.ts +2 -0
- package/dist/components/Message/renderText/remarkPlugins/index.js +2 -0
- package/dist/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.d.ts +6 -0
- package/dist/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.js +64 -0
- package/dist/components/Message/renderText/renderText.js +4 -1
- package/dist/experimental/index.browser.cjs +105 -44
- package/dist/experimental/index.browser.cjs.map +4 -4
- package/dist/experimental/index.node.cjs +105 -44
- package/dist/experimental/index.node.cjs.map +4 -4
- package/dist/index.browser.cjs +157 -91
- package/dist/index.browser.cjs.map +4 -4
- package/dist/index.node.cjs +159 -91
- package/dist/index.node.cjs.map +4 -4
- package/package.json +1 -1
package/dist/index.browser.cjs
CHANGED
|
@@ -556,6 +556,7 @@ __export(src_exports, {
|
|
|
556
556
|
hasNotMoreMessages: () => hasNotMoreMessages,
|
|
557
557
|
hiTranslations: () => hi_default,
|
|
558
558
|
htmlToTextPlugin: () => htmlToTextPlugin,
|
|
559
|
+
imageToLink: () => imageToLink,
|
|
559
560
|
insertIntro: () => insertIntro,
|
|
560
561
|
isChannel: () => isChannel,
|
|
561
562
|
isChannelArchived: () => isChannelArchived,
|
|
@@ -597,6 +598,7 @@ __export(src_exports, {
|
|
|
597
598
|
moveChannelUp: () => moveChannelUp,
|
|
598
599
|
moveChannelUpwards: () => moveChannelUpwards,
|
|
599
600
|
nlTranslations: () => nl_default,
|
|
601
|
+
plusPlusToEmphasis: () => plusPlusToEmphasis,
|
|
600
602
|
processMessages: () => processMessages,
|
|
601
603
|
ptTranslations: () => pt_default,
|
|
602
604
|
reactionHandlerWarning: () => reactionHandlerWarning,
|
|
@@ -1537,10 +1539,10 @@ function WithComponents({
|
|
|
1537
1539
|
|
|
1538
1540
|
// src/components/Attachment/AttachmentActions.tsx
|
|
1539
1541
|
var UnMemoizedAttachmentActions = (props) => {
|
|
1540
|
-
const { actionHandler, actions, id, text:
|
|
1542
|
+
const { actionHandler, actions, id, text: text8 } = props;
|
|
1541
1543
|
const { t } = useTranslationContext("UnMemoizedAttachmentActions");
|
|
1542
1544
|
const handleActionClick = (event, name2, value) => actionHandler?.(name2, value, event);
|
|
1543
|
-
return /* @__PURE__ */ import_react19.default.createElement("div", { className: "str-chat__message-attachment-actions" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "str-chat__message-attachment-actions-form" }, /* @__PURE__ */ import_react19.default.createElement("span", null,
|
|
1545
|
+
return /* @__PURE__ */ import_react19.default.createElement("div", { className: "str-chat__message-attachment-actions" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "str-chat__message-attachment-actions-form" }, /* @__PURE__ */ import_react19.default.createElement("span", null, text8), actions.map((action) => /* @__PURE__ */ import_react19.default.createElement(
|
|
1544
1546
|
"button",
|
|
1545
1547
|
{
|
|
1546
1548
|
className: `str-chat__message-attachment-actions-button str-chat__message-attachment-actions-button--${action.style}`,
|
|
@@ -4529,7 +4531,7 @@ var useChannelSearch = ({
|
|
|
4529
4531
|
]
|
|
4530
4532
|
);
|
|
4531
4533
|
const getChannels = (0, import_react48.useCallback)(
|
|
4532
|
-
async (
|
|
4534
|
+
async (text8) => {
|
|
4533
4535
|
if (!searchForChannels && !searchForUsers) return;
|
|
4534
4536
|
let results2 = [];
|
|
4535
4537
|
const promises = [];
|
|
@@ -4539,7 +4541,7 @@ var useChannelSearch = ({
|
|
|
4539
4541
|
client.queryChannels(
|
|
4540
4542
|
{
|
|
4541
4543
|
members: { $in: [client.userID] },
|
|
4542
|
-
name: { $autocomplete:
|
|
4544
|
+
name: { $autocomplete: text8 },
|
|
4543
4545
|
...searchQueryParams?.channelFilters?.filters
|
|
4544
4546
|
},
|
|
4545
4547
|
searchQueryParams?.channelFilters?.sort || {},
|
|
@@ -4551,7 +4553,7 @@ var useChannelSearch = ({
|
|
|
4551
4553
|
promises.push(
|
|
4552
4554
|
client.queryUsers(
|
|
4553
4555
|
{
|
|
4554
|
-
$or: [{ id: { $autocomplete:
|
|
4556
|
+
$or: [{ id: { $autocomplete: text8 } }, { name: { $autocomplete: text8 } }],
|
|
4555
4557
|
...searchQueryParams?.userFilters?.filters
|
|
4556
4558
|
},
|
|
4557
4559
|
{ id: 1, ...searchQueryParams?.userFilters?.sort },
|
|
@@ -5131,12 +5133,12 @@ var UnMemoizedEmptyStateIndicator = (props) => {
|
|
|
5131
5133
|
const { t } = useTranslationContext("EmptyStateIndicator");
|
|
5132
5134
|
if (listType === "thread") return null;
|
|
5133
5135
|
if (listType === "channel") {
|
|
5134
|
-
const
|
|
5135
|
-
return /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, /* @__PURE__ */ import_react55.default.createElement("div", { className: "str-chat__channel-list-empty" }, /* @__PURE__ */ import_react55.default.createElement(ChatBubble, null), /* @__PURE__ */ import_react55.default.createElement("p", { role: "listitem" },
|
|
5136
|
+
const text8 = t("You have no channels currently");
|
|
5137
|
+
return /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, /* @__PURE__ */ import_react55.default.createElement("div", { className: "str-chat__channel-list-empty" }, /* @__PURE__ */ import_react55.default.createElement(ChatBubble, null), /* @__PURE__ */ import_react55.default.createElement("p", { role: "listitem" }, text8)));
|
|
5136
5138
|
}
|
|
5137
5139
|
if (listType === "message") {
|
|
5138
|
-
const
|
|
5139
|
-
return /* @__PURE__ */ import_react55.default.createElement("div", { className: "str-chat__empty-channel" }, /* @__PURE__ */ import_react55.default.createElement(ChatBubble, null), /* @__PURE__ */ import_react55.default.createElement("p", { className: "str-chat__empty-channel-text", role: "listitem" },
|
|
5140
|
+
const text8 = t("No chats here yet\u2026");
|
|
5141
|
+
return /* @__PURE__ */ import_react55.default.createElement("div", { className: "str-chat__empty-channel" }, /* @__PURE__ */ import_react55.default.createElement(ChatBubble, null), /* @__PURE__ */ import_react55.default.createElement("p", { className: "str-chat__empty-channel-text", role: "listitem" }, text8));
|
|
5140
5142
|
}
|
|
5141
5143
|
return /* @__PURE__ */ import_react55.default.createElement("p", null, "No items exist");
|
|
5142
5144
|
};
|
|
@@ -8346,7 +8348,7 @@ function resolveAllAttention(events, context) {
|
|
|
8346
8348
|
let index2 = -1;
|
|
8347
8349
|
let open;
|
|
8348
8350
|
let group;
|
|
8349
|
-
let
|
|
8351
|
+
let text8;
|
|
8350
8352
|
let openingSequence;
|
|
8351
8353
|
let closingSequence;
|
|
8352
8354
|
let use;
|
|
@@ -8384,7 +8386,7 @@ function resolveAllAttention(events, context) {
|
|
|
8384
8386
|
},
|
|
8385
8387
|
end
|
|
8386
8388
|
};
|
|
8387
|
-
|
|
8389
|
+
text8 = {
|
|
8388
8390
|
type: use > 1 ? "strongText" : "emphasisText",
|
|
8389
8391
|
start: {
|
|
8390
8392
|
...events[open][1].end
|
|
@@ -8412,9 +8414,9 @@ function resolveAllAttention(events, context) {
|
|
|
8412
8414
|
if (events[open][1].end.offset - events[open][1].start.offset) {
|
|
8413
8415
|
nextEvents = push(nextEvents, [["enter", events[open][1], context], ["exit", events[open][1], context]]);
|
|
8414
8416
|
}
|
|
8415
|
-
nextEvents = push(nextEvents, [["enter", group, context], ["enter", openingSequence, context], ["exit", openingSequence, context], ["enter",
|
|
8417
|
+
nextEvents = push(nextEvents, [["enter", group, context], ["enter", openingSequence, context], ["exit", openingSequence, context], ["enter", text8, context]]);
|
|
8416
8418
|
nextEvents = push(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index2), context));
|
|
8417
|
-
nextEvents = push(nextEvents, [["exit",
|
|
8419
|
+
nextEvents = push(nextEvents, [["exit", text8, context], ["enter", closingSequence, context], ["exit", closingSequence, context], ["exit", group, context]]);
|
|
8418
8420
|
if (events[index2][1].end.offset - events[index2][1].start.offset) {
|
|
8419
8421
|
offset = 2;
|
|
8420
8422
|
nextEvents = push(nextEvents, [["enter", events[index2][1], context], ["exit", events[index2][1], context]]);
|
|
@@ -9856,7 +9858,7 @@ function resolveHeadingAtx(events, context) {
|
|
|
9856
9858
|
let contentEnd = events.length - 2;
|
|
9857
9859
|
let contentStart = 3;
|
|
9858
9860
|
let content3;
|
|
9859
|
-
let
|
|
9861
|
+
let text8;
|
|
9860
9862
|
if (events[contentStart][1].type === "whitespace") {
|
|
9861
9863
|
contentStart += 2;
|
|
9862
9864
|
}
|
|
@@ -9872,13 +9874,13 @@ function resolveHeadingAtx(events, context) {
|
|
|
9872
9874
|
start: events[contentStart][1].start,
|
|
9873
9875
|
end: events[contentEnd][1].end
|
|
9874
9876
|
};
|
|
9875
|
-
|
|
9877
|
+
text8 = {
|
|
9876
9878
|
type: "chunkText",
|
|
9877
9879
|
start: events[contentStart][1].start,
|
|
9878
9880
|
end: events[contentEnd][1].end,
|
|
9879
9881
|
contentType: "text"
|
|
9880
9882
|
};
|
|
9881
|
-
splice(events, contentStart, contentEnd - contentStart + 1, [["enter", content3, context], ["enter",
|
|
9883
|
+
splice(events, contentStart, contentEnd - contentStart + 1, [["enter", content3, context], ["enter", text8, context], ["exit", text8, context], ["exit", content3, context]]);
|
|
9882
9884
|
}
|
|
9883
9885
|
return events;
|
|
9884
9886
|
}
|
|
@@ -10768,7 +10770,7 @@ function resolveToLabelEnd(events, context) {
|
|
|
10768
10770
|
...events[close][1].end
|
|
10769
10771
|
}
|
|
10770
10772
|
};
|
|
10771
|
-
const
|
|
10773
|
+
const text8 = {
|
|
10772
10774
|
type: "labelText",
|
|
10773
10775
|
start: {
|
|
10774
10776
|
...events[open + offset + 2][1].end
|
|
@@ -10779,9 +10781,9 @@ function resolveToLabelEnd(events, context) {
|
|
|
10779
10781
|
};
|
|
10780
10782
|
media = [["enter", group, context], ["enter", label, context]];
|
|
10781
10783
|
media = push(media, events.slice(open + 1, open + offset + 3));
|
|
10782
|
-
media = push(media, [["enter",
|
|
10784
|
+
media = push(media, [["enter", text8, context]]);
|
|
10783
10785
|
media = push(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context));
|
|
10784
|
-
media = push(media, [["exit",
|
|
10786
|
+
media = push(media, [["exit", text8, context], events[close - 2], events[close - 1], ["exit", label, context]]);
|
|
10785
10787
|
media = push(media, events.slice(close + 1));
|
|
10786
10788
|
media = push(media, [["exit", group, context]]);
|
|
10787
10789
|
splice(events, open, events.length, media);
|
|
@@ -11161,7 +11163,7 @@ var setextUnderline = {
|
|
|
11161
11163
|
function resolveToSetextUnderline(events, context) {
|
|
11162
11164
|
let index2 = events.length;
|
|
11163
11165
|
let content3;
|
|
11164
|
-
let
|
|
11166
|
+
let text8;
|
|
11165
11167
|
let definition3;
|
|
11166
11168
|
while (index2--) {
|
|
11167
11169
|
if (events[index2][0] === "enter") {
|
|
@@ -11170,7 +11172,7 @@ function resolveToSetextUnderline(events, context) {
|
|
|
11170
11172
|
break;
|
|
11171
11173
|
}
|
|
11172
11174
|
if (events[index2][1].type === "paragraph") {
|
|
11173
|
-
|
|
11175
|
+
text8 = index2;
|
|
11174
11176
|
}
|
|
11175
11177
|
} else {
|
|
11176
11178
|
if (events[index2][1].type === "content") {
|
|
@@ -11184,15 +11186,15 @@ function resolveToSetextUnderline(events, context) {
|
|
|
11184
11186
|
const heading3 = {
|
|
11185
11187
|
type: "setextHeading",
|
|
11186
11188
|
start: {
|
|
11187
|
-
...events[
|
|
11189
|
+
...events[text8][1].start
|
|
11188
11190
|
},
|
|
11189
11191
|
end: {
|
|
11190
11192
|
...events[events.length - 1][1].end
|
|
11191
11193
|
}
|
|
11192
11194
|
};
|
|
11193
|
-
events[
|
|
11195
|
+
events[text8][1].type = "setextHeadingText";
|
|
11194
11196
|
if (definition3) {
|
|
11195
|
-
events.splice(
|
|
11197
|
+
events.splice(text8, 0, ["enter", heading3, context]);
|
|
11196
11198
|
events.splice(definition3 + 1, 0, ["exit", events[content3][1], context]);
|
|
11197
11199
|
events[content3][1].end = {
|
|
11198
11200
|
...events[definition3][1].end
|
|
@@ -11296,10 +11298,10 @@ function initializeFactory(field) {
|
|
|
11296
11298
|
function initializeText(effects) {
|
|
11297
11299
|
const self2 = this;
|
|
11298
11300
|
const constructs2 = this.parser.constructs[field];
|
|
11299
|
-
const
|
|
11301
|
+
const text8 = effects.attempt(constructs2, start2, notText);
|
|
11300
11302
|
return start2;
|
|
11301
11303
|
function start2(code4) {
|
|
11302
|
-
return atBreak(code4) ?
|
|
11304
|
+
return atBreak(code4) ? text8(code4) : notText(code4);
|
|
11303
11305
|
}
|
|
11304
11306
|
function notText(code4) {
|
|
11305
11307
|
if (code4 === null) {
|
|
@@ -11313,7 +11315,7 @@ function initializeFactory(field) {
|
|
|
11313
11315
|
function data(code4) {
|
|
11314
11316
|
if (atBreak(code4)) {
|
|
11315
11317
|
effects.exit("data");
|
|
11316
|
-
return
|
|
11318
|
+
return text8(code4);
|
|
11317
11319
|
}
|
|
11318
11320
|
effects.consume(code4);
|
|
11319
11321
|
return data;
|
|
@@ -12332,7 +12334,7 @@ function compiler(options) {
|
|
|
12332
12334
|
const siblings = node2.children;
|
|
12333
12335
|
let tail = siblings[siblings.length - 1];
|
|
12334
12336
|
if (!tail || tail.type !== "text") {
|
|
12335
|
-
tail =
|
|
12337
|
+
tail = text8();
|
|
12336
12338
|
tail.position = {
|
|
12337
12339
|
start: point3(token.start),
|
|
12338
12340
|
// @ts-expect-error: we’ll add `end` later.
|
|
@@ -12577,7 +12579,7 @@ function compiler(options) {
|
|
|
12577
12579
|
children: []
|
|
12578
12580
|
};
|
|
12579
12581
|
}
|
|
12580
|
-
function
|
|
12582
|
+
function text8() {
|
|
12581
12583
|
return {
|
|
12582
12584
|
type: "text",
|
|
12583
12585
|
value: ""
|
|
@@ -12859,13 +12861,13 @@ function image(state, node2) {
|
|
|
12859
12861
|
|
|
12860
12862
|
// node_modules/mdast-util-to-hast/lib/handlers/inline-code.js
|
|
12861
12863
|
function inlineCode(state, node2) {
|
|
12862
|
-
const
|
|
12863
|
-
state.patch(node2,
|
|
12864
|
+
const text8 = { type: "text", value: node2.value.replace(/\r?\n|\r/g, " ") };
|
|
12865
|
+
state.patch(node2, text8);
|
|
12864
12866
|
const result = {
|
|
12865
12867
|
type: "element",
|
|
12866
12868
|
tagName: "code",
|
|
12867
12869
|
properties: {},
|
|
12868
|
-
children: [
|
|
12870
|
+
children: [text8]
|
|
12869
12871
|
};
|
|
12870
12872
|
state.patch(node2, result);
|
|
12871
12873
|
return state.applyData(node2, result);
|
|
@@ -15844,9 +15846,9 @@ var getReadByTooltipText = (users, t, client, tooltipUserNameMapper) => {
|
|
|
15844
15846
|
}
|
|
15845
15847
|
return outStr;
|
|
15846
15848
|
};
|
|
15847
|
-
var isOnlyEmojis = (
|
|
15848
|
-
if (!
|
|
15849
|
-
const noEmojis =
|
|
15849
|
+
var isOnlyEmojis = (text8) => {
|
|
15850
|
+
if (!text8) return false;
|
|
15851
|
+
const noEmojis = text8.replace((0, import_emoji_regex.default)(), "");
|
|
15850
15852
|
const noSpace = noEmojis.replace(/[\s\n]/gm, "");
|
|
15851
15853
|
return !noSpace;
|
|
15852
15854
|
};
|
|
@@ -16284,25 +16286,25 @@ var DEFAULT_RENDERING_LETTER_COUNT = 2;
|
|
|
16284
16286
|
var useMessageTextStreaming = ({
|
|
16285
16287
|
renderingLetterCount = DEFAULT_RENDERING_LETTER_COUNT,
|
|
16286
16288
|
streamingLetterIntervalMs = DEFAULT_LETTER_INTERVAL,
|
|
16287
|
-
text:
|
|
16289
|
+
text: text8
|
|
16288
16290
|
}) => {
|
|
16289
|
-
const [streamedMessageText, setStreamedMessageText] = (0, import_react79.useState)(
|
|
16290
|
-
const textCursor = (0, import_react79.useRef)(
|
|
16291
|
+
const [streamedMessageText, setStreamedMessageText] = (0, import_react79.useState)(text8);
|
|
16292
|
+
const textCursor = (0, import_react79.useRef)(text8.length);
|
|
16291
16293
|
(0, import_react79.useEffect)(() => {
|
|
16292
|
-
const textLength =
|
|
16294
|
+
const textLength = text8.length;
|
|
16293
16295
|
const interval = setInterval(() => {
|
|
16294
|
-
if (!
|
|
16296
|
+
if (!text8 || textCursor.current >= textLength) {
|
|
16295
16297
|
clearInterval(interval);
|
|
16296
16298
|
}
|
|
16297
16299
|
const newCursorValue = textCursor.current + renderingLetterCount;
|
|
16298
|
-
const newText =
|
|
16300
|
+
const newText = text8.substring(0, newCursorValue);
|
|
16299
16301
|
textCursor.current += newText.length - textCursor.current;
|
|
16300
16302
|
setStreamedMessageText(newText);
|
|
16301
16303
|
}, streamingLetterIntervalMs);
|
|
16302
16304
|
return () => {
|
|
16303
16305
|
clearInterval(interval);
|
|
16304
16306
|
};
|
|
16305
|
-
}, [streamingLetterIntervalMs, renderingLetterCount,
|
|
16307
|
+
}, [streamingLetterIntervalMs, renderingLetterCount, text8]);
|
|
16306
16308
|
return { streamedMessageText };
|
|
16307
16309
|
};
|
|
16308
16310
|
|
|
@@ -17371,8 +17373,8 @@ var MessageActionsWrapper = (props) => {
|
|
|
17371
17373
|
};
|
|
17372
17374
|
|
|
17373
17375
|
// src/components/Message/renderText/regex.ts
|
|
17374
|
-
function escapeRegExp(
|
|
17375
|
-
return
|
|
17376
|
+
function escapeRegExp(text8) {
|
|
17377
|
+
return text8.replace(/[-[\]{}()*+?.,/\\^$|#]/g, "\\$&");
|
|
17376
17378
|
}
|
|
17377
17379
|
var detectHttp = /(http(s?):\/\/)?(www\.)?/;
|
|
17378
17380
|
var messageCodeBlocks = (message) => {
|
|
@@ -17650,6 +17652,26 @@ var transform = (tree) => {
|
|
|
17650
17652
|
};
|
|
17651
17653
|
var htmlToTextPlugin = () => transform;
|
|
17652
17654
|
|
|
17655
|
+
// src/components/Message/renderText/remarkPlugins/imageToLink.ts
|
|
17656
|
+
var text5 = (value) => ({ type: "text", value });
|
|
17657
|
+
function imageToLink({ getTextLabelFrom = "url" } = {}) {
|
|
17658
|
+
return (tree) => {
|
|
17659
|
+
const visitor3 = (node2, index2, parent) => {
|
|
17660
|
+
if (parent == null || index2 == null) return;
|
|
17661
|
+
const label = node2[getTextLabelFrom] ?? node2.url;
|
|
17662
|
+
const link3 = {
|
|
17663
|
+
children: [text5(label)],
|
|
17664
|
+
title: node2.title ?? node2.alt ?? node2.url,
|
|
17665
|
+
type: "link",
|
|
17666
|
+
url: node2.url
|
|
17667
|
+
};
|
|
17668
|
+
parent.children.splice(index2, 1, link3);
|
|
17669
|
+
return [SKIP, index2 + 1];
|
|
17670
|
+
};
|
|
17671
|
+
visit(tree, "image", visitor3);
|
|
17672
|
+
};
|
|
17673
|
+
}
|
|
17674
|
+
|
|
17653
17675
|
// src/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.ts
|
|
17654
17676
|
var visitor2 = (node2, index2, parent) => {
|
|
17655
17677
|
if (!(index2 && parent && node2.position)) return;
|
|
@@ -17676,6 +17698,45 @@ var transform2 = (tree) => {
|
|
|
17676
17698
|
};
|
|
17677
17699
|
var keepLineBreaksPlugin = () => transform2;
|
|
17678
17700
|
|
|
17701
|
+
// src/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.ts
|
|
17702
|
+
var INS_REGEX = /\+\+(\S(?:[\s\S]*?\S)?)\+\+/g;
|
|
17703
|
+
var IGNORE_NODE_TYPES = /* @__PURE__ */ new Set([
|
|
17704
|
+
"code",
|
|
17705
|
+
"inlineCode",
|
|
17706
|
+
"link",
|
|
17707
|
+
"linkReference",
|
|
17708
|
+
"definition",
|
|
17709
|
+
"math",
|
|
17710
|
+
"inlineMath"
|
|
17711
|
+
]);
|
|
17712
|
+
var plusPlusToEmphasis = () => {
|
|
17713
|
+
const visitor3 = (node2, index2, parent) => {
|
|
17714
|
+
if (IGNORE_NODE_TYPES.has(node2.type)) return SKIP;
|
|
17715
|
+
if (node2.type !== "text" || parent == null || typeof index2 !== "number") return;
|
|
17716
|
+
const value = node2.value;
|
|
17717
|
+
INS_REGEX.lastIndex = 0;
|
|
17718
|
+
let match;
|
|
17719
|
+
let last = 0;
|
|
17720
|
+
const out = [];
|
|
17721
|
+
while (match = INS_REGEX.exec(value)) {
|
|
17722
|
+
const [full, inner] = match;
|
|
17723
|
+
const start2 = match.index;
|
|
17724
|
+
if (start2 > last) out.push({ type: "text", value: value.slice(last, start2) });
|
|
17725
|
+
out.push({
|
|
17726
|
+
children: [{ type: "text", value: inner }],
|
|
17727
|
+
data: { hName: "ins" },
|
|
17728
|
+
type: "emphasis"
|
|
17729
|
+
});
|
|
17730
|
+
last = start2 + full.length;
|
|
17731
|
+
}
|
|
17732
|
+
if (out.length === 0) return;
|
|
17733
|
+
if (last < value.length) out.push({ type: "text", value: value.slice(last) });
|
|
17734
|
+
parent.children.splice(index2, 1, ...out);
|
|
17735
|
+
return [SKIP, index2 + out.length];
|
|
17736
|
+
};
|
|
17737
|
+
return (tree) => visit(tree, visitor3);
|
|
17738
|
+
};
|
|
17739
|
+
|
|
17679
17740
|
// src/components/Message/renderText/renderText.tsx
|
|
17680
17741
|
var import_react103 = __toESM(require("react"));
|
|
17681
17742
|
var import_linkifyjs = require("linkifyjs");
|
|
@@ -18868,12 +18929,12 @@ function linkReference2(node2, _, state, info) {
|
|
|
18868
18929
|
let subexit = state.enter("label");
|
|
18869
18930
|
const tracker = state.createTracker(info);
|
|
18870
18931
|
let value = tracker.move("[");
|
|
18871
|
-
const
|
|
18932
|
+
const text8 = state.containerPhrasing(node2, {
|
|
18872
18933
|
before: value,
|
|
18873
18934
|
after: "]",
|
|
18874
18935
|
...tracker.current()
|
|
18875
18936
|
});
|
|
18876
|
-
value += tracker.move(
|
|
18937
|
+
value += tracker.move(text8 + "][");
|
|
18877
18938
|
subexit();
|
|
18878
18939
|
const stack = state.stack;
|
|
18879
18940
|
state.stack = [];
|
|
@@ -18886,7 +18947,7 @@ function linkReference2(node2, _, state, info) {
|
|
|
18886
18947
|
subexit();
|
|
18887
18948
|
state.stack = stack;
|
|
18888
18949
|
exit3();
|
|
18889
|
-
if (type === "full" || !
|
|
18950
|
+
if (type === "full" || !text8 || text8 !== reference) {
|
|
18890
18951
|
value += tracker.move(reference + "]");
|
|
18891
18952
|
} else if (type === "shortcut") {
|
|
18892
18953
|
value = value.slice(0, -1);
|
|
@@ -19131,7 +19192,7 @@ function strongPeek(_, _1, state) {
|
|
|
19131
19192
|
}
|
|
19132
19193
|
|
|
19133
19194
|
// node_modules/mdast-util-to-markdown/lib/handle/text.js
|
|
19134
|
-
function
|
|
19195
|
+
function text6(node2, _, state, info) {
|
|
19135
19196
|
return state.safe(node2.value, info);
|
|
19136
19197
|
}
|
|
19137
19198
|
|
|
@@ -19172,7 +19233,7 @@ var handle = {
|
|
|
19172
19233
|
paragraph: paragraph2,
|
|
19173
19234
|
root: root3,
|
|
19174
19235
|
strong: strong2,
|
|
19175
|
-
text:
|
|
19236
|
+
text: text6,
|
|
19176
19237
|
thematicBreak: thematicBreak3
|
|
19177
19238
|
};
|
|
19178
19239
|
|
|
@@ -19460,27 +19521,27 @@ var emailAutolink = {
|
|
|
19460
19521
|
tokenize: tokenizeEmailAutolink,
|
|
19461
19522
|
previous: previousEmail
|
|
19462
19523
|
};
|
|
19463
|
-
var
|
|
19524
|
+
var text7 = {};
|
|
19464
19525
|
function gfmAutolinkLiteral() {
|
|
19465
19526
|
return {
|
|
19466
|
-
text:
|
|
19527
|
+
text: text7
|
|
19467
19528
|
};
|
|
19468
19529
|
}
|
|
19469
19530
|
var code3 = 48;
|
|
19470
19531
|
while (code3 < 123) {
|
|
19471
|
-
|
|
19532
|
+
text7[code3] = emailAutolink;
|
|
19472
19533
|
code3++;
|
|
19473
19534
|
if (code3 === 58) code3 = 65;
|
|
19474
19535
|
else if (code3 === 91) code3 = 97;
|
|
19475
19536
|
}
|
|
19476
|
-
|
|
19477
|
-
|
|
19478
|
-
|
|
19479
|
-
|
|
19480
|
-
|
|
19481
|
-
|
|
19482
|
-
|
|
19483
|
-
|
|
19537
|
+
text7[43] = emailAutolink;
|
|
19538
|
+
text7[45] = emailAutolink;
|
|
19539
|
+
text7[46] = emailAutolink;
|
|
19540
|
+
text7[95] = emailAutolink;
|
|
19541
|
+
text7[72] = [emailAutolink, protocolAutolink];
|
|
19542
|
+
text7[104] = [emailAutolink, protocolAutolink];
|
|
19543
|
+
text7[87] = [emailAutolink, wwwAutolink];
|
|
19544
|
+
text7[119] = [emailAutolink, wwwAutolink];
|
|
19484
19545
|
function tokenizeEmailAutolink(effects, ok3, nok) {
|
|
19485
19546
|
const self2 = this;
|
|
19486
19547
|
let dot;
|
|
@@ -20079,17 +20140,17 @@ function gfmStrikethrough(options) {
|
|
|
20079
20140
|
start: Object.assign({}, events[open][1].start),
|
|
20080
20141
|
end: Object.assign({}, events[index2][1].end)
|
|
20081
20142
|
};
|
|
20082
|
-
const
|
|
20143
|
+
const text8 = {
|
|
20083
20144
|
type: "strikethroughText",
|
|
20084
20145
|
start: Object.assign({}, events[open][1].end),
|
|
20085
20146
|
end: Object.assign({}, events[index2][1].start)
|
|
20086
20147
|
};
|
|
20087
|
-
const nextEvents = [["enter", strikethrough2, context], ["enter", events[open][1], context], ["exit", events[open][1], context], ["enter",
|
|
20148
|
+
const nextEvents = [["enter", strikethrough2, context], ["enter", events[open][1], context], ["exit", events[open][1], context], ["enter", text8, context]];
|
|
20088
20149
|
const insideSpan2 = context.parser.constructs.insideSpan.null;
|
|
20089
20150
|
if (insideSpan2) {
|
|
20090
20151
|
splice(nextEvents, nextEvents.length, 0, resolveAll(insideSpan2, events.slice(open + 1, index2), context));
|
|
20091
20152
|
}
|
|
20092
|
-
splice(nextEvents, nextEvents.length, 0, [["exit",
|
|
20153
|
+
splice(nextEvents, nextEvents.length, 0, [["exit", text8, context], ["enter", events[index2][1], context], ["exit", events[index2][1], context], ["exit", strikethrough2, context]]);
|
|
20093
20154
|
splice(events, open - 1, index2 - open + 3, nextEvents);
|
|
20094
20155
|
index2 = open + nextEvents.length - 2;
|
|
20095
20156
|
break;
|
|
@@ -20787,7 +20848,8 @@ var defaultAllowedTagNames = [
|
|
|
20787
20848
|
"h3",
|
|
20788
20849
|
"h4",
|
|
20789
20850
|
"h5",
|
|
20790
|
-
"h6"
|
|
20851
|
+
"h6",
|
|
20852
|
+
"ins"
|
|
20791
20853
|
];
|
|
20792
20854
|
function formatUrlForDisplay(url) {
|
|
20793
20855
|
try {
|
|
@@ -20810,24 +20872,24 @@ var markDownRenderers = {
|
|
|
20810
20872
|
emoji: Emoji,
|
|
20811
20873
|
mention: Mention
|
|
20812
20874
|
};
|
|
20813
|
-
var renderText = (
|
|
20875
|
+
var renderText = (text8, mentionedUsers, {
|
|
20814
20876
|
allowedTagNames = defaultAllowedTagNames,
|
|
20815
20877
|
customMarkDownRenderers,
|
|
20816
20878
|
getRehypePlugins = getPluginsForward,
|
|
20817
20879
|
getRemarkPlugins = getPluginsForward
|
|
20818
20880
|
} = {}) => {
|
|
20819
|
-
if (!
|
|
20820
|
-
if (
|
|
20821
|
-
let newText =
|
|
20881
|
+
if (!text8) return null;
|
|
20882
|
+
if (text8.trim().length === 1) return /* @__PURE__ */ import_react103.default.createElement(import_react103.default.Fragment, null, text8);
|
|
20883
|
+
let newText = text8;
|
|
20822
20884
|
const markdownLinks = matchMarkdownLinks(newText);
|
|
20823
20885
|
const codeBlocks = messageCodeBlocks(newText);
|
|
20824
20886
|
const links = [...(0, import_linkifyjs.find)(newText, "email"), ...(0, import_linkifyjs.find)(newText, "url")];
|
|
20825
20887
|
for (let i = links.length - 1; i >= 0; i--) {
|
|
20826
20888
|
const { end, href, start: start2, type, value } = links[i];
|
|
20827
20889
|
const linkIsInBlock = codeBlocks.some((block) => block?.includes(value));
|
|
20828
|
-
const noParsingNeeded = markdownLinks && markdownLinks.filter((
|
|
20890
|
+
const noParsingNeeded = markdownLinks && markdownLinks.filter((text9) => {
|
|
20829
20891
|
const strippedHref = href?.replace(detectHttp, "");
|
|
20830
|
-
const strippedText =
|
|
20892
|
+
const strippedText = text9?.replace(detectHttp, "");
|
|
20831
20893
|
if (!strippedHref || !strippedText) return false;
|
|
20832
20894
|
return strippedHref.includes(strippedText) || strippedText.includes(strippedHref);
|
|
20833
20895
|
});
|
|
@@ -20849,13 +20911,15 @@ var renderText = (text7, mentionedUsers, {
|
|
|
20849
20911
|
const remarkPlugins2 = [
|
|
20850
20912
|
htmlToTextPlugin,
|
|
20851
20913
|
keepLineBreaksPlugin,
|
|
20852
|
-
[remarkGfm, { singleTilde: false }]
|
|
20914
|
+
[remarkGfm, { singleTilde: false }],
|
|
20915
|
+
plusPlusToEmphasis,
|
|
20916
|
+
imageToLink
|
|
20853
20917
|
];
|
|
20854
20918
|
const rehypePlugins = [emojiMarkdownPlugin];
|
|
20855
20919
|
if (mentionedUsers?.length) {
|
|
20856
20920
|
rehypePlugins.push(mentionsMarkdownPlugin(mentionedUsers));
|
|
20857
20921
|
}
|
|
20858
|
-
return /* @__PURE__ */ import_react103.default.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ import_react103.default.createElement(import_react103.default.Fragment, null,
|
|
20922
|
+
return /* @__PURE__ */ import_react103.default.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ import_react103.default.createElement(import_react103.default.Fragment, null, text8) }, /* @__PURE__ */ import_react103.default.createElement(
|
|
20859
20923
|
Markdown,
|
|
20860
20924
|
{
|
|
20861
20925
|
allowedElements: allowedTagNames,
|
|
@@ -21625,7 +21689,7 @@ var import_clsx27 = __toESM(require("clsx"));
|
|
|
21625
21689
|
// src/components/Form/FieldError.tsx
|
|
21626
21690
|
var import_clsx26 = __toESM(require("clsx"));
|
|
21627
21691
|
var import_react119 = __toESM(require("react"));
|
|
21628
|
-
var FieldError = ({ className, text:
|
|
21692
|
+
var FieldError = ({ className, text: text8, ...props }) => /* @__PURE__ */ import_react119.default.createElement("div", { ...props, className: (0, import_clsx26.default)("str-chat__form-field-error", className) }, text8);
|
|
21629
21693
|
|
|
21630
21694
|
// src/components/Dialog/FormDialog.tsx
|
|
21631
21695
|
var FormDialog = ({
|
|
@@ -23226,11 +23290,11 @@ var StreamedMessageText = (props) => {
|
|
|
23226
23290
|
} = props;
|
|
23227
23291
|
const { message: messageFromContext } = useMessageContext("StreamedMessageText");
|
|
23228
23292
|
const message = messageFromProps || messageFromContext;
|
|
23229
|
-
const { text:
|
|
23293
|
+
const { text: text8 = "" } = message;
|
|
23230
23294
|
const { streamedMessageText } = useMessageTextStreaming({
|
|
23231
23295
|
renderingLetterCount,
|
|
23232
23296
|
streamingLetterIntervalMs,
|
|
23233
|
-
text:
|
|
23297
|
+
text: text8
|
|
23234
23298
|
});
|
|
23235
23299
|
return /* @__PURE__ */ import_react155.default.createElement(
|
|
23236
23300
|
MessageText,
|
|
@@ -28015,10 +28079,10 @@ var import_react175 = __toESM(require("react"));
|
|
|
28015
28079
|
var UnMemoizedEventComponent = (props) => {
|
|
28016
28080
|
const { Avatar: Avatar2 = Avatar, calendar: calendar3, calendarFormats, format, message } = props;
|
|
28017
28081
|
const { t, tDateTimeParser } = useTranslationContext("EventComponent");
|
|
28018
|
-
const { created_at = "", event, text:
|
|
28082
|
+
const { created_at = "", event, text: text8, type } = message;
|
|
28019
28083
|
const getDateOptions = { messageCreatedAt: created_at.toString(), tDateTimeParser };
|
|
28020
28084
|
if (type === "system")
|
|
28021
|
-
return /* @__PURE__ */ import_react175.default.createElement("div", { className: "str-chat__message--system", "data-testid": "message-system" }, /* @__PURE__ */ import_react175.default.createElement("div", { className: "str-chat__message--system__text" }, /* @__PURE__ */ import_react175.default.createElement("div", { className: "str-chat__message--system__line" }), /* @__PURE__ */ import_react175.default.createElement("p", null,
|
|
28085
|
+
return /* @__PURE__ */ import_react175.default.createElement("div", { className: "str-chat__message--system", "data-testid": "message-system" }, /* @__PURE__ */ import_react175.default.createElement("div", { className: "str-chat__message--system__text" }, /* @__PURE__ */ import_react175.default.createElement("div", { className: "str-chat__message--system__line" }), /* @__PURE__ */ import_react175.default.createElement("p", null, text8), /* @__PURE__ */ import_react175.default.createElement("div", { className: "str-chat__message--system__line" })), /* @__PURE__ */ import_react175.default.createElement("div", { className: "str-chat__message--system__date" }, /* @__PURE__ */ import_react175.default.createElement("strong", null, getDateString({
|
|
28022
28086
|
...getDateOptions,
|
|
28023
28087
|
calendar: calendar3,
|
|
28024
28088
|
calendarFormats,
|
|
@@ -30019,9 +30083,11 @@ var Message = (props) => {
|
|
|
30019
30083
|
// src/components/ChannelPreview/utils.tsx
|
|
30020
30084
|
var remarkPlugins = [
|
|
30021
30085
|
htmlToTextPlugin,
|
|
30022
|
-
[remarkGfm, { singleTilde: false }]
|
|
30086
|
+
[remarkGfm, { singleTilde: false }],
|
|
30087
|
+
plusPlusToEmphasis,
|
|
30088
|
+
imageToLink
|
|
30023
30089
|
];
|
|
30024
|
-
var renderPreviewText = (
|
|
30090
|
+
var renderPreviewText = (text8) => /* @__PURE__ */ import_react200.default.createElement(Markdown, { remarkPlugins, skipHtml: true }, text8);
|
|
30025
30091
|
var getLatestPollVote = (latestVotesByOption) => {
|
|
30026
30092
|
let latestVote;
|
|
30027
30093
|
for (const optionVotes of Object.values(latestVotesByOption)) {
|
|
@@ -33388,7 +33454,7 @@ var TextareaComposer = ({
|
|
|
33388
33454
|
const shouldSubmit = shouldSubmitProp ?? shouldSubmitContext ?? defaultShouldSubmit;
|
|
33389
33455
|
const messageComposer = useMessageComposer();
|
|
33390
33456
|
const { textComposer } = messageComposer;
|
|
33391
|
-
const { selection, suggestions, text:
|
|
33457
|
+
const { selection, suggestions, text: text8 } = useStateStore(
|
|
33392
33458
|
textComposer.state,
|
|
33393
33459
|
textComposerStateSelector2
|
|
33394
33460
|
);
|
|
@@ -33515,15 +33581,15 @@ var TextareaComposer = ({
|
|
|
33515
33581
|
(0, import_react256.useLayoutEffect)(() => {
|
|
33516
33582
|
const textarea = textareaRef.current;
|
|
33517
33583
|
if (!textarea || isComposing) return;
|
|
33518
|
-
if (textarea.value !==
|
|
33519
|
-
textarea.value =
|
|
33584
|
+
if (textarea.value !== text8) {
|
|
33585
|
+
textarea.value = text8;
|
|
33520
33586
|
}
|
|
33521
33587
|
const length = textarea.value.length;
|
|
33522
33588
|
const start2 = Math.max(0, Math.min(selection.start, length));
|
|
33523
33589
|
const end = Math.max(start2, Math.min(selection.end, length));
|
|
33524
33590
|
if (textarea.selectionStart === start2 && textarea.selectionEnd === end) return;
|
|
33525
33591
|
textarea.setSelectionRange(start2, end, "forward");
|
|
33526
|
-
}, [
|
|
33592
|
+
}, [text8, selection.start, selection.end, isComposing, textareaRef]);
|
|
33527
33593
|
return /* @__PURE__ */ import_react256.default.createElement(
|
|
33528
33594
|
"div",
|
|
33529
33595
|
{
|
|
@@ -34175,12 +34241,12 @@ var CardHeader = (props) => {
|
|
|
34175
34241
|
) : null;
|
|
34176
34242
|
};
|
|
34177
34243
|
var CardContent = (props) => {
|
|
34178
|
-
const { author_name, og_scrape_url, text:
|
|
34244
|
+
const { author_name, og_scrape_url, text: text8, title, title_link, type } = props;
|
|
34179
34245
|
const url = title_link || og_scrape_url;
|
|
34180
|
-
return /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-card--content" }, type === "audio" ? /* @__PURE__ */ import_react266.default.createElement(CardAudio, { og: props }) : /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-card--flex" }, url && /* @__PURE__ */ import_react266.default.createElement(SourceLink, { author_name, url }), title && /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-card--title" }, title),
|
|
34246
|
+
return /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-card--content" }, type === "audio" ? /* @__PURE__ */ import_react266.default.createElement(CardAudio, { og: props }) : /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-card--flex" }, url && /* @__PURE__ */ import_react266.default.createElement(SourceLink, { author_name, url }), title && /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-card--title" }, title), text8 && /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-card--text" }, text8)));
|
|
34181
34247
|
};
|
|
34182
34248
|
var CardAudio = ({
|
|
34183
|
-
og: { asset_url, author_name, mime_type, og_scrape_url, text:
|
|
34249
|
+
og: { asset_url, author_name, mime_type, og_scrape_url, text: text8, title, title_link }
|
|
34184
34250
|
}) => {
|
|
34185
34251
|
const { audioRef, isPlaying, progress, seek, togglePlay } = useAudioController({
|
|
34186
34252
|
mimeType: mime_type
|
|
@@ -34188,7 +34254,7 @@ var CardAudio = ({
|
|
|
34188
34254
|
const url = title_link || og_scrape_url;
|
|
34189
34255
|
const dataTestId = "card-audio-widget";
|
|
34190
34256
|
const rootClassName2 = "str-chat__message-attachment-card-audio-widget";
|
|
34191
|
-
return /* @__PURE__ */ import_react266.default.createElement("div", { className: rootClassName2, "data-testid": dataTestId }, asset_url && /* @__PURE__ */ import_react266.default.createElement(import_react266.default.Fragment, null, /* @__PURE__ */ import_react266.default.createElement("audio", { ref: audioRef }, /* @__PURE__ */ import_react266.default.createElement("source", { "data-testid": "audio-source", src: asset_url, type: "audio/mp3" })), /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-card-audio-widget--first-row" }, /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-audio-widget--play-controls" }, /* @__PURE__ */ import_react266.default.createElement(PlayButton, { isPlaying, onClick: togglePlay })), /* @__PURE__ */ import_react266.default.createElement(ProgressBar, { onClick: seek, progress }))), /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-audio-widget--second-row" }, url && /* @__PURE__ */ import_react266.default.createElement(SourceLink, { author_name, url }), title && /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-audio-widget--title" }, title),
|
|
34257
|
+
return /* @__PURE__ */ import_react266.default.createElement("div", { className: rootClassName2, "data-testid": dataTestId }, asset_url && /* @__PURE__ */ import_react266.default.createElement(import_react266.default.Fragment, null, /* @__PURE__ */ import_react266.default.createElement("audio", { ref: audioRef }, /* @__PURE__ */ import_react266.default.createElement("source", { "data-testid": "audio-source", src: asset_url, type: "audio/mp3" })), /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-card-audio-widget--first-row" }, /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-audio-widget--play-controls" }, /* @__PURE__ */ import_react266.default.createElement(PlayButton, { isPlaying, onClick: togglePlay })), /* @__PURE__ */ import_react266.default.createElement(ProgressBar, { onClick: seek, progress }))), /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-audio-widget--second-row" }, url && /* @__PURE__ */ import_react266.default.createElement(SourceLink, { author_name, url }), title && /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-audio-widget--title" }, title), text8 && /* @__PURE__ */ import_react266.default.createElement("div", { className: "str-chat__message-attachment-audio-widget--description" }, text8)));
|
|
34192
34258
|
};
|
|
34193
34259
|
var UnMemoizedCard = (props) => {
|
|
34194
34260
|
const { asset_url, giphy, image_url, thumb_url, title, title_link, type } = props;
|
|
@@ -35051,12 +35117,12 @@ var useChannelContainerClasses = ({
|
|
|
35051
35117
|
|
|
35052
35118
|
// src/components/Channel/utils.ts
|
|
35053
35119
|
var import_nanoid7 = require("nanoid");
|
|
35054
|
-
var makeAddNotifications = (setNotifications, notificationTimeouts) => (
|
|
35055
|
-
if (typeof
|
|
35120
|
+
var makeAddNotifications = (setNotifications, notificationTimeouts) => (text8, type) => {
|
|
35121
|
+
if (typeof text8 !== "string" || type !== "success" && type !== "error") {
|
|
35056
35122
|
return;
|
|
35057
35123
|
}
|
|
35058
35124
|
const id = (0, import_nanoid7.nanoid)();
|
|
35059
|
-
setNotifications((prevNotifications) => [...prevNotifications, { id, text:
|
|
35125
|
+
setNotifications((prevNotifications) => [...prevNotifications, { id, text: text8, type }]);
|
|
35060
35126
|
const timeout = setTimeout(
|
|
35061
35127
|
() => setNotifications(
|
|
35062
35128
|
(prevNotifications) => prevNotifications.filter((notification) => notification.id !== id)
|
|
@@ -36171,7 +36237,7 @@ var useChat = ({
|
|
|
36171
36237
|
};
|
|
36172
36238
|
(0, import_react282.useEffect)(() => {
|
|
36173
36239
|
if (!client) return;
|
|
36174
|
-
const version = "13.
|
|
36240
|
+
const version = "13.7.0";
|
|
36175
36241
|
const userAgent = client.getUserAgent();
|
|
36176
36242
|
if (!userAgent.includes("stream-chat-react")) {
|
|
36177
36243
|
client.setUserAgent(`stream-chat-react-${version}-${userAgent}`);
|