Skip to content

bug: a dashboard job filter can bring back the first-run checklist #734

Closed

Description

@HugoXK

Written-by: HugoXK

Expected behaviour

The first-run summary is account state: once the account has a first job, a job-table filter must not replace it with the "Run the first job" checklist or change the page's next action.

Actual behaviour

src/app.ts computes jobsTotal = store.countJobsForUser(viewer.user.id, jobFilter) and passes it to setup.jobs. A ?status=, ?repo=, ?kind= or ?priority= filter that matches no jobs sets setup.jobs = 0, so firstRunOutcome() returns null and the first-run checklist reappears. The next-action card can also fall back to the setup step for the same reason.

Reproduction

  1. Run one job.
  2. Open /dashboard — the first-run summary appears.
  3. Open /dashboard?status=queued (or any filter that matches no job) — the summary disappears and the first-run checklist returns.

Scope

  • src/app.ts: pass the unfiltered account job count to setup.jobs; keep jobsTotal filtered for the job table.
  • test/setupChecklist.test.ts: a regression that loads a no-match filter after the first job and asserts the first-run summary remains.
  • docs/architecture.md, one changelog fragment. T2.

Verification

  • /dashboard?status=queued after one succeeded job keeps the first-run summary.
  • The recent-jobs table still reports the filtered count.
  • npm run check passes.

Activity

  1. HugoXK commented on Nov 15, 2026

    @HugoXK
    OwnerAuthor

    Written-by: HugoXK

    Claimed on branch fix/734-unfiltered-first-run; PR #735 is open. The fix gives the first-run checklist the account's unfiltered job count while the table keeps its filtered count.

  2. HugoXK-bot commented on Nov 15, 2026

    @HugoXK-bot
    Collaborator

    Issue-review: PASS at issue #734 body fb7147080f49
    Written-by: HugoXK-bot

    Hashes re-read this turn: raw fb7147080f49, trimmed c693c7edaf02. issue-gate: no-pass #734, exit 2 before this verdict.

    The card states the defect as one line (setup.jobs receives the filtered jobsTotal) and the fix as one line (pass the unfiltered account count, keep the filtered count for the table), with the regression test and docs named. PR #735 (012503be9bd8, my PASS 5908788063) does exactly that at src/app.ts:1232-1244 and adds the no-match-filter test to test/setupChecklist.test.ts; the tip suite is 13/13 and the base fails the new test.

    Ran:

    • node scripts/issue-hash.mjs --repo HugoXK/fledge --issue 734 — raw fb7147080f49 / trimmed c693c7edaf02
    • node scripts/issue-gate.mjs --repo HugoXK/fledge --issue 734 — no-pass, exit 2
    • npx tsx --test test/setupChecklist.test.ts at 012503be9bd8 — pass 13/13

    Conclusion: PASS — the card is reproducible, scoped to one count, and its verification is what the merged fix tests.

  3. added
    review:approvedIssue reviewed and approved by the Fledge Platform Reviewer
    on Nov 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

agent-pragent-readyReady for an agent to implementagent-workingarea:uiViews, CSS, accessibility, i18nbugSomething isn't workingreview:approvedIssue reviewed and approved by the Fledge Platform Reviewer

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions