stream-chat-react-native-core 5.24.0-beta.2 → 5.24.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +30 -22
  2. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  3. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +2 -0
  4. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  5. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +52 -18
  6. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  7. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +4 -1
  8. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  9. package/lib/commonjs/components/Message/Message.js +28 -6
  10. package/lib/commonjs/components/Message/Message.js.map +1 -1
  11. package/lib/commonjs/components/Message/MessageSimple/MessageBounce.js +84 -0
  12. package/lib/commonjs/components/Message/MessageSimple/MessageBounce.js.map +1 -0
  13. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  14. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  15. package/lib/commonjs/components/index.js +11 -0
  16. package/lib/commonjs/components/index.js.map +1 -1
  17. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +51 -39
  18. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  19. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +4 -8
  20. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  21. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  22. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  23. package/lib/commonjs/i18n/en.json +3 -0
  24. package/lib/commonjs/i18n/es.json +4 -1
  25. package/lib/commonjs/i18n/fr.json +28 -25
  26. package/lib/commonjs/i18n/he.json +4 -1
  27. package/lib/commonjs/i18n/hi.json +28 -25
  28. package/lib/commonjs/i18n/it.json +28 -25
  29. package/lib/commonjs/i18n/ja.json +4 -1
  30. package/lib/commonjs/i18n/ko.json +4 -1
  31. package/lib/commonjs/i18n/nl.json +28 -25
  32. package/lib/commonjs/i18n/ru.json +28 -25
  33. package/lib/commonjs/i18n/tr.json +28 -25
  34. package/lib/commonjs/utils/removeReservedFields.js +1 -1
  35. package/lib/commonjs/utils/removeReservedFields.js.map +1 -1
  36. package/lib/commonjs/utils/utils.js +5 -3
  37. package/lib/commonjs/utils/utils.js.map +1 -1
  38. package/lib/commonjs/version.json +1 -1
  39. package/lib/module/components/Channel/Channel.js +30 -22
  40. package/lib/module/components/Channel/Channel.js.map +1 -1
  41. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -0
  42. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  43. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +52 -18
  44. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  45. package/lib/module/components/ChannelPreview/ChannelPreview.js +4 -1
  46. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  47. package/lib/module/components/Message/Message.js +28 -6
  48. package/lib/module/components/Message/Message.js.map +1 -1
  49. package/lib/module/components/Message/MessageSimple/MessageBounce.js +84 -0
  50. package/lib/module/components/Message/MessageSimple/MessageBounce.js.map +1 -0
  51. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  52. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  53. package/lib/module/components/index.js +11 -0
  54. package/lib/module/components/index.js.map +1 -1
  55. package/lib/module/contexts/messageInputContext/MessageInputContext.js +51 -39
  56. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  57. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +4 -8
  58. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  59. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  60. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  61. package/lib/module/i18n/en.json +3 -0
  62. package/lib/module/i18n/es.json +4 -1
  63. package/lib/module/i18n/fr.json +28 -25
  64. package/lib/module/i18n/he.json +4 -1
  65. package/lib/module/i18n/hi.json +28 -25
  66. package/lib/module/i18n/it.json +28 -25
  67. package/lib/module/i18n/ja.json +4 -1
  68. package/lib/module/i18n/ko.json +4 -1
  69. package/lib/module/i18n/nl.json +28 -25
  70. package/lib/module/i18n/ru.json +28 -25
  71. package/lib/module/i18n/tr.json +28 -25
  72. package/lib/module/utils/removeReservedFields.js +1 -1
  73. package/lib/module/utils/removeReservedFields.js.map +1 -1
  74. package/lib/module/utils/utils.js +5 -3
  75. package/lib/module/utils/utils.js.map +1 -1
  76. package/lib/module/version.json +1 -1
  77. package/lib/typescript/components/Channel/Channel.d.ts +1 -1
  78. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  79. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -1
  80. package/lib/typescript/components/Message/Message.d.ts +1 -1
  81. package/lib/typescript/components/Message/MessageSimple/MessageBounce.d.ts +12 -0
  82. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +1 -0
  83. package/lib/typescript/components/index.d.ts +1 -0
  84. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +6 -2
  85. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +1 -2
  86. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +7 -2
  87. package/lib/typescript/i18n/en.json +3 -0
  88. package/lib/typescript/i18n/es.json +4 -1
  89. package/lib/typescript/i18n/fr.json +28 -25
  90. package/lib/typescript/i18n/he.json +4 -1
  91. package/lib/typescript/i18n/hi.json +28 -25
  92. package/lib/typescript/i18n/it.json +28 -25
  93. package/lib/typescript/i18n/ja.json +4 -1
  94. package/lib/typescript/i18n/ko.json +4 -1
  95. package/lib/typescript/i18n/nl.json +28 -25
  96. package/lib/typescript/i18n/ru.json +28 -25
  97. package/lib/typescript/i18n/tr.json +28 -25
  98. package/lib/typescript/utils/Streami18n.d.ts +3 -0
  99. package/lib/typescript/utils/removeReservedFields.d.ts +2 -1
  100. package/lib/typescript/utils/utils.d.ts +11 -1
  101. package/package.json +2 -2
  102. package/src/components/Channel/Channel.tsx +26 -7
  103. package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
  104. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +6 -3
  105. package/src/components/ChannelPreview/ChannelPreview.tsx +5 -5
  106. package/src/components/Message/Message.tsx +26 -2
  107. package/src/components/Message/MessageSimple/MessageBounce.tsx +119 -0
  108. package/src/components/Message/hooks/useMessageActionHandlers.ts +1 -2
  109. package/src/components/Message/hooks/useMessageActions.tsx +1 -1
  110. package/src/components/index.ts +1 -0
  111. package/src/contexts/messageInputContext/MessageInputContext.tsx +27 -8
  112. package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +8 -8
  113. package/src/contexts/messageInputContext/__tests__/updateMessage.test.tsx +1 -1
  114. package/src/contexts/messageInputContext/__tests__/useMessageDetailsForState.test.tsx +6 -1
  115. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +3 -9
  116. package/src/contexts/messagesContext/MessagesContext.tsx +7 -2
  117. package/src/i18n/en.json +3 -0
  118. package/src/i18n/es.json +4 -1
  119. package/src/i18n/fr.json +28 -25
  120. package/src/i18n/he.json +4 -1
  121. package/src/i18n/hi.json +28 -25
  122. package/src/i18n/it.json +28 -25
  123. package/src/i18n/ja.json +4 -1
  124. package/src/i18n/ko.json +4 -1
  125. package/src/i18n/nl.json +28 -25
  126. package/src/i18n/ru.json +28 -25
  127. package/src/i18n/tr.json +28 -25
  128. package/src/utils/removeReservedFields.ts +5 -2
  129. package/src/utils/utils.ts +16 -2
  130. package/src/version.json +1 -1
