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

Validate desktop tool use in Ace and track known gaps

Open
#427 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
8/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
macos, typescript

Research direction

This is a tracking issue for validating desktop tools in a signed Canary, not a single change. The one open check is the sharing path: a teammate's invocation with sharing on should reach desktop tools as the owner allowed, and with sharing off it should be refused. The upstream engine and its gaps live in githubnext/desktop-tools, so start with native/patches/README.md there for the Peekaboo patch state. Done means every check passes in a Canary with a real provider run and each gap is fixed or accepted.

Written by the indexing model from the issue text.

Description

Validate the desktop tools as Ace ships them, and keep the known gaps in one place. The engine and its roadmap live in githubnext/desktop-tools (the former meta is githubnext/desktop-tools#11). This issue covers only what Ace owns: the pinned package, the channel setting, sharing, and the agent's experience in real runs.

Done when: every check below has passed in a signed Canary with a real provider run, with that Canary's version noted, and every gap is fixed or explicitly accepted.

Validation

  • An agent drives TextEdit, then screenshots and reads its window. The screenshots stream to a teammate. (Study scenario 20, 0.0.36.)
  • The agent fills a Save sheet's name, picks a folder and saves (#378 via githubnext/ace#382 and desktop-tools#8, 20b, 0.0.38).
  • desktop_insert types into a Save sheet's filename field (#390 via githubnext/ace#402 and desktop-tools#9, 20c).
  • Turning desktop tools off refuses every desktop_* call. The refusal is clear, and turning them back on works without restarting the channel. (Study D2, 0.0.46.50.)
  • A teammate's invocation with sharing on reaches desktop tools as the owner allowed. With sharing off it is refused. The sharing text matches what happens.
  • Stopping a run, or losing the connection, during a desktop action settles it as completed, refused or unknown, and the action isn't replayed after the worker reopens. (Study D3b/D3c, 0.0.46.50.)
  • Two channels with desktop tools on at the same time don't act on each other's targets. (Study D4 and R1, 0.0.46.51 and .52. Agents can't yet tell whose new window is whose: githubnext/desktop-tools#17.)
  • Peekaboo patch tests pass at the pinned commit (desktop-tools#10, Ace githubnext/ace#425). Every pin bump re-runs them. (8801b31 in full; 4618b33 adds one bridge patch, and its bridge tests pass.)

Known gaps

  • Shell capture: with desktop tools off, the shell can still capture the screen with Ace's macOS permissions. Isolating that is not planned (#379). The wording in githubnext/ace#380 and githubnext/ace#389 documents it.
  • Background key presses: desktop_key can't verify a background Cmd+W. The recovery hint suggests --foreground, which the tool doesn't expose (githubnext/desktop-tools#11, comment from October 7).
  • Engine gaps, tracked in desktop-tools:
    • focus and paste in WebKit (githubnext/desktop-tools#5);
    • temporary clipboard paste (githubnext/desktop-tools#3);
    • pointer delivery and multiple displays (githubnext/desktop-tools#2);
    • Chrome's Accessibility titles (githubnext/desktop-tools#6);
    • why inspection is unavailable (githubnext/desktop-tools#1);
    • window, menu and dialog workflows, including Ace's own Open Folder picker (githubnext/ace#531);
    • patch drift in dev builds (githubnext/desktop-tools#7).
  • Not available everywhere: cloud compute channels have no desktop, so their toggle is hidden (#422). Hosted channels use the workspace host's desktop. Operating a teammate's desktop is deferred (#202).
  • Upstream test failures: two Peekaboo tests fail on unpatched 4.8.0 as well (native/patches/README.md in desktop-tools).

Tracked by githubnext/ace#5.

Dominant language
TypeScript
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No 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 githubnext/ace2

All issues in githubnext/ace2

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.