Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Disclose an unsettled post-gesture surface on selector-targeted interactions

Open
#2,853 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
65/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript

Research direction

Start by reading src/commands/interaction/runtime/resolution.ts around lines 733-752 where captureSnapshot is called. Understand how selector-targeted interactions like click and press resolve. Then examine src/daemon/deferred-interaction-outcome.ts to see how SnapshotState.unsettledGesture is set, and src/daemon/capture-disclosure.ts to see how selector reads disclose this fact. The goal is to modify the resolution logic to also disclose unsettledGesture when a target is missing from a tree with that fact, matching the behavior of selector reads.

Written by the indexing model from the issue text.

Description

Problem

#2839 makes a post-gesture capture that never settled carry unsettledGesture, and discloses it on selector reads (is, get, find, wait) and snapshot. Selector-targeted interactions do not disclose it yet. click, press, fill, and similar commands resolve their target through src/commands/interaction/runtime/resolution.ts (the captureSnapshot call near lines 733-752). After a scroll whose surface is still moving, a target missing from that tree fails as a plain not-found. The agent cannot tell this apart from a real absence.

Expected

An interaction whose selector resolution misses on a tree with unsettledGesture carries the same typed unsettledGesture fact and warning as the selector reads. It must be keyed on the tree fact and must not match on message text.

Notes

  • The fact is stamped on SnapshotState.unsettledGesture by capturePostGestureStabilizedResult (src/daemon/deferred-interaction-outcome.ts).
  • The selector reads disclose it through withCaptureDisclosures (src/daemon/capture-disclosure.ts).
  • Follow-up to #2839.
Dominant language
TypeScript
Stars
4.7k
Forks
304
Avg merge
11h 46m
Merged PRs (30d)
496

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from callstack/agent-device

All issues in callstack/agent-device

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.