Expand description
Cocoon → register_scm_provider notification.
Three side effects, all best-effort and independent:
VineHost::RegisterScmInRegistryrecords the handle in the embedder’sProviderRegistrationtable so future handle-keyed dispatches resolve.VineHost::CreateSourceControlmutates the embedder’s SCM marker state and emitsSkyEvent::SCMProviderAdded- the canonical path the SCM view uses.Host.EmitToRenderer("sky://scm/register", ...)covers renderer code that listens for the legacy simpler event shape.
Handle disambiguation: Cocoon’s ScmNamespace.ts allocates a
process-local sequential handle and includes it on the wire. Subsequent
register_scm_resource_group, update_scm_group, and
unregister_scm_provider notifications reference the SAME sequential
handle. Falling back to a DJB hash of ScmId is only allowed when
Cocoon omits the field (legacy callers).
Functions§
- Build
UrlFrom 🔒Components - Rebuilds a full URL string from a VS Code
UriComponentsJSON object ({ scheme, authority, path, query, fragment }). ReturnsNonewhen the scheme field is absent or empty. - Register
ScmProvider