accounts 0.5.3 → 0.5.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # accounts
2
2
 
3
+ ## 0.5.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 4936c12: Fixed `Dialog.iframe()` injecting duplicate iframes by caching the instance as a singleton keyed by host.
8
+
3
9
  ## 0.5.3
4
10
 
5
11
  ### 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;AAED,iFAAiF;AACjF,wBAAgB,MAAM,IAAI,MAAM,CAkQ/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"}
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"}
@@ -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, store } = parameters;
33
- const fallback = popup()(parameters);
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
- return {
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
- fallback.close();
221
+ if (cached?.instance === instance)
222
+ cached = undefined;
223
+ fallback?.close();
207
224
  open = false;
208
225
  activatePage();
209
226
  hideDialog();
210
- fallback.destroy();
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. */
@@ -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,7 +2,7 @@
2
2
  "name": "accounts",
3
3
  "description": "Tempo Accounts SDK",
4
4
  "type": "module",
5
- "version": "0.5.3",
5
+ "version": "0.5.4",
6
6
  "dependencies": {
7
7
  "hono": "^4.12.4",
8
8
  "idb-keyval": "^6.2.2",
@@ -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')!
@@ -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, store } = parameters
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
- const fallback = popup()(parameters)
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, response))
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.syncRequests(pending)
271
+ if (pending.length > 0) fallback!.syncRequests(pending)
253
272
  })
254
273
 
255
- return {
274
+ const instance: Instance = {
256
275
  close() {
257
- fallback.close()
276
+ fallback!.close()
258
277
  open = false
259
278
 
260
279
  hideDialog()
261
280
  activatePage()
262
281
  },
263
282
  destroy() {
264
- fallback.close()
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.destroy()
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.syncRequests(requests)
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.syncRequests(requests)
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.getState().chainId,
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