@seatlayer/js 0.67.11 → 0.67.12

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/dist/index.d.cts CHANGED
@@ -1854,11 +1854,11 @@ interface SeatPickerOptions {
1854
1854
  * Where a redirecting gateway should send the buyer back to, for
1855
1855
  * `checkout: 'hosted'`.
1856
1856
  *
1857
- * The server keeps this URL verbatim — path and query included and only
1858
- * stamps `?order=…&status=success|cancelled` onto it, so point it at
1859
- * whichever of YOUR pages should confirm the purchase (often just
1860
- * `window.location.href`). Mount a picker on that page and it resumes in
1861
- * place from those parameters.
1857
+ * The server keeps this URL's path and query and adds only a non-secret
1858
+ * `seatlayer_checkout=success|cancelled` outcome. The SDK keeps the order id
1859
+ * in this tab's sessionStorage before leaving for the gateway. Point this at
1860
+ * a page on the same origin (often `window.location.href`) and mount a picker
1861
+ * there so it can resume without putting the order capability in a URL.
1862
1862
  *
1863
1863
  * It is validated, not trusted: the organizer declares their embed origins
1864
1864
  * in the dashboard, and an undeclared origin is ignored rather than
@@ -1866,6 +1866,8 @@ interface SeatPickerOptions {
1866
1866
  * SeatLayer's page. Supplying a URL therefore cannot authorize it, which is
1867
1867
  * what stops a copied snippet from redirecting a paid buyer anywhere it
1868
1868
  * likes.
1869
+ * As with every script embed, code already running on the host origin can
1870
+ * read that origin's sessionStorage; iframe embedding provides SOP isolation.
1869
1871
  */
1870
1872
  returnUrl?: string;
1871
1873
  /**
@@ -2200,11 +2202,7 @@ declare class SeatPicker implements GaPromptPicker {
2200
2202
  private confirmThumbHtml;
2201
2203
  /** True when the picker is rendered inside an iframe (snippet embed at /e/:key). */
2202
2204
  private isFramed;
2203
- /**
2204
- * Post a widget→host message when framed. targetOrigin is '*' because the
2205
- * payload carries nothing sensitive (a height number / a fullscreen flag);
2206
- * hosts verify `event.origin` on their side (see `attachPickerFrame`).
2207
- */
2205
+ /** Post a widget→host message only when the browser identifies its origin. */
2208
2206
  private postToHost;
2209
2207
  /**
2210
2208
  * Height (px) to advertise to a host frame.
@@ -2259,21 +2257,7 @@ declare class SeatPicker implements GaPromptPicker {
2259
2257
  private observeLayout;
2260
2258
  /** Render the shared controller into the already-mounted canvas host. */
2261
2259
  private loadChart;
2262
- /**
2263
- * A hosted gateway returned this buyer to a page that runs the widget, with
2264
- * `?order=…&status=…` in the URL. Pick the order up and finish the story.
2265
- *
2266
- * Only `success` resumes. `cancelled` means the buyer backed out at the
2267
- * gateway and their seats are still held — the map they are looking at IS the
2268
- * right screen, and opening a card to say "you cancelled" would be noise.
2269
- *
2270
- * The two parameters are then stripped with `replaceState`, because they are a
2271
- * one-shot instruction: leaving them in place would re-open the confirmation
2272
- * on every later navigation, and would carry an order id into browser history
2273
- * and any Referer this page later sends. `status` is only ever removed
2274
- * alongside an `order` we actually consumed, so a host page that uses a
2275
- * `status` parameter of its own keeps it.
2276
- */
2260
+ /** Resume a redirect checkout from this tab's storage, never from the URL. */
2277
2261
  private resumeHostedOrder;
2278
2262
  /**
2279
2263
  * Move layout-dependent chrome between its wide dock (map regions / zoom
package/dist/index.d.ts CHANGED
@@ -1854,11 +1854,11 @@ interface SeatPickerOptions {
1854
1854
  * Where a redirecting gateway should send the buyer back to, for
1855
1855
  * `checkout: 'hosted'`.
1856
1856
  *
1857
- * The server keeps this URL verbatim — path and query included and only
1858
- * stamps `?order=…&status=success|cancelled` onto it, so point it at
1859
- * whichever of YOUR pages should confirm the purchase (often just
1860
- * `window.location.href`). Mount a picker on that page and it resumes in
1861
- * place from those parameters.
1857
+ * The server keeps this URL's path and query and adds only a non-secret
1858
+ * `seatlayer_checkout=success|cancelled` outcome. The SDK keeps the order id
1859
+ * in this tab's sessionStorage before leaving for the gateway. Point this at
1860
+ * a page on the same origin (often `window.location.href`) and mount a picker
1861
+ * there so it can resume without putting the order capability in a URL.
1862
1862
  *
1863
1863
  * It is validated, not trusted: the organizer declares their embed origins
1864
1864
  * in the dashboard, and an undeclared origin is ignored rather than
@@ -1866,6 +1866,8 @@ interface SeatPickerOptions {
1866
1866
  * SeatLayer's page. Supplying a URL therefore cannot authorize it, which is
1867
1867
  * what stops a copied snippet from redirecting a paid buyer anywhere it
1868
1868
  * likes.
1869
+ * As with every script embed, code already running on the host origin can
1870
+ * read that origin's sessionStorage; iframe embedding provides SOP isolation.
1869
1871
  */
1870
1872
  returnUrl?: string;
1871
1873
  /**
@@ -2200,11 +2202,7 @@ declare class SeatPicker implements GaPromptPicker {
2200
2202
  private confirmThumbHtml;
2201
2203
  /** True when the picker is rendered inside an iframe (snippet embed at /e/:key). */
2202
2204
  private isFramed;
2203
- /**
2204
- * Post a widget→host message when framed. targetOrigin is '*' because the
2205
- * payload carries nothing sensitive (a height number / a fullscreen flag);
2206
- * hosts verify `event.origin` on their side (see `attachPickerFrame`).
2207
- */
2205
+ /** Post a widget→host message only when the browser identifies its origin. */
2208
2206
  private postToHost;
2209
2207
  /**
2210
2208
  * Height (px) to advertise to a host frame.
@@ -2259,21 +2257,7 @@ declare class SeatPicker implements GaPromptPicker {
2259
2257
  private observeLayout;
2260
2258
  /** Render the shared controller into the already-mounted canvas host. */
2261
2259
  private loadChart;
2262
- /**
2263
- * A hosted gateway returned this buyer to a page that runs the widget, with
2264
- * `?order=…&status=…` in the URL. Pick the order up and finish the story.
2265
- *
2266
- * Only `success` resumes. `cancelled` means the buyer backed out at the
2267
- * gateway and their seats are still held — the map they are looking at IS the
2268
- * right screen, and opening a card to say "you cancelled" would be noise.
2269
- *
2270
- * The two parameters are then stripped with `replaceState`, because they are a
2271
- * one-shot instruction: leaving them in place would re-open the confirmation
2272
- * on every later navigation, and would carry an order id into browser history
2273
- * and any Referer this page later sends. `status` is only ever removed
2274
- * alongside an `order` we actually consumed, so a host page that uses a
2275
- * `status` parameter of its own keeps it.
2276
- */
2260
+ /** Resume a redirect checkout from this tab's storage, never from the URL. */
2277
2261
  private resumeHostedOrder;
2278
2262
  /**
2279
2263
  * Move layout-dependent chrome between its wide dock (map regions / zoom