MCPcopy Create free account
hub / github.com/NativeScript/SimDeck / registerProvider

Function registerProvider

scripts/studio-provider-bridge.mjs:155–194  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

153}
154
155async function registerProvider() {
156 try {
157 let metadata = await localProviderMetadata();
158 updateLocalAvailability(metadata);
159 await maybeRestartLocalService(metadata);
160 if (!metadata.ok && !localUnavailableSince) {
161 metadata = await localProviderMetadata();
162 updateLocalAvailability(metadata);
163 }
164 await fetchJson(`${cloudUrl}/api/actions/providers/register`, {
165 previewId,
166 providerToken,
167 baseUrl: publicUrl,
168 status: metadata.ok ? "ready" : "provider-online",
169 simulatorUdid: metadata.simulator?.udid,
170 simulatorName: metadata.simulator?.name,
171 runtimeName: metadata.simulator?.runtimeName,
172 videoCodec: metadata.health?.videoCodec,
173 realtimeStream: metadata.health?.realtimeStream,
174 streamQuality: metadata.health?.streamQuality,
175 });
176 registered = true;
177 lastRegisterAt = Date.now();
178 if (
179 !stopped &&
180 shouldStopForLocalMetadata(metadata, localServiceProcessExited())
181 ) {
182 providerMarkedTerminal = true;
183 stopped = true;
184 await markProviderFailed(
185 metadata.failureReason ||
186 "Local SimDeck service supervisor process exited.",
187 );
188 }
189 } catch (error) {
190 console.error(
191 `[simdeck-provider-bridge] provider registration failed: ${error instanceof Error ? error.message : String(error)}`,
192 );
193 }
194}
195
196export function shouldStopForLocalMetadata(metadata, serviceProcessExited) {
197 return !metadata.ok && serviceProcessExited;

Callers 1

Calls 8

updateLocalAvailabilityFunction · 0.85
maybeRestartLocalServiceFunction · 0.85
markProviderFailedFunction · 0.85
errorMethod · 0.80
localProviderMetadataFunction · 0.70
fetchJsonFunction · 0.70

Tested by

no test coverage detected