Skip to content

improve cross-device experience (message/context sync) #102

Open

Description

@ZhenHuangLab

Good project. But now when I launch happy in my own computer and submit a prompt, I cannot see how is it going on my phone; and when I interrupt the session from my mobile phone, the context gained on my computer is totally lost. (it seems that when I type something on my phone, a brand new session is opened on my computer and the previous session didn't go on...)

Similarly, If I start a session on my phone and in the mid-session I interrupt it on my computer (just hit space twice - change it to the local mode), the context on my phone is also lost and I cannot continue the seesion. A new session is also started and claude code just doesnt know what happened on the phone before...

When using codex by happy codex, I can only start my session on the phone but not my computer.

Could you please help improve the cross-device experience? Thanks a lot.

My setups:

  • Happy (ios 18.6.2)
  • self-hosted happy server
  • macos 15.6.1
  • Happy cli version: 0.10.0
  • Platform: darwin x64
  • Node.js Version: v20.19.4

Activity

  1. yeroc commented on Sep 17, 2025

    @yeroc

    Ran into this myself as well. I'm using happy with claude code so it's not just a codex thing.

  2. aiyinyuedejustin commented on Sep 24, 2025

    @aiyinyuedejustin

    exact same problem, android phone, mac. all software latest

  3. jpcoder2 commented on Oct 24, 2025

    @jpcoder2

    This still seems to be an issue. Any fix coming or a workaround? Just a feature to re-output the last X lines might be helpful.

  4. MattStarfield commented on Oct 25, 2025

    @MattStarfield

    Update: Root Cause Found

    The cross-device sync issues reported here have been traced to a missing message handler in the daemon. Full technical analysis is in #191.

    Root Cause: When remote sessions are initiated (phone → computer), the daemon receives new-session updates but doesn't have a handler for them, so local session state is never created. This is why switching devices appears to "start a new session" - the session literally doesn't exist on the other device.

    Affects: All platforms, versions 0.7.x through 0.11.0

    See #191 for daemon logs, reproduction steps, and suggested fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    • Status
      Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions