@abtnode/blocklet-services 1.7.5 → 1.7.8

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 (58) hide show
  1. package/api/routes/blocklet.js +11 -5
  2. package/api/services/auth/connect/invite.js +4 -4
  3. package/api/services/auth/connect/issue-passport.js +2 -2
  4. package/api/services/auth/connect/login.js +4 -8
  5. package/api/services/auth/connect/setup.js +2 -2
  6. package/api/services/auth/index.js +1 -1
  7. package/api/services/notification/index.js +1 -8
  8. package/api/services/static.js +4 -1
  9. package/api/util/index.js +23 -7
  10. package/build/asset-manifest.json +28 -28
  11. package/build/favicon.ico +0 -0
  12. package/build/index.html +1 -1
  13. package/build/{precache-manifest.7d263de396f90bbd788bf71bb04b5e2d.js → precache-manifest.e66a1944c5bb1778fa8adfe34f4c1f85.js} +26 -26
  14. package/build/service-worker.js +1 -1
  15. package/build/static/js/0.eaf6eaf4.chunk.js +3 -0
  16. package/build/static/js/{0.85d83c49.chunk.js.LICENSE.txt → 0.eaf6eaf4.chunk.js.LICENSE.txt} +0 -0
  17. package/build/static/js/0.eaf6eaf4.chunk.js.map +1 -0
  18. package/build/static/js/1.1492a6e4.chunk.js +2 -0
  19. package/build/static/js/1.1492a6e4.chunk.js.map +1 -0
  20. package/build/static/js/10.434fab75.chunk.js +2 -0
  21. package/build/static/js/10.434fab75.chunk.js.map +1 -0
  22. package/build/static/js/4.76d33dd5.chunk.js +3 -0
  23. package/build/static/js/{4.955e2b96.chunk.js.LICENSE.txt → 4.76d33dd5.chunk.js.LICENSE.txt} +0 -0
  24. package/build/static/js/4.76d33dd5.chunk.js.map +1 -0
  25. package/build/static/js/5.011a4e81.chunk.js +2 -0
  26. package/build/static/js/5.011a4e81.chunk.js.map +1 -0
  27. package/build/static/js/6.7b36f606.chunk.js +2 -0
  28. package/build/static/js/6.7b36f606.chunk.js.map +1 -0
  29. package/build/static/js/7.e474a8ba.chunk.js +2 -0
  30. package/build/static/js/7.e474a8ba.chunk.js.map +1 -0
  31. package/build/static/js/{8.bc13bb2e.chunk.js → 8.9861fd50.chunk.js} +2 -2
  32. package/build/static/js/{8.bc13bb2e.chunk.js.map → 8.9861fd50.chunk.js.map} +1 -1
  33. package/build/static/js/9.7e4058e6.chunk.js +2 -0
  34. package/build/static/js/9.7e4058e6.chunk.js.map +1 -0
  35. package/build/static/js/main.3bfc814a.chunk.js +2 -0
  36. package/build/static/js/main.3bfc814a.chunk.js.map +1 -0
  37. package/build/static/js/{runtime-main.22a5c5f7.js → runtime-main.64859e7d.js} +2 -2
  38. package/build/static/js/{runtime-main.22a5c5f7.js.map → runtime-main.64859e7d.js.map} +1 -1
  39. package/configs/auth.json +6 -0
  40. package/package.json +26 -26
  41. package/build/static/js/0.85d83c49.chunk.js +0 -3
  42. package/build/static/js/0.85d83c49.chunk.js.map +0 -1
  43. package/build/static/js/1.ae4d3a78.chunk.js +0 -2
  44. package/build/static/js/1.ae4d3a78.chunk.js.map +0 -1
  45. package/build/static/js/10.409b17be.chunk.js +0 -2
  46. package/build/static/js/10.409b17be.chunk.js.map +0 -1
  47. package/build/static/js/4.955e2b96.chunk.js +0 -3
  48. package/build/static/js/4.955e2b96.chunk.js.map +0 -1
  49. package/build/static/js/5.a4039659.chunk.js +0 -2
  50. package/build/static/js/5.a4039659.chunk.js.map +0 -1
  51. package/build/static/js/6.fed9adf4.chunk.js +0 -2
  52. package/build/static/js/6.fed9adf4.chunk.js.map +0 -1
  53. package/build/static/js/7.1c46a6e8.chunk.js +0 -2
  54. package/build/static/js/7.1c46a6e8.chunk.js.map +0 -1
  55. package/build/static/js/9.6eb69c2a.chunk.js +0 -2
  56. package/build/static/js/9.6eb69c2a.chunk.js.map +0 -1
  57. package/build/static/js/main.d1ab2ea2.chunk.js +0 -2
  58. package/build/static/js/main.d1ab2ea2.chunk.js.map +0 -1
