0.16.1-7 Release-Bugfixes
This commit is contained in:
@@ -18,7 +18,7 @@ export function useWebSocket({ onMessage }) {
|
||||
let reconnectTimer;
|
||||
let progressFlushTimer = null;
|
||||
let progressFlushRaf = null;
|
||||
let latestProgressMessage = null;
|
||||
const latestProgressMessagesByJob = new Map();
|
||||
let isUnmounted = false;
|
||||
|
||||
const clearProgressFlush = () => {
|
||||
@@ -35,12 +35,14 @@ export function useWebSocket({ onMessage }) {
|
||||
const flushProgressMessage = () => {
|
||||
progressFlushRaf = null;
|
||||
progressFlushTimer = null;
|
||||
const message = latestProgressMessage;
|
||||
latestProgressMessage = null;
|
||||
if (!message) {
|
||||
if (latestProgressMessagesByJob.size === 0) {
|
||||
return;
|
||||
}
|
||||
onMessageRef.current?.(message);
|
||||
const messages = Array.from(latestProgressMessagesByJob.values());
|
||||
latestProgressMessagesByJob.clear();
|
||||
for (const message of messages) {
|
||||
onMessageRef.current?.(message);
|
||||
}
|
||||
};
|
||||
|
||||
const scheduleProgressFlush = () => {
|
||||
@@ -65,7 +67,9 @@ export function useWebSocket({ onMessage }) {
|
||||
try {
|
||||
const message = JSON.parse(event.data);
|
||||
if (message?.type === 'PIPELINE_PROGRESS') {
|
||||
latestProgressMessage = message;
|
||||
const progressJobId = message?.payload?.activeJobId;
|
||||
const jobKey = progressJobId == null ? '__global__' : String(progressJobId);
|
||||
latestProgressMessagesByJob.set(jobKey, message);
|
||||
scheduleProgressFlush();
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user