@subiz/widget-v4 4.0.91 → 4.0.93
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/compiled_src/bot.js +0 -11
- package/compiled_src/call/call.js +0 -61
- package/compiled_src/call/css.js +0 -2
- package/compiled_src/chatbox/AgentsAvatar.js +0 -16
- package/compiled_src/chatbox/AudioAttachments.js +0 -14
- package/compiled_src/chatbox/ButtonAttachments.js +1 -14
- package/compiled_src/chatbox/Buttons.js +0 -13
- package/compiled_src/chatbox/ChatButton.js +1 -78
- package/compiled_src/chatbox/DropdownSelect.js +3 -44
- package/compiled_src/chatbox/Emoji.js +0 -7
- package/compiled_src/chatbox/Event.js +0 -59
- package/compiled_src/chatbox/Events.js +4 -44
- package/compiled_src/chatbox/FileAttachments.js +0 -14
- package/compiled_src/chatbox/FormAttachment.js +1 -52
- package/compiled_src/chatbox/FormAttachments.js +0 -14
- package/compiled_src/chatbox/FormSubmitAttachments.js +0 -11
- package/compiled_src/chatbox/GenericTemplateAttachments.js +1 -20
- package/compiled_src/chatbox/Header.js +1 -46
- package/compiled_src/chatbox/ImageAttachments.js +0 -16
- package/compiled_src/chatbox/InfoMessage.js +0 -13
- package/compiled_src/chatbox/ListField.js +0 -16
- package/compiled_src/chatbox/MessageInput.js +1 -47
- package/compiled_src/chatbox/Order.js +0 -35
- package/compiled_src/chatbox/OrderAttachments.js +1 -23
- package/compiled_src/chatbox/PoweredBy.js +0 -7
- package/compiled_src/chatbox/ProductAttachments.js +0 -19
- package/compiled_src/chatbox/QuickReplies.js +0 -18
- package/compiled_src/chatbox/Rating.js +0 -37
- package/compiled_src/chatbox/ShadowDomRoot.js +0 -9
- package/compiled_src/chatbox/TextMessage.js +0 -64
- package/compiled_src/chatbox/Typing.js +0 -15
- package/compiled_src/chatbox/VideoAttachments.js +0 -14
- package/compiled_src/chatbox/Widget.js +6 -167
- package/compiled_src/chatbox/css.js +0 -2
- package/compiled_src/chatbox/dragscroll.js +1 -5
- package/compiled_src/chatbox/main.js +3 -43
- package/compiled_src/chatbox/releaseAnimation.js +0 -11
- package/compiled_src/chatbox/spinner.js +0 -10
- package/compiled_src/chatbox/time.js +0 -22
- package/compiled_src/chatbox/touchscroll.js +0 -7
- package/compiled_src/common.js +0 -22
- package/compiled_src/contact/contact.js +2 -52
- package/compiled_src/contact/css.js +0 -2
- package/compiled_src/lib.js +19 -46
- package/compiled_src/notif/css.js +0 -2
- package/compiled_src/notif/notif.js +0 -63
- package/compiled_src/order/address_picker.js +4 -38
- package/compiled_src/order/icon.js +0 -16
- package/compiled_src/order/index.js +1 -34
- package/compiled_src/order/order.js +2 -156
- package/compiled_src/plugin.js +1 -77
- package/compiled_src/popup/countdown.js +2 -33
- package/compiled_src/popup/css.js +0 -2
- package/compiled_src/popup/popup.js +2 -165
- package/compiled_src/popup/tick.core.commonjs.js +72 -222
- package/compiled_src/popup/tick.view.flip.commonjs.js +23 -31
- package/compiled_src/store/api.js +103 -66
- package/compiled_src/store/api_fake.js +3 -39
- package/compiled_src/store/realtime_fake.js +0 -6
- package/compiled_src/store/store.js +46 -257
- package/compiled_src/util/campaign.js +0 -13
- package/compiled_src/util/common.js +15 -190
- package/compiled_src/util/common.test.js +0 -4
- package/compiled_src/util/extractor.js +1 -21
- package/compiled_src/util/extractor.test.js +0 -3
- package/compiled_src/util/gate.js +0 -7
- package/compiled_src/util/gate.test.js +1 -2
- package/compiled_src/util/index.js +1 -7
- package/compiled_src/util/mutex.js +31 -0
- package/compiled_src/util/op.js +1 -14
- package/compiled_src/util/pubsub.js +0 -6
- package/compiled_src/util/pubsub.test.js +0 -2
- package/package.json +12 -12
- package/src/chatbox/main.js +3 -3
- package/src/lib.js +24 -2
- package/src/store/api.js +111 -22
- package/src/store/api_fake.js +5 -6
- package/src/store/store.js +38 -14
- package/src/util/common.js +0 -4
- package/src/util/index.js +1 -0
- package/src/util/mutex.js +27 -0
- package/dist/0b82fa7e5c3b07b40a44.png +0 -1
- package/dist/0f4af006e38ee8b93633.png +0 -1
- package/dist/132.js +0 -6777
- package/dist/178.js +0 -573
- package/dist/17f00e48d38.132.js +0 -1
- package/dist/17f00e48d38.178.js +0 -1
- package/dist/17f00e48d38.213.js +0 -1
- package/dist/17f00e48d38.335.js +0 -1
- package/dist/17f00e48d38.362.js +0 -1
- package/dist/17f00e48d38.441.js +0 -1
- package/dist/17f00e48d38.605.js +0 -1
- package/dist/17f00e48d38.678.js +0 -1
- package/dist/17f00e48d38.782.js +0 -1
- package/dist/17f00e48d38.app.js +0 -1
- package/dist/17f00e48d38.index.html +0 -22
- package/dist/17f00e48d38.library.html +0 -22
- package/dist/17f00e48d38.library.js +0 -1
- package/dist/17f00e48d38.preview.html +0 -759
- package/dist/17f00e48d38.preview.js +0 -1
- package/dist/17f00e48d38.screenshoot.js +0 -1
- package/dist/1ea1c6cd21d25176810c.png +0 -1
- package/dist/213.js +0 -3188
- package/dist/292d42404e1b03398f61.png +0 -1
- package/dist/312d376370831b7bea83.png +0 -1
- package/dist/313d1bfc1cf776d1aefe.png +0 -1
- package/dist/335.js +0 -411
- package/dist/362.js +0 -157
- package/dist/441.js +0 -2732
- package/dist/4aa58bb7a66bb44975aa.png +0 -1
- package/dist/56ce063bc6c81adb7322.png +0 -1
- package/dist/605.js +0 -328
- package/dist/678.js +0 -157
- package/dist/6a411166ef5cc79e0714.png +0 -1
- package/dist/6faf403782fefacc1649.png +0 -1
- package/dist/782.js +0 -204
- package/dist/79dca33c68fab79c067f.png +0 -1
- package/dist/82da1578fa84f9debaeb.png +0 -1
- package/dist/8b8e0f0824743974b282.png +0 -1
- package/dist/8d551390d81e39130a3c.png +0 -1
- package/dist/9fc61b9479877ebdb6c7.png +0 -1
- package/dist/HASH +0 -1
- package/dist/a165d31dcb3dc90f1057.png +0 -1
- package/dist/a98d4a5698812c4426b3.png +0 -1
- package/dist/assets/img/Facebook.64607ec.png +0 -0
- package/dist/assets/img/Zalo.6845707.png +0 -0
- package/dist/assets/img/award1a.1a58e10.png +0 -0
- package/dist/assets/img/award3a.3b74423.png +0 -0
- package/dist/assets/img/award4a.ed6ccd4.png +0 -0
- package/dist/assets/img/award5.39eb7ae.png +0 -0
- package/dist/assets/img/bubble_default.7d5e4ab.svg +0 -20
- package/dist/assets/img/caret.998eb8f.svg +0 -1
- package/dist/assets/img/convos_empty.2353007.svg +0 -72
- package/dist/assets/img/default.06e6ee0.jpg +0 -0
- package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
- package/dist/assets/img/done_gray.d7e8203.svg +0 -4
- package/dist/assets/img/done_green.b817fd4.svg +0 -4
- package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
- package/dist/assets/img/empty.29bed2d.svg +0 -23
- package/dist/assets/img/empty_1.0b98af0.svg +0 -11
- package/dist/assets/img/examplte_logo.f86535f.svg +0 -1
- package/dist/assets/img/external-link.90577cc.svg +0 -1
- package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
- package/dist/assets/img/ghn.070f8e3.svg +0 -17
- package/dist/assets/img/ghtk.326eac1.svg +0 -18
- package/dist/assets/img/image_default.be0698b.png +0 -0
- package/dist/assets/img/info.ebce7ea.svg +0 -1
- package/dist/assets/img/loader.37000a7.svg +0 -1
- package/dist/assets/img/loading_static.8f403ae.svg +0 -10
- package/dist/assets/img/main-service1.d536cc2.png +0 -0
- package/dist/assets/img/main-service2.9b99549.png +0 -0
- package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
- package/dist/assets/img/package.8d37d0f.svg +0 -5
- package/dist/assets/img/package_fade.763c001.svg +0 -1
- package/dist/assets/img/rating--average.1ea492c.svg +0 -12
- package/dist/assets/img/rating--great.e3d712e.svg +0 -16
- package/dist/assets/img/rating--poor.2938a25.svg +0 -12
- package/dist/assets/img/search.f9705ff.svg +0 -1
- package/dist/assets/img/send.6db52a9.svg +0 -3
- package/dist/assets/img/shop.f7dc7d8.svg +0 -1
- package/dist/assets/img/shop_faded.df7845a.svg +0 -1
- package/dist/assets/img/subiz-mono.877e9f5.svg +0 -3
- package/dist/assets/img/x.26fdfa3.svg +0 -5
- package/dist/c41606bf9d1b604e46d5.png +0 -1
- package/dist/ce1f7450ce6c1aacd330.png +0 -1
- package/dist/cf8c01e88f4770a6e3e5.png +0 -1
- package/dist/dfbcfeab1d5622a737e2.png +0 -1
- package/dist/e4893ed8c2f7b8329919.png +0 -1
- package/dist/ec2ab4eb4ef73d186186.png +0 -1
- package/dist/malicious-app.js +0 -13
- package/dist/screenshoot.html +0 -7
- package/dist/screenshoot.js +0 -5919
package/src/store/store.js
CHANGED
|
@@ -15,8 +15,7 @@ const page_loaded = sb.Date.now()
|
|
|
15
15
|
|
|
16
16
|
// available localstorage key mask, user, hasManuallyClosed, isopen, close_preview_at, lastview, bot_run_logs, plugin_run_logs
|
|
17
17
|
export default class Store {
|
|
18
|
-
constructor(ApiURL, FileURL, RealtimeURL, inmem, fakeapi
|
|
19
|
-
this.agent_token = agenttoken
|
|
18
|
+
constructor(ApiURL, FileURL, RealtimeURL, inmem, fakeapi) {
|
|
20
19
|
this.g_sync = {}
|
|
21
20
|
this.forceDevice = null
|
|
22
21
|
this.forcePlugins = {}
|
|
@@ -354,9 +353,6 @@ export default class Store {
|
|
|
354
353
|
// trust cookie, remove localstorage
|
|
355
354
|
if (mask && localstorageMask && mask !== localstorageMask) this.clearBrowserData()
|
|
356
355
|
|
|
357
|
-
// use this mask
|
|
358
|
-
if (this.agent_token) mask = await this.api.createAgentUser(this.agent_token)
|
|
359
|
-
|
|
360
356
|
var userId = ''
|
|
361
357
|
if (mask) {
|
|
362
358
|
let parts = mask.split('@')
|
|
@@ -396,6 +392,36 @@ export default class Store {
|
|
|
396
392
|
return mask
|
|
397
393
|
}
|
|
398
394
|
|
|
395
|
+
async login(accid, user_id, tokenGenerator) {
|
|
396
|
+
let user = await this.api.setTokenGenerator(accid, user_id, tokenGenerator)
|
|
397
|
+
if (user.error) return user
|
|
398
|
+
|
|
399
|
+
this.clearBrowserData()
|
|
400
|
+
this.readyGate.close()
|
|
401
|
+
accid = (accid || '').trim()
|
|
402
|
+
|
|
403
|
+
this.g_sync = {}
|
|
404
|
+
this.new_visitor = false // for checking returning or new visitor
|
|
405
|
+
|
|
406
|
+
if (this.realtime) this.realtime.stop()
|
|
407
|
+
if (this.fake) this.realtime = new RealtimeFake()
|
|
408
|
+
else this.realtime = new Realtime(this.RealtimeURL, {getAccessToken: () => this.api.token_generator()})
|
|
409
|
+
|
|
410
|
+
this.realtime.onEvent(this.onWs.bind(this))
|
|
411
|
+
this.realtime.onInterrupted(() => this.reconnectWs(accid, user.id))
|
|
412
|
+
|
|
413
|
+
this.seenLoop()
|
|
414
|
+
await this.reconnect()
|
|
415
|
+
this.readyGate.open()
|
|
416
|
+
this.reconnectWs(accid, user.id)
|
|
417
|
+
|
|
418
|
+
return user
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
logout(user_id) {
|
|
422
|
+
this.api.setTokenGenerator(undefined, undefined, undefined)
|
|
423
|
+
}
|
|
424
|
+
|
|
399
425
|
seenQueue = [] // convoid will be seen
|
|
400
426
|
seenLoop() {
|
|
401
427
|
// periodically send seen
|
|
@@ -618,8 +644,6 @@ export default class Store {
|
|
|
618
644
|
|
|
619
645
|
// convo events
|
|
620
646
|
let user = this.kv.match('user') || {}
|
|
621
|
-
const INTEGRATION_ID = sb.getIntegrationId(user.account_id)
|
|
622
|
-
|
|
623
647
|
let cid = sb.convoOfEv(ev)
|
|
624
648
|
let convo
|
|
625
649
|
if (cid) {
|
|
@@ -633,10 +657,10 @@ export default class Store {
|
|
|
633
657
|
|
|
634
658
|
if (!convo) return
|
|
635
659
|
|
|
636
|
-
// ignore wrong
|
|
637
|
-
let
|
|
638
|
-
if (
|
|
639
|
-
|
|
660
|
+
// ignore wrong channel
|
|
661
|
+
let channel = sb.get(ev, 'touchpoint.channel', '')
|
|
662
|
+
if (channel && channel != 'subiz') return
|
|
663
|
+
|
|
640
664
|
this.pubsub.publish('events', ev)
|
|
641
665
|
|
|
642
666
|
// server doesn't send events before conversation_joined occur
|
|
@@ -867,9 +891,9 @@ export default class Store {
|
|
|
867
891
|
|
|
868
892
|
// ignore invalid conversation
|
|
869
893
|
let user = this.kv.match('user')
|
|
870
|
-
|
|
871
|
-
let
|
|
872
|
-
if (
|
|
894
|
+
|
|
895
|
+
let channel = sb.get(convo, 'touchpoint.channel', '')
|
|
896
|
+
if (channel && channel != 'subiz') return
|
|
873
897
|
let allconvo = {}
|
|
874
898
|
// trim
|
|
875
899
|
sb.map(this.cache.all(), (value, key) => {
|
package/src/util/common.js
CHANGED
|
@@ -311,10 +311,6 @@ export function orderBy(a, k, d) {
|
|
|
311
311
|
return clone
|
|
312
312
|
}
|
|
313
313
|
|
|
314
|
-
export function getIntegrationId(accid) {
|
|
315
|
-
return `${accid}.subizv4.subikon`
|
|
316
|
-
}
|
|
317
|
-
|
|
318
314
|
export function isPhone(phone) {
|
|
319
315
|
var re = /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im
|
|
320
316
|
return re.test(String(phone))
|
package/src/util/index.js
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export default class Mutex {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.isOpen = true
|
|
4
|
+
this.cbs = []
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
_check() {
|
|
8
|
+
if (!this.isOpen) return
|
|
9
|
+
let cb = this.cbs.pop()
|
|
10
|
+
if (!cb) return
|
|
11
|
+
this.isOpen = false
|
|
12
|
+
cb()
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
lock() {
|
|
16
|
+
return new Promise((resolve) => {
|
|
17
|
+
this.cbs.push(resolve)
|
|
18
|
+
this._check()
|
|
19
|
+
})
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
unlock() {
|
|
23
|
+
if (this.isOpen) return
|
|
24
|
+
this.isOpen = true
|
|
25
|
+
this._check()
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = __webpack_public_path__ + "assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = __webpack_public_path__ + "assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png";
|