Chatwoot 4.0.2 is a beta release candidate
-
Actually, rolling back didn't work. Looks like because of the postgresql update.
-
Maybe related to this: I noticed that E-Mail parsing stopped working at some point. Will roll back to a backup prior to the automatic upgrade. These are the errors in the log:
Mar 15 11:48:22 I, [2025-03-15T10:48:22.604337 #26] INFO -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] Processing Email from: ADDRESS REMOVED : inbox 1 : message_id ADDRESS REMOVED Mar 15 11:48:22 I, [2025-03-15T10:48:22.626591 #26] INFO -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] Enqueued Avatar::AvatarFromGravatarJob (Job ID: e2b3a98b-2fd5-41c5-8003-2c79796b4e84) to Sidekiq(low) at 2025-03-15 10:48:52 UTC with arguments: #<GlobalID:0x0000722aac225710 @uri=#<URI::GID gid://chatwoot/Contact/34595>>, "ADDRESS REMOVED" Mar 15 11:48:22 I, [2025-03-15T10:48:22.634275 #26] INFO -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] [MailboxHelper] Contact created with ID: 34595 for inbox with ID: 1 Mar 15 11:48:22 E, [2025-03-15T10:48:22.644055 #26] ERROR -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] PG::NotNullViolation: ERROR: null value in column "display_id" of relation "conversations" violates not-null constraint Mar 15 11:48:22 DETAIL: Failing row contains (15656, 2, 1, 0, null, 2025-03-15 10:48:22.639327, 2025-03-15 10:48:22.639327, 34595, null, null, null, {"source": "email", "in_reply_to": null, "initiated_at": {"times..., 38058, 091c6023-c40d-4f9e-a1a2-5194df184209, null, 2025-03-15 10:48:22.605472, null, null, null, {}, null, null, null, null, 2025-03-15 10:48:22.639327, null). Mar 15 11:48:22 2025-03-15T10:48:22Z Mar 15 11:48:22 E, [2025-03-15T10:48:22.644207 #26] ERROR -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] Mar 15 11:48:22 Email dropped: ["ADDRESS REMOVED"] and message_source_id: ADDRESS REMOVED Mar 15 11:48:22 I, [2025-03-15T10:48:22.644413 #26] INFO -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] Processing Email from: ADDRESS REMOVED : inbox 1 : message_id ADDRESS REMOVED Mar 15 11:48:22 I, [2025-03-15T10:48:22.666879 #26] INFO -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] Enqueued Avatar::AvatarFromGravatarJob (Job ID: 8093629f-d30a-4aa9-9a35-90b636781568) to Sidekiq(low) at 2025-03-15 10:48:52 UTC with arguments: #<GlobalID:0x0000722aac998d80 @uri=#<URI::GID gid://chatwoot/Contact/34596>>, "ADDRESS REMOVED" Mar 15 11:48:22 I, [2025-03-15T10:48:22.674606 #26] INFO -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] [MailboxHelper] Contact created with ID: 34596 for inbox with ID: 1 Mar 15 11:48:22 E, [2025-03-15T10:48:22.684868 #26] ERROR -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] PG::NotNullViolation: ERROR: null value in column "display_id" of relation "conversations" violates not-null constraint Mar 15 11:48:22 DETAIL: Failing row contains (15657, 2, 1, 0, null, 2025-03-15 10:48:22.680143, 2025-03-15 10:48:22.680143, 34596, null, null, null, {"source": "email", "in_reply_to": null, "initiated_at": {"times..., 38059, 312ca8cb-0e7b-4da2-be3e-a7b2b6628792, null, 2025-03-15 10:48:22.645482, null, null, null, {}, null, null, null, null, 2025-03-15 10:48:22.680143, null). Mar 15 11:48:22 2025-03-15T10:48:22Z Mar 15 11:48:22 E, [2025-03-15T10:48:22.685034 #26] ERROR -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] Mar 15 11:48:22 Email dropped: ["ADDRESS REMOVED"] and message_source_id: ADDRESS REMOVED Mar 15 11:48:22 I, [2025-03-15T10:48:22.685277 #26] INFO -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] Processing Email from: ADDRESS REMOVED : inbox 1 : message_id ADDRESS REMOVED Mar 15 11:48:22 E, [2025-03-15T10:48:22.696427 #26] ERROR -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] PG::NotNullViolation: ERROR: null value in column "display_id" of relation "conversations" violates not-null constraint Mar 15 11:48:22 DETAIL: Failing row contains (15658, 2, 1, 0, null, 2025-03-15 10:48:22.693622, 2025-03-15 10:48:22.693622, 26902, null, null, null, {"source": "email", "in_reply_to": null, "initiated_at": {"times..., 26951, 90a70136-9e4e-4228-8722-4b736272a742, null, 2025-03-15 10:48:22.686238, null, null, null, {}, null, null, null, null, 2025-03-15 10:48:22.693622, null). Mar 15 11:48:22 2025-03-15T10:48:22Z Mar 15 11:48:22 E, [2025-03-15T10:48:22.696538 #26] ERROR -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] Mar 15 11:48:22 Email dropped: ["ADDRESS REMOVED"] and message_source_id: ADDRESS REMOVED Mar 15 11:48:22 I, [2025-03-15T10:48:22.696739 #26] INFO -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] Processing Email from: ADDRESS REMOVED : inbox 1 : message_id ADDRESS REMOVED Mar 15 11:48:22 E, [2025-03-15T10:48:22.715174 #26] ERROR -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] PG::NotNullViolation: ERROR: null value in column "display_id" of relation "conversations" violates not-null constraint Mar 15 11:48:22 DETAIL: Failing row contains (15659, 2, 1, 0, null, 2025-03-15 10:48:22.710946, 2025-03-15 10:48:22.710946, 26902, null, null, null, {"source": "email", "in_reply_to": null, "initiated_at": {"times..., 26951, af8b0c41-df9c-4024-9358-e62d5d53b314, null, 2025-03-15 10:48:22.697614, null, null, null, {}, null, null, null, null, 2025-03-15 10:48:22.710946, null). Mar 15 11:48:22 2025-03-15T10:48:22Z Mar 15 11:48:22 E, [2025-03-15T10:48:22.715305 #26] ERROR -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] Mar 15 11:48:22 Email dropped: ["ADDRESS REMOVED"] and message_source_id: ADDRESS REMOVED Mar 15 11:48:22 I, [2025-03-15T10:48:22.715595 #26] INFO -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] Performed Inboxes::FetchImapEmailsJob (Job ID: b146536f-4a34-4634-b535-43dfd0279a53) from Sidekiq(scheduled_jobs) in 890.43ms Mar 15 11:48:30 I, [2025-03-15T10:48:30.073724 #25] INFO -- : [f727cbff-ddd4-43b5-879e-c54ae4bbb140] Started GET "/" for 172.18.0.1 at 2025-03-15 10:48:30 +0000 Mar 15 11:48:30 I, [2025-03-15T10:48:30.078067 #25] INFO -- : [f727cbff-ddd4-43b5-879e-c54ae4bbb140] Processing by DashboardController#index as HTML Mar 15 11:48:30 I, [2025-03-15T10:48:30.121534 #25] INFO -- : [f727cbff-ddd4-43b5-879e-c54ae4bbb140] Rendered dashboard/index.html.erb within layouts/vueapp (Duration: 0.0ms | Allocations: 4) Mar 15 11:48:30 I, [2025-03-15T10:48:30.125175 #25] INFO -- : [f727cbff-ddd4-43b5-879e-c54ae4bbb140] Rendered layout layouts/vueapp.html.erb (Duration: 3.7ms | Allocations: 4217) Mar 15 11:48:30 I, [2025-03-15T10:48:30.125391 #25] INFO -- : [f727cbff-ddd4-43b5-879e-c54ae4bbb140] Completed 200 OK in 47ms (Views: 4.0ms | ActiveRecord: 4.5ms | Allocations: 20800) Mar 15 11:48:33 I, [2025-03-15T10:48:33.860684 #25] INFO -- : RoomChannel#update_presence Mar 15 11:48:40 I, [2025-03-15T10:48:40.087442 #25] INFO -- : [db8cee19-1cfb-426e-a056-7f4f12a6511f] Started GET "/" for 172.18.0.1 at 2025-03-15 10:48:40 +0000 Mar 15 11:48:40 I, [2025-03-15T10:48:40.093192 #25] INFO -- : [db8cee19-1cfb-426e-a056-7f4f12a6511f] Processing by DashboardController#index as HTML Mar 15 11:48:40 I, [2025-03-15T10:48:40.149137 #25] INFO -- : [db8cee19-1cfb-426e-a056-7f4f12a6511f] Rendered dashboard/index.html.erb within layouts/vueapp (Duration: 0.0ms | Allocations: 4) Mar 15 11:48:40 I, [2025-03-15T10:48:40.153162 #25] INFO -- : [db8cee19-1cfb-426e-a056-7f4f12a6511f] Rendered layout layouts/vueapp.html.erb (Duration: 4.1ms | Allocations: 4217) Mar 15 11:48:40 I, [2025-03-15T10:48:40.153405 #25] INFO -- : [db8cee19-1cfb-426e-a056-7f4f12a6511f] Completed 200 OK in 59ms (Views: 4.4ms | ActiveRecord: 12.8ms | Allocations: 20800) Mar 15 11:48:50 I, [2025-03-15T10:48:50.070926 #25] INFO -- : [41eeb43b-62d7-4fc9-9b20-210298d8e514] Started GET "/" for 172.18.0.1 at 2025-03-15 10:48:50 +0000 Mar 15 11:48:50 I, [2025-03-15T10:48:50.077099 #25] INFO -- : [41eeb43b-62d7-4fc9-9b20-210298d8e514] Processing by DashboardController#index as HTML Mar 15 11:48:50 I, [2025-03-15T10:48:50.133155 #25] INFO -- : [41eeb43b-62d7-4fc9-9b20-210298d8e514] Rendered dashboard/index.html.erb within layouts/vueapp (Duration: 0.0ms | Allocations: 4) Mar 15 11:48:50 I, [2025-03-15T10:48:50.136705 #25] INFO -- : [41eeb43b-62d7-4fc9-9b20-210298d8e514] Rendered layout layouts/vueapp.html.erb (Duration: 3.6ms | Allocations: 4217) Mar 15 11:48:50 I, [2025-03-15T10:48:50.136972 #25] INFO -- : [41eeb43b-62d7-4fc9-9b20-210298d8e514] Completed 200 OK in 60ms (Views: 3.9ms | ActiveRecord: 7.8ms | Allocations: 20800) Mar 15 11:48:53 I, [2025-03-15T10:48:53.861787 #25] INFO -- : RoomChannel#update_presence Mar 15 11:48:57 I, [2025-03-15T10:48:57.590921 #26] INFO -- : [ActiveJob] [Avatar::AvatarFromGravatarJob] [3f180368-8e43-458c-808c-69cfa2e42625] Skipping Avatar::AvatarFromGravatarJob with [{"_aj_globalid"=>"gid://chatwoot/Contact/34594"}, "ADDRESS REMOVED"] because of ActiveJob::DeserializationError (Error while trying to deserialize arguments: Couldn't find Contact with 'id'=34594) Mar 15 11:48:57 E, [2025-03-15T10:48:57.591662 #26] ERROR -- : [ActiveJob] [Avatar::AvatarFromGravatarJob] [3f180368-8e43-458c-808c-69cfa2e42625] Discarded Avatar::AvatarFromGravatarJob due to a ActiveJob::DeserializationError. Mar 15 11:48:57 I, [2025-03-15T10:48:57.591985 #26] INFO -- : [ActiveJob] [Avatar::AvatarFromGravatarJob] [3f180368-8e43-458c-808c-69cfa2e42625] Performed Avatar::AvatarFromGravatarJob (Job ID: 3f180368-8e43-458c-808c-69cfa2e42625) from Sidekiq(low) in 2.69ms Mar 15 11:48:57 I, [2025-03-15T10:48:57.594123 #26] INFO -- : [ActiveJob] [Avatar::AvatarFromGravatarJob] [e2b3a98b-2fd5-41c5-8003-2c79796b4e84] Skipping Avatar::AvatarFromGravatarJob with [{"_aj_globalid"=>"gid://chatwoot/Contact/34595"}, "ADDRESS REMOVED"] because of ActiveJob::DeserializationError (Error while trying to deserialize arguments: Couldn't find Contact with 'id'=34595) Mar 15 11:48:57 E, [2025-03-15T10:48:57.594212 #26] ERROR -- : [ActiveJob] [Avatar::AvatarFromGravatarJob] [e2b3a98b-2fd5-41c5-8003-2c79796b4e84] Discarded Avatar::AvatarFromGravatarJob due to a ActiveJob::DeserializationError. Mar 15 11:48:57 I, [2025-03-15T10:48:57.594270 #26] INFO -- : [ActiveJob] [Avatar::AvatarFromGravatarJob] [e2b3a98b-2fd5-41c5-8003-2c79796b4e84] Performed Avatar::AvatarFromGravatarJob (Job ID: e2b3a98b-2fd5-41c5-8003-2c79796b4e84) from Sidekiq(low) in 3.0ms Mar 15 11:48:57 I, [2025-03-15T10:48:57.595058 #26] INFO -- : [ActiveJob] [Avatar::AvatarFromGravatarJob] [8093629f-d30a-4aa9-9a35-90b636781568] Skipping Avatar::AvatarFromGravatarJob with [{"_aj_globalid"=>"gid://chatwoot/Contact/34596"}, "ADDRESS REMOVED"] because of ActiveJob::DeserializationError (Error while trying to deserialize arguments: Couldn't find Contact with 'id'=34596) Mar 15 11:48:57 E, [2025-03-15T10:48:57.595112 #26] ERROR -- : [ActiveJob] [Avatar::AvatarFromGravatarJob] [8093629f-d30a-4aa9-9a35-90b636781568] Discarded Avatar::AvatarFromGravatarJob due to a ActiveJob::DeserializationError. Mar 15 11:48:57 I, [2025-03-15T10:48:57.595160 #26] INFO -- : [ActiveJob] [Avatar::AvatarFromGravatarJob] [8093629f-d30a-4aa9-9a35-90b636781568] Performed Avatar::AvatarFromGravatarJob (Job ID: 8093629f-d30a-4aa9-9a35-90b636781568) from Sidekiq(low) in 2.83ms Mar 15 11:49:00 I, [2025-03-15T10:49:00.097572 #25] INFO -- : [1cecfba5-ea76-4990-a563-666ffc92685c] Started GET "/" for 172.18.0.1 at 2025-03-15 10:49:00 +0000@andreasdueren said in Chatwoot 4.0.2 is a beta release candidate:
Mar 15 11:48:22 E, [2025-03-15T10:48:22.644055 #26] ERROR -- : [ActiveJob] [Inboxes::FetchImapEmailsJob] [b146536f-4a34-4634-b535-43dfd0279a53] PG::NotNullViolation: ERROR: null value in column "display_id" of relation "conversations" violates not-null constraint
This seems like some error in the app.
-
@andreasdueren did you try deleting/updating/resaving the inbox configuration ? It looks like something is null when it shouldn't be.
@girish Yes I updated/resaved the inbox configuration various times. I don't really want to delete the whole inbox because then I would loose all my custom data like private comments and outwards communication. I'll try to add another one and see if that works.
-
@girish Yes I updated/resaved the inbox configuration various times. I don't really want to delete the whole inbox because then I would loose all my custom data like private comments and outwards communication. I'll try to add another one and see if that works.
@andreasdueren said in Chatwoot 4.0.2 is a beta release candidate:
I'll try to add another one and see if that works.
Didn't seem to work either
-
I believe I solved this.
- My system was creating contacts for incoming emails
- When trying to create conversations, it failed with:
null value in column "display_id" violates not-null constraint - This caused all emails to be dropped
How I fixed it:
-
I checked for the sequence in PostgreSQL:
SELECT last_value FROM conversations_display_id_seq;Got error:
relation "conversations_display_id_seq" does not exist -
I checked available sequences and found only:
- conversation_participants_id_seq
- conversations_id_seq
-
I created the missing sequence:
CREATE SEQUENCE conversations_display_id_seq; -
I linked it to the conversations table:
ALTER TABLE conversations ALTER COLUMN display_id SET DEFAULT nextval('conversations_display_id_seq'); -
I initialized it with current data:
SELECT setval('conversations_display_id_seq', (SELECT COALESCE(MAX(display_id), 1) FROM conversations), false); -
Then I restarted my Chatwoot app to apply these changes.
-
Seems to all work now.
-
I believe I solved this.
- My system was creating contacts for incoming emails
- When trying to create conversations, it failed with:
null value in column "display_id" violates not-null constraint - This caused all emails to be dropped
How I fixed it:
-
I checked for the sequence in PostgreSQL:
SELECT last_value FROM conversations_display_id_seq;Got error:
relation "conversations_display_id_seq" does not exist -
I checked available sequences and found only:
- conversation_participants_id_seq
- conversations_id_seq
-
I created the missing sequence:
CREATE SEQUENCE conversations_display_id_seq; -
I linked it to the conversations table:
ALTER TABLE conversations ALTER COLUMN display_id SET DEFAULT nextval('conversations_display_id_seq'); -
I initialized it with current data:
SELECT setval('conversations_display_id_seq', (SELECT COALESCE(MAX(display_id), 1) FROM conversations), false); -
Then I restarted my Chatwoot app to apply these changes.
-
Seems to all work now.
-
I believe I solved this.
- My system was creating contacts for incoming emails
- When trying to create conversations, it failed with:
null value in column "display_id" violates not-null constraint - This caused all emails to be dropped
How I fixed it:
-
I checked for the sequence in PostgreSQL:
SELECT last_value FROM conversations_display_id_seq;Got error:
relation "conversations_display_id_seq" does not exist -
I checked available sequences and found only:
- conversation_participants_id_seq
- conversations_id_seq
-
I created the missing sequence:
CREATE SEQUENCE conversations_display_id_seq; -
I linked it to the conversations table:
ALTER TABLE conversations ALTER COLUMN display_id SET DEFAULT nextval('conversations_display_id_seq'); -
I initialized it with current data:
SELECT setval('conversations_display_id_seq', (SELECT COALESCE(MAX(display_id), 1) FROM conversations), false); -
Then I restarted my Chatwoot app to apply these changes.
-
Seems to all work now.
-
@andreasdueren great write up. I am curious how you came to find such database details? Did you guess your way or is there some upstream issue to track?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login