@multiplatform.one/web3 7.34.2 → 7.34.4

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 (55) hide show
  1. package/README.md +8 -2
  2. package/dist/cjs/bundler/metaMaskConnectTimeouts.cjs +15 -6
  3. package/dist/cjs/bundler/metaMaskConnectTimeouts.native.js +15 -6
  4. package/dist/cjs/bundler/metaMaskConnectTimeouts.native.js.map +1 -1
  5. package/dist/cjs/connectkit/openConnector/device.native.js.map +1 -1
  6. package/dist/cjs/keycloak/device.cjs +3 -1
  7. package/dist/cjs/keycloak/device.native.js +4 -2
  8. package/dist/cjs/keycloak/device.native.js.map +1 -1
  9. package/dist/cjs/vite.native.js.map +1 -1
  10. package/dist/esm/bundler/metaMaskConnectTimeouts.mjs +15 -6
  11. package/dist/esm/bundler/metaMaskConnectTimeouts.mjs.map +1 -1
  12. package/dist/esm/bundler/metaMaskConnectTimeouts.native.js +15 -6
  13. package/dist/esm/bundler/metaMaskConnectTimeouts.native.js.map +1 -1
  14. package/dist/esm/connectkit/openConnector/device.mjs.map +1 -1
  15. package/dist/esm/connectkit/openConnector/device.native.js.map +1 -1
  16. package/dist/esm/keycloak/device.mjs +3 -1
  17. package/dist/esm/keycloak/device.mjs.map +1 -1
  18. package/dist/esm/keycloak/device.native.js +4 -2
  19. package/dist/esm/keycloak/device.native.js.map +1 -1
  20. package/dist/esm/vite.mjs.map +1 -1
  21. package/dist/esm/vite.native.js.map +1 -1
  22. package/dist/jsx/bundler/metaMaskConnectTimeouts.mjs +15 -6
  23. package/dist/jsx/bundler/metaMaskConnectTimeouts.mjs.map +1 -1
  24. package/dist/jsx/bundler/metaMaskConnectTimeouts.native.js +15 -6
  25. package/dist/jsx/bundler/metaMaskConnectTimeouts.native.js.map +1 -1
  26. package/dist/jsx/connectkit/openConnector/device.mjs.map +1 -1
  27. package/dist/jsx/connectkit/openConnector/device.native.js.map +1 -1
  28. package/dist/jsx/keycloak/device.mjs +3 -1
  29. package/dist/jsx/keycloak/device.mjs.map +1 -1
  30. package/dist/jsx/keycloak/device.native.js +4 -2
  31. package/dist/jsx/keycloak/device.native.js.map +1 -1
  32. package/dist/jsx/vite.mjs.map +1 -1
  33. package/dist/jsx/vite.native.js.map +1 -1
  34. package/dist/keycloak/login.iife.js +277 -277
  35. package/package.json +6 -6
  36. package/src/bundler/metaMaskConnectTimeouts.spec.ts +82 -7
  37. package/src/bundler/metaMaskConnectTimeouts.ts +29 -10
  38. package/src/connectkit/connectors/metaMaskConnectConnector.spec.ts +32 -0
  39. package/src/connectkit/openConnector/context.tsx +3 -3
  40. package/src/connectkit/openConnector/device.spec.ts +27 -0
  41. package/src/connectkit/openConnector/device.ts +5 -4
  42. package/src/esbuild.ts +3 -3
  43. package/src/keycloak/device.spec.ts +39 -0
  44. package/src/keycloak/device.ts +5 -1
  45. package/src/vite.ts +5 -3
  46. package/types/bundler/metaMaskConnectTimeouts.d.ts +6 -4
  47. package/types/bundler/metaMaskConnectTimeouts.d.ts.map +1 -1
  48. package/types/connectkit/openConnector/context.d.ts +3 -3
  49. package/types/connectkit/openConnector/device.d.ts +5 -4
  50. package/types/connectkit/openConnector/device.d.ts.map +1 -1
  51. package/types/esbuild.d.ts +3 -3
  52. package/types/keycloak/device.d.ts +1 -0
  53. package/types/keycloak/device.d.ts.map +1 -1
  54. package/types/vite.d.ts +5 -3
  55. package/types/vite.d.ts.map +1 -1
package/README.md CHANGED
@@ -389,8 +389,14 @@ front, so a user who takes longer than that in MetaMask loses the connect or
389
389
  the signature. Every build that bundles the wallet modal must add the plugin
390
390
  that raises those timers to ten minutes. Resuming a stored session on page load
391
391
  keeps its stock two minutes. The build, and the dev server's dependency
392
- pre-bundle, fail if they bundle MetaMask Connect and a timer could not be
393
- raised.
392
+ pre-bundle, fail if they bundle MetaMask Connect and a patch could not be
393
+ applied.
394
+
395
+ The same plugin fixes MetaMask Connect's platform check for iPads. iPadOS
396
+ Safari sends a Mac user agent by default, which MetaMask Connect took for a
397
+ desktop: it showed its install/QR modal instead of opening the MetaMask app.
398
+ With the plugin, a device that sends a Mac user agent and reports more than one
399
+ touch point takes the phone path, and a Mac (no touch points) keeps the extension and QR.
394
400
 
395
401
  Vite (also works as a rollup or rolldown plugin, and covers the dev server's
396
402
  dependency pre-bundling):
@@ -28,23 +28,32 @@ __export(metaMaskConnectTimeouts_exports, {
28
28
  patchMetaMaskConnectTimeouts: () => patchMetaMaskConnectTimeouts
29
29
  });
30
30
  module.exports = __toCommonJS(metaMaskConnectTimeouts_exports);
