@subiz/widget-v4 4.1.153 → 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.
Files changed (38) hide show
  1. package/cloudflare_worker.js +4 -2
  2. package/compiled_src/chatbox/main.js +18 -6
  3. package/compiled_src/store/api.js +52 -1
  4. package/dist/{197f55a88dc.278.js → 19816b2e8ca.278.js} +1 -1
  5. package/dist/19816b2e8ca.app.js +1 -0
  6. package/dist/{197f55a88dc.chat.html → 19816b2e8ca.chat.html} +1 -1
  7. package/dist/19816b2e8ca.chat.js +1 -0
  8. package/dist/{197f55a88dc.form.html → 19816b2e8ca.form.html} +1 -1
  9. package/dist/19816b2e8ca.form.js +1 -0
  10. package/dist/{197f55a88dc.index.html → 19816b2e8ca.index.html} +1 -1
  11. package/dist/{197f55a88dc.library.html → 19816b2e8ca.library.html} +1 -1
  12. package/dist/19816b2e8ca.library.js +1 -0
  13. package/dist/{197f55a88dc.preview.html → 19816b2e8ca.preview.html} +1 -1
  14. package/dist/19816b2e8ca.preview.js +1 -0
  15. package/dist/19816b2e8ca.webview.js +1 -0
  16. package/dist/278.js +1 -1
  17. package/dist/HASH +1 -1
  18. package/dist/malicious-app.js +15 -13
  19. package/dist/screenshoot.js +19 -7
  20. package/malicious-app.js +15 -13
  21. package/package.json +4 -4
  22. package/src/chatbox/main.js +19 -6
  23. package/src/store/api.js +50 -1
  24. package/dist/197f55a88dc.app.js +0 -1
  25. package/dist/197f55a88dc.chat.js +0 -1
  26. package/dist/197f55a88dc.form.js +0 -1
  27. package/dist/197f55a88dc.library.js +0 -1
  28. package/dist/197f55a88dc.preview.js +0 -1
  29. package/dist/197f55a88dc.webview.js +0 -1
  30. /package/dist/{197f55a88dc.127.js → 19816b2e8ca.127.js} +0 -0
  31. /package/dist/{197f55a88dc.132.js → 19816b2e8ca.132.js} +0 -0
  32. /package/dist/{197f55a88dc.185.js → 19816b2e8ca.185.js} +0 -0
  33. /package/dist/{197f55a88dc.27.js → 19816b2e8ca.27.js} +0 -0
  34. /package/dist/{197f55a88dc.339.js → 19816b2e8ca.339.js} +0 -0
  35. /package/dist/{197f55a88dc.459.js → 19816b2e8ca.459.js} +0 -0
  36. /package/dist/{197f55a88dc.490.js → 19816b2e8ca.490.js} +0 -0
  37. /package/dist/{197f55a88dc.74.js → 19816b2e8ca.74.js} +0 -0
  38. /package/dist/{197f55a88dc.997.js → 19816b2e8ca.997.js} +0 -0
