Skip to content

Commit

Permalink
fix: Fix summaries/validateResults update handling
Browse files Browse the repository at this point in the history
  • Loading branch information
codablock committed Jun 9, 2023
1 parent dd6b46f commit 4b6bfb2
Showing 1 changed file with 13 additions and 8 deletions.
21 changes: 13 additions & 8 deletions pkg/webui/ui/src/components/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,23 +32,28 @@ export const AppContext = createContext<AppContextProps>({
const App = () => {
const [filters, setFilters] = useState<ActiveFilters>()

const summaries = useRef<Map<string, CommandResultSummary>>(new Map())
const validateResults = useRef<Map<string, ValidateResult>>(new Map())
const summariesRef = useRef<Map<string, CommandResultSummary>>(new Map())
const validateResultsRef = useRef<Map<string, ValidateResult>>(new Map())
const [summaries, setSummaries] = useState(summariesRef.current)
const [validateResults, setValidateResults] = useState(validateResultsRef.current)

useEffect(() => {
const updateSummary = (rs: CommandResultSummary) => {
console.log("update_summary", rs.id, rs.commandInfo.startTime)
summaries.current.set(rs.id, rs)
summariesRef.current.set(rs.id, rs)
setSummaries(new Map(summariesRef.current))
}

const deleteSummary = (id: string) => {
console.log("delete_summary", id)
summaries.current.delete(id)
summariesRef.current.delete(id)
setSummaries(new Map(summariesRef.current))
}

const updateValidateResult = (key: ProjectTargetKey, vr: ValidateResult) => {
console.log("validate_result", key)
validateResults.current.set(JSON.stringify(key), vr)
validateResultsRef.current.set(JSON.stringify(key), vr)
setValidateResults(new Map(validateResultsRef.current))
}

console.log("starting listenResults")
Expand All @@ -73,13 +78,13 @@ const App = () => {

const projects = useMemo(() => {
console.log("buildProjectSummaries")
return buildProjectSummaries(summaries.current, validateResults.current)
return buildProjectSummaries(summaries, validateResults)
}, [summaries, validateResults])

const appContext = {
summaries: summaries.current,
summaries: summariesRef.current,
projects: projects,
validateResults: validateResults.current,
validateResults: validateResults,
}

const outletContext: AppOutletContext = {
Expand Down

0 comments on commit 4b6bfb2

Please sign in to comment.