Skip to content

Notification emails don't work for one user #1420

@tigunia-martin

Description

@tigunia-martin

Self hosted via Docker, using Mailgun for SMTP.

My user, which was the first user on the site, no longer gets notified of new posts, comments, mentions, etc. Every other user does according to mailgun logs.

If I click the "Send a sample invite" button on the settings -> invitations page, I get the email without an issue.

I've checked the settings in my user settings to ensure I have email selected - and I do, along with web notifications. The web app does mark things as unread as expected. I have tried turning it off, saving, turning it back on, saving and it hasn't helped.

This used to work with no changes other then version updates.

Mailgun does not show the mail attempts. In fact, I think Fider isn't even attempting to send the mail because when the logs say it's sending notifications, it is the same number as emails that go out.

Here's some logs:
INFO [2025-12-18T02:57:00Z] [MIGRATE] Running migrations... INFO [2025-12-18T02:57:00Z] [MIGRATE] Found total of 79 migration files. INFO [2025-12-18T02:57:00Z] [MIGRATE] Current version is 202507161200 INFO [2025-12-18T02:57:00Z] [MIGRATE] Migrations are already up to date. DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] Service 'blobstorage.SQL' has been initialized. DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] Service 'email.Mailgun' has been initialized. DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] Service 'httpclient.HTTP' has been initialized. DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] Service 'log.Console' has been initialized. DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] Service 'log.SQL' has been initialized. DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] Service 'sqlstore.PostgreSQL' has been initialized. DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] Service 'hook.Webhook' has been initialized. DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] Service 'OAuth.HTTP' has been initialized. DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] SELECT key FROM blobs WHERE key LIKE $1 AND (tenant_id = $2 OR ($2 IS NULL AND tenant_id IS NULL)) [etc/% {0 false}] executed in 19ms DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] No etc/ files to copy DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] Job 'PurgeExpiredNotificationsJob' scheduled to run '0 0 * * * *' DEBUG [2025-12-18T02:57:00Z] [BOOTSTRAP] Job 'EmailSupressionJob' scheduled to run '0 5 * * * *' INFO [2025-12-18T02:57:00Z] [WEB] Application is starting INFO [2025-12-18T02:57:00Z] [WEB] Version: dev-320825dd581af5167477fac888fc9d2603b25fe5 INFO [2025-12-18T02:57:00Z] [WEB] Environment: production INFO [2025-12-18T02:57:00Z] [WEB] http server started on :3000 INFO [2025-12-18T02:57:00Z] [BGW] Starting worker 0.
There are 4 people who want new post notifications on
INFO [2025-12-18T02:51:34Z] [BGW] Task 'Notify about new post' started on worker '0' DEBUG [2025-12-18T02:51:35Z] [BGW] SELECT DISTINCT u.id, u.name, u.email, u.tenant_id, u.role, u.status FROM users u LEFT JOIN user_settings set ON set.user_id = u.id AND set.tenant_id = u.tenant_id AND set.key = $1 WHERE u.tenant_id = $2 AND u.status = $5 AND ( (set.value IS NULL AND u.role = ANY($3)) OR CAST(set.value AS integer) & $4 > 0 ) ORDER by u.id [event_notification_new_post 1 {[administrator collaborator]} 1 active] executed in 8ms DEBUG [2025-12-18T02:51:35Z] [BGW] INSERT INTO notifications (tenant_id, user_id, title, link, read, post_id, author_id, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $8) RETURNING id [1 3 New post: **Test, ignore** /posts/77/test-ignore false 77 1 2025-12-18 02:51:35.0050299 +0000 UTC m=+100.441095362] executed in 6ms DEBUG [2025-12-18T02:51:35Z] [BGW] INSERT INTO notifications (tenant_id, user_id, title, link, read, post_id, author_id, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $8) RETURNING id [1 10 New post: **Test, ignore** /posts/77/test-ignore false 77 1 2025-12-18 02:51:35.011916075 +0000 UTC m=+100.447981637] executed in 0ms DEBUG [2025-12-18T02:51:35Z] [BGW] INSERT INTO notifications (tenant_id, user_id, title, link, read, post_id, author_id, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $8) RETURNING id [1 11 New post: **Test, ignore** /posts/77/test-ignore false 77 1 2025-12-18 02:51:35.012674849 +0000 UTC m=+100.448740311] executed in 0ms DEBUG [2025-12-18T02:51:35Z] [BGW] SELECT DISTINCT u.id, u.name, u.email, u.tenant_id, u.role, u.status FROM users u LEFT JOIN user_settings set ON set.user_id = u.id AND set.tenant_id = u.tenant_id AND set.key = $1 WHERE u.tenant_id = $2 AND u.status = $5 AND u.email_supressed_at IS NULL AND ( (set.value IS NULL AND u.role = ANY($3)) OR CAST(set.value AS integer) & $4 > 0 ) ORDER by u.id [event_notification_new_post 1 {[administrator collaborator]} 2 active] executed in 2ms DEBUG [2025-12-18T02:51:35Z] [BGW] Sending email to 3 recipients with template new_post. DEBUG [2025-12-18T02:51:35Z] [BGW] Email sent with response code 200. DEBUG [2025-12-18T02:51:35Z] [BGW] SELECT id, name, type, status, url, content, http_method, http_headers FROM webhooks WHERE tenant_id = $1 AND type = $2 AND status = $3 ORDER BY id [1 1 1] executed in 1ms INFO [2025-12-18T02:51:35Z] [BGW] Task 'Notify about new post' finished in 347ms (committed)

I'm at a loss as to what to look at next.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions