fix: allow upstream attribution in translated readmes - #11781
Merged
Conversation
markijbema
marked this pull request as ready for review
June 29, 2026 09:09
markijbema
enabled auto-merge
June 29, 2026 09:09
marius-kilocode
approved these changes
Jun 29, 2026
Contributor
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (1 files)
Reviewed by gpt-5.4-20260305 · Input: 31.5K · Output: 3.5K · Cached: 179.7K Review guidance: REVIEW.md from base branch |
markijbema
disabled auto-merge
June 29, 2026 10:17
t7tran
pushed a commit
to t7tran/kilocode
that referenced
this pull request
Aug 14, 2026
…-readme-opencode-link fix: allow upstream attribution in translated readmes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Make the kilocode global-config change-detection baseline (
globalStamp) single-owned and seeded eagerly at service construction, inpackages/opencode/src/config/config.ts.Why
globalStamprecords the on-disk content of the global config so edits made by other Kilo processes can be detected and hot-reloaded. It had two problems:loadGlobalandrefreshGlobalwroteglobalStamp. A cache reload (loadGlobal) could advance the baseline to whatever was on disk at reload time, silently absorbing an external edit that landed between invalidation and the reload — so the nextrefreshGlobalwould compare against the already-advanced baseline and miss the change.""and the guardif (!globalStamp || …)made the very firstrefreshGlobala no-op that didn't record anything, leaving detection dependent on whichever writer ran first.Combined with
Server.Default()being memoized once per process (so the Config service closure —globalStamp+cachedGlobal— is shared), this is a latent flake surface:test/kilocode/global-config-refresh.test.ts("detects external global config edits") intermittently fails on CI with"ask"instead of"allow", even though it passes in isolation. The test and the affected code are identical onmain; this is not specific to any feature branch.Change
globalStamponce when the Config service is built.loadGlobalwrites ofglobalStamp.refreshGlobalis now the sole owner: it advances the baseline only when on-disk content actually differs, then invalidates the cache so the next read reloads.A wrong initial seed (e.g. service built before the config dir is finalized) is self-correcting: the first
refreshGlobalsimply triggers one idempotent invalidate+reload — never stale data.Honesty note
This is a correctness/hardening change for multi-process config-edit detection and it removes the shared-state vector behind the CI flake. I could not write a regression test that fails on the old code and passes on the new one in a single process — the old single-process logic is self-correcting on every reload, and the flake only manifests via shared-closure leakage across the three tests in the file under the full parallel suite. Rather than add a test that passes on both versions (test theater), I left the existing suite as the guard. All 115 config-related tests pass;
global-config-refresh.test.tswas run 8× in a loop with no failures.Testing
bun test ./test/kilocode/global-config-refresh.test.ts(8 loops, green)bun testacross config/permission/global suites: 115 passbun run typecheck: clean