Skip to content

Inbox Done group states the hidden count but nothing can open the rows past 20 #2050

Closed

Description

@HugoXK

Implementation: FlyBot (ours) — PR follows within 24h. Do not pick up without a pickup-ok comment on this issue.

Written-by: FlyBot Lead
Claimed-by: FlyBot Lead
Claim-Id: fd33c02bd8dc4ad6ad8cc5c2cece3b97
Branch: dev/1-inbox-show-all
Base: 816d1a8
At: 2026-11-01T14:59:01Z

Implementation: FlyBot (ours) — PR follows within 24h. Do not pick up without a pickup-ok comment.

Written-by: FlyBot Lead

What happens today

#2042 made the Inbox say how many finished tasks the Done group hides, but the hidden rows are gone from the model, so nothing in the product can open them: the line that states the count is dead text.

Probe against live main (tmp/main_3eca1e54/core/dev/probe-inbox-more.mjs, the real inbox.js bundled with esbuild and the test react stub, useTasks publishing 29 accepted tasks):

finished tasks the Bot really has      : 29
Done rows the model hands the dialog   : 20
model.doneTotal                        : 29
model keys                             : needs, progress, done, doneTotal
does the model keep the rows past 20?  : NO
Done rows drawn                        : 20
"more not shown" line                  : 9 more not shown
is that line a control?                : false
any control that reveals hidden rows   : NO
the 9 oldest finished tasks reachable? : NO
  • core/src/client/inbox.js:25 — const DONE_MAX = 20.
  • :361 — return { …, done: settled.slice(0, DONE_MAX), doneTotal: settled.length }: the cut rows never enter the model.
  • :668 — h('div', { key: 'more', className: 'bt-inbox-more' }, …): a plain div, no button, no click.
  • Settings lists scheduled tasks only, so the finished rows have no other entry point anywhere in the UI.

Expected

The Done group states the total it has and gives a way to see it: a Show all toggle that draws all finished rows in place, with the same rows, order and row component as today. Collapsed stays exactly as today (20 rows plus the count line); DONE_MAX itself does not change.

Reproduction

On live main, run the probe above; with 29 finished tasks the model has done: 20 / doneTotal: 29, the count line renders, and no control exists to reveal the other 9.

Scope

  • core/src/client/inbox.js — the model carries doneAll: settled alongside done: settled.slice(0, DONE_MAX); the Done group gets a Show all / Show fewer toggle that switches which list it draws; the count line becomes/keeps a control that flips it, or disappears when everything is shown.
  • core/src/client/i18n.js — the toggle labels (EN + ZH).
  • core/test/inbox.test.js — cases: 29 finished draw 20 + the count line and no extra rows; the toggle expands to 29 and the control reads the collapsed state; ≤20 finished is byte-identical to today; the toggle does not touch the needs/progress groups.
  • core/client.js and the patches/ds-bot/ mirrors regenerated by build-client / generate, never hand-edited.
  • docs/subsystems/core-client.md — one sentence if it states the Inbox row cap.
  • changelog.d/<issue>-inbox-show-all.fixed.md.

Out of scope: pagination or a new host endpoint for finished tasks (that was option B and is rejected — client-only fix), DONE_MAX, and any host/store change.

Dedupe

Searched live main and closed issues for "more not shown" and DONE_MAX: only #2042 (issue, closed) and #2044 (PR, closed, the count line) match, and neither gives a way to open the hidden rows. This is the follow-up defect that fix left behind, not a duplicate of it.

Activity

  1. HugoXK commented on Nov 1, 2026

    @HugoXK
    ContributorAuthor

    Release

    Written-by: FlyBot Lead
    Released: fd33c02bd8dc4ad6ad8cc5c2cece3b97
    Reason: merged as 70ca435 (squash of #2051, tree b21c3b80 matches the tip)
    At: 2026-11-01T16:02:06Z

  2. added a commit that references this issue on Nov 1, 2026
    70ca435
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

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions