Skip to content

Test for text with recursive atom type - #28013

Merged
Joshua Smithrud (Josmithr) merged 1 commit into
microsoft:mainfrom
CraigMacomber:recusiveFormat
Aug 19, 2026
Merged

Test for text with recursive atom type#28013
Joshua Smithrud (Josmithr) merged 1 commit into
microsoft:mainfrom
CraigMacomber:recusiveFormat

Conversation

@CraigMacomber

Copy link
Copy Markdown
Contributor

Description

Test for text with recursive atom type

Reviewer Guidance

The review process is outlined in the pull request guidelines.

Copilot AI lite review requested due to automatic review settings August 19, 2026 01:30
@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 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

Based on the diff (33 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

Copilot AI 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.

Pull request overview

Adds a regression test to ensure FormattedText.createSchema supports additional atom schemas that are recursively defined (i.e., an atom can contain nested formatted text of the same schema), validating behavior for richer inline objects that embed formatted text.

Changes:

  • Add a new unit test that defines a recursive FormattedText.TextAtom whose schema references the formatted-text schema that includes it.
  • Validate the recursive schema at compile time via ValidateRecursiveSchema.
  • Exercise runtime behavior by inserting a recursive atom and asserting correct fullString() and extracted atom content.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown
Contributor

Bundle size comparison

Base commit: 53eb97dcb06a9563caf37275f89f20b28104461d
Head commit: 052324b3f1a98f48935605fde64f10ec7940b4a9

Notable changes

No bundles changed by ≥ 500 bytes parsed.

Per-bundle deltas

@fluid-example/bundle-size-tests

  • fluidFrameworkAllAlpha.js: parsed 784455 → 784497 (+42), gzip 215039 → 215072 (+33)
  • azureClient.js: parsed 624847 → 624903 (+56), gzip 166640 → 166687 (+47)
  • odspClient.js: parsed 597135 → 597191 (+56), gzip 159785 → 159828 (+43)
  • aqueduct.js: parsed 531223 → 531258 (+35), gzip 142114 → 142143 (+29)
  • fluidFramework.js: parsed 403755 → 403776 (+21), gzip 114484 → 114502 (+18)
  • sharedTree.js: parsed 393159 → 393173 (+14), gzip 111926 → 111935 (+9)
  • containerRuntime.js: parsed 309144 → 309158 (+14), gzip 84569 → 84576 (+7)
  • sharedString.js: parsed 176510 → 176517 (+7), gzip 49798 → 49806 (+8)
  • experimentalSharedTree.js: parsed 160665 → 160665 (0), gzip 46265 → 46265 (0)
  • matrix.js: parsed 160341 → 160348 (+7), gzip 45798 → 45805 (+7)
  • loader.js: parsed 145704 → 145718 (+14), gzip 39286 → 39302 (+16)
  • odspDriver.js: parsed 103906 → 103927 (+21), gzip 32404 → 32411 (+7)
  • directory.js: parsed 67110 → 67117 (+7), gzip 18859 → 18866 (+7)
  • 578.js: parsed 58686 → 58686 (0), gzip 17657 → 17657 (0)
  • map.js: parsed 47205 → 47212 (+7), gzip 14455 → 14462 (+7)
  • odspPrefetchSnapshot.js: parsed 45635 → 45649 (+14), gzip 15242 → 15250 (+8)
  • 252.js: parsed 44362 → 44362 (0), gzip 13735 → 13735 (0)
  • summarizerDelayLoadedModule.js: parsed 30717 → 30717 (0), gzip 7716 → 7716 (0)
  • socketModule.js: parsed 26469 → 26476 (+7), gzip 7896 → 7904 (+8)
  • createNewModule.js: parsed 12454 → 12454 (0), gzip 4797 → 4797 (0)
  • summaryModule.js: parsed 3789 → 3789 (0), gzip 1857 → 1857 (0)
  • connectionState.js: parsed 909 → 909 (0), gzip 500 → 500 (0)
  • sharedTreeAttributes.js: parsed 847 → 854 (+7), gzip 499 → 508 (+9)
  • debugAssert.js: parsed 429 → 429 (0), gzip 299 → 299 (0)
  • FluidFramework-HashFallback.js: parsed 419 → 419 (0), gzip 313 → 313 (0)

@Josmithr
Joshua Smithrud (Josmithr) merged commit 4b2f54d into microsoft:main Aug 19, 2026
34 checks passed
Joshua Smithrud (Josmithr) pushed a commit to Josmithr/FluidFramework that referenced this pull request Aug 20, 2026
## Description

Test for text with recursive atom type

## Reviewer Guidance

The review process is outlined in [the pull request
guidelines](../docs/content/Contributing/PR-Guidelines.md#guidelines).
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.

4 participants