diff --git a/static/js/emailInbox.js b/static/js/emailInbox.js index 17b1d1dc2..7a8abe5cc 100644 --- a/static/js/emailInbox.js +++ b/static/js/emailInbox.js @@ -5,7 +5,7 @@ import spinnerModule from './spinner.js'; import sessionModule from './sessions.js'; -import { initEmailLibrary, openEmailLibrary, closeEmailLibrary, isOpen as isLibOpen, prewarmEmailLibrary } from './emailLibrary.js'; +import { initEmailLibrary, openEmailLibrary, closeEmailLibrary, isOpen as isLibOpen } from './emailLibrary.js'; import * as Modals from './modalManager.js'; import { applyEdgeDock } from './modalSnap.js'; import { buildReplyAllCc } from './emailLibrary/replyRecipients.js'; @@ -274,10 +274,11 @@ function _bindEvents() { }); } - // Initial unread count check, refresh every 60s - _refreshUnreadCount(); + // Delay the lightweight unread badge check so opening Odysseus doesn't + // compete with the initial chat/session paint. The full email list now loads + // only when the inbox is actually opened. + setTimeout(_refreshUnreadCount, 8000); setInterval(_refreshUnreadCount, 60000); - prewarmEmailLibrary({ delay: 3000 }); // Deep-link: #email=: opens the library and expands that card _maybeOpenFromHash(); diff --git a/static/js/tasks.js b/static/js/tasks.js index 9bd09104f..bde11d9e2 100644 --- a/static/js/tasks.js +++ b/static/js/tasks.js @@ -2706,6 +2706,7 @@ function _renderMainView() { // ---- Modal ---- export function openTasks(focusId, opts) { + startNotificationPolling(); const o = opts || {}; const openActivityForFailure = _taskFailurePending && !focusId && o.filter === undefined; _setTaskFailurePending(false); @@ -2937,9 +2938,6 @@ function stopNotificationPolling() { } } -// Start polling on module load -startNotificationPolling(); - const tasksModule = { openTasks, closeTasks, isTasksOpen, startNotificationPolling, stopNotificationPolling }; export default tasksModule; window.tasksModule = tasksModule;