Skip to content

✨ dashboard: Agents tiles show minute countdown and 'up next' marker - #10576

Closed
hivecommons-hive[bot] wants to merge 2 commits into
v5from
scanner/fix-10560
Closed

hivecommons-hive[bot] wants to merge 2 commits into
v5from
scanner/fix-10560

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Collapsed Agents tiles now show a per-agent minute countdown (in 4m / now / —) refreshed every 30s from the shared navbar tick without re-rendering the row, an 'up next' badge on the soonest tile, a compact ' · ' second line (login state only when not authenticated), and a full-details tooltip on the tile title.

Closes #10560

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 requested_by=@clubanderson

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign hanthor for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Open PR overlap check

Base branch: v5

This PR conflicts with v5 itself. Rebase it first: until it merges cleanly into the base, conflicts with other open PRs cannot be told apart from base drift, so only same-file overlaps are listed.

Conflicts are checked with every PR merged onto the current tip of v5, so a PR that only needs a rebase is not reported as conflicting with its siblings.

PR Title Relation Files
#10578 🐛 dashboard: Overview 'Actionable now' matches Governor counts same files src/pkg/dashboard/static/index.html
#10579 🐛 dashboard: section titles match sidebar labels same files src/pkg/dashboard/static/index.html
#10568 🐛 dashboard: cap histories, dedupe intervals, cancel animations to stop tab memory growth same files src/pkg/dashboard/static/index.html

@github-actions github-actions Bot added the conflicts-with-open-pr Open PR has a merge conflict with another open PR label Oct 5, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

hive/awaiting-ci: CI pending — sweep will merge when green.


🐝 Hive Agent: scanner | Instance: hosted-available-oke-11-placeholder-r05x | SHA: unknown

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

TestNavbarClockTicksLocallyAndFlagsStaleStatus runs tickNavbarClock in
isolation under node; the new _agentTileTickAt reference threw a
ReferenceError. Move the 30s throttle into agentCollapsedMaybeTickCountdowns
and call it via an optional typeof guard.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>
@kubestellar-prow kubestellar-prow Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 5, 2026
@kubestellar-prow

Copy link
Copy Markdown
Contributor

PR needs rebase.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

Supersession sweep found that this PR's claimed issue is already closed by another merged PR.

  • Claimed issue: hive#10560
  • Closing PR: #10566

this PR touches files the merged PR did not. A human should decide whether to close this PR.

This comment is edited in place by the supersession sweep; it is not duplicated.

@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

✅ Escalation cleared — back in the automated lane

CI is green on the current head — returning this PR to the automated lane.

The needs-human label has been removed; the fix loop owns this PR again.

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two things I verified against the tree at v5 (42ceebb) that don't match the stated intent ("an 'up next' badge on the soonest tile"):

1. The badge lands on the first tile of the sort, which is not always the soonest-scheduled agent (src/pkg/dashboard/static/index.html, agentsCollapsedTilesHtml: agentCollapsedTileHtml(a, nowMs, i === 0)).
agentCollapsedSortKey (index.html:5605-5616) puts busy === 'working' agents in group 0, ahead of group 1 (finite next kick). So whenever any agent is currently working, the "up next" badge is drawn on the working tile (whose countdown reads now), not on the agent whose kick is actually next. When no agent has a finite next kick (all continuous/paused/disabled), the badge still appears on whichever tile sorted first. Suggest picking the first tile whose sort key is group === 1 and omitting the badge otherwise.

2. The tile's countdown and the sort disagree about which agents have a next kick.
The new tile code computes nextMs = agentCollapsedParseNextKick(a.nextKickIn || a.nextKick, nowMs), but the sort (and the previous label) go through agentCollapsedNextKickMs (index.html:5593-5596), which (a) returns null for paused/offByCadence/unscheduledInMode/noCadence/onDemand agents and (b) also reads nextKickAt. Consequence: a paused agent that still carries a nextKick string is sorted into group 3 but renders a live "in 4m" countdown (and keeps ticking via data-next-ms), while an agent that only exposes nextKickAt sorts into group 1 but renders —. Reusing agentCollapsedNextKickMs in the tile would make both consistent.

The 30s throttle, the data-next-ms tick path, and the test coverage for agentCollapsedCountdownText otherwise look fine to me. Routing: @clubanderson requested this one; both issues are small follow-up edits on the scanner branch. I have not changed anything.

— hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

Superseded: #10560 already landed on v5 via #10566 (merge d593584); this branch now conflicts with that implementation. Closing.

@hivecommons-hive hivecommons-hive Bot closed this Oct 5, 2026
@hivecommons-hive
hivecommons-hive Bot deleted the scanner/fix-10560 branch October 5, 2026 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

copilot dco-signoff: yes Indicates the PR's author has signed the DCO. needs-human needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ dashboard: Agents collapsed tiles — 'up next' marker and per-agent minute countdown

0 participants