Korjaa captcha race condition + paranna SMTP-debuggausta
Captcha: loadBranding() ensin, sitten captcha+auth, jotta sessio-cookie on luotu ennen captcha-latausta (estää eri sessiot rinnakkaisilla kutsuilla). SMTP-testi: lisää salasanavihje (3 ensimmäistä + 2 viimeistä merkkiä), override-kentät joilla voi testata eri tunnuksilla suoraan ilman DB:tä. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
28
script.js
28
script.js
@@ -2601,7 +2601,7 @@ document.getElementById('btn-cancel-mailbox').addEventListener('click', () => {
|
||||
});
|
||||
|
||||
// SMTP-testaus
|
||||
document.getElementById('btn-test-smtp').addEventListener('click', async () => {
|
||||
async function runSmtpTest(overrideUser = '', overridePass = '') {
|
||||
const mailboxId = document.getElementById('mailbox-form-id').value;
|
||||
const resultEl = document.getElementById('smtp-test-result');
|
||||
if (!mailboxId) {
|
||||
@@ -2611,8 +2611,13 @@ document.getElementById('btn-test-smtp').addEventListener('click', async () => {
|
||||
}
|
||||
resultEl.style.display = '';
|
||||
resultEl.textContent = '⏳ Testataan SMTP-yhteyttä...';
|
||||
// Näytä override-kentät
|
||||
document.getElementById('smtp-test-override').style.display = '';
|
||||
try {
|
||||
const res = await apiCall('smtp_test', 'POST', { mailbox_id: mailboxId });
|
||||
const payload = { mailbox_id: mailboxId };
|
||||
if (overrideUser) payload.override_user = overrideUser;
|
||||
if (overridePass) payload.override_pass = overridePass;
|
||||
const res = await apiCall('smtp_test', 'POST', payload);
|
||||
let output = '=== TIETOKANNAN ARVOT ===\n';
|
||||
if (res.db_values) {
|
||||
for (const [k, v] of Object.entries(res.db_values)) {
|
||||
@@ -2620,8 +2625,9 @@ document.getElementById('btn-test-smtp').addEventListener('click', async () => {
|
||||
}
|
||||
}
|
||||
output += `\n=== KÄYTETTÄVÄT ARVOT ===\n`;
|
||||
if (res.using_override) output += ` ⚠️ KÄYTETÄÄN OVERRIDE-TUNNUKSIA\n`;
|
||||
output += ` Käyttäjä: ${res.effective_user || '(tyhjä)'}\n`;
|
||||
output += ` Salasanan pituus: ${res.effective_pass_len}\n\n`;
|
||||
output += ` Salasana: ${res.effective_pass_hint || '?'} (${res.effective_pass_len} merkkiä)\n\n`;
|
||||
output += `=== TESTIN VAIHEET ===\n`;
|
||||
if (res.steps) {
|
||||
res.steps.forEach(s => { output += ` ${s}\n`; });
|
||||
@@ -2633,6 +2639,13 @@ document.getElementById('btn-test-smtp').addEventListener('click', async () => {
|
||||
} catch (e) {
|
||||
resultEl.textContent = '❌ Virhe: ' + e.message;
|
||||
}
|
||||
}
|
||||
|
||||
document.getElementById('btn-test-smtp').addEventListener('click', () => runSmtpTest());
|
||||
document.getElementById('btn-test-smtp-override').addEventListener('click', () => {
|
||||
const user = document.getElementById('smtp-test-user').value;
|
||||
const pass = document.getElementById('smtp-test-pass').value;
|
||||
runSmtpTest(user, pass);
|
||||
});
|
||||
|
||||
// ==================== YRITYKSEN KÄYTTÄJÄOIKEUDET ====================
|
||||
@@ -3168,7 +3181,8 @@ async function loadBranding() {
|
||||
}
|
||||
}
|
||||
|
||||
// Init
|
||||
loadBranding();
|
||||
loadCaptcha();
|
||||
checkAuth();
|
||||
// Init — branding ensin (luo session-cookien), sitten captcha + auth
|
||||
loadBranding().then(() => {
|
||||
loadCaptcha();
|
||||
checkAuth();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user