Skip to content

Commit 43459ac

Browse files
authored
fix(console): fix provision timeline (#2503)
Signed-off-by: Haiyang Shi <haiyang.shi@bytedance.com>
1 parent fefa955 commit 43459ac

3 files changed

Lines changed: 9 additions & 1 deletion

File tree

apps/console/web/src/components/JobDetail.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ export function JobDetail({ jobId, onBack }: JobDetailProps) {
220220
const [cancellingJob, setCancellingJob] = useState(false);
221221
const [cancelError, setCancelError] = useState<string | null>(null);
222222
const [copyFeedback, setCopyFeedback] = useState<'Copied' | 'Copy failed' | null>(null);
223+
const [timelineRefreshTick, setTimelineRefreshTick] = useState(0);
223224
// Current viewer; datasets are downloadable only by the job owner.
224225
const [currentUser, setCurrentUser] = useState('');
225226

@@ -252,6 +253,9 @@ export function JobDetail({ jobId, onBack }: JobDetailProps) {
252253
.then(j => {
253254
if (cancelled) return;
254255
setJob(j);
256+
if (j.status === 'resource_preparing') {
257+
setTimelineRefreshTick(tick => tick + 1);
258+
}
255259
const detail = parseDeploymentDetail(j);
256260
if (detail) {
257261
setDeploymentDetail(detail);
@@ -558,6 +562,7 @@ export function JobDetail({ jobId, onBack }: JobDetailProps) {
558562
eventType={event.id}
559563
jobStatus={job.status}
560564
rawJson={job.provision?.rawJson}
565+
refreshTick={timelineRefreshTick}
561566
/>
562567
)}
563568
</div>

apps/console/web/src/components/jobTimelineEventDetail/TimelineEventDetailCard.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@ export function TimelineEventDetailCard({
55
eventType,
66
jobStatus,
77
rawJson,
8+
refreshTick,
89
}: {
910
provider: string;
1011
eventType: string;
1112
jobStatus: string;
1213
rawJson?: string;
14+
refreshTick?: number;
1315
}) {
1416
const Renderer = getTimelineEventDetailRenderer(provider, eventType);
1517
if (!Renderer || !rawJson) {
@@ -25,5 +27,5 @@ export function TimelineEventDetailCard({
2527
} catch {
2628
return null;
2729
}
28-
return <Renderer data={data} jobStatus={jobStatus} />;
30+
return <Renderer data={data} jobStatus={jobStatus} refreshTick={refreshTick} />;
2931
}

apps/console/web/src/components/jobTimelineEventDetail/registry.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { ComponentType } from 'react';
33
export interface TimelineEventDetailProps {
44
data: unknown;
55
jobStatus?: string;
6+
refreshTick?: number;
67
}
78

89
const registry = new Map<string, ComponentType<TimelineEventDetailProps>>();

0 commit comments

Comments
 (0)