Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Explicit macOS surface is lost from recorded actions and replay scripts

Geschlossen
#3,216 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Ein zugehöriger Pull Request wurde bereits gemerged.

  • #3217 von @janicduplessis — gemerged

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
25/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
node.js, typescript
Bereich
cli, tooling

Rechercherichtung

Start from recordActionEntry and the surface field's recorded: false flag in the open-action schema — that is where an explicit --surface is dropped before the journal's open-surface allowlist runs. Then read the .ad open serializer/parser to see how --surface would be emitted and reparsed without collapsing into an app positional. A SessionStore record/event test should assert each enum value (app, frontmost-app, desktop, menubar) survives and that omission stays omitted, plus a round-trip test for saved open scripts and a malformed-input rejection, with existing privacy filtering unchanged. Note that linked PR #3217 already targets this, so the work is under way.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Problem

An explicit macOS surface is lost at the canonical action-recording boundary. On agent-device 0.21.12, open <owned-app-bundle-id> --platform macos --surface app succeeds, but its action.recorded entry contains details.flags: { "platform": "macos" }, with no surface. Consumers cannot distinguish an explicitly app-scoped open from desktop/frontmost-app opens safely.

The same declaration remains in upstream main 2212eacf5be976acc78378a7e65539be5fc81489 and the public npm 0.21.20 tarball: surface has recorded: false, so recordActionEntry removes it before the journal's existing open-surface allowlist. The .ad open serializer/parser also omit it, so recording and replaying a desktop or menubar session changes its target surface.

Required behavior

Preserve a supplied --surface app|frontmost-app|desktop|menubar in canonical actions, projected open events, and .ad open round trips. Keep an omitted surface omitted; do not infer the session's effective surface or broaden free-form event fields.

Completion

An actual SessionStore record/event test preserves each explicit enum value and distinguishes omission. Saved open scripts round-trip the explicit value without turning --surface into an app positional, and malformed surface input is refused. Existing privacy filtering remains intact.

Vorherrschende Sprache
TypeScript
Sterne
5k
Forks
334
Ø Merge
12 Std. 2 Min.
Gemergte PRs (30 T.)
678

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus callstack/agent-device

Alle Issues in callstack/agent-device

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.