@twilio/conversations 2.0.0-rc.4 → 2.0.1-rc.3
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/CHANGELOG.md +42 -0
- package/README.md +4 -12
- package/dist/browser.js +11 -19
- package/dist/browser.js.map +1 -1
- package/dist/docs/index.html +4 -10
- package/dist/docs/modules.html +4 -10
- package/dist/lib.d.ts +9 -1
- package/dist/lib.js +11 -19
- package/dist/lib.js.map +1 -1
- package/dist/react-native.js +13 -16
- package/dist/react-native.js.map +1 -1
- package/dist/twilio-conversations.js +1937 -1096
- package/dist/twilio-conversations.min.js +3 -3
- package/package.json +11 -10
package/dist/docs/index.html
CHANGED
@@ -2818,7 +2818,7 @@ img {
|
|
2818
2818
|
<a href="#instantiating-and-using" id="instantiating-and-using" style="color: inherit; text-decoration: none;">
|
2819
2819
|
<h2>Instantiating and using</h2>
|
2820
2820
|
</a>
|
2821
|
-
<p>To use the library you need <a href="https://www.twilio.com/docs/conversations/create-tokens">to generate a token</a> and pass it to the
|
2821
|
+
<p>To use the library you need <a href="https://www.twilio.com/docs/conversations/create-tokens">to generate a token</a> and pass it to the Conversations Client constructor.</p>
|
2822
2822
|
<a href="#npm" id="npm" style="color: inherit; text-decoration: none;">
|
2823
2823
|
<h3>NPM</h3>
|
2824
2824
|
</a>
|
@@ -2854,14 +2854,8 @@ img {
|
|
2854
2854
|
directly in your web app using a <code><script></code> tag.</p>
|
2855
2855
|
<pre><code class="language-html"><span style="color: #800000"><script</span><span style="color: #000000FF"> </span><span style="color: #FF0000">src</span><span style="color: #000000FF">=</span><span style="color: #0000FF">"https://media.twiliocdn.com/sdk/js/conversations/v2.0/twilio-conversations.min.js"</span><span style="color: #800000">></script></span>
|
2856
2856
|
</code></pre>
|
2857
|
-
<p>Using this method, <code>twilio-conversations.js</code> will set a browser global <code>Twilio.Conversations</code> through which you can use the client
|
2858
|
-
<pre><code><span style="color: #
|
2859
|
-
<span style="color: #000000"> </span><span style="color: #008000">// Use client</span>
|
2860
|
-
<span style="color: #000000">});</span>
|
2861
|
-
</code></pre>
|
2862
|
-
<p>or, if you prefer <code>async</code>/<code>await</code> syntax:</p>
|
2863
|
-
<pre><code><span style="color: #0000FF">let</span><span style="color: #000000"> </span><span style="color: #001080">client</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">Twilio</span><span style="color: #000000">.</span><span style="color: #001080">Conversations</span><span style="color: #000000">.</span><span style="color: #001080">Client</span><span style="color: #000000">.</span><span style="color: #795E26">create</span><span style="color: #000000">(</span><span style="color: #001080">token</span><span style="color: #000000">);</span>
|
2864
|
-
<span style="color: #008000">// Use client</span>
|
2857
|
+
<p>Using this method, <code>twilio-conversations.js</code> will set a browser global <code>Twilio.Conversations</code> through which you can use the client:</p>
|
2858
|
+
<pre><code><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">client</span><span style="color: #000000"> = </span><span style="color: #0000FF">new</span><span style="color: #000000"> </span><span style="color: #001080">Twilio</span><span style="color: #000000">.</span><span style="color: #001080">Conversations</span><span style="color: #000000">.</span><span style="color: #795E26">Client</span><span style="color: #000000">(</span><span style="color: #001080">token</span><span style="color: #000000">);</span>
|
2865
2859
|
</code></pre>
|
2866
2860
|
<a href="#security" id="security" style="color: inherit; text-decoration: none;">
|
2867
2861
|
<h3>Security</h3>
|
@@ -2871,7 +2865,7 @@ img {
|
|
2871
2865
|
<p>If you require more security you will have to consume SDK by using <a href="https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity">SRI</a> and using an exact version
|
2872
2866
|
number. While less flexible it is significantly more secure, which is required by some applications.</p>
|
2873
2867
|
<p>To consume securely use the following script snippet format:</p>
|
2874
|
-
<pre><code class="language-html"><span style="color: #800000"><script</span><span style="color: #000000FF"> </span><span style="color: #FF0000">src</span><span style="color: #000000FF">=</span><span style="color: #0000FF">"https://media.twiliocdn.com/sdk/js/conversations/releases/2.0.
|
2868
|
+
<pre><code class="language-html"><span style="color: #800000"><script</span><span style="color: #000000FF"> </span><span style="color: #FF0000">src</span><span style="color: #000000FF">=</span><span style="color: #0000FF">"https://media.twiliocdn.com/sdk/js/conversations/releases/2.0.1/twilio-conversations.min.js"</span>
|
2875
2869
|
<span style="color: #000000FF"> </span><span style="color: #FF0000">integrity</span><span style="color: #000000FF">=</span><span style="color: #0000FF">"sha256-<HASH FROM THE CHANGELOGS PAGE>"</span>
|
2876
2870
|
<span style="color: #000000FF"> </span><span style="color: #FF0000">crossorigin</span><span style="color: #000000FF">=</span><span style="color: #0000FF">"anonymous"</span><span style="color: #800000">></script></span>
|
2877
2871
|
</code></pre>
|
package/dist/docs/modules.html
CHANGED
@@ -2820,7 +2820,7 @@ img {
|
|
2820
2820
|
<a href="#instantiating-and-using" id="instantiating-and-using" style="color: inherit; text-decoration: none;">
|
2821
2821
|
<h2>Instantiating and using</h2>
|
2822
2822
|
</a>
|
2823
|
-
<p>To use the library you need <a href="https://www.twilio.com/docs/conversations/create-tokens">to generate a token</a> and pass it to the
|
2823
|
+
<p>To use the library you need <a href="https://www.twilio.com/docs/conversations/create-tokens">to generate a token</a> and pass it to the Conversations Client constructor.</p>
|
2824
2824
|
<a href="#npm" id="npm" style="color: inherit; text-decoration: none;">
|
2825
2825
|
<h3>NPM</h3>
|
2826
2826
|
</a>
|
@@ -2856,14 +2856,8 @@ img {
|
|
2856
2856
|
directly in your web app using a <code><script></code> tag.</p>
|
2857
2857
|
<pre><code class="language-html"><span style="color: #800000"><script</span><span style="color: #000000FF"> </span><span style="color: #FF0000">src</span><span style="color: #000000FF">=</span><span style="color: #0000FF">"https://media.twiliocdn.com/sdk/js/conversations/v2.0/twilio-conversations.min.js"</span><span style="color: #800000">></script></span>
|
2858
2858
|
</code></pre>
|
2859
|
-
<p>Using this method, <code>twilio-conversations.js</code> will set a browser global <code>Twilio.Conversations</code> through which you can use the client
|
2860
|
-
<pre><code><span style="color: #
|
2861
|
-
<span style="color: #000000"> </span><span style="color: #008000">// Use client</span>
|
2862
|
-
<span style="color: #000000">});</span>
|
2863
|
-
</code></pre>
|
2864
|
-
<p>or, if you prefer <code>async</code>/<code>await</code> syntax:</p>
|
2865
|
-
<pre><code><span style="color: #0000FF">let</span><span style="color: #000000"> </span><span style="color: #001080">client</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">Twilio</span><span style="color: #000000">.</span><span style="color: #001080">Conversations</span><span style="color: #000000">.</span><span style="color: #001080">Client</span><span style="color: #000000">.</span><span style="color: #795E26">create</span><span style="color: #000000">(</span><span style="color: #001080">token</span><span style="color: #000000">);</span>
|
2866
|
-
<span style="color: #008000">// Use client</span>
|
2859
|
+
<p>Using this method, <code>twilio-conversations.js</code> will set a browser global <code>Twilio.Conversations</code> through which you can use the client:</p>
|
2860
|
+
<pre><code><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">client</span><span style="color: #000000"> = </span><span style="color: #0000FF">new</span><span style="color: #000000"> </span><span style="color: #001080">Twilio</span><span style="color: #000000">.</span><span style="color: #001080">Conversations</span><span style="color: #000000">.</span><span style="color: #795E26">Client</span><span style="color: #000000">(</span><span style="color: #001080">token</span><span style="color: #000000">);</span>
|
2867
2861
|
</code></pre>
|
2868
2862
|
<a href="#security" id="security" style="color: inherit; text-decoration: none;">
|
2869
2863
|
<h3>Security</h3>
|
@@ -2873,7 +2867,7 @@ img {
|
|
2873
2867
|
<p>If you require more security you will have to consume SDK by using <a href="https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity">SRI</a> and using an exact version
|
2874
2868
|
number. While less flexible it is significantly more secure, which is required by some applications.</p>
|
2875
2869
|
<p>To consume securely use the following script snippet format:</p>
|
2876
|
-
<pre><code class="language-html"><span style="color: #800000"><script</span><span style="color: #000000FF"> </span><span style="color: #FF0000">src</span><span style="color: #000000FF">=</span><span style="color: #0000FF">"https://media.twiliocdn.com/sdk/js/conversations/releases/2.0.
|
2870
|
+
<pre><code class="language-html"><span style="color: #800000"><script</span><span style="color: #000000FF"> </span><span style="color: #FF0000">src</span><span style="color: #000000FF">=</span><span style="color: #0000FF">"https://media.twiliocdn.com/sdk/js/conversations/releases/2.0.1/twilio-conversations.min.js"</span>
|
2877
2871
|
<span style="color: #000000FF"> </span><span style="color: #FF0000">integrity</span><span style="color: #000000FF">=</span><span style="color: #0000FF">"sha256-<HASH FROM THE CHANGELOGS PAGE>"</span>
|
2878
2872
|
<span style="color: #000000FF"> </span><span style="color: #FF0000">crossorigin</span><span style="color: #000000FF">=</span><span style="color: #0000FF">"anonymous"</span><span style="color: #800000">></script></span>
|
2879
2873
|
</code></pre>
|
package/dist/lib.d.ts
CHANGED
@@ -1949,4 +1949,12 @@ declare class RestPaginator<T> implements Paginator<T> {
|
|
1949
1949
|
*/
|
1950
1950
|
prevPage(): Promise<RestPaginator<T>>;
|
1951
1951
|
}
|
1952
|
-
|
1952
|
+
declare class NotificationTypes {
|
1953
|
+
static readonly TYPING_INDICATOR = "twilio.ipmsg.typing_indicator";
|
1954
|
+
static readonly NEW_MESSAGE = "twilio.conversations.new_message";
|
1955
|
+
static readonly ADDED_TO_CONVERSATION = "twilio.conversations.added_to_conversation";
|
1956
|
+
// static readonly INVITED_TO_CHANNEL = 'twilio.channel.invited_to_channel';
|
1957
|
+
static readonly REMOVED_FROM_CONVERSATION = "twilio.conversations.removed_from_conversation";
|
1958
|
+
static readonly CONSUMPTION_UPDATE = "twilio.channel.consumption_update";
|
1959
|
+
}
|
1960
|
+
export { Conversation, ConversationUpdateReason, ConversationStatus, NotificationLevel, ConversationState, ConversationUpdatedEventArgs, SendMediaOptions, SendEmailOptions, LastMessage, Participant, ParticipantUpdateReason, ParticipantType, ParticipantUpdatedEventArgs, Message, MessageUpdateReason, MessageType, MessageUpdatedEventArgs, Media, MediaCategory$0 as MediaCategory, AggregatedDeliveryReceipt, DeliveryAmount, DetailedDeliveryReceipt, DeliveryStatus, RestPaginator, MessageBuilder, UnsentMessage, Paginator, User, UserUpdateReason, UserUpdatedEventArgs, PushNotification, PushNotificationType, PushNotificationDescriptor, PushNotificationData, NotificationTypes, Client, State, ConnectionState, NotificationsChannelType, ClientOptions, CreateConversationOptions };
|
package/dist/lib.js
CHANGED
@@ -161,9 +161,9 @@ require('core-js/modules/web.dom-collections.iterator.js');
|
|
161
161
|
require('core-js/modules/es.regexp.exec.js');
|
162
162
|
require('core-js/modules/es.string.replace.js');
|
163
163
|
require('core-js/modules/es.array.join.js');
|
164
|
-
var JsonDiff = require('rfc6902');
|
165
164
|
var declarativeTypeValidator = require('@twilio/declarative-type-validator');
|
166
165
|
var replayEventEmitter = require('@twilio/replay-event-emitter');
|
166
|
+
var isEqual = require('lodash.isequal');
|
167
167
|
require('core-js/modules/es.array.slice.js');
|
168
168
|
require('core-js/modules/es.function.name.js');
|
169
169
|
require('core-js/modules/es.symbol.description.js');
|
@@ -244,7 +244,7 @@ var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallChec
|
|
244
244
|
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
245
245
|
var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
|
246
246
|
var loglevelLog__namespace = /*#__PURE__*/_interopNamespace(loglevelLog);
|
247
|
-
var
|
247
|
+
var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
|
248
248
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
249
249
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
250
250
|
|
@@ -459,21 +459,12 @@ var Configuration = function Configuration() {
|
|
459
459
|
}
|
460
460
|
};
|
461
461
|
|
462
|
-
/**
|
463
|
-
* Checks if objects are equal
|
464
|
-
*/
|
465
|
-
|
466
|
-
function isDeepEqual(o1, o2) {
|
467
|
-
return JsonDiff__namespace.createPatch(o1, o2).length === 0;
|
468
|
-
}
|
469
462
|
/**
|
470
463
|
* Deep-clone an object. Note that this does not work on object containing
|
471
464
|
* functions.
|
472
465
|
* @param {object} obj - the object to deep-clone
|
473
466
|
* @returns {object}
|
474
467
|
*/
|
475
|
-
|
476
|
-
|
477
468
|
function deepClone(obj) {
|
478
469
|
return JSON.parse(JSON.stringify(obj));
|
479
470
|
}
|
@@ -719,7 +710,7 @@ var User = /*#__PURE__*/function (_ReplayEventEmitter) {
|
|
719
710
|
case 9:
|
720
711
|
updateAttributes = parseAttributes(value.value, "Retrieved malformed attributes from the server for user: ".concat(this.state.identity), log$8);
|
721
712
|
|
722
|
-
if (!
|
713
|
+
if (!isEqual__default['default'](this.state.attributes, updateAttributes)) {
|
723
714
|
this.state.attributes = updateAttributes;
|
724
715
|
updateReasons.push('attributes');
|
725
716
|
}
|
@@ -1432,7 +1423,7 @@ var Participant = /*#__PURE__*/function (_ReplayEventEmitter) {
|
|
1432
1423
|
var updateReasons = [];
|
1433
1424
|
var updateAttributes = parseAttributes(data.attributes, 'Retrieved malformed attributes from the server for participant: ' + this.state.sid, log$7);
|
1434
1425
|
|
1435
|
-
if (data.attributes && !
|
1426
|
+
if (data.attributes && !isEqual__default['default'](this.state.attributes, updateAttributes)) {
|
1436
1427
|
this.state.attributes = updateAttributes;
|
1437
1428
|
updateReasons.push('attributes');
|
1438
1429
|
}
|
@@ -2647,7 +2638,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
|
|
2647
2638
|
|
2648
2639
|
var updatedAttributes = parseAttributes(data.attributes, "Got malformed attributes for the message ".concat(this.sid), log$5);
|
2649
2640
|
|
2650
|
-
if (!
|
2641
|
+
if (!isEqual__default['default'](this.state.attributes, updatedAttributes)) {
|
2651
2642
|
this.state.attributes = updatedAttributes;
|
2652
2643
|
updateReasons.push('attributes');
|
2653
2644
|
}
|
@@ -4210,7 +4201,7 @@ var Conversation = /*#__PURE__*/function (_ReplayEventEmitter) {
|
|
4210
4201
|
break;
|
4211
4202
|
|
4212
4203
|
case fieldMappings.attributes:
|
4213
|
-
if (
|
4204
|
+
if (isEqual__default['default'](this.channelState.attributes, update.attributes)) {
|
4214
4205
|
break;
|
4215
4206
|
}
|
4216
4207
|
|
@@ -4246,7 +4237,7 @@ var Conversation = /*#__PURE__*/function (_ReplayEventEmitter) {
|
|
4246
4237
|
updateReasons.add(localKey);
|
4247
4238
|
}
|
4248
4239
|
|
4249
|
-
if (
|
4240
|
+
if (isEqual__default['default'](this.channelState.lastMessage, {})) {
|
4250
4241
|
delete this.channelState.lastMessage;
|
4251
4242
|
}
|
4252
4243
|
|
@@ -4259,7 +4250,7 @@ var Conversation = /*#__PURE__*/function (_ReplayEventEmitter) {
|
|
4259
4250
|
state.dateUpdated = new Date(state.dateUpdated);
|
4260
4251
|
}
|
4261
4252
|
|
4262
|
-
if (
|
4253
|
+
if (isEqual__default['default'](this.channelState.state, state)) {
|
4263
4254
|
break;
|
4264
4255
|
}
|
4265
4256
|
|
@@ -5925,7 +5916,7 @@ var Conversations = /*#__PURE__*/function (_ReplayEventEmitter) {
|
|
5925
5916
|
updateData.lastConsumedMessageIndex = data.lastConsumedMessageIndex;
|
5926
5917
|
}
|
5927
5918
|
|
5928
|
-
if (!
|
5919
|
+
if (!isEqual__default['default'](updateData, {})) {
|
5929
5920
|
conversation._update(updateData);
|
5930
5921
|
}
|
5931
5922
|
|
@@ -6608,7 +6599,7 @@ function PushNotification(data) {
|
|
6608
6599
|
this.data = data.data || {};
|
6609
6600
|
};
|
6610
6601
|
|
6611
|
-
var version = "2.0.
|
6602
|
+
var version = "2.0.1-rc.3";
|
6612
6603
|
|
6613
6604
|
function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
6614
6605
|
|
@@ -7865,6 +7856,7 @@ exports.DetailedDeliveryReceipt = DetailedDeliveryReceipt;
|
|
7865
7856
|
exports.Media = Media;
|
7866
7857
|
exports.Message = Message;
|
7867
7858
|
exports.MessageBuilder = MessageBuilder;
|
7859
|
+
exports.NotificationTypes = NotificationTypes;
|
7868
7860
|
exports.Participant = Participant;
|
7869
7861
|
exports.PushNotification = PushNotification;
|
7870
7862
|
exports.RestPaginator = RestPaginator;
|