hyperhive/hive-forge/src/verbs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas e588b1803e hive-forge: comments total comes from the comments endpoint, not the issue object
fetch_total read issue_get_issue's comments field, Forgejo's running
counter on the Issue object that also increments for several
non-prose event kinds (review_request, issue_ref, comment_ref,
pull_push, ...) that issue_get_comments never returns. Diffing that
count against a fetched window reported drift that was never real: a
comment that would never be shown at any window size. Live repro on
PR #4333 (damocles's diagnosis on the issue): more_after: 2, both
events non-prose.

Fix: read the total straight off issue_get_comments's own
X-Total-Count header instead — the same endpoint that produces the
window, so the two populations can never drift apart again. Mirrors
timeline.rs's own fetch_total, which made the same move for its
endpoint first. fetch_head now captures the header from the request
it already makes (one fewer round trip in the --limit path); the
--tail/default path still probes once via page_size=1, same shape as
before but now scoped to the endpoint that actually produces the
window.

This also fixes the more serious half: fetch_tail derives its
pagination offset (which page holds the tail) from the same total, so
an inflated total didn't just skew the trailer's count, it could send
the offset math reaching for a page beyond the real thread's end,
returning fewer rows than requested or none at all when fetch_tail's
empty-page guard tripped. New test pins this against fetch_tail's
existing pagination-plan helper.

Refs #4335
2026-09-13 17:12:16 +02:00
..
artifact_get.rs docs, prompts, hive-forge: stop handing readers the renamed verbs 2026-09-10 17:22:57 +02:00
assign.rs fix(#2488): verify assignee change landed instead of trusting forge 200 2026-07-15 19:06:24 +02:00
attach.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +02:00
attachment_get.rs fix: sync generated hive-forge CLI docs with their clap source strings 2026-09-07 16:28:06 +02:00
branches.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +02:00
ci_common.rs docs, prompts, hive-forge: stop handing readers the renamed verbs 2026-09-10 17:22:57 +02:00
ci_log.rs docs, prompts, hive-forge: stop handing readers the renamed verbs 2026-09-10 17:22:57 +02:00
ci_rerun.rs hive-forge: resolve ci-rerun --run's PR pseudo-ref before dispatching 2026-09-11 17:22:33 +02:00
ci_runs.rs rewrite generated CLI docs' passive voice to active 2026-09-08 14:56:26 +02:00
clone.rs docs, prompts, hive-forge: stop handing readers the renamed verbs 2026-09-10 17:22:57 +02:00
close.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +02:00
comment.rs hive-forge: defer repo resolution to the accessor, not construction 2026-09-02 17:08:01 +02:00
comment_edit.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +02:00
comment_show.rs hive-forge: show + post/remove emoji reactions on issues, PRs, and comments 2026-08-18 13:53:27 +02:00
comments.rs hive-forge: comments total comes from the comments endpoint, not the issue object 2026-09-13 17:12:16 +02:00
credential_helper.rs hive-forge: stop embedding the forge token in clone URLs 2026-08-26 00:20:58 +02:00
dependency.rs hive-forge: test the two invariants dependency.rs documents but never checked 2026-09-02 19:01:31 +02:00
diff.rs rewrite generated CLI docs' passive voice to active 2026-09-08 14:56:26 +02:00
issue.rs hive-forge: surface issues an issue/pr blocks in list/issue/pr 2026-08-19 15:03:15 +02:00
issue_cmd.rs hive-forge reaction: add --list-allowed to surface the instance's configured shortcodes 2026-08-18 13:53:27 +02:00
issue_create.rs docs, prompts, hive-forge: stop handing readers the renamed verbs 2026-09-10 17:22:57 +02:00
issue_edit.rs remove as_str() legacy wrappers, callers use .into() directly 2026-09-12 00:06:31 +02:00
labels.rs docs, prompts, hive-forge: stop handing readers the renamed verbs 2026-09-10 17:22:57 +02:00
lint.rs fix: sync generated hive-forge CLI docs with their clap source strings 2026-09-07 16:28:06 +02:00
list.rs rewrite generated CLI docs' passive voice to active 2026-09-08 14:56:26 +02:00
milestone.rs fix(forge): suggest the nearest name when a filter value misses 2026-08-05 22:13:45 +02:00
mod.rs docs, prompts, hive-forge: stop handing readers the renamed verbs 2026-09-10 17:22:57 +02:00
pr.rs hive-forge: surface issues an issue/pr blocks in list/issue/pr 2026-08-19 15:03:15 +02:00
pr_assign_reviewer.rs hive-forge: defer repo resolution to the accessor, not construction 2026-09-02 17:08:01 +02:00
pr_cmd.rs hive-forge reaction: add --list-allowed to surface the instance's configured shortcodes 2026-08-18 13:53:27 +02:00
pr_commits.rs docs, prompts, hive-forge: stop handing readers the renamed verbs 2026-09-10 17:22:57 +02:00
pr_create.rs docs, prompts, hive-forge: stop handing readers the renamed verbs 2026-09-10 17:22:57 +02:00
pr_merge.rs hive-forge: fix pr_merge.rs's dead pr-merge: bail! prefix 2026-09-11 11:03:07 +02:00
pr_reviews.rs docs, prompts, hive-forge: stop handing readers the renamed verbs 2026-09-10 17:22:57 +02:00
pr_status.rs hive-forge: let pr status take the PR number positionally 2026-09-11 09:04:20 +02:00
reaction.rs fix: sync generated hive-forge CLI docs with their clap source strings 2026-09-07 16:28:06 +02:00
reopen.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +02:00
repo_add_collaborator.rs docs: fix write-good.So/ThereIs/Weasel lint findings 2026-09-07 17:49:27 +02:00
repo_create.rs docs, prompts, hive-forge: stop handing readers the renamed verbs 2026-09-10 17:22:57 +02:00
repo_labels.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +02:00
repo_search.rs fix(hive-forge): use u64::from for repo-search limit clamp (clippy cast_lossless) 2026-07-10 20:22:29 +02:00
subscription.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +02:00
timeline.rs hive-forge: timeline --since no longer errors on an empty window 2026-09-12 10:33:30 +02:00
tree_sha.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +02:00
view.rs hive-forge: defer repo resolution to the accessor, not construction 2026-09-02 17:08:01 +02:00