Repository navigation
Fix 9 problems from the log (http, db, perf) - #149
Merged
danielehrhardt merged 4 commits intoOct 11, 2026
Merged
Conversation
… runs and silent usage limit exits - A screenshot that arrives cut short (the phone went away meanwhile) is a device error the app can show, not a failed request. - The copy of a run that stands still on a runner is no longer closed, and warned about, on every start. - The watchdog lets a run sleep as long as it asked Claude Code to wake it later (ScheduleWakeup). - A run Claude Code ends without a word right after the usage limit ended another one waits for the reset too.
…ry save While a run works its message is saved every few seconds. Its screenshots are most of its size (up to 8 MB) and never change: they are written once to message_images, the blocks are saved without them, and whoever reads the message gets them back. When the run ends or stands still the message is saved whole again.
…lems-from-the-log-http-db-perf # Conflicts: # packages/core/src/db/migrations.ts
…save, a sleeping run with a background task - The message page and the picture of a step (phone app) read the screenshots a working run keeps apart. - Saving a message whole and dropping what was kept apart is one transaction; a save for a deleted chat does nothing. - A scheduled wakeup also counts while a background task runs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix 9 problems from the log (http, db, perf)
Five of the reported problems had causes in the code and are fixed; two are left unchanged on purpose. Typecheck passes and the core suite passes on the branch merged with the latest
main, apart from tests that fail only inside this session's environment.Fixed
GET /api/android/devices/:id/screenshot failed: a screenshot cut short while the phone went away threw a raw zlib error and answered 500. It is now a device error the app can show ("The phone sent an incomplete picture").could not close run …/closed 1 paused run(s) that couldn't be continued: on every start, the local copy of a paused run in a runner's chat was taken for a lost pause and cancelled, which fails while the runner is offline. Its pause is kept on the runner, so these copies are now left alone.run failed: Claude Code exited with code 1(3 times): all three hit the usage limit. Claude Code's own session transcript, checked for one of them, has the limit message, but it never reached Godmode. A run that ends with a non-zero exit and no output within 5 minutes of another run hitting the limit now waits for the reset. Delegated runs fail with "Claude's session limit is reached" instead.slow database query: UPDATE messages SET blocksand mostevent loop blocked: a working run's message was rewritten whole every few seconds, and 7 to 9 MB of it were screenshots that never change.message_images(migration 87). When the run ends or pauses, the message is saved whole again.Not changed
run failed: You've hit your session limit(2 times): the account's usage limit. Both were delegated runs, which fail by design and report to the run that delegated them.slow database query: SELECT * FROM messages WHERE conversation_id = ?and the remaining blocked event loop: opening a chat in the desktop app loads the whole chat with every screenshot inline. The largest chats are 60 to 130 MB, and 71 messages from before the 8 MB screenshot cap hold 1.2 GB.Tests
android,pause,heartbeats(watchdog),run-streamandrunner.folders.test.ts"list subfolders", which fails here because the temp directory has more than 500 entries; it passes with an empty temp directory.mainhad moved on (a taken migration number and two new message readers), plus three smaller findings (a save for a deleted chat, non-atomic whole saves, a watchdog gap). All are fixed in the last commit.For Daniel
Task #43 · done by Self-Healer with Godmode Bot