fix email bug

This commit is contained in:
JCEEE
2026-09-11 12:06:51 +01:00
parent 0db74b2787
commit 75ce42dc94
3 changed files with 19 additions and 12 deletions
-1
View File
@@ -132,7 +132,6 @@ export async function sendMentionEmail(opts: {
message: string;
dashboardUrl: string;
}) {
if (await isDemoMode()) return;
const { to, parentName, authorName, message, dashboardUrl } = opts;
await resend.emails.send({
+6
View File
@@ -74,8 +74,11 @@ async function notifyMentionedParents(
.collection('fams')
.getOne(famId)
.catch(() => null);
// Don't send emails for the demo family.
if (fam?.slug === 'showboaters') return;
const dashboardUrl = `${siteUrl}/${fam?.slug || famId}`;
for (const parent of mentioned) {
try {
await sendMentionEmail({
to: parent.email,
parentName: parent.name || 'there',
@@ -83,6 +86,9 @@ async function notifyMentionedParents(
message: content,
dashboardUrl
});
} catch (err) {
console.error(`[chat] Failed to send mention email to ${parent.email}:`, err);
}
}
}
+6 -4
View File
@@ -163,22 +163,24 @@ class ChatStore {
if (record.authorId !== this.actorId) {
if (!this.open) this.unread++;
this.playDunk();
this.notifyIfMentioned(record);
if (this.notifyIfMentioned(record) && this.open) this.unread++;
}
}
// Toast the current user when a message @mentions them by name.
private notifyIfMentioned(record: ChatMessage) {
// Returns true if the user was mentioned.
private notifyIfMentioned(record: ChatMessage): boolean {
const lower = (record.content || '').toLowerCase();
const me = this.members.find((m) => m.id === this.actorId);
if (!me || !me.name) return;
if (!lower.includes('@' + me.name.toLowerCase())) return;
if (!me || !me.name) return false;
if (!lower.includes('@' + me.name.toLowerCase())) return false;
addAutoDismissNotice({
type: 'info',
title: 'You were mentioned 👋',
message: `${record.authorName || 'Someone'}: ${record.content}`,
dismissible: true
});
return true;
}
private onTyping(action: string, record: TypingRow) {