[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 小時 39 分鐘
30 天內合併 PR
361

環境準備

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

GCWing/OpenBitFun 的其他 Issue

查看 GCWing/OpenBitFun 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。