@@ -33,7 +33,7 @@ const prefix = WELLKNOWN_SERVICE_PATH_PREFIX;
33
33
  module.exports = {
34
34
  init(server, node) {
35
35
  server.get(`${prefix}/blocklet/logo`, async (req, res) => {
36
- const sendOptions = { maxAge: '1d' };
36
+ const sendOptions = { maxAge: '1y' };
37
37
 
38
38
  try {
39
39
  const blocklet = await req.getBlocklet();
@@ -48,10 +48,16 @@ module.exports = {
48
48
  }
49
49
 
50
50
  if (blocklet && get(blocklet, 'env.dataDir')) {
51
- const logoFile = path.join(get(blocklet, 'env.dataDir'), 'logo.png');
51
+ const logoSvgFile = path.join(get(blocklet, 'env.dataDir'), 'logo.svg');
52
+ const logoPngFile = path.join(get(blocklet, 'env.dataDir'), 'logo.png');
52
53
 
53
- if (fs.existsSync(logoFile)) {
54
- res.sendFile(logoFile, sendOptions);
54
+ if (fs.existsSync(logoSvgFile)) {
55
+ res.sendFile(logoSvgFile, sendOptions);
56
+ return;
57
+ }
58
+
59
+ if (fs.existsSync(logoPngFile)) {
60
+ res.sendFile(logoPngFile, sendOptions);
55
61
  return;
56
62
  }
57
63
  }
@@ -185,7 +191,7 @@ module.exports = {
185
191
  PREFIXES.forEach((p) => {
186
192
  // backward compatible
187
193
  server.get(`${p}/blocklet/logo/:did`, async (req, res) => {
188
- const sendOptions = { maxAge: '1d' };
194
+ const sendOptions = { maxAge: '1y' };
189
195
 
190
196
  let blocklet = null;
191
197
  try {
@@ -34,9 +34,9 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
34
34
  };
35
35
  },
36
36
 
37
- signature: async ({ extraParams, context: { request, abtwallet } }) => {
37
+ signature: async ({ extraParams, context: { request, didwallet } }) => {
38
38
  const { locale, inviteId } = extraParams;
39
- checkWalletVersion({ abtwallet, locale });
39
+ checkWalletVersion({ didwallet, locale });
40
40
  const nodeInfo = await request.getNodeInfo();
41
41
  const teamDid = request.headers['x-blocklet-did'];
42
42
 
@@ -50,7 +50,7 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
50
50
  },
51
51
  },
52
52
 
53
- onAuth: async ({ claims, userDid, userPk, token, storage, extraParams, req, baseUrl }) => {
53
+ onAuth: async ({ claims, userDid, userPk, updateSession, extraParams, req, baseUrl }) => {
54
54
  const { locale, inviteId } = extraParams;
55
55
  const nodeInfo = await req.getNodeInfo();
56
56
  const teamDid = req.headers['x-blocklet-did'];
@@ -72,7 +72,7 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
72
72
 
73
73
  // Generate new session token that client can save to localStorage
74
74
  const sessionToken = await createSessionToken(userDid, { passport, role });
75
- await storage.update(token, { did: userDid, sessionToken });
75
+ await updateSession({ sessionToken }, true);
76
76
  logger.info('invite.success', { userDid });
77
77
 
78
78
  return response;
@@ -22,9 +22,9 @@ module.exports = function createRoutes(node) {
22
22
  },
23
23
 
24
24
  claims: {
25
- signature: async ({ extraParams, context: { request, abtwallet } }) => {
25
+ signature: async ({ extraParams, context: { request, didwallet } }) => {
26
26
  const { id, locale } = extraParams;
27
- checkWalletVersion({ abtwallet, locale });
27
+ checkWalletVersion({ didwallet, locale });
28
28
  const nodeInfo = await node.getNodeInfo();
29
29
  const teamDid = request.headers['x-blocklet-did'];
30
30
 
@@ -53,10 +53,6 @@ const isInvitedUserOnly = async (config, node, teamDid) => {
53
53
  return [false, ROLES.GUEST];
54
54
  }
55
55
 
56
- if ([true, 'yes', 'not-first'].includes(config.invitedUserOnly)) {
57
- return [true];
58
- }
59
-
60
56
  return [false, ROLES.GUEST];
61
57
  };
62
58
 
@@ -80,10 +76,10 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
80
76
  },
81
77
 
82
78
  verifiableCredential: async ({ context, extraParams: { locale } }) => {
83
- const { request, abtwallet } = context;
79
+ const { request, didwallet } = context;
84
80
  const { wallet, did: teamDid } = await request.getBlockletInfo();
85
81
 
86
- checkWalletVersion({ abtwallet, locale });
82
+ checkWalletVersion({ didwallet, locale });
87
83
 
88
84
  const trustedPassports = (blocklet.trustedPassports || []).map((x) => x.issuerDid);
89
85
  const trustedIssuers = [wallet.address, ...trustedPassports].filter(Boolean);
@@ -109,7 +105,7 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
109
105
  },
110
106
 
111
107
  // eslint-disable-next-line consistent-return
112
- onAuth: async ({ claims, challenge, userDid, userPk, token, storage, extraParams, req, baseUrl }) => {
108
+ onAuth: async ({ claims, challenge, userDid, userPk, updateSession, extraParams, req, baseUrl }) => {
113
109
  const { locale } = extraParams;
114
110
  const blocklet = await req.getBlocklet();
115
111
  const { wallet, name, passportColor, did: teamDid } = await req.getBlockletInfo();
@@ -241,7 +237,7 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
241
237
 
242
238
  // Generate new session token that client can save to localStorage
243
239
  const sessionToken = await createSessionToken(userDid, { passport, role });
244
- await storage.update(token, { did: userDid, sessionToken });
240
+ await updateSession({ sessionToken }, true);
245
241
  logger.info('login.success', { userDid, role });
246
242
 
247
243
  // issue passport for the first login user in a invite-only team
@@ -51,7 +51,7 @@ module.exports = function createRoutes(node, _authenticator, createSessionToken)
51
51
  },
52
52
 
53
53
  // eslint-disable-next-line consistent-return
54
- onAuth: async ({ claims, userDid, userPk, token, storage, extraParams, req, baseUrl, challenge }) => {
54
+ onAuth: async ({ claims, userDid, userPk, updateSession, extraParams, req, baseUrl, challenge }) => {
55
55
  const { locale } = extraParams;
56
56
  const [blocklet, info] = await Promise.all([req.getBlocklet(), req.getNodeInfo()]);
57
57
  const teamDid = blocklet.meta.did;
@@ -100,7 +100,7 @@ module.exports = function createRoutes(node, _authenticator, createSessionToken)
100
100
 
101
101
  // Generate new session token that client can save to localStorage
102
102
  const sessionToken = await createSessionToken(userDid, { role: 'owner' });
103
- await storage.update(token, { did: userDid, sessionToken });
103
+ await updateSession({ sessionToken }, true);
104
104
  logger.info('setup.connect.success', { userDid });
105
105
  } catch (err) {
106
106
  logger.error('setup.connect.error', { error: err, userDid });
@@ -140,7 +140,7 @@ const init = ({ node, options }) => {
140
140
 
141
141
  // ignore some dev path in dev mode
142
142
  const blocklet = await req.getBlocklet();
143
- const devUrls = ['/sockjs-node'];
143
+ const devUrls = ['/sockjs-node', '/ws'];
144
144
  const mode = get(blocklet, 'mode');
145
145
  if (mode === BLOCKLET_MODES.DEVELOPMENT && devUrls.includes(req.url)) {
146
146
  next();
@@ -14,7 +14,6 @@ const { getTeamInfo } = require('@abtnode/auth/lib/auth');
14
14
  const { NODE_MODES } = require('@abtnode/constant');
15
15
 
16
16
  const states = require('../../state');
17
- const { getBlockletLogo } = require('../../util');
18
17
  const { PREFIXES } = require('../../util/constants');
19
18
 
20
19
  const getDid = (jwt) => jwt.iss.replace(/^did:abt:/, '');
@@ -72,7 +71,7 @@ const onSendToUser = async (node, payload, wsServer) => {
72
71
  throw err;
73
72
  }
74
73
 
75
- const { wallet, name, type: senderType } = senderInfo;
74
+ const { wallet, name } = senderInfo;
76
75
  if (!JWT.verify(sender.token, wallet.publicKey)) {
77
76
  throw new Error(`Invalid authentication token for sender blocklet: ${sender.did}`);
78
77
  }
@@ -81,11 +80,6 @@ const onSendToUser = async (node, payload, wsServer) => {
81
80
  throw new Error(`Invalid app did, expected: ${wallet.address}, actual: ${sender.appDid}`);
82
81
  }
83
82
 
84
- let blocklet;
85
- if (senderType === 'blocklet') {
86
- blocklet = await node.getBlocklet({ did: sender.did, attachRuntimeInfo: false });
87
- }
88
-
89
83
  // parse notifications
90
84
 
91
85
  const notifications = [].concat(notification);
@@ -95,7 +89,6 @@ const onSendToUser = async (node, payload, wsServer) => {
95
89
  x.sender = {
96
90
  did: sender.appDid,
97
91
  name,
98
- icon: senderType === 'blocklet' ? getBlockletLogo({ blocklet }) : null, // deprecated: did wallet will find icon locally by sender appDid
99
92
  };
100
93
  x.createdAt = new Date();
101
94
  });
@@ -15,7 +15,10 @@ const attachUtils = ({ req, res, proxy }) => {
15
15
  target: `http://127.0.0.1:${process.env.ABT_NODE_SERVICE_FE_PORT}`,
16
16
  });
17
17
  } else {
18
- res.sendFile(path.join(distDir, 'index.html'));
18
+ res.sendFile(path.join(distDir, 'index.html'), {
19
+ lastModified: false,
20
+ etag: false,
21
+ });
19
22
  }
20
23
  };
21
24
 
package/api/util/index.js CHANGED
@@ -3,29 +3,45 @@ const get = require('lodash/get');
3
3
  const { ROLES } = require('@abtnode/constant');
4
4
  const { BlockletSource, BLOCKLET_MODES } = require('@blocklet/meta/lib/constants');
5
5
  const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
6
- const { getBaseUrl } = require('@abtnode/router-adapter');
7
6
 
8
- const getLogoFromLogoUrl = (blocklet) => {
7
+ const getBaseUrl = (req) => {
8
+ if (req.headers['x-group-path-prefix']) {
9
+ return `/${req.headers['x-group-path-prefix']}/`.replace(/\/+/g, '/');
10
+ }
11
+
12
+ return '/';
13
+ };
14
+
15
+ const getLogoFromLogoUrl = (blocklet, version) => {
9
16
  try {
17
+ if (!blocklet.meta.logoUrl) {
18
+ return null;
19
+ }
20
+
21
+ const url = `${blocklet.meta.logoUrl}?version=${version || ''}`;
22
+
10
23
  if (blocklet.source === BlockletSource.registry) {
11
- return new URL(blocklet.meta.logoUrl, blocklet.deployedFrom).href;
24
+ return new URL(url, blocklet.deployedFrom).href;
12
25
  }
13
- return blocklet.meta.logoUrl || null;
26
+
27
+ return url;
14
28
  } catch (error) {
15
29
  return null;
16
30
  }
17
31
  };
18
32
 
19
33
  const getBlockletLogo = ({ baseUrl, blocklet }) => {
34
+ const version = blocklet?.meta?.version || '';
35
+
20
36
  if (!baseUrl) {
21
- return getLogoFromLogoUrl(blocklet);
37
+ return getLogoFromLogoUrl(blocklet, version);
22
38
  }
23
39
 
24
40
  if (get(blocklet, 'meta.logoUrl')) {
25
- return getLogoFromLogoUrl(blocklet);
41
+ return getLogoFromLogoUrl(blocklet, version);
26
42
  }
27
43
 
28
- return `${baseUrl}/blocklet/logo`;
44
+ return `${baseUrl}/blocklet/logo?version=${version}`;
29
45
  };
30
46
 
31
47
  const shouldGotoStartPage = (req, blocklet) => {
@@ -1,43 +1,43 @@
1
1
  {
2
2
  "files": {
3
- "static/js/0.85d83c49.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/0.85d83c49.chunk.js",
4
- "static/js/0.85d83c49.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/0.85d83c49.chunk.js.map",
5
- "static/js/1.ae4d3a78.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/1.ae4d3a78.chunk.js",
6
- "static/js/1.ae4d3a78.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/1.ae4d3a78.chunk.js.map",
7
- "main.js": "/.blocklet/proxy/blocklet-service/static/js/main.d1ab2ea2.chunk.js",
8
- "main.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.d1ab2ea2.chunk.js.map",
9
- "runtime-main.js": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.22a5c5f7.js",
10
- "runtime-main.js.map": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.22a5c5f7.js.map",
3
+ "static/js/0.eaf6eaf4.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/0.eaf6eaf4.chunk.js",
4
+ "static/js/0.eaf6eaf4.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/0.eaf6eaf4.chunk.js.map",
5
+ "static/js/1.1492a6e4.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/1.1492a6e4.chunk.js",
6
+ "static/js/1.1492a6e4.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/1.1492a6e4.chunk.js.map",
7
+ "main.js": "/.blocklet/proxy/blocklet-service/static/js/main.3bfc814a.chunk.js",
8
+ "main.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.3bfc814a.chunk.js.map",
9
+ "runtime-main.js": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.64859e7d.js",
10
+ "runtime-main.js.map": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.64859e7d.js.map",
11
11
  "static/css/4.634341e0.chunk.css": "/.blocklet/proxy/blocklet-service/static/css/4.634341e0.chunk.css",
12
- "static/js/4.955e2b96.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js",
13
- "static/js/4.955e2b96.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js.map",
14
- "static/js/5.a4039659.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/5.a4039659.chunk.js",
15
- "static/js/5.a4039659.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/5.a4039659.chunk.js.map",
16
- "static/js/6.fed9adf4.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/6.fed9adf4.chunk.js",
17
- "static/js/6.fed9adf4.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/6.fed9adf4.chunk.js.map",
18
- "static/js/7.1c46a6e8.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/7.1c46a6e8.chunk.js",
19
- "static/js/7.1c46a6e8.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/7.1c46a6e8.chunk.js.map",
20
- "static/js/8.bc13bb2e.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/8.bc13bb2e.chunk.js",
21
- "static/js/8.bc13bb2e.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/8.bc13bb2e.chunk.js.map",
22
- "static/js/9.6eb69c2a.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/9.6eb69c2a.chunk.js",
23
- "static/js/9.6eb69c2a.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/9.6eb69c2a.chunk.js.map",
24
- "static/js/10.409b17be.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/10.409b17be.chunk.js",
25
- "static/js/10.409b17be.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/10.409b17be.chunk.js.map",
12
+ "static/js/4.76d33dd5.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/4.76d33dd5.chunk.js",
13
+ "static/js/4.76d33dd5.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/4.76d33dd5.chunk.js.map",
14
+ "static/js/5.011a4e81.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/5.011a4e81.chunk.js",
15
+ "static/js/5.011a4e81.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/5.011a4e81.chunk.js.map",
16
+ "static/js/6.7b36f606.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/6.7b36f606.chunk.js",
17
+ "static/js/6.7b36f606.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/6.7b36f606.chunk.js.map",
18
+ "static/js/7.e474a8ba.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/7.e474a8ba.chunk.js",
19
+ "static/js/7.e474a8ba.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/7.e474a8ba.chunk.js.map",
20
+ "static/js/8.9861fd50.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/8.9861fd50.chunk.js",
21
+ "static/js/8.9861fd50.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/8.9861fd50.chunk.js.map",
22
+ "static/js/9.7e4058e6.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/9.7e4058e6.chunk.js",
23
+ "static/js/9.7e4058e6.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/9.7e4058e6.chunk.js.map",
24
+ "static/js/10.434fab75.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/10.434fab75.chunk.js",
25
+ "static/js/10.434fab75.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/10.434fab75.chunk.js.map",
26
26
  "index.html": "/.blocklet/proxy/blocklet-service/index.html",
27
- "precache-manifest.7d263de396f90bbd788bf71bb04b5e2d.js": "/.blocklet/proxy/blocklet-service/precache-manifest.7d263de396f90bbd788bf71bb04b5e2d.js",
27
+ "precache-manifest.e66a1944c5bb1778fa8adfe34f4c1f85.js": "/.blocklet/proxy/blocklet-service/precache-manifest.e66a1944c5bb1778fa8adfe34f4c1f85.js",
28
28
  "service-worker.js": "/.blocklet/proxy/blocklet-service/service-worker.js",
29
29
  "static/css/4.634341e0.chunk.css.map": "/.blocklet/proxy/blocklet-service/static/css/4.634341e0.chunk.css.map",
30
- "static/js/0.85d83c49.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/0.85d83c49.chunk.js.LICENSE.txt",
31
- "static/js/4.955e2b96.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js.LICENSE.txt",
30
+ "static/js/0.eaf6eaf4.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/0.eaf6eaf4.chunk.js.LICENSE.txt",
31
+ "static/js/4.76d33dd5.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/4.76d33dd5.chunk.js.LICENSE.txt",
32
32
  "static/media/400.css": "/.blocklet/proxy/blocklet-service/static/media/ubuntu-mono-latin-ext-400-normal.84fa8bc1.woff2",
33
33
  "static/media/700.css": "/.blocklet/proxy/blocklet-service/static/media/lato-latin-ext-700-normal.a48b0f04.woff2",
34
34
  "static/media/500.css": "/.blocklet/proxy/blocklet-service/static/media/rubik-latin-ext-500-normal.21b63491.woff2",
35
35
  "static/media/600.css": "/.blocklet/proxy/blocklet-service/static/media/rubik-latin-ext-600-normal.d0d90e83.woff2"
36
36
  },
37
37
  "entrypoints": [
38
- "static/js/runtime-main.22a5c5f7.js",
38
+ "static/js/runtime-main.64859e7d.js",
39
39
  "static/css/4.634341e0.chunk.css",
40
- "static/js/4.955e2b96.chunk.js",
41
- "static/js/main.d1ab2ea2.chunk.js"
40
+ "static/js/4.76d33dd5.chunk.js",
41
+ "static/js/main.3bfc814a.chunk.js"
42
42
  ]
43
43
  }
package/build/favicon.ico CHANGED
Binary file
package/build/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/.well-known/service/static/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src="/.well-known/service/api/env"></script><link href="/.blocklet/proxy/blocklet-service/static/css/4.634341e0.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,u,i=t[0],l=t[1],f=t[2],s=t[3]||[],d=0,b=[];d<i.length;d++)u=i[d],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&b.push(o[u][0]),o[u]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(p&&p(t),c.push.apply(c,s);b.length;)b.shift()();return a.push.apply(a,f||[]),r()}function r(){for(var e,t=0;t<a.length;t++){for(var r=a[t],n=!0,l=1;l<r.length;l++){var f=r[l];0!==o[f]&&(n=!1)}n&&(a.splice(t--,1),e=i(i.s=r[0]))}return 0===a.length&&(c.forEach((function(e){if(void 0===o[e]){o[e]=null;var t=document.createElement("link");i.nc&&t.setAttribute("nonce",i.nc),t.rel="prefetch",t.as="script",t.href=u(e),document.head.appendChild(t)}})),c.length=0),e}var n={},o={3:0},a=[],c=[];function u(e){return i.p+"static/js/"+({}[e]||e)+"."+{0:"85d83c49",1:"ae4d3a78",5:"a4039659",6:"fed9adf4",7:"1c46a6e8",8:"bc13bb2e",9:"6eb69c2a",10:"409b17be"}[e]+".chunk.js"}function i(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var a,c=document.createElement("script");c.charset="utf-8",c.timeout=120,i.nc&&c.setAttribute("nonce",i.nc),c.src=u(e);var l=new Error;a=function(t){c.onerror=c.onload=null,clearTimeout(f);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+n+": "+a+")",l.name="ChunkLoadError",l.type=n,l.request=a,r[1](l)}o[e]=void 0}};var f=setTimeout((function(){a({type:"timeout",target:c})}),12e4);c.onerror=c.onload=a,document.head.appendChild(c)}return Promise.all(t)},i.m=e,i.c=n,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(r,n,function(t){return e[t]}.bind(null,n));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/.blocklet/proxy/blocklet-service/",i.oe=function(e){throw console.error(e),e};var l=this["webpackJsonp@abtnode/blocklet-services"]=this["webpackJsonp@abtnode/blocklet-services"]||[],f=l.push.bind(l);l.push=t,l=l.slice();for(var s=0;s<l.length;s++)t(l[s]);var p=f;r()}([])</script><script src="/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js"></script><script src="/.blocklet/proxy/blocklet-service/static/js/main.d1ab2ea2.chunk.js"></script></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/.well-known/service/static/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src="/.well-known/service/api/env"></script><link href="/.blocklet/proxy/blocklet-service/static/css/4.634341e0.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,c,i=t[0],l=t[1],f=t[2],s=t[3]||[],d=0,h=[];d<i.length;d++)c=i[d],Object.prototype.hasOwnProperty.call(o,c)&&o[c]&&h.push(o[c][0]),o[c]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(p&&p(t),u.push.apply(u,s);h.length;)h.shift()();return a.push.apply(a,f||[]),r()}function r(){for(var e,t=0;t<a.length;t++){for(var r=a[t],n=!0,l=1;l<r.length;l++){var f=r[l];0!==o[f]&&(n=!1)}n&&(a.splice(t--,1),e=i(i.s=r[0]))}return 0===a.length&&(u.forEach((function(e){if(void 0===o[e]){o[e]=null;var t=document.createElement("link");i.nc&&t.setAttribute("nonce",i.nc),t.rel="prefetch",t.as="script",t.href=c(e),document.head.appendChild(t)}})),u.length=0),e}var n={},o={3:0},a=[],u=[];function c(e){return i.p+"static/js/"+({}[e]||e)+"."+{0:"eaf6eaf4",1:"1492a6e4",5:"011a4e81",6:"7b36f606",7:"e474a8ba",8:"9861fd50",9:"7e4058e6",10:"434fab75"}[e]+".chunk.js"}function i(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var a,u=document.createElement("script");u.charset="utf-8",u.timeout=120,i.nc&&u.setAttribute("nonce",i.nc),u.src=c(e);var l=new Error;a=function(t){u.onerror=u.onload=null,clearTimeout(f);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+n+": "+a+")",l.name="ChunkLoadError",l.type=n,l.request=a,r[1](l)}o[e]=void 0}};var f=setTimeout((function(){a({type:"timeout",target:u})}),12e4);u.onerror=u.onload=a,document.head.appendChild(u)}return Promise.all(t)},i.m=e,i.c=n,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(r,n,function(t){return e[t]}.bind(null,n));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/.blocklet/proxy/blocklet-service/",i.oe=function(e){throw console.error(e),e};var l=this["webpackJsonp@abtnode/blocklet-services"]=this["webpackJsonp@abtnode/blocklet-services"]||[],f=l.push.bind(l);l.push=t,l=l.slice();for(var s=0;s<l.length;s++)t(l[s]);var p=f;r()}([])</script><script src="/.blocklet/proxy/blocklet-service/static/js/4.76d33dd5.chunk.js"></script><script src="/.blocklet/proxy/blocklet-service/static/js/main.3bfc814a.chunk.js"></script></body></html>
@@ -1,63 +1,63 @@
1
1
  self.__precacheManifest = (self.__precacheManifest || []).concat([
2
2
  {
3
- "revision": "2769cb4e0e3c586d386bfab5d2cbfc29",
3
+ "revision": "ab20e285862616267290c063f645d08f",
4
4
  "url": "/.blocklet/proxy/blocklet-service/index.html"
5
5
  },
6
6
  {
7
- "revision": "a2ba2405d0372c33b01d",
7
+ "revision": "ca97e89484bbfda69821",
8
8
  "url": "/.blocklet/proxy/blocklet-service/static/css/4.634341e0.chunk.css"
9
9
  },
10
10
  {
11
- "revision": "8e309f4deb94b0e19db3",
12
- "url": "/.blocklet/proxy/blocklet-service/static/js/0.85d83c49.chunk.js"
11
+ "revision": "286fb6cdc78e5712de9c",
12
+ "url": "/.blocklet/proxy/blocklet-service/static/js/0.eaf6eaf4.chunk.js"
13
13
  },
14
14
  {
15
15
  "revision": "327dea51c54983f5708f4242bceacaed",
16
- "url": "/.blocklet/proxy/blocklet-service/static/js/0.85d83c49.chunk.js.LICENSE.txt"
16
+ "url": "/.blocklet/proxy/blocklet-service/static/js/0.eaf6eaf4.chunk.js.LICENSE.txt"
17
17
  },
18
18
  {
19
- "revision": "df35f91edd7807529997",
20
- "url": "/.blocklet/proxy/blocklet-service/static/js/1.ae4d3a78.chunk.js"
19
+ "revision": "45f8b5b323b1e6b7f37a",
20
+ "url": "/.blocklet/proxy/blocklet-service/static/js/1.1492a6e4.chunk.js"
21
21
  },
22
22
  {
23
- "revision": "10e5a3ef821fe251a002",
24
- "url": "/.blocklet/proxy/blocklet-service/static/js/10.409b17be.chunk.js"
23
+ "revision": "d24bd5de790c621029d5",
24
+ "url": "/.blocklet/proxy/blocklet-service/static/js/10.434fab75.chunk.js"
25
25
  },
26
26
  {
27
- "revision": "a2ba2405d0372c33b01d",
28
- "url": "/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js"
27
+ "revision": "ca97e89484bbfda69821",
28
+ "url": "/.blocklet/proxy/blocklet-service/static/js/4.76d33dd5.chunk.js"
29
29
  },
30
30
  {
31
31
  "revision": "ff58a668e6d753fa035087a671c28199",
32
- "url": "/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js.LICENSE.txt"
32
+ "url": "/.blocklet/proxy/blocklet-service/static/js/4.76d33dd5.chunk.js.LICENSE.txt"
33
33
  },
34
34
  {
35
- "revision": "e1395e823232a938090d",
36
- "url": "/.blocklet/proxy/blocklet-service/static/js/5.a4039659.chunk.js"
35
+ "revision": "b160cdffae2507e278ba",
36
+ "url": "/.blocklet/proxy/blocklet-service/static/js/5.011a4e81.chunk.js"
37
37
  },
38
38
  {
39
- "revision": "34a4abb0cebd57e58d10",
40
- "url": "/.blocklet/proxy/blocklet-service/static/js/6.fed9adf4.chunk.js"
39
+ "revision": "eda8d2522f14f8ef6817",
40
+ "url": "/.blocklet/proxy/blocklet-service/static/js/6.7b36f606.chunk.js"
41
41
  },
42
42
  {
43
- "revision": "9721f268d01bc8d1857f",
44
- "url": "/.blocklet/proxy/blocklet-service/static/js/7.1c46a6e8.chunk.js"
43
+ "revision": "784494c3a151fb22fa5f",
44
+ "url": "/.blocklet/proxy/blocklet-service/static/js/7.e474a8ba.chunk.js"
45
45
  },
46
46
  {
47
- "revision": "044abf1f2a066070d2d2",
48
- "url": "/.blocklet/proxy/blocklet-service/static/js/8.bc13bb2e.chunk.js"
47
+ "revision": "8864f7432f5f856fac0e",
48
+ "url": "/.blocklet/proxy/blocklet-service/static/js/8.9861fd50.chunk.js"
49
49
  },
50
50
  {
51
- "revision": "a3c998da94849baeeaf9",
52
- "url": "/.blocklet/proxy/blocklet-service/static/js/9.6eb69c2a.chunk.js"
51
+ "revision": "64cc9dd7df3dc4773154",
52
+ "url": "/.blocklet/proxy/blocklet-service/static/js/9.7e4058e6.chunk.js"
53
53
  },
54
54
  {
55
- "revision": "d0c03a54ba27daec61dd",
56
- "url": "/.blocklet/proxy/blocklet-service/static/js/main.d1ab2ea2.chunk.js"
55
+ "revision": "2e3be7615d268947acd3",
56
+ "url": "/.blocklet/proxy/blocklet-service/static/js/main.3bfc814a.chunk.js"
57
57
  },
58
58
  {
59
- "revision": "185f748e071ad84ed663",
60
- "url": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.22a5c5f7.js"
59
+ "revision": "a9e837636385a79cc072",
60
+ "url": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.64859e7d.js"
61
61
  },
62
62
  {
63
63
  "revision": "a82dcb33d52ed6fa529e5ae8d5fda7f3",
@@ -14,7 +14,7 @@
14
14
  importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
15
15
 
16
16
  importScripts(
17
- "/.blocklet/proxy/blocklet-service/precache-manifest.7d263de396f90bbd788bf71bb04b5e2d.js"
17
+ "/.blocklet/proxy/blocklet-service/precache-manifest.e66a1944c5bb1778fa8adfe34f4c1f85.js"
18
18
  );
19
19
 
20
20
  self.addEventListener('message', (event) => {