Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Explicit macOS surface is lost from recorded actions and replay scripts

Abierto
#3,216 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@janicduplessis ya está trabajando en esto.

Desde el 4/10/2026.

  • #3217 de @janicduplessis — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
node.js, typescript
Área
cli, tooling

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
TypeScript
Estrellas
4.9k
Forks
328
Merge medio
12 h 19 min
PR fusionados (30 d)
549

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de callstack/agent-device

Todos los issues de callstack/agent-device

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.