
Trump to keep Starlink at White House despite break with Elon Musk
- by The Gazette
- Jun 09, 2025
- 0 Comments
- 0 Likes Flag 0 Of 5

Email
FILE PHOTO: U.S. President Donald Trump and Elon Musk attend a press conference in the Oval Office of the White House in Washington, D.C., U.S., May 30, 2025. REUTERS/Nathan Howard/File Photo
Nathan Howard ' + btnText + '
';
button.onclick = () => {
if (state) {
bcApp.logout();
} else {
bcApp.login();
}
};
mobileButton.onclick = () => {
if (state) {
bcApp.logout();
} else {
bcApp.login();
}
};
tempMyAccountBtn.onclick = () => {
location.href = 'https://myaccount.'+bcApp.currentSite;
}
tempSlideMenuBtn1.onclick = () => {
bcApp.debug('chris clicked');
var fullPageDiv = document.getElementById('gazSliderMenu');
if (fullPageDiv.classList.contains('gone')) {
fullPageDiv.classList.remove('gone');
fullPageDiv.classList.add('view');
} else {
fullPageDiv.classList.remove('view');
fullPageDiv.classList.add('gone');
}
};
// Add event listener for clicks outside the menu
document.addEventListener('click', function(event) {
var fullPageDiv = document.getElementById('gazSliderMenu');
if (!(fullPageDiv.contains(event.target) || event.target.id === 'newMenuSlideButton')) {
if (fullPageDiv.classList.contains('view')) {
fullPageDiv.classList.remove('view');
fullPageDiv.classList.add('gone');
}
}
});
// button.innerHTML = '
'+ '' + btnText + '
';
// // Get the div with the class pull-right
const menu = document.querySelector('#navbar-collapse .pull-right');
const mobileMenu = document.querySelector('#tncms-region-nav-mobile-nav-left');
// // Add the button to the div
menu.appendChild(button);
//pre-launch
menu.appendChild(tempMyAccountBtn);
//menu.appendChild(tempSlideMenuBtn1);
mobileMenu.prepend(mobileButton);
//pre-launch
//mobileMenu.prepend(tempSlideMenuBtn2);
// Clone the element
const cloneElement = tempMyAccountBtn.cloneNode(true); // 'true' means clone the element and its children
cloneElement.classList.add('mobileMyAccountBtn');
cloneElement.onclick = () => {
location.href = 'https://myaccount.'+bcApp.currentSite;
}
mobileMenu.prepend(cloneElement);
return;
}
// Will run when page finishes loading
// old onload
async function onPageLoad() {
bcApp.debug('chris: 2 - onload start');
await bcApp.configureClient();
bcApp.debug('chris: 4 - continue onload');
bcApp.isAuthenticated = await bcApp.auth0Client.isAuthenticated();
// this loads the events that the paywall is listening for
async function waitForPaywallPluginReady(timeout = 30000) {
const startTime = Date.now();
bcApp.debug('chris waiting for plugin to be ready');
while (true) {
if (window.paywallPluginReady === 1) {
bcApp.debug('chris pluginready wait done');
return true; // paywallPluginReady is 1, return true
} else if (Date.now() - startTime >= timeout) {
bcApp.debug('chris pluginready wait timeout..should probably refresh bc');
return false; // timeout expired, return false
}
await new Promise(resolve => setTimeout(resolve, 100)); // Wait for 100ms
}
}
async function bcStart() {
return new Promise(async (resolve) => {
// get blueconic data ready
// Is BlueConic loaded?
if (typeof window.blueConicClient !== 'undefined' &&
typeof window.blueConicClient.event !== 'undefined' &&
typeof window.blueConicClient.event.subscribe !== 'undefined') {
// BlueConic is loaded, now we can do API things
await bcApp.loadBCProfile();
resolve();
} else {
// Not yet loaded; wait for the "onBlueConicLoaded" event
window.addEventListener('onBlueConicLoaded', async function () {
// BlueConic is loaded, now we can do API things
bcApp.debug('chris event listener fired');
await bcApp.loadBCProfile();
resolve();
}, false);
}
});
}
if (bcApp.isAuthenticated) {
bcApp.bcFireEvent('auth0LoggedIn');
} else {
bcApp.bcFireEvent('auth0LoggedOut');
}
document.addEventListener('profileLoaded', function() {
bcApp.debug("chris says profileLoaded event");
bcApp.entitlementCheck();
});
await waitForPaywallPluginReady();
await bcStart();
bcApp.debug('chris: 9 - window loaded / blueconic loaded / profile loaded');
if (bcApp.isAuthenticated) {
bcApp.debug('chris: 10 - auth0 authenticated check');
await bcApp.bcSetVariables();
//pre-launch
bcApp.createUI(bcApp.isAuthenticated);
bcApp.debug("chris = User is authenticated");
//window.history.replaceState({}, document.title, window.location.pathname);
return;
} else {
bcApp.debug('chris: 11 - auth0 not authenticated check');
}
bcApp.debug("chris = User not authenticated");
//pre-launch
bcApp.createUI(bcApp.isAuthenticated);
bcApp.bcFireEvent('paywall_code_ready');
// this is the last thing to happen, so now check if we should fire regwall
if (bcApp.regwallViewsLeftValue == "0" && !bcApp.userEmail && !bcApp.subscriberAuth) {
// regwall! fire
bcApp.bcEventPaywall('regwallStart');
} else if (bcApp.regwallViewsLeftValue == "0" && bcApp.userEmail && !bcApp.subscriberAuth) {
//we have their email and they have no subscription so they should get a paywall instead of regwall
bcApp.debug('chris: user already regwalled, no regwall only paywall');
bcApp.bcEventPaywall('nonSub');
} else if (bcApp.viewsLeft === false) {
// meter! fire
bcApp.bcEventPaywall('nonSub');
}
bcApp.debug('chris; should regwall fire: ', bcApp.regwallViewsLeftValue, bcApp.userEmail, !bcApp.subscriberAuth);
const query = window.location.search;
const shouldParseResult = query.includes("code=") && query.includes("state=");
if (shouldParseResult) {
bcApp.debug("chris > Parsing redirect");
try {
const result = await bcApp.auth0Client.handleRedirectCallback();
if (result.appState && result.appState.targetUrl) {
//showContentFromUrl(result.appState.targetUrl);
}
bcApp.debug("Logged in!");
} catch (err) {
bcApp.debug("Error parsing redirect:", err);
}
//window.history.replaceState({}, document.title, "/");
}
//Engage data checks for when switch over this can be removed after a few weeks
// function waitForObject(objectName, callback, interval = 100, timeout = 180000) {
// const checkInterval = setInterval(() => {
// if (typeof window[objectName] !== 'undefined') {
// clearInterval(checkInterval);
// clearTimeout(timeoutId);
// callback(window[objectName]);
// }
// }, interval);
// const timeoutId = setTimeout(() => {
// clearInterval(checkInterval);
// bcApp.debug(`chris Stopped checking for ${objectName} after ${timeout / 1000} seconds`);
// }, timeout);
// }
// // Example usage:
// waitForObject('Connext', (Connext) => {
// bcApp.debug('chris Connext is now defined:', Connext);
// // You can add additional logic to execute once Connext is defined
// if (typeof Connext !== "undefined" && typeof Connext.Storage.GetUserData().DigitalAccess.IsAuthorized !== "undefined") {
// if (Connext.Storage.GetUserData().DigitalAccess.IsAuthorized) {
// bcApp.debug('chris user is authorized via engage');
// // we are only doing a simple check so the user doesn't hit the paywall, until the other checks kick in in the future
// bcApp.subscriberAuth = 1;
// bcApp.profile.setValue('email', Connext.Storage.GetUserData().Email );
// bcApp.profile.setValue(bcApp.authorizedProfile2, 1);
// bcApp.profile.setValue('auth0_login_date', new Date());
// //pre-launch
// bcApp.updateUI(true);
// //pre-launch
// bcApp.login();
// blueConicClient.profile.updateProfile(this, function() {
// // Profile is now persistent
// bcApp.debug('chris connext updated profile');
// bcApp.blueConicClient.handlePageView();
// });
// } else {
// bcApp.debug('chris user is not authorized via engage');
// }
// } else {
// bcApp.debug('chris not a connext subscriber');
// }
// });
// /old onload
} //end onPageLoad
// Call the async function
onPageLoad();
Please first to comment
Related Post
Stay Connected
Tweets by elonmuskTo get the latest tweets please make sure you are logged in on X on this browser.