feat(notify): add notif to internal users when granted

- add coalesced protection to avoid mail bombing if an invited goes many grant in a short period
    - add resentd method in share menu item (work for both internal and external users)
    - user can disable email notification via his properties
    - add env variable from admin to disable notifications
This commit is contained in:
Edouard Vanbelle
2026-06-05 09:46:51 +02:00
parent b8e8fcd7dc
commit 8cc21f17c5
45 changed files with 1906 additions and 81 deletions
+9 -1
View File
@@ -20,7 +20,7 @@
"email": {
"invitation": {
"subject": "{{inviter}} ha compartido un {{kind}} contigo en OxiCloud",
"body": "{{inviter}} ha compartido un {{kind}} contigo en OxiCloud.\n\nÁbrelo haciendo clic en el enlace de abajo:\n{{link}}\n\nEl enlace es de un solo uso y expira en {{ttl_hours}} horas.\nSi no esperabas esta invitación, puedes ignorar este mensaje.\n\n— OxiCloud"
"body": "{{inviter_full}} ha compartido un {{kind}} contigo en OxiCloud.\n\nÁbrelo haciendo clic en el enlace de abajo:\n{{link}}\n\nEl enlace es de un solo uso y expira en {{ttl_hours}} horas.\nSi no esperabas esta invitación, puedes ignorar este mensaje.\n\n— OxiCloud"
},
"login": {
"subject": "Inicia sesión en OxiCloud",
@@ -30,6 +30,12 @@
"kind_folder": "carpeta",
"english_fallback_divider": "--- Versión en inglés a continuación ---"
}
},
"notification": {
"share": {
"subject": "{{inviter}} ha compartido un {{kind}} contigo en OxiCloud",
"body": "{{inviter_full}} ha compartido un {{kind}} contigo en OxiCloud.\n\nAbre OxiCloud para ver tu nuevo recurso compartido:\n{{login_link}}\n\nPuede que tengas más recursos compartidos nuevos de {{inviter}} — inicia sesión para ver todos tus elementos compartidos.\n\n— OxiCloud\n\nRecibes este mensaje porque tienes una cuenta de OxiCloud y la preferencia de notificación de recursos compartidos está activada. Puedes desactivarla en tu perfil (Enviarme un correo cuando alguien comparta conmigo)."
}
}
},
"app": {
@@ -742,6 +748,8 @@
"username_already_claimed": "Nombre de usuario fijado y no modificable (los clientes DAV/NextCloud dependen de él).",
"given_name": "Nombre",
"family_name": "Apellidos",
"notify_on_share": "Enviarme un correo cuando alguien comparta conmigo",
"notify_on_share_hint": "Cuando esté desmarcado, los recursos compartidos seguirán apareciendo en tu cuenta — simplemente no recibirás un correo sobre ellos.",
"save_profile": "Guardar cambios",
"profile_saved": "Perfil actualizado",
"profile_no_changes": "Sin cambios que guardar.",