Skip to content

test(tree): cover divergent optional field compatibility - #28131

Draft
Alex Villarreal (alexvy86) wants to merge 1 commit into
microsoft:mainfrom
alexvy86:divergent-new-fields
Draft

test(tree): cover divergent optional field compatibility#28131
Alex Villarreal (alexvy86) wants to merge 1 commit into
microsoft:mainfrom
alexvy86:divergent-new-fields

Conversation

@alexvy86

Copy link
Copy Markdown
Contributor

Description

Adds a unit test covering TreeView compatibility when two schemas share the same node identifier and allow unknown optional fields, but independently add different optional fields.

The test creates one document with fieldA and another with fieldB, then opens each document using the other view schema. It documents that both cross-open scenarios are incompatible: canView, canUpgrade, and isEquivalent are false, and accessing the root throws a compatibility error.

Reviewer Guidance

The review process is outlined in the pull request guidelines.

Please confirm that the asserted incompatibility is the intended behavior for divergent optional fields when allowUnknownOptionalFields is enabled.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ebede8a0-bce8-450f-9855-65dc1e8b0bc8
@github-actions github-actions Bot added area: tools area: dds Issues related to distributed data structures area: repo Repo related work area: website area: dds: tree base: main PRs targeted against main branch labels Aug 31, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Hi! Thank you for opening this PR. Want me to review it?

Based on the diff (64 lines, 1 files), I've queued these reviewers:

  • Correctness — logic errors, race conditions, lifecycle issues
  • Security — vulnerabilities, secret exposure, injection
  • API Compatibility — breaking changes, release tags, type design
  • Performance — algorithmic regressions, memory leaks
  • Testing — coverage gaps, hollow tests

How this works

  • Adjust the reviewer set by ticking/unticking boxes above. Reviewer toggles alone don't trigger anything.

  • Tick Start review below to dispatch the review fleet.

  • After review finishes, tick Start review again to request another run — it auto-resets after each dispatch.

  • This comment updates as new commits land; your reviewer selections are preserved.

  • Start review

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Bundle size comparison

Base commit: 433c666b69b016be388aed1471273559109c8e41
Head commit: e6af164d81ae1f295b90c1e7f7d892a2e18a08d3

Notable changes

No bundles changed by ≥ 500 bytes parsed.

Per-bundle deltas

@fluid-example/bundle-size-tests

  • fluidFrameworkAllAlpha.js: parsed 803433 → 803489 (+56), gzip 220814 → 220893 (+79)
  • azureClient.js: parsed 633816 → 633811 (-5), gzip 169820 → 169911 (+91)
  • odspClient.js: parsed 605062 → 605173 (+111), gzip 162623 → 162771 (+148)
  • aqueduct.js: parsed 537741 → 537752 (+11), gzip 144457 → 144504 (+47)
  • fluidFramework.js: parsed 413384 → 413417 (+33), gzip 117282 → 117275 (-7)
  • sharedTree.js: parsed 402763 → 402789 (+26), gzip 114709 → 114713 (+4)
  • containerRuntime.js: parsed 314508 → 314490 (-18), gzip 86288 → 86290 (+2)
  • sharedString.js: parsed 175239 → 175246 (+7), gzip 49670 → 49677 (+7)
  • experimentalSharedTree.js: parsed 161846 → 161846 (0), gzip 46722 → 46722 (0)
  • matrix.js: parsed 159618 → 159625 (+7), gzip 45914 → 45921 (+7)
  • loader.js: parsed 147327 → 147343 (+16), gzip 40038 → 40048 (+10)
  • odspDriver.js: parsed 105689 → 105747 (+58), gzip 32933 → 33000 (+67)
  • directory.js: parsed 65669 → 65676 (+7), gzip 18493 → 18500 (+7)
  • 578.js: parsed 58686 → 58686 (0), gzip 17657 → 17657 (0)
  • odspPrefetchSnapshot.js: parsed 45921 → 45902 (-19), gzip 15347 → 15357 (+10)
  • map.js: parsed 45820 → 45827 (+7), gzip 14119 → 14126 (+7)
  • 252.js: parsed 44384 → 44384 (0), gzip 13741 → 13741 (0)
  • summarizerDelayLoadedModule.js: parsed 31287 → 31287 (0), gzip 7929 → 7929 (0)
  • socketModule.js: parsed 26992 → 26962 (-30), gzip 8019 → 8053 (+34)
  • createNewModule.js: parsed 12464 → 12464 (0), gzip 4792 → 4805 (+13)
  • summaryModule.js: parsed 3888 → 3888 (0), gzip 1874 → 1874 (0)
  • connectionState.js: parsed 909 → 909 (0), gzip 500 → 500 (0)
  • sharedTreeAttributes.js: parsed 845 → 852 (+7), gzip 493 → 504 (+11)
  • debugAssert.js: parsed 429 → 429 (0), gzip 299 → 299 (0)
  • FluidFramework-HashFallback.js: parsed 419 → 419 (0), gzip 313 → 313 (0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: dds: tree area: dds Issues related to distributed data structures area: repo Repo related work area: tools area: website base: main PRs targeted against main branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant