saltfish 0.3.79 → 0.3.81

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.
@@ -868,6 +868,7 @@ const playerStateMachineConfig = {
868
868
  on: {
869
869
  "PLAY": { target: "playing" },
870
870
  "START_IDLE_MODE": { target: "idleMode" },
871
+ "AUTOPLAY_FALLBACK": { target: "autoplayBlocked" },
871
872
  "MINIMIZE": { target: "minimized" },
872
873
  "TRANSITION_TO_STEP": {
873
874
  target: "playing",
@@ -1263,6 +1264,13 @@ const saltfishStore = createStore()(
1263
1264
  state.user = user;
1264
1265
  });
1265
1266
  },
1267
+ mergeUserFields: (fields) => {
1268
+ set2((state) => {
1269
+ if (state.user) {
1270
+ Object.assign(state.user, fields);
1271
+ }
1272
+ });
1273
+ },
1266
1274
  setUserData: (userData) => {
1267
1275
  set2((state) => {
1268
1276
  state.userData = userData;
@@ -1783,7 +1791,7 @@ __publicField(ErrorHandler, "DEFAULT_OPTIONS", {
1783
1791
  shouldTriggerEvent: false,
1784
1792
  shouldDestroy: false
1785
1793
  });
1786
- const VERSION = "0.2.73";
1794
+ const VERSION = "0.3.81";
1787
1795
  class ShareLinkService {
1788
1796
  /**
1789
1797
  * Detects if the current URL contains a saltfish-share-id parameter
@@ -2128,6 +2136,9 @@ class PlayerInitializationService {
2128
2136
  this.currentUserData = userData;
2129
2137
  this.isAnonymousUser = false;
2130
2138
  this.lastUserDataFetchTimestamp = Date.now();
2139
+ if (data.firstIdentifiedAt) {
2140
+ store.mergeUserFields({ firstIdentifiedAt: data.firstIdentifiedAt });
2141
+ }
2131
2142
  store.setUserData({
2132
2143
  watchedPlaylists: data.watchedPlaylists || {},
2133
2144
  language: data.language
@@ -2470,6 +2481,9 @@ class PlayerInitializationService {
2470
2481
  const data = await response.json();
2471
2482
  if (data.success) {
2472
2483
  this.lastUserDataFetchTimestamp = Date.now();
2484
+ if (data.firstIdentifiedAt) {
2485
+ store.mergeUserFields({ firstIdentifiedAt: data.firstIdentifiedAt });
2486
+ }
2473
2487
  store.setUserData({
2474
2488
  watchedPlaylists: data.watchedPlaylists || {},
2475
2489
  language: data.language
@@ -3946,20 +3960,22 @@ function setupEventUpdater(eventManager) {
3946
3960
  if (pendingStartEvents.playlistData || pendingStartEvents.stepData) {
3947
3961
  pendingStartEvents = { playlistData: null, stepData: null };
3948
3962
  }
3949
- if (state.manifest) {
3950
- log(`EventUpdater: Triggering bubbleShown event for ${state.manifest.id}`);
3951
- eventManager.trigger("bubbleShown", {
3952
- timestamp: Date.now(),
3953
- playlist: {
3954
- id: state.manifest.id,
3955
- title: state.manifest.name
3956
- }
3957
- });
3958
- }
3959
3963
  } else if (pendingStartEvents.playlistData || pendingStartEvents.stepData) {
3960
3964
  firePendingEvents();
3961
3965
  }
3962
3966
  }
3967
+ if ((eventData.currentState === "autoplayBlocked" || eventData.currentState === "idleMode") && eventData.previousState !== "autoplayBlocked" && eventData.previousState !== "idleMode") {
3968
+ if (state.manifest) {
3969
+ log(`EventUpdater: Triggering bubbleShown event for ${state.manifest.id}`);
3970
+ eventManager.trigger("bubbleShown", {
3971
+ timestamp: Date.now(),
3972
+ playlist: {
3973
+ id: state.manifest.id,
3974
+ title: state.manifest.name
3975
+ }
3976
+ });
3977
+ }
3978
+ }
3963
3979
  handleStateTransitionEvents(eventData, state, eventManager, pendingStartEvents);
3964
3980
  handleMinimizeEvents(eventData, state, eventManager, actualPrevMinimized);
3965
3981
  handleStepEvents(eventData, state, eventManager, actualPrevStepId, pendingStartEvents);
@@ -12841,7 +12857,7 @@ const SaltfishPlayer$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.de
12841
12857
  __proto__: null,
12842
12858
  SaltfishPlayer
12843
12859
  }, Symbol.toStringTag, { value: "Module" }));
12844
- const version = "0.3.79";
12860
+ const version = "0.3.81";
12845
12861
  const packageJson = {
12846
12862
  version
12847
12863
  };