fix: update Cargo.lock to pick up hero_rpc_client context fix (ed6e7eb3c0) #46

Closed
opened 2026-05-06 17:15:45 +00:00 by casper-stevens · 1 comment
Member

Summary

hero_osis Cargo.lock pins hero_rpc_client to commit 0a08b9c6, which constructs the OSIS RPC endpoint incorrectly. This causes all downstream consumers (e.g. hero_biz) to send requests to the wrong URL with context in the path rather than the header, so context selection silently falls back to the default context.

The stale dependency

Cargo.lock currently resolves hero_rpc_client to commit 0a08b9c6.

That commit builds the endpoint in crates/openrpc_http_client_lib/src/lib.rs as:

// 0a08b9c6 — wrong
let endpoint = format!("{}/rpc/{}", base_url.trim_end_matches('/'), context);
  • Context is in the URL path — OSIS server ignores it and uses the default context
  • Domain is not in the path — requests do not reach the correct per-domain socket

The fix already exists in hero_rpc

Commit ed6e7eb3c0 (feat(OsisClient): per-domain URL routing + X-Hero-Context header) corrects crates/openrpc_http_client_lib/src/lib.rs to:

// ed6e7eb3c0 — correct
let endpoint = format!("{}/hero_osis_{}/rpc", base_url.trim_end_matches('/'), domain);
// rpc_call() sends X-Hero-Context: <context> as an HTTP header

What needs to happen

In the hero_osis workspace, run:

cargo update -p hero_rpc_client

Then commit the updated Cargo.lock. Downstream repos (hero_biz and others) can then run cargo update -p hero_osis_sdk to pick it up.

Impact

Any service using hero_osis_sdk domain clients (BusinessClient, ProjectsClient, etc.) is affected. All RPC calls go to the wrong endpoint and return default-context data regardless of which context is requested. Tracked in hero_biz#37.

## Summary `hero_osis` Cargo.lock pins `hero_rpc_client` to commit [0a08b9c6](https://forge.ourworld.tf/lhumina_code/hero_rpc/commit/0a08b9c6fd9d707d9e9692ef5c8307e846994456), which constructs the OSIS RPC endpoint incorrectly. This causes all downstream consumers (e.g. `hero_biz`) to send requests to the wrong URL with context in the path rather than the header, so context selection silently falls back to the default context. ## The stale dependency [Cargo.lock](https://forge.ourworld.tf/lhumina_code/hero_osis/src/branch/development/Cargo.lock) currently resolves `hero_rpc_client` to commit [0a08b9c6](https://forge.ourworld.tf/lhumina_code/hero_rpc/commit/0a08b9c6fd9d707d9e9692ef5c8307e846994456). That commit builds the endpoint in [`crates/openrpc_http_client_lib/src/lib.rs`](https://forge.ourworld.tf/lhumina_code/hero_rpc/src/commit/0a08b9c6fd9d707d9e9692ef5c8307e846994456/crates/openrpc_http_client_lib/src/lib.rs) as: ```rust // 0a08b9c6 — wrong let endpoint = format!("{}/rpc/{}", base_url.trim_end_matches('/'), context); ``` - Context is in the URL path — OSIS server ignores it and uses the default context - Domain is not in the path — requests do not reach the correct per-domain socket ## The fix already exists in hero_rpc Commit [ed6e7eb3c0](https://forge.ourworld.tf/lhumina_code/hero_rpc/commit/ed6e7eb3c0aca6e102d0c15b3cfbb6ba838462de) (`feat(OsisClient): per-domain URL routing + X-Hero-Context header`) corrects [`crates/openrpc_http_client_lib/src/lib.rs`](https://forge.ourworld.tf/lhumina_code/hero_rpc/src/commit/ed6e7eb3c0aca6e102d0c15b3cfbb6ba838462de/crates/openrpc_http_client_lib/src/lib.rs) to: ```rust // ed6e7eb3c0 — correct let endpoint = format!("{}/hero_osis_{}/rpc", base_url.trim_end_matches('/'), domain); // rpc_call() sends X-Hero-Context: <context> as an HTTP header ``` ## What needs to happen In the `hero_osis` workspace, run: ``` cargo update -p hero_rpc_client ``` Then commit the updated [`Cargo.lock`](https://forge.ourworld.tf/lhumina_code/hero_osis/src/branch/development/Cargo.lock). Downstream repos (`hero_biz` and others) can then run `cargo update -p hero_osis_sdk` to pick it up. ## Impact Any service using `hero_osis_sdk` domain clients (BusinessClient, ProjectsClient, etc.) is affected. All RPC calls go to the wrong endpoint and return default-context data regardless of which context is requested. Tracked in [hero_biz#37](https://forge.ourworld.tf/lhumina_code/hero_biz/issues/37).
Author
Member

turns out the AI that filed this issue has the same problem as the AI in lhumina_code/hero_biz#39. it made stuff up.

turns out the AI that filed this issue has the same problem as the AI in lhumina_code/hero_biz#39. it made stuff up.
Sign in to join this conversation.
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_osis#46
No description provided.