Не срабатывает скрипт напоминаний в расширении Chrome

В расширение Chroma надо встроить напоминалку, но вот почему то не идет запись в хранилище и в целом ни как не реагирует, были ошибки которые подсвечивал диспетчер расширений Chroma, я их поправил, теперь ни сообщений о ошибках, но и действий ни каких не происходит при попытке назначить уведомления. Что тут не так?

Код самой странички

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Напоминания</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <h1>Напоминания</h1>

    <form>
      <label for="event">Событие:</label>
      <input type="text" id="event" required>
      <br>
      <label for="date">Дата:</label>
      <input type="date" id="date" required>
      <br>
      <label for="time">Время:</label>
      <input type="time" id="time" required>
      <br>
      <button type="button" id="addReminder">Добавить напоминание</button>
    </form>

    <ul id="reminders"></ul>

    <script src="../js/reminders.js"></script>
  </body>
</html>

Код скрипта

let reminders = [];

// Load any saved reminders from local storage
function loadReminders() {
  chrome.storage.local.get('reminders', data => {
    if (data.reminders) {
      reminders = data.reminders;
      displayReminders();
    }
  });
}

// Save the reminders to local storage
function saveReminders() {
  chrome.storage.local.set({ reminders });
}

// Add a new reminder to the list and schedule a notification
function addReminderToList({event, date, time}) {
  reminders.push({ event, date, time });
  displayReminders();
  chrome.runtime.sendMessage({ type: 'defaultNotification', event, date, time });
  saveReminders();
}

// Display the list of reminders
function displayReminders() {
  const list = document.getElementById('reminders');
  list.innerHTML = '';
  reminders.forEach((reminder, index) => {
    const item = document.createElement('li');
    item.innerHTML = `
      <span>${reminder.event}</span>
      <span>${reminder.date} ${reminder.time}</span>
      <button class="delete" data-index="${index}">Удалить</button>
    `;
    list.appendChild(item);
  });
}

// Handle the form submission to add a new reminder
document.getElementById('addReminder').addEventListener('submit', event => {
  event.preventDefault();
  const eventInput = document.getElementById('event');
  const dateInput = document.getElementById('date');
  const timeInput = document.getElementById('time');
  const eventName = eventInput.value;
  const date = dateInput.value;
  const time = timeInput.value;
  if (eventName && date && time) {
    addReminderToList({event: eventName, date, time});
    eventInput.value = '';
    dateInput.value = '';
    timeInput.value = '';
  }
});

// Handle the click of the delete button on a reminder
document.getElementById('reminders').addEventListener('click', event => {
  if (event.target.classList.contains('delete')) {
    const index = event.target.getAttribute('data-index');
    reminders.splice(index, 1);
    displayReminders();
    saveReminders();
  }
});

// Schedule a notification for the specified event, date and time
function scheduleNotification(event, date, time) {
  const notificationDate = new Date(`${date}T${time}:00`);
  const now = new Date();
  if (notificationDate > now) {
    const diff = notificationDate - now;
    const timezoneOffset = notificationDate.getTimezoneOffset() * 60000; // convert minutes to milliseconds
    chrome.notifications.create(event, {
      type: 'basic',
      title: 'Напоминание',
      message: event,
      iconUrl: 'icon.png',
      requireInteraction: true,
      buttons: [{
        title: 'Удалить',
        iconUrl: 'delete.png'
      }]
    }, id => {
      setTimeout(() => {
        chrome.notifications.clear(id || event, () => {});
      }, diff - timezoneOffset);
    });
  }
}

// Check if notifications are allowed and request permission if needed
function checkNotificationPermission() {
  return new Promise(resolve => {
  if (Notification.permission === 'granted') {
  resolve();
  } else if (Notification.permission !== 'denied' || Notification.permission === 'default') {
  Notification.requestPermission().then(permission => {
  if (permission === 'granted') {
  resolve();
  } else {
  const error = new Error('Уведомления не разрешены');
  reject(error);
  }
  });
  } else {
  const error = new Error('Уведомления не разрешены');
  reject(error);
  }
  });
  }

  // Listen for messages from the extension
  chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
  if (message.type === 'defaultNotification' && checkNotificationPermission()) {
  scheduleNotification(message.event, message.date, message.time);
  }
  });

  // Load the reminders when the popup is opened
  loadReminders();

Код бэкграунда

// Listen for messages from other scripts
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
    if (message.type === 'defaultNotification') {
      // Forward the message to the page script
      chrome.tabs.query({ active: true, currentWindow: true }, tabs => {
        chrome.tabs.sendMessage(tabs[0].id, {
          type: 'defaultNotification',
          event: message.event,
          date: message.date,
          time: message.time
        });
      });
    }
  });

И манифест

{
    "name": "Directorium",
    "description": "Directorium",
    "version": "1.0",
    "manifest_version": 3,
    "background": {
        "service_worker": "background.js"
    },
    "icons": {
        "16":"icon/Directorium-16.png",
        "32":"icon/Directorium-32.png",
        "64":"icon/Directorium-64.png",
        "128":"icon/Directorium-64.png"
    },
    "action": {
        "default_popup":"popup.html"
    },
    "permissions": [
        "notifications",
        "storage"
      ]
}

Ответы (0 шт):