Skip to content

Happier Queue Gets Backed Up #108

@fny

Description

@fny

Summary

After a background task ran, messages from Happier "backed up." Claude notified me that he would respond when the task was done, then while he presumably worked, I could send another message. The first message I sent yielded no response. The second message I sent yielded a response to my prior message, and this chain continued.

Attached are logs I tailed from the message sending response delays. I'm not sure where to look for what happened after the background task ran.

ubuntu@gpu:~/.happier/logs$ tail -f 2026-03-03-05-46-48-pid-58826.log
[15:35:29.060] [MessageQueue2] Notifying waiter
[15:35:29.060] [MessageQueue2] push() completed. Queue size: 1
[15:35:29.060] [MessageQueue2] Collected batch of 1 messages with mode hash: xxxxxxxxxxxxxxx
[15:35:29.062] [SOCKET] Sending ACP message from claude: {"type":"task_started","hasMessage":false}
[15:35:29.064] [SOCKET] Sending ACP message from claude: {"type":"task_complete","hasMessage":false}
[15:35:29.222] [MessageQueue2] Waiting for messages...
[15:35:29.305] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:35:29.306] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:35:29.306] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:35:29.306] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:40:08.288] [loop] Permission mode updated from user message to: yolo
[15:40:08.289] [loop] User message received with no model override, using current: default
[15:40:08.289] [loop] User message received with no custom system prompt override, using current: none
[15:40:08.289] [loop] User message received with no fallback model override, using current: none
[15:40:08.289] [loop] Append system prompt updated from user message: set
[15:40:08.290] [loop] User message received with no allowed tools override, using current: none
[15:40:08.290] [loop] User message received with no disallowed tools override, using current: none
[15:40:08.290] [MessageQueue2] push() called with mode hash: xxxxxxxxxxxxxxx
[15:40:08.290] [MessageQueue2] Notifying waiter
[15:40:08.290] [MessageQueue2] push() completed. Queue size: 1
[15:40:08.291] [MessageQueue2] Collected batch of 1 messages with mode hash: xxxxxxxxxxxxxxx
[15:40:08.293] [SOCKET] Sending ACP message from claude: {"type":"task_started","hasMessage":false}
[15:40:08.294] [SOCKET] Sending ACP message from claude: {"type":"task_complete","hasMessage":false}
[15:40:08.457] [MessageQueue2] Waiting for messages...
[15:40:08.513] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:40:08.514] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:40:08.515] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:40:08.518] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:40:08.519] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:40:08.519] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:40:12.124] [RPC] Calling handler {"method":"cmma52jaw5djbs93cd61wn6yv:scm.status.snapshot"}
[15:40:12.153] [RPC] Handler returned {"method":"cmma52jaw5djbs93cd61wn6yv:scm.status.snapshot","hasResult":true}
[15:40:12.156] [RPC] Sending encrypted response {"method":"cmma52jaw5djbs93cd61wn6yv:scm.status.snapshot","responseLength":64980}
[15:40:50.392] [loop] Permission mode updated from user message to: yolo
[15:40:50.392] [loop] User message received with no model override, using current: default
[15:40:50.393] [loop] User message received with no custom system prompt override, using current: none
[15:40:50.393] [loop] User message received with no fallback model override, using current: none
[15:40:50.393] [loop] Append system prompt updated from user message: set
[15:40:50.393] [loop] User message received with no allowed tools override, using current: none
[15:40:50.393] [loop] User message received with no disallowed tools override, using current: none
[15:40:50.394] [MessageQueue2] push() called with mode hash: xxxxxxxxxxxxxxx
[15:40:50.394] [MessageQueue2] Notifying waiter
[15:40:50.394] [MessageQueue2] push() completed. Queue size: 1
[15:40:50.394] [MessageQueue2] Collected batch of 1 messages with mode hash: xxxxxxxxxxxxxxx
[15:40:50.397] [SOCKET] Sending ACP message from claude: {"type":"task_started","hasMessage":false}
[15:40:50.397] [SOCKET] Sending ACP message from claude: {"type":"task_complete","hasMessage":false}
[15:40:50.680] [MessageQueue2] Waiting for messages...
[15:40:50.794] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:40:50.794] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:40:50.795] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:40:50.795] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event
[15:40:50.795] [SOCKET] [UPDATE] Decrypted new-message is not a UserMessage payload; forwarding generic event

Reproduction steps

Trigger a long running background task (i.e. build docker container, compile something) where Claude responds "I'll notify you when this is finished"

Severity

High

Frequency

Unknown

Happier version

v0.1.0

Platform

Latest iOS (mobile) / Ubuntu 24 (server) / Web UI

Server version

Cloud

Diagnostics ID

Not sure where to find this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions