No way to resolve/unresolve review conversations #39

Open
opened 2026-07-18 11:25:17 -04:00 by alexion · 0 comments
Owner

What I ran into

After answering a batch of inline review comments, the natural next step is to resolve the threads I'd addressed.
gitea-axi has no command or flag for resolving (or unresolving) a review conversation, so there was no way to close out the threads from the CLI.

Real gap, but SDK-blocked

Real gap: no resolve/unresolve verb exists anywhere in the dispatch (src/commands/pr.ts prCommand).

Worth flagging that it may need more than a thin command, though.
The pinned gitea-js review surface is:

repoCreatePullReview, repoSubmitPullReview, repoGetPullReview,
repoGetPullReviewComments, repoListPullReviews,
repoDismissPullReview, repoUnDismissPullReview,
repoDeletePullReview, ...

Dismiss/undismiss act on a whole review, not on a single conversation, and there is no resolve-conversation method in the SDK.
So resolving a thread by comment id would need a raw request against Gitea's REST API rather than an existing gitea-js call.

Recommendation

Two-step, depending on appetite:

  1. If Gitea's REST API exposes a resolve-conversation endpoint, add pr resolve <comment-id> / pr unresolve <comment-id> wrapping it (this depends on surfacing comment id first — see the review-comment fields issue).
  2. If you'd rather not hand-roll a raw call inside a command, this is a strong argument for a generic API passthrough (see the gitea-axi api issue), which resolve could be built on until the SDK gains the method.

Lower priority than reading anchors and posting inline comments, but it's the missing bookend of the review workflow.

## What I ran into After answering a batch of inline review comments, the natural next step is to **resolve** the threads I'd addressed. gitea-axi has no command or flag for resolving (or unresolving) a review conversation, so there was no way to close out the threads from the CLI. ## Real gap, but SDK-blocked Real gap: no `resolve`/`unresolve` verb exists anywhere in the dispatch (`src/commands/pr.ts` `prCommand`). Worth flagging that it may need more than a thin command, though. The pinned gitea-js review surface is: ``` repoCreatePullReview, repoSubmitPullReview, repoGetPullReview, repoGetPullReviewComments, repoListPullReviews, repoDismissPullReview, repoUnDismissPullReview, repoDeletePullReview, ... ``` Dismiss/undismiss act on a whole review, not on a single conversation, and there is no resolve-conversation method in the SDK. So resolving a thread by comment id would need a raw request against Gitea's REST API rather than an existing gitea-js call. ## Recommendation Two-step, depending on appetite: 1. If Gitea's REST API exposes a resolve-conversation endpoint, add `pr resolve <comment-id>` / `pr unresolve <comment-id>` wrapping it (this depends on surfacing comment `id` first — see the review-comment fields issue). 2. If you'd rather not hand-roll a raw call inside a command, this is a strong argument for a generic API passthrough (see the `gitea-axi api` issue), which resolve could be built on until the SDK gains the method. Lower priority than reading anchors and posting inline comments, but it's the missing bookend of the review workflow.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alexion/gitea-axi#39