Skip to content

agent 3.0.2: pollDeferred notifies onInteraction only when (url, code) changes - #21

Merged
dickhardt merged 1 commit into
mainfrom
agent/oninteraction-dedupe
Aug 14, 2026
Merged

agent 3.0.2: pollDeferred notifies onInteraction only when (url, code) changes#21
dickhardt merged 1 commit into
mainfrom
agent/oninteraction-dedupe

Conversation

@dickhardt

Copy link
Copy Markdown
Contributor

Fixes #17.

A PS can carry the interaction requirement on every 202 while it applies — Wallet's reach fallback re-advertises the url on each ~5s poll until the record resolves — and onInteraction typically opens a browser, so per-poll notification re-opened the page every cycle. pollDeferred now notifies on first sight of a (url, code) pair and again only when the pair changes; the initial url/code passed in seeds the dedupe so the same pair arriving via AAuth-Requirement isn't a second notification. interaction_required events dedupe the same way (they narrate a protocol moment, not a poll cycle).

Observed live against person.hello-beta.net during web-reach testing 2026-08-13. 18 tests passing (3 new). Version bumped to 3.0.2 for the next release.

🤖 Generated with Claude Code

https://claude.ai/code/session_01B9VG2CXgAaQcNAPWrCy6Yd

…) changes

A PS can carry the interaction on every 202 while it applies — Wallet's
reach fallback re-advertises the url each ~5s poll until the record
resolves — and onInteraction typically opens a browser, so per-poll
notification re-opened the page every cycle (#17). Dedupe by (url, code):
notify on first sight and again only if the advertised pair changes. The
initial url/code passed into pollDeferred seeds the dedupe, so the same
pair arriving via AAuth-Requirement is not a second notification.

18 tests passing (3 new).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B9VG2CXgAaQcNAPWrCy6Yd
@dickhardt
dickhardt merged commit 644013e into main Aug 14, 2026
1 check passed
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.

pollDeferred fires onInteraction on every 202 that carries the header — dedupe by (url, code)

1 participant