Skip to content

Commit ac9f45a

Browse files
committed
fix: decouple autonomy panel refresh to prevent stale goal queue
1 parent fa364fc commit ac9f45a

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/app/page.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -664,18 +664,18 @@ export default function Dashboard() {
664664

665665
const refreshAutonomyPanels = async () => {
666666
try {
667-
const [goalManagerRes, policyRes] = await Promise.all([
667+
const [goalManagerResult, policyResult] = await Promise.allSettled([
668668
fetch(`${BASE_PATH}/api/goal-manager?limit=20`, { cache: 'no-store' }),
669669
fetch(`${BASE_PATH}/api/policy/autonomy-level`, { cache: 'no-store' }),
670670
]);
671671

672-
if (goalManagerRes.ok) {
673-
const goalManagerData = await goalManagerRes.json() as GoalManagerStatusData;
672+
if (goalManagerResult.status === 'fulfilled' && goalManagerResult.value.ok) {
673+
const goalManagerData = await goalManagerResult.value.json() as GoalManagerStatusData;
674674
setGoalManager(goalManagerData);
675675
}
676676

677-
if (policyRes.ok) {
678-
const policyData = await policyRes.json() as { policy?: RuntimeAutonomyPolicyData };
677+
if (policyResult.status === 'fulfilled' && policyResult.value.ok) {
678+
const policyData = await policyResult.value.json() as { policy?: RuntimeAutonomyPolicyData };
679679
if (policyData.policy) {
680680
setAutonomyPolicy(policyData.policy);
681681
}
@@ -1076,18 +1076,18 @@ export default function Dashboard() {
10761076
useEffect(() => {
10771077
const fetchAutonomyPanelsData = async () => {
10781078
try {
1079-
const [goalManagerRes, policyRes] = await Promise.all([
1079+
const [goalManagerResult, policyResult] = await Promise.allSettled([
10801080
fetch(`${BASE_PATH}/api/goal-manager?limit=20`, { cache: 'no-store' }),
10811081
fetch(`${BASE_PATH}/api/policy/autonomy-level`, { cache: 'no-store' }),
10821082
]);
10831083

1084-
if (goalManagerRes.ok) {
1085-
const goalManagerData = await goalManagerRes.json() as GoalManagerStatusData;
1084+
if (goalManagerResult.status === 'fulfilled' && goalManagerResult.value.ok) {
1085+
const goalManagerData = await goalManagerResult.value.json() as GoalManagerStatusData;
10861086
setGoalManager(goalManagerData);
10871087
}
10881088

1089-
if (policyRes.ok) {
1090-
const policyData = await policyRes.json() as { policy?: RuntimeAutonomyPolicyData };
1089+
if (policyResult.status === 'fulfilled' && policyResult.value.ok) {
1090+
const policyData = await policyResult.value.json() as { policy?: RuntimeAutonomyPolicyData };
10911091
if (policyData.policy) {
10921092
setAutonomyPolicy(policyData.policy);
10931093
}

0 commit comments

Comments
 (0)