MCPcopy Create free account
hub / github.com/bugy/script-server / reconnect

Function reconnect

web-src/src/main-app/store/scriptConfig.js:284–418  ·  view source on GitHub ↗
(state, internalState, commit, dispatch, selectedScript)

Source from the content-addressed store, hash-verified

282})
283
284function reconnect(state, internalState, commit, dispatch, selectedScript) {
285 let dataReceived = false;
286
287 let initWithValues = false
288 if (!isNull(state.scriptConfig) && !isEmptyObject(state.sentValues)) {
289 initWithValues = true
290 }
291
292 const uri = 'scripts/' + encodeURIComponent(selectedScript) + '?initWithValues=' + initWithValues
293 const socket = new ReactiveWebSocket(uri, {
294 onNext: function (rawMessage) {
295 internalState.reconnectionAttempt = 0;
296
297 dataReceived = true;
298
299 const event = JSON.parse(rawMessage);
300
301 const eventType = event.event;
302 const data = event.data;
303 const clientStateVersion = event.data.clientStateVersion;
304
305 if (contains(['initialConfig', 'reloadedConfig', 'clientStateVersionAccepted'], eventType)) {
306 commit('RESET_AWAITED_DEPENDENCIES', {clientStateVersion});
307 } else if (eventType === 'parameterChanged') {
308 commit('RESET_AWAITED_DEPENDENCIES', {clientStateVersion, singleParameterName: data?.name});
309 }
310
311 if (isNull(state.scriptConfig) && (eventType !== 'initialConfig')) {
312 console.error('Expected "initialConfig" event, but got ' + eventType);
313 commit('SET_ERROR', 'Unexpected error occurred');
314 socket.close();
315 return;
316 }
317
318 if (eventType === 'initialConfig') {
319 commit('UPDATE_SCRIPT_CONFIG', data);
320 commit('SET_LOADING', false);
321 dispatch('resendValues');
322 return;
323 }
324
325 if (eventType === 'reloadedConfig') {
326 commit('UPDATE_SCRIPT_CONFIG', data);
327 commit('SET_LOADING', false);
328 return;
329 }
330
331 if (eventType === 'parameterChanged') {
332 commit('UPDATE_PARAMETER', data);
333 return;
334 }
335
336 if (eventType === 'parameterAdded') {
337 commit('ADD_PARAMETER', data);
338 return;
339 }
340
341 if (eventType === 'parameterRemoved') {

Callers 1

reloadScriptFunction · 0.70

Calls 7

isNullFunction · 0.90
isEmptyObjectFunction · 0.90
containsFunction · 0.90
logErrorFunction · 0.90
logMethod · 0.80
closeMethod · 0.45
sendMethod · 0.45

Tested by

no test coverage detected