Skip to content

fix: restore EditMode test compilation broken by CommunitiesFeatureAccess warm-up token - #9572

Merged
dalkia merged 1 commit into
devfrom
fix/communities-feature-access-test-compile
Aug 3, 2026
Merged

fix: restore EditMode test compilation broken by CommunitiesFeatureAccess warm-up token#9572
dalkia merged 1 commit into
devfrom
fix/communities-feature-access-test-compile

Conversation

@dalkia

@dalkia dalkia commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Pull Request Description

What does this PR change?

Fixes an EditMode test compilation error currently on dev:

Assets/DCL/Chat/MessageBus/Tests/LiveKitChatMessagesBusShould.cs(63,53): error CS7036:
There is no argument given that corresponds to the required formal parameter 'warmUpCt'
of 'CommunitiesFeatureAccess.CommunitiesFeatureAccess(IWeb3IdentityCache, IAppArgs, CancellationToken)'

Root cause — a semantic (logical) merge conflict between two PRs, neither of which is individually wrong:

PR Merged Change
#9472 (feat: open Explorer UI from SDK scene) Jul 29 Added a required 3rd param CancellationToken warmUpCt to the CommunitiesFeatureAccess constructor
#9501 (fix: authenticate chat sender identity before trusting ForwardedFrom) Aug 3 Added LiveKitChatMessagesBusShould.cs, which constructs CommunitiesFeatureAccess with two arguments

dev compiled fine for the 5 days after #9472 because no two-arg call site existed yet. #9501's branch was cut from dev before #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 with dev. The two changes touch different files (CommunitiesFeatureAccess.cs vs. the new test), so git merged them with no textual conflict — but the combination does not compile. The broken call entered dev only 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 via forceEnabledInEditor and never suspends, so CancellationToken.None is the appropriate token — no cancellation-on-teardown plumbing is needed here (unlike CommunitiesFeatureAccessShould, which exercises the real gating path). The diff is a single call-site update plus the System.Threading using directive.

Prevention (follow-up, not in this PR): enabling GitHub's "Require branches to be up to date before merging" on dev would 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

  1. Open the project in Unity (or run CI EditMode tests).
  2. Confirm the EditMode test assembly compiles (previously failed with CS7036).
  3. Run LiveKitChatMessagesBusShould — all cases pass.

Additional Testing Notes

  • No production code changed; test-only fix.
  • Verified new CommunitiesFeatureAccess( has no other stale call sites.

Quality Checklist

  • Changes have been tested locally
  • Documentation has been updated (if required)
  • Performance impact has been considered (none — test-only)
  • For SDK features: Test scene is included (N/A)

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>
@dalkia
dalkia requested review from a team as code owners August 3, 2026 15:55
@github-actions
github-actions Bot requested a review from anicalbano August 3, 2026 15:55
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

badge

New build in progress, come back later!

@decentraland-bot
decentraland-bot self-requested a review August 3, 2026 15:55
@dalkia dalkia self-assigned this Aug 3, 2026

@decentraland-bot decentraland-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.None is the correct token here: this test does not set disableForTests, so the constructor's warm-up short-circuits via forceEnabledInEditor and never suspends — no cancellation-on-teardown plumbing is needed.
  • The using System.Threading; directive is correctly placed in alphabetical order among the existing System.* 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

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto-approved based on Jarvis review — simple fix/chore with no blocking issues. No QA needed (non-runtime changes only).

@github-actions github-actions Bot added the no QA needed Used to tag pull requests that does not require QA validation label Aug 3, 2026
@dalkia
dalkia merged commit 8cf2529 into dev Aug 3, 2026
30 of 37 checks passed
@dalkia
dalkia deleted the fix/communities-feature-access-test-compile branch August 3, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

claude-approved no QA needed Used to tag pull requests that does not require QA validation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants