@tiledev/sdk-apptile-live-selling 0.8.0 → 0.9.0

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 (184) hide show
  1. package/README.md +443 -34
  2. package/dist/auctionComments.d.ts +25 -0
  3. package/dist/auctionComments.d.ts.map +1 -0
  4. package/dist/auctionComments.js +28 -0
  5. package/dist/auctionComments.js.map +1 -0
  6. package/dist/auctionRules.d.ts +76 -0
  7. package/dist/auctionRules.d.ts.map +1 -0
  8. package/dist/auctionRules.js +106 -0
  9. package/dist/auctionRules.js.map +1 -0
  10. package/dist/auctions.d.ts.map +1 -1
  11. package/dist/auctions.js +19 -10
  12. package/dist/auctions.js.map +1 -1
  13. package/dist/client.d.ts +51 -2
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +123 -23
  16. package/dist/client.js.map +1 -1
  17. package/dist/commentHistory.d.ts +66 -0
  18. package/dist/commentHistory.d.ts.map +1 -0
  19. package/dist/commentHistory.js +125 -0
  20. package/dist/commentHistory.js.map +1 -0
  21. package/dist/engine.native.d.ts.map +1 -1
  22. package/dist/engine.native.js +17 -845
  23. package/dist/engine.native.js.map +1 -1
  24. package/dist/giveawayPrize.d.ts +13 -0
  25. package/dist/giveawayPrize.d.ts.map +1 -0
  26. package/dist/giveawayPrize.js +18 -0
  27. package/dist/giveawayPrize.js.map +1 -0
  28. package/dist/giveawayPrizeLines.d.ts +67 -0
  29. package/dist/giveawayPrizeLines.d.ts.map +1 -0
  30. package/dist/giveawayPrizeLines.js +48 -0
  31. package/dist/giveawayPrizeLines.js.map +1 -0
  32. package/dist/giveawayRoster.d.ts +53 -0
  33. package/dist/giveawayRoster.d.ts.map +1 -0
  34. package/dist/giveawayRoster.js +93 -0
  35. package/dist/giveawayRoster.js.map +1 -0
  36. package/dist/heldComments.d.ts +29 -0
  37. package/dist/heldComments.d.ts.map +1 -0
  38. package/dist/heldComments.js +61 -0
  39. package/dist/heldComments.js.map +1 -0
  40. package/dist/hiddenShows.d.ts +34 -0
  41. package/dist/hiddenShows.d.ts.map +1 -0
  42. package/dist/hiddenShows.js +42 -0
  43. package/dist/hiddenShows.js.map +1 -0
  44. package/dist/index.d.ts +17 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +86 -3
  47. package/dist/index.js.map +1 -1
  48. package/dist/liveShow.d.ts +58 -0
  49. package/dist/liveShow.d.ts.map +1 -0
  50. package/dist/liveShow.js +55 -0
  51. package/dist/liveShow.js.map +1 -0
  52. package/dist/pipWindow.d.ts +85 -0
  53. package/dist/pipWindow.d.ts.map +1 -0
  54. package/dist/pipWindow.js +88 -0
  55. package/dist/pipWindow.js.map +1 -0
  56. package/dist/polls.d.ts.map +1 -1
  57. package/dist/polls.js +3 -0
  58. package/dist/polls.js.map +1 -1
  59. package/dist/react/LiveSellingProvider.d.ts +10 -1
  60. package/dist/react/LiveSellingProvider.d.ts.map +1 -1
  61. package/dist/react/LiveSellingProvider.js +6 -2
  62. package/dist/react/LiveSellingProvider.js.map +1 -1
  63. package/dist/react/LiveVideoTarget.d.ts.map +1 -1
  64. package/dist/react/LiveVideoTarget.js +41 -3
  65. package/dist/react/LiveVideoTarget.js.map +1 -1
  66. package/dist/react/clocks.d.ts +29 -0
  67. package/dist/react/clocks.d.ts.map +1 -0
  68. package/dist/react/clocks.js +124 -0
  69. package/dist/react/clocks.js.map +1 -0
  70. package/dist/react/index.d.ts +7 -2
  71. package/dist/react/index.d.ts.map +1 -1
  72. package/dist/react/index.js +15 -1
  73. package/dist/react/index.js.map +1 -1
  74. package/dist/react/index.web.d.ts +9 -2
  75. package/dist/react/index.web.d.ts.map +1 -1
  76. package/dist/react/index.web.js +27 -4
  77. package/dist/react/index.web.js.map +1 -1
  78. package/dist/react/startSignIn.d.ts +3 -0
  79. package/dist/react/startSignIn.d.ts.map +1 -0
  80. package/dist/react/startSignIn.js +19 -0
  81. package/dist/react/startSignIn.js.map +1 -0
  82. package/dist/react/useAuctionBidGate.d.ts +54 -4
  83. package/dist/react/useAuctionBidGate.d.ts.map +1 -1
  84. package/dist/react/useAuctionBidGate.js +169 -25
  85. package/dist/react/useAuctionBidGate.js.map +1 -1
  86. package/dist/react/useAuctionWins.d.ts +9 -1
  87. package/dist/react/useAuctionWins.d.ts.map +1 -1
  88. package/dist/react/useAuctionWins.js +9 -3
  89. package/dist/react/useAuctionWins.js.map +1 -1
  90. package/dist/react/useGiveawayEntry.d.ts +59 -0
  91. package/dist/react/useGiveawayEntry.d.ts.map +1 -0
  92. package/dist/react/useGiveawayEntry.js +170 -0
  93. package/dist/react/useGiveawayEntry.js.map +1 -0
  94. package/dist/react/useGiveawayPrize.d.ts +12 -0
  95. package/dist/react/useGiveawayPrize.d.ts.map +1 -0
  96. package/dist/react/useGiveawayPrize.js +53 -0
  97. package/dist/react/useGiveawayPrize.js.map +1 -0
  98. package/dist/react/useHiddenShows.d.ts +10 -0
  99. package/dist/react/useHiddenShows.d.ts.map +1 -0
  100. package/dist/react/useHiddenShows.js +30 -0
  101. package/dist/react/useHiddenShows.js.map +1 -0
  102. package/dist/react/useLiveSession.d.ts +7 -3
  103. package/dist/react/useLiveSession.d.ts.map +1 -1
  104. package/dist/react/useLiveSession.js +522 -157
  105. package/dist/react/useLiveSession.js.map +1 -1
  106. package/dist/react/useLiveShow.d.ts +3 -0
  107. package/dist/react/useLiveShow.d.ts.map +1 -0
  108. package/dist/react/useLiveShow.js +21 -0
  109. package/dist/react/useLiveShow.js.map +1 -0
  110. package/dist/react/useLiveStreams.d.ts.map +1 -1
  111. package/dist/react/useLiveStreams.js +6 -2
  112. package/dist/react/useLiveStreams.js.map +1 -1
  113. package/dist/react/useOngoingLive.d.ts +1 -0
  114. package/dist/react/useOngoingLive.d.ts.map +1 -1
  115. package/dist/react/useOngoingLive.js +7 -1
  116. package/dist/react/useOngoingLive.js.map +1 -1
  117. package/dist/react/useReplays.d.ts +12 -0
  118. package/dist/react/useReplays.d.ts.map +1 -1
  119. package/dist/react/useReplays.js +56 -24
  120. package/dist/react/useReplays.js.map +1 -1
  121. package/dist/react/useStreamInfo.d.ts +13 -2
  122. package/dist/react/useStreamInfo.d.ts.map +1 -1
  123. package/dist/react/useStreamInfo.js +31 -5
  124. package/dist/react/useStreamInfo.js.map +1 -1
  125. package/dist/replayPages.d.ts +31 -0
  126. package/dist/replayPages.d.ts.map +1 -0
  127. package/dist/replayPages.js +34 -0
  128. package/dist/replayPages.js.map +1 -0
  129. package/dist/replays.d.ts +7 -0
  130. package/dist/replays.d.ts.map +1 -1
  131. package/dist/replays.js +52 -22
  132. package/dist/replays.js.map +1 -1
  133. package/dist/session.d.ts +39 -6
  134. package/dist/session.d.ts.map +1 -1
  135. package/dist/session.js +209 -22
  136. package/dist/session.js.map +1 -1
  137. package/dist/sessionTypes.d.ts +190 -14
  138. package/dist/sessionTypes.d.ts.map +1 -1
  139. package/dist/sessionTypes.js +2 -1
  140. package/dist/sessionTypes.js.map +1 -1
  141. package/dist/shopifyCommerce.d.ts +149 -0
  142. package/dist/shopifyCommerce.d.ts.map +1 -0
  143. package/dist/shopifyCommerce.js +123 -0
  144. package/dist/shopifyCommerce.js.map +1 -0
  145. package/dist/shopifyIdentity.d.ts +51 -0
  146. package/dist/shopifyIdentity.d.ts.map +1 -0
  147. package/dist/shopifyIdentity.js +52 -0
  148. package/dist/shopifyIdentity.js.map +1 -0
  149. package/dist/shopifyIds.d.ts +9 -0
  150. package/dist/shopifyIds.d.ts.map +1 -0
  151. package/dist/shopifyIds.js +18 -0
  152. package/dist/shopifyIds.js.map +1 -0
  153. package/dist/showLinks.d.ts +24 -0
  154. package/dist/showLinks.d.ts.map +1 -0
  155. package/dist/showLinks.js +23 -0
  156. package/dist/showLinks.js.map +1 -0
  157. package/dist/showLots.d.ts +28 -0
  158. package/dist/showLots.d.ts.map +1 -0
  159. package/dist/showLots.js +51 -0
  160. package/dist/showLots.js.map +1 -0
  161. package/dist/showNames.d.ts +45 -0
  162. package/dist/showNames.d.ts.map +1 -0
  163. package/dist/showNames.js +74 -0
  164. package/dist/showNames.js.map +1 -0
  165. package/dist/streams.d.ts +27 -1
  166. package/dist/streams.d.ts.map +1 -1
  167. package/dist/streams.js +90 -21
  168. package/dist/streams.js.map +1 -1
  169. package/dist/types.d.ts +195 -8
  170. package/dist/types.d.ts.map +1 -1
  171. package/dist/types.js +2 -1
  172. package/dist/types.js.map +1 -1
  173. package/dist/wire.d.ts +31 -0
  174. package/dist/wire.d.ts.map +1 -1
  175. package/dist/wire.js +25 -0
  176. package/dist/wire.js.map +1 -1
  177. package/dist/zego.d.ts +3 -1
  178. package/dist/zego.d.ts.map +1 -1
  179. package/dist/zego.js +1 -1
  180. package/dist/zegoEngine.d.ts +168 -0
  181. package/dist/zegoEngine.d.ts.map +1 -0
  182. package/dist/zegoEngine.js +1052 -0
  183. package/dist/zegoEngine.js.map +1 -0
  184. package/package.json +3 -2
package/dist/session.js CHANGED
@@ -2,9 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initialSessionState = exports.CART_CARD_MS = exports.REACTION_MS = exports.SOLD_CARD_MS = void 0;
4
4
  exports.sessionReducer = sessionReducer;
5
- exports.remainingMs = remainingMs;
6
- exports.timeLeftMs = timeLeftMs;
5
+ exports.isTheEndedGiveaway = isTheEndedGiveaway;
6
+ exports.roundClosesAt = roundClosesAt;
7
+ exports.nextExpiryAt = nextExpiryAt;
7
8
  exports.deriveStatus = deriveStatus;
9
+ exports.isNothingOnAir = isNothingOnAir;
10
+ exports.withOffAirSettled = withOffAirSettled;
11
+ /**
12
+ * The session state machine — pure, and the reason this package is more than a fetch wrapper.
13
+ *
14
+ * Folds the engine's `LiveEvent` stream into one renderable state. Everything here is a pure
15
+ * function of (state, event), so it is testable without a room, a socket or React, and
16
+ * `useLiveSession` is the only thing that needs any of those.
17
+ */
18
+ const commentHistory_1 = require("./commentHistory");
8
19
  /** Rolling windows. Nothing on screen reaches past a few dozen comments. */
9
20
  const MAX_COMMENTS = 300;
10
21
  const MAX_SOLD_CARDS = 4;
@@ -12,7 +23,8 @@ const MAX_REACTIONS = 30;
12
23
  /** The cap is what stops a burst of adds stacking cards over the video before the oldest expires. */
13
24
  const MAX_CART_CARDS = 3;
14
25
  /**
15
- * Transient cards carry their own lifetime; `prune` is driven by the session's 1s tick.
26
+ * Transient cards carry their own lifetime; `prune` drops them, dispatched by one timer set for the
27
+ * moment the next one runs out (`nextExpiryAt`).
16
28
  *
17
29
  * Ten seconds because that is `VISIBLE_DURATION_MS` in the host's own `SoldAnnouncementCards` widget,
18
30
  * and the two render the same room side by side — a sale that leaves a viewer's screen four seconds
@@ -76,11 +88,18 @@ exports.initialSessionState = {
76
88
  auctionExtended: false,
77
89
  biddingStoreProductId: null,
78
90
  moderatorId: null,
91
+ lastModeratorId: null,
79
92
  lastWin: null,
93
+ leaderWhenRoundClosed: null,
94
+ wonLotIds: [],
80
95
  giveawayStoreProductId: null,
81
96
  giveawayEntryCount: 0,
82
97
  giveawayRegisteredBy: null,
98
+ giveawayEntrantNames: [],
99
+ giveawayStartedAtMs: null,
100
+ endedGiveaway: null,
83
101
  giveawayResult: null,
102
+ pinnedComment: null,
84
103
  };
85
104
  /**
86
105
  * Everything a round owns, back to nothing.
@@ -101,6 +120,15 @@ const CLOSED_ROUND = {
101
120
  biddingStoreProductId: null,
102
121
  moderatorId: null,
103
122
  };
123
+ /**
124
+ * Who led the round as it stands, kept as it closes (0.9.0): the host clears the leader with the round
125
+ * (`biddingClosed`) before it says who won, and `lastWin.isYou` needs to know who it was.
126
+ */
127
+ function leaderOf(state) {
128
+ if (!state.biddingOpen || !state.bidLeader)
129
+ return state.leaderWhenRoundClosed;
130
+ return { userId: state.bidLeader.userId, amount: state.highestBid, storeProductId: state.biddingStoreProductId };
131
+ }
104
132
  function sessionReducer(state, action) {
105
133
  var _a, _b, _c, _d;
106
134
  switch (action.kind) {
@@ -108,6 +136,39 @@ function sessionReducer(state, action) {
108
136
  return exports.initialSessionState;
109
137
  case 'ownComment':
110
138
  return { ...state, comments: append(state.comments, action.comment, MAX_COMMENTS) };
139
+ case 'commentHistory': {
140
+ // Idempotent: a second copy of the same history finds every line already delivered.
141
+ const comments = (0, commentHistory_1.mergeCommentHistory)(action.history, state.comments, {
142
+ hostName: action.hostName,
143
+ ownName: action.ownName,
144
+ });
145
+ if (comments === state.comments)
146
+ return state;
147
+ return { ...state, comments: comments.slice(-MAX_COMMENTS) };
148
+ }
149
+ case 'pinnedCommentSynced':
150
+ return samePin(state.pinnedComment, action.comment)
151
+ ? state
152
+ : { ...state, pinnedComment: action.comment };
153
+ case 'giveawayRoster': {
154
+ // Taken once. Later reads must not change the names under a reveal that is already rolling —
155
+ // that was "the winner, then everyone, then the winner again" (ENG-705).
156
+ const result = state.giveawayResult;
157
+ if (!result || result.entrantNamesReady)
158
+ return state;
159
+ if (result.storeProductId !== action.storeProductId || !action.names.length)
160
+ return state;
161
+ return {
162
+ ...state,
163
+ giveawayResult: { ...result, entrantNames: action.names, entrantNamesReady: true },
164
+ };
165
+ }
166
+ case 'giveawayRosterTimedOut': {
167
+ const result = state.giveawayResult;
168
+ if (!result || result.entrantNamesReady)
169
+ return state;
170
+ return { ...state, giveawayResult: { ...result, entrantNamesReady: true } };
171
+ }
111
172
  case 'vote': {
112
173
  if (!state.poll || state.votedOptionId)
113
174
  return state;
@@ -151,7 +212,7 @@ function sessionReducer(state, action) {
151
212
  return { ...state, sold, cartAnnouncements, reactions };
152
213
  }
153
214
  case 'auctionExpired':
154
- return state.biddingOpen ? { ...state, ...CLOSED_ROUND } : state;
215
+ return state.biddingOpen ? { ...state, ...CLOSED_ROUND, leaderWhenRoundClosed: leaderOf(state) } : state;
155
216
  case 'giveawayRegistered':
156
217
  return state.giveawayRegisteredBy === action.bidderId
157
218
  ? state
@@ -163,6 +224,10 @@ function sessionReducer(state, action) {
163
224
  return state;
164
225
  if (state.closedPollUuid === action.poll.pollUuid)
165
226
  return state;
227
+ /* The record keeps a poll after it closes; only one it says is still running is raised. The
228
+ gateway has only been seen to write "active" (2026-10-06), so an absent status counts as open. */
229
+ if (action.poll.status && action.poll.status !== 'active')
230
+ return state;
166
231
  return {
167
232
  ...state,
168
233
  poll: action.poll,
@@ -173,9 +238,14 @@ function sessionReducer(state, action) {
173
238
  };
174
239
  }
175
240
  case 'giveawaySynced': {
241
+ /* The giveaway this device watched end, on a record read taken before the gateway wrote the end:
242
+ not opened again. The same product given away again later is a new giveaway (another start). */
243
+ if (isTheEndedGiveaway(state.endedGiveaway, action.storeProductId, action.startedAtMs))
244
+ return state;
176
245
  // A live giveaway-start is more current than the poll it races, so the poll may not name a lot
177
246
  // the room already knows about. Only the record can *add* one; only the host can retract it.
178
247
  const storeProductId = (_d = action.storeProductId) !== null && _d !== void 0 ? _d : state.giveawayStoreProductId;
248
+ const startedAtMs = action.storeProductId ? action.startedAtMs : state.giveawayStartedAtMs;
179
249
  /**
180
250
  * Our own successful registration must not be undone by a read that predates it — but that
181
251
  * guard is scoped to the bidder who earned it, or it becomes the account bleed described on
@@ -188,9 +258,25 @@ function sessionReducer(state, action) {
188
258
  ? state.giveawayRegisteredBy
189
259
  : null;
190
260
  const entryCount = Math.max(state.giveawayEntryCount, action.entryCount);
191
- if (storeProductId === state.giveawayStoreProductId &&
261
+ /**
262
+ * The roster, latched while the giveaway is open, for the draw's reveal.
263
+ *
264
+ * Kept from the last read that HAD names: the record can lose them for a moment around the draw,
265
+ * and the reveal needs them most at exactly that moment. Dropped when the lot changes.
266
+ */
267
+ const sameLot = storeProductId === state.giveawayStoreProductId;
268
+ const entrantNames = action.entrantNames.length === 0
269
+ ? sameLot
270
+ ? state.giveawayEntrantNames
271
+ : []
272
+ : sameLot && sameNames(action.entrantNames, state.giveawayEntrantNames)
273
+ ? state.giveawayEntrantNames
274
+ : action.entrantNames;
275
+ if (sameLot &&
192
276
  registeredBy === state.giveawayRegisteredBy &&
193
- entryCount === state.giveawayEntryCount) {
277
+ entryCount === state.giveawayEntryCount &&
278
+ entrantNames === state.giveawayEntrantNames &&
279
+ startedAtMs === state.giveawayStartedAtMs) {
194
280
  return state;
195
281
  }
196
282
  return {
@@ -198,6 +284,8 @@ function sessionReducer(state, action) {
198
284
  giveawayStoreProductId: storeProductId,
199
285
  giveawayEntryCount: entryCount,
200
286
  giveawayRegisteredBy: registeredBy,
287
+ giveawayEntrantNames: entrantNames,
288
+ giveawayStartedAtMs: startedAtMs,
201
289
  };
202
290
  }
203
291
  case 'dismissWin':
@@ -209,7 +297,7 @@ function sessionReducer(state, action) {
209
297
  }
210
298
  }
211
299
  function applyEvent(state, event, at) {
212
- var _a, _b, _c, _d, _e, _f;
300
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
213
301
  switch (event.type) {
214
302
  case 'roomState':
215
303
  return { ...state, connected: event.connected };
@@ -372,8 +460,10 @@ function applyEvent(state, event, at) {
372
460
  auctionExtended: false,
373
461
  biddingStoreProductId: event.storeProductId,
374
462
  moderatorId: event.moderatorId,
463
+ lastModeratorId: (_e = event.moderatorId) !== null && _e !== void 0 ? _e : state.lastModeratorId,
375
464
  // The previous lot's hammer must not sit over the new round.
376
465
  lastWin: null,
466
+ leaderWhenRoundClosed: null,
377
467
  };
378
468
  }
379
469
  case 'bidInfo': {
@@ -383,9 +473,21 @@ function applyEvent(state, event, at) {
383
473
  const movesDeadline = event.endsAtMs !== null && event.endsAtMs > state.endsAtMs;
384
474
  const endsAtMs = movesDeadline ? event.endsAtMs : state.endsAtMs;
385
475
  const openedEndsAtMs = state.openedEndsAtMs || endsAtMs;
476
+ /**
477
+ * Who to send bids to — L3, a late joiner who cannot bid.
478
+ *
479
+ * Only `START_BIDDING` names the moderator today, and a viewer who arrived after it never hears
480
+ * it: they saw the bid bar, slid, and the bid went nowhere. In order: the bid info's own
481
+ * moderator (the gateway does not send one yet — see the README), the one this round opened
482
+ * with, then the last one this device heard name itself during this show. The last is a
483
+ * fallback, never an override: a round that names its moderator always wins.
484
+ */
485
+ const moderatorId = (_g = (_f = event.moderatorId) !== null && _f !== void 0 ? _f : state.moderatorId) !== null && _g !== void 0 ? _g : state.lastModeratorId;
386
486
  return {
387
487
  ...state,
388
488
  biddingOpen: true,
489
+ moderatorId,
490
+ lastModeratorId: (_h = event.moderatorId) !== null && _h !== void 0 ? _h : state.lastModeratorId,
389
491
  endsAtMs,
390
492
  openedEndsAtMs,
391
493
  // Re-synced only when the host moved the clock, because that message is the one whose send
@@ -399,9 +501,18 @@ function applyEvent(state, event, at) {
399
501
  };
400
502
  }
401
503
  case 'biddingClosed':
402
- return { ...state, ...CLOSED_ROUND };
403
- case 'auctionWon':
404
- return { ...state, ...CLOSED_ROUND, lastWin: event.win };
504
+ return { ...state, ...CLOSED_ROUND, leaderWhenRoundClosed: leaderOf(state) };
505
+ case 'auctionWon': {
506
+ const wonLot = event.win.storeProductId;
507
+ return {
508
+ ...state,
509
+ ...CLOSED_ROUND,
510
+ lastWin: event.win,
511
+ leaderWhenRoundClosed: leaderOf(state),
512
+ // Seen won here: the record says so only once it is read again (`lotStateFor`).
513
+ wonLotIds: wonLot && !state.wonLotIds.includes(wonLot) ? [...state.wonLotIds, wonLot] : state.wonLotIds,
514
+ };
515
+ }
405
516
  case 'giveawayStarted': {
406
517
  // Delivered at-least-once, so the dashboard (or a reconnect) can resend it for the lot already
407
518
  // being tracked. A resend is not a new lot: a repeat of the *same* id means this device may
@@ -412,23 +523,46 @@ function applyEvent(state, event, at) {
412
523
  ...state,
413
524
  giveawayStoreProductId: event.storeProductId,
414
525
  giveawayEntryCount: sameLot
415
- ? Math.max(state.giveawayEntryCount, (_e = event.entryCount) !== null && _e !== void 0 ? _e : 0)
416
- : ((_f = event.entryCount) !== null && _f !== void 0 ? _f : 0),
526
+ ? Math.max(state.giveawayEntryCount, (_j = event.entryCount) !== null && _j !== void 0 ? _j : 0)
527
+ : ((_k = event.entryCount) !== null && _k !== void 0 ? _k : 0),
417
528
  giveawayRegisteredBy: sameLot ? state.giveawayRegisteredBy : null,
529
+ giveawayEntrantNames: sameLot ? state.giveawayEntrantNames : [],
530
+ giveawayStartedAtMs: sameLot ? state.giveawayStartedAtMs : null,
531
+ // The room starting this product again is fresher than any record: the end no longer applies.
532
+ endedGiveaway: ((_l = state.endedGiveaway) === null || _l === void 0 ? void 0 : _l.storeProductId) === event.storeProductId ? null : state.endedGiveaway,
418
533
  giveawayResult: null,
419
534
  };
420
535
  }
421
- case 'giveawayEnded':
536
+ case 'giveawayEnded': {
537
+ /* The roster latched while the lot was open, if this is that lot and it had names. Without
538
+ one, the session asks the record for it (`giveawayRoster`) before `entrantNamesReady`. */
539
+ const roster = state.giveawayStoreProductId === event.storeProductId ? state.giveawayEntrantNames : [];
422
540
  return {
423
541
  ...state,
424
542
  giveawayStoreProductId: null,
425
543
  giveawayEntryCount: 0,
426
544
  giveawayRegisteredBy: null,
545
+ giveawayEntrantNames: [],
546
+ giveawayStartedAtMs: null,
547
+ // Remembered so a record read from before the end can't open it again (`isTheEndedGiveaway`).
548
+ endedGiveaway: {
549
+ storeProductId: event.storeProductId,
550
+ startedAtMs: state.giveawayStoreProductId === event.storeProductId ? state.giveawayStartedAtMs : null,
551
+ },
427
552
  // A draw with nobody in it has no winner, so there is nothing to celebrate.
428
553
  giveawayResult: event.winnerName
429
- ? { storeProductId: event.storeProductId, winnerName: event.winnerName }
554
+ ? {
555
+ storeProductId: event.storeProductId,
556
+ winnerName: event.winnerName,
557
+ entrantNames: roster,
558
+ entrantNamesReady: roster.length > 0,
559
+ // Kept for the draw (0.9.0): who had entered, and which giveaway of the lot it was.
560
+ enteredBy: state.giveawayStoreProductId === event.storeProductId ? state.giveawayRegisteredBy : null,
561
+ startedAtMs: state.giveawayStoreProductId === event.storeProductId ? state.giveawayStartedAtMs : null,
562
+ }
430
563
  : null,
431
564
  };
565
+ }
432
566
  case 'giveawayEntries':
433
567
  return { ...state, giveawayEntryCount: event.count };
434
568
  // Owned by the engine (the mixer) or carrying no state of their own. Kept explicit so adding an
@@ -454,23 +588,60 @@ function applyEvent(state, event, at) {
454
588
  }, MAX_CART_CARDS),
455
589
  };
456
590
  }
591
+ /** The room's word on the pin wins until the record changes again — see `pinnedCommentSynced`. */
592
+ case 'pinnedCommentChanged':
593
+ return samePin(state.pinnedComment, event.comment)
594
+ ? state
595
+ : { ...state, pinnedComment: event.comment };
457
596
  case 'mixer':
458
597
  case 'unknown':
459
598
  return state;
460
599
  }
461
600
  }
601
+ function samePin(a, b) {
602
+ return a === b || (!!a && !!b && a.id === b.id && a.text === b.text);
603
+ }
604
+ function sameNames(a, b) {
605
+ return a.length === b.length && a.every((name, index) => name === b[index]);
606
+ }
607
+ /**
608
+ * Whether a giveaway the record calls open is the one this device watched end: the same lot, and the
609
+ * same start. When either start is unknown (a record with no readable `giveawayStartTime`, or an end
610
+ * heard before any record read of that giveaway) the lot alone decides, so a stale record can't open it
611
+ * again. The cost: a repeat of that product that this device never heard start (and whose start time
612
+ * it can't read) isn't shown until the room starts it again.
613
+ */
614
+ function isTheEndedGiveaway(ended, storeProductId, startedAtMs) {
615
+ if (!ended || !storeProductId || ended.storeProductId !== storeProductId)
616
+ return false;
617
+ if (ended.startedAtMs === null || startedAtMs === null)
618
+ return true;
619
+ return ended.startedAtMs === startedAtMs;
620
+ }
462
621
  /**
463
- * Milliseconds to the deadline on the host's clock. Goes negative once it has passed — signed on
464
- * purpose, so a ticker can wait out a grace period before closing the round itself.
622
+ * When the open round closes, on this phone's clock (ms, like `Date.now()`): the host's deadline less
623
+ * the offset measured when the host last moved it. Null with no round open, or an open round with no
624
+ * deadline yet (a bid that reached this phone before the round's opening, carrying none).
625
+ *
626
+ * The session's `auction.closesAt`. It moves only when the host moves the deadline, so a component can
627
+ * count down to it on its own clock (`useAuctionCountdown`) without the session ticking.
465
628
  */
466
- function remainingMs(state, now) {
629
+ function roundClosesAt(state) {
467
630
  if (!state.biddingOpen || !state.endsAtMs)
468
- return 0;
469
- return state.endsAtMs - (now + state.serverOffsetMs);
631
+ return null;
632
+ return state.endsAtMs - state.serverOffsetMs;
470
633
  }
471
- /** What a timer shows. Clamped at zero rather than counting up past the deadline. */
472
- function timeLeftMs(state, now) {
473
- return Math.max(0, remainingMs(state, now));
634
+ /**
635
+ * When the next sold card, cart card or reaction runs out (ms, on the clock their `createdAt` is on),
636
+ * or null with none on screen. The session sets one timer for this moment and drops it then (`prune`).
637
+ */
638
+ function nextExpiryAt(state) {
639
+ const expiries = [
640
+ ...state.sold.map((card) => card.createdAt + exports.SOLD_CARD_MS),
641
+ ...state.cartAnnouncements.map((card) => card.createdAt + exports.CART_CARD_MS),
642
+ ...state.reactions.map((reaction) => reaction.createdAt + exports.REACTION_MS),
643
+ ];
644
+ return expiries.length ? Math.min(...expiries) : null;
474
645
  }
475
646
  function append(list, item, max) {
476
647
  const next = list.length >= max ? list.slice(list.length - max + 1) : list;
@@ -530,4 +701,20 @@ serverSaysLive) {
530
701
  return 'waitingForHost';
531
702
  return 'playing';
532
703
  }
704
+ /**
705
+ * Whether the off-air wait should run: a record read has finished, it shows nothing on air for the
706
+ * watched show (no record at all, or one that is not `live`), and the room is not reconnecting.
707
+ *
708
+ * Connecting is excluded on purpose — a dropped socket is never read as a finished show.
709
+ */
710
+ function isNothingOnAir(input) {
711
+ return input.hasRead && input.streamStatus !== 'live' && input.status !== 'connecting';
712
+ }
713
+ /**
714
+ * The status a session reports once the off-air wait has run out: `ended`, where `deriveStatus` alone
715
+ * would say `loading` for ever because no record ever arrived. An error is never hidden by it.
716
+ */
717
+ function withOffAirSettled(status, settledOffAir) {
718
+ return settledOffAir && status !== 'error' ? 'ended' : status;
719
+ }
533
720
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}