hyperhive/hive-forge/src/verbs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
damocles 8b83eca0c1 fix(#3435): hive-forge issue/pr show fail on forgejo's null-for-empty reactions
Forgejo returns a bare `null` body (not `[]`) for a reactions list when
nothing has reacted yet. issue_reactions/comment_reactions deserialized
straight into forgejo-api's typed Vec<Reaction>, which has no null
tolerance, so issue show / pr show / view failed on every item with zero
reactions - i.e. nearly everything.

Generalize pr_status's existing null_as_empty (same quirk, hit earlier
on combined-status statuses) into a shared helper in verbs/mod.rs, and
fetch reactions via the raw JSON path (Client::get_api_json) with a
NullableVec<T> wrapper instead of the typed client's bare Vec<Reaction>.

Also names the failing request in errors going forward, since
get_api_json's error context includes the URL - closes the gap the
issue itself flagged (the old error said what didn't parse but not
what was fetched).
2026-08-18 15:26:07 +02:00
..
artifact_get.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +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 style: treefmt main — fix CI formatting check 2026-06-05 13:09:56 +02:00
branches.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +02:00
ci_log.rs docs(#2671): trim per-verb arg help (pr-create, comments, ci-log, ci-rerun) 2026-07-23 21:55:04 +02:00
ci_rerun.rs docs(#2671): trim per-verb arg help (pr-create, comments, ci-log, ci-rerun) 2026-07-23 21:55:04 +02:00
clone.rs hive-forge: infer active repo from cwd's git remote, demote HIVE_FORGE_REPO 2026-07-29 18:37:37 +02:00
close.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +02:00
comment.rs refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +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: show + post/remove emoji reactions on issues, PRs, and comments 2026-08-18 13:53:27 +02:00
dependency.rs hive-forge dependency: don't drop the original errors if the verification read-back also fails 2026-08-16 18:51:46 +02:00
diff.rs docs(#2671): trim per-verb arg help (diff, list, lint, pr-merge) 2026-07-23 22:50:55 +02:00
issue.rs hive-forge: show + post/remove emoji reactions on issues, PRs, and comments 2026-08-18 13:53:27 +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 hive-forge: hard-error unresolved --label names; render dependency timeline events 2026-08-02 12:25:12 +02:00
issue_edit.rs hive-forge: add pr edit, reusing issue edit's shared /issues endpoint 2026-08-03 01:54:28 +02:00
labels.rs fix(forge): suggest the nearest name when a filter value misses 2026-08-05 22:13:45 +02:00
lint.rs hive-forge: lint no-reviewer checks actual requested-reviewers, not a text mention 2026-07-27 19:07:36 +02:00
list.rs hive-forge list: show dep-progress count for items with open dependencies 2026-08-18 12:18:57 +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 fix(#3435): hive-forge issue/pr show fail on forgejo's null-for-empty reactions 2026-08-18 15:26:07 +02:00
pr.rs hive-forge: show + post/remove emoji reactions on issues, PRs, and comments 2026-08-18 13:53:27 +02:00
pr_assign_reviewer.rs hive-forge: don't re-request a review from someone who already reviewed 2026-07-29 20:49:40 +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 refactor(hive-forge): port CLI verbs to forgejo-api 2026-07-07 09:24:53 +02:00
pr_create.rs hive-forge: hard-error unresolved --label names; render dependency timeline events 2026-08-02 12:25:12 +02:00
pr_merge.rs pr-merge: don't tell the caller to just un-draft a PR that isn't theirs 2026-08-13 15:21:12 +02:00
pr_reviews.rs hive-forge: point to per-line review comments instead of inlining them, fix pr reviews line numbers 2026-08-15 12:34:23 +02:00
pr_status.rs fix(#3435): hive-forge issue/pr show fail on forgejo's null-for-empty reactions 2026-08-18 15:26:07 +02:00
reaction.rs hive-forge reaction: add --list-allowed to surface the instance's configured shortcodes 2026-08-18 13:53:27 +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 hive-forge: infer active repo from cwd's git remote, demote HIVE_FORGE_REPO 2026-07-29 18:37:37 +02:00
repo_create.rs docs(#2671): trim per-verb arg help (repo-create) 2026-07-23 22:54:15 +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: add --since cursor paging to comments and timeline 2026-08-03 20:50:53 +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: show + post/remove emoji reactions on issues, PRs, and comments 2026-08-18 13:53:27 +02:00