Conversation
Clones shared property arrays with their sources, so dereferencing a clone replaced values on the original without updating its trust state or cached JSON-LD. Plural constructor and clone inputs also retained caller-owned arrays. Copy arrays at these three ownership boundaries. Keep nested objects and URLs shared, preserve sparse inputs, and retain the public API and trust policy. Cover lookup and serialization isolation, caller and frozen arrays, cache reuse, and embedded object identity in regressions. Regenerate all runtime snapshots and add changelog fragments. Fixes fedify-dev#1207 Assisted-by: Codex:gpt-6-astra Assisted-by: Claude Code:claude-fable-5-1
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. 🧰 Additional context used📚 Code guidelines (1)No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Advanced Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (5)
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughGenerated vocabulary constructors and ChangesVocabulary array ownership
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix · Severity of issue fixed: Medium Suggested reviewers: Merge Risk: ⚪ Minimal · up to The array-ownership change has no identified issue requiring resolution before merge. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests.
... and 2 files with indirect coverage changes 🚀 New features to boost your workflow:
|
2chanhaeng
left a comment
There was a problem hiding this comment.
Please use the title to summarize the intent of the change, and note which issue the PR addresses in the body. If the title only includes the issue number, GitHub cannot link the issue to the PR.
I think this PR needs a changelog entry because the number of remote lookups and the timing of key updates will change. These changes are visible to users.
I also think users should have an option to disable the cache. However, it doesn’t need to be implemented right away, so you can create a separate issue.
The PR description says AI was used, but the only commit that changed the code, 3ff6fa0, doesn’t have Assisted-by trailers in its message. Please add them.
Shared property arrays let a lookup on a clone rewrite its source without updating the source's trust state or JSON-LD cache.
Use
.slice()to copy arrays in generatedclone()methods and plural constructor/clone inputs. This preserves sparse inputs and nested object/URL identity.Regression tests check lookup/serialization isolation, caller and frozen arrays, and trust behavior. Generator snapshots are updated for Deno/Node.js/Bun.
Fixes #1207.