diff --git a/components/ClientEmailSection.vue b/components/ClientEmailSection.vue index 729c701..7a616f8 100644 --- a/components/ClientEmailSection.vue +++ b/components/ClientEmailSection.vue @@ -639,11 +639,16 @@ onMounted(() => { signatureConfig.value = JSON.parse(storedSignature); } - loadEmailThread(); + // Load email thread immediately if credentials are available + if (hasEmailCredentials.value) { + loadEmailThread(); + } // Auto-refresh every 30 seconds const refreshInterval = setInterval(() => { - loadEmailThread(); + if (hasEmailCredentials.value) { + loadEmailThread(); + } }, 30000); // Clean up interval on unmount diff --git a/components/EmailCredentialsSetup.vue b/components/EmailCredentialsSetup.vue index 46ed249..066fbe9 100644 --- a/components/EmailCredentialsSetup.vue +++ b/components/EmailCredentialsSetup.vue @@ -165,6 +165,12 @@ const getSessionId = () => { }; const testConnection = async () => { + // Prevent multiple simultaneous connection attempts + if (testing.value) { + console.log('[EmailCredentialsSetup] Connection test already in progress, ignoring'); + return; + } + const { valid } = await form.value.validate(); if (!valid) return; diff --git a/pages/dashboard/interest-list.vue b/pages/dashboard/interest-list.vue index 4234dcc..bcbcbbe 100644 --- a/pages/dashboard/interest-list.vue +++ b/pages/dashboard/interest-list.vue @@ -125,7 +125,7 @@ :headers="headers" :items="filteredInterests" :search="search" - :sort-by="[{ key: 'Created At', order: 'desc' }, { key: 'Full Name', order: 'asc' }]" + :sort-by="[{ key: 'Id', order: 'desc' }]" must-sort hover :loading="loading" diff --git a/server/api/email/generate-eoi-document.ts b/server/api/email/generate-eoi-document.ts index 39d42ca..dadaeec 100644 --- a/server/api/email/generate-eoi-document.ts +++ b/server/api/email/generate-eoi-document.ts @@ -298,7 +298,7 @@ export default defineEventHandler(async (event) => { }); const extraComments = interest['Extra Comments'] || ''; - const updatedComments = extraComments + (extraComments ? '\n' : '') + `EOI Generated ${dateTimeString}`; + const updatedComments = extraComments + (extraComments ? '\n\n' : '') + `EOI Generated ${dateTimeString}`; const updateData: any = { 'EOI Status': 'Waiting for Signatures',