[Bug] Testing::ActivityEnvironment adds detail_hints to heartbeat details
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
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
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 temporalio/sdk-ruby
-
[Bug] JSON payload decoding raises ArgumentError with json 3.x (JSON.parse options are keyword-only)Posiblemente ocupada @GregoryTravis la tomó hace 5 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
temporalio/sdk-ruby#595 · 4 comentarios · 2 asignados ·
Los mantenedores suelen responder en 1 día
-
Enable concurrent payload visiting - RubyPosiblemente ocupada @jmaeagle99 la tomó hace 6 días. Abierto
temporalio/sdk-ruby#616 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
External Payload Storage Foundation - RubyPosiblemente ocupada @jmaeagle99 la tomó hace 10 días. Abierto
temporalio/sdk-ruby#614 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Bug] Exception in an unawaited Workflow::Future is silently swallowed, leaving the workflow stuck RUNNINGPosiblemente ocupada @GregoryTravis la tomó hace 5 días. Abiertobug
Dificultad 3/5 Medio día Aptitud para principiantes 40/100
temporalio/sdk-ruby#613 · 1 reacción · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Proposal: handle SIGTERM by default to initiate graceful worker shutdownPosiblemente ocupada @eamsden la tomó hace 10 días. Abierto
temporalio/sdk-ruby#611 · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de temporalio/sdk-ruby
Issues similares
-
Unconfirmed users who reset their password are stuck on sign in with no way to send confirmationAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
L: github:actions L: javascript
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
dependabot/dependabot-core#16615 ·
Los mantenedores suelen responder en 1 día
-
Kanton Column not HiddenAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 61/100
hitobito/hitobito_pfadi_de#164 ·
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 7 días