Skip to content

Commit 6b4631a

Browse files
authored
Use RawValue for built-in query response (#231)
Fixes #224
1 parent be309d1 commit 6b4631a

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

temporalio/lib/temporalio/internal/worker/workflow_instance.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
require 'temporalio'
55
require 'temporalio/activity/definition'
66
require 'temporalio/api'
7+
require 'temporalio/converters/payload_converter'
78
require 'temporalio/converters/raw_value'
89
require 'temporalio/error'
910
require 'temporalio/internal/bridge/api'
@@ -388,9 +389,11 @@ def apply_query(job)
388389
schedule do
389390
# If it's a built-in, run it without interceptors, otherwise do normal behavior
390391
result = if job.query_type == '__stack_trace'
391-
scheduler.stack_trace
392+
# Use raw value built from default converter because we don't want to use user-conversion
393+
Converters::RawValue.new(Converters::PayloadConverter.default.to_payload(scheduler.stack_trace))
392394
elsif job.query_type == '__temporal_workflow_metadata'
393-
workflow_metadata
395+
# Use raw value built from default converter because we don't want to use user-conversion
396+
Converters::RawValue.new(Converters::PayloadConverter.default.to_payload(workflow_metadata))
394397
else
395398
# Get query definition, falling back to dynamic if not present and not reserved
396399
defn = query_handlers[job.query_type]

0 commit comments

Comments
 (0)