message: Login properly defaults Sync to true, doesn't show sync prompt
diff: @@ -38,6 +38,7 @@ import { showNotification } from 'app/notifications/notifications';
  import { t } from 'app/i18next-t';
  import { dimErrorToaster } from 'app/bungie-api/error-toaster';
  import { refresh$ } from 'app/shell/refresh';
  +import { getActiveToken as getBungieToken } from 'app/bungie-api/authenticated-fetch';
  /**
  * Watch the redux store and write out values to indexedDB, etc.
  @@ -78,6 +79,7 @@ const installObservers = _.once((dispatch: ThunkDispatch<RootState, {}, AnyActio
  observeStore(
  (state) => state.dimApi.apiPermissionGranted,
  (_, apiPermissionGranted) => {
  + if (apiPermissionGranted !== null) {
  // Save the permission preference to local storage
  localStorage.setItem('dim-api-enabled', apiPermissionGranted ? 'true' : 'false');
  if (!apiPermissionGranted) {
  @@ -85,6 +87,7 @@ const installObservers = _.once((dispatch: ThunkDispatch<RootState, {}, AnyActio
  SyncService.set({ importedToDimApi: false });
  }
  }
  + }
  );
  // Observe the current account and reload data
  @@ -142,6 +145,12 @@ export function loadDimApiData(forceLoad = false): ThunkResult {
  return;
  }
  + // Check if we're even logged into Bungie.net. Don't need to load or sync if not.
  + const bungieToken = await getBungieToken();
  + if (!bungieToken) {
  + return;
  + }
  +
  // Show a prompt if the user has not said one way or another whether they want to use the API
  if (getState().dimApi.apiPermissionGranted === null) {
  const useApi = await promptForApiPermission();
  