[Bug] Android sessions never get auto titles on 1.0.7+ hosts: legacy APK placeholder "Remote Code Session" is persisted as user-edited

未关闭
#3,809 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
49/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
kotlin, rust
领域
backend, mobile

调研方向

Start with create_agent_session_from_runtime_request and update_session_title_if_current in coordinator.rs, then check the legacy SessionNaming.wireSessionName behavior in SessionListPolicy.kt. Reproduce the Android session title flow and add a focused unit test for the three legacy placeholders; done when those sessions receive automatic titles and the existing explicit-title behavior remains intact. The logging request and unverified rename hypothesis may need separate investigation.

由索引模型根据 Issue 内容生成。

描述

Summary

Sessions created from the published Android APK never get an automatic title: they stay named Remote Code Session forever. Host: OpenBitFun CLI 1.0.9 daemon (Linux x86_64). Client: OpenBitFun-Mobile-1.0.0-android-debug.apk (release mobile-v1.0.0, the latest Android build published).

Root cause (source-verified)
  1. The mobile-v1.0.0 APK sends a literal placeholder when the user typed no title: SessionNaming.wireSessionName returns "Remote Code Session" / "Remote Cowork Session" / "Remote Assistant Session" (src/apps/mobile/shared/core-domain/.../SessionListPolicy.kt at tag mobile-v1.0.0).
  2. Since v1.0.7 the host treats any non-empty session_name from remote_relay/bot as an explicit user title and persists {"titleSource":"text","titleUserEdited":true} (create_agent_session_from_runtime_request in coordinator.rs, still present on main).
  3. update_session_title_if_current then returns early on titleUserEdited, so the first-turn auto title is never applied.

The client side was fixed in 6f931e418 (#3406, 2026-10-16: blank wire name, host picks the default), but no Android build containing it has been published, so every current Android user hits this with any 1.0.7+ host.

Evidence on my host
  • Every session whose first turn id starts with mobile- has sessionName: "Remote Code Session", titleSource: "text", titleUserEdited: true; locally created sessions get generated titles normally (re-tested on 1.0.9: Session title updated: ... title=Reply With OK).
  • Daemon log for the Android sessions: Skipped auto session title update because title changed. This wording is misleading: the same message is logged for the titleUserEdited early return, not only for a real title race.
Requests
  1. Publish an Android build that includes 6f931e418, or
  2. Host-side compatibility: treat exactly these three legacy placeholders from remote_relay/bot as the default-title path. I have a small patch with a unit test against v1.0.9 (built and tested locally) and can open a PR if that approach is acceptable.
  3. Log a distinct message when the skip is caused by titleUserEdited.
Possibly related, not reproduced yet

In remote_surface/table.rs, update_session_title is CLI_NOT_IMPLEMENTED for the CLI peer host (only rename_session is handled), while the desktop LocalSessionDriver.renameSession invokes update_session_title. If the desktop uses that path when controlling a CLI peer host, rename would be refused. I could not capture the desktop request, so please treat this as a hypothesis.

主要语言
Rust
星标
2.3k
派生
236
平均合并
12 小时 20 分钟
30 天内合并 PR
373

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

GCWing/OpenBitFun 的其他 Issue

查看 GCWing/OpenBitFun 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。