Repository navigation
Updated codeowners - #657
Conversation
chore(release): v4.5.1
Co-Authored-By: Claude <noreply@anthropic.com>
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
🔒 Security Scan Results
⏱️ SLA Breach Summary
✅ BUILD PASSED - All security checks passed |
Coverage Report
File CoverageNo changed files found. |
hitesh-shetty-cstk
left a comment
There was a problem hiding this comment.
Automated review
What this changes: This syncs stage_v4 back into develop_v4. It carries the CODEOWNERS rewrite that is already on main, moves the README CDN pin from 4.5.0 to 4.5.1, regenerates CHANGELOG.md, and bumps package.json and package-lock.json from 4.5.0 to 4.5.2. No src/ files change. The title says "Updated codeowners" and the body is the commit message for the discussion-highlights rejection fix, so neither describes this change. That fix is already on develop_v4 through #652 and the handling is present in this head tree, so its absence from the diff is expected rather than a dropped commit.
Business impact: The release and publish path for a package consumed from npm and from a CDN. package.json moves to 4.5.2, but the commits released as v4.5.2 are not reachable from this head. The v4.5.2 tag points at 32fcde6 on main, which is not an ancestor of ae3a878. Merging this leaves develop_v4 labelled 4.5.2 without what 4.5.2 shipped, and leaves the README telling consumers to pin a lower version than package.json declares.
Security: Nothing beyond what the scanners cover. Snyk and the security scan workflow both reported clean on this head. The v4.5.2 release commits on main include CI hardening for the publish workflow that this branch does not yet have, and merging main back brings it along.
Flow
flowchart TD
D["develop_v4 (base)<br/>4.5.0"]
S["stage_v4<br/>4.5.1"]
M["main, tag v4.5.2<br/>prepack build, alpha dist-tag, README 4.5.2"]
P["PR head ae3a878<br/>package.json 4.5.2"]:::changed
S -->|"sync branch"| P
D -->|"merged in"| P
P -->|"this PR"| D
M -.->|"never merged back"| P
classDef changed fill:#fff3cd,stroke:#d39e00
Findings: 1 blocker, 3 should fix, 0 nit. Three are inline on package.json, README.md and CHANGELOG.md. The fourth has no line to anchor to: the title and the body describe different changes and neither matches the diff. On a sync PR the description is what a reviewer checks completeness against, so it is worth rewriting before merge.
Reviewer candidates: @csAyushDubey authored 11 of the last 30 commits on package.json. @kirtesh-cstk cut both the v4.5.1 and v4.5.2 releases and wrote the release-script fixes this branch is missing, so they can settle whether main should be merged back first.
Not covered: I did not run the build, the tests, or a publish dry run. I did not verify that @contentstack/ghost-pr-reviewers exists as a team with write access on this repository. If it does not, the * rule in CODEOWNERS is ignored and the repository has no default code owner. That CODEOWNERS content matches main exactly, so this PR propagates it rather than introducing it.
Automated review by Claude Code. A human review is still required.
Generated by Claude Code
…no listener
The visual builder registers the request-discussion-highlights listener
inside DiscussionPage, which Venus only mounts while the Discussions panel
is open. With the panel closed, which is the default, the send rejects with
NO_REQUEST_LISTENER_FOUND and nothing handles it. Next.js dev registers a
global unhandledrejection handler and renders the plain {code, message}
rejection as a runtime error overlay titled "[object Object]".
Handle the rejection at both send sites, since an absent receiver is the
expected state for this event rather than a failure.
Both branches of the isSSR check sent the same event, so the send is hoisted
out of the branch instead of being duplicated.
The spec mocked send as vi.fn(), which returns undefined rather than a
promise. Tests only passed because two later tests set mockResolvedValue and
vi.clearAllMocks does not reset implementations, so every test after them
inherited a promise. The base mock now matches the real contract.
Co-Authored-By: Claude noreply@anthropic.com