fix: restore EditMode test compilation broken by CommunitiesFeatureAccess warm-up token - #9572
Conversation
PR #9472 added a required `warmUpCt` CancellationToken to the CommunitiesFeatureAccess constructor and updated CommunitiesContainer and the new CommunitiesFeatureAccessShould test, but left the pre-existing LiveKitChatMessagesBusShould constructor call at two arguments, breaking EditMode test compilation (CS7036). This test does not set disableForTests, so the constructor warm-up short-circuits via forceEnabledInEditor and never suspends, so CancellationToken.None is the correct token to pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
decentraland-bot
left a comment
There was a problem hiding this comment.
Review — PR #9572
fix: restore EditMode test compilation broken by CommunitiesFeatureAccess warm-up token
Step 2 — Root-cause check: PASS ✅
The diff fixes the actual cause: PR #9472 added a required warmUpCt CancellationToken parameter to the CommunitiesFeatureAccess constructor but missed updating the pre-existing two-argument call in LiveKitChatMessagesBusShould.SetUp(). This PR adds the missing third argument — a direct fix, not a workaround.
Step 3 — Design & integration: N/A
No new long-lived units, systems, or state-holding classes introduced. This is a single call-site update in a test file.
Step 4 — Member audit: N/A
No public properties or accessors added or changed.
Step 5 — Line-level review: No issues
CancellationToken.Noneis the correct token here: this test does not setdisableForTests, so the constructor's warm-up short-circuits viaforceEnabledInEditorand never suspends — no cancellation-on-teardown plumbing is needed.- The
using System.Threading;directive is correctly placed in alphabetical order among the existingSystem.*imports. - Verified no other stale call sites: GitHub code search confirms only two
new CommunitiesFeatureAccess(call sites exist —CommunitiesContainer.cs(already updated with 3 args in PR #9472) and this test file.
Security review: No issues
Test-only change. No secrets, no input handling, no auth changes, no production code affected.
Step 8 — Non-blocking warnings: None
REVIEW_RESULT: PASS ✅
COMPLEXITY: SIMPLE
COMPLEXITY_REASON: Single call-site fix in a test file — adds a missing constructor argument, no production code or ECS/async/networking changes.
QA_REQUIRED: NO
Reviewed by Jarvis 🤖 · Requested by decentraland-bot via GitHub
Pull Request Description
What does this PR change?
Fixes an EditMode test compilation error currently on
dev:Root cause — a semantic (logical) merge conflict between two PRs, neither of which is individually wrong:
feat: open Explorer UI from SDK scene)CancellationToken warmUpCtto theCommunitiesFeatureAccessconstructorfix: authenticate chat sender identity before trusting ForwardedFrom)LiveKitChatMessagesBusShould.cs, which constructsCommunitiesFeatureAccesswith two argumentsdevcompiled fine for the 5 days after #9472 because no two-arg call site existed yet. #9501's branch was cut fromdevbefore #9472 landed, so on that branch the constructor still took two params and the new test compiled — its CI was green. #9501 was then merged without being brought up to date withdev. The two changes touch different files (CommunitiesFeatureAccess.csvs. the new test), so git merged them with no textual conflict — but the combination does not compile. The broken call entereddevonly when #9501 merged, which is why the failure appears now rather than 5 days ago.Fix: Pass the third argument at that call site. Because this test does not set
disableForTests, the constructor's warm-up short-circuits viaforceEnabledInEditorand never suspends, soCancellationToken.Noneis the appropriate token — no cancellation-on-teardown plumbing is needed here (unlikeCommunitiesFeatureAccessShould, which exercises the real gating path). The diff is a single call-site update plus theSystem.Threadingusing directive.Prevention (follow-up, not in this PR): enabling GitHub's "Require branches to be up to date before merging" on
devwould have caught this — it forces a PR's checks to run against a fresh merge with the current base, which would have compiled the 3-param constructor together with the 2-arg call and failed before merge.Test Instructions
Test Steps
LiveKitChatMessagesBusShould— all cases pass.Additional Testing Notes
new CommunitiesFeatureAccess(has no other stale call sites.Quality Checklist