@@ -111,9 +111,8 @@ const retryCounter = (slotId: string, action: "increment" | "clear" | "get") =>
111111 await new Promise ( res => Spicetify . Events . webpackLoaded . on ( res ) ) ;
112112 const webpackCache = loadWebpack ( ) ;
113113
114- // @ts -expect-error: expFeatureOverride is not defined in types
115- const { CosmosAsync, Platform, expFeatureOverride, Locale } = Spicetify ;
116- const { LocalStorageAPI } = Platform ;
114+ // @ts -expect-error: createInternalMap, RemoteConfigResolver is not defined in types
115+ const { CosmosAsync, Platform, createInternalMap, Locale, RemoteConfigResolver } = Spicetify ;
117116 const { AdManagers } = Platform ;
118117 const { audio } : AdManagers = AdManagers ;
119118 const { UserAPI } = Platform ;
@@ -251,27 +250,20 @@ const retryCounter = (slotId: string, action: "increment" | "clear" | "get") =>
251250 const enableExperimentalFeatures = async ( ) => {
252251 try {
253252 const expFeatures = JSON . parse ( localStorage . getItem ( "spicetify-exp-features" ) || "{}" ) ;
254- const hptoEsperanto = expFeatures . enableEsperantoMigration ?. value ;
255- const inAppMessages = expFeatures . enableInAppMessaging ?. value ;
256- const upgradeCTA = expFeatures . hideUpgradeCTA ?. value ;
257- const smartShuffle = expFeatures . enableSmartShuffle ?. value ;
258-
259- if ( ! hptoEsperanto ) expFeatureOverride ( { type : "bool" , name : "enableEsperantoMigration" , default : true } ) ;
260- if ( inAppMessages ) expFeatureOverride ( { type : "bool" , name : "enableInAppMessaging" , default : false } ) ;
261- if ( ! upgradeCTA ) expFeatureOverride ( { type : "bool" , name : "hideUpgradeCTA" , default : true } ) ;
262- if ( smartShuffle ) expFeatureOverride ( { type : "bool" , name : "enableSmartShuffle" , default : false } ) ;
263-
264- const expFeaturesOverride = LocalStorageAPI . getItem ( "remote-config-overrides" ) ;
265- if ( ! expFeaturesOverride ) return ;
253+ expFeatures . enableEsperantoMigration . value = true ;
254+ expFeatures . enableInAppMessaging . value = false ;
255+ expFeatures . hideUpgradeCTA . value = true ;
256+ expFeatures . enableSmartShuffle . value = false ;
257+ localStorage . setItem ( "spicetify-exp-features" , JSON . stringify ( expFeatures ) ) ;
266258
267259 const overrides = {
268- ...expFeaturesOverride ,
269260 enableEsperantoMigration : true ,
270261 enableInAppMessaging : false ,
271262 hideUpgradeCTA : true ,
272263 enableSmartShuffle : false ,
273264 } ;
274- LocalStorageAPI . setItem ( "remote-config-overrides" , overrides ) ;
265+ const map = createInternalMap ( overrides ) ;
266+ RemoteConfigResolver . value . setOverrides ( map ) ;
275267 } catch ( error : unknown ) {
276268 console . error ( "adblockify: Failed inside `enableExperimentalFeatures` function\n" , error ) ;
277269 }
@@ -282,7 +274,8 @@ const retryCounter = (slotId: string, action: "increment" | "clear" | "get") =>
282274 // to enable one day if disabling `enableInAppMessages` exp feature doesn't work
283275 //runObserver();
284276 productState . subValues ( { keys : [ "ads" , "catalogue" , "product" , "type" ] } , ( ) => configureAdManagers ( ) ) ;
285- setTimeout ( enableExperimentalFeatures , 1 * 1500 ) ;
277+ enableExperimentalFeatures ( ) ;
278+ setTimeout ( enableExperimentalFeatures , 3 * 1000 ) ;
286279
287280 // Update slot settings after 5 seconds... idk why, don't ask me why, it just works
288281 setTimeout ( intervalUpdateSlotSettings , 5 * 1000 ) ;
0 commit comments