3D generator progress bar follows any modelId, not the current model #1043

Closed
opened 2026-08-13 05:22:22 +00:00 by spikerj · 1 comment
Owner

Receive3DModelProgress always writes progressNotificationSignal, then only copies mesh stats onto currentModel when currentModel.id === notification.modelId.

currentProgress / currentStage read the notification unconditionally (percentage || 0, stage || Queue). So a progress event for a different model (previous job, second tab, another in-flight generate) drives the progress bar and stage chip while leaving currentModel on the selected id at 0%.

Pinned by threed-generator.hub.spec.ts ("progress for a different modelId still drives the progress bar").

this.progressNotificationSignal.set(notification);
const currentModel = this.currentModelSignal();
if (currentModel && currentModel.id === notification.modelId) {
  // updates currentModel only
}
`Receive3DModelProgress` always writes `progressNotificationSignal`, then only copies mesh stats onto `currentModel` when `currentModel.id === notification.modelId`. `currentProgress` / `currentStage` read the notification unconditionally (`percentage || 0`, `stage || Queue`). So a progress event for a *different* model (previous job, second tab, another in-flight generate) drives the progress bar and stage chip while leaving `currentModel` on the selected id at 0%. Pinned by `threed-generator.hub.spec.ts` ("progress for a different modelId still drives the progress bar"). ```ts this.progressNotificationSignal.set(notification); const currentModel = this.currentModelSignal(); if (currentModel && currentModel.id === notification.modelId) { // updates currentModel only } ```
Author
Owner

Already on master. Receive3DModelProgress already ignores a foreign modelId, so the progress bar follows only the current model. Closing.

Already on `master`. Receive3DModelProgress already ignores a foreign modelId, so the progress bar follows only the current model. Closing.
Sign in to join this conversation.