stream-chat-react-native-core 5.39.4 → 5.39.5-beta.1

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.
@@ -12,10 +12,11 @@ var getDateSeparators = function getDateSeparators(params) {
12
12
  return dateSeparators;
13
13
  }
14
14
  var messagesWithoutDeleted = messages.filter(function (message) {
15
- var _message$user;
15
+ var _message$user, _message$user2;
16
16
  var isMessageTypeDeleted = message.type === 'deleted';
17
17
  var isDeletedMessageVisibleToSender = deletedMessagesVisibilityType === 'sender' || deletedMessagesVisibilityType === 'always';
18
- return !isMessageTypeDeleted || userId === ((_message$user = message.user) == null ? void 0 : _message$user.id) && isDeletedMessageVisibleToSender;
18
+ var isDeletedMessageVisibleToReceiver = deletedMessagesVisibilityType === 'receiver' || deletedMessagesVisibilityType === 'always';
19
+ return !isMessageTypeDeleted || userId === ((_message$user = message.user) == null ? void 0 : _message$user.id) && isDeletedMessageVisibleToSender || userId !== ((_message$user2 = message.user) == null ? void 0 : _message$user2.id) && isDeletedMessageVisibleToReceiver;
19
20
  });
20
21
  for (var i = 0; i < messagesWithoutDeleted.length; i++) {
21
22
  var previousMessage = messagesWithoutDeleted[i - 1];
@@ -1 +1 @@
1
- {"version":3,"names":["getDateSeparators","params","deletedMessagesVisibilityType","hideDateSeparators","messages","userId","dateSeparators","messagesWithoutDeleted","filter","message","_message$user","isMessageTypeDeleted","type","isDeletedMessageVisibleToSender","user","id","i","length","previousMessage","messageDate","created_at","toDateString","prevMessageDate","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getDateSeparators.ts"],"mappings":";;;;AAoBO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAG5BC,MAAmD,EAChD;EACH,IAAQC,6BAA6B,GAA2CD,MAAM,CAA9EC,6BAA6B;IAAEC,kBAAkB,GAAuBF,MAAM,CAA/CE,kBAAkB;IAAEC,QAAQ,GAAaH,MAAM,CAA3BG,QAAQ;IAAEC,MAAM,GAAKJ,MAAM,CAAjBI,MAAM;EAC3E,IAAMC,cAA8B,GAAG,CAAC,CAAC;EAEzC,IAAIH,kBAAkB,EAAE;IACtB,OAAOG,cAAc;EACvB;EAEA,IAAMC,sBAAsB,GAAGH,QAAQ,CAACI,MAAM,CAAC,UAACC,OAAO,EAAK;IAAA,IAAAC,aAAA;IAC1D,IAAMC,oBAAoB,GAAGF,OAAO,CAACG,IAAI,KAAK,SAAS;IAEvD,IAAMC,+BAA+B,GACnCX,6BAA6B,KAAK,QAAQ,IAAIA,6BAA6B,KAAK,QAAQ;IAE1F,OACE,CAACS,oBAAoB,IAAKN,MAAM,OAAAK,aAAA,GAAKD,OAAO,CAACK,IAAI,qBAAZJ,aAAA,CAAcK,EAAE,KAAIF,+BAAgC;EAE7F,CAAC,CAAC;EAEF,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,sBAAsB,CAACU,MAAM,EAAED,CAAC,EAAE,EAAE;IACtD,IAAME,eAAe,GAAGX,sBAAsB,CAACS,CAAC,GAAG,CAAC,CAAC;IACrD,IAAMP,OAAO,GAAGF,sBAAsB,CAACS,CAAC,CAAC;IAEzC,IAAMG,WAAW,GAAGV,OAAO,CAACW,UAAU,CAACC,YAAY,CAAC,CAAC;IAErD,IAAMC,eAAe,GAAGJ,eAAe,GACnCA,eAAe,CAACE,UAAU,CAACC,YAAY,CAAC,CAAC,GACzCF,WAAW;IAEf,IAAIH,CAAC,KAAK,CAAC,IAAIG,WAAW,KAAKG,eAAe,EAAE;MAC9ChB,cAAc,CAACG,OAAO,CAACM,EAAE,CAAC,GAAGN,OAAO,CAACW,UAAU;IACjD;EACF;EAEA,OAAOd,cAAc;AACvB,CAAC;AAACiB,OAAA,CAAAvB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["getDateSeparators","params","deletedMessagesVisibilityType","hideDateSeparators","messages","userId","dateSeparators","messagesWithoutDeleted","filter","message","_message$user","_message$user2","isMessageTypeDeleted","type","isDeletedMessageVisibleToSender","isDeletedMessageVisibleToReceiver","user","id","i","length","previousMessage","messageDate","created_at","toDateString","prevMessageDate","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getDateSeparators.ts"],"mappings":";;;;AAoBO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAG5BC,MAAmD,EAChD;EACH,IAAQC,6BAA6B,GAA2CD,MAAM,CAA9EC,6BAA6B;IAAEC,kBAAkB,GAAuBF,MAAM,CAA/CE,kBAAkB;IAAEC,QAAQ,GAAaH,MAAM,CAA3BG,QAAQ;IAAEC,MAAM,GAAKJ,MAAM,CAAjBI,MAAM;EAC3E,IAAMC,cAA8B,GAAG,CAAC,CAAC;EAEzC,IAAIH,kBAAkB,EAAE;IACtB,OAAOG,cAAc;EACvB;EAEA,IAAMC,sBAAsB,GAAGH,QAAQ,CAACI,MAAM,CAAC,UAACC,OAAO,EAAK;IAAA,IAAAC,aAAA,EAAAC,cAAA;IAC1D,IAAMC,oBAAoB,GAAGH,OAAO,CAACI,IAAI,KAAK,SAAS;IAEvD,IAAMC,+BAA+B,GACnCZ,6BAA6B,KAAK,QAAQ,IAAIA,6BAA6B,KAAK,QAAQ;IAE1F,IAAMa,iCAAiC,GACrCb,6BAA6B,KAAK,UAAU,IAAIA,6BAA6B,KAAK,QAAQ;IAE5F,OACE,CAACU,oBAAoB,IACpBP,MAAM,OAAAK,aAAA,GAAKD,OAAO,CAACO,IAAI,qBAAZN,aAAA,CAAcO,EAAE,KAAIH,+BAAgC,IAC/DT,MAAM,OAAAM,cAAA,GAAKF,OAAO,CAACO,IAAI,qBAAZL,cAAA,CAAcM,EAAE,KAAIF,iCAAkC;EAEtE,CAAC,CAAC;EAEF,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,sBAAsB,CAACY,MAAM,EAAED,CAAC,EAAE,EAAE;IACtD,IAAME,eAAe,GAAGb,sBAAsB,CAACW,CAAC,GAAG,CAAC,CAAC;IACrD,IAAMT,OAAO,GAAGF,sBAAsB,CAACW,CAAC,CAAC;IAEzC,IAAMG,WAAW,GAAGZ,OAAO,CAACa,UAAU,CAACC,YAAY,CAAC,CAAC;IAErD,IAAMC,eAAe,GAAGJ,eAAe,GACnCA,eAAe,CAACE,UAAU,CAACC,YAAY,CAAC,CAAC,GACzCF,WAAW;IAEf,IAAIH,CAAC,KAAK,CAAC,IAAIG,WAAW,KAAKG,eAAe,EAAE;MAC9ClB,cAAc,CAACG,OAAO,CAACQ,EAAE,CAAC,GAAGR,OAAO,CAACa,UAAU;IACjD;EACF;EAEA,OAAOhB,cAAc;AACvB,CAAC;AAACmB,OAAA,CAAAzB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -3,6 +3,37 @@ Object.defineProperty(exports, "__esModule", {
3
3
  });
4
4
  exports.getGroupStyles = void 0;
5
5
  var _utils = require("../../../utils/utils");
6
+ var getGroupStyle = function getGroupStyle(dateSeparators, message, previousMessage, nextMessage, hideDateSeparators, maxTimeBetweenGroupedMessages) {
7
+ var _message$user, _previousMessage$user, _nextMessage$user;
8
+ var groupStyles = [];
9
+ var isPrevMessageTypeDeleted = (previousMessage == null ? void 0 : previousMessage.type) === 'deleted';
10
+ var isNextMessageTypeDeleted = (nextMessage == null ? void 0 : nextMessage.type) === 'deleted';
11
+ var userId = (message == null ? void 0 : (_message$user = message.user) == null ? void 0 : _message$user.id) || null;
12
+ var isTopMessage = !previousMessage || previousMessage.type === 'system' || previousMessage.type === 'error' || userId !== (previousMessage == null ? void 0 : (_previousMessage$user = previousMessage.user) == null ? void 0 : _previousMessage$user.id) || !!isPrevMessageTypeDeleted || !hideDateSeparators && dateSeparators[message.id] || (0, _utils.isEditedMessage)(previousMessage);
13
+ var isBottomMessage = !nextMessage || nextMessage.type === 'system' || nextMessage.type === 'error' || userId !== (nextMessage == null ? void 0 : (_nextMessage$user = nextMessage.user) == null ? void 0 : _nextMessage$user.id) || !!isNextMessageTypeDeleted || !hideDateSeparators && dateSeparators[nextMessage.id] || maxTimeBetweenGroupedMessages !== undefined && nextMessage.created_at.getTime() - message.created_at.getTime() > maxTimeBetweenGroupedMessages || (0, _utils.isEditedMessage)(message);
14
+ if (isTopMessage) {
15
+ groupStyles.push('top');
16
+ }
17
+ var isMessageTypeDeleted = message.type === 'deleted';
18
+ if (isBottomMessage) {
19
+ if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
20
+ groupStyles.splice(0, groupStyles.length);
21
+ groupStyles.push('single');
22
+ } else {
23
+ groupStyles.push('bottom');
24
+ }
25
+ }
26
+ if (!isTopMessage && !isBottomMessage) {
27
+ if (isMessageTypeDeleted || message.type === 'error') {
28
+ groupStyles.splice(0, groupStyles.length);
29
+ groupStyles.push('single');
30
+ } else {
31
+ groupStyles.splice(0, groupStyles.length);
32
+ groupStyles.push('middle');
33
+ }
34
+ }
35
+ return groupStyles;
36
+ };
6
37
  var getGroupStyles = function getGroupStyles(params) {
7
38
  var dateSeparators = params.dateSeparators,
8
39
  hideDateSeparators = params.hideDateSeparators,
@@ -13,44 +44,16 @@ var getGroupStyles = function getGroupStyles(params) {
13
44
  if (noGroupByUser) return {};
14
45
  var messageGroupStyles = {};
15
46
  var messagesFilteredForNonUser = messages.filter(function (message) {
16
- var _message$user;
47
+ var _message$user2;
17
48
  var isMessageTypeDeleted = message.type === 'deleted';
18
- return !isMessageTypeDeleted || userId === ((_message$user = message.user) == null ? void 0 : _message$user.id);
49
+ return !isMessageTypeDeleted || userId === ((_message$user2 = message.user) == null ? void 0 : _message$user2.id);
19
50
  });
20
51
  for (var i = 0; i < messagesFilteredForNonUser.length; i++) {
21
- var _message$user2, _previousMessage$user, _messageGroupStyles$p, _nextMessage$user;
22
52
  var previousMessage = messagesFilteredForNonUser[i - 1];
23
53
  var message = messagesFilteredForNonUser[i];
24
54
  var nextMessage = messagesFilteredForNonUser[i + 1];
25
- var groupStyles = [];
26
- var isPrevMessageTypeDeleted = (previousMessage == null ? void 0 : previousMessage.type) === 'deleted';
27
- var isNextMessageTypeDeleted = (nextMessage == null ? void 0 : nextMessage.type) === 'deleted';
28
- var _userId = (message == null ? void 0 : (_message$user2 = message.user) == null ? void 0 : _message$user2.id) || null;
29
- var isTopMessage = !previousMessage || previousMessage.type === 'system' || previousMessage.type === 'error' || _userId !== (previousMessage == null ? void 0 : (_previousMessage$user = previousMessage.user) == null ? void 0 : _previousMessage$user.id) || !!isPrevMessageTypeDeleted || !hideDateSeparators && dateSeparators[message.id] || ((_messageGroupStyles$p = messageGroupStyles[previousMessage.id]) == null ? void 0 : _messageGroupStyles$p.includes('bottom')) || (0, _utils.isEditedMessage)(previousMessage);
30
- var isBottomMessage = !nextMessage || nextMessage.type === 'system' || nextMessage.type === 'error' || _userId !== (nextMessage == null ? void 0 : (_nextMessage$user = nextMessage.user) == null ? void 0 : _nextMessage$user.id) || !!isNextMessageTypeDeleted || !hideDateSeparators && dateSeparators[nextMessage.id] || maxTimeBetweenGroupedMessages !== undefined && nextMessage.created_at.getTime() - message.created_at.getTime() > maxTimeBetweenGroupedMessages || (0, _utils.isEditedMessage)(message);
31
- if (isTopMessage) {
32
- groupStyles.push('top');
33
- }
34
- var isMessageTypeDeleted = message.type === 'deleted';
35
- if (isBottomMessage) {
36
- if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
37
- groupStyles.splice(0, groupStyles.length);
38
- groupStyles.push('single');
39
- } else {
40
- groupStyles.push('bottom');
41
- }
42
- }
43
- if (!isTopMessage && !isBottomMessage) {
44
- if (isMessageTypeDeleted || message.type === 'error') {
45
- groupStyles.splice(0, groupStyles.length);
46
- groupStyles.push('single');
47
- } else {
48
- groupStyles.splice(0, groupStyles.length);
49
- groupStyles.push('middle');
50
- }
51
- }
52
55
  if (message.id) {
53
- messageGroupStyles[message.id] = groupStyles;
56
+ messageGroupStyles[message.id] = getGroupStyle(dateSeparators, message, previousMessage, nextMessage, hideDateSeparators, maxTimeBetweenGroupedMessages);
54
57
  }
55
58
  }
56
59
  return messageGroupStyles;
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","getGroupStyles","params","dateSeparators","hideDateSeparators","maxTimeBetweenGroupedMessages","messages","noGroupByUser","userId","messageGroupStyles","messagesFilteredForNonUser","filter","message","_message$user","isMessageTypeDeleted","type","user","id","i","length","_message$user2","_previousMessage$user","_messageGroupStyles$p","_nextMessage$user","previousMessage","nextMessage","groupStyles","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","isTopMessage","includes","isEditedMessage","isBottomMessage","undefined","created_at","getTime","push","splice","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getGroupStyles.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","getGroupStyle","dateSeparators","message","previousMessage","nextMessage","hideDateSeparators","maxTimeBetweenGroupedMessages","_message$user","_previousMessage$user","_nextMessage$user","groupStyles","isPrevMessageTypeDeleted","type","isNextMessageTypeDeleted","userId","user","id","isTopMessage","isEditedMessage","isBottomMessage","undefined","created_at","getTime","push","isMessageTypeDeleted","splice","length","getGroupStyles","params","messages","noGroupByUser","messageGroupStyles","messagesFilteredForNonUser","filter","_message$user2","i","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getGroupStyles.ts"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.39.4"
2
+ "version": "5.39.5-beta.1"
3
3
  }
@@ -12,10 +12,11 @@ var getDateSeparators = function getDateSeparators(params) {
12
12
  return dateSeparators;
13
13
  }
14
14
  var messagesWithoutDeleted = messages.filter(function (message) {
15
- var _message$user;
15
+ var _message$user, _message$user2;
16
16
  var isMessageTypeDeleted = message.type === 'deleted';
17
17
  var isDeletedMessageVisibleToSender = deletedMessagesVisibilityType === 'sender' || deletedMessagesVisibilityType === 'always';
18
- return !isMessageTypeDeleted || userId === ((_message$user = message.user) == null ? void 0 : _message$user.id) && isDeletedMessageVisibleToSender;
18
+ var isDeletedMessageVisibleToReceiver = deletedMessagesVisibilityType === 'receiver' || deletedMessagesVisibilityType === 'always';
19
+ return !isMessageTypeDeleted || userId === ((_message$user = message.user) == null ? void 0 : _message$user.id) && isDeletedMessageVisibleToSender || userId !== ((_message$user2 = message.user) == null ? void 0 : _message$user2.id) && isDeletedMessageVisibleToReceiver;
19
20
  });
20
21
  for (var i = 0; i < messagesWithoutDeleted.length; i++) {
21
22
  var previousMessage = messagesWithoutDeleted[i - 1];
@@ -1 +1 @@
1
- {"version":3,"names":["getDateSeparators","params","deletedMessagesVisibilityType","hideDateSeparators","messages","userId","dateSeparators","messagesWithoutDeleted","filter","message","_message$user","isMessageTypeDeleted","type","isDeletedMessageVisibleToSender","user","id","i","length","previousMessage","messageDate","created_at","toDateString","prevMessageDate","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getDateSeparators.ts"],"mappings":";;;;AAoBO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAG5BC,MAAmD,EAChD;EACH,IAAQC,6BAA6B,GAA2CD,MAAM,CAA9EC,6BAA6B;IAAEC,kBAAkB,GAAuBF,MAAM,CAA/CE,kBAAkB;IAAEC,QAAQ,GAAaH,MAAM,CAA3BG,QAAQ;IAAEC,MAAM,GAAKJ,MAAM,CAAjBI,MAAM;EAC3E,IAAMC,cAA8B,GAAG,CAAC,CAAC;EAEzC,IAAIH,kBAAkB,EAAE;IACtB,OAAOG,cAAc;EACvB;EAEA,IAAMC,sBAAsB,GAAGH,QAAQ,CAACI,MAAM,CAAC,UAACC,OAAO,EAAK;IAAA,IAAAC,aAAA;IAC1D,IAAMC,oBAAoB,GAAGF,OAAO,CAACG,IAAI,KAAK,SAAS;IAEvD,IAAMC,+BAA+B,GACnCX,6BAA6B,KAAK,QAAQ,IAAIA,6BAA6B,KAAK,QAAQ;IAE1F,OACE,CAACS,oBAAoB,IAAKN,MAAM,OAAAK,aAAA,GAAKD,OAAO,CAACK,IAAI,qBAAZJ,aAAA,CAAcK,EAAE,KAAIF,+BAAgC;EAE7F,CAAC,CAAC;EAEF,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,sBAAsB,CAACU,MAAM,EAAED,CAAC,EAAE,EAAE;IACtD,IAAME,eAAe,GAAGX,sBAAsB,CAACS,CAAC,GAAG,CAAC,CAAC;IACrD,IAAMP,OAAO,GAAGF,sBAAsB,CAACS,CAAC,CAAC;IAEzC,IAAMG,WAAW,GAAGV,OAAO,CAACW,UAAU,CAACC,YAAY,CAAC,CAAC;IAErD,IAAMC,eAAe,GAAGJ,eAAe,GACnCA,eAAe,CAACE,UAAU,CAACC,YAAY,CAAC,CAAC,GACzCF,WAAW;IAEf,IAAIH,CAAC,KAAK,CAAC,IAAIG,WAAW,KAAKG,eAAe,EAAE;MAC9ChB,cAAc,CAACG,OAAO,CAACM,EAAE,CAAC,GAAGN,OAAO,CAACW,UAAU;IACjD;EACF;EAEA,OAAOd,cAAc;AACvB,CAAC;AAACiB,OAAA,CAAAvB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["getDateSeparators","params","deletedMessagesVisibilityType","hideDateSeparators","messages","userId","dateSeparators","messagesWithoutDeleted","filter","message","_message$user","_message$user2","isMessageTypeDeleted","type","isDeletedMessageVisibleToSender","isDeletedMessageVisibleToReceiver","user","id","i","length","previousMessage","messageDate","created_at","toDateString","prevMessageDate","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getDateSeparators.ts"],"mappings":";;;;AAoBO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAG5BC,MAAmD,EAChD;EACH,IAAQC,6BAA6B,GAA2CD,MAAM,CAA9EC,6BAA6B;IAAEC,kBAAkB,GAAuBF,MAAM,CAA/CE,kBAAkB;IAAEC,QAAQ,GAAaH,MAAM,CAA3BG,QAAQ;IAAEC,MAAM,GAAKJ,MAAM,CAAjBI,MAAM;EAC3E,IAAMC,cAA8B,GAAG,CAAC,CAAC;EAEzC,IAAIH,kBAAkB,EAAE;IACtB,OAAOG,cAAc;EACvB;EAEA,IAAMC,sBAAsB,GAAGH,QAAQ,CAACI,MAAM,CAAC,UAACC,OAAO,EAAK;IAAA,IAAAC,aAAA,EAAAC,cAAA;IAC1D,IAAMC,oBAAoB,GAAGH,OAAO,CAACI,IAAI,KAAK,SAAS;IAEvD,IAAMC,+BAA+B,GACnCZ,6BAA6B,KAAK,QAAQ,IAAIA,6BAA6B,KAAK,QAAQ;IAE1F,IAAMa,iCAAiC,GACrCb,6BAA6B,KAAK,UAAU,IAAIA,6BAA6B,KAAK,QAAQ;IAE5F,OACE,CAACU,oBAAoB,IACpBP,MAAM,OAAAK,aAAA,GAAKD,OAAO,CAACO,IAAI,qBAAZN,aAAA,CAAcO,EAAE,KAAIH,+BAAgC,IAC/DT,MAAM,OAAAM,cAAA,GAAKF,OAAO,CAACO,IAAI,qBAAZL,cAAA,CAAcM,EAAE,KAAIF,iCAAkC;EAEtE,CAAC,CAAC;EAEF,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,sBAAsB,CAACY,MAAM,EAAED,CAAC,EAAE,EAAE;IACtD,IAAME,eAAe,GAAGb,sBAAsB,CAACW,CAAC,GAAG,CAAC,CAAC;IACrD,IAAMT,OAAO,GAAGF,sBAAsB,CAACW,CAAC,CAAC;IAEzC,IAAMG,WAAW,GAAGZ,OAAO,CAACa,UAAU,CAACC,YAAY,CAAC,CAAC;IAErD,IAAMC,eAAe,GAAGJ,eAAe,GACnCA,eAAe,CAACE,UAAU,CAACC,YAAY,CAAC,CAAC,GACzCF,WAAW;IAEf,IAAIH,CAAC,KAAK,CAAC,IAAIG,WAAW,KAAKG,eAAe,EAAE;MAC9ClB,cAAc,CAACG,OAAO,CAACQ,EAAE,CAAC,GAAGR,OAAO,CAACa,UAAU;IACjD;EACF;EAEA,OAAOhB,cAAc;AACvB,CAAC;AAACmB,OAAA,CAAAzB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -3,6 +3,37 @@ Object.defineProperty(exports, "__esModule", {
3
3
  });
4
4
  exports.getGroupStyles = void 0;
5
5
  var _utils = require("../../../utils/utils");
6
+ var getGroupStyle = function getGroupStyle(dateSeparators, message, previousMessage, nextMessage, hideDateSeparators, maxTimeBetweenGroupedMessages) {
7
+ var _message$user, _previousMessage$user, _nextMessage$user;
8
+ var groupStyles = [];
9
+ var isPrevMessageTypeDeleted = (previousMessage == null ? void 0 : previousMessage.type) === 'deleted';
10
+ var isNextMessageTypeDeleted = (nextMessage == null ? void 0 : nextMessage.type) === 'deleted';
11
+ var userId = (message == null ? void 0 : (_message$user = message.user) == null ? void 0 : _message$user.id) || null;
12
+ var isTopMessage = !previousMessage || previousMessage.type === 'system' || previousMessage.type === 'error' || userId !== (previousMessage == null ? void 0 : (_previousMessage$user = previousMessage.user) == null ? void 0 : _previousMessage$user.id) || !!isPrevMessageTypeDeleted || !hideDateSeparators && dateSeparators[message.id] || (0, _utils.isEditedMessage)(previousMessage);
13
+ var isBottomMessage = !nextMessage || nextMessage.type === 'system' || nextMessage.type === 'error' || userId !== (nextMessage == null ? void 0 : (_nextMessage$user = nextMessage.user) == null ? void 0 : _nextMessage$user.id) || !!isNextMessageTypeDeleted || !hideDateSeparators && dateSeparators[nextMessage.id] || maxTimeBetweenGroupedMessages !== undefined && nextMessage.created_at.getTime() - message.created_at.getTime() > maxTimeBetweenGroupedMessages || (0, _utils.isEditedMessage)(message);
14
+ if (isTopMessage) {
15
+ groupStyles.push('top');
16
+ }
17
+ var isMessageTypeDeleted = message.type === 'deleted';
18
+ if (isBottomMessage) {
19
+ if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
20
+ groupStyles.splice(0, groupStyles.length);
21
+ groupStyles.push('single');
22
+ } else {
23
+ groupStyles.push('bottom');
24
+ }
25
+ }
26
+ if (!isTopMessage && !isBottomMessage) {
27
+ if (isMessageTypeDeleted || message.type === 'error') {
28
+ groupStyles.splice(0, groupStyles.length);
29
+ groupStyles.push('single');
30
+ } else {
31
+ groupStyles.splice(0, groupStyles.length);
32
+ groupStyles.push('middle');
33
+ }
34
+ }
35
+ return groupStyles;
36
+ };
6
37
  var getGroupStyles = function getGroupStyles(params) {
7
38
  var dateSeparators = params.dateSeparators,
8
39
  hideDateSeparators = params.hideDateSeparators,
@@ -13,44 +44,16 @@ var getGroupStyles = function getGroupStyles(params) {
13
44
  if (noGroupByUser) return {};
14
45
  var messageGroupStyles = {};
15
46
  var messagesFilteredForNonUser = messages.filter(function (message) {
16
- var _message$user;
47
+ var _message$user2;
17
48
  var isMessageTypeDeleted = message.type === 'deleted';
18
- return !isMessageTypeDeleted || userId === ((_message$user = message.user) == null ? void 0 : _message$user.id);
49
+ return !isMessageTypeDeleted || userId === ((_message$user2 = message.user) == null ? void 0 : _message$user2.id);
19
50
  });
20
51
  for (var i = 0; i < messagesFilteredForNonUser.length; i++) {
21
- var _message$user2, _previousMessage$user, _messageGroupStyles$p, _nextMessage$user;
22
52
  var previousMessage = messagesFilteredForNonUser[i - 1];
23
53
  var message = messagesFilteredForNonUser[i];
24
54
  var nextMessage = messagesFilteredForNonUser[i + 1];
25
- var groupStyles = [];
26
- var isPrevMessageTypeDeleted = (previousMessage == null ? void 0 : previousMessage.type) === 'deleted';
27
- var isNextMessageTypeDeleted = (nextMessage == null ? void 0 : nextMessage.type) === 'deleted';
28
- var _userId = (message == null ? void 0 : (_message$user2 = message.user) == null ? void 0 : _message$user2.id) || null;
29
- var isTopMessage = !previousMessage || previousMessage.type === 'system' || previousMessage.type === 'error' || _userId !== (previousMessage == null ? void 0 : (_previousMessage$user = previousMessage.user) == null ? void 0 : _previousMessage$user.id) || !!isPrevMessageTypeDeleted || !hideDateSeparators && dateSeparators[message.id] || ((_messageGroupStyles$p = messageGroupStyles[previousMessage.id]) == null ? void 0 : _messageGroupStyles$p.includes('bottom')) || (0, _utils.isEditedMessage)(previousMessage);
30
- var isBottomMessage = !nextMessage || nextMessage.type === 'system' || nextMessage.type === 'error' || _userId !== (nextMessage == null ? void 0 : (_nextMessage$user = nextMessage.user) == null ? void 0 : _nextMessage$user.id) || !!isNextMessageTypeDeleted || !hideDateSeparators && dateSeparators[nextMessage.id] || maxTimeBetweenGroupedMessages !== undefined && nextMessage.created_at.getTime() - message.created_at.getTime() > maxTimeBetweenGroupedMessages || (0, _utils.isEditedMessage)(message);
31
- if (isTopMessage) {
32
- groupStyles.push('top');
33
- }
34
- var isMessageTypeDeleted = message.type === 'deleted';
35
- if (isBottomMessage) {
36
- if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
37
- groupStyles.splice(0, groupStyles.length);
38
- groupStyles.push('single');
39
- } else {
40
- groupStyles.push('bottom');
41
- }
42
- }
43
- if (!isTopMessage && !isBottomMessage) {
44
- if (isMessageTypeDeleted || message.type === 'error') {
45
- groupStyles.splice(0, groupStyles.length);
46
- groupStyles.push('single');
47
- } else {
48
- groupStyles.splice(0, groupStyles.length);
49
- groupStyles.push('middle');
50
- }
51
- }
52
55
  if (message.id) {
53
- messageGroupStyles[message.id] = groupStyles;
56
+ messageGroupStyles[message.id] = getGroupStyle(dateSeparators, message, previousMessage, nextMessage, hideDateSeparators, maxTimeBetweenGroupedMessages);
54
57
  }
55
58
  }
56
59
  return messageGroupStyles;
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","getGroupStyles","params","dateSeparators","hideDateSeparators","maxTimeBetweenGroupedMessages","messages","noGroupByUser","userId","messageGroupStyles","messagesFilteredForNonUser","filter","message","_message$user","isMessageTypeDeleted","type","user","id","i","length","_message$user2","_previousMessage$user","_messageGroupStyles$p","_nextMessage$user","previousMessage","nextMessage","groupStyles","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","isTopMessage","includes","isEditedMessage","isBottomMessage","undefined","created_at","getTime","push","splice","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getGroupStyles.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","getGroupStyle","dateSeparators","message","previousMessage","nextMessage","hideDateSeparators","maxTimeBetweenGroupedMessages","_message$user","_previousMessage$user","_nextMessage$user","groupStyles","isPrevMessageTypeDeleted","type","isNextMessageTypeDeleted","userId","user","id","isTopMessage","isEditedMessage","isBottomMessage","undefined","created_at","getTime","push","isMessageTypeDeleted","splice","length","getGroupStyles","params","messages","noGroupByUser","messageGroupStyles","messagesFilteredForNonUser","filter","_message$user2","i","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getGroupStyles.ts"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.39.4"
2
+ "version": "5.39.5-beta.1"
3
3
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getDateSeparators.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getDateSeparators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AACvG,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAClI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,uBAAuB,CACjC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EACJ,gCAAgC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,GAChE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,2JAuC7B,CAAC"}
1
+ {"version":3,"file":"getDateSeparators.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getDateSeparators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AACvG,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAClI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,uBAAuB,CACjC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EACJ,gCAAgC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,GAChE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,2JA4C7B,CAAC"}
@@ -10,6 +10,7 @@ export type GetGroupStylesParams<StreamChatGenerics extends DefaultStreamChatGen
10
10
  noGroupByUser?: boolean;
11
11
  userId?: string;
12
12
  };
13
+ export type GroupStyle = '' | 'middle' | 'top' | 'bottom' | 'single';
13
14
  export declare const getGroupStyles: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(params: GetGroupStylesParams<StreamChatGenerics>) => {
14
15
  [key: string]: string[];
15
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getGroupStyles.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getGroupStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAClI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAItE,MAAM,MAAM,oBAAoB,CAC9B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EACJ,gCAAgC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,GAChE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,cAAc;;CAyG1B,CAAC"}
1
+ {"version":3,"file":"getGroupStyles.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getGroupStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAClI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAItE,MAAM,MAAM,oBAAoB,CAC9B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EACJ,gCAAgC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,GAChE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,EAAE,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAkFrE,eAAO,MAAM,cAAc;;CAyC1B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stream-chat-react-native-core",
3
3
  "description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
4
- "version": "5.39.4",
4
+ "version": "5.39.5-beta.1",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"
@@ -36,8 +36,13 @@ export const getDateSeparators = <
36
36
  const isDeletedMessageVisibleToSender =
37
37
  deletedMessagesVisibilityType === 'sender' || deletedMessagesVisibilityType === 'always';
38
38
 
39
+ const isDeletedMessageVisibleToReceiver =
40
+ deletedMessagesVisibilityType === 'receiver' || deletedMessagesVisibilityType === 'always';
41
+
39
42
  return (
40
- !isMessageTypeDeleted || (userId === message.user?.id && isDeletedMessageVisibleToSender)
43
+ !isMessageTypeDeleted ||
44
+ (userId === message.user?.id && isDeletedMessageVisibleToSender) ||
45
+ (userId !== message.user?.id && isDeletedMessageVisibleToReceiver)
41
46
  );
42
47
  });
43
48
 
@@ -4,7 +4,7 @@ import type { PaginatedMessageListContextValue } from '../../../contexts/paginat
4
4
  import type { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
5
5
  import type { DefaultStreamChatGenerics } from '../../../types/types';
6
6
  import { isEditedMessage } from '../../../utils/utils';
7
- import type { GroupType } from '../hooks/useMessageList';
7
+ import type { GroupType, MessageType } from '../hooks/useMessageList';
8
8
 
9
9
  export type GetGroupStylesParams<
10
10
  StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
@@ -19,6 +19,88 @@ export type GetGroupStylesParams<
19
19
  userId?: string;
20
20
  };
21
21
 
22
+ export type GroupStyle = '' | 'middle' | 'top' | 'bottom' | 'single';
23
+
24
+ const getGroupStyle = <
25
+ StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
26
+ >(
27
+ dateSeparators: DateSeparators,
28
+ message: MessageType<StreamChatGenerics>,
29
+ previousMessage: MessageType<StreamChatGenerics>,
30
+ nextMessage: MessageType<StreamChatGenerics>,
31
+ hideDateSeparators?: boolean,
32
+ maxTimeBetweenGroupedMessages?: number,
33
+ ): GroupStyle[] => {
34
+ const groupStyles: GroupStyle[] = [];
35
+
36
+ const isPrevMessageTypeDeleted = previousMessage?.type === 'deleted';
37
+ const isNextMessageTypeDeleted = nextMessage?.type === 'deleted';
38
+
39
+ const userId = message?.user?.id || null;
40
+
41
+ const isTopMessage =
42
+ !previousMessage ||
43
+ previousMessage.type === 'system' ||
44
+ previousMessage.type === 'error' ||
45
+ userId !== previousMessage?.user?.id ||
46
+ !!isPrevMessageTypeDeleted ||
47
+ (!hideDateSeparators && dateSeparators[message.id]) ||
48
+ isEditedMessage(previousMessage);
49
+
50
+ const isBottomMessage =
51
+ !nextMessage ||
52
+ nextMessage.type === 'system' ||
53
+ nextMessage.type === 'error' ||
54
+ userId !== nextMessage?.user?.id ||
55
+ !!isNextMessageTypeDeleted ||
56
+ (!hideDateSeparators && dateSeparators[nextMessage.id]) ||
57
+ (maxTimeBetweenGroupedMessages !== undefined &&
58
+ (nextMessage.created_at as Date).getTime() - (message.created_at as Date).getTime() >
59
+ maxTimeBetweenGroupedMessages) ||
60
+ isEditedMessage(message);
61
+
62
+ /**
63
+ * Add group styles key for top message
64
+ */
65
+ if (isTopMessage) {
66
+ groupStyles.push('top');
67
+ }
68
+
69
+ /**
70
+ * Add group styles key for bottom message
71
+ */
72
+
73
+ const isMessageTypeDeleted = message.type === 'deleted';
74
+ if (isBottomMessage) {
75
+ /**
76
+ * If the bottom message is also the top, or deleted, or an error,
77
+ * add the key for single message instead of bottom
78
+ */
79
+ if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
80
+ groupStyles.splice(0, groupStyles.length);
81
+ groupStyles.push('single');
82
+ } else {
83
+ groupStyles.push('bottom');
84
+ }
85
+ }
86
+
87
+ /**
88
+ * Add the key for all non top or bottom messages, if the message is
89
+ * deleted or an error add the key for single otherwise middle
90
+ */
91
+ if (!isTopMessage && !isBottomMessage) {
92
+ if (isMessageTypeDeleted || message.type === 'error') {
93
+ groupStyles.splice(0, groupStyles.length);
94
+ groupStyles.push('single');
95
+ } else {
96
+ groupStyles.splice(0, groupStyles.length);
97
+ groupStyles.push('middle');
98
+ }
99
+ }
100
+
101
+ return groupStyles;
102
+ };
103
+
22
104
  export const getGroupStyles = <
23
105
  StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
24
106
  >(
@@ -43,83 +125,19 @@ export const getGroupStyles = <
43
125
  });
