Fix Delete Deserialization Error #33

Merged
fatmaebrahim merged 1 commit from development_fix_delete_deserialization_error into development 2026-04-28 06:07:22 +00:00
Member

Summary

  • Generated SDK _delete methods called rpc_call::<String>, but the dispatch layer auto-parses a handler's stringified bool ("true"/"false") back into a JSON bool on the wire.

  • Clients hit invalid type: boolean true, expected a string at line 1 column 30 on every successful delete — the row got removed server-side, but the UI showed an error.

  • switch generator output to rpc_call::<serde_json::Value> for _delete

  • delete discards the value anyway, and Value accepts whichever JSON shape the dispatch produces.

Scope

  • Generator only: crates/generator/src/rust/rust_client.rs:208.
  • The 105 generator unit tests still pass.
  • The corresponding regenerated SDK files land in a paired PR against lhumina_code/hero_osis.
## Summary - Generated SDK `_delete` methods called `rpc_call::<String>`, but the dispatch layer auto-parses a handler's stringified bool (`"true"`/`"false"`) back into a JSON bool on the wire. - Clients hit `invalid type: boolean true, expected a string at line 1 column 30` on every *successful* delete — the row got removed server-side, but the UI showed an error. - switch generator output to `rpc_call::<serde_json::Value>` for `_delete` - delete discards the value anyway, and `Value` accepts whichever JSON shape the dispatch produces. ## Scope - Generator only: `crates/generator/src/rust/rust_client.rs:208`. - The 105 generator unit tests still pass. - The corresponding regenerated SDK files land in a paired PR against `lhumina_code/hero_osis`. ## Related Issues - https://forge.ourworld.tf/lhumina_code/hero_os/issues/49
fix(generator): use serde_json::Value for delete RPC return type
Some checks failed
Test / test (push) Failing after 32s
Test / test (pull_request) Failing after 33s
e93edac5d3
Generated SDK delete methods called rpc_call::<String>, but the dispatch
layer auto-parses a handler's stringified bool ("true"/"false") back
into a JSON bool on the wire. Result: clients hit "invalid type:
boolean true, expected a string at line 1 column 30" on every
successful delete.

Switch to rpc_call::<serde_json::Value> — delete discards the value
anyway, and Value accepts whichever JSON shape the dispatch produces.

Refs: lhumina_code/hero_os#49

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fatmaebrahim changed title from fix(generator): use serde_json::Value for delete RPC return type to Fix Delete Deserialization Error 2026-04-27 10:40:02 +00:00
fatmaebrahim force-pushed development_fix_delete_deserialization_error from e93edac5d3
Some checks failed
Test / test (push) Failing after 32s
Test / test (pull_request) Failing after 33s
to 98bfb767fc
All checks were successful
Test / test (pull_request) Successful in 1m8s
Test / test (push) Successful in 1m9s
2026-04-28 06:05:44 +00:00
Compare
fatmaebrahim merged commit dbbbf91e12 into development 2026-04-28 06:07:22 +00:00
fatmaebrahim deleted branch development_fix_delete_deserialization_error 2026-04-28 06:07:23 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_rpc!33
No description provided.