Skip to content

Fix 25 problems from the log (http, runner, db) - #237

Merged
danielehrhardt merged 1 commit into
mainfrom
godmode/65-fix-25-problems-from-the-log-http-runner
Oct 23, 2026
Merged

danielehrhardt merged 1 commit into
mainfrom
godmode/65-fix-25-problems-from-the-log-http-runner

Conversation

@danielehrhardt

Copy link
Copy Markdown
Contributor

I fixed two of the 25 lines in code. The other 23 come from network outages, sleep, Claude sign-in problems, the stand-in Mac's old build, or database load, so I left those alone. The typecheck passes, and the touched tests pass (59 tests across workspace-sources, remote-e2e, devices-e2e and browser-sessions). The branch is merged with the latest origin/main with no conflicts, and everything is in one commit.

Changes

Source updates: DNS timeouts count as "offline" (packages/core/src/services/workspaceSources.ts)

  • When the DNS lookup timed out, git's error says "Resolving timed out after N milliseconds". That text didn't match the check for unreachable hosts, so the raw curl message ended up in the log and the UI. It also skipped the retry a few seconds later that a failed lookup normally gets.
  • Now it shows "Can't reach <host> — check the URL and your internet connection" and gets that retry.
  • New case in test/workspace-sources.test.ts.

Runner sync: a dropped link is no longer logged as a problem (packages/core/src/remote/runners.ts)

  • When a runner or another computer in the group goes offline or stops answering, these lines were logged as warnings, which landed in self-repair tickets:
    • "could not take the changes of …"
    • "could not catch up with the primary"
    • "could not copy the setup to runner …"
    • "Couldn't merge the agent's memory / copy the browser sessions with …"
  • A new linkGone(err) check (offline or timeout, also when wrapped in a sync error) logs them at info instead. The next connect retries anyway.
  • Real failures still log as warnings. The messages the user sees don't change.
  • New test in test/remote-e2e.test.ts.

Not code bugs (no change)

  • GET /api/calls/:id/audio (502): ElevenLabs timed out during a network outage on 10-19. This is already logged at info since Implement attachments to the expo app #59.
  • ENOTFOUND run failures (71), "Can't reach github.com" and "Timed out talking to github.com" source updates, the tasks clone update: network/DNS outages. The desktop shell's own update check failed at the same times.
  • Watchdog "before its first step" (37): clamshell sleep on 10-17. That build was older than the fix that makes the watchdog count only awake time, and none have happened since.
  • Browser "CDP connection closed" (21): the Mac going to sleep. The browser restarts the next time it's used.
  • "Claude Code is not signed in" (14): Claude's login on this Mac expired on 10-21, 02:20–06:00Z. Only signing in again fixes that.
  • 403 "Request not allowed" (8): short refusals by Claude's API on 10-18 to 10-20. Those runs are retried automatically.
  • "keep breaking the link to runner" (1): the stand-in Mac runs an older build that drops frames of very large chat answers. The mirror then leaves that chat out of catch-ups for 30 minutes, as designed, and the link was back to normal by 03:55Z. It goes away once that Mac updates.
  • "unknown API route" (2): the other Mac's older build asked for a route this version doesn't have.
  • Slow queries and blocked event loop:
    • The slow questions list (273 ms) and the conversation count (286 ms) take about 10 ms on a read-only copy of the database. Both use indexes or scan only about 1,300 rows, so the spikes came from load while runs were working.
    • The 2.2 s block with no runs working happened during the automatic cleanup's database step (checkpoint and optimize while idle). That's an accepted trade-off.
    • The rest are large in-flight chat messages, which is a known issue too big for an autofix.
  • "high memory use" (2): screenshots kept inline in desktop chats (known).

You don't need to do anything for this ticket. The two fixes reach this Mac and the runners only when you next update the app.


Task #65 · done by Self-Healer with Godmode Bot

@danielehrhardt
danielehrhardt merged commit 3472852 into main Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant