kolaente
eea59c33c7
fix: isolate deletion notifications into per-user transactions
...
On Postgres, a failed operation puts the transaction in an error state
where subsequent operations fail. The previous loop with continue would
keep trying to use a broken transaction. Each user now gets its own
transaction so a single notification failure doesn't affect others.
2026-02-25 11:03:02 +01:00
kolaente
49bba7f830
fix: eliminate nested database sessions to prevent table locks
...
Refactor functions that created their own sessions when called from
within existing transactions, which caused "database table is locked"
errors in SQLite's shared-cache mode.
Changes:
- Add files.CreateWithSession() to reuse caller's session
- Refactor DeleteBackgroundFileIfExists() to accept session parameter
- Add variadic session parameter to notifications.Notify() and
Notifiable.ShouldNotify() interface
- Update all Notify callers (~17 sites) to pass their session through
- Use files.CreateWithSession in SaveBackgroundFile and NewAttachment
- Fix test code to commit sessions before assertions
2026-02-25 11:03:02 +01:00
kolaente
764d3569ce
fix: close leaked database sessions
...
Add defer s.Close() to sessions that were never closed:
- auth.GetAuthFromClaims inline session
- models.deleteUsers cron function
- notifications.notify database insert
2026-02-25 11:03:02 +01:00
John Starich
591a646f84
refactor: remove environment variable requirements for go test
2026-02-17 18:01:05 +01:00
kolaente
28593e6460
fix: use dark shadows for email template in dark mode ( #2155 )
2026-01-26 15:46:44 +01:00
kolaente
8987f0890a
fix(mail): disable queue when mailer disabled ( #2069 )
...
- Don't create the mail queue when the mailer is disabled to prevent
`SendMail()` from blocking indefinitely
- Add guard clause in `SendMail()` to return early when mailer is
disabled or queue is nil
- Add test to verify notifications don't block when mailer is disabled
This implements the changes from #1080 with the review feedback
addressed (using `package notifications` instead of `package
notifications_test`).
Closes #1080
2026-01-08 15:51:31 +01:00
kolaente
fb7764d9f1
feat: format user mentions with display names in email notifications ( #1930 )
...
Email notifications now display user mentions with inline avatar images for improved visual recognition and easier identification. Mentions gracefully fall back to display names if avatars are unavailable.
2025-12-10 12:39:05 +01:00
Copilot
7729a3dcad
fix: HTML entity double-escaping in email notifications ( #1829 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
2025-11-15 21:37:09 +01:00
Copilot
f2a1348c51
feat: add thread IDs to task notification emails for client-side threading ( #1826 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
2025-11-15 18:58:32 +01:00
kolaente
ca83ad1f98
feat: move to slog for logging
2025-07-21 18:15:39 +02:00
Dominik Pschenitschni
296577a875
fix: correct license header references ( #882 )
...
See originals:
- https://www.gnu.org/licenses/agpl-3.0.txt
- https://www.gnu.org/licenses/gpl-3.0.txt
2025-06-10 12:18:38 +02:00
kolaente
cb0e68f625
fix(i18n): make notification settings link translatable
2025-05-15 09:18:27 +02:00
renovate[bot]
4a75f7d4da
chore(deps): update golangci/golangci-lint-action action to v7 ( #462 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
2025-04-02 09:28:56 +02:00
kolaente
13d4e0e00d
chore(utils): remove deprecated MakeRandomString function
2025-03-24 16:52:46 +01:00
kolaente
250bb8ec99
fix(i18n): pass language to notification mail function
2025-03-02 12:29:31 +01:00
kolaente
c00768499f
fix(notifications): test assertion
2025-03-02 12:05:17 +01:00
kolaente
e11a3026b9
feat: translate notifications
2025-03-02 11:41:38 +01:00
kolaente
f25f983417
feat(notifications): include link to settings in notifications
2025-01-20 17:38:18 +01:00
kolaente
5892622676
fix(notifications): rendering of plaintext mails
2024-04-07 14:12:44 +02:00
kolaente
191a476823
fix(notifications): only sanitze html content in notifications, do not convert it to markdown
...
Resolves https://community.vikunja.io/t/trello-import-html-mails/2197
2024-04-07 13:34:53 +02:00
kolaente
119c68be9d
feat: rename frontend url config to public url
2024-02-09 14:41:55 +01:00
kolaente
c05f51b923
chore(deps): update golangci-lint rules
2023-12-19 13:34:31 +01:00
kolaente
10c9913e12
feat(notifications): add endpoint to mark all notifications as read
2023-10-20 16:40:47 +02:00
kolaente
d6db498853
fix: lint
2023-09-04 14:25:46 +02:00
kolaente
80b40bb2c0
feat(notify): don't notify disabled users
2023-09-04 14:23:56 +02:00
kolaente
e518fb1191
chore: remove year from copyright headers
...
Resolves https://kolaente.dev/vikunja/api/pulls/1483
2023-09-01 08:32:28 +02:00
kolaente
d83e3a0a03
chore: remove cache options
...
Cache was not working correctly, added more complexity and actually made response times slower. Because of this, I'm removing all cache options until we figure out a better solution.
Resolves https://kolaente.dev/vikunja/api/issues/1496
Resolves https://kolaente.dev/vikunja/api/issues/907
2023-06-08 17:05:36 +02:00
kolaente
2dad404217
fix: typo in email template
2023-04-14 10:29:54 +02:00
kolaente
73c4c399e5
feat: use embed fs directly to embed the logo in mails
2022-07-07 15:54:38 +02:00
kolaente
d0e09d69d0
fix: tests
2022-06-30 14:21:17 +00:00
kolaente
f4f8450d16
feat: embed the vikunja logo as inline attachment
2022-06-30 14:21:17 +00:00
konrad
27119ad6d4
User account deletion ( #937 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/937
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-08-11 19:08:10 +00:00
konrad
1571dfa825
Task mentions ( #926 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/926
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-29 15:42:49 +00:00
kolaente
6e263b6a91
Improve sending overdue task reminders by only sending one for all overdue tasks
2021-04-18 15:32:02 +02:00
kolaente
4880a0265b
Fix notifications table not being created on initial setup
2021-02-22 21:20:13 +01:00
konrad
2178166ece
Add crud endpoints for notifications ( #801 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/801
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-02-21 14:50:34 +00:00
kolaente
bef22f5756
Fix tests
2021-02-14 23:03:44 +01:00
kolaente
83f003355d
Fix sending notifications to users if the user object didn't have an email
2021-02-14 22:44:01 +01:00
konrad
015ca310e9
Add notifications package for easy sending of notifications ( #779 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/779
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-02-07 21:05:09 +00:00