Finish native pointer delivery and validation
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 15/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- swift
- Área
- ai-infra-agents, desktop
Línea de trabajo
Start from the merged click, scroll and drag work in PRs #82, #70 and #85, and from the open coverage list in this issue. The remaining work is verification, not new code: worker-crash and in-flight Stop cases, self-Ace scrolling, multiple displays, and a second machine. Done means each open item has a recorded real run or an explicit note that it stays unverified, tracked in githubnext/ace2#8.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Status (Oct 6): clicks, scrolling and atomic drag are merged (#82, githubnext/ace2#70, githubnext/ace2#85), and githubnext/ace2#156 now gives pixels-only snapshots exact-window coordinate authority for point clicks, scrolls and drags. Remaining evidence gaps: one full model workflow using githubnext/ace2#156 pixel snapshots that includes an effective drag (an earlier real pi/Anthropic run with Accessibility snapshots completed click, scroll and drop; see below), worker crash and in-flight Stop during input, self-Ace scrolling, multiple displays/negative origins/hotplug, and a second machine. Moved-window stale-click classification is githubnext/ace2#155.
Continue githubnext/ace2#8's complete-input slice with native pointer operations through Ace's embedded bridge and existing pi tools.
- Extend observed-control clicks with useful click variants and exact-window screenshot-coordinate clicks.
- Add targeted scrolling to an observed control or screenshot point, with explicit direction and bounded native scroll amount.
- Add an atomic drag with one complete press/move/release sequence, bounded duration, and cleanup on cancellation. Do not expose unowned cross-call held input.
- Resolve screenshot points through Peekaboo's stored capture coordinate authority. Account for Ace image resizing, Retina scale, multiple/negative-origin displays, and moved windows. Reject stale target identities/bounds rather than silently remapping against a new window.
- Reuse exact process/window receipts, single-use snapshots, native coordination, durable completed/refused/unknown outcomes, and the channel owner's desktop-tools setting (see githubnext/ace2#8). Make supported background versus foreground operations explicit; no silent global-input fallback.
Done when real native and pi/model workflows can click by visual coordinates, scroll to initially offscreen content, and complete a real drag-and-drop, with resulting state verified and interruption cleanup/no-replay validated. Include the hosted workspace path and clearly track unverified multi-display or second-machine behavior in githubnext/ace2#8.
Click variants and normalized screenshot-coordinate clicks landed in PR githubnext/ace2#82, merge e5618c1. Real native callbacks covered single/double/right/middle/triple behavior and resized screenshot coordinates; consumed snapshots were refused. The real pi/Anthropic check on exact PR82 head 5f98d94 performed one coordinate click with exactly one intended callback and unchanged unrelated state. Exact tool text/images and usage survived reopening the same pi store without repeated input.
Targeted scrolling landed in PR githubnext/ace2#70, merge 44312423ce66443ab38cd1ba6666bec32904e068, from reviewed head f1682d028a9f810c93c103286949c1ad69c8ef13. It accepts an observed element or normalized screenshot point, four directions, and 1–20 native units. Final types, formatting/lint, Swift parsing, diff checks, and independent source review passed. The extracted scroll implementation is unchanged from signed candidate d9b0c869; the extraction/base integration was not rebuilt into another signed app.
On that signed candidate, five real AppKit scrolls passed: element down, point down revealing previously offscreen content, element up, point right, and element left. A subsequent real pi/Anthropic run performed inspect → element up1 → inspect, moving the actual vertical origin from 2063 to 1834 while horizontal origin 68 and unrelated pointer state stayed unchanged. Exact native receipts and tool text/images survived completed-store reopen with unchanged usage and no repeated input. This does not claim worker-crash or hosted behavior.
The earlier delivered-but-unknown scroll was traced to omitted snapshot focus in the request, despite that focus being retained in the signed native receipt. The landed fix carries the original focus into scroll's expected-window target without relaxing receipt validation or coordinate authority. No uncertain input was replayed.
Atomic dragging landed in PR githubnext/ace2#85, merge 68b4a3f641858526d80de352de84260a7f3e8f5a, from reviewed head bf930584700306ec379036c320dd1c61be4f6db9. The native code is unchanged from signed candidate 2531311; final changes were tool/documentation guidance, with fresh type/lint checks. Native signatures, compilation, and independent source review passed.
Real focused left/right drags each produced one press, twenty moves and one release, moved the tile and completed the drop. Invalid endpoints/stationary gestures/durations refused without input. A new, verified window move made its fresh prior observation stale, and a drag using it refused with the receiver unchanged. Cancelling a five-second gesture only after actual mouse-down returned unknown, delivered exactly one release, and drained every native call without changing scroll position.
A real pi/Anthropic run in local Workers/Durable Objects then performed inspect → Activate click → one scroll → drag → inspect through the actual workspace adapter and signed native bridge. The fixture recorded one click, scroll from 0 to 229, and one completed tile drop. Native text and images crossed the workspace unchanged. Restarting the same persistence with the workspace offline replayed all five exact results/images with unchanged receiver state and provider usage. This is completed-run replay, not a crash during input.
The earlier inactive receiver accepted dispatch but recorded no input or movement. Separate explicit activation/focus before the successful cases establishes the supported workflow; delivery acceptance alone never proves a drop. One Retina display (native scale 2) and Ace's resized 1600×1053 image were exercised.
Remaining coverage stays open here and in githubnext/ace2#8: worker-crash/in-flight Stop cases, self-Ace scrolling, multiple displays/negative origins/hotplug, and another physical machine. Pixels-only observations could not authorize pointer actions without canonical capture authority; githubnext/ace2#156 resolved that. No broader hardware or inactive-view delivery claim is made.
- Lenguaje dominante
- Swift
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 19 min
- PR fusionados (30 d)
- 107
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de githubnext/desktop-tools
-
Ace: adopt desktopToolRules()Abiertoace documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
githubnext/desktop-tools#104 ·
Los mantenedores suelen responder en 1 día
-
Linux support (meta)Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
githubnext/desktop-tools#136 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Select text in a PDFAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
githubnext/desktop-tools#130 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
githubnext/desktop-tools#129 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
githubnext/desktop-tools#117 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de githubnext/desktop-tools
Issues similares
-
Review backlog (style): Test helper still reads stdout after waitUntilExitPosiblemente ocupada @hivecommons-hive la tomó hoy. Abiertoagent/reviewer help wanted hive/claimed-by-scanner stage/030-pr-in-progress
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
hivecommons/hotshot#243 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Ctrl+C while pictures are drawing also kills the image worker (traceback, story ends partial/failed)Abiertolow-priority
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
jessvb/tiny-talk-adventures#92 ·
Los mantenedores suelen responder en 1 día
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 1 día
-
bug tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
jonathanong/no-mistakes#2261 ·
Los mantenedores suelen responder en 1 día