Skip to content

Return status codes from ShowChronicles and ShowStories#639

Draft
iameneko wants to merge 1 commit intodevelopfrom
576-show-chronicles-stories-error-contract
Draft

Return status codes from ShowChronicles and ShowStories#639
iameneko wants to merge 1 commit intodevelopfrom
576-show-chronicles-stories-error-contract

Conversation

@iameneko
Copy link
Copy Markdown
Contributor

@iameneko iameneko commented May 6, 2026

Both APIs returned a vector reference with no way to tell apart no-results, unauthorized, and RPC failure — they all surfaced as an empty list, which is also why the Python binding skipped them. Switches the public client API, the Visor portal, and the Thallium RPC over to returning int with the result vector as an out-parameter, matching the rest of the metadata API. Also wires the authorization predicate on ShowChronicles (was a TODO) and propagates the ChronicleMetaDirectory return codes that were being dropped on the floor.

Closes #576. Part of #572.

Both APIs returned vector<string>& with no status, so callers couldn't
distinguish between "no results", "unauthorized", and "RPC failure".
Switch the public client API, the Visor portal, and the Thallium RPC
to return int with the result vector as an out-parameter, matching
the rest of the metadata API.

Also wire the authorization predicate on ShowChronicles (was a TODO)
and propagate the existing ChronicleMetaDirectory return codes that
were being dropped on the floor.

Closes #576.
@iameneko iameneko added this to the v2.9.0 — API Completeness milestone May 6, 2026
@iameneko iameneko added ChronoVisor Coordination service: chronicle/story metadata, client registry, recording group orchestration ChronoLogClient Client library: C++/Python APIs for connecting, recording, and replaying labels May 6, 2026
@iameneko iameneko self-assigned this May 6, 2026
@iameneko iameneko linked an issue May 6, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ChronoLogClient Client library: C++/Python APIs for connecting, recording, and replaying ChronoVisor Coordination service: chronicle/story metadata, client registry, recording group orchestration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix error-return contract on ShowChronicles and ShowStories

1 participant