Skip to content

Promote v0.19.0 to production#737

Merged
mrubens merged 8 commits into
mainfrom
release/v0.19.0
Jul 23, 2026
Merged

Promote v0.19.0 to production#737
mrubens merged 8 commits into
mainfrom
release/v0.19.0

Conversation

@mrubens

@mrubens mrubens commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Promote v0.19.0

Frozen at 2763cc2759faec43900d5f7f11221622a08e0b28 — the commit where 0.19.0 was versioned. Commits merged to develop after that point ship in the next release.

  • Merge this PR with a merge commit (do not squash or rebase).
  • If multiple promote PRs are open, merge them in version order (oldest first).
  • Merging publishes a GitHub Release for v0.19.0 and triggers the existing GHCR v* image publish (latest channel).
  • The release/v0.19.0 branch can be deleted after this PR merges.

Changelog

0.19.0 (2026-07-23)

This release makes pull-request review feedback clearer and safer to handle across chat, with more reliable task resumption.

Highlights

  • Resolve the feedback in a notification or have Roomote handle all future feedback on a pull request.
  • Replying in a review-feedback thread retires its pending buttons so stale actions cannot conflict with the conversation.
  • Resumed tasks retain their original source-control provider through older resume chains.

Minor changes

  • Make pull-request review feedback easier to handle by retiring stale offers after thread replies and providing clear actions to resolve selected or all issues.

Patch changes

  • Keep snapshot-resumed tasks connected to their original source-control provider when they resume through older task chains.

mrubens and others added 7 commits July 23, 2026 14:42
Regression tests for the fix that landed in #727: enqueueSnapshotResume
inherits sourceControlProvider/sourceControlHost from the source run's
payload when the resume entry point did not copy them, and keeps an
explicitly provided provider untouched. Without the inheritance, resumed
runs on non-GitHub providers (Azure DevOps, Gitea, Bitbucket) resolved
the repository against the GitHub default and failed workspace
preparation with "Repository not found".

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…733)

* feat(notifications): retire PR review offers when a reply supersedes them

A typed reply in the thread means the person chose their own response, so
the offer's buttons must die instead of lingering. Pending offers now
carry a per-conversation index and the posted message id; when a follow-up
message is routed into the task (live queue or snapshot resume), all
pending offers for that conversation are claimed atomically and the Slack
message is rewritten without its buttons ("Answered with a reply in the
thread."). Telegram clears the inline keyboard; Discord offers are
claimed so clicks report already-handled (component editing not wired
yet). Late clicks on retired offers get the existing already-handled
reply.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test: cover retire helper in discord/telegram sdk mocks, harden discord helper

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Stamp inheritance on snapshot resume only consulted the immediate source
run. When that run is itself a resume created before inheritance existed,
its rebuilt payload has no stamps even though the original run does, so
a second resume of a legacy non-GitHub task still fell back to the
GitHub default and failed workspace preparation.

enqueueSnapshotResume already walks the sourceRunId chain to find the
original run for model selection; reuse that walk to pick up missing
source-control stamps from the nearest ancestor that has them.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
)

Team feedback: the button labels did not make the one-time vs ongoing
distinction obvious, and an explainer paragraph read as too much. The
buttons now answer the question directly — "Resolve these issues" (the
feedback in this notification), "Resolve all issues" (these and every
future one on this PR), "Dismiss" — and the triage prompt phrases the
question with the same resolve verb so message and buttons stay congruent.
Confirmations follow the same voice.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
@roomote-roomote

roomote-roomote Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

No new code issues found. See task

  • packages/sdk/src/server/lib/task-runs/pr-review-action.ts:98-112 - attachPendingPrReviewActionMessage can recreate an offer after a typed reply has claimed it, leaving live buttons that dispatch the follow-up the reply was meant to supersede.
  • packages/sdk/src/server/lib/task-runs/pr-review-action.ts:158-173 - Reading and deleting the conversation index outside one atomic operation can orphan concurrently added offers from the index, so later replies cannot retire their buttons.
  • packages/cloud-agents/src/server/task-run-queue.ts:1930-1938 - An explicit resume provider can inherit the source run's host for another provider, causing repository resolution to target the wrong instance.

Reviewed 1be9a42

@roomote-roomote

roomote-roomote Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Addressed all three reported issues in 1be9a42: review-action attachment and thread-wide retirement now use atomic Redis scripts, and explicit snapshot-resume providers no longer inherit a source host. Targeted tests and static checks passed; visual proof is not applicable to these backend behaviors.

@roomote-roomote roomote-roomote Bot changed the title Promote v0.19.0 to production [Improve] Promote v0.19.0 to production Jul 23, 2026
@mrubens mrubens changed the title [Improve] Promote v0.19.0 to production Promote v0.19.0 to production Jul 23, 2026
@mrubens
mrubens merged commit dd40068 into main Jul 23, 2026
16 checks passed
@mrubens
mrubens deleted the release/v0.19.0 branch July 23, 2026 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants