@subiz/widget-v4 4.0.98 → 4.0.99

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 (78) hide show
  1. package/assets/less/chatbox.less +1 -1
  2. package/assets/less/notif.less +1 -1
  3. package/compiled_src/chatbox/ShadowDomRoot.js +1 -1
  4. package/compiled_src/chatbox/Widget.js +9 -16
  5. package/compiled_src/lib.js +2 -2
  6. package/compiled_src/store/store.js +20 -8
  7. package/dist/132.js +6645 -0
  8. package/dist/178.js +406 -0
  9. package/dist/213.js +2950 -0
  10. package/dist/335.js +376 -0
  11. package/dist/362.js +107 -0
  12. package/dist/441.js +2840 -0
  13. package/dist/605.js +297 -0
  14. package/dist/678.js +107 -0
  15. package/dist/782.js +107 -0
  16. package/dist/HASH +1 -0
  17. package/dist/assets/img/Facebook.64607ec.png +0 -0
  18. package/dist/assets/img/Zalo.6845707.png +0 -0
  19. package/dist/assets/img/bubble_default.7d5e4ab.svg +20 -0
  20. package/dist/assets/img/caret.998eb8f.svg +1 -0
  21. package/dist/assets/img/convos_empty.2353007.svg +72 -0
  22. package/dist/assets/img/default.06e6ee0.jpg +0 -0
  23. package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
  24. package/dist/assets/img/done_gray.d7e8203.svg +4 -0
  25. package/dist/assets/img/done_green.b817fd4.svg +4 -0
  26. package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
  27. package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
  28. package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
  29. package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
  30. package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
  31. package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
  32. package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
  33. package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
  34. package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
  35. package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
  36. package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
  37. package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
  38. package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
  39. package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
  40. package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
  41. package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
  42. package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
  43. package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
  44. package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
  45. package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
  46. package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
  47. package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
  48. package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
  49. package/dist/assets/img/empty.29bed2d.svg +23 -0
  50. package/dist/assets/img/empty_1.0b98af0.svg +11 -0
  51. package/dist/assets/img/external-link.90577cc.svg +1 -0
  52. package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
  53. package/dist/assets/img/ghn.070f8e3.svg +17 -0
  54. package/dist/assets/img/ghtk.326eac1.svg +18 -0
  55. package/dist/assets/img/image_default.be0698b.png +0 -0
  56. package/dist/assets/img/info.ebce7ea.svg +1 -0
  57. package/dist/assets/img/loader.37000a7.svg +1 -0
  58. package/dist/assets/img/loading_static.8f403ae.svg +10 -0
  59. package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
  60. package/dist/assets/img/package.8d37d0f.svg +5 -0
  61. package/dist/assets/img/package_fade.763c001.svg +1 -0
  62. package/dist/assets/img/rating--average.1ea492c.svg +12 -0
  63. package/dist/assets/img/rating--great.e3d712e.svg +16 -0
  64. package/dist/assets/img/rating--poor.2938a25.svg +12 -0
  65. package/dist/assets/img/search.f9705ff.svg +1 -0
  66. package/dist/assets/img/send.6db52a9.svg +3 -0
  67. package/dist/assets/img/shop.f7dc7d8.svg +1 -0
  68. package/dist/assets/img/shop_faded.df7845a.svg +1 -0
  69. package/dist/assets/img/subiz-mono.877e9f5.svg +3 -0
  70. package/dist/assets/img/x.26fdfa3.svg +5 -0
  71. package/dist/malicious-app.js +13 -0
  72. package/dist/screenshoot.html +7 -0
  73. package/dist/screenshoot.js +5689 -0
  74. package/package.json +2 -2
  75. package/src/chatbox/ShadowDomRoot.js +1 -1
  76. package/src/chatbox/Widget.js +6 -10
  77. package/src/lib.js +2 -2
  78. package/src/store/store.js +20 -8
@@ -34,7 +34,7 @@
34
34
  @spacer3: @spacer; // 15px;
35
35
  @spacer4: @spacer * 1.5; // 22.5px
36
36
 
37
- @font-family-sans-serif: Roboto, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, 'Noto Sans',
37
+ @font-family-sans-serif: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
38
38
  sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
39
39
 
40
40
  @font-size-base: 15px; // Assumes the browser default, typically `16px`
@@ -43,7 +43,7 @@ body div#sbz92 {
43
43
 