package/dist/HASH CHANGED
@@ -1 +1 @@
1
- 197f55a88dc
1
+ 19816b2e8ca
@@ -1,15 +1,17 @@
1
- let hash = 'XXXXXXXX' // do not change, will be replaced to real hash
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
- document.addEventListener('DOMContentLoaded', function (event) {
14
- document.body.appendChild(tag)
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
+ }
@@ -3753,7 +3753,7 @@ function jsonifyTextPlain(param, done) {
3753
3753
  _defineProperty(this, "markAsReceived", (cid, messageId) => this.apireq.post(`/accounts/${this.accid}/conversations/${cid}/messages/${messageId}/receive`));
3754
3754
  _defineProperty(this, "markAsSeen", (cid, messageId) => this.apireq.post(`/accounts/${this.accid}/conversations/${cid}/messages/${messageId}/seen`));
3755
3755
  _defineProperty(this, "getConversation", cid => this.apireq.get(`/accounts/${this.accid}/conversations/${cid}`));
3756
- _defineProperty(this, "getLocaleContent", locale => this.apireq.get(`/accounts/${this.accid}/locales/${locale}`));
3756
+ _defineProperty(this, "getLocaleContent", locale => this.apireq.get(`/accounts/${this.accid}/languages/${locale}`));
3757
3757
  _defineProperty(this, "sendEvent", data => this.apireq.addQuery('shorten', true).addQuery('x-referer', util/* default */.A.get(location, 'origin', '')).post(`/accounts/${this.accid}/users/${this.uid}/events`, data));
3758
3758
  _defineProperty(this, "submitForm", (form_id, page_url, device, data, user) => this.apireq.addQuery('x-referer', util/* default */.A.get(location, 'origin', '')).post(`/accounts/${this.accid}/users/${this.uid}/events`, {
3759
3759
  by: {
@@ -10990,12 +10990,24 @@ function restoreViewport() {
10990
10990
  function modifyViewport() {
10991
10991
  if (document.body && document.body.classList) document.body.classList.add('sbz_no_scroll');
10992
10992
  if (document.documentElement && document.documentElement.classList) document.documentElement.classList.add('sbz_no_scroll');
10993
- let metatag = document.createElement('meta');
10994
- metatag.httpEquiv = 'X-UA-Compatible';
10995
- metatag.name = 'viewport';
10996
- metatag.id = 'subiz-meta-viewport';
10997
- metatag.content = 'maximum-scale=1.0, user-scalable=no, width=device-width, initial-scale=1.0';
10998
- document.getElementsByTagName('head')[0].appendChild(metatag);
10993
+ let currentMetas = document.querySelectorAll('meta[name="viewport"]');
10994
+ let shouldAddMetaTag = true;
10995
+ for (let i = 0; i < currentMetas.length; i++) {
10996
+ let meta = currentMetas[i];
10997
+ let content = meta.getAttribute('content') || '';
10998
+ if (content.indexOf('maximum-scale') > -1) {
10999
+ shouldAddMetaTag = false;
11000
+ break;
11001
+ }
11002
+ }
11003
+ if (shouldAddMetaTag) {
11004
+ let metatag = document.createElement('meta');
11005
+ metatag.httpEquiv = 'X-UA-Compatible';
11006
+ metatag.name = 'viewport';
11007
+ metatag.id = 'subiz-meta-viewport';
11008
+ metatag.content = 'maximum-scale=1.0, user-scalable=no, width=device-width, initial-scale=1.0';
11009
+ document.getElementsByTagName('head')[0].appendChild(metatag);
11010
+ }
10999
11011
  }
11000
11012
  ;// ./src/plugin.js
11001
11013
 
package/malicious-app.js CHANGED
@@ -1,15 +1,17 @@
1
- let hash = 'XXXXXXXX' // do not change, will be replaced to real hash
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
- document.addEventListener('DOMContentLoaded', function (event) {
14
- document.body.appendChild(tag)
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.153",
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",
@@ -16,7 +16,7 @@
16
16
  "core-js": "^3.44.0",
17
17
  "css-loader": "5.2.7",
18
18
  "file-loader": "^6.2.0",
19
- "less": "^4.3.0",
19
+ "less": "^4.4.0",
20
20
  "less-loader": "^12.3.0",
21
21
  "preact": "10.19.3"
22
22
  },
@@ -29,8 +29,8 @@
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.12.1",
33
- "webpack": "^5.100.1",
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"
@@ -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
- let metatag = document.createElement('meta')
221
- metatag.httpEquiv = 'X-UA-Compatible'
222
- metatag.name = 'viewport'
223
- metatag.id = 'subiz-meta-viewport'
224
- metatag.content = 'maximum-scale=1.0, user-scalable=no, width=device-width, initial-scale=1.0'
225
- document.getElementsByTagName('head')[0].appendChild(metatag)
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://api5.subiz.com.vn/4.1')
18
+ .setBaseUrl('https://api.sbz.vn/4.1')
19
19
  .withCredentials(true)
20
20
  .setContentType('text/plain')
21
21
  .beforeHook(jsonifyTextPlain)
@@ -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)