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

[Bug] Testing::ActivityEnvironment adds detail_hints to heartbeat details

Abierto Apto para principiantes
#625 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
85/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
ruby
Área
backend, testing

Línea de trabajo

Comienza por Temporalio::Testing::ActivityEnvironment#on_heartbeat y el contexto que instala, comparando su firma de heartbeat con la de Temporalio::Activity::Context#heartbeat. Añade o ejecuta una prueba unitaria focalizada usando la reproducción proporcionada de detail_hints: [:some_hint] y, a continuación, verifica que on_heartbeat recibe únicamente [['progress']] mientras que las pistas siguen llegando a la ruta real del convertidor.

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

Descripción

What are you really trying to do?

Unit test an activity that heartbeats with converter hints, using Temporalio::Testing::ActivityEnvironment and on_heartbeat.

Describe the bug

Activity::Context#heartbeat is declared as heartbeat(*details, detail_hints: nil). The context that ActivityEnvironment installs declares heartbeat(*details) with no keyword parameters, so Ruby passes the keyword as a trailing positional Hash. on_heartbeat then receives the hints as an extra detail. Under a real worker, the hints go to the converter and are not recorded as details.

Minimal reproduction
class MyActivity < Temporalio::Activity::Definition
  def execute
    Temporalio::Activity::Context.current.heartbeat('progress', detail_hints: [:some_hint])
  end
end

details = []
env = Temporalio::Testing::ActivityEnvironment.new(on_heartbeat: proc { |d| details << d })
env.run(MyActivity)
p details
# Expected: [["progress"]]
# Actual:   [["progress", {detail_hints: [:some_hint]}]]
Environment/versions
  • SDK version: main (1.9.0)
  • Ruby 3.4, Linux x86_64
Lenguaje dominante
Ruby
Estrellas
207
Forks
44
Merge medio
2 d 42 min
PR fusionados (30 d)
19

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 temporalio/sdk-ruby

Todos los issues de temporalio/sdk-ruby

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.