feat: add email notifications when a note is shared

Send an email to collaborators when they are added to a shared note.
Uses nodemailer with optional SMTP configuration (auto-enabled when
SMTP_HOST is set). Users can opt out via the notifyOnShare preference.

https://claude.ai/code/session_01P4HSMr7QvKw9TMNikUJD9e
This commit is contained in:
Claude
2026-03-11 20:33:48 +01:00
committed by Fred Cabassut
parent 07ea482bad
commit 0b1416908e
11 changed files with 221 additions and 3 deletions
+19
View File
@@ -79,6 +79,9 @@ importers:
markdown-it:
specifier: ^14.1.1
version: 14.1.1
nodemailer:
specifier: ^8.0.2
version: 8.0.2
svelte-dnd-action:
specifier: ^0.9.69
version: 0.9.69(svelte@5.53.7)
@@ -116,6 +119,9 @@ importers:
'@types/markdown-it':
specifier: ^14.1.2
version: 14.1.2
'@types/nodemailer':
specifier: ^7.0.11
version: 7.0.11
'@types/uuid':
specifier: ^10.0.0
version: 10.0.0
@@ -1653,6 +1659,9 @@ packages:
'@types/node@25.3.5':
resolution: {integrity: sha512-oX8xrhvpiyRCQkG1MFchB09f+cXftgIXb3a7UUa4Y3wpmZPw5tyZGTLWhlESOLq1Rq6oDlc8npVU2/9xiCuXMA==}
'@types/nodemailer@7.0.11':
resolution: {integrity: sha512-E+U4RzR2dKrx+u3N4DlsmLaDC6mMZOM/TPROxA0UAPiTgI0y4CEFBmZE+coGWTjakDriRsXG368lNk1u9Q0a2g==}
'@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
@@ -3005,6 +3014,10 @@ packages:
node-releases@2.0.36:
resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==}
nodemailer@8.0.2:
resolution: {integrity: sha512-zbj002pZAIkWQFxyAaqoxvn+zoIwRnS40hgjqTXudKOOJkiFFgBeNqjgD3/YCR12sZnrghWYBY+yP1ZucdDRpw==}
engines: {node: '>=6.0.0'}
nyc@18.0.0:
resolution: {integrity: sha512-G5UyHinFkB1BxqGTrmZdB6uIYH0+v7ZnVssuflUDi+J+RhKWyAhRT1RCehBSI6jLFLuUUgFDyLt49mUtdO1XeQ==}
engines: {node: 20 || >=22}
@@ -5435,6 +5448,10 @@ snapshots:
dependencies:
undici-types: 7.18.2
'@types/nodemailer@7.0.11':
dependencies:
'@types/node': 25.3.5
'@types/resolve@1.20.2': {}
'@types/trusted-types@2.0.7': {}
@@ -6770,6 +6787,8 @@ snapshots:
node-releases@2.0.36: {}
nodemailer@8.0.2: {}
nyc@18.0.0:
dependencies:
'@istanbuljs/load-nyc-config': 1.1.0