stream-chat-react 10.10.1 → 10.11.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/browser.full-bundle.js +192 -101
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +5 -5
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +27 -8
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.js +6 -2
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js +19 -7
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +6 -2
- package/dist/components/ChannelList/utils.d.ts +1 -8
- package/dist/components/ChannelList/utils.d.ts.map +1 -1
- package/dist/components/ChannelList/utils.js +1 -35
- package/dist/components/Message/MessageSimple.d.ts.map +1 -1
- package/dist/components/Message/MessageSimple.js +10 -3
- package/dist/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
- package/dist/components/Message/hooks/useReactionHandler.js +17 -21
- package/dist/components/MessageInput/CooldownTimer.js +1 -1
- package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCooldownTimer.js +5 -2
- package/dist/context/MessageContext.d.ts +3 -1
- package/dist/context/MessageContext.d.ts.map +1 -1
- package/dist/context/TranslationContext.d.ts +1 -1
- package/dist/context/TranslationContext.d.ts.map +1 -1
- package/dist/i18n/Streami18n.d.ts +9 -3
- package/dist/i18n/Streami18n.d.ts.map +1 -1
- package/dist/i18n/Streami18n.js +18 -11
- package/dist/index.cjs.js +178 -101
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/utils/getChannel.d.ts +20 -0
- package/dist/utils/getChannel.d.ts.map +1 -0
- package/dist/utils/getChannel.js +58 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
|
@@ -9993,6 +9993,24 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
9993
9993
|
|
|
9994
9994
|
var relativeTime = relativeTime$1.exports;
|
|
9995
9995
|
|
|
9996
|
+
var utc$1 = {exports: {}};
|
|
9997
|
+
|
|
9998
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
9999
|
+
(function (module, exports) {
|
|
10000
|
+
!function(t,i){module.exports=i();}(commonjsGlobal,function(){return function(t,i,e){var s=i.prototype;e.utc=function(t){return new i({date:t,utc:!0,args:arguments})},s.utc=function(t){var i=e(this.toDate(),{locale:this.$L,utc:!0});return t?i.add(this.utcOffset(),"minute"):i},s.local=function(){return e(this.toDate(),{locale:this.$L,utc:!1})};var f=s.parse;s.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),f.call(this,t);};var n=s.init;s.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else n.call(this);};var u=s.utcOffset;s.utcOffset=function(t,i){var e=this.$utils().u;if(e(t))return this.$u?0:e(this.$offset)?u.call(this):this.$offset;var s=Math.abs(t)<=16?60*t:t,f=this;if(i)return f.$offset=s,f.$u=0===t,f;if(0!==t){var n=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(f=this.local().add(s+n,"minute")).$offset=s,f.$x.$localOffset=n;}else f=this.utc();return f};var o=s.format;s.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return o.call(this,i)},s.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*t},s.isUTC=function(){return !!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var r=s.toDate;s.toDate=function(t){return "s"===t&&this.$offset?e(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():r.call(this)};var a=s.diff;s.diff=function(t,i,s){if(t&&this.$u===t.$u)return a.call(this,t,i,s);var f=this.local(),n=e(t).local();return a.call(f,n,i,s)};}});
|
|
10001
|
+
} (utc$1));
|
|
10002
|
+
|
|
10003
|
+
var utc = utc$1.exports;
|
|
10004
|
+
|
|
10005
|
+
var timezone$1 = {exports: {}};
|
|
10006
|
+
|
|
10007
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
10008
|
+
(function (module, exports) {
|
|
10009
|
+
!function(t,e){module.exports=e();}(commonjsGlobal,function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,r){var o,u=r().utcOffset(),a=function(t,n,i){void 0===i&&(i={});var r=new Date(t);return function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",r=t+"|"+i,o=e[r];return o||(o=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[r]=o),o}(n,i).formatToParts(r)},f=function(e,n){for(var i=a(e,n),o=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(o[c]=parseInt(m,10));}var d=o[3],v=24===d?0:d,h=o[0]+"-"+o[1]+"-"+o[2]+" "+v+":"+o[4]+":"+o[5]+":000",l=+e;return (r.utc(h).valueOf()-(l-=l%1e3))/6e4},s=i.prototype;s.tz=function(t,e){void 0===t&&(t=o);var n=this.utcOffset(),i=this.toDate().toLocaleString("en-US",{timeZone:t}),a=Math.round((this.toDate()-new Date(i))/1e3/60),f=r(i).$set("millisecond",this.$ms).utcOffset(u-a,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},s.offsetName=function(t){var e=this.$x.$timezone||r.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find(function(t){return "timezonename"===t.type.toLowerCase()});return n&&n.value};var m=s.startOf;s.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return m.call(this,t,e);var n=r(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return m.call(n,t,e).tz(this.$x.$timezone,!0)},r.tz=function(t,e,n){var i=n&&e,u=n||e||o,a=f(+r(),u);if("string"!=typeof t)return r(t).tz(u);var s=function(t,e,n){var i=t-60*e*1e3,r=f(i,n);if(e===r)return [i,e];var o=f(i-=60*(r-e)*1e3,n);return r===o?[i,r]:[t-60*Math.min(r,o)*1e3,Math.max(r,o)]}(r.utc(t,i).valueOf(),a,u),m=s[0],c=s[1],d=r(m).utcOffset(c);return d.$x.$timezone=u,d},r.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},r.tz.setDefault=function(t){o=t;};}});
|
|
10010
|
+
} (timezone$1));
|
|
10011
|
+
|
|
10012
|
+
var timezone = timezone$1.exports;
|
|
10013
|
+
|
|
9996
10014
|
var de$3 = {exports: {}};
|
|
9997
10015
|
|
|
9998
10016
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
@@ -10080,6 +10098,8 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
10080
10098
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var defaultNS = 'translation';
|
|
10081
10099
|
var defaultLng = 'en';
|
|
10082
10100
|
dayjs_minExports.extend(updateLocale);
|
|
10101
|
+
dayjs_minExports.extend(utc);
|
|
10102
|
+
dayjs_minExports.extend(timezone);
|
|
10083
10103
|
dayjs_minExports.updateLocale('de', {
|
|
10084
10104
|
calendar: {
|
|
10085
10105
|
lastDay: '[gestern um] LT',
|
|
@@ -10248,6 +10268,9 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
10248
10268
|
var isDayJs = function (dateTimeParser) {
|
|
10249
10269
|
return dateTimeParser.extend !== undefined;
|
|
10250
10270
|
};
|
|
10271
|
+
var supportsTz = function (dateTimeParser) {
|
|
10272
|
+
return dateTimeParser.tz !== undefined;
|
|
10273
|
+
};
|
|
10251
10274
|
/**
|
|
10252
10275
|
* Wrapper around [i18next](https://www.i18next.com/) class for Stream related translations.
|
|
10253
10276
|
* Instance of this class should be provided to Chat component to handle translations.
|
|
@@ -10491,6 +10514,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
10491
10514
|
this.logger = finalOptions.logger;
|
|
10492
10515
|
this.currentLanguage = finalOptions.language;
|
|
10493
10516
|
this.DateTimeParser = finalOptions.DateTimeParser;
|
|
10517
|
+
this.timezone = finalOptions.timezone;
|
|
10494
10518
|
try {
|
|
10495
10519
|
if (this.DateTimeParser && isDayJs(this.DateTimeParser)) {
|
|
10496
10520
|
this.DateTimeParser.extend(localizedFormat);
|
|
@@ -10540,19 +10564,18 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
10540
10564
|
"register the locale config with Streami18n using registerTranslation(language, translation, customDayjsLocale)");
|
|
10541
10565
|
}
|
|
10542
10566
|
this.tDateTimeParser = function (timestamp) {
|
|
10543
|
-
|
|
10544
|
-
|
|
10545
|
-
|
|
10546
|
-
*/
|
|
10547
|
-
if (isDayJs(_this.DateTimeParser)) {
|
|
10548
|
-
return _this.DateTimeParser(timestamp).locale(defaultLng);
|
|
10549
|
-
}
|
|
10550
|
-
return _this.DateTimeParser(timestamp).locale(defaultLng);
|
|
10551
|
-
}
|
|
10567
|
+
var language = finalOptions.disableDateTimeTranslations || !_this.localeExists(_this.currentLanguage)
|
|
10568
|
+
? defaultLng
|
|
10569
|
+
: _this.currentLanguage;
|
|
10552
10570
|
if (isDayJs(_this.DateTimeParser)) {
|
|
10553
|
-
return _this.DateTimeParser
|
|
10571
|
+
return supportsTz(_this.DateTimeParser)
|
|
10572
|
+
? _this.DateTimeParser(timestamp).tz(_this.timezone).locale(language)
|
|
10573
|
+
: _this.DateTimeParser(timestamp).locale(language);
|
|
10574
|
+
}
|
|
10575
|
+
if (supportsTz(_this.DateTimeParser) && _this.timezone) {
|
|
10576
|
+
return _this.DateTimeParser(timestamp).tz(_this.timezone).locale(language);
|
|
10554
10577
|
}
|
|
10555
|
-
return _this.DateTimeParser(timestamp).locale(
|
|
10578
|
+
return _this.DateTimeParser(timestamp).locale(language);
|
|
10556
10579
|
};
|
|
10557
10580
|
}
|
|
10558
10581
|
/**
|
|
@@ -42937,7 +42960,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
42937
42960
|
}, 1000);
|
|
42938
42961
|
return function () { return clearInterval(countdownInterval); };
|
|
42939
42962
|
});
|
|
42940
|
-
return (React__default["default"].createElement("div", { className: 'str-chat__message-input-cooldown', "data-testid": 'cooldown-timer' }, seconds
|
|
42963
|
+
return (React__default["default"].createElement("div", { className: 'str-chat__message-input-cooldown', "data-testid": 'cooldown-timer' }, seconds));
|
|
42941
42964
|
};
|
|
42942
42965
|
|
|
42943
42966
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useCommandTrigger = function () {
|
|
@@ -43653,9 +43676,12 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
43653
43676
|
}, [messages, (_a = client.user) === null || _a === void 0 ? void 0 : _a.id, latestMessageDatesByChannels, channel.cid]);
|
|
43654
43677
|
React$2.useEffect(function () {
|
|
43655
43678
|
var timeSinceOwnLastMessage = ownLatestMessageDate
|
|
43656
|
-
?
|
|
43679
|
+
? // prevent negative values
|
|
43680
|
+
Math.max(0, (new Date().getTime() - ownLatestMessageDate.getTime()) / 1000)
|
|
43657
43681
|
: undefined;
|
|
43658
|
-
setCooldownRemaining(!skipCooldown &&
|
|
43682
|
+
setCooldownRemaining(!skipCooldown &&
|
|
43683
|
+
typeof timeSinceOwnLastMessage !== 'undefined' &&
|
|
43684
|
+
cooldownInterval > timeSinceOwnLastMessage
|
|
43659
43685
|
? Math.round(cooldownInterval - timeSinceOwnLastMessage)
|
|
43660
43686
|
: 0);
|
|
43661
43687
|
}, [cooldownInterval, ownLatestMessageDate, skipCooldown]);
|
|
@@ -45098,6 +45124,13 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
45098
45124
|
if (message.deleted_at || message.type === 'deleted') {
|
|
45099
45125
|
return React__default["default"].createElement(MessageDeleted$1, { message: message });
|
|
45100
45126
|
}
|
|
45127
|
+
/** FIXME: isReactionEnabled should be removed with next major version and a proper centralized permissions logic should be put in place
|
|
45128
|
+
* With the current permissions implementation it would be sth like:
|
|
45129
|
+
* const messageActions = getMessageActions();
|
|
45130
|
+
* const canReact = messageActions.includes(MESSAGE_ACTIONS.react);
|
|
45131
|
+
*/
|
|
45132
|
+
var canReact = isReactionEnabled;
|
|
45133
|
+
var canShowReactions = hasReactions;
|
|
45101
45134
|
var showMetadata = !groupedByUser || endOfGroup;
|
|
45102
45135
|
var showReplyCountButton = !threadList && !!message.reply_count;
|
|
45103
45136
|
var allowRetry = message.status === 'failed' && message.errorStatusCode !== 403;
|
|
@@ -45107,7 +45140,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
45107
45140
|
'pinned-message': message.pinned,
|
|
45108
45141
|
'str-chat__message--has-attachment': hasAttachment,
|
|
45109
45142
|
'str-chat__message--highlighted': highlighted,
|
|
45110
|
-
'str-chat__message--with-reactions str-chat__message-with-thread-link':
|
|
45143
|
+
'str-chat__message--with-reactions str-chat__message-with-thread-link': canShowReactions,
|
|
45111
45144
|
'str-chat__message-send-can-be-retried': (message === null || message === void 0 ? void 0 : message.status) === 'failed' && (message === null || message === void 0 ? void 0 : message.errorStatusCode) !== 403,
|
|
45112
45145
|
'str-chat__virtual-message__wrapper--end': endOfGroup,
|
|
45113
45146
|
'str-chat__virtual-message__wrapper--first': firstOfGroup,
|
|
@@ -45124,8 +45157,8 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
45124
45157
|
}), "data-testid": 'message-inner', onClick: allowRetry ? function () { return handleRetry(message); } : undefined, onKeyUp: allowRetry ? function () { return handleRetry(message); } : undefined },
|
|
45125
45158
|
React__default["default"].createElement(MessageOptions$1, null),
|
|
45126
45159
|
React__default["default"].createElement("div", { className: 'str-chat__message-reactions-host' },
|
|
45127
|
-
|
|
45128
|
-
showDetailedReactions &&
|
|
45160
|
+
canShowReactions && React__default["default"].createElement(ReactionsList$1, { reverse: true }),
|
|
45161
|
+
showDetailedReactions && canReact && React__default["default"].createElement(ReactionSelector$1, { ref: reactionSelectorRef })),
|
|
45129
45162
|
React__default["default"].createElement("div", { className: 'str-chat__message-bubble' },
|
|
45130
45163
|
((_a = message.attachments) === null || _a === void 0 ? void 0 : _a.length) && !message.quoted_message ? (React__default["default"].createElement(Attachment, { actionHandler: handleAction, attachments: message.attachments })) : null,
|
|
45131
45164
|
React__default["default"].createElement(MessageText, { message: message, renderText: renderText }),
|
|
@@ -45406,6 +45439,64 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
45406
45439
|
notificationTimeouts.push(timeout);
|
|
45407
45440
|
}; };
|
|
45408
45441
|
|
|
45442
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};/**
|
|
45443
|
+
* prevent from duplicate invocation of channel.watch()
|
|
45444
|
+
* when events 'notification.message_new' and 'notification.added_to_channel' arrive at the same time
|
|
45445
|
+
*/
|
|
45446
|
+
var WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL = {};
|
|
45447
|
+
/**
|
|
45448
|
+
* Calls channel.watch() if it was not already recently called. Waits for watch promise to resolve even if it was invoked previously.
|
|
45449
|
+
* @param client
|
|
45450
|
+
* @param members
|
|
45451
|
+
* @param type
|
|
45452
|
+
* @param id
|
|
45453
|
+
* @param channel
|
|
45454
|
+
*/
|
|
45455
|
+
var getChannel = function (_a) {
|
|
45456
|
+
var channel = _a.channel, client = _a.client, id = _a.id, members = _a.members, type = _a.type;
|
|
45457
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
45458
|
+
var theChannel, originalCid, queryPromise;
|
|
45459
|
+
return __generator(this, function (_b) {
|
|
45460
|
+
switch (_b.label) {
|
|
45461
|
+
case 0:
|
|
45462
|
+
if (!channel && !type) {
|
|
45463
|
+
throw new Error('Channel or channel type have to be provided to query a channel.');
|
|
45464
|
+
}
|
|
45465
|
+
theChannel = channel || client.channel(type, id, { members: members });
|
|
45466
|
+
originalCid = (theChannel === null || theChannel === void 0 ? void 0 : theChannel.id)
|
|
45467
|
+
? theChannel.cid
|
|
45468
|
+
: members && members.length
|
|
45469
|
+
? generateChannelTempCid(theChannel.type, members)
|
|
45470
|
+
: undefined;
|
|
45471
|
+
if (!originalCid) {
|
|
45472
|
+
throw new Error('Channel ID or channel members array have to be provided to query a channel.');
|
|
45473
|
+
}
|
|
45474
|
+
queryPromise = WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
|
|
45475
|
+
if (!queryPromise) return [3 /*break*/, 2];
|
|
45476
|
+
return [4 /*yield*/, queryPromise];
|
|
45477
|
+
case 1:
|
|
45478
|
+
_b.sent();
|
|
45479
|
+
return [3 /*break*/, 4];
|
|
45480
|
+
case 2:
|
|
45481
|
+
WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid] = theChannel.watch();
|
|
45482
|
+
return [4 /*yield*/, WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid]];
|
|
45483
|
+
case 3:
|
|
45484
|
+
_b.sent();
|
|
45485
|
+
delete WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
|
|
45486
|
+
_b.label = 4;
|
|
45487
|
+
case 4: return [2 /*return*/, theChannel];
|
|
45488
|
+
}
|
|
45489
|
+
});
|
|
45490
|
+
});
|
|
45491
|
+
};
|
|
45492
|
+
// Channels created without ID need to be referenced by an identifier until the back-end generates the final ID.
|
|
45493
|
+
var generateChannelTempCid = function (channelType, members) {
|
|
45494
|
+
if (!members)
|
|
45495
|
+
return;
|
|
45496
|
+
var membersStr = __spreadArray([], members, true).sort().join(',');
|
|
45497
|
+
return "".concat(channelType, ":!members-").concat(membersStr);
|
|
45498
|
+
};
|
|
45499
|
+
|
|
45409
45500
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChannelContainerClasses = function (_a) {
|
|
45410
45501
|
var _b, _c, _d;
|
|
45411
45502
|
var customClasses = _a.customClasses;
|
|
@@ -45648,22 +45739,40 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
45648
45739
|
markRead();
|
|
45649
45740
|
};
|
|
45650
45741
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
45651
|
-
var config, e_1;
|
|
45652
|
-
|
|
45653
|
-
|
|
45742
|
+
var members, _i, _a, member, userId, _b, user, user_id, config, e_1;
|
|
45743
|
+
var _c;
|
|
45744
|
+
return __generator(this, function (_d) {
|
|
45745
|
+
switch (_d.label) {
|
|
45654
45746
|
case 0:
|
|
45655
45747
|
if (!!channel.initialized) return [3 /*break*/, 4];
|
|
45656
|
-
|
|
45748
|
+
_d.label = 1;
|
|
45657
45749
|
case 1:
|
|
45658
|
-
|
|
45659
|
-
|
|
45750
|
+
_d.trys.push([1, 3, , 4]);
|
|
45751
|
+
members = [];
|
|
45752
|
+
if (!channel.id && ((_c = channel.data) === null || _c === void 0 ? void 0 : _c.members)) {
|
|
45753
|
+
for (_i = 0, _a = channel.data.members; _i < _a.length; _i++) {
|
|
45754
|
+
member = _a[_i];
|
|
45755
|
+
userId = void 0;
|
|
45756
|
+
if (typeof member === 'string') {
|
|
45757
|
+
userId = member;
|
|
45758
|
+
}
|
|
45759
|
+
else if (typeof member === 'object') {
|
|
45760
|
+
_b = member, user = _b.user, user_id = _b.user_id;
|
|
45761
|
+
userId = user_id || (user === null || user === void 0 ? void 0 : user.id);
|
|
45762
|
+
}
|
|
45763
|
+
if (userId) {
|
|
45764
|
+
members.push(userId);
|
|
45765
|
+
}
|
|
45766
|
+
}
|
|
45767
|
+
}
|
|
45768
|
+
return [4 /*yield*/, getChannel({ channel: channel, client: client, members: members })];
|
|
45660
45769
|
case 2:
|
|
45661
|
-
|
|
45770
|
+
_d.sent();
|
|
45662
45771
|
config = channel.getConfig();
|
|
45663
45772
|
setChannelConfig(config);
|
|
45664
45773
|
return [3 /*break*/, 4];
|
|
45665
45774
|
case 3:
|
|
45666
|
-
e_1 =
|
|
45775
|
+
e_1 = _d.sent();
|
|
45667
45776
|
dispatch({ error: e_1, type: 'setError' });
|
|
45668
45777
|
errored = true;
|
|
45669
45778
|
return [3 /*break*/, 4];
|
|
@@ -46399,52 +46508,6 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
46399
46508
|
}, [customHandler]);
|
|
46400
46509
|
};
|
|
46401
46510
|
|
|
46402
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};/**
|
|
46403
|
-
* prevent from duplicate invocation of channel.watch()
|
|
46404
|
-
* when events 'notification.message_new' and 'notification.added_to_channel' arrive at the same time
|
|
46405
|
-
*/
|
|
46406
|
-
var WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL = {};
|
|
46407
|
-
/**
|
|
46408
|
-
* Calls channel.watch() if it was not already recently called. Waits for watch promise to resolve even if it was invoked previously.
|
|
46409
|
-
* @param client
|
|
46410
|
-
* @param type
|
|
46411
|
-
* @param id
|
|
46412
|
-
*/
|
|
46413
|
-
var getChannel = function (client, type, id) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46414
|
-
var channel, queryPromise;
|
|
46415
|
-
return __generator(this, function (_a) {
|
|
46416
|
-
switch (_a.label) {
|
|
46417
|
-
case 0:
|
|
46418
|
-
channel = client.channel(type, id);
|
|
46419
|
-
queryPromise = WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid];
|
|
46420
|
-
if (!queryPromise) return [3 /*break*/, 2];
|
|
46421
|
-
return [4 /*yield*/, queryPromise];
|
|
46422
|
-
case 1:
|
|
46423
|
-
_a.sent();
|
|
46424
|
-
return [3 /*break*/, 4];
|
|
46425
|
-
case 2:
|
|
46426
|
-
WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid] = channel.watch();
|
|
46427
|
-
return [4 /*yield*/, WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid]];
|
|
46428
|
-
case 3:
|
|
46429
|
-
_a.sent();
|
|
46430
|
-
WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[channel.cid] = undefined;
|
|
46431
|
-
_a.label = 4;
|
|
46432
|
-
case 4: return [2 /*return*/, channel];
|
|
46433
|
-
}
|
|
46434
|
-
});
|
|
46435
|
-
}); };
|
|
46436
|
-
var MAX_QUERY_CHANNELS_LIMIT = 30;
|
|
46437
|
-
var moveChannelUp = function (_a) {
|
|
46438
|
-
var activeChannel = _a.activeChannel, channels = _a.channels, cid = _a.cid;
|
|
46439
|
-
// get index of channel to move up
|
|
46440
|
-
var channelIndex = channels.findIndex(function (channel) { return channel.cid === cid; });
|
|
46441
|
-
if (!activeChannel && channelIndex <= 0)
|
|
46442
|
-
return channels;
|
|
46443
|
-
// get channel to move up
|
|
46444
|
-
var channel = activeChannel || channels[channelIndex];
|
|
46445
|
-
return uniqBy(__spreadArray([channel], channels, true), 'cid');
|
|
46446
|
-
};
|
|
46447
|
-
|
|
46448
46511
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChannelVisibleListener = function (setChannels, customHandler) {
|
|
46449
46512
|
var client = useChatContext('useChannelVisibleListener').client;
|
|
46450
46513
|
React$2.useEffect(function () {
|
|
@@ -46458,7 +46521,11 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
46458
46521
|
return [3 /*break*/, 3];
|
|
46459
46522
|
case 1:
|
|
46460
46523
|
if (!(event.type && event.channel_type && event.channel_id)) return [3 /*break*/, 3];
|
|
46461
|
-
return [4 /*yield*/, getChannel(
|
|
46524
|
+
return [4 /*yield*/, getChannel({
|
|
46525
|
+
client: client,
|
|
46526
|
+
id: event.channel_id,
|
|
46527
|
+
type: event.channel_type,
|
|
46528
|
+
})];
|
|
46462
46529
|
case 2:
|
|
46463
46530
|
channel_1 = _a.sent();
|
|
46464
46531
|
setChannels(function (channels) { return uniqBy(__spreadArray([channel_1], channels, true), 'cid'); });
|
|
@@ -46489,6 +46556,18 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
46489
46556
|
}, []);
|
|
46490
46557
|
};
|
|
46491
46558
|
|
|
46559
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var MAX_QUERY_CHANNELS_LIMIT = 30;
|
|
46560
|
+
var moveChannelUp = function (_a) {
|
|
46561
|
+
var activeChannel = _a.activeChannel, channels = _a.channels, cid = _a.cid;
|
|
46562
|
+
// get index of channel to move up
|
|
46563
|
+
var channelIndex = channels.findIndex(function (channel) { return channel.cid === cid; });
|
|
46564
|
+
if (!activeChannel && channelIndex <= 0)
|
|
46565
|
+
return channels;
|
|
46566
|
+
// get channel to move up
|
|
46567
|
+
var channel = activeChannel || channels[channelIndex];
|
|
46568
|
+
return uniqBy(__spreadArray([channel], channels, true), 'cid');
|
|
46569
|
+
};
|
|
46570
|
+
|
|
46492
46571
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useMessageNewListener = function (setChannels, lockChannelOrder, allowNewMessagesFromUnfilteredChannels) {
|
|
46493
46572
|
if (lockChannelOrder === void 0) { lockChannelOrder = false; }
|
|
46494
46573
|
if (allowNewMessagesFromUnfilteredChannels === void 0) { allowNewMessagesFromUnfilteredChannels = true; }
|
|
@@ -46536,20 +46615,32 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
46536
46615
|
React$2.useEffect(function () {
|
|
46537
46616
|
var handleEvent = function (event) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46538
46617
|
var channel_1;
|
|
46539
|
-
var _a;
|
|
46540
|
-
return __generator(this, function (
|
|
46541
|
-
switch (
|
|
46618
|
+
var _a, _b;
|
|
46619
|
+
return __generator(this, function (_c) {
|
|
46620
|
+
switch (_c.label) {
|
|
46542
46621
|
case 0:
|
|
46543
46622
|
if (!(customHandler && typeof customHandler === 'function')) return [3 /*break*/, 1];
|
|
46544
46623
|
customHandler(setChannels, event);
|
|
46545
46624
|
return [3 /*break*/, 3];
|
|
46546
46625
|
case 1:
|
|
46547
46626
|
if (!(allowNewMessagesFromUnfilteredChannels && ((_a = event.channel) === null || _a === void 0 ? void 0 : _a.type))) return [3 /*break*/, 3];
|
|
46548
|
-
return [4 /*yield*/, getChannel(
|
|
46627
|
+
return [4 /*yield*/, getChannel({
|
|
46628
|
+
client: client,
|
|
46629
|
+
id: event.channel.id,
|
|
46630
|
+
members: (_b = event.channel.members) === null || _b === void 0 ? void 0 : _b.reduce(function (acc, _a) {
|
|
46631
|
+
var user = _a.user, user_id = _a.user_id;
|
|
46632
|
+
var userId = user_id || (user === null || user === void 0 ? void 0 : user.id);
|
|
46633
|
+
if (userId) {
|
|
46634
|
+
acc.push(userId);
|
|
46635
|
+
}
|
|
46636
|
+
return acc;
|
|
46637
|
+
}, []),
|
|
46638
|
+
type: event.channel.type,
|
|
46639
|
+
})];
|
|
46549
46640
|
case 2:
|
|
46550
|
-
channel_1 =
|
|
46641
|
+
channel_1 = _c.sent();
|
|
46551
46642
|
setChannels(function (channels) { return uniqBy(__spreadArray([channel_1], channels, true), 'cid'); });
|
|
46552
|
-
|
|
46643
|
+
_c.label = 3;
|
|
46553
46644
|
case 3: return [2 /*return*/];
|
|
46554
46645
|
}
|
|
46555
46646
|
});
|
|
@@ -46576,7 +46667,11 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
46576
46667
|
return [3 /*break*/, 3];
|
|
46577
46668
|
case 1:
|
|
46578
46669
|
if (!(allowNewMessagesFromUnfilteredChannels && ((_a = event.channel) === null || _a === void 0 ? void 0 : _a.type))) return [3 /*break*/, 3];
|
|
46579
|
-
return [4 /*yield*/, getChannel(
|
|
46670
|
+
return [4 /*yield*/, getChannel({
|
|
46671
|
+
client: client,
|
|
46672
|
+
id: event.channel.id,
|
|
46673
|
+
type: event.channel.type,
|
|
46674
|
+
})];
|
|
46580
46675
|
case 2:
|
|
46581
46676
|
channel_1 = _b.sent();
|
|
46582
46677
|
setChannels(function (channels) { return uniqBy(__spreadArray([channel_1], channels, true), 'cid'); });
|
|
@@ -47345,7 +47440,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
47345
47440
|
|
|
47346
47441
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
47347
47442
|
|
|
47348
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '10.
|
|
47443
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '10.11.0';
|
|
47349
47444
|
|
|
47350
47445
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
|
|
47351
47446
|
var _b, _c;
|
|
@@ -48013,7 +48108,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
48013
48108
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var reactionHandlerWarning = "Reaction handler was called, but it is missing one of its required arguments.\nMake sure the ChannelAction and ChannelState contexts are properly set and the hook is initialized with a valid message.";
|
|
48014
48109
|
var useReactionHandler = function (message) {
|
|
48015
48110
|
var updateMessage = useChannelActionContext('useReactionHandler').updateMessage;
|
|
48016
|
-
var
|
|
48111
|
+
var _a = useChannelStateContext('useReactionHandler'), channel = _a.channel, channelCapabilities = _a.channelCapabilities;
|
|
48017
48112
|
var client = useChatContext('useReactionHandler').client;
|
|
48018
48113
|
var createMessagePreview = React$2.useCallback(function (add, reaction, message) {
|
|
48019
48114
|
var _a, _b;
|
|
@@ -48037,7 +48132,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
48037
48132
|
? __spreadArray([reaction], ((message === null || message === void 0 ? void 0 : message.own_reactions) || []), true) : (_b = message === null || message === void 0 ? void 0 : message.own_reactions) === null || _b === void 0 ? void 0 : _b.filter(function (item) { return item.type !== reaction.type; });
|
|
48038
48133
|
return __assign(__assign({}, message), { latest_reactions: newReactions || message.latest_reactions, own_reactions: newOwnReactions, reaction_counts: newReactionCounts, reaction_scores: newReactionCounts });
|
|
48039
48134
|
}, [client.user, client.userID]);
|
|
48040
|
-
var
|
|
48135
|
+
var createReactionPreview = function (type) {
|
|
48041
48136
|
var _a;
|
|
48042
48137
|
return ({
|
|
48043
48138
|
message_id: message === null || message === void 0 ? void 0 : message.id,
|
|
@@ -48049,33 +48144,32 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
48049
48144
|
};
|
|
48050
48145
|
var toggleReaction = lodash_throttle(function (id, type, add) { return __awaiter(void 0, void 0, void 0, function () {
|
|
48051
48146
|
var newReaction, tempMessage, messageResponse, _a;
|
|
48052
|
-
|
|
48053
|
-
|
|
48054
|
-
switch (_c.label) {
|
|
48147
|
+
return __generator(this, function (_b) {
|
|
48148
|
+
switch (_b.label) {
|
|
48055
48149
|
case 0:
|
|
48056
|
-
if (!message ||
|
|
48150
|
+
if (!message || !channelCapabilities['send-reaction'])
|
|
48057
48151
|
return [2 /*return*/];
|
|
48058
|
-
newReaction =
|
|
48152
|
+
newReaction = createReactionPreview(type);
|
|
48059
48153
|
tempMessage = createMessagePreview(add, newReaction, message);
|
|
48060
|
-
|
|
48154
|
+
_b.label = 1;
|
|
48061
48155
|
case 1:
|
|
48062
|
-
|
|
48156
|
+
_b.trys.push([1, 6, , 7]);
|
|
48063
48157
|
updateMessage(tempMessage);
|
|
48064
48158
|
if (!add) return [3 /*break*/, 3];
|
|
48065
48159
|
return [4 /*yield*/, channel.sendReaction(id, { type: type })];
|
|
48066
48160
|
case 2:
|
|
48067
|
-
_a =
|
|
48161
|
+
_a = _b.sent();
|
|
48068
48162
|
return [3 /*break*/, 5];
|
|
48069
48163
|
case 3: return [4 /*yield*/, channel.deleteReaction(id, type)];
|
|
48070
48164
|
case 4:
|
|
48071
|
-
_a =
|
|
48072
|
-
|
|
48165
|
+
_a = _b.sent();
|
|
48166
|
+
_b.label = 5;
|
|
48073
48167
|
case 5:
|
|
48074
48168
|
messageResponse = _a;
|
|
48075
48169
|
updateMessage(messageResponse.message);
|
|
48076
48170
|
return [3 /*break*/, 7];
|
|
48077
48171
|
case 6:
|
|
48078
|
-
|
|
48172
|
+
_b.sent();
|
|
48079
48173
|
// revert to the original message if the API call fails
|
|
48080
48174
|
updateMessage(message);
|
|
48081
48175
|
return [3 /*break*/, 7];
|
|
@@ -48130,12 +48224,10 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
48130
48224
|
}); };
|
|
48131
48225
|
};
|
|
48132
48226
|
var useReactionClick = function (message, reactionSelectorRef, messageWrapperRef, closeReactionSelectorOnClick) {
|
|
48133
|
-
var _a;
|
|
48134
|
-
var _b =
|
|
48135
|
-
var _d = React$2.useState(false), showDetailedReactions = _d[0], setShowDetailedReactions = _d[1];
|
|
48227
|
+
var _a = useChannelStateContext('useReactionClick').channelCapabilities, channelCapabilities = _a === void 0 ? {} : _a;
|
|
48228
|
+
var _b = React$2.useState(false), showDetailedReactions = _b[0], setShowDetailedReactions = _b[1];
|
|
48136
48229
|
var hasListener = React$2.useRef(false);
|
|
48137
|
-
var
|
|
48138
|
-
var isReactionEnabled = ((channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.reactions) !== false && channelCapabilities['send-reaction']) || isFrozen;
|
|
48230
|
+
var isReactionEnabled = channelCapabilities['send-reaction'];
|
|
48139
48231
|
var messageDeleted = !!(message === null || message === void 0 ? void 0 : message.deleted_at);
|
|
48140
48232
|
var closeDetailedReactions = React$2.useCallback(function (event) {
|
|
48141
48233
|
var _a;
|
|
@@ -48183,9 +48275,8 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
48183
48275
|
}
|
|
48184
48276
|
}, [messageDeleted, closeDetailedReactions, messageWrapperRef]);
|
|
48185
48277
|
var onReactionListClick = function (event) {
|
|
48186
|
-
|
|
48187
|
-
|
|
48188
|
-
}
|
|
48278
|
+
var _a;
|
|
48279
|
+
(_a = event === null || event === void 0 ? void 0 : event.stopPropagation) === null || _a === void 0 ? void 0 : _a.call(event);
|
|
48189
48280
|
setShowDetailedReactions(function (prev) { return !prev; });
|
|
48190
48281
|
};
|
|
48191
48282
|
return {
|