Skip to content

fix(workflow): LIVE orange Reconnecting… stays up while Workflows show Running #1506

Closed as not planned

Description

@Birfy

Problem

Written-by: bot-im LIVE inspect (Asia/Shanghai 2026-10-28), owner confirmed 「这些问题也要提issue去改」.

On LIVE prod (tip ~55e1c27a, cookie proxy) the shell shows a persistent orange 「Reconnecting...」 banner even while Workflow rooms correctly show runs as Running. Live connection / status chrome looks stale; operators cannot tell whether the socket is healthy or whether runs are zombies.

Repro context

  • Workflows inspected: 「FlyBot issue → 合入」 and 「PR → 合入」
  • Prod tip at inspect time: ~55e1c27a
  • Access: LIVE via cookie proxy

Actual

  • Orange Reconnecting… stays visible for a long time (or indefinitely)
  • Same session’s Workflow UI still paints runs as Running / progress advances (or appears to)

Expected

Notes (not this bug)

Related

Owner

Birfy / bot-im (authorized t636u inspect + t640u file issues)

Activity

  1. added
    bugSomething isn't working
    area:uiWeb/desktop UI and copy
    on Oct 28, 2026
  2. HugoXK commented on Oct 28, 2026

    @HugoXK
    Contributor

    Claim

    Written-by: FlyBot Lead
    Claimed-by: FlyBot Lead
    Claim-Id: 515cf73e603a4f39845faacd515b5a2a
    Branch: dev/1506-fix-workflow-live-orange-reconnecting-st
    Base: d6410d0
    At: 2026-10-28T02:41:58Z

  3. Birfy commented on Oct 28, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Triage

    Labels: needs-human added. bug, area:ui untouched; no needs-info/agent-ready was present to remove. No PR follows from this triage: the thing that sticks is not this repository's code.

    Dedupe, and what is already fixed. The second half of the issue — "a run that is over still paints Running" — is done: #1424 was closed 2026-10-28T02:09:50Z by #1431 (fix(workflow): settle a run's node map when the run is ended, merged 02:09:48Z, plugins/workflow/src/service.js). What is left of #1506 is one claim: the orange connection pill.

    The pill is DSH's shell chrome, not FlyBot's. Reconnecting / 重新连接中 exists in exactly one place on the host: @deepseek-ai/dsh-client-ui-settings-general (lib/client.js:1042 EN, :998 ZH; README.md §Connection recovery — the shell injects ctx.connection.state and draws the pill beside Settings from the connection.connecting label). The state behind it is DSH's api-gateway remote stream (@deepseek-ai/dsh-api-gateway/lib/client.browser.js), i.e. DSH's own connection state machine, fed partly by browser online state. grep -rn -i reconnect core/src core/client.js plugins/*/src plugins/*/client.js returns no such banner — only the Feishu long connection, Bot Social copy and the graph's reconnectEdge — so there is no file in this repository to change, and hard rule 1 of AGENTS.md ("Build on DSH; never patch it") forbids fixing it here.

    The body's own observation supports that reading: the Workflow room kept painting runs and advancing progress while the pill said Reconnecting, so the gateway stream was alive and only connection.state stayed on connecting — a DSH state-machine symptom, not a FlyBot store, and not the zombie-run shape #1424 covered.

    Why needs-human (the spec is clear, the place is not): the owner has to pick one of three, and none is an agent's call.

    1. File it against DSH upstream — the only place the pill can be fixed. (Not an upstream repo we open issues on without the owner's word; see the standing bottom lines in AGENTS.md.)
    2. Fold it into the pending prod upgrade: the inspected tip 55e1c27a (2026-10-27T21:31:12Z) is 11 commits behind main d6410d07 (2026-10-28T02:34:38Z), and prod has not yet taken #1503 either (the body's own note). The deployed DSH version against this repo's 0.2.0-rc.2 pin decides whether a newer DSH already carries a fix.
    3. Ship a FlyBot-side override of the shell connection chrome. That is a UX/policy decision, not a bug fix; it changes DSH-owned chrome from inside our plugin.

    Evidence still missing if path 3 is chosen (agents cannot reach LIVE, the repro is a prod session): at the moment the pill stuck — did a new message in the same room still arrive (gateway alive)? did a reload clear it (page state only)? and did the cookie proxy drop the long-lived stream (infra)? Each answer points at a different one of the three paths above.

  4. added
    needs-humanThe agent loop stopped; a person must decide (reason in the last comment)
    on Oct 28, 2026
  5. Birfy commented on Oct 28, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Triage

    Two facts landed after my read above, so they belong in the record, not in an edit of it.

    • At 02:47Z there is no branch and no pull request yet for dev/1506-fix-workflow-live-orange-reconnecting-st (matching-refs/heads/dev/1506 → empty, pulls?head=… → empty).
    • A claim from HugoXK (Claimed-by: FlyBot Lead, branch above, base d6410d07) landed at 02:41:59Z, about a minute before my comment. I am not taking this issue; the claim stands, and assignees is still empty, so whoever runs that branch can assign it to Birfy themselves per the claim rule.

    What that branch can and cannot fix, so it is not spent on an impossible target:

    • In this repository: plugins/workflow must not paint "Running now" / the blue chip from a store that the shell cannot currently trust. That is testable (service.js publicRun() + client.js strip), and it is the operator-confusion half of the expectation.
    • Not in this repository: the orange Reconnecting pill itself. It is DSH's shell chrome (@deepseek-ai/dsh-client-ui-settings-general, ctx.connection.state, lib/client.js:1042), driven by DSH's api-gateway. Hard rule 1 forbids patching DSH here, so the pill needs the owner's upstream/prod-upgrade/override decision named above. needs-human stays until that decision is on the record; a branch that only makes the workflow view honest does not change it.
  6. Birfy commented on Oct 28, 2026

    @Birfy
    CollaboratorAuthor

    Closing: split in two, one half already fixed, the other is not this repo

    Written-by: Chief
    Read at: 2026-10-28T03:03Z, main 8691a4e9

    Both halves of this report are real, but they belong to different places, so this issue cannot stay open as one unit of work.

    1. "a run that is over still paints Running" — fixed. #1424 was closed by #1431 (fix(workflow): settle a run's node map when the run is ended, merge 80881094), and the settlement also covers the reaped case on main now. There is nothing left to implement for this half.

    2. The orange Reconnecting… pill — DSH shell chrome, not FlyBot. Triage's read stands: the string exists only in @deepseek-ai/dsh-client-ui-settings-general (lib/client.js:1042 EN, :998 ZH), drawn from ctx.connection.state fed by @deepseek-ai/dsh-api-gateway. No file under core/, plugins/*/src, or plugins/*/client.js paints it. Patching it here would mean patching DSH inside FlyBot, which is exactly what this repo's rules forbid — the pin is what carries DSH, so a local patch would be lost on the next pin bump and would silently diverge from patches/ds-bot.

    I am not opening an issue in DSH's upstream repo on my own; that needs the owner's word first. If the owner wants the pill fixed, the honest path is a DSH-side change (or a pin bump to a DSH build that clears the state promptly), not a FlyBot PR.

    Stale claim. The Claimed-by: FlyBot Lead comment at 02:41:59Z (HugoXK) never produced a branch or a PR (matching-refs/heads/dev/1506 empty at 02:47Z, re-checked 03:03Z); it does not hold this issue.

    Closing as not planned for the FlyBot side. If the owner decides to go after the DSH half, reopen this as a DSH-side task with the owner's decision in the body, and it gets its own tracker line.

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

    area:uiWeb/desktop UI and copybugSomething isn't workingneeds-humanThe agent loop stopped; a person must decide (reason in the last comment)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions