accounts 0.5.3 → 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/core/Dialog.d.ts.map +1 -1
- package/dist/core/Dialog.js +26 -5
- package/dist/core/Dialog.js.map +1 -1
- package/package.json +2 -2
- package/src/core/Dialog.browser.test.ts +15 -0
- package/src/core/Dialog.ts +41 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# accounts
|
|
2
2
|
|
|
3
|
+
## 0.5.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- b03c228: Bumped deps
|
|
8
|
+
|
|
9
|
+
## 0.5.4
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 4936c12: Fixed `Dialog.iframe()` injecting duplicate iframes by caching the instance as a singleton keyed by host.
|
|
14
|
+
|
|
3
15
|
## 0.5.3
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/core/Dialog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAGxC,mFAAmF;AACnF,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEnC,qDAAqD;AACrD,MAAM,MAAM,IAAI,GAAG;IACjB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,oDAAoD;IACpD,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,kDAAkD;IAClD,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,6DAA6D;IAC7D,YAAY,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,CAAC,aAAa,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1E,CAAA;AAED,kDAAkD;AAClD,MAAM,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAA;AAElE,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,UAAU,GAAG;QAChB,iCAAiC;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,4BAA4B;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;KACnB,CAAA;CACF;AAED,eAAO,MAAM,WAAW;;;CAA8B,CAAA;AAEtD,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,CAItD;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,IAAI,OAAO,CAK3C;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,IAAI,OAAO,CAIlC;
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/core/Dialog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAGxC,mFAAmF;AACnF,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEnC,qDAAqD;AACrD,MAAM,MAAM,IAAI,GAAG;IACjB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,oDAAoD;IACpD,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,kDAAkD;IAClD,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,6DAA6D;IAC7D,YAAY,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,CAAC,aAAa,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1E,CAAA;AAED,kDAAkD;AAClD,MAAM,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAA;AAElE,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,UAAU,GAAG;QAChB,iCAAiC;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,4BAA4B;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;KACnB,CAAA;CACF;AAED,eAAO,MAAM,WAAW;;;CAA8B,CAAA;AAEtD,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,CAItD;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,IAAI,OAAO,CAK3C;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,IAAI,OAAO,CAIlC;AASD,iFAAiF;AACjF,wBAAgB,MAAM,IAAI,MAAM,CAsR/B;AAED,kDAAkD;AAClD,wBAAgB,KAAK,CAAC,OAAO,GAAE,KAAK,CAAC,OAAY,GAAG,MAAM,CAoFzD;AAED,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B,KAAK,OAAO,GAAG;QACb,sEAAsE;QACtE,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KACrD,CAAA;CACF;AAED,mDAAmD;AACnD,wBAAgB,IAAI,IAAI,MAAM,CAO7B"}
|
package/dist/core/Dialog.js
CHANGED
|
@@ -24,13 +24,28 @@ export function isSafari() {
|
|
|
24
24
|
const ua = navigator.userAgent.toLowerCase();
|
|
25
25
|
return ua.includes('safari') && !ua.includes('chrome');
|
|
26
26
|
}
|
|
27
|
+
/** Cached iframe singleton — keyed by host, reused across setup calls. */
|
|
28
|
+
let cached;
|
|
29
|
+
/** Mutable refs swapped on re-entry so the singleton always uses the latest caller's state. */
|
|
30
|
+
let store;
|
|
31
|
+
let fallback;
|
|
27
32
|
/** Creates an iframe dialog that embeds the auth app in a `<dialog>` element. */
|
|
28
33
|
export function iframe() {
|
|
29
34
|
if (typeof window === 'undefined')
|
|
30
35
|
return noop();
|
|
31
36
|
return define({ name: 'iframe' }, (parameters) => {
|
|
32
|
-
const { host
|
|
33
|
-
|
|
37
|
+
const { host } = parameters;
|
|
38
|
+
// Reuse existing iframe if the host matches — just swap the store/fallback refs.
|
|
39
|
+
if (cached && cached.host === host) {
|
|
40
|
+
store = parameters.store;
|
|
41
|
+
fallback?.destroy();
|
|
42
|
+
fallback = popup()(parameters);
|
|
43
|
+
return cached.instance;
|
|
44
|
+
}
|
|
45
|
+
// Different host — tear down old iframe and create fresh.
|
|
46
|
+
cached?.instance.destroy();
|
|
47
|
+
store = parameters.store;
|
|
48
|
+
fallback = popup()(parameters);
|
|
34
49
|
let open = false;
|
|
35
50
|
const referrer = getReferrer();
|
|
36
51
|
const hostUrl = new URL(host);
|
|
@@ -195,7 +210,7 @@ export function iframe() {
|
|
|
195
210
|
if (pending.length > 0)
|
|
196
211
|
fallback.syncRequests(pending);
|
|
197
212
|
});
|
|
198
|
-
|
|
213
|
+
const instance = {
|
|
199
214
|
close() {
|
|
200
215
|
fallback.close();
|
|
201
216
|
open = false;
|
|
@@ -203,14 +218,18 @@ export function iframe() {
|
|
|
203
218
|
activatePage();
|
|
204
219
|
},
|
|
205
220
|
destroy() {
|
|
206
|
-
|
|
221
|
+
if (cached?.instance === instance)
|
|
222
|
+
cached = undefined;
|
|
223
|
+
fallback?.close();
|
|
207
224
|
open = false;
|
|
208
225
|
activatePage();
|
|
209
226
|
hideDialog();
|
|
210
|
-
fallback
|
|
227
|
+
fallback?.destroy();
|
|
211
228
|
messenger.destroy();
|
|
212
229
|
root.remove();
|
|
213
230
|
inertObserver.disconnect();
|
|
231
|
+
store = undefined;
|
|
232
|
+
fallback = undefined;
|
|
214
233
|
},
|
|
215
234
|
open() {
|
|
216
235
|
if (open)
|
|
@@ -252,6 +271,8 @@ export function iframe() {
|
|
|
252
271
|
}
|
|
253
272
|
},
|
|
254
273
|
};
|
|
274
|
+
cached = { host, instance };
|
|
275
|
+
return instance;
|
|
255
276
|
});
|
|
256
277
|
}
|
|
257
278
|
/** Opens the auth app in a new browser window. */
|
package/dist/core/Dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/core/Dialog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/core/Dialog.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"name": "accounts",
|
|
3
3
|
"description": "Tempo Accounts SDK",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.5.
|
|
5
|
+
"version": "0.5.5",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"hono": "^4.12.4",
|
|
8
8
|
"idb-keyval": "^6.2.2",
|
|
9
9
|
"mipd": "^0.0.7",
|
|
10
|
-
"mppx": "^0.5.
|
|
10
|
+
"mppx": "^0.5.10",
|
|
11
11
|
"ox": "~0.14.7",
|
|
12
12
|
"webauthx": "~0.1.0",
|
|
13
13
|
"zod": "^4.3.6",
|
|
@@ -13,10 +13,15 @@ function setup() {
|
|
|
13
13
|
})
|
|
14
14
|
const dialog = Dialog.iframe()
|
|
15
15
|
const handle = dialog({ host, store })
|
|
16
|
+
lastHandle = handle
|
|
16
17
|
return { handle, store }
|
|
17
18
|
}
|
|
18
19
|
|
|
20
|
+
let lastHandle: Dialog.Instance | undefined
|
|
21
|
+
|
|
19
22
|
afterEach(() => {
|
|
23
|
+
lastHandle?.destroy()
|
|
24
|
+
lastHandle = undefined
|
|
20
25
|
document.querySelectorAll('dialog[data-tempo-wallet]').forEach((el) => el.remove())
|
|
21
26
|
document.body.style.overflow = ''
|
|
22
27
|
})
|
|
@@ -30,6 +35,16 @@ describe('Dialog.iframe', () => {
|
|
|
30
35
|
expect(iframe).not.toBeNull()
|
|
31
36
|
})
|
|
32
37
|
|
|
38
|
+
test('behavior: singleton — multiple calls reuse same iframe', () => {
|
|
39
|
+
const { handle: a } = setup()
|
|
40
|
+
const { handle: b } = setup()
|
|
41
|
+
const { handle: c } = setup()
|
|
42
|
+
expect(a).toBe(b)
|
|
43
|
+
expect(b).toBe(c)
|
|
44
|
+
const dialogs = document.querySelectorAll('dialog[data-tempo-wallet]')
|
|
45
|
+
expect(dialogs.length).toBe(1)
|
|
46
|
+
})
|
|
47
|
+
|
|
33
48
|
test('behavior: iframe has correct sandbox attributes', () => {
|
|
34
49
|
setup()
|
|
35
50
|
const iframe = document.querySelector('dialog[data-tempo-wallet] iframe')!
|
package/src/core/Dialog.ts
CHANGED
|
@@ -59,14 +59,33 @@ export function isSafari(): boolean {
|
|
|
59
59
|
return ua.includes('safari') && !ua.includes('chrome')
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
/** Cached iframe singleton — keyed by host, reused across setup calls. */
|
|
63
|
+
let cached: { host: string; instance: Instance } | undefined
|
|
64
|
+
|
|
65
|
+
/** Mutable refs swapped on re-entry so the singleton always uses the latest caller's state. */
|
|
66
|
+
let store: Store.Store | undefined
|
|
67
|
+
let fallback: Instance | undefined
|
|
68
|
+
|
|
62
69
|
/** Creates an iframe dialog that embeds the auth app in a `<dialog>` element. */
|
|
63
70
|
export function iframe(): Dialog {
|
|
64
71
|
if (typeof window === 'undefined') return noop()
|
|
65
72
|
|
|
66
73
|
return define({ name: 'iframe' }, (parameters) => {
|
|
67
|
-
const { host
|
|
74
|
+
const { host } = parameters
|
|
75
|
+
|
|
76
|
+
// Reuse existing iframe if the host matches — just swap the store/fallback refs.
|
|
77
|
+
if (cached && cached.host === host) {
|
|
78
|
+
store = parameters.store
|
|
79
|
+
fallback?.destroy()
|
|
80
|
+
fallback = popup()(parameters)
|
|
81
|
+
return cached.instance
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Different host — tear down old iframe and create fresh.
|
|
85
|
+
cached?.instance.destroy()
|
|
68
86
|
|
|
69
|
-
|
|
87
|
+
store = parameters.store
|
|
88
|
+
fallback = popup()(parameters)
|
|
70
89
|
|
|
71
90
|
let open = false
|
|
72
91
|
|
|
@@ -144,7 +163,7 @@ export function iframe(): Dialog {
|
|
|
144
163
|
}),
|
|
145
164
|
waitForReady: true,
|
|
146
165
|
})
|
|
147
|
-
m.on('rpc-response', (response) => handleResponse(store
|
|
166
|
+
m.on('rpc-response', (response) => handleResponse(store!, response))
|
|
148
167
|
return m
|
|
149
168
|
}
|
|
150
169
|
|
|
@@ -168,7 +187,7 @@ export function iframe(): Dialog {
|
|
|
168
187
|
let savedOverflow = ''
|
|
169
188
|
let opener: HTMLElement | null = null
|
|
170
189
|
|
|
171
|
-
const onBlur = () => handleBlur(store)
|
|
190
|
+
const onBlur = () => handleBlur(store!)
|
|
172
191
|
|
|
173
192
|
// 1Password extension adds `inert` attribute to `dialog` rendering it unusable.
|
|
174
193
|
const inertObserver = new MutationObserver((mutations) => {
|
|
@@ -244,33 +263,38 @@ export function iframe(): Dialog {
|
|
|
244
263
|
activatePage()
|
|
245
264
|
open = false
|
|
246
265
|
|
|
247
|
-
const pending = store
|
|
266
|
+
const pending = store!
|
|
248
267
|
.getState()
|
|
249
268
|
.requestQueue.filter(
|
|
250
269
|
(x): x is Store.QueuedRequest & { status: 'pending' } => x.status === 'pending',
|
|
251
270
|
)
|
|
252
|
-
if (pending.length > 0) fallback
|
|
271
|
+
if (pending.length > 0) fallback!.syncRequests(pending)
|
|
253
272
|
})
|
|
254
273
|
|
|
255
|
-
|
|
274
|
+
const instance: Instance = {
|
|
256
275
|
close() {
|
|
257
|
-
fallback
|
|
276
|
+
fallback!.close()
|
|
258
277
|
open = false
|
|
259
278
|
|
|
260
279
|
hideDialog()
|
|
261
280
|
activatePage()
|
|
262
281
|
},
|
|
263
282
|
destroy() {
|
|
264
|
-
|
|
283
|
+
if (cached?.instance === instance) cached = undefined
|
|
284
|
+
|
|
285
|
+
fallback?.close()
|
|
265
286
|
open = false
|
|
266
287
|
|
|
267
288
|
activatePage()
|
|
268
289
|
hideDialog()
|
|
269
290
|
|
|
270
|
-
fallback
|
|
291
|
+
fallback?.destroy()
|
|
271
292
|
messenger.destroy()
|
|
272
293
|
root.remove()
|
|
273
294
|
inertObserver.disconnect()
|
|
295
|
+
|
|
296
|
+
store = undefined
|
|
297
|
+
fallback = undefined
|
|
274
298
|
},
|
|
275
299
|
open() {
|
|
276
300
|
if (open) return
|
|
@@ -287,7 +311,7 @@ export function iframe(): Dialog {
|
|
|
287
311
|
isSafari() &&
|
|
288
312
|
requests.some((x) => ['wallet_connect', 'eth_requestAccounts'].includes(x.request.method))
|
|
289
313
|
) {
|
|
290
|
-
fallback
|
|
314
|
+
fallback!.syncRequests(requests)
|
|
291
315
|
return
|
|
292
316
|
}
|
|
293
317
|
|
|
@@ -305,18 +329,21 @@ export function iframe(): Dialog {
|
|
|
305
329
|
'To enable the iframe dialog, add your hostname to the trusted hosts list.',
|
|
306
330
|
].join('\n'),
|
|
307
331
|
)
|
|
308
|
-
fallback
|
|
332
|
+
fallback!.syncRequests(requests)
|
|
309
333
|
} else {
|
|
310
334
|
const requiresConfirm = requests.some((x) => x.status === 'pending')
|
|
311
335
|
if (!open && requiresConfirm) this.open()
|
|
312
336
|
messenger.send('rpc-requests', {
|
|
313
|
-
account: getAccount(store),
|
|
314
|
-
chainId: store
|
|
337
|
+
account: getAccount(store!),
|
|
338
|
+
chainId: store!.getState().chainId,
|
|
315
339
|
requests,
|
|
316
340
|
})
|
|
317
341
|
}
|
|
318
342
|
},
|
|
319
343
|
}
|
|
344
|
+
|
|
345
|
+
cached = { host, instance }
|
|
346
|
+
return instance
|
|
320
347
|
})
|
|
321
348
|
}
|
|
322
349
|
|