[Bug] Testing::ActivityEnvironment adds detail_hints to heartbeat details
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 85/100
調査の方向性
Temporalio::Testing::ActivityEnvironment#on_heartbeat と、それがインストールするコンテキストから始め、その heartbeat のシグネチャを Temporalio::Activity::Context#heartbeat と比較してください。提供された detail_hints: [:some_hint] の再現 코드を使って対象を絞ったユニットテストを追加または実行し、on_heartbeat が [['progress']] だけを受け取り、ヒントは引き続き実際のコンバーターパスに到達することを確認してください。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Ruby
- スター
- 207
- フォーク
- 44
- 平均マージ
- 2日 42分
- マージ済み PR(30日)
- 19
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
temporalio/sdk-ruby のほかの issue
-
[Bug] JSON payload decoding raises ArgumentError with json 3.x (JSON.parse options are keyword-only)対応中かも @GregoryTravis が 4 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
temporalio/sdk-ruby#595 · コメント 4 件 · 担当者 2 名 ·
メンテナーはふだん 1 日以内に返信
-
Enable concurrent payload visiting - Ruby対応中かも @jmaeagle99 が 5 日前に担当しました。 オープン
temporalio/sdk-ruby#616 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
External Payload Storage Foundation - Ruby対応中かも @jmaeagle99 が 9 日前に担当しました。 オープン
temporalio/sdk-ruby#614 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
[Bug] Exception in an unawaited Workflow::Future is silently swallowed, leaving the workflow stuck RUNNING対応中かも @GregoryTravis が 4 日前に担当しました。 オープンbug
難易度 3/5 半日 初心者へのやさしさ 40/100
temporalio/sdk-ruby#613 · リアクション 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Proposal: handle SIGTERM by default to initiate graceful worker shutdown対応中かも @eamsden が 9 日前に担当しました。 オープン
temporalio/sdk-ruby#611 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
temporalio/sdk-ruby の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 1/5 1〜3時間 初心者へのやさしさ 94/100
zerocracy/judges-action#2803 ·
メンテナーはふだん 5 日以内に返信
-
empty tone.rbオープン
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
-
rounding inaccuracies in ordered_quantities_different_from_group_orders?対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 1/5 1〜3時間 初心者へのやさしさ 92/100
-
enhancement good first issue
難易度 2/5 半日 初心者へのやさしさ 92/100
r-uby-dev/llm#296 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信