44
44
  .notif {
45
45
  cursor: pointer;
46
- font-family: roboto;
46
+ font-family: Inter;
47
47
  font-size: 14px;
48
48
  position: absolute;
49
49
  user-select: none;
@@ -19,7 +19,7 @@ class ShadowDomRoot extends _common.Com {
19
19
  }
20
20
  update(html) {
21
21
  this.shadowRoot.innerHTML = `<style type="text/css">
22
- body { font-family: 'Roboto', sans-serif!important; font-size: 14px!important; line-height: 20px; overflow-y: hidden; margin:0 }
22
+ body { font-family: 'Inter', sans-serif!important; font-size: 14px!important; line-height: 20px; overflow-y: hidden; margin:0 }
23
23
  h{ font-size: 14/18px!important; }
24
24
  a { text-decoration: none;}
25
25
  img { max-width: 100%; display: block; margin: 10px auto; }
@@ -810,23 +810,11 @@ class Widget extends _common.Com {
810
810
  if (!name) name = this.props.t('agent');
811
811
  var $you = null;
812
812
  if (convo.lastSenderType === 'user') {
813
- $you = (0, _preact.h)("span", {
814
- class: "yourmessage"
815
- }, this.props.t('you'), ":");
813
+ $you = (0, _preact.h)("span", null, this.props.t('you'), ":");
816
814
  }
817
815
  let seen = _index.default.isConvoSeen(convo, this.props.store.matchUser().id);
818
- var lastmsg = this.renderMessagePreview(convo.last_message_sent || {
819
- data: {
820
- message: _index.default.get(convo, 'last_message')
821
- }
822
- });
823
- var time = _index.default.getMs(_index.default.get(convo, 'last_message_sent.created')) || _index.default.getMs(_index.default.get(convo, 'last_sent.created')) || _index.default.getMs(convo.created);
824
- var $tim = (0, _preact.h)(_time.default, {
825
- ago: true,
826
- time: time,
827
- key: time,
828
- short: true
829
- });
816
+ var lastmsg = this.renderMessagePreview(convo.last_message_sent);
817
+ var time = _index.default.getMs(_index.default.get(convo, 'last_message_sent.created')) || _index.default.getMs(convo.created);
830
818
  let $unread = seen ? null : (0, _preact.h)("div", {
831
819
  class: "convo-list--item-unread"
832
820
  });
@@ -846,7 +834,12 @@ class Widget extends _common.Com {
846
834
  class: "convo-list--convo-name"
847
835
  }, name), (0, _preact.h)("div", {
848
836
  class: "convo-list--convo-time"
849
- }, $tim)), (0, _preact.h)("div", {
837
+ }, (0, _preact.h)(_time.default, {
838
+ ago: true,
839
+ time: time,
840
+ key: time,
841
+ short: true
842
+ }))), (0, _preact.h)("div", {
850
843
  class: "d-flex flex-row"
851
844
  }, (0, _preact.h)("div", {
852
845
  class: "convo-list--convo-last-message"
@@ -10,10 +10,10 @@ var _plugin = _interopRequireDefault(require("./plugin.js"));
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
12
  var $link = document.createElement('link');
13
- $link.href = 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap';
13
+ $link.href = 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap';
14
14
  $link.rel = 'stylesheet';
15
15
  document.head.append($link);
16
- _index.default.preloadWebfonts(['Roboto'], [400, 500]);
16
+ _index.default.preloadWebfonts(['Inter'], [400, 500, 600]);
17
17
  class Widget {
18
18
  constructor(ApiURL, FileURL, RealtimeURL, inmem, fake) {
19
19
  _defineProperty(this, "version", () => '4.5');
@@ -109,6 +109,7 @@ class Store {
109
109
  _defineProperty(this, "readyGate", new _index.default.Gate());
110
110
  _defineProperty(this, "convoGate", new _index.default.Gate(true));
111
111
  _defineProperty(this, "reconnectGate", new _index.default.Gate(true));
112
+ _defineProperty(this, "wsGate", new _index.default.Gate(true));
112
113
  _defineProperty(this, "matchLastview", () => this.kv.match('lastview') || {});
113
114
  _defineProperty(this, "matchIsOpen", () => !!this.kv.match('isopen'));
114
115
  _defineProperty(this, "matchHasManuallyClosed", () => !!this.kv.match('hasManuallyClosed'));
@@ -538,6 +539,12 @@ class Store {
538
539
  if (traffic_source) this.kv.put('traffic_source', traffic_source);
539
540
  }
540
541
  async onWs(ev) {
542
+ await this.wsGate.entry();
543
+ this.wsGate.close();
544
+ await this._onWs(ev);
545
+ this.wsGate.open();
546
+ }
547
+ async _onWs(ev) {
541
548
  if (!ev || !ev.type) return;
542
549
  ev.created = _index.default.getMs(ev.created);
543
550
  if (ev.type === 'user_info_updated') {
@@ -551,8 +558,9 @@ class Store {
551
558
  let user = this.kv.match('user') || {};
552
559
  let cid = _index.default.convoOfEv(ev);
553
560
  let convo;
561
+ let alreadyFetched = false;
554
562
  if (cid) {
555
- convo = this.matchConvo(cid);
563
+ convo = this.cache.match('convo_' + cid);
556
564
  if (!convo || !convo.id) {
557
565
  let {
558
566
  body: apiconvo,
@@ -560,6 +568,8 @@ class Store {
560
568
  } = await this.api.getConversation(cid);
561
569
  if (!apiconvo) return;
562
570
  convo = apiconvo;
571
+ alreadyFetched = true;
572
+ this._setConvo(convo);
563
573
  }
564
574
  }
565
575
  if (!convo) return;
@@ -574,14 +584,16 @@ class Store {
574
584
  if (me) {
575
585
  await this.chain.reload(cid, (type, anchor, limit) => this.listmessageapi(type, anchor, limit));
576
586
  this.markSync('events' + cid);
577
- let {
578
- body: apiconvo
579
- } = await this.api.getConversation(cid);
580
- if (apiconvo) {
581
- convo = apiconvo;
582
- this._setConvo(convo);
587
+ if (!alreadyFetched) {
588
+ let {
589
+ body: apiconvo
590
+ } = await this.api.getConversation(cid);
591
+ if (apiconvo) {
592
+ convo = apiconvo;
593
+ this._setConvo(convo);
594
+ }
595
+ this.pubsub.publish('account');
583
596
  }
584
- this.pubsub.publish('account');
585
597
  }
586
598
  }
587
599
  if (ev.type === 'message_sent') {