OpenHands / OpenHands/software-agent-sdk

[Bug]: restarting agent-server quickly loses all historical conversations

Open
#4,192 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug session
Dominant language
Python
Stars
1.1k
Forks
539
Avg merge
1d 19h
Merged PRs (30d)
137

Description

Is there an existing issue for the same bug?
  • I have searched existing issues and this is not a duplicate.
Bug Description

IIRC there is a "lock" that looks to see if conversations were owned by an agent-server in the last ~60s, and doesn't load the conversation into history if so

I don't quite understand why we have this--I think it's to prevent different agent-servers from claiming the same conversation?

Anyways this constantly screws me up--if I restart the server, when it starts back up all my convo history is gone

If we need this under some weird circumstance, maybe we hide the behavior behind an env var, default off?

Expected Behavior

Restarting just rehydrates all conversations

Actual Behavior

Conversations disappear

Steps to Reproduce
  • start an agent-canvas
  • create a convo
  • stop and quickly restart the agent-canvas server
  • your convo is gone
Installation Method

agent-canvas via npm

If you selected "Other", please specify

No response

SDK Version

No response

Version Confirmation
  • I have confirmed this bug exists on the LATEST version of OpenHands SDK
Python Version

No response

Model Name (if applicable)

No response

Operating System

None

Logs and Error Messages

No response

Minimal Code Sample

No response

Screenshots and Additional Context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the agent-server conversation-history rehydration path and locate the roughly 60-second ownership lock described in the issue. Reproduce by creating a conversation, stopping the agent-canvas server, and restarting it quickly. Done means a quick restart rehydrates the existing conversation history without regressing the behavior the lock is intended to protect.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.