From 102e58a2e45c96da5d4888bb94f4cf8e8dc491e4 Mon Sep 17 00:00:00 2001 From: olzzon Date: Tue, 14 Dec 2021 08:18:58 +0100 Subject: [PATCH] fix: when start Sisyfos for the first time, it will crash if you touch faders --- server/reducers/fadersReducer.ts | 9 +++++++-- server/utils/SettingsStorage.ts | 14 ++++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/server/reducers/fadersReducer.ts b/server/reducers/fadersReducer.ts index 0470206b..bce9ed0d 100644 --- a/server/reducers/fadersReducer.ts +++ b/server/reducers/fadersReducer.ts @@ -47,7 +47,9 @@ export interface IVuMeters { reductionVal: number } -const defaultFadersReducerState = (numberOfFaders: number): IFaders[] => { +export const defaultFadersReducerState = ( + numberOfFaders: number +): IFaders[] => { let defaultObj: Array = [ { fader: [], @@ -120,7 +122,10 @@ export const faders = ( emptyState[0].vuMeters = [...state[0].vuMeters] } nextState = emptyState - if (action.allState.fader.length == nextState[0].fader.length) { + if ( + action.allState.fader.length > 0 && + action.allState.fader.length == nextState[0].fader.length + ) { action.allState.fader.map((channel: any, index: number) => { nextState[0].fader[index] = channel }) diff --git a/server/utils/SettingsStorage.ts b/server/utils/SettingsStorage.ts index 79609062..f8608687 100644 --- a/server/utils/SettingsStorage.ts +++ b/server/utils/SettingsStorage.ts @@ -9,7 +9,7 @@ import { storeSetCompleteChState } from '../reducers/channelActions' import { storeSetCompleteFaderState } from '../reducers/faderActions' import { logger } from './logger' import { InumberOfChannels } from '../reducers/channelsReducer' -import { IFaders } from '../reducers/fadersReducer' +import { defaultFadersReducerState, IFaders } from '../reducers/fadersReducer' import { IChannels } from '../reducers/channelsReducer' import { ICustomPages, ISettings } from '../reducers/settingsReducer' @@ -81,7 +81,17 @@ export const loadSnapshotState = ( ) } } catch (error) { - logger.data(error).error('Error loading Snapshot') + if (fileName.includes('default.shot')) { + store.dispatch( + storeSetCompleteFaderState( + defaultFadersReducerState(numberOfFaders)[0], + numberOfFaders + ) + ) + logger.data(error).error('Initializing empty faders') + } else { + logger.data(error).error('Error loading Snapshot') + } } }