@@ -17,6 +17,7 @@ var _mimeTypes = require("mime-types");
17
17
  var _streamChat = require("stream-chat");
18
18
  var _useCreateMessageInputContext = require("./hooks/useCreateMessageInputContext");
19
19
  var _useMessageDetailsForState = require("./hooks/useMessageDetailsForState");
20
+ var _parseLinks = require("../../components/Message/MessageSimple/utils/parseLinks");
20
21
  var _useCooldown2 = require("../../components/MessageInput/hooks/useCooldown");
21
22
  var _native = require("../../native");
22
23
  var _compressImage = require("../../utils/compressImage");
@@ -25,6 +26,7 @@ var _utils = require("../../utils/utils");
25
26
  var _AttachmentPickerContext = require("../attachmentPickerContext/AttachmentPickerContext");
26
27
  var _ChannelContext = require("../channelContext/ChannelContext");
27
28
  var _ChatContext = require("../chatContext/ChatContext");
29
+ var _MessagesContext = require("../messagesContext/MessagesContext");
28
30
  var _OwnCapabilitiesContext = require("../ownCapabilitiesContext/OwnCapabilitiesContext");
29
31
  var _ThreadContext = require("../threadContext/ThreadContext");
30
32
  var _TranslationContext = require("../translationContext/TranslationContext");
@@ -53,6 +55,8 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
53
55
  appSettings = _useChatContext.appSettings,
54
56
  client = _useChatContext.client,
55
57
  enableOfflineSupport = _useChatContext.enableOfflineSupport;
