fix(email): increase SMTP timeout to 15s to prevent email dispatch failures on slow connections

chore(release): bump version to 1.8.1
This commit is contained in:
mARTin 2026-03-01 14:14:52 +01:00
parent 9778952783
commit 95487cc83f
8 changed files with 142 additions and 3 deletions

View File

@ -1,6 +1,6 @@
{
"name": "my-weekly-todo-list",
"version": "1.8.0",
"version": "1.8.1",
"description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view",
"main": "index.js",
"scripts": {

View File

@ -113,9 +113,9 @@ export async function sendVerificationEmail(
console.log(`======================================================\n`);
try {
// 5 second timeout for SMTP
// 15 second timeout for SMTP
const timeoutPromise = new Promise((_, reject) =>
setTimeout(() => reject(new Error('SMTP timeout')), 5000)
setTimeout(() => reject(new Error('SMTP timeout')), 15000)
);
const mailPromise = getTransporter().sendMail({

22
test-conn.js Normal file
View File

@ -0,0 +1,22 @@
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient({
datasources: {
db: {
url: "postgresql://postgres:pLQjZtDLYtAMu+ut5LamR5o9P1cgPE9Z@192.168.178.201:5432/postgres"
},
},
})
async function main() {
try {
const userCount = await prisma.user.count();
console.log(`Connection successful! Users: ${userCount}`);
process.exit(0);
} catch (error) {
console.error('Connection failed:', error);
process.exit(1);
}
}
main();

24
test-db-2.js Normal file
View File

@ -0,0 +1,24 @@
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient({
datasources: {
db: {
url: "postgresql://postgres:SH8P%2FhUQljT4XahQVELX3Q%3D%3D@192.168.178.201:5432/postgres?pgbouncer=true"
},
},
})
async function main() {
try {
const userCount = await prisma.user.count();
const taskCount = await prisma.task.count();
console.log(`Users in database: ${userCount}`);
console.log(`Tasks in database: ${taskCount}`);
process.exit(0);
} catch (error) {
console.error('Error connecting to database:', error);
process.exit(1);
}
}
main();

17
test-db.js Normal file
View File

@ -0,0 +1,17 @@
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();
async function main() {
try {
const userCount = await prisma.user.count();
const taskCount = await prisma.task.count();
console.log(`Users in database: ${userCount}`);
console.log(`Tasks in database: ${taskCount}`);
process.exit(0);
} catch (error) {
console.error('Error connecting to database:', error);
process.exit(1);
}
}
main();

35
test-email-auth.js Normal file
View File

@ -0,0 +1,35 @@
const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({
host: "w00ff033.kasserver.com",
port: 587,
secure: false, // true for 465, false for 587
auth: {
user: "mail@carrylight.de",
pass: "QijU8e2A8p3FE8WS8esR",
},
});
async function main() {
try {
console.log("Verifying connection...");
await transporter.verify();
console.log("Server is ready to take our messages");
console.log("Sending test email...");
const info = await transporter.sendMail({
from: '"Test" <mail@carrylight.de>',
to: "mail@martin-bierschenk.de",
subject: "Test Verification Email",
text: "This is a test email.",
});
console.log("Message sent: %s", info.messageId);
process.exit(0);
} catch (error) {
console.error("Error sending email:", error);
process.exit(1);
}
}
main();

23
test-orig.js Normal file
View File

@ -0,0 +1,23 @@
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient({
datasources: {
db: {
url: "postgresql://root:WKE7xeZohxdZit7eObjG@192.168.178.91:2665/My-Weekly-ToDo-List?schema=public"
},
},
})
async function main() {
try {
const userCount = await prisma.user.count();
const taskCount = await prisma.task.count();
console.log(`Original DB - Users: ${userCount}, Tasks: ${taskCount}`);
process.exit(0);
} catch (error) {
console.error('Error connecting to original DB:', error);
process.exit(1);
}
}
main();

18
test-tokens.js Normal file
View File

@ -0,0 +1,18 @@
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();
async function main() {
try {
const tokens = await prisma.verificationToken.findMany();
const users = await prisma.user.findMany();
console.log("Tokens:", tokens);
console.log("Users:", users);
process.exit(0);
} catch (error) {
console.error('Error fetching data:', error);
process.exit(1);
}
}
main();