@subiz/widget-v4 4.1.152 → 4.1.155
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/assets/less/message.less +0 -1
- package/cloudflare_worker.js +4 -2
- package/compiled_src/chatbox/main.js +18 -6
- package/compiled_src/store/api.js +53 -2
- package/dist/127.js +273 -0
- package/dist/132.js +2802 -0
- package/dist/185.js +1827 -0
- package/dist/19816b2e8ca.127.js +1 -0
- package/dist/19816b2e8ca.132.js +1 -0
- package/dist/19816b2e8ca.185.js +1 -0
- package/dist/19816b2e8ca.27.js +1 -0
- package/dist/19816b2e8ca.278.js +1 -0
- package/dist/19816b2e8ca.339.js +1 -0
- package/dist/19816b2e8ca.459.js +1 -0
- package/dist/19816b2e8ca.490.js +1 -0
- package/dist/19816b2e8ca.74.js +1 -0
- package/dist/19816b2e8ca.997.js +1 -0
- package/dist/19816b2e8ca.app.js +1 -0
- package/dist/19816b2e8ca.chat.html +1 -0
- package/dist/19816b2e8ca.chat.js +1 -0
- package/dist/19816b2e8ca.form.html +1 -0
- package/dist/19816b2e8ca.form.js +1 -0
- package/dist/19816b2e8ca.index.html +71 -0
- package/dist/19816b2e8ca.library.html +71 -0
- package/dist/19816b2e8ca.library.js +1 -0
- package/dist/19816b2e8ca.preview.html +759 -0
- package/dist/19816b2e8ca.preview.js +1 -0
- package/dist/19816b2e8ca.webview.js +1 -0
- package/dist/27.js +107 -0
- package/dist/278.js +417 -0
- package/dist/459.js +107 -0
- package/dist/490.js +305 -0
- package/dist/74.js +372 -0
- package/dist/997.js +107 -0
- package/dist/HASH +1 -0
- 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 +20 -0
- package/dist/assets/img/caret.998eb8f.svg +1 -0
- package/dist/assets/img/convos_empty.2353007.svg +72 -0
- 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 +4 -0
- package/dist/assets/img/done_green.b817fd4.svg +4 -0
- 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 +23 -0
- package/dist/assets/img/empty_1.0b98af0.svg +11 -0
- package/dist/assets/img/examplte_logo.f86535f.svg +1 -0
- package/dist/assets/img/external-link.90577cc.svg +1 -0
- package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
- package/dist/assets/img/ghn.070f8e3.svg +17 -0
- package/dist/assets/img/ghtk.326eac1.svg +18 -0
- package/dist/assets/img/image_default.be0698b.png +0 -0
- package/dist/assets/img/info.ebce7ea.svg +1 -0
- package/dist/assets/img/loader.37000a7.svg +1 -0
- package/dist/assets/img/loading_static.a27f0ac.svg +10 -0
- 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 +5 -0
- package/dist/assets/img/package_fade.763c001.svg +1 -0
- package/dist/assets/img/rating--average.1ea492c.svg +12 -0
- package/dist/assets/img/rating--great.e3d712e.svg +16 -0
- package/dist/assets/img/rating--poor.2938a25.svg +12 -0
- package/dist/assets/img/search.f9705ff.svg +1 -0
- package/dist/assets/img/send.6db52a9.svg +3 -0
- package/dist/assets/img/shop.f7dc7d8.svg +1 -0
- package/dist/assets/img/shop_faded.df7845a.svg +1 -0
- package/dist/assets/img/stars_v2.79cf728.png +0 -0
- package/dist/assets/img/subiz-mono.8fbc067.svg +3 -0
- package/dist/assets/img/x.26fdfa3.svg +5 -0
- package/dist/malicious-app.js +17 -0
- package/dist/screenshoot.html +7 -0
- package/dist/screenshoot.js +11657 -0
- package/malicious-app.js +15 -13
- package/package.json +8 -8
- package/src/chatbox/main.js +19 -6
- package/src/store/api.js +51 -2
package/malicious-app.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
if (!window._subiz_init_2094850928430) {
|
|
2
|
+
let hash = 'XXXXXXXX' // do not change, will be replaced to real hash
|
|
2
3
|
|
|
3
|
-
window._subiz_init_2094850928430 = true
|
|
4
|
-
window._subiz_init_2094850928430_keep_loading = true
|
|
5
|
-
var tag = document.createElement('script')
|
|
6
|
-
tag.async = 1
|
|
7
|
-
tag.defer = true
|
|
8
|
-
tag.src = 'https://public-gcs.subiz-cdn.com/widget-v4/public/' + hash + '.app.js'
|
|
9
|
-
document.body.appendChild(tag)
|
|
4
|
+
window._subiz_init_2094850928430 = true
|
|
5
|
+
window._subiz_init_2094850928430_keep_loading = true
|
|
6
|
+
var tag = document.createElement('script')
|
|
7
|
+
tag.async = 1
|
|
8
|
+
tag.defer = true
|
|
9
|
+
tag.src = 'https://public-gcs.subiz-cdn.com/widget-v4/public/' + hash + '.app.js'
|
|
10
|
+
document.body.appendChild(tag)
|
|
10
11
|
|
|
11
|
-
if (document.readyState === 'interactive' || document.readyState === 'complete') document.body.appendChild(tag)
|
|
12
|
-
else
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
if (document.readyState === 'interactive' || document.readyState === 'complete') document.body.appendChild(tag)
|
|
13
|
+
else
|
|
14
|
+
document.addEventListener('DOMContentLoaded', function (event) {
|
|
15
|
+
document.body.appendChild(tag)
|
|
16
|
+
}) //
|
|
17
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subiz/widget-v4",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.155",
|
|
4
4
|
"main": "./compiled_src/lib.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "npx webpack serve --config webpack.dev.js",
|
|
@@ -13,24 +13,24 @@
|
|
|
13
13
|
"@subiz/flow": "^1.1.0",
|
|
14
14
|
"@subiz/wsclient": "^4.0.34",
|
|
15
15
|
"cookie_js": "1.4.2",
|
|
16
|
-
"core-js": "^3.
|
|
16
|
+
"core-js": "^3.44.0",
|
|
17
17
|
"css-loader": "5.2.7",
|
|
18
18
|
"file-loader": "^6.2.0",
|
|
19
|
-
"less": "^4.
|
|
19
|
+
"less": "^4.4.0",
|
|
20
20
|
"less-loader": "^12.3.0",
|
|
21
21
|
"preact": "10.19.3"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@babel/cli": "^7.
|
|
25
|
-
"@babel/core": "^7.
|
|
24
|
+
"@babel/cli": "^7.28.0",
|
|
25
|
+
"@babel/core": "^7.28.0",
|
|
26
26
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
27
27
|
"@babel/plugin-transform-react-jsx": "^7.27.1",
|
|
28
|
-
"@babel/preset-env": "^7.
|
|
28
|
+
"@babel/preset-env": "^7.28.0",
|
|
29
29
|
"babel-loader": "^10.0.0",
|
|
30
30
|
"babel-plugin-syntax-jsx": "^6.18.0",
|
|
31
31
|
"html-webpack-plugin": "^5.6.3",
|
|
32
|
-
"puppeteer": "^24.
|
|
33
|
-
"webpack": "^5.
|
|
32
|
+
"puppeteer": "^24.15.0",
|
|
33
|
+
"webpack": "^5.101.0",
|
|
34
34
|
"webpack-bundle-analyzer": "^4.10.2",
|
|
35
35
|
"webpack-cli": "^6.0.1",
|
|
36
36
|
"webpack-dev-server": "^5.2.2"
|
package/src/chatbox/main.js
CHANGED
|
@@ -217,10 +217,23 @@ function modifyViewport() {
|
|
|
217
217
|
if (document.body && document.body.classList) document.body.classList.add('sbz_no_scroll')
|
|
218
218
|
if (document.documentElement && document.documentElement.classList)
|
|
219
219
|
document.documentElement.classList.add('sbz_no_scroll')
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
220
|
+
|
|
221
|
+
let currentMetas = document.querySelectorAll('meta[name="viewport"]')
|
|
222
|
+
let shouldAddMetaTag = true
|
|
223
|
+
for (let i = 0; i < currentMetas.length; i++) {
|
|
224
|
+
let meta = currentMetas[i]
|
|
225
|
+
let content = meta.getAttribute('content') || ''
|
|
226
|
+
if (content.indexOf('maximum-scale') > -1) {
|
|
227
|
+
shouldAddMetaTag = false
|
|
228
|
+
break
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
if (shouldAddMetaTag) {
|
|
232
|
+
let metatag = document.createElement('meta')
|
|
233
|
+
metatag.httpEquiv = 'X-UA-Compatible'
|
|
234
|
+
metatag.name = 'viewport'
|
|
235
|
+
metatag.id = 'subiz-meta-viewport'
|
|
236
|
+
metatag.content = 'maximum-scale=1.0, user-scalable=no, width=device-width, initial-scale=1.0'
|
|
237
|
+
document.getElementsByTagName('head')[0].appendChild(metatag)
|
|
238
|
+
}
|
|
226
239
|
}
|
package/src/store/api.js
CHANGED
|
@@ -15,7 +15,7 @@ export default class {
|
|
|
15
15
|
this.FileURL = FileURL
|
|
16
16
|
this.ApiURL = ApiURL
|
|
17
17
|
this.api41 = ajax
|
|
18
|
-
.setBaseUrl('https://
|
|
18
|
+
.setBaseUrl('https://api.sbz.vn/4.1')
|
|
19
19
|
.withCredentials(true)
|
|
20
20
|
.setContentType('text/plain')
|
|
21
21
|
.beforeHook(jsonifyTextPlain)
|
|
@@ -230,7 +230,7 @@ export default class {
|
|
|
230
230
|
this.apireq.post(`/accounts/${this.accid}/conversations/${cid}/messages/${messageId}/seen`)
|
|
231
231
|
|
|
232
232
|
getConversation = (cid) => this.apireq.get(`/accounts/${this.accid}/conversations/${cid}`)
|
|
233
|
-
getLocaleContent = (locale) => this.apireq.get(`/accounts/${this.accid}/
|
|
233
|
+
getLocaleContent = (locale) => this.apireq.get(`/accounts/${this.accid}/languages/${locale}`)
|
|
234
234
|
sendEvent = (data) =>
|
|
235
235
|
this.apireq
|
|
236
236
|
.addQuery('shorten', true)
|
|
@@ -270,6 +270,55 @@ export default class {
|
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
uploadToS3 = async (file) => {
|
|
273
|
+
let name = file.name.replace(/\s+/g, '_')
|
|
274
|
+
|
|
275
|
+
var {body, error} = await this.apireq
|
|
276
|
+
.setBaseUrl('https://api5.subiz.com.vn/4.1')
|
|
277
|
+
.setQuery({
|
|
278
|
+
'account-id': this.accid,
|
|
279
|
+
description: 'upload\n user-client: web-widget',
|
|
280
|
+
name: name,
|
|
281
|
+
presign: true,
|
|
282
|
+
size: file.size,
|
|
283
|
+
type: file.type,
|
|
284
|
+
})
|
|
285
|
+
.post('/files')
|
|
286
|
+
if (error) return {body, error}
|
|
287
|
+
|
|
288
|
+
let signedurl = body.signed_url
|
|
289
|
+
let fileid = body.id
|
|
290
|
+
|
|
291
|
+
// Step 2: Upload the file to the signed_url
|
|
292
|
+
let err = await new Promise((resolve) => {
|
|
293
|
+
const xhr = new sb.XMLHttpRequest()
|
|
294
|
+
xhr.open('PUT', signedurl, true)
|
|
295
|
+
xhr.setRequestHeader('Content-Type', file.mimetype)
|
|
296
|
+
xhr.onload = function () {
|
|
297
|
+
if (xhr.status === 200) {
|
|
298
|
+
resolve()
|
|
299
|
+
} else {
|
|
300
|
+
resolve(new Error(`Upload failed: ${xhr.statusText}`))
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
xhr.onerror = function () {
|
|
305
|
+
resolve(new Error('Network error during upload.'))
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
xhr.send(file)
|
|
309
|
+
})
|
|
310
|
+
if (err) return {error: err}
|
|
311
|
+
|
|
312
|
+
// Step 3: Notify server of upload completion
|
|
313
|
+
var {body, error} = await this.apireq
|
|
314
|
+
.setBaseUrl('https://api5.subiz.com.vn/4.1')
|
|
315
|
+
.setQuery({'account-id': this.accid})
|
|
316
|
+
.post(`/files/${fileid}/uploaded`)
|
|
317
|
+
if (error) return {error}
|
|
318
|
+
return {url: sb.get(body, 'file.url', '')}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
uploadToS32 = async (file) => {
|
|
273
322
|
var {body, error} = await ajax
|
|
274
323
|
.setBaseUrl('https://api5.subiz.com.vn/4.1')
|
|
275
324
|
.withCredentials(true)
|