58
+ var _useMessagesContext = (0, _MessagesContext.useMessagesContext)(),
59
+ removeMessage = _useMessagesContext.removeMessage;
56
60
  var getFileUploadConfig = function getFileUploadConfig() {
57
61
  var _appSettings$app;
58
62
  var fileConfig = appSettings == null ? void 0 : (_appSettings$app = appSettings.app) == null ? void 0 : _appSettings$app.file_upload_config;
@@ -297,6 +301,9 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
297
301
  return prevNumberOfUploads - ((pendingAttachments == null ? void 0 : pendingAttachments.length) || 0);
298
302
  });
299
303
  setText('');
304
+ if (value.editing) {
305
+ value.clearEditingState();
306
+ }
300
307
  };
301
308
  var mapImageUploadToAttachment = function mapImageUploadToAttachment(image) {
302
309
  var mime_type = (0, _mimeTypes.lookup)(image.file.name);
@@ -355,7 +362,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
355
362
  };
356
363
  var sendMessage = function () {
357
364
  var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
358
- var prevText, attachments, _loop, _iterator3, _step3, _image, _ret, _iterator4, _step4, _file3, updatedMessage, updateMessagePromise;
365
+ var linkInfos, prevText, attachments, _loop, _iterator3, _step3, _image, _ret, _iterator4, _step4, _file3, message, updatedMessage, updateMessagePromise;
359
366
  return _regenerator["default"].wrap(function _callee3$(_context3) {
360
367
  while (1) switch (_context3.prev = _context3.next) {
361
368
  case 0:
@@ -365,13 +372,14 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
365
372
  }
366
373
  return _context3.abrupt("return");
367
374
  case 2:
368
- if (!(!channelCapabities.sendLinks && !!text.match(_utils.urlRegex))) {
369
- _context3.next = 5;
375
+ linkInfos = (0, _parseLinks.parseLinksFromText)(text);
376
+ if (!(!channelCapabities.sendLinks && linkInfos.length > 0)) {
377
+ _context3.next = 6;
370
378
  break;
371
379
  }
372
380
  _reactNative.Alert.alert(t('Links are disabled'), t('Sending links is not allowed in this conversation'));
373
381
  return _context3.abrupt("return");
374
- case 5:
382
+ case 6:
375
383
  sending.current = true;
376
384
  startCooldown();
377
385
  prevText = giphyEnabled && giphyActive ? "/giphy " + text : text;
@@ -434,79 +442,80 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
434
442
  }, _callee2);
435
443
  });
436
444
  _iterator3 = _createForOfIteratorHelperLoose(imageUploads);
437
- case 13:
445
+ case 14:
438
446
  if ((_step3 = _iterator3()).done) {
439
- _context3.next = 23;
447
+ _context3.next = 24;
440
448
  break;
441
449
  }
442
450
  _image = _step3.value;
443
- return _context3.delegateYield(_loop(_image), "t0", 16);
444
- case 16:
451
+ return _context3.delegateYield(_loop(_image), "t0", 17);
452
+ case 17:
445
453
  _ret = _context3.t0;
446
454
  if (!(_ret === "continue")) {
447
- _context3.next = 19;
455
+ _context3.next = 20;
448
456
  break;
449
457
  }
450
- return _context3.abrupt("continue", 21);
451
- case 19:
458
+ return _context3.abrupt("continue", 22);
459
+ case 20:
452
460
  if (!((0, _typeof2["default"])(_ret) === "object")) {
453
- _context3.next = 21;
461
+ _context3.next = 22;
454
462
  break;
455
463
  }
456
464
  return _context3.abrupt("return", _ret.v);
457
- case 21:
458
- _context3.next = 13;
465
+ case 22:
466
+ _context3.next = 14;
459
467
  break;
460
- case 23:
461
- _iterator4 = _createForOfIteratorHelperLoose(fileUploads);
462
468
  case 24:
469
+ _iterator4 = _createForOfIteratorHelperLoose(fileUploads);
470
+ case 25:
463
471
  if ((_step4 = _iterator4()).done) {
464
- _context3.next = 39;
472
+ _context3.next = 40;
465
473
  break;
466
474
  }
467
475
  _file3 = _step4.value;
468
476
  if (!enableOfflineSupport) {
469
- _context3.next = 31;
477
+ _context3.next = 32;
470
478
  break;
471
479
  }
