feat(shared-object-base)!: make SharedObject and SharedObjectCore @internal#26439
Draft
tylerbutler wants to merge 3 commits intomicrosoft:mainfrom
Draft
feat(shared-object-base)!: make SharedObject and SharedObjectCore @internal#26439tylerbutler wants to merge 3 commits intomicrosoft:mainfrom
tylerbutler wants to merge 3 commits intomicrosoft:mainfrom
Conversation
…ternal Move SharedObject and SharedObjectCore base classes from @legacy @beta to @internal. This prevents external custom DDS implementations by removing the base classes from the public API surface. This is the minimal change needed to achieve the "no custom DDSes" goal. createSharedObjectKind is already @internal. IChannelFactory, ISharedObjectKind, FluidDataStoreRuntime, DataObjectFactory, etc. are intentionally left as @legacy @beta — they are useless for creating custom DDSes without the base classes, and leaving them avoids a large cascade of import path changes across ~80+ files.
Contributor
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
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.
Summary
Marks
SharedObjectCoreandSharedObjectas@internal, removing them from the public/legacy API surface. This prevents external creation of custom DDS implementations by making the required base classes internal-only.Downstream classes that extend
SharedObjectare also marked@internalto resolveae-incompatible-release-tagscascade errors:ConsensusRegisterCollectionConsensusOrderedCollection,ConsensusQueueClass,ConsensusQueue@alphaexports converted to@internal(entire package is experimental)These changes only affect the API surface — all existing DDSes continue to function identically at runtime. Factories still create and load instances as before. The only capability removed is the ability for external consumers to
extends SharedObjectto create custom DDS subclasses.See also: #26413 (full-scope alternative that additionally internalizes
IChannelFactory,ISharedObjectKind,FluidDataStoreRuntime, etc.)