Skip to content

Commit

Permalink
call updateProjectServerStateInStore when login state is set (#4681)
Browse files Browse the repository at this point in the history
  • Loading branch information
bkrmendy authored Jan 4, 2024
1 parent 571333d commit 87d26fd
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 12 deletions.
6 changes: 6 additions & 0 deletions editor/src/components/editor/store/dispatch.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ import { unpatchedCreateRemixDerivedDataMemo } from './remix-derived-data'
import { maybeClearPseudoInsertMode } from '../canvas-toolbar-states'
import { isSteganographyEnabled } from '../../../core/shared/stegano-text'
import { updateCollaborativeProjectContents } from './collaborative-editing'
import { updateProjectServerStateInStore } from './project-server-state'

type DispatchResultFields = {
nothingChanged: boolean
Expand Down Expand Up @@ -165,6 +166,11 @@ function processAction(
userState: UPDATE_FNS.SET_CURRENT_THEME(action, working.userState),
}
} else if (action.action === 'SET_LOGIN_STATE') {
updateProjectServerStateInStore(
editorStoreUnpatched.unpatchedEditor.id,
editorStoreUnpatched.unpatchedEditor.forkedFromProjectId,
dispatchEvent,
)
return {
...working,
userState: UPDATE_FNS.SET_LOGIN_STATE(action, working.userState),
Expand Down
32 changes: 20 additions & 12 deletions editor/src/components/editor/store/project-server-state.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,20 @@ export async function getProjectServerState(
}
}

export function updateProjectServerStateInStore(
projectId: string | null,
forkedFromProjectId: string | null,
dispatch: EditorDispatch,
) {
void getProjectServerState(projectId, forkedFromProjectId)
.then((serverState) => {
dispatch([updateProjectServerState(serverState)], 'everyone')
})
.catch((error) => {
console.error('Error while updating server state.', error)
})
}

export interface ProjectServerStateUpdaterProps {
projectId: string | null
forkedFromProjectId: string | null
Expand All @@ -119,23 +133,17 @@ function restartServerStateWatcher(
forkedFromProjectId: string | null,
dispatch: EditorDispatch,
): void {
function updateServerState(): void {
void getProjectServerState(projectId, forkedFromProjectId)
.then((serverState) => {
dispatch([updateProjectServerState(serverState)], 'everyone')
})
.catch((error) => {
console.error('Error while updating server state.', error)
})
}
if (isFeatureEnabled('Baton Passing For Control')) {
if (serverStateWatcherInstance != null) {
window.clearInterval(serverStateWatcherInstance)
}
updateServerState()
serverStateWatcherInstance = window.setInterval(updateServerState, 10 * 1000)
updateProjectServerStateInStore(projectId, forkedFromProjectId, dispatch)
serverStateWatcherInstance = window.setInterval(
() => updateProjectServerStateInStore(projectId, forkedFromProjectId, dispatch),
10 * 1000,
)
} else {
updateServerState()
updateProjectServerStateInStore(projectId, forkedFromProjectId, dispatch)
}
}

Expand Down

0 comments on commit 87d26fd

Please sign in to comment.