472
480
  if (!(_file3.state === _utils.FileState.NOT_SUPPORTED)) {
473
- _context3.next = 29;
481
+ _context3.next = 30;
474
482
  break;
475
483
  }
476
484
  return _context3.abrupt("return");
477
- case 29:
485
+ case 30:
478
486
  attachments.push(mapFileUploadToAttachment(_file3));
479
- return _context3.abrupt("continue", 37);
480
- case 31:
487
+ return _context3.abrupt("continue", 38);
488
+ case 32:
481
489
  if (!(!_file3 || _file3.state === _utils.FileState.UPLOAD_FAILED)) {
482
- _context3.next = 33;
490
+ _context3.next = 34;
483
491
  break;
484
492
  }
485
- return _context3.abrupt("continue", 37);
486
- case 33:
493
+ return _context3.abrupt("continue", 38);
494
+ case 34:
487
495
  if (!(_file3.state === _utils.FileState.UPLOADING)) {
488
- _context3.next = 36;
496
+ _context3.next = 37;
489
497
  break;
490
498
  }
491
499
  sending.current = false;
492
500
  return _context3.abrupt("return");
493
- case 36:
501
+ case 37:
494
502
  if (_file3.state === _utils.FileState.UPLOADED || _file3.state === _utils.FileState.FINISHED) {
495
503
  attachments.push(mapFileUploadToAttachment(_file3));
496
504
  }
497
- case 37:
498
- _context3.next = 24;
505
+ case 38:
506
+ _context3.next = 25;
499
507
  break;
500
- case 39:
508
+ case 40:
501
509
  if (!(!prevText && attachments.length === 0)) {
502
- _context3.next = 42;
510
+ _context3.next = 43;
503
511
  break;
504
512
  }
505
513
  sending.current = false;
506
514
  return _context3.abrupt("return");
507
- case 42:
508
- if (value.editing && !(0, _useMessageDetailsForState.isEditingBoolean)(value.editing)) {
509
- updatedMessage = (0, _extends2["default"])({}, value.editing, {
515
+ case 43:
516
+ message = value.editing;
517
+ if (message && message.type !== 'error') {
518
+ updatedMessage = (0, _extends2["default"])({}, message, {
510
519
  attachments: attachments,
511
520
  mentioned_users: mentionedUsers,
512
521
  quoted_message: undefined,
@@ -519,6 +528,9 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
519
528
  sending.current = false;
520
529
  } else {
521
530
  try {
531
+ if (message && (0, _utils.isBouncedMessage)(message)) {
532
+ removeMessage(message);
533
+ }
522
534
  value.sendMessage({
523
535
  attachments: attachments,
524
536
  mentioned_users: (0, _uniq["default"])(mentionedUsers),
@@ -539,7 +551,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
539
551
  console.log('Failed to send message');
540
552
  }
541
553
  }
542
- case 43:
554
+ case 45:
543
555
  case "end":
544
556
  return _context3.stop();
545
557
  }
@@ -616,7 +628,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
616
628
  while (1) switch (_context4.prev = _context4.next) {
617
629
  case 0:
618
630
  _context4.prev = 0;
619
- if ((0, _useMessageDetailsForState.isEditingBoolean)(value.editing)) {
631
+ if (!value.editing) {
620
632
  _context4.next = 4;
621
633
  break;
622
634
  }
@@ -626,8 +638,8 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
626
638
  text: giphyEnabled && giphyActive ? "/giphy " + text : text
627
639
  }));
628
640
  case 4:
629
- resetInput();
630
641
  value.clearEditingState();
642
+ resetInput();
631
643
  _context4.next = 11;
632
644
  break;
633
645
  case 8:
@@ -1010,7 +1022,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
1010
1022
  __self: _this,
1011
1023
  __source: {
1012
1024
  fileName: _jsxFileName,
1013
- lineNumber: 1191,
1025
+ lineNumber: 1210,
1014
1026
  columnNumber: 5
1015
1027
  }
1016
1028
  }, children);
@@ -1031,7 +1043,7 @@ var withMessageInputContext = function withMessageInputContext(Component) {
1031
1043
  __self: _this,
1032
1044
  __source: {
1033
1045
  fileName: _jsxFileName,
1034
- lineNumber: 1231,
1046
+ lineNumber: 1250,
1035
1047
  columnNumber: 12
1036
1048
  }
1037
1049
  }));