in src/js/background/background.js [139:190]
async function storeRuntimeData(opts={forceUpdate: false}) {
const existingPremiumAvailability = (await browser.storage.local.get("periodicalPremiumPlans")).periodicalPremiumPlans;
// If we already fetched Premium availability in the past seven days,
// don't fetch it again.
const checkingRemainingDays = Date.now() - 7 * 24 * 60 * 60 * 1000;
if (typeof existingPremiumAvailability === "object" &&
existingPremiumAvailability.fetchedAt > checkingRemainingDays &&
!opts.forceUpdate
)
{
return;
}
const { relayApiSource } = await browser.storage.local.get("relayApiSource");
if (!relayApiSource) {
return;
}
const runtimeDataResponse = await fetch(
`${relayApiSource}/runtime_data`,
{
headers: { Accept: "application/json" },
},
);
const runtimeData = await runtimeDataResponse.json();
browser.storage.local.set({
waffleFlags: {
WAFFLE_FLAGS: runtimeData.WAFFLE_FLAGS,
fetchedAt: Date.now(),
},
fxaOrigin: {
FXA_ORIGIN: runtimeData.FXA_ORIGIN,
fetchedAt: Date.now(),
},
bundlePlans: {
BUNDLE_PLANS: runtimeData.BUNDLE_PLANS,
fetchedAt: Date.now(),
},
phonePlans: {
PHONE_PLANS: runtimeData.PHONE_PLANS,
fetchedAt: Date.now(),
},
periodicalPremiumPlans: {
PERIODICAL_PREMIUM_PLANS: runtimeData.PERIODICAL_PREMIUM_PLANS,
fetchedAt: Date.now(),
},
periodicalPremiumProductId: {
PERIODICAL_PREMIUM_PRODUCT_ID: runtimeData.PERIODICAL_PREMIUM_PRODUCT_ID,
fetchedAt: Date.now(),
}
})
}