Repository navigation
fix(link): restore owned integrations before native signal exit #774
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
0cbf98d
466da71
8444f0c
560ff4b
7458fe3
c5b7e68
bb775e1
e05e2af
74d1b98
165b689
e4c3df5
604840e
521d14c
cea1e29
23cbc2f
df1f4ff
f7c2d32
e35572f
8808155
ae0a6a3
9c25b49
c629e01
8a82a46
3a0e00d
d52c1b8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -82,6 +82,8 @@ ocx start --socks5-off | |
|
|
||
| ### `ocx stop [--json]` | ||
|
|
||
| An unsupervised Link Child handling a shutdown signal restores native Codex and managed Grok before releasing its listener, rechecking the served connection before each write. Service/Desktop supervision, sibling ownership, restart/recycle handoff and pending parent stop receipts preserve integrations. Shutdown rejects bound restart with `409 runtime_stopping`. Forced termination can bypass signal handlers; parent `ocx stop` restoration remains necessary. To route Codex through Home again after such a stop, start the Child (`ocx start`, or `ocx service start` for an installed service) and then run `ocx sync --restart-codex`. Starting alone does not reapply routing. A sync run while the Child is stopped still reapplies routing, which points Codex at a listener that is not running, so start the Child first. | ||
|
|
||
|
Comment on lines
+85
to
+86
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The new paragraph repeats the recovery steps that already appear at Lines 93-97. Line 85 says to start the Child with The new paragraph also appears before the sentence that introduces what Keep the signal-shutdown facts here:
Replace the recovery sentences with a pointer to the explicit-stop paragraph below. Keep the "sync while stopped points Codex at a listener that is not running" warning in one place only. Keep the translated lifecycle pages aligned with the English source. As per coding guidelines: "Do not add duplicated policy text when a stable canonical document can be linked instead."
|
||
| Stop the running proxy (by PID), remove the PID file, and restore native Codex for standalone owners. If a managed | ||
| background service is installed, `ocx stop` also stops it first so it cannot respawn the proxy. | ||
| On a connected hub client, `ocx stop` leaves Codex routing, its | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -641,7 +641,17 @@ function usageFromNative(value: JsonRecord | undefined): OcxUsage | undefined { | |
| const input = isFiniteNonNegativeInteger(value.prompt_eval_count) ? value.prompt_eval_count : undefined; | ||
| const output = isFiniteNonNegativeInteger(value.eval_count) ? value.eval_count : undefined; | ||
| if (input === undefined && output === undefined) return undefined; | ||
| return { inputTokens: input ?? 0, outputTokens: output ?? 0 }; | ||
| // Ollama reports prompt_eval_cached_count as the cached subset of prompt_eval_count (api/types.go; | ||
| // its CLI prints prompt_eval_count - cached as the uncached share), which is OCX's cache-read | ||
| // convention. Omitted means unknown, so no cache field is invented; a count that exceeds the | ||
| // prompt is not a subset and is ignored rather than clamped (#8101). | ||
| const cached = input !== undefined && isFiniteNonNegativeInteger(value.prompt_eval_cached_count) | ||
| && value.prompt_eval_cached_count <= input ? value.prompt_eval_cached_count : undefined; | ||
| return { | ||
| inputTokens: input ?? 0, | ||
| outputTokens: output ?? 0, | ||
| ...(cached !== undefined ? { cachedInputTokens: cached, cacheReadInputTokens: cached } : {}), | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Document the new Ollama cache reporting. This change can alter client-visible cached-token counts and cost estimates. The Add the mapping and explain that absent or invalid cache counts are ignored. As per coding guidelines: “Update
|
||
| }; | ||
| } | ||
|
|
||
| function stopReasonFromNative(value: unknown): string | undefined { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Script executed:
Repository: luvs01/opencodex
Length of output: 4757
Script executed:
Repository: luvs01/opencodex
Length of output: 6513
Script executed:
sed -n '260,290p' docs-site/src/content/docs/reference/adapters.md git diff --unified=8 9f1ed15198cc7359c25cd6ac3d073a777c60cbeb d52c1b877eb02109aff9950ebe302ccec9cd934a -- docs-site/src/content/docs/reference/adapters.mdRepository: luvs01/opencodex
Length of output: 4319
Include Azure Responses in the documented scope.
The documented Kimi endpoint matches the predicate. Azure Responses can also have
output.encrypted_contentremoved, so the statement that unrelated destinations keep their originalincludelist is too broad.Suggested documentation fix
Source: Coding guidelines