31
+ const longTimers = "the long Android timers";
31
32
  const metaMaskConnectTimeoutPatches = [{
32
33
  pkg: "@metamask/connect-multichain",
33
34
  marker: "CONNECTION_GRACE_PERIOD",
34
35
  rewrites: [{
35
- timer: "DEFAULT_REQUEST_TIMEOUT",
36
+ target: "timer DEFAULT_REQUEST_TIMEOUT",
37
+ lost: longTimers,
36
38
  pattern: /(DEFAULT_REQUEST_TIMEOUT\d*) = 60 \* 1e3;(\s+CONNECTION_GRACE_PERIOD =)/,
37
39
  replacement: "$1 = 600 * 1e3;$2"
38
40
  }, {
39
- timer: "the page-load session resume",
41
+ target: "timer the page-load session resume",
42
+ lost: longTimers,
40
43
  pattern: /(resumeSession_fn = function\((\w+), (\w+)\)(?:(?!startSession_fn)[\s\S])*?isContinuingPriorAttempt \? this\.options\.resumeTimeout : )this\.options\.connectionTimeout/,
41
44
  replacement: "$1$3 ? this.options.connectionTimeout : 120 * 1e3"
45
+ }, {
46
+ target: "platform check isMobile",
47
+ lost: "the MetaMask app on an iPad",
48
+ pattern: /(function isMobile\d*\(\) \{)(?=[^}]*?\.parse\(window\.navigator\.userAgent\))/,
49
+ replacement: "$1\n if (window.navigator.maxTouchPoints > 1 && /Macintosh/.test(window.navigator.userAgent)) return true;"
42
50
  }]
43
51
  }, {
44
52
  pkg: "@metamask/mobile-wallet-protocol-dapp-client",
45
53
  marker: "HANDSHAKE_TIMEOUT",
46
54
  rewrites: [{
47
- timer: "HANDSHAKE_TIMEOUT",
55
+ target: "timer HANDSHAKE_TIMEOUT",
56
+ lost: longTimers,
48
57
  pattern: /(HANDSHAKE_TIMEOUT) = 60 \* 1e3;/,
49
58
  replacement: "$1 = 540 * 1e3;"
50
59
  }]
@@ -60,7 +69,7 @@ function patchMetaMaskConnectTimeouts(id, code) {
60
69
  if (!patch) return void 0;
61
70
  let patched = code;
62
71
  for (const rewrite of patch.rewrites) {
63
- if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect timer ${rewrite.timer} not found in ${id}: ${patch.pkg} changed its source, so the long Android timers cannot be applied`);
72
+ if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect ${rewrite.target} not found in ${id}: ${patch.pkg} changed its source, and a build without this rewrite would lose ${rewrite.lost}`);
64
73
  patched = patched.replace(rewrite.pattern, rewrite.replacement);
65
74
  }
66
75
  return {
@@ -81,12 +90,12 @@ function createMetaMaskConnectTimeoutTracker() {
81
90
  if (result) patched.set(result.pkg, (patched.get(result.pkg) ?? 0) + 1);
82
91
  return result;
83
92
  },
84
- /** Error text when the build bundles MetaMask Connect with a timer left unpatched. */
93
+ /** Error text when the build bundles MetaMask Connect with a patch left out. */
85
94
  problem() {
86
95
  if (!bundlesMetaMaskConnect) return void 0;
87
96
  const missing = metaMaskConnectTimeoutPatches.map(patch => patch.pkg).filter(pkg => !patched.get(pkg));
88
97
  if (!missing.length) return void 0;
89
- return `the build bundles ${metaMaskConnectPkg} but left the timers in ${missing.join(", ")} unpatched`;
98
+ return `the build bundles ${metaMaskConnectPkg} but left ${missing.join(", ")} unpatched`;
90
99
  }
91
100
  };
92
101
  }
@@ -30,23 +30,32 @@ __export(metaMaskConnectTimeouts_exports, {
30
30
  patchMetaMaskConnectTimeouts: () => patchMetaMaskConnectTimeouts
31
31
  });
32
32
  module.exports = __toCommonJS(metaMaskConnectTimeouts_exports);
33
+ var longTimers = "the long Android timers";
33
34
  var metaMaskConnectTimeoutPatches = [{
34
35
  pkg: "@metamask/connect-multichain",
35
36
  marker: "CONNECTION_GRACE_PERIOD",
36
37
  rewrites: [{
37
- timer: "DEFAULT_REQUEST_TIMEOUT",
38
+ target: "timer DEFAULT_REQUEST_TIMEOUT",
39
+ lost: longTimers,
38
40
  pattern: /(DEFAULT_REQUEST_TIMEOUT\d*) = 60 \* 1e3;(\s+CONNECTION_GRACE_PERIOD =)/,
39
41
  replacement: "$1 = 600 * 1e3;$2"
40
42
  }, {
41
- timer: "the page-load session resume",
43
+ target: "timer the page-load session resume",
44
+ lost: longTimers,
42
45
  pattern: /(resumeSession_fn = function\((\w+), (\w+)\)(?:(?!startSession_fn)[\s\S])*?isContinuingPriorAttempt \? this\.options\.resumeTimeout : )this\.options\.connectionTimeout/,
43
46
  replacement: "$1$3 ? this.options.connectionTimeout : 120 * 1e3"
47
+ }, {
48
+ target: "platform check isMobile",
49
+ lost: "the MetaMask app on an iPad",
50
+ pattern: /(function isMobile\d*\(\) \{)(?=[^}]*?\.parse\(window\.navigator\.userAgent\))/,
51
+ replacement: "$1\n if (window.navigator.maxTouchPoints > 1 && /Macintosh/.test(window.navigator.userAgent)) return true;"
44
52
  }]
45
53
  }, {
46
54
  pkg: "@metamask/mobile-wallet-protocol-dapp-client",
47
55
  marker: "HANDSHAKE_TIMEOUT",
48
56
  rewrites: [{
49
- timer: "HANDSHAKE_TIMEOUT",
57
+ target: "timer HANDSHAKE_TIMEOUT",
58
+ lost: longTimers,
50
59
  pattern: /(HANDSHAKE_TIMEOUT) = 60 \* 1e3;/,
51
60
  replacement: "$1 = 540 * 1e3;"
52
61
  }]
@@ -71,7 +80,7 @@ function patchMetaMaskConnectTimeouts(id, code) {
71
80
  try {
72
81
  for (var _iterator = patch.rewrites[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
73
82
  var rewrite = _step.value;
74
- if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect timer ${rewrite.timer} not found in ${id}: ${patch.pkg} changed its source, so the long Android timers cannot be applied`);
83
+ if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect ${rewrite.target} not found in ${id}: ${patch.pkg} changed its source, and a build without this rewrite would lose ${rewrite.lost}`);
75
84
  patched = patched.replace(rewrite.pattern, rewrite.replacement);
76
85
  }
77
86
  } catch (err) {
@@ -107,7 +116,7 @@ function createMetaMaskConnectTimeoutTracker() {
107
116
  if (result) patched.set(result.pkg, ((_patched_get = patched.get(result.pkg)) !== null && _patched_get !== void 0 ? _patched_get : 0) + 1);
108
117
  return result;
109
118
  },
110
- /** Error text when the build bundles MetaMask Connect with a timer left unpatched. */
119
+ /** Error text when the build bundles MetaMask Connect with a patch left out. */
111
120
  problem() {
112
121
  if (!bundlesMetaMaskConnect) return void 0;
113
122
  var missing = metaMaskConnectTimeoutPatches.map(function (patch) {
@@ -116,7 +125,7 @@ function createMetaMaskConnectTimeoutTracker() {
116
125
  return !patched.get(pkg);
117
126
  });
118
127
  if (!missing.length) return void 0;
119
- return `the build bundles ${metaMaskConnectPkg} but left the timers in ${missing.join(", ")} unpatched`;
128
+ return `the build bundles ${metaMaskConnectPkg} but left ${missing.join(", ")} unpatched`;
120
129
  }
121
130
  };
122
131
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","metaMaskConnectTimeouts_exports","__export","createMetaMaskConnectTimeoutTracker","metaMaskConnectTimeoutPatchFor","metaMaskConnectTimeoutPatches","patchMetaMaskConnectTimeouts","module","exports","pkg","marker","rewrites","timer","pattern","replacement","metaMaskConnectPkg","normalize","normalize2","id","replace","code","path","find","patch","includes","patched","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","rewrite","test","Error","err","return","Map"],"sources":["../../../src/bundler/metaMaskConnectTimeouts.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,+BAAA;AAAAC,QAAA,CAAAD,+BAAA;EAAAE,mCAAA,EAAAA,CAAA,KAAAA,mCAAA;EAAAC,8BAAA,EAAAA,CAAA,KAAAA,8BAAA;EAAAC,6BAAA,EAAAA,CAAA,KAAAA,6BAAA;EAAAC,4BAAA,EAAAA,CAAA,KAAAA;AAAA;AA+BOC,MAAM,CAAAC,OAAA,GAAAZ,YAAA,CAAAK,+BAAwE;AAAA,IACnFI,6BAAA;EAEEI,GAAA,gCAAQ;EACRC,MAAA,2BAAU;EAAAC,QACR;IAEEC,KAAA,2BAAS;IACTC,OAAA,2EAAa;IACfC,WAAA;EACA;IAEEF,KAAA,gCACE;IACFC,OAAA,2KAAa;IACfC,WAAA;EACF;AAEF;EAEEL,GAAA,gDAAQ;EACRC,MAAA,qBAAU;EAAAC,QACR;IAEEC,KAAA,qBAAS;IACTC,OAAA,oCAAa;IACfC,WAAA;EACF;AAEJ,EAEA;AAEA,IAAAC,kBAAmB,0BAAoC;AAGhD,IAAAC,SAAS,YAAAC,WAAAC,EAAA,EACd;EAGA,OAAMA,EAAA,CAAAC,OAAO,MAAU,EAAE;AACzB;AAAqC,SAClCf,8BAAkCA,CAAAc,EAAG,EAAAE,IAAG,EAAK;EAChD,IAAAC,IAAA,GAAAL,SAAA,CAAAE,EAAA;EACF,OAAAb,6BAAA,CAAAiB,IAAA,WAAAC,KAAA;IAMO,OAASF,IAAA,CAAAG,QAAA,KAAAD,KAAA,CAAAd,GACd,IACA,IAAAW,IAC2C,CAAAI,QAAA,CAAAD,KAAA,CAAAb,MAAA;EAC3C;AACA;AACA,SAAIJ,4BAAUA,CAAAY,EAAA,EAAAE,IAAA;EACd,IAAAG,KAAA,GAAWnB,8BAA2B,CAAAc,EAAA,EAAAE,IAAA;EACpC,KAAAG,KAAK,SAAQ,KAAQ;EACnB,IAAAE,OAAM,GAAIL,IAAA;EAAA,IAAAM,yBACR,GAA0B;IAAAC,iBAAa,QAAiB;IAAEC,cAAc;EAAA,IAC1E;IACF,SAAAC,SAAkB,GAAAN,KAAQ,CAAAZ,QAAQ,CAAAmB,MAAA,CAASC,QAAQ,KAAAC,KAAA,EAAW,EAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MAChE,IAAAS,OAAA,GAAAH,KAAA,CAAAhC,KAAA;MACA,IAAO,CAAEmC,OAAK,CAAAtB,OAAM,CAAKuB,IAAA,CAAAX,OAAM,GAAQ,UAAAY,KAAA,2BAAAF,OAAA,CAAAvB,KAAA,iBAAAM,EAAA,KAAAK,KAAA,CAAAd,GAAA;MACzCgB,OAAA,GAAAA,OAAA,CAAAN,OAAA,CAAAgB,OAAA,CAAAtB,OAAA,EAAAsB,OAAA,CAAArB,WAAA;IAMO;EACL,SAAMwB,GAAA;IACNX,iBAAI;IACJC,cAAO,GAAAU,GAAA;EAAA,UACW;IACd;MACF,KAAAZ,yBAAA,IAAAG,SAAA,CAAAU,MAAA;QACAV,SAAkB,CAAAU,MAAc;MAC9B;IACA,UAAM;MACN,IAAIZ,iBAAgB;QACpB,MAAOC,cAAA;MACT;IAAA;EAAA;EAGE;IACAnB,GAAA,EAAAc,KAAM,CAAAd,GAAA;IAGNW,IAAA,EAAIK;EACJ;AAA2F;AAC7F,SACFtB,oCAAA;EACF,IAAAsB,OAAA,sBAAAe,GAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","metaMaskConnectTimeouts_exports","__export","createMetaMaskConnectTimeoutTracker","metaMaskConnectTimeoutPatchFor","metaMaskConnectTimeoutPatches","patchMetaMaskConnectTimeouts","module","exports","longTimers","pkg","marker","rewrites","target","lost","pattern","replacement","metaMaskConnectPkg","normalize","normalize2","id","replace","code","path","find","patch","includes","patched","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","rewrite","test","Error","err","return","Map"],"sources":["../../../src/bundler/metaMaskConnectTimeouts.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","device_exports","__export","defaultOpenConnectorFallbackMs","isTouchDevice","module","exports","import_connectkit","require","import_launcher","nav","arguments","length","navigator","matchMedia","window","query","_nav_maxTouchPoints","_nav_userAgent","maxTouchPoints","test","userAgent","_ref","matches","unused"],"sources":["../../../../src/connectkit/openConnector/device.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,8BAAA,EAAAA,CAAA,KAAAA,8BAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAyB,CAAAK,cAAA;AAEzB,IAAAM,iBAAA,GAGOC,OAAA;AAWA,IAAAC,eAAS,GAAAD,OACgB,uBAAO;AAKrC,SAAKJ,aAAYA,CAAA;EACjB,IAAIM,GAAA,GAAAC,SAAY,CAAAC,MAAS,QAAAD,SAAkB,QAAO,SAAAA,SAAA,aAAAE,SAAA,0BAAAA,SAAA;IAAAC,UAAA,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,aAAAI,MAAA,qBAAAA,MAAA,CAAAD,UAAA,oBAAAE,KAAA;MAClD,OAAID,MAAA,CAAAD,UAAA,CAAAE,KAAA;IACF;EACF,IAAAC,mBAAQ,EAAAC,cAAA;EACN,KAAAR,GAAA,IAAO,EAAAO,mBAAA,GAAAP,GAAA,CAAAS,cAAA,cAAAF,mBAAA,cAAAA,mBAAA;EACT,gBAAAG,IAAA,EAAAF,cAAA,GAAAR,GAAA,CAAAW,SAAA,cAAAH,cAAA,cAAAA,cAAA;EACF;IAGO,IAAAI,IAAS;IACd,QAAAA,IAAO,GAAAR,UAAA,aAASA,UAAK,UAAc,IAC/B,SAAAA,UAAA,sBAAAS,OAAA,MACA,QAAAD,IAAA,cAAAA,IAAA;EACN,SAAAE,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","device_exports","__export","defaultOpenConnectorFallbackMs","isTouchDevice","module","exports","import_connectkit","require","import_launcher","nav","arguments","length","navigator","matchMedia","window","query","_nav_maxTouchPoints","_nav_userAgent","maxTouchPoints","test","userAgent","_ref","matches","unused"],"sources":["../../../../src/connectkit/openConnector/device.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,8BAAA,EAAAA,CAAA,KAAAA,8BAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAyB,CAAAK,cAAA;AAEzB,IAAAM,iBAAA,GAGOC,OAAA;AAYA,IAAAC,eAAS,GAAAD,OACgB,uBAAO;AAKrC,SAAKJ,aAAYA,CAAA;EACjB,IAAIM,GAAA,GAAAC,SAAY,CAAAC,MAAS,QAAAD,SAAkB,QAAO,SAAAA,SAAA,aAAAE,SAAA,0BAAAA,SAAA;IAAAC,UAAA,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,aAAAI,MAAA,qBAAAA,MAAA,CAAAD,UAAA,oBAAAE,KAAA;MAClD,OAAID,MAAA,CAAAD,UAAA,CAAAE,KAAA;IACF;EACF,IAAAC,mBAAQ,EAAAC,cAAA;EACN,KAAAR,GAAA,IAAO,EAAAO,mBAAA,GAAAP,GAAA,CAAAS,cAAA,cAAAF,mBAAA,cAAAA,mBAAA;EACT,gBAAAG,IAAA,EAAAF,cAAA,GAAAR,GAAA,CAAAW,SAAA,cAAAH,cAAA,cAAAA,cAAA;EACF;IAGO,IAAAI,IAAS;IACd,QAAAA,IAAO,GAAAR,UAAA,aAASA,UAAK,UAAc,IAC/B,SAAAA,UAAA,sBAAAS,OAAA,MACA,QAAAD,IAAA,cAAAA,IAAA;EACN,SAAAE,MAAA","ignoreList":[]}
@@ -29,7 +29,9 @@ module.exports = __toCommonJS(device_exports);
29
29
  const nav = () => globalThis.navigator;
30
30
  function isMobileBrowser(navigator = nav()) {
31
31
  if (typeof navigator?.userAgentData?.mobile === "boolean") return navigator.userAgentData.mobile;
32
- return /Android|iPhone|iPad|iPod/i.test(navigator?.userAgent ?? "");
32
+ const userAgent = navigator?.userAgent ?? "";
33
+ if (/Android|iPhone|iPad|iPod/i.test(userAgent)) return true;
34
+ return /Macintosh/.test(userAgent) && (navigator?.maxTouchPoints ?? 0) > 1;
33
35
  }
34
36
  function hasUserActivation(navigator = nav()) {
35
37
  return navigator?.userActivation ? navigator.userActivation.isActive : true;
@@ -33,10 +33,12 @@ var nav = function nav2() {
33
33
  };
34
34
  function isMobileBrowser() {
35
35
  var navigator = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : nav();
36
- var _ref;
36
+ var _ref, _ref1;
37
37
  var _navigator_userAgentData;
38
38
  if (typeof (navigator === null || navigator === void 0 ? void 0 : (_navigator_userAgentData = navigator.userAgentData) === null || _navigator_userAgentData === void 0 ? void 0 : _navigator_userAgentData.mobile) === "boolean") return navigator.userAgentData.mobile;
39
- return /Android|iPhone|iPad|iPod/i.test((_ref = navigator === null || navigator === void 0 ? void 0 : navigator.userAgent) !== null && _ref !== void 0 ? _ref : "");
39
+ var userAgent = (_ref = navigator === null || navigator === void 0 ? void 0 : navigator.userAgent) !== null && _ref !== void 0 ? _ref : "";
40
+ if (/Android|iPhone|iPad|iPod/i.test(userAgent)) return true;
41
+ return /Macintosh/.test(userAgent) && ((_ref1 = navigator === null || navigator === void 0 ? void 0 : navigator.maxTouchPoints) !== null && _ref1 !== void 0 ? _ref1 : 0) > 1;
40
42
  }
41
43
  function hasUserActivation() {
42
44
  var navigator = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : nav();
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","device_exports","__export","hasUserActivation","isMobileBrowser","module","exports","nav","nav2","globalThis","navigator","arguments","length","_ref","_navigator_userAgentData"],"sources":["../../../src/keycloak/device.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA;AAAA;AAMAC,MAAM,CAAAC,OAAM,GAAAV,YAAoD,CAAAK,cAAA;AAEzD,IAAAM,GAAA,GAAS,SAAAC,KAAA,EAAgB;EAC9B,OAAIC,UAAO,CAAAC,SAAW;AACtB;AACF,SAAAN,gBAAA;EAGO,IAAAM,SAAS,GAAAC,SAAkB,CAAAC,MAAA,QAAuCD,SAAgB,iBAAAA,SAAA,MAAAJ,GAAA;EACvF,IAAAM,IAAO;EACT,IAAAC,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","device_exports","__export","hasUserActivation","isMobileBrowser","module","exports","nav","nav2","globalThis","navigator","arguments","length","_ref","_ref1","_navigator_userAgentData","userAgentData","mobile","userAgent"],"sources":["../../../src/keycloak/device.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA;AAAA;AAOAC,MAAM,CAAAC,OAAM,GAAAV,YAAoD,CAAAK,cAAA;AAEzD,IAAAM,GAAA,GAAS,SAAAC,KAAA,EAAgB;EAC9B,OAAIC,UAAO,CAAAC,SAAW;AACtB;AACA,SAAIN,gBAAA;EAEJ,IAAAM,SAAO,GAAAC,SAAiB,CAAAC,MAAA,GAAS,KAAMD,SAAA,CAAW,gBAAAA,SAAuB,MAAAJ,GAAA;EAC3E,IAAAM,IAAA,EAAAC,KAAA;EAGO,IAAAC,wBAA2B;EAChC,YAAOL,SAAW,aAAAA,SAAiB,KAAU,cAAe,KAAAK,wBAAW,GAAAL,SAAA,CAAAM,aAAA,cAAAD,wBAAA,uBAAAA,wBAAA,CAAAE,MAAA,wBAAAP,SAAA,CAAAM,aAAA,CAAAC,MAAA;EACzE,IAAAC,SAAA,IAAAL,IAAA,GAAAH,SAAA,aAAAA,SAAA,uBAAAA,SAAA,CAAAQ,SAAA,cAAAL,IAAA,cAAAA,IAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","vite_exports","__export","metaMaskConnectTimeouts","module","exports","import_metaMaskConnectTimeouts","require","name","tracker","createMetaMaskConnectTimeoutTracker","enforce","config","deps","optimizeDeps","rolldownOptions","plugins","transform","code","id","result","patch","map","buildEnd","error","problem","message"],"sources":["../../src/vite.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,YAAA;AAAAC,QAAA,CAAAD,YAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAA;AAAA;AAEAC,MAAA,CAAAC,OAAA,GAAAT,YAAA,CAAAK,YAAoD;AAEpD,IAAAK,8BAAa,GAAAC,OAAA;AAWN,IAAAC,IAAA,GAAS,oCAAkC;AAChD,SAAML,uBAAUA,CAAA;EAChB,IAAAM,OAAO,OAAAH,8BAAA,CAAAI,mCAAA;EAAA,OACL;IACAF,IAAA;IACAG,OAAA,EAAS;IAGPC,OAAA,EAAM;MACN,IAAAC,IAAO,OAAAP,8BAAA,CAAAI,mCAAA;MAAA,OACL;QAAcI,YACZ;UAAiBC,eACN;YAAAC,OACP;cAEER,IAAA,KAAAA,IAAU,OAAU;cAClBS,SAAMA,CAAAC,IAAA,EAAAC,EAAS;gBACf,IAAAC,MAAO,GAAAP,IAAS,CAAEQ,KAAA,CAAMF,EAAA,EAAAD,IAAO;gBACjC,OAAAE,MAAA;kBACAF,IAAA,EAASE,MAAO,CAAAF,IAAA;kBACdI,GAAI;gBACJ,QAAM;cACN;cACFC,SAAAC,KAAA;gBACF,IAAAA,KAAA;gBACF,IAAAC,OAAA,GAAAZ,IAAA,CAAAY,OAAA;gBACF,IAAAA,OAAA,OAAAD,KAAA,IAAAhB,IAAA,KAAAiB,OAAA;cACF;YACF;UAEF;QACE;MACE;IACA;IAAmDR,SACrDA,CAAAC,IAAS,EAAAC,EAAO;MACd;QACF,IAAAC,MAAA,GAAAX,OAAA,CAAAY,KAAA,CAAAF,EAAA,EAAAD,IAAA;QACF,OAAAE,MAAA;UACAF,IAAS,EAAAE,MAAO,CAAAF,IAAA;UACVI,GAAA;QACJ,IAAM;MACN,SAAIE,KAAS;QACf,KAAAA,KAAA,CAAAA,KAAA,CAAAE,OAAA;MACF;IACF","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","vite_exports","__export","metaMaskConnectTimeouts","module","exports","import_metaMaskConnectTimeouts","require","name","tracker","createMetaMaskConnectTimeoutTracker","enforce","config","deps","optimizeDeps","rolldownOptions","plugins","transform","code","id","result","patch","map","buildEnd","error","problem","message"],"sources":["../../src/vite.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,YAAA;AAAAC,QAAA,CAAAD,YAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAA;AAAA;AAEAC,MAAA,CAAAC,OAAA,GAAAT,YAAA,CAAAK,YAAoD;AAEpD,IAAAK,8BAAa,GAAAC,OAAA;AAaN,IAAAC,IAAA,GAAS,oCAAkC;AAChD,SAAML,uBAAUA,CAAA;EAChB,IAAAM,OAAO,OAAAH,8BAAA,CAAAI,mCAAA;EAAA,OACL;IACAF,IAAA;IACAG,OAAA,EAAS;IAGPC,OAAA,EAAM;MACN,IAAAC,IAAO,OAAAP,8BAAA,CAAAI,mCAAA;MAAA,OACL;QAAcI,YACZ;UAAiBC,eACN;YAAAC,OACP;cAEER,IAAA,KAAAA,IAAU,OAAU;cAClBS,SAAMA,CAAAC,IAAA,EAAAC,EAAS;gBACf,IAAAC,MAAO,GAAAP,IAAS,CAAEQ,KAAA,CAAMF,EAAA,EAAAD,IAAO;gBACjC,OAAAE,MAAA;kBACAF,IAAA,EAASE,MAAO,CAAAF,IAAA;kBACdI,GAAI;gBACJ,QAAM;cACN;cACFC,SAAAC,KAAA;gBACF,IAAAA,KAAA;gBACF,IAAAC,OAAA,GAAAZ,IAAA,CAAAY,OAAA;gBACF,IAAAA,OAAA,OAAAD,KAAA,IAAAhB,IAAA,KAAAiB,OAAA;cACF;YACF;UAEF;QACE;MACE;IACA;IAAmDR,SACrDA,CAAAC,IAAS,EAAAC,EAAO;MACd;QACF,IAAAC,MAAA,GAAAX,OAAA,CAAAY,KAAA,CAAAF,EAAA,EAAAD,IAAA;QACF,OAAAE,MAAA;UACAF,IAAS,EAAAE,MAAO,CAAAF,IAAA;UACVI,GAAA;QACJ,IAAM;MACN,SAAIE,KAAS;QACf,KAAAA,KAAA,CAAAA,KAAA,CAAAE,OAAA;MACF;IACF","ignoreList":[]}
@@ -1,20 +1,29 @@
1
+ const longTimers = "the long Android timers";
1
2
  const metaMaskConnectTimeoutPatches = [{
2
3
  pkg: "@metamask/connect-multichain",
3
4
  marker: "CONNECTION_GRACE_PERIOD",
4
5
  rewrites: [{
5
- timer: "DEFAULT_REQUEST_TIMEOUT",
6
+ target: "timer DEFAULT_REQUEST_TIMEOUT",
7
+ lost: longTimers,
6
8
  pattern: /(DEFAULT_REQUEST_TIMEOUT\d*) = 60 \* 1e3;(\s+CONNECTION_GRACE_PERIOD =)/,
7
9
  replacement: "$1 = 600 * 1e3;$2"
8
10
  }, {
9
- timer: "the page-load session resume",
11
+ target: "timer the page-load session resume",
12
+ lost: longTimers,
10
13
  pattern: /(resumeSession_fn = function\((\w+), (\w+)\)(?:(?!startSession_fn)[\s\S])*?isContinuingPriorAttempt \? this\.options\.resumeTimeout : )this\.options\.connectionTimeout/,
11
14
  replacement: "$1$3 ? this.options.connectionTimeout : 120 * 1e3"
15
+ }, {
16
+ target: "platform check isMobile",
17
+ lost: "the MetaMask app on an iPad",
18
+ pattern: /(function isMobile\d*\(\) \{)(?=[^}]*?\.parse\(window\.navigator\.userAgent\))/,
19
+ replacement: "$1\n if (window.navigator.maxTouchPoints > 1 && /Macintosh/.test(window.navigator.userAgent)) return true;"
12
20
  }]
13
21
  }, {
14
22
  pkg: "@metamask/mobile-wallet-protocol-dapp-client",
15
23
  marker: "HANDSHAKE_TIMEOUT",
16
24
  rewrites: [{
17
- timer: "HANDSHAKE_TIMEOUT",
25
+ target: "timer HANDSHAKE_TIMEOUT",
26
+ lost: longTimers,
18
27
  pattern: /(HANDSHAKE_TIMEOUT) = 60 \* 1e3;/,
19
28
  replacement: "$1 = 540 * 1e3;"
20
29
  }]
@@ -30,7 +39,7 @@ function patchMetaMaskConnectTimeouts(id, code) {
30
39
  if (!patch) return void 0;
31
40
  let patched = code;
32
41
  for (const rewrite of patch.rewrites) {
33
- if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect timer ${rewrite.timer} not found in ${id}: ${patch.pkg} changed its source, so the long Android timers cannot be applied`);
42
+ if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect ${rewrite.target} not found in ${id}: ${patch.pkg} changed its source, and a build without this rewrite would lose ${rewrite.lost}`);
34
43
  patched = patched.replace(rewrite.pattern, rewrite.replacement);
35
44
  }
36
45
  return {
@@ -51,12 +60,12 @@ function createMetaMaskConnectTimeoutTracker() {
51
60
  if (result) patched.set(result.pkg, (patched.get(result.pkg) ?? 0) + 1);
52
61
  return result;
53
62
  },
54
- /** Error text when the build bundles MetaMask Connect with a timer left unpatched. */
63
+ /** Error text when the build bundles MetaMask Connect with a patch left out. */
55
64
  problem() {
56
65
  if (!bundlesMetaMaskConnect) return void 0;
57
66
  const missing = metaMaskConnectTimeoutPatches.map(patch => patch.pkg).filter(pkg => !patched.get(pkg));
58
67
  if (!missing.length) return void 0;
59
- return `the build bundles ${metaMaskConnectPkg} but left the timers in ${missing.join(", ")} unpatched`;
68
+ return `the build bundles ${metaMaskConnectPkg} but left ${missing.join(", ")} unpatched`;
60
69
  }
61
70
  };
62
71
  }
@@ -1 +1 @@
1
- {"version":3,"names":["metaMaskConnectTimeoutPatches","pkg","marker","rewrites","timer","pattern","replacement","metaMaskConnectPkg","normalize","id","replace","metaMaskConnectTimeoutPatchFor","code","path","find","patch","includes","patchMetaMaskConnectTimeouts","patched","rewrite","test","Error","createMetaMaskConnectTimeoutTracker","Map","bundlesMetaMaskConnect","see","result","set","get","problem","missing","map","filter","length","join"],"sources":["../../../src/bundler/metaMaskConnectTimeouts.ts"],"sourcesContent":[null],"mappings":"AA+BO,MAAMA,6BAAA,GAAwE,CACnF;EACEC,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,QAAA,EAAU,CACR;IACEC,KAAA,EAAO;IACPC,OAAA,EAAS;IACTC,WAAA,EAAa;EACf,GACA;IACEF,KAAA,EAAO;IACPC,OAAA,EACE;IACFC,WAAA,EAAa;EACf;AAEJ,GACA;EACEL,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,QAAA,EAAU,CACR;IACEC,KAAA,EAAO;IACPC,OAAA,EAAS;IACTC,WAAA,EAAa;EACf;AAEJ,EACF;AAEA,MAAMC,kBAAA,GAAqB;AAE3B,MAAMC,SAAA,GAAaC,EAAA,IAAeA,EAAA,CAAGC,OAAA,CAAQ,OAAO,GAAG;AAGhD,SAASC,+BACdF,EAAA,EACAG,IAAA,EACyC;EACzC,MAAMC,IAAA,GAAOL,SAAA,CAAUC,EAAE;EACzB,OAAOT,6BAAA,CAA8Bc,IAAA,CAClCC,KAAA,IAAUF,IAAA,CAAKG,QAAA,CAAS,IAAID,KAAA,CAAMd,GAAG,GAAG,KAAKW,IAAA,CAAKI,QAAA,CAASD,KAAA,CAAMb,MAAM,CAC1E;AACF;AAMO,SAASe,6BACdR,EAAA,EACAG,IAAA,EAC2C;EAC3C,MAAMG,KAAA,GAAQJ,8BAAA,CAA+BF,EAAA,EAAIG,IAAI;EACrD,IAAI,CAACG,KAAA,EAAO,OAAO;EACnB,IAAIG,OAAA,GAAUN,IAAA;EACd,WAAWO,OAAA,IAAWJ,KAAA,CAAMZ,QAAA,EAAU;IACpC,IAAI,CAACgB,OAAA,CAAQd,OAAA,CAAQe,IAAA,CAAKF,OAAO,GAC/B,MAAM,IAAIG,KAAA,CACR,0BAA0BF,OAAA,CAAQf,KAAK,iBAAiBK,EAAE,KAAKM,KAAA,CAAMd,GAAG,mEAC1E;IACFiB,OAAA,GAAUA,OAAA,CAAQR,OAAA,CAAQS,OAAA,CAAQd,OAAA,EAASc,OAAA,CAAQb,WAAW;EAChE;EACA,OAAO;IAAEL,GAAA,EAAKc,KAAA,CAAMd,GAAA;IAAKW,IAAA,EAAMM;EAAQ;AACzC;AAMO,SAASI,oCAAA,EAAsC;EACpD,MAAMJ,OAAA,GAAU,mBAAIK,GAAA,CAAoB;EACxC,IAAIC,sBAAA,GAAyB;EAC7B,OAAO;IACLC,IAAIhB,EAAA,EAAY;MACd,IAAID,SAAA,CAAUC,EAAE,EAAEO,QAAA,CAAS,IAAIT,kBAAkB,GAAG,GAAGiB,sBAAA,GAAyB;IAClF;IACAT,MAAMN,EAAA,EAAYG,IAAA,EAAc;MAC9B,KAAKa,GAAA,CAAIhB,EAAE;MACX,MAAMiB,MAAA,GAAST,4BAAA,CAA6BR,EAAA,EAAIG,IAAI;MACpD,IAAIc,MAAA,EAAQR,OAAA,CAAQS,GAAA,CAAID,MAAA,CAAOzB,GAAA,GAAMiB,OAAA,CAAQU,GAAA,CAAIF,MAAA,CAAOzB,GAAG,KAAK,KAAK,CAAC;MACtE,OAAOyB,MAAA;IACT;IAAA;IAEAG,QAAA,EAA8B;MAC5B,IAAI,CAACL,sBAAA,EAAwB,OAAO;MACpC,MAAMM,OAAA,GAAU9B,6BAAA,CACb+B,GAAA,CAAKhB,KAAA,IAAUA,KAAA,CAAMd,GAAG,EACxB+B,MAAA,CAAQ/B,GAAA,IAAQ,CAACiB,OAAA,CAAQU,GAAA,CAAI3B,GAAG,CAAC;MACpC,IAAI,CAAC6B,OAAA,CAAQG,MAAA,EAAQ,OAAO;MAC5B,OAAO,qBAAqB1B,kBAAkB,2BAA2BuB,OAAA,CAAQI,IAAA,CAAK,IAAI,CAAC;IAC7F;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["longTimers","metaMaskConnectTimeoutPatches","pkg","marker","rewrites","target","lost","pattern","replacement","metaMaskConnectPkg","normalize","id","replace","metaMaskConnectTimeoutPatchFor","code","path","find","patch","includes","patchMetaMaskConnectTimeouts","patched","rewrite","test","Error","createMetaMaskConnectTimeoutTracker","Map","bundlesMetaMaskConnect","see","result","set","get","problem","missing","map","filter","length","join"],"sources":["../../../src/bundler/metaMaskConnectTimeouts.ts"],"sourcesContent":[null],"mappings":"AAgCA,MAAMA,UAAA,GAAa;AAQZ,MAAMC,6BAAA,GAAwE,CACnF;EACEC,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,QAAA,EAAU,CACR;IACEC,MAAA,EAAQ;IACRC,IAAA,EAAMN,UAAA;IACNO,OAAA,EAAS;IACTC,WAAA,EAAa;EACf,GACA;IACEH,MAAA,EAAQ;IACRC,IAAA,EAAMN,UAAA;IACNO,OAAA,EACE;IACFC,WAAA,EAAa;EACf,GACA;IACEH,MAAA,EAAQ;IACRC,IAAA,EAAM;IACNC,OAAA,EAAS;IACTC,WAAA,EACE;EACJ;AAEJ,GACA;EACEN,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,QAAA,EAAU,CACR;IACEC,MAAA,EAAQ;IACRC,IAAA,EAAMN,UAAA;IACNO,OAAA,EAAS;IACTC,WAAA,EAAa;EACf;AAEJ,EACF;AAEA,MAAMC,kBAAA,GAAqB;AAE3B,MAAMC,SAAA,GAAaC,EAAA,IAAeA,EAAA,CAAGC,OAAA,CAAQ,OAAO,GAAG;AAGhD,SAASC,+BACdF,EAAA,EACAG,IAAA,EACyC;EACzC,MAAMC,IAAA,GAAOL,SAAA,CAAUC,EAAE;EACzB,OAAOV,6BAAA,CAA8Be,IAAA,CAClCC,KAAA,IAAUF,IAAA,CAAKG,QAAA,CAAS,IAAID,KAAA,CAAMf,GAAG,GAAG,KAAKY,IAAA,CAAKI,QAAA,CAASD,KAAA,CAAMd,MAAM,CAC1E;AACF;AAMO,SAASgB,6BACdR,EAAA,EACAG,IAAA,EAC2C;EAC3C,MAAMG,KAAA,GAAQJ,8BAAA,CAA+BF,EAAA,EAAIG,IAAI;EACrD,IAAI,CAACG,KAAA,EAAO,OAAO;EACnB,IAAIG,OAAA,GAAUN,IAAA;EACd,WAAWO,OAAA,IAAWJ,KAAA,CAAMb,QAAA,EAAU;IACpC,IAAI,CAACiB,OAAA,CAAQd,OAAA,CAAQe,IAAA,CAAKF,OAAO,GAC/B,MAAM,IAAIG,KAAA,CACR,oBAAoBF,OAAA,CAAQhB,MAAM,iBAAiBM,EAAE,KAAKM,KAAA,CAAMf,GAAG,oEAAoEmB,OAAA,CAAQf,IAAI,EACrJ;IACFc,OAAA,GAAUA,OAAA,CAAQR,OAAA,CAAQS,OAAA,CAAQd,OAAA,EAASc,OAAA,CAAQb,WAAW;EAChE;EACA,OAAO;IAAEN,GAAA,EAAKe,KAAA,CAAMf,GAAA;IAAKY,IAAA,EAAMM;EAAQ;AACzC;AAMO,SAASI,oCAAA,EAAsC;EACpD,MAAMJ,OAAA,GAAU,mBAAIK,GAAA,CAAoB;EACxC,IAAIC,sBAAA,GAAyB;EAC7B,OAAO;IACLC,IAAIhB,EAAA,EAAY;MACd,IAAID,SAAA,CAAUC,EAAE,EAAEO,QAAA,CAAS,IAAIT,kBAAkB,GAAG,GAAGiB,sBAAA,GAAyB;IAClF;IACAT,MAAMN,EAAA,EAAYG,IAAA,EAAc;MAC9B,KAAKa,GAAA,CAAIhB,EAAE;MACX,MAAMiB,MAAA,GAAST,4BAAA,CAA6BR,EAAA,EAAIG,IAAI;MACpD,IAAIc,MAAA,EAAQR,OAAA,CAAQS,GAAA,CAAID,MAAA,CAAO1B,GAAA,GAAMkB,OAAA,CAAQU,GAAA,CAAIF,MAAA,CAAO1B,GAAG,KAAK,KAAK,CAAC;MACtE,OAAO0B,MAAA;IACT;IAAA;IAEAG,QAAA,EAA8B;MAC5B,IAAI,CAACL,sBAAA,EAAwB,OAAO;MACpC,MAAMM,OAAA,GAAU/B,6BAAA,CACbgC,GAAA,CAAKhB,KAAA,IAAUA,KAAA,CAAMf,GAAG,EACxBgC,MAAA,CAAQhC,GAAA,IAAQ,CAACkB,OAAA,CAAQU,GAAA,CAAI5B,GAAG,CAAC;MACpC,IAAI,CAAC8B,OAAA,CAAQG,MAAA,EAAQ,OAAO;MAC5B,OAAO,qBAAqB1B,kBAAkB,aAAauB,OAAA,CAAQI,IAAA,CAAK,IAAI,CAAC;IAC/E;EACF;AACF","ignoreList":[]}
@@ -1,20 +1,29 @@
1
+ var longTimers = "the long Android timers";
1
2
  var metaMaskConnectTimeoutPatches = [{
2
3
  pkg: "@metamask/connect-multichain",
3
4
  marker: "CONNECTION_GRACE_PERIOD",
4
5
  rewrites: [{
5
- timer: "DEFAULT_REQUEST_TIMEOUT",
6
+ target: "timer DEFAULT_REQUEST_TIMEOUT",
7
+ lost: longTimers,
6
8
  pattern: /(DEFAULT_REQUEST_TIMEOUT\d*) = 60 \* 1e3;(\s+CONNECTION_GRACE_PERIOD =)/,
7
9
  replacement: "$1 = 600 * 1e3;$2"
8
10
  }, {
9
- timer: "the page-load session resume",
11
+ target: "timer the page-load session resume",
12
+ lost: longTimers,
10
13
  pattern: /(resumeSession_fn = function\((\w+), (\w+)\)(?:(?!startSession_fn)[\s\S])*?isContinuingPriorAttempt \? this\.options\.resumeTimeout : )this\.options\.connectionTimeout/,
11
14
  replacement: "$1$3 ? this.options.connectionTimeout : 120 * 1e3"
15
+ }, {
16
+ target: "platform check isMobile",
17
+ lost: "the MetaMask app on an iPad",
18
+ pattern: /(function isMobile\d*\(\) \{)(?=[^}]*?\.parse\(window\.navigator\.userAgent\))/,
19
+ replacement: "$1\n if (window.navigator.maxTouchPoints > 1 && /Macintosh/.test(window.navigator.userAgent)) return true;"
12
20
  }]
13
21
  }, {
14
22
  pkg: "@metamask/mobile-wallet-protocol-dapp-client",
15
23
  marker: "HANDSHAKE_TIMEOUT",
16
24
  rewrites: [{
17
- timer: "HANDSHAKE_TIMEOUT",
25
+ target: "timer HANDSHAKE_TIMEOUT",
26
+ lost: longTimers,
18
27
  pattern: /(HANDSHAKE_TIMEOUT) = 60 \* 1e3;/,
19
28
  replacement: "$1 = 540 * 1e3;"
20
29
  }]
@@ -39,7 +48,7 @@ function patchMetaMaskConnectTimeouts(id, code) {
39
48
  try {
40
49
  for (var _iterator = patch.rewrites[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
41
50
  var rewrite = _step.value;
42
- if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect timer ${rewrite.timer} not found in ${id}: ${patch.pkg} changed its source, so the long Android timers cannot be applied`);
51
+ if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect ${rewrite.target} not found in ${id}: ${patch.pkg} changed its source, and a build without this rewrite would lose ${rewrite.lost}`);
43
52
  patched = patched.replace(rewrite.pattern, rewrite.replacement);
44
53
  }
45
54
  } catch (err) {
@@ -75,7 +84,7 @@ function createMetaMaskConnectTimeoutTracker() {
75
84
  if (result) patched.set(result.pkg, ((_patched_get = patched.get(result.pkg)) !== null && _patched_get !== void 0 ? _patched_get : 0) + 1);
76
85
  return result;
77
86
  },
78
- /** Error text when the build bundles MetaMask Connect with a timer left unpatched. */
87
+ /** Error text when the build bundles MetaMask Connect with a patch left out. */
79
88
  problem() {
80
89
  if (!bundlesMetaMaskConnect) return void 0;
81
90
  var missing = metaMaskConnectTimeoutPatches.map(function (patch) {
@@ -84,7 +93,7 @@ function createMetaMaskConnectTimeoutTracker() {
84
93
  return !patched.get(pkg);
85
94
  });
86
95
  if (!missing.length) return void 0;
87
- return `the build bundles ${metaMaskConnectPkg} but left the timers in ${missing.join(", ")} unpatched`;
96
+ return `the build bundles ${metaMaskConnectPkg} but left ${missing.join(", ")} unpatched`;
88
97
  }
89
98
  };
90
99
  }
@@ -1 +1 @@
1
- {"version":3,"names":["metaMaskConnectTimeoutPatches","pkg","marker","rewrites","timer","pattern","replacement","metaMaskConnectPkg","normalize","normalize2","id","replace","metaMaskConnectTimeoutPatchFor","code","path","find","patch","includes","patchMetaMaskConnectTimeouts","patched","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","rewrite","value","test","Error","err","return","createMetaMaskConnectTimeoutTracker","Map","bundlesMetaMaskConnect"],"sources":["../../../src/bundler/metaMaskConnectTimeouts.ts"],"sourcesContent":[null],"mappings":"AA+BO,IAAAA,6BAAM,IACX;EACEC,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,QAAA,EAAU,CACR;IACEC,KAAA,EAAO;IACPC,OAAA,EAAS;IACTC,WAAA,EAAa;EACf,GACA;IACEF,KAAA,EAAO;IACPC,OAAA,EACE;IACFC,WAAA,EAAa;EACf;AAEJ,GACA;EACEL,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,QAAA,EAAU,CACR;IACEC,KAAA,EAAO;IACPC,OAAA,EAAS;IACTC,WAAA,EAAa;EACf;AAEJ,EACF;AAEA,IAAAC,kBAAM,0BAAqB;AAE3B,IAAAC,SAAM,YAAaC,UAAkBA,CAAAC,EAAQ;EAGtC,OAASA,EAAA,CAAAC,OAAA;AAId;AACA,SAAOC,8BAA8BA,CAAAF,EAAA,EAAAG,IAAA;EAAA,IAClCC,IAAA,GAAAN,SAAe,CAAAE,EAAA;EAClB,OAAAV,6BAAA,CAAAe,IAAA,WAAAC,KAAA;IACF,OAAAF,IAAA,CAAAG,QAAA,KAAAD,KAAA,CAAAf,GAAA,QAAAY,IAAA,CAAAI,QAAA,CAAAD,KAAA,CAAAd,MAAA;EAMO;AAIL;AACA,SAAKgB,4BAAcA,CAAAR,EAAA,EAAAG,IAAA;EACnB,IAAIG,KAAA,GAAAJ,8BAAU,CAAAF,EAAA,EAAAG,IAAA;EACd,KAAAG,KAAA,EAAW,YAAW;EACpB,IAAAG,OAAK,GAAAN,IAAQ;EACX,IAAAO,yBAAU;IAAAC,iBAAA;IAAAC,cAAA;EAAA;IACgE,KAC1E,IAAAC,SAAA,GAAAP,KAAA,CAAAb,QAAA,CAAAqB,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACF,IAAAS,OAAU,GAAAH,KAAQ,CAAAI,KAAQ;MAC5B,KAAAD,OAAA,CAAAxB,OAAA,CAAA0B,IAAA,CAAAZ,OAAA,aAAAa,KAAA,2BAAAH,OAAA,CAAAzB,KAAA,iBAAAM,EAAA,KAAAM,KAAA,CAAAf,GAAA;MACAkB,OAAS,GAAKA,OAAM,CAAAR,OAAK,CAAAkB,OAAM,CAAAxB,OAAQ,EAAAwB,OAAA,CAAAvB,WAAA;IACzC;EAMO,SAAS2B,GAAA;IACdZ,iBAAgB;IAChBC,cAAI,GAAAW,GAAA;EACJ,UAAO;IACL,IAAI;MACF,IAAI,CAAAb,yBAAuB,IAAIG,SAAA,CAAAW,MAAkB,IAAM;QACzDX,SAAA,CAAAW,MAAA;MACA;IACE,UAAK;MACL,IAAAb,iBAAe;QACf,MAAIC,cAAgB;MACpB;IACF;EAAA;EAAA,OAEA;IACErB,GAAA,EAAAe,KAAK,CAAAf,GAAA;IACLY,IAAA,EAAAM;EAGA;AACA;AAA2F,SAC7FgB,oCAAA;EACF,IAAAhB,OAAA,sBAAAiB,GAAA;EACF,IAAAC,sBAAA","ignoreList":[]}
1
+ {"version":3,"names":["longTimers","metaMaskConnectTimeoutPatches","pkg","marker","rewrites","target","lost","pattern","replacement","metaMaskConnectPkg","normalize","normalize2","id","replace","metaMaskConnectTimeoutPatchFor","code","path","find","patch","includes","patchMetaMaskConnectTimeouts","patched","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","rewrite","value","test","Error","err","return","createMetaMaskConnectTimeoutTracker","Map","bundlesMetaMaskConnect"],"sources":["../../../src/bundler/metaMaskConnectTimeouts.ts"],"sourcesContent":[null],"mappings":"AAgCA,IAAAA,UAAM,4BAAa;AAQZ,IAAAC,6BAAM,IACX;EACEC,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,QAAA,EAAU,CACR;IACEC,MAAA,EAAQ;IACRC,IAAA,EAAMN,UAAA;IACNO,OAAA,EAAS;IACTC,WAAA,EAAa;EACf,GACA;IACEH,MAAA,EAAQ;IACRC,IAAA,EAAMN,UAAA;IACNO,OAAA,EACE;IACFC,WAAA,EAAa;EACf,GACA;IACEH,MAAA,EAAQ;IACRC,IAAA,EAAM;IACNC,OAAA,EAAS;IACTC,WAAA,EACE;EACJ;AAEJ,GACA;EACEN,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,QAAA,EAAU,CACR;IACEC,MAAA,EAAQ;IACRC,IAAA,EAAMN,UAAA;IACNO,OAAA,EAAS;IACTC,WAAA,EAAa;EACf;AAEJ,EACF;AAEA,IAAAC,kBAAM,0BAAqB;AAE3B,IAAAC,SAAM,YAAaC,UAAkBA,CAAAC,EAAQ;EAGtC,OAASA,EAAA,CAAAC,OAAA;AAId;AACA,SAAOC,8BAA8BA,CAAAF,EAAA,EAAAG,IAAA;EAAA,IAClCC,IAAA,GAAAN,SAAe,CAAAE,EAAA;EAClB,OAAAX,6BAAA,CAAAgB,IAAA,WAAAC,KAAA;IACF,OAAAF,IAAA,CAAAG,QAAA,KAAAD,KAAA,CAAAhB,GAAA,QAAAa,IAAA,CAAAI,QAAA,CAAAD,KAAA,CAAAf,MAAA;EAMO;AAIL;AACA,SAAKiB,4BAAcA,CAAAR,EAAA,EAAAG,IAAA;EACnB,IAAIG,KAAA,GAAAJ,8BAAU,CAAAF,EAAA,EAAAG,IAAA;EACd,KAAAG,KAAA,EAAW,YAAW;EACpB,IAAAG,OAAK,GAAAN,IAAQ;EACX,IAAAO,yBAAU;IAAAC,iBAAA;IAAAC,cAAA;EAAA;IAC2I,KACrJ,IAAAC,SAAA,GAAAP,KAAA,CAAAd,QAAA,CAAAsB,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACF,IAAAS,OAAU,GAAAH,KAAQ,CAAAI,KAAQ;MAC5B,KAAAD,OAAA,CAAAxB,OAAA,CAAA0B,IAAA,CAAAZ,OAAA,aAAAa,KAAA,qBAAAH,OAAA,CAAA1B,MAAA,iBAAAO,EAAA,KAAAM,KAAA,CAAAhB,GAAA,oEAAA6B,OAAA,CAAAzB,IAAA;MACAe,OAAS,GAAKA,OAAM,CAAAR,OAAK,CAAAkB,OAAM,CAAAxB,OAAQ,EAAAwB,OAAA,CAAAvB,WAAA;IACzC;EAMO,SAAS2B,GAAA;IACdZ,iBAAgB;IAChBC,cAAI,GAAAW,GAAA;EACJ,UAAO;IACL,IAAI;MACF,IAAI,CAAAb,yBAAuB,IAAIG,SAAA,CAAAW,MAAkB,IAAM;QACzDX,SAAA,CAAAW,MAAA;MACA;IACE,UAAK;MACL,IAAAb,iBAAe;QACf,MAAIC,cAAgB;MACpB;IACF;EAAA;EAAA,OAEA;IACEtB,GAAA,EAAAgB,KAAK,CAAAhB,GAAA;IACLa,IAAA,EAAAM;EAGA;AACA;AAA6E,SAC/EgB,oCAAA;EACF,IAAAhB,OAAA,sBAAAiB,GAAA;EACF,IAAAC,sBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["isMobile","DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS","DEFAULT_OPEN_CONNECTOR_FALLBACK_MS","isTouchDevice","nav","navigator","matchMedia","window","query","maxTouchPoints","test","userAgent","matches","defaultOpenConnectorFallbackMs"],"sources":["../../../../src/connectkit/openConnector/device.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AAEzB,SACEC,0CAAA,EACAC,kCAAA,QACK;AAWA,SAASC,cACdC,GAAA,GAA8B,OAAOC,SAAA,KAAc,cAAc,OAAOA,SAAA,EACxEC,UAAA,GAAgC,OAAOC,MAAA,KAAW,eAAe,CAACA,MAAA,CAAOD,UAAA,GACrE,OACCE,KAAA,IAAUD,MAAA,CAAOD,UAAA,CAAWE,KAAK,GAC7B;EACT,IAAI,CAACJ,GAAA,KAAQA,GAAA,CAAIK,cAAA,IAAkB,KAAK,GAAG,OAAO;EAClD,IAAI,YAAYC,IAAA,CAAKN,GAAA,CAAIO,SAAA,IAAa,EAAE,GAAG,OAAO;EAClD,IAAI;IACF,OAAOL,UAAA,GAAa,mBAAmB,EAAEM,OAAA,IAAW;EACtD,QAAQ;IACN,OAAO;EACT;AACF;AAGO,SAASC,+BAAA,EAAyC;EACvD,OAAOb,QAAA,CAAS,KAAKG,aAAA,CAAc,IAC/BD,kCAAA,GACAD,0CAAA;AACN","ignoreList":[]}
1
+ {"version":3,"names":["isMobile","DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS","DEFAULT_OPEN_CONNECTOR_FALLBACK_MS","isTouchDevice","nav","navigator","matchMedia","window","query","maxTouchPoints","test","userAgent","matches","defaultOpenConnectorFallbackMs"],"sources":["../../../../src/connectkit/openConnector/device.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AAEzB,SACEC,0CAAA,EACAC,kCAAA,QACK;AAYA,SAASC,cACdC,GAAA,GAA8B,OAAOC,SAAA,KAAc,cAAc,OAAOA,SAAA,EACxEC,UAAA,GAAgC,OAAOC,MAAA,KAAW,eAAe,CAACA,MAAA,CAAOD,UAAA,GACrE,OACCE,KAAA,IAAUD,MAAA,CAAOD,UAAA,CAAWE,KAAK,GAC7B;EACT,IAAI,CAACJ,GAAA,KAAQA,GAAA,CAAIK,cAAA,IAAkB,KAAK,GAAG,OAAO;EAClD,IAAI,YAAYC,IAAA,CAAKN,GAAA,CAAIO,SAAA,IAAa,EAAE,GAAG,OAAO;EAClD,IAAI;IACF,OAAOL,UAAA,GAAa,mBAAmB,EAAEM,OAAA,IAAW;EACtD,QAAQ;IACN,OAAO;EACT;AACF;AAGO,SAASC,+BAAA,EAAyC;EACvD,OAAOb,QAAA,CAAS,KAAKG,aAAA,CAAc,IAC/BD,kCAAA,GACAD,0CAAA;AACN","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["isMobile","DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS","DEFAULT_OPEN_CONNECTOR_FALLBACK_MS","isTouchDevice","nav","arguments","length","navigator","matchMedia","window","query","_nav_maxTouchPoints","_nav_userAgent","maxTouchPoints","test","userAgent","_ref","matches","unused","defaultOpenConnectorFallbackMs"],"sources":["../../../../src/connectkit/openConnector/device.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AAEzB,SAAAC,0CAAA,EAAAC,kCAAA;AAAA,SACEC,cAAA;EACA,IAAAC,GAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,aAAAE,SAAA,0BAAAA,SAAA;IAAAC,UAAA,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,aAAAI,MAAA,qBAAAA,MAAA,CAAAD,UAAA,oBAAAE,KAAA;MAAA,OACKD,MAAA,CAAAD,UAAA,CAAAE,KAAA;IAWA;EAML,IAAIC,mBAAa,EAAAC,cAAkB;EACnC,IAAI,CAAAR,GAAA,MAAAO,mBAAqB,GAAAP,GAAa,CAAES,cAAU,cAAAF,mBAAA,cAAAA,mBAAA;EAClD,IAAI,YAAAG,IAAA,EAAAF,cAAA,GAAAR,GAAA,CAAAW,SAAA,cAAAH,cAAA,cAAAA,cAAA;EACF;IACF,IAAAI,IAAQ;IACN,OAAO,CAAAA,IAAA,GAAAR,UAAA,aAAAA,UAAA,uBAAAA,UAAA,sBAAAS,OAAA,cAAAD,IAAA,cAAAA,IAAA;EACT,SAAAE,MAAA;IACF;EAGO;AACL;AAGF,SAAAC,+BAAA","ignoreList":[]}
1
+ {"version":3,"names":["isMobile","DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS","DEFAULT_OPEN_CONNECTOR_FALLBACK_MS","isTouchDevice","nav","arguments","length","navigator","matchMedia","window","query","_nav_maxTouchPoints","_nav_userAgent","maxTouchPoints","test","userAgent","_ref","matches","unused","defaultOpenConnectorFallbackMs"],"sources":["../../../../src/connectkit/openConnector/device.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AAEzB,SAAAC,0CAAA,EAAAC,kCAAA;AAAA,SACEC,cAAA;EACA,IAAAC,GAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,aAAAE,SAAA,0BAAAA,SAAA;IAAAC,UAAA,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,aAAAI,MAAA,qBAAAA,MAAA,CAAAD,UAAA,oBAAAE,KAAA;MAAA,OACKD,MAAA,CAAAD,UAAA,CAAAE,KAAA;IAYA;EAML,IAAIC,mBAAa,EAAAC,cAAkB;EACnC,IAAI,CAAAR,GAAA,MAAAO,mBAAqB,GAAAP,GAAa,CAAES,cAAU,cAAAF,mBAAA,cAAAA,mBAAA;EAClD,IAAI,YAAAG,IAAA,EAAAF,cAAA,GAAAR,GAAA,CAAAW,SAAA,cAAAH,cAAA,cAAAA,cAAA;EACF;IACF,IAAAI,IAAQ;IACN,OAAO,CAAAA,IAAA,GAAAR,UAAA,aAAAA,UAAA,uBAAAA,UAAA,sBAAAS,OAAA,cAAAD,IAAA,cAAAA,IAAA;EACT,SAAAE,MAAA;IACF;EAGO;AACL;AAGF,SAAAC,+BAAA","ignoreList":[]}
@@ -1,7 +1,9 @@
1
1
  const nav = () => globalThis.navigator;
2
2
  function isMobileBrowser(navigator = nav()) {
3
3
  if (typeof navigator?.userAgentData?.mobile === "boolean") return navigator.userAgentData.mobile;
4
- return /Android|iPhone|iPad|iPod/i.test(navigator?.userAgent ?? "");
4
+ const userAgent = navigator?.userAgent ?? "";
5
+ if (/Android|iPhone|iPad|iPod/i.test(userAgent)) return true;
6
+ return /Macintosh/.test(userAgent) && (navigator?.maxTouchPoints ?? 0) > 1;
5
7
  }
6
8
  function hasUserActivation(navigator = nav()) {
7
9
  return navigator?.userActivation ? navigator.userActivation.isActive : true;
@@ -1 +1 @@
1
- {"version":3,"names":["nav","globalThis","navigator","isMobileBrowser","userAgentData","mobile","test","userAgent","hasUserActivation","userActivation","isActive"],"sources":["../../../src/keycloak/device.ts"],"sourcesContent":[null],"mappings":"AAMA,MAAMA,GAAA,GAAMA,CAAA,KAAOC,UAAA,CAA6CC,SAAA;AAEzD,SAASC,gBAAgBD,SAAA,GAAuCF,GAAA,CAAI,GAAY;EACrF,IAAI,OAAOE,SAAA,EAAWE,aAAA,EAAeC,MAAA,KAAW,WAAW,OAAOH,SAAA,CAAUE,aAAA,CAAcC,MAAA;EAC1F,OAAO,4BAA4BC,IAAA,CAAKJ,SAAA,EAAWK,SAAA,IAAa,EAAE;AACpE;AAGO,SAASC,kBAAkBN,SAAA,GAAuCF,GAAA,CAAI,GAAY;EACvF,OAAOE,SAAA,EAAWO,cAAA,GAAiBP,SAAA,CAAUO,cAAA,CAAeC,QAAA,GAAW;AACzE","ignoreList":[]}
1
+ {"version":3,"names":["nav","globalThis","navigator","isMobileBrowser","userAgentData","mobile","userAgent","test","maxTouchPoints","hasUserActivation","userActivation","isActive"],"sources":["../../../src/keycloak/device.ts"],"sourcesContent":[null],"mappings":"AAOA,MAAMA,GAAA,GAAMA,CAAA,KAAOC,UAAA,CAA6CC,SAAA;AAEzD,SAASC,gBAAgBD,SAAA,GAAuCF,GAAA,CAAI,GAAY;EACrF,IAAI,OAAOE,SAAA,EAAWE,aAAA,EAAeC,MAAA,KAAW,WAAW,OAAOH,SAAA,CAAUE,aAAA,CAAcC,MAAA;EAC1F,MAAMC,SAAA,GAAYJ,SAAA,EAAWI,SAAA,IAAa;EAC1C,IAAI,4BAA4BC,IAAA,CAAKD,SAAS,GAAG,OAAO;EAExD,OAAO,YAAYC,IAAA,CAAKD,SAAS,MAAMJ,SAAA,EAAWM,cAAA,IAAkB,KAAK;AAC3E;AAGO,SAASC,kBAAkBP,SAAA,GAAuCF,GAAA,CAAI,GAAY;EACvF,OAAOE,SAAA,EAAWQ,cAAA,GAAiBR,SAAA,CAAUQ,cAAA,CAAeC,QAAA,GAAW;AACzE","ignoreList":[]}
@@ -3,10 +3,12 @@ var nav = function nav2() {
3
3
  };
4
4
  function isMobileBrowser() {
5
5
  var navigator = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : nav();
6
- var _ref;
6
+ var _ref, _ref1;
7
7
  var _navigator_userAgentData;
8
8
  if (typeof (navigator === null || navigator === void 0 ? void 0 : (_navigator_userAgentData = navigator.userAgentData) === null || _navigator_userAgentData === void 0 ? void 0 : _navigator_userAgentData.mobile) === "boolean") return navigator.userAgentData.mobile;
9
- return /Android|iPhone|iPad|iPod/i.test((_ref = navigator === null || navigator === void 0 ? void 0 : navigator.userAgent) !== null && _ref !== void 0 ? _ref : "");
9
+ var userAgent = (_ref = navigator === null || navigator === void 0 ? void 0 : navigator.userAgent) !== null && _ref !== void 0 ? _ref : "";
10
+ if (/Android|iPhone|iPad|iPod/i.test(userAgent)) return true;
11
+ return /Macintosh/.test(userAgent) && ((_ref1 = navigator === null || navigator === void 0 ? void 0 : navigator.maxTouchPoints) !== null && _ref1 !== void 0 ? _ref1 : 0) > 1;
10
12
  }
11
13
  function hasUserActivation() {
12
14
  var navigator = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : nav();
@@ -1 +1 @@
1
- {"version":3,"names":["nav","nav2","globalThis","navigator","isMobileBrowser","arguments","length","_ref","_navigator_userAgentData","userAgentData","mobile"],"sources":["../../../src/keycloak/device.ts"],"sourcesContent":[null],"mappings":"AAMA,IAAAA,GAAM,YAAaC,KAAA;EAEZ,OAASC,UAAA,CAAAC,SAAgB;AAC9B;AACA,SAAOC,gBAAA;EACT,IAAAD,SAAA,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,MAAAL,GAAA;EAGO,IAAAO,IAAS;EACd,IAAAC,wBAAkB;EACpB,YAAAL,SAAA,aAAAA,SAAA,wBAAAK,wBAAA,GAAAL,SAAA,CAAAM,aAAA,cAAAD,wBAAA,uBAAAA,wBAAA,CAAAE,MAAA,wBAAAP,SAAA,CAAAM,aAAA,CAAAC,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["nav","nav2","globalThis","navigator","isMobileBrowser","arguments","length","_ref","_ref1","_navigator_userAgentData","userAgentData","mobile","userAgent","test"],"sources":["../../../src/keycloak/device.ts"],"sourcesContent":[null],"mappings":"AAOA,IAAAA,GAAM,YAAaC,KAAA;EAEZ,OAASC,UAAA,CAAAC,SAAgB;AAC9B;AACA,SAAMC,eAAYA,CAAA;EAClB,IAAID,SAAA,GAAAE,SAAA,CAAAC,MAA4B,QAAKD,SAAY,QAAO,SAAAA,SAAA,MAAAL,GAAA;EAExD,IAAAO,IAAO,EAAAC,KAAA;EACT,IAAAC,wBAAA;EAGO,YAASN,SAAA,KAAkB,QAAAA,SAA2C,KAAY,mBAAAM,wBAAA,GAAAN,SAAA,CAAAO,aAAA,cAAAD,wBAAA,uBAAAA,wBAAA,CAAAE,MAAA,wBAAAR,SAAA,CAAAO,aAAA,CAAAC,MAAA;EACvF,IAAAC,SAAO,IAAAL,IAAW,GAAAJ,SAAA,KAAiB,QAAUA,SAAA,KAAe,cAAW,IAAAA,SAAA,CAAAS,SAAA,cAAAL,IAAA,cAAAA,IAAA;EACzE,gCAAAM,IAAA,CAAAD,SAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createMetaMaskConnectTimeoutTracker","name","metaMaskConnectTimeouts","tracker","enforce","config","deps","optimizeDeps","rolldownOptions","plugins","transform","code","id","result","patch","map","buildEnd","error","problem","message","meta","watchMode"],"sources":["../../src/vite.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,mCAAA,QAA2C;AAEpD,MAAMC,IAAA,GAAO;AAWN,SAASC,wBAAA,EAAkC;EAChD,MAAMC,OAAA,GAAUH,mCAAA,CAAoC;EACpD,OAAO;IACLC,IAAA;IACAG,OAAA,EAAS;IACTC,OAAA,EAAS;MAGP,MAAMC,IAAA,GAAON,mCAAA,CAAoC;MACjD,OAAO;QACLO,YAAA,EAAc;UACZC,eAAA,EAAiB;YACfC,OAAA,EAAS,CACP;cACER,IAAA,EAAM,GAAGA,IAAI;cACbS,UAAUC,IAAA,EAAMC,EAAA,EAAI;gBAClB,MAAMC,MAAA,GAASP,IAAA,CAAKQ,KAAA,CAAMF,EAAA,EAAID,IAAI;gBAClC,OAAOE,MAAA,GAAS;kBAAEF,IAAA,EAAME,MAAA,CAAOF,IAAA;kBAAMI,GAAA,EAAK;gBAAK,IAAI;cACrD;cACAC,SAASC,KAAA,EAAO;gBACd,IAAIA,KAAA,EAAO;gBACX,MAAMC,OAAA,GAAUZ,IAAA,CAAKY,OAAA,CAAQ;gBAC7B,IAAIA,OAAA,EAAS,KAAKD,KAAA,CAAM,GAAGhB,IAAI,KAAKiB,OAAO,EAAE;cAC/C;YACF;UAEJ;QACF;MACF;IACF;IACAR,UAAUC,IAAA,EAAMC,EAAA,EAAI;MAClB,IAAI;QACF,MAAMC,MAAA,GAASV,OAAA,CAAQW,KAAA,CAAMF,EAAA,EAAID,IAAI;QACrC,OAAOE,MAAA,GAAS;UAAEF,IAAA,EAAME,MAAA,CAAOF,IAAA;UAAMI,GAAA,EAAK;QAAK,IAAI;MACrD,SAASE,KAAA,EAAO;QACd,KAAKA,KAAA,CAAOA,KAAA,CAAgBE,OAAO;MACrC;IACF;IACAH,SAASC,KAAA,EAAO;MACd,IAAIA,KAAA,IAAS,KAAKG,IAAA,CAAKC,SAAA,EAAW;MAClC,MAAMH,OAAA,GAAUf,OAAA,CAAQe,OAAA,CAAQ;MAChC,IAAIA,OAAA,EAAS,KAAKD,KAAA,CAAM,GAAGhB,IAAI,KAAKiB,OAAO,EAAE;IAC/C;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createMetaMaskConnectTimeoutTracker","name","metaMaskConnectTimeouts","tracker","enforce","config","deps","optimizeDeps","rolldownOptions","plugins","transform","code","id","result","patch","map","buildEnd","error","problem","message","meta","watchMode"],"sources":["../../src/vite.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,mCAAA,QAA2C;AAEpD,MAAMC,IAAA,GAAO;AAaN,SAASC,wBAAA,EAAkC;EAChD,MAAMC,OAAA,GAAUH,mCAAA,CAAoC;EACpD,OAAO;IACLC,IAAA;IACAG,OAAA,EAAS;IACTC,OAAA,EAAS;MAGP,MAAMC,IAAA,GAAON,mCAAA,CAAoC;MACjD,OAAO;QACLO,YAAA,EAAc;UACZC,eAAA,EAAiB;YACfC,OAAA,EAAS,CACP;cACER,IAAA,EAAM,GAAGA,IAAI;cACbS,UAAUC,IAAA,EAAMC,EAAA,EAAI;gBAClB,MAAMC,MAAA,GAASP,IAAA,CAAKQ,KAAA,CAAMF,EAAA,EAAID,IAAI;gBAClC,OAAOE,MAAA,GAAS;kBAAEF,IAAA,EAAME,MAAA,CAAOF,IAAA;kBAAMI,GAAA,EAAK;gBAAK,IAAI;cACrD;cACAC,SAASC,KAAA,EAAO;gBACd,IAAIA,KAAA,EAAO;gBACX,MAAMC,OAAA,GAAUZ,IAAA,CAAKY,OAAA,CAAQ;gBAC7B,IAAIA,OAAA,EAAS,KAAKD,KAAA,CAAM,GAAGhB,IAAI,KAAKiB,OAAO,EAAE;cAC/C;YACF;UAEJ;QACF;MACF;IACF;IACAR,UAAUC,IAAA,EAAMC,EAAA,EAAI;MAClB,IAAI;QACF,MAAMC,MAAA,GAASV,OAAA,CAAQW,KAAA,CAAMF,EAAA,EAAID,IAAI;QACrC,OAAOE,MAAA,GAAS;UAAEF,IAAA,EAAME,MAAA,CAAOF,IAAA;UAAMI,GAAA,EAAK;QAAK,IAAI;MACrD,SAASE,KAAA,EAAO;QACd,KAAKA,KAAA,CAAOA,KAAA,CAAgBE,OAAO;MACrC;IACF;IACAH,SAASC,KAAA,EAAO;MACd,IAAIA,KAAA,IAAS,KAAKG,IAAA,CAAKC,SAAA,EAAW;MAClC,MAAMH,OAAA,GAAUf,OAAA,CAAQe,OAAA,CAAQ;MAChC,IAAIA,OAAA,EAAS,KAAKD,KAAA,CAAM,GAAGhB,IAAI,KAAKiB,OAAO,EAAE;IAC/C;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createMetaMaskConnectTimeoutTracker","name","metaMaskConnectTimeouts","tracker","enforce","config","deps","optimizeDeps","rolldownOptions","plugins","transform","code","id","result","patch","map","buildEnd","error","problem","message"],"sources":["../../src/vite.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,mCAAA,QAA2C;AAEpD,IAAAC,IAAM,uCAAO;AAWN,SAASC,wBAAA,EAAkC;EAChD,IAAAC,OAAM,GAAAH,mCAAU;EAChB,OAAO;IACLC,IAAA;IACAG,OAAA,EAAS;IACTC,OAAA,EAAS;MAGP,IAAAC,IAAM,GAAAN,mCAAO;MACb,OAAO;QACLO,YAAA,EAAc;UACZC,eAAA,EAAiB;YACfC,OAAA,EAAS,CACP;cACER,IAAA,EAAM,GAAGA,IAAI;cACbS,UAAUC,IAAA,EAAMC,EAAA,EAAI;gBAClB,IAAAC,MAAM,GAAAP,IAAS,CAAAQ,KAAK,CAAAF,EAAM,EAAAD,IAAI;gBAC9B,OAAOE,MAAA,GAAS;kBAClBF,IAAA,EAAAE,MAAA,CAAAF,IAAA;kBACAI,GAAA,EAAS;gBACP,IAAI;cACJ;cACAC,QAAIA,CAAAC,KAAS;gBACf,IAAAA,KAAA;gBACF,IAAAC,OAAA,GAAAZ,IAAA,CAAAY,OAAA;gBACF,IAAAA,OAAA,OAAAD,KAAA,IAAAhB,IAAA,KAAAiB,OAAA;cACF;YACF;UAEJ;QACA;MACE;IACE;IACAR,UAAAC,IAAO,EAAAC,EAAA,EAAS;MAClB;QACE,IAAAC,MAAK,GAAOV,OAAgB,CAAAW,KAAO,CAAAF,EAAA,EAAAD,IAAA;QACrC,OAAAE,MAAA;UACFF,IAAA,EAAAE,MAAA,CAAAF,IAAA;UACAI,GAAS;QACP,IAAI;MACJ,SAAME,KAAA,EAAU;QAChB,IAAI,CAAAA,KAAS,CAAAA,KAAK,CAAAE,OAAM,CAAG;MAC7B;IACF;IACFH,SAAAC,KAAA","ignoreList":[]}
1
+ {"version":3,"names":["createMetaMaskConnectTimeoutTracker","name","metaMaskConnectTimeouts","tracker","enforce","config","deps","optimizeDeps","rolldownOptions","plugins","transform","code","id","result","patch","map","buildEnd","error","problem","message"],"sources":["../../src/vite.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,mCAAA,QAA2C;AAEpD,IAAAC,IAAM,uCAAO;AAaN,SAASC,wBAAA,EAAkC;EAChD,IAAAC,OAAM,GAAAH,mCAAU;EAChB,OAAO;IACLC,IAAA;IACAG,OAAA,EAAS;IACTC,OAAA,EAAS;MAGP,IAAAC,IAAM,GAAAN,mCAAO;MACb,OAAO;QACLO,YAAA,EAAc;UACZC,eAAA,EAAiB;YACfC,OAAA,EAAS,CACP;cACER,IAAA,EAAM,GAAGA,IAAI;cACbS,UAAUC,IAAA,EAAMC,EAAA,EAAI;gBAClB,IAAAC,MAAM,GAAAP,IAAS,CAAAQ,KAAK,CAAAF,EAAM,EAAAD,IAAI;gBAC9B,OAAOE,MAAA,GAAS;kBAClBF,IAAA,EAAAE,MAAA,CAAAF,IAAA;kBACAI,GAAA,EAAS;gBACP,IAAI;cACJ;cACAC,QAAIA,CAAAC,KAAS;gBACf,IAAAA,KAAA;gBACF,IAAAC,OAAA,GAAAZ,IAAA,CAAAY,OAAA;gBACF,IAAAA,OAAA,OAAAD,KAAA,IAAAhB,IAAA,KAAAiB,OAAA;cACF;YACF;UAEJ;QACA;MACE;IACE;IACAR,UAAAC,IAAO,EAAAC,EAAA,EAAS;MAClB;QACE,IAAAC,MAAK,GAAOV,OAAgB,CAAAW,KAAO,CAAAF,EAAA,EAAAD,IAAA;QACrC,OAAAE,MAAA;UACFF,IAAA,EAAAE,MAAA,CAAAF,IAAA;UACAI,GAAS;QACP,IAAI;MACJ,SAAME,KAAA,EAAU;QAChB,IAAI,CAAAA,KAAS,CAAAA,KAAK,CAAAE,OAAM,CAAG;MAC7B;IACF;IACFH,SAAAC,KAAA","ignoreList":[]}
@@ -1,20 +1,29 @@
1
+ const longTimers = "the long Android timers";
1
2
  const metaMaskConnectTimeoutPatches = [{
2
3
  pkg: "@metamask/connect-multichain",
3
4
  marker: "CONNECTION_GRACE_PERIOD",
4
5
  rewrites: [{
5
- timer: "DEFAULT_REQUEST_TIMEOUT",
6
+ target: "timer DEFAULT_REQUEST_TIMEOUT",
7
+ lost: longTimers,
6
8
  pattern: /(DEFAULT_REQUEST_TIMEOUT\d*) = 60 \* 1e3;(\s+CONNECTION_GRACE_PERIOD =)/,
7
9
  replacement: "$1 = 600 * 1e3;$2"
8
10
  }, {
9
- timer: "the page-load session resume",
11
+ target: "timer the page-load session resume",
12
+ lost: longTimers,
10
13
  pattern: /(resumeSession_fn = function\((\w+), (\w+)\)(?:(?!startSession_fn)[\s\S])*?isContinuingPriorAttempt \? this\.options\.resumeTimeout : )this\.options\.connectionTimeout/,
11
14
  replacement: "$1$3 ? this.options.connectionTimeout : 120 * 1e3"
15
+ }, {
16
+ target: "platform check isMobile",
17
+ lost: "the MetaMask app on an iPad",
18
+ pattern: /(function isMobile\d*\(\) \{)(?=[^}]*?\.parse\(window\.navigator\.userAgent\))/,
19
+ replacement: "$1\n if (window.navigator.maxTouchPoints > 1 && /Macintosh/.test(window.navigator.userAgent)) return true;"
12
20
  }]
13
21
  }, {
14
22
  pkg: "@metamask/mobile-wallet-protocol-dapp-client",
15
23
  marker: "HANDSHAKE_TIMEOUT",
16
24
  rewrites: [{
17
- timer: "HANDSHAKE_TIMEOUT",
25
+ target: "timer HANDSHAKE_TIMEOUT",
26
+ lost: longTimers,
18
27
  pattern: /(HANDSHAKE_TIMEOUT) = 60 \* 1e3;/,
19
28
  replacement: "$1 = 540 * 1e3;"
20
29
  }]
@@ -30,7 +39,7 @@ function patchMetaMaskConnectTimeouts(id, code) {
30
39
  if (!patch) return void 0;
31
40
  let patched = code;
32
41
  for (const rewrite of patch.rewrites) {
33
- if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect timer ${rewrite.timer} not found in ${id}: ${patch.pkg} changed its source, so the long Android timers cannot be applied`);
42
+ if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect ${rewrite.target} not found in ${id}: ${patch.pkg} changed its source, and a build without this rewrite would lose ${rewrite.lost}`);
34
43
  patched = patched.replace(rewrite.pattern, rewrite.replacement);
35
44
  }
36
45
  return {
@@ -51,12 +60,12 @@ function createMetaMaskConnectTimeoutTracker() {
51
60
  if (result) patched.set(result.pkg, (patched.get(result.pkg) ?? 0) + 1);
52
61
  return result;
53
62
  },
54
- /** Error text when the build bundles MetaMask Connect with a timer left unpatched. */
63
+ /** Error text when the build bundles MetaMask Connect with a patch left out. */
55
64
  problem() {
56
65
  if (!bundlesMetaMaskConnect) return void 0;
57
66
  const missing = metaMaskConnectTimeoutPatches.map(patch => patch.pkg).filter(pkg => !patched.get(pkg));
58
67
  if (!missing.length) return void 0;
59
- return `the build bundles ${metaMaskConnectPkg} but left the timers in ${missing.join(", ")} unpatched`;
68
+ return `the build bundles ${metaMaskConnectPkg} but left ${missing.join(", ")} unpatched`;
60
69
  }
61
70
  };
62
71
  }
@@ -1 +1 @@
1
- {"version":3,"names":["metaMaskConnectTimeoutPatches","pkg","marker","rewrites","timer","pattern","replacement","metaMaskConnectPkg","normalize","id","replace","metaMaskConnectTimeoutPatchFor","code","path","find","patch","includes","patchMetaMaskConnectTimeouts","patched","rewrite","test","Error","createMetaMaskConnectTimeoutTracker","Map","bundlesMetaMaskConnect","see","result","set","get","problem","missing","map","filter","length","join"],"sources":["../../../src/bundler/metaMaskConnectTimeouts.ts"],"sourcesContent":[null],"mappings":"AA+BO,MAAMA,6BAAA,GAAwE,CACnF;EACEC,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,QAAA,EAAU,CACR;IACEC,KAAA,EAAO;IACPC,OAAA,EAAS;IACTC,WAAA,EAAa;EACf,GACA;IACEF,KAAA,EAAO;IACPC,OAAA,EACE;IACFC,WAAA,EAAa;EACf;AAEJ,GACA;EACEL,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,QAAA,EAAU,CACR;IACEC,KAAA,EAAO;IACPC,OAAA,EAAS;IACTC,WAAA,EAAa;EACf;AAEJ,EACF;AAEA,MAAMC,kBAAA,GAAqB;AAE3B,MAAMC,SAAA,GAAaC,EAAA,IAAeA,EAAA,CAAGC,OAAA,CAAQ,OAAO,GAAG;AAGhD,SAASC,+BACdF,EAAA,EACAG,IAAA,EACyC;EACzC,MAAMC,IAAA,GAAOL,SAAA,CAAUC,EAAE;EACzB,OAAOT,6BAAA,CAA8Bc,IAAA,CAClCC,KAAA,IAAUF,IAAA,CAAKG,QAAA,CAAS,IAAID,KAAA,CAAMd,GAAG,GAAG,KAAKW,IAAA,CAAKI,QAAA,CAASD,KAAA,CAAMb,MAAM,CAC1E;AACF;AAMO,SAASe,6BACdR,EAAA,EACAG,IAAA,EAC2C;EAC3C,MAAMG,KAAA,GAAQJ,8BAAA,CAA+BF,EAAA,EAAIG,IAAI;EACrD,IAAI,CAACG,KAAA,EAAO,OAAO;EACnB,IAAIG,OAAA,GAAUN,IAAA;EACd,WAAWO,OAAA,IAAWJ,KAAA,CAAMZ,QAAA,EAAU;IACpC,IAAI,CAACgB,OAAA,CAAQd,OAAA,CAAQe,IAAA,CAAKF,OAAO,GAC/B,MAAM,IAAIG,KAAA,CACR,0BAA0BF,OAAA,CAAQf,KAAK,iBAAiBK,EAAE,KAAKM,KAAA,CAAMd,GAAG,mEAC1E;IACFiB,OAAA,GAAUA,OAAA,CAAQR,OAAA,CAAQS,OAAA,CAAQd,OAAA,EAASc,OAAA,CAAQb,WAAW;EAChE;EACA,OAAO;IAAEL,GAAA,EAAKc,KAAA,CAAMd,GAAA;IAAKW,IAAA,EAAMM;EAAQ;AACzC;AAMO,SAASI,oCAAA,EAAsC;EACpD,MAAMJ,OAAA,GAAU,mBAAIK,GAAA,CAAoB;EACxC,IAAIC,sBAAA,GAAyB;EAC7B,OAAO;IACLC,IAAIhB,EAAA,EAAY;MACd,IAAID,SAAA,CAAUC,EAAE,EAAEO,QAAA,CAAS,IAAIT,kBAAkB,GAAG,GAAGiB,sBAAA,GAAyB;IAClF;IACAT,MAAMN,EAAA,EAAYG,IAAA,EAAc;MAC9B,KAAKa,GAAA,CAAIhB,EAAE;MACX,MAAMiB,MAAA,GAAST,4BAAA,CAA6BR,EAAA,EAAIG,IAAI;MACpD,IAAIc,MAAA,EAAQR,OAAA,CAAQS,GAAA,CAAID,MAAA,CAAOzB,GAAA,GAAMiB,OAAA,CAAQU,GAAA,CAAIF,MAAA,CAAOzB,GAAG,KAAK,KAAK,CAAC;MACtE,OAAOyB,MAAA;IACT;IAAA;IAEAG,QAAA,EAA8B;MAC5B,IAAI,CAACL,sBAAA,EAAwB,OAAO;MACpC,MAAMM,OAAA,GAAU9B,6BAAA,CACb+B,GAAA,CAAKhB,KAAA,IAAUA,KAAA,CAAMd,GAAG,EACxB+B,MAAA,CAAQ/B,GAAA,IAAQ,CAACiB,OAAA,CAAQU,GAAA,CAAI3B,GAAG,CAAC;MACpC,IAAI,CAAC6B,OAAA,CAAQG,MAAA,EAAQ,OAAO;MAC5B,OAAO,qBAAqB1B,kBAAkB,2BAA2BuB,OAAA,CAAQI,IAAA,CAAK,IAAI,CAAC;IAC7F;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["longTimers","metaMaskConnectTimeoutPatches","pkg","marker","rewrites","target","lost","pattern","replacement","metaMaskConnectPkg","normalize","id","replace","metaMaskConnectTimeoutPatchFor","code","path","find","patch","includes","patchMetaMaskConnectTimeouts","patched","rewrite","test","Error","createMetaMaskConnectTimeoutTracker","Map","bundlesMetaMaskConnect","see","result","set","get","problem","missing","map","filter","length","join"],"sources":["../../../src/bundler/metaMaskConnectTimeouts.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -30,23 +30,32 @@ __export(metaMaskConnectTimeouts_exports, {
30
30
  patchMetaMaskConnectTimeouts: () => patchMetaMaskConnectTimeouts
31
31
  });
32
32
  module.exports = __toCommonJS(metaMaskConnectTimeouts_exports);
33
+ var longTimers = "the long Android timers";
33
34
  var metaMaskConnectTimeoutPatches = [{
34
35
  pkg: "@metamask/connect-multichain",
35
36
  marker: "CONNECTION_GRACE_PERIOD",
36
37
  rewrites: [{
37
- timer: "DEFAULT_REQUEST_TIMEOUT",
38
+ target: "timer DEFAULT_REQUEST_TIMEOUT",
39
+ lost: longTimers,
38
40
  pattern: /(DEFAULT_REQUEST_TIMEOUT\d*) = 60 \* 1e3;(\s+CONNECTION_GRACE_PERIOD =)/,
39
41
  replacement: "$1 = 600 * 1e3;$2"
40
42
  }, {
41
- timer: "the page-load session resume",
43
+ target: "timer the page-load session resume",
44
+ lost: longTimers,
42
45
  pattern: /(resumeSession_fn = function\((\w+), (\w+)\)(?:(?!startSession_fn)[\s\S])*?isContinuingPriorAttempt \? this\.options\.resumeTimeout : )this\.options\.connectionTimeout/,
43
46
  replacement: "$1$3 ? this.options.connectionTimeout : 120 * 1e3"
47
+ }, {
48
+ target: "platform check isMobile",
49
+ lost: "the MetaMask app on an iPad",
50
+ pattern: /(function isMobile\d*\(\) \{)(?=[^}]*?\.parse\(window\.navigator\.userAgent\))/,
51
+ replacement: "$1\n if (window.navigator.maxTouchPoints > 1 && /Macintosh/.test(window.navigator.userAgent)) return true;"
44
52
  }]
45
53
  }, {
46
54
  pkg: "@metamask/mobile-wallet-protocol-dapp-client",
47
55
  marker: "HANDSHAKE_TIMEOUT",
48
56
  rewrites: [{
49
- timer: "HANDSHAKE_TIMEOUT",
57
+ target: "timer HANDSHAKE_TIMEOUT",
58
+ lost: longTimers,
50
59
  pattern: /(HANDSHAKE_TIMEOUT) = 60 \* 1e3;/,
51
60
  replacement: "$1 = 540 * 1e3;"
52
61
  }]
@@ -71,7 +80,7 @@ function patchMetaMaskConnectTimeouts(id, code) {
71
80
  try {
72
81
  for (var _iterator = patch.rewrites[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
73
82
  var rewrite = _step.value;
74
- if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect timer ${rewrite.timer} not found in ${id}: ${patch.pkg} changed its source, so the long Android timers cannot be applied`);
83
+ if (!rewrite.pattern.test(patched)) throw new Error(`MetaMask Connect ${rewrite.target} not found in ${id}: ${patch.pkg} changed its source, and a build without this rewrite would lose ${rewrite.lost}`);
75
84
  patched = patched.replace(rewrite.pattern, rewrite.replacement);
76
85
  }
77
86
  } catch (err) {
@@ -107,7 +116,7 @@ function createMetaMaskConnectTimeoutTracker() {
107
116
  if (result) patched.set(result.pkg, ((_patched_get = patched.get(result.pkg)) !== null && _patched_get !== void 0 ? _patched_get : 0) + 1);
108
117
  return result;
109
118
  },
110
- /** Error text when the build bundles MetaMask Connect with a timer left unpatched. */
119
+ /** Error text when the build bundles MetaMask Connect with a patch left out. */
111
120
  problem() {
112
121
  if (!bundlesMetaMaskConnect) return void 0;
113
122
  var missing = metaMaskConnectTimeoutPatches.map(function (patch) {
@@ -116,7 +125,7 @@ function createMetaMaskConnectTimeoutTracker() {
116
125
  return !patched.get(pkg);
117
126
  });
118
127
  if (!missing.length) return void 0;
119
- return `the build bundles ${metaMaskConnectPkg} but left the timers in ${missing.join(", ")} unpatched`;
128
+ return `the build bundles ${metaMaskConnectPkg} but left ${missing.join(", ")} unpatched`;
120
129
  }
121
130
  };
122
131
  }