in src/views/agile-board/board-actions.ts [132:167]
export function loadBoard(
board: Board,
query: string,
refresh: boolean = false,
): ReduxAction {
return async (dispatch: ReduxThunkDispatch) => {
destroySSE();
dispatch(updateAgileUserProfileLastVisitedAgile(board.id));
dispatch(loadAgileWithStatus(board.id));
const agileUserProfile = await dispatch(getAgileUserProfile());
const cachedAgileLastSprint = getStorageState().agileLastSprint;
let sprint: SprintBase | null;
if (!refresh && board.currentSprint) {
sprint = board.currentSprint;
} else {
sprint = getLastVisitedSprint(board.id, agileUserProfile?.visitedSprints) ||
(cachedAgileLastSprint?.agile?.id === board.id
? cachedAgileLastSprint
: null);
}
if (!sprint) {
sprint = (board.sprints || []).slice(-1)[0];
trackError('Cannot find last visited sprint');
log.info('Agile Actions: Last visited sprint is undefined. Use the last one of the current board.');
}
if (sprint?.id) {
log.info(`Agile Actions: Loading Sprint`);
dispatch(loadSprint(board.id, sprint.id, query));
} else {
dispatch(receiveSprint(null));
dispatch(setError(new Error(notFoundMessageData.title) as CustomError));
}
};
}