Forem Creators and Builders 🌱

Discussion on: Is the browser extension working for anyone?

 
link2twenty profile image
Andrew Bone • Edited

I think I see it

chrome.storage.sync.get(['subscribedForems', 'allforems'], function (result) {
  const myForems = result.subscribedForems;
  const allForems = result.allforems;
  if (!myForems) {
    chrome.storage.sync.set({ subscribedForems: [] }); // Create empty array if not initialized.
  }
  if (!allForems) {
    chrome.storage.sync.set({ allforems: [] }); // Create empty array if not initialized.
  }
  // myOrigins(null) will break map on line 203
  if (
    myOrigins(myForems).includes(currentOrigin) ||
    validOrigins(allForems).includes(currentOrigin) ||
    currentOrigin === 'https://www.forem.com'
  ) {
    loadForemHTML(result.subscribedForems);
    document.addEventListener('add', handleAdd, false);
    document.addEventListener('remove', handleRemove, false);
    document.addEventListener('reorder', handleReorder, false);
  }
Enter fullscreen mode Exit fullscreen mode

This would remove the error though I've not thought the logic through yet

function myOrigins(myForems) {
  if(!myForems) return;
  return myForems.map(function (f) {
    return f.homePageUrl;
  });
}
Enter fullscreen mode Exit fullscreen mode
Thread Thread
 
link2twenty profile image
Andrew Bone

Another fix.

chrome.storage.sync.get(['subscribedForems', 'allforems'], function (result) {
  const myForems = result.subscribedForems ? result.subscribedForems : [];
  const allForems = result.allforems ? result.allforems : [];
  if (!result.subscribedForems) {
    chrome.storage.sync.set({ subscribedForems: [] }); // Create empty array if not initialized.
  }
  if (!result.allforems) {
    chrome.storage.sync.set({ allforems: [] }); // Create empty array if not initialized.
  }
  if (
    myOrigins(myForems).includes(currentOrigin) ||
    validOrigins(allForems).includes(currentOrigin) ||
    currentOrigin === 'https://www.forem.com'
  ) {
    loadForemHTML(result.subscribedForems);
    document.addEventListener('add', handleAdd, false);
    document.addEventListener('remove', handleRemove, false);
    document.addEventListener('reorder', handleReorder, false);
  }
Enter fullscreen mode Exit fullscreen mode