44
126
 
45
127
  for (let i = 0; i < messagesFilteredForNonUser.length; i++) {
46
- const previousMessage = messagesFilteredForNonUser[i - 1] as
47
- | (typeof messagesFilteredForNonUser)[0]
48
- | undefined;
128
+ const previousMessage = messagesFilteredForNonUser[i - 1];
49
129
  const message = messagesFilteredForNonUser[i];
50
- const nextMessage = messagesFilteredForNonUser[i + 1] as
51
- | (typeof messagesFilteredForNonUser)[0]
52
- | undefined;
53
- const groupStyles: GroupType[] = [];
54
-
55
- const isPrevMessageTypeDeleted = previousMessage?.type === 'deleted';
56
- const isNextMessageTypeDeleted = nextMessage?.type === 'deleted';
57
-
58
- const userId = message?.user?.id || null;
59
-
60
- const isTopMessage =
61
- !previousMessage ||
62
- previousMessage.type === 'system' ||
63
- previousMessage.type === 'error' ||
64
- userId !== previousMessage?.user?.id ||
65
- !!isPrevMessageTypeDeleted ||
66
- (!hideDateSeparators && dateSeparators[message.id]) ||
67
- messageGroupStyles[previousMessage.id]?.includes('bottom') ||
68
- isEditedMessage(previousMessage);
69
-
70
- const isBottomMessage =
71
- !nextMessage ||
72
- nextMessage.type === 'system' ||
73
- nextMessage.type === 'error' ||
74
- userId !== nextMessage?.user?.id ||
75
- !!isNextMessageTypeDeleted ||
76
- (!hideDateSeparators && dateSeparators[nextMessage.id]) ||
77
- (maxTimeBetweenGroupedMessages !== undefined &&
78
- nextMessage.created_at.getTime() - message.created_at.getTime() >
79
- maxTimeBetweenGroupedMessages) ||
80
- isEditedMessage(message);
81
-
82
- /**
83
- * Add group styles key for top message
84
- */
85
- if (isTopMessage) {
86
- groupStyles.push('top');
87
- }
88
-
89
- /**
90
- * Add group styles key for bottom message
91
- */
92
-
93
- const isMessageTypeDeleted = message.type === 'deleted';
94
- if (isBottomMessage) {
95
- /**
96
- * If the bottom message is also the top, or deleted, or an error,
97
- * add the key for single message instead of bottom
98
- */
99
- if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
100
- groupStyles.splice(0, groupStyles.length);
101
- groupStyles.push('single');
102
- } else {
103
- groupStyles.push('bottom');
104
- }
105
- }
106
-
107
- /**
108
- * Add the key for all non top or bottom messages, if the message is
109
- * deleted or an error add the key for single otherwise middle
110
- */
111
- if (!isTopMessage && !isBottomMessage) {
112
- if (isMessageTypeDeleted || message.type === 'error') {
113
- groupStyles.splice(0, groupStyles.length);
114
- groupStyles.push('single');
115
- } else {
116
- groupStyles.splice(0, groupStyles.length);
117
- groupStyles.push('middle');
118
- }
119
- }
130
+ const nextMessage = messagesFilteredForNonUser[i + 1];
120
131
 
121
132
  if (message.id) {
122
- messageGroupStyles[message.id] = groupStyles;
133
+ messageGroupStyles[message.id] = getGroupStyle(
134
+ dateSeparators,
135
+ message,
136
+ previousMessage,
137
+ nextMessage,
138
+ hideDateSeparators,
139
+ maxTimeBetweenGroupedMessages,
140
+ );
123
141
  }
124
142
  }
125
143
 
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.39.4"
2
+ "version": "5.39.5-beta.1"
3
3
  }