Repository navigation
Conversation
computeKuboConfig(kuboConfig, reachabilityConfig, enabled) is the one place that decides the kubo edits. planKuboConfig also returns a record of what changed, which tells our entries from identical operator ones and lets disable restore the touched fields byte for byte.
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 43 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1555fefe21
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| if (config.AutoTLS?.Enabled !== false) return; | ||
| if (autoTls.enabledShape === "absent") delete config.AutoTLS.Enabled; | ||
| else config.AutoTLS.Enabled = autoTls.enabled; | ||
| if (autoTls.sectionShape === "absent" && Object.keys(config.AutoTLS).length === 0) delete config.AutoTLS; |
There was a problem hiding this comment.
Restore top-level sections whose original shape was null
Restore the recorded "null" shape here as well as "absent". With a config containing "AutoTLS": null, enabling creates { "Enabled": false }, but disabling deletes Enabled and leaves AutoTLS: {}, violating the advertised byte-for-byte round trip. The analogous Addresses: null path at line 58 also returns {} instead of null.
Useful? React with 👍 / 👎.
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
|
Consolidated into #208. |
Part of #198 (step 2).
Summary
The settled signature is unchanged.
planKuboConfigsits beside it and also returns an edit record forreachability/config.json. A pure function can't otherwise tell our entries from identical operator ones, or know which old address to drop after an IP change.Behaviour the issue left open:
disableleaves it on.disable.Evidence
After:
test/reachability/kubo-config.test.ts, 80+ tests, all passing.Merge Danger
Door: two-way
Blast Radius: none
New pure module with no callers yet.