(op bunching) Add processMessagesCore to SharedObject implementations#25745
Merged
agarwal-navin merged 3 commits intomainfrom Oct 24, 2025
Merged
(op bunching) Add processMessagesCore to SharedObject implementations#25745agarwal-navin merged 3 commits intomainfrom
agarwal-navin merged 3 commits intomainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR adds the processMessagesCore method to implementations of SharedObject across various DDS (Distributed Data Structure) packages. This is preparatory work for eventual removal of processCore from SharedObject, introducing a new message processing pattern that handles batched messages via IRuntimeMessageCollection.
Key changes:
- Adds
processMessagesCoreimplementations to all SharedObject subclasses - Refactors message processing to extract envelope and content separately
- Updates test utilities to use the new
processMessagesCoremethod
Reviewed Changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/test/test-end-to-end-tests/src/test/summarization/summarizeIncrementallySubDds.spec.ts | Adds processMessagesCore to test DDSs with message collection handling |
| packages/test/test-end-to-end-tests/src/test/idCompressor.spec.ts | Updates test spy from processCore to processMessagesCore |
| packages/dds/test-dds-utils/src/test/sharedNothing.ts | Adds processMessagesCore tracking and makes processCore throw error |
| packages/dds/test-dds-utils/src/test/ddsFuzzHarness.spec.ts | Updates test assertions from processCoreCalls to processMessagesCoreCalls |
| packages/dds/task-manager/src/taskManager.ts | Implements processMessagesCore with envelope/content separation |
| packages/dds/shared-summary-block/src/sharedSummaryBlock.ts | Adds processMessagesCore that throws (no ops expected) |
| packages/dds/shared-object-base/src/test/sharedObject.spec.ts | Adds processMessagesCore to test implementations |
| packages/dds/shared-object-base/src/test/attachingBindingAndConnecting.spec.ts | Adds processMessagesCore override support to test harness |
| packages/dds/sequence/src/sequence.ts | Implements processMessagesCore with message reconstruction for merge tree |
| packages/dds/register-collection/src/consensusRegisterCollection.ts | Adds processMessagesCore with envelope/content message processing |
| packages/dds/register-collection/api-report/register-collection.legacy.beta.api.md | Updates API surface with processMessagesCore |
| packages/dds/pact-map/src/pactMap.ts | Implements processMessagesCore with envelope-based event emission |
| packages/dds/ordered-collection/src/consensusOrderedCollection.ts | Adds processMessagesCore with envelope/content separation |
| packages/dds/ordered-collection/api-report/ordered-collection.legacy.beta.api.md | Updates API surface with processMessagesCore |
| packages/dds/matrix/src/matrix.ts | Implements processMessagesCore with ISequencedDocumentMessage reconstruction |
| packages/dds/map/src/map.ts | Adds processMessagesCore with override modifier |
| packages/dds/map/src/directory.ts | Implements processMessagesCore with handler signature updates |
| packages/dds/legacy-dds/src/signal/sharedSignal.ts | Adds processMessagesCore for signal operation processing |
| packages/dds/legacy-dds/src/array/sharedArray.ts | Implements processMessagesCore for array operations |
| packages/dds/ink/src/ink.ts | Adds processMessagesCore with detailed JSDoc for message processing |
| packages/dds/counter/src/counter.ts | Implements processMessagesCore for counter operations |
| packages/dds/cell/src/cell.ts | Adds processMessagesCore with attribution handling |
| experimental/dds/tree/src/SharedTree.ts | Implements processMessagesCore with contents-based processing |
| experimental/dds/tree/api-report/experimental-tree.alpha.api.md | Updates API surface with processMessagesCore |
| experimental/dds/ot/ot/src/ot.ts | Adds processMessagesCore for operational transformation |
| experimental/PropertyDDS/packages/property-dds/src/propertyTree.ts | Implements processMessagesCore for property tree operations |
packages/dds/shared-object-base/src/test/attachingBindingAndConnecting.spec.ts
Outdated
Show resolved
Hide resolved
experimental/PropertyDDS/packages/property-dds/src/propertyTree.ts
Outdated
Show resolved
Hide resolved
Abe27342
added a commit
that referenced
this pull request
Oct 24, 2025
## Description Adjust the way that SharedString attribution tests inject timestamps into messages to be a bit more realistic; rather than at op event raising time, we do so "on the server" when the messages are "sent". This necessitates updating the snapshots to reflect that catchup ops have timestamps (as they would with a real server implementation). Motivation: #25745 adjusts how op events are fired in a way that breaks the mock implementation here. --------- Co-authored-by: Abram Sanderson <absander@microsoft.com>
Contributor
|
🔗 Found some broken links! 💔 Run a link check locally to find them. See linkcheck output |
Abe27342
approved these changes
Oct 24, 2025
anthony-murphy-agent
pushed a commit
to anthony-murphy-agent/FluidFramework
that referenced
this pull request
Jan 14, 2026
) ## Description Adjust the way that SharedString attribution tests inject timestamps into messages to be a bit more realistic; rather than at op event raising time, we do so "on the server" when the messages are "sent". This necessitates updating the snapshots to reflect that catchup ops have timestamps (as they would with a real server implementation). Motivation: microsoft#25745 adjusts how op events are fired in a way that breaks the mock implementation here. --------- Co-authored-by: Abram Sanderson <absander@microsoft.com>
anthony-murphy-agent
pushed a commit
to anthony-murphy-agent/FluidFramework
that referenced
this pull request
Jan 14, 2026
…microsoft#25745) `processMessagesCore` was added to `SharedObject` in microsoft#23836. This change adds `processMessagesCore` to implementations of `SharedObject`. This is a precursor to microsoft#25176 where `processCore` will be removed from `SharedObject`. Some of the boiler plate added here will be cleaned up with that change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
processMessagesCorewas added toSharedObjectin #23836.This change adds
processMessagesCoreto implementations ofSharedObject.This is a precursor to #25176 where
processCorewill be removed fromSharedObject. Some of the boiler plate added here will be cleaned up with that change.