Skip to content

feat(tree): getOrInsert and getOrInsertComputed mapNode alpha API - #27787

Merged
brrichards merged 12 commits into
microsoft:mainfrom
brrichards:getOrInsert-mapNode
Aug 5, 2026
Merged

feat(tree): getOrInsert and getOrInsertComputed mapNode alpha API#27787
brrichards merged 12 commits into
microsoft:mainfrom
brrichards:getOrInsert-mapNode

Conversation

@brrichards

@brrichards brrichards commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Description

Adds getOrInsert and getOrInsertedComputed alpha APIs for mapNode

Reviewer Guidance

The review process is outlined on this wiki page.

Copilot AI review requested due to automatic review settings July 29, 2026 16:58
@brrichards
brrichards requested review from a team as code owners July 29, 2026 16:58
@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 changeset-present base: main PRs targeted against main branch labels Jul 29, 2026

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.

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

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

Based on the diff (217 lines, 5 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 added area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct public api change Changes to a public API labels Jul 29, 2026
Comment thread packages/dds/tree/src/simple-tree/node-kinds/map/mapNode.ts Outdated
Comment thread packages/dds/tree/src/simple-tree/node-kinds/map/mapNode.ts Outdated
Comment thread packages/dds/tree/src/simple-tree/node-kinds/map/mapNode.ts Outdated
Comment thread packages/dds/tree/src/simple-tree/node-kinds/map/mapNode.ts
Comment thread packages/dds/tree/src/simple-tree/node-kinds/map/mapNode.ts Outdated
Comment thread .changeset/neat-rings-ask.md Outdated
Comment thread packages/dds/tree/src/simple-tree/node-kinds/map/mapNode.ts Outdated
Comment thread packages/dds/tree/src/simple-tree/node-kinds/map/mapNode.ts Outdated
Comment thread packages/dds/tree/src/simple-tree/node-kinds/map/mapNode.ts Outdated
Comment thread packages/dds/tree/src/simple-tree/node-kinds/map/mapNode.ts Outdated
Comment thread packages/dds/tree/src/simple-tree/node-kinds/map/mapNode.ts Outdated

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.

Left a couple of docs suggestions. But overall they look great! Thanks for being so thorough!

@dannimad

Copy link
Copy Markdown
Contributor

wait for #27824 to merge

Comment thread packages/dds/tree/src/simple-tree/node-kinds/map/mapNode.ts
@brrichards brrichards changed the title feat(tree): getOrInsert mapNode alpha API feat(tree): getOrInsert and getOrInsertComputed mapNode alpha API Aug 4, 2026
Comment thread .changeset/witty-otters-insert.md Outdated

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.

Docs and API changes look good. I'll let Craig and/or Yann approve the code changes though, since they've been more involved on that side of things.

Co-authored-by: Joshua Smithrud <54606601+Josmithr@users.noreply.github.com>
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🔗 No broken links found! ✅

Your attention to detail is admirable.

linkcheck output

1: starting server using command "npm run serve -- --no-open"
and when url "[ 'http://127.0.0.1:3000' ]" is responding with HTTP status code 200
running tests using command "npm run check-links"


> fluid-framework-website@0.0.0 serve
> docusaurus serve --no-open

[SUCCESS] Serving "build" directory at: http://localhost:3000/

> fluid-framework-website@0.0.0 check-links
> linkcheck http://localhost:3000 --skip-file skipped-urls.txt

Crawling...

Stats:
  309092 links
    1963 destination URLs
    2219 URLs ignored
       0 warnings
       0 errors


@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Bundle size comparison

Base commit: d34c9cee41f6b5fcb9d157acbe53afda9402e036
Head commit: 0a41cabc1ec61b6065c01e65ff9d0b23a5bc1dc8

Notable changes

No bundles changed by ≥ 500 bytes parsed.

Per-bundle deltas

@fluid-example/bundle-size-tests

  • azureClient.js: parsed 620351 → 620407 (+56), gzip 165482 → 165526 (+44)
  • odspClient.js: parsed 592639 → 592695 (+56), gzip 158607 → 158652 (+45)
  • aqueduct.js: parsed 526970 → 527005 (+35), gzip 141035 → 141063 (+28)
  • fluidFramework.js: parsed 398233 → 398254 (+21), gzip 113049 → 113065 (+16)
  • sharedTree.js: parsed 387637 → 387651 (+14), gzip 110478 → 110486 (+8)
  • containerRuntime.js: parsed 305091 → 305105 (+14), gzip 83553 → 83558 (+5)
  • sharedString.js: parsed 176457 → 176464 (+7), gzip 49807 → 49815 (+8)
  • experimentalSharedTree.js: parsed 160677 → 160677 (0), gzip 46276 → 46276 (0)
  • matrix.js: parsed 160302 → 160309 (+7), gzip 45800 → 45807 (+7)
  • loader.js: parsed 145459 → 145473 (+14), gzip 39221 → 39235 (+14)
  • 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 → 15249 (+7)
  • 252.js: parsed 44371 → 44371 (0), gzip 13732 → 13732 (0)
  • summarizerDelayLoadedModule.js: parsed 30717 → 30717 (0), gzip 7716 → 7716 (0)
  • socketModule.js: parsed 26469 → 26476 (+7), gzip 7896 → 7903 (+7)
  • 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)

@brrichards
brrichards merged commit e84cb5f into microsoft:main Aug 5, 2026
40 checks passed
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: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct area: repo Repo related work area: tools area: website base: main PRs targeted against main branch changeset-present public api change Changes to a public API

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants