@twilio/conversations 2.0.0-rc.3 → 2.0.1-rc.2
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 +24 -27
- package/dist/browser.js +19 -20
- package/dist/browser.js.map +1 -1
- package/dist/docs/index.html +24 -23
- package/dist/docs/interfaces/PushNotificationData.html +1 -1
- package/dist/docs/interfaces/SendMediaOptions.html +2 -1
- package/dist/docs/modules.html +24 -23
- package/dist/lib.d.ts +19 -3
- package/dist/lib.js +19 -20
- package/dist/lib.js.map +1 -1
- package/dist/react-native.js +21 -17
- package/dist/react-native.js.map +1 -1
- package/dist/twilio-conversations.js +1945 -1097
- package/dist/twilio-conversations.min.js +3 -3
- package/package.json +10 -9
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,48 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
+
### [2.0.1-rc.2](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/conversations@2.0.1-rc.1...@twilio/conversations@2.0.1-rc.2) (2021-10-25)
|
7
|
+
|
8
|
+
**Note:** Version bump only for package @twilio/conversations
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
### [2.0.1-rc.1](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/conversations@2.0.1-rc.0...@twilio/conversations@2.0.1-rc.1) (2021-10-22)
|
15
|
+
|
16
|
+
**Note:** Version bump only for package @twilio/conversations
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
### [2.0.1-rc.0](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/conversations@2.0.0...@twilio/conversations@2.0.1-rc.0) (2021-10-22)
|
23
|
+
|
24
|
+
**Note:** Version bump only for package @twilio/conversations
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
## [2.0.0](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/conversations@2.0.0-rc.4...@twilio/conversations@2.0.0) (2021-10-19)
|
31
|
+
|
32
|
+
|
33
|
+
### Bug Fixes
|
34
|
+
|
35
|
+
* Add an export to NotificationTypes ([0986564](https://github.com/twilio/rtd-sdk-monorepo-js/commit/09865645750f8ae2f930471284de9d9f7445f1e8))
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
## [2.0.0-rc.4](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/conversations@2.0.0-rc.3...@twilio/conversations@2.0.0-rc.4) (2021-10-14)
|
40
|
+
|
41
|
+
|
42
|
+
### Bug Fixes
|
43
|
+
|
44
|
+
* Fix passing JSON attributes into conversation.addNonChatParticipant ([c3da243](https://github.com/twilio/rtd-sdk-monorepo-js/commit/c3da243469f5c33663c756d9f714a38240c4dd48))
|
45
|
+
|
46
|
+
|
47
|
+
|
6
48
|
## [2.0.0-rc.3](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/conversations@2.0.0-rc.2...@twilio/conversations@2.0.0-rc.3) (2021-10-13)
|
7
49
|
|
8
50
|
**Note:** Version bump only for package @twilio/conversations
|
package/README.md
CHANGED
@@ -7,33 +7,38 @@ Visit our official site for more detalis: [https://www.twilio.com/conversations]
|
|
7
7
|
|
8
8
|
Instantiating and using
|
9
9
|
------------
|
10
|
-
To use the library you need [to generate a token](https://www.twilio.com/docs/conversations/create-tokens) and pass it to the
|
10
|
+
To use the library you need [to generate a token](https://www.twilio.com/docs/conversations/create-tokens) and pass it to the Conversations Client constructor.
|
11
11
|
|
12
12
|
### NPM
|
13
13
|
```
|
14
14
|
npm install --save @twilio/conversations
|
15
15
|
```
|
16
16
|
|
17
|
-
Using this method, you can `require` `twilio-conversations` and then use the
|
17
|
+
Using this method, you can `require` `twilio-conversations` and then use the
|
18
|
+
client:
|
18
19
|
```
|
19
|
-
const
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
const client = await Conversations.Client.create(token);
|
29
|
-
// Use client
|
20
|
+
const { Client } = require('@twilio/conversations');
|
21
|
+
const client = new Client(token);
|
22
|
+
// Before you use the client, subscribe to the `'stateChanged'` event and wait
|
23
|
+
// for the `'initialized'` state to be reported.
|
24
|
+
client.on('stateChanged', (state) => {
|
25
|
+
if (state === 'initialized') {
|
26
|
+
// Use the client
|
27
|
+
}
|
28
|
+
}
|
30
29
|
```
|
31
30
|
|
32
31
|
The SDK could also be imported using the ES module syntax:
|
33
32
|
```
|
34
|
-
import {
|
35
|
-
const client =
|
36
|
-
//
|
33
|
+
import { Client } from '@twilio/conversations';
|
34
|
+
const client = new Client(token);
|
35
|
+
// Before you use the client, subscribe to the `'stateChanged'` event and wait
|
36
|
+
// for the `'initialized'` state to be reported.
|
37
|
+
client.on('stateChanged', (state) => {
|
38
|
+
if (state === 'initialized') {
|
39
|
+
// Use the client
|
40
|
+
}
|
41
|
+
}
|
37
42
|
```
|
38
43
|
|
39
44
|
### CDN
|
@@ -43,17 +48,9 @@ directly in your web app using a `<script>` tag.
|
|
43
48
|
```html
|
44
49
|
<script src="https://media.twiliocdn.com/sdk/js/conversations/v2.0/twilio-conversations.min.js"></script>
|
45
50
|
```
|
46
|
-
Using this method, `twilio-conversations.js` will set a browser global `Twilio.Conversations` through which you can use the client
|
47
|
-
```
|
48
|
-
Twilio.Conversations.Client.create(token).then(client => {
|
49
|
-
// Use client
|
50
|
-
});
|
51
|
-
```
|
52
|
-
|
53
|
-
or, if you prefer `async`/`await` syntax:
|
51
|
+
Using this method, `twilio-conversations.js` will set a browser global `Twilio.Conversations` through which you can use the client:
|
54
52
|
```
|
55
|
-
|
56
|
-
// Use client
|
53
|
+
const client = new Twilio.Conversations.Client(token);
|
57
54
|
```
|
58
55
|
|
59
56
|
### Security
|
@@ -67,7 +64,7 @@ number. While less flexible it is significantly more secure, which is required b
|
|
67
64
|
To consume securely use the following script snippet format:
|
68
65
|
|
69
66
|
```html
|
70
|
-
<script src="https://media.twiliocdn.com/sdk/js/conversations/releases/2.0.
|
67
|
+
<script src="https://media.twiliocdn.com/sdk/js/conversations/releases/2.0.1/twilio-conversations.min.js"
|
71
68
|
integrity="sha256-<HASH FROM THE CHANGELOGS PAGE>"
|
72
69
|
crossorigin="anonymous"></script>
|
73
70
|
```
|
package/dist/browser.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
|
|
@@ -4393,7 +4384,7 @@ var Conversation = /*#__PURE__*/function (_ReplayEventEmitter) {
|
|
4393
4384
|
while (1) {
|
4394
4385
|
switch (_context5.prev = _context5.next) {
|
4395
4386
|
case 0:
|
4396
|
-
return _context5.abrupt("return", this.participantsEntity.addNonChatParticipant(proxyAddress, address, attributes
|
4387
|
+
return _context5.abrupt("return", this.participantsEntity.addNonChatParticipant(proxyAddress, address, attributes));
|
4397
4388
|
|
4398
4389
|
case 1:
|
4399
4390
|
case "end":
|
@@ -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.2";
|
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
|
|
@@ -7692,6 +7683,13 @@ exports.Client = Client_1 = (_temp = _class = /*#__PURE__*/function (_ReplayEven
|
|
7692
7683
|
* The factory method will automatically trigger connection.
|
7693
7684
|
* Do not use it if you need finer-grained control.
|
7694
7685
|
*
|
7686
|
+
* Since this method returns an already-initialized client, some of the events
|
7687
|
+
* will be lost because they happen *before* the initialization. It is
|
7688
|
+
* recommended that `client.onWithReplay` is used as opposed to `client.on`
|
7689
|
+
* for subscribing to client events. The `client.onWithReplay` will re-emit
|
7690
|
+
* the most recent value for a given event if it emitted before the
|
7691
|
+
* subscription.
|
7692
|
+
*
|
7695
7693
|
* @param token Access token.
|
7696
7694
|
* @param options Options to customize the client.
|
7697
7695
|
* @returns Returns a fully initialized client.
|
@@ -7858,6 +7856,7 @@ exports.DetailedDeliveryReceipt = DetailedDeliveryReceipt;
|
|
7858
7856
|
exports.Media = Media;
|
7859
7857
|
exports.Message = Message;
|
7860
7858
|
exports.MessageBuilder = MessageBuilder;
|
7859
|
+
exports.NotificationTypes = NotificationTypes;
|
7861
7860
|
exports.Participant = Participant;
|
7862
7861
|
exports.PushNotification = PushNotification;
|
7863
7862
|
exports.RestPaginator = RestPaginator;
|