Skip to content

feat(progress): add stage labels to progress updates - #413

Merged
javi11 merged 2 commits into
mainfrom
feat/progress-stage-labels
Mar 14, 2026
Merged

feat(progress): add stage labels to progress updates#413
javi11 merged 2 commits into
mainfrom
feat/progress-stage-labels

Conversation

@javi11

@javi11 javi11 commented Mar 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds a stage field to every progress broadcast so the UI can display what the importer is currently doing (e.g. Parsing NZB, Analyzing archive, Validating segments, Verifying archive)
  • Wires per-file segment-level progress trackers into single-file and multi-file processors so validation progress moves smoothly in real time instead of jumping
  • Updates frontend progress maps from Record<number, number>Record<number, ProgressEntry> and surfaces the stage label in the Queue page row header and the Import Status Card

Test plan

  • Import a single-file NZB and verify the Queue page shows stage labels cycling through the import pipeline
  • Import a RAR archive NZB and confirm "Analyzing archive" → "Verifying archive" stage transitions appear
  • Import a multi-file NZB and confirm per-file validation progress moves smoothly
  • Open multiple browser tabs; verify SSE initial payload includes stage on reconnect
  • Verify bun run check passes (TypeScript + lint)
  • Verify make builds cleanly (Go backend + frontend)

🤖 Generated with Claude Code

javi11 and others added 2 commits March 11, 2026 23:07
Analyze multiple RAR archive groups concurrently using goroutines,
reducing import time for NZBs with multiple separate RAR sets (e.g. season packs).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Attach a human-readable stage label (e.g. "Parsing NZB", "Analyzing archive",
"Validating segments", "Verifying archive") to every progress broadcast so the
UI can surface what the importer is currently doing.

Backend:
- Add UpdateProgressWithStage to Broadcaster interface and ProgressBroadcaster
- Add WithStage() fluent setter on Tracker; all Update/UpdateAbsolute calls now
  carry the stage through to SSE subscribers
- Store stage alongside percentage in progressState; expose via ProgressEntry in
  GetAllProgress (SSE initial payload)
- Wire granular per-file trackers into singlefile and multifile processors so
  segment validation progress is reported in real time
- Assign stage labels at each processor.go milestone

Frontend:
- Upgrade progress maps from Record<number,number> to Record<number,ProgressEntry>
  ({percentage, stage}) in useProgressStream and useQueueStream
- Show stage label instead of "PROGRESS" header in QueuePage row
- Show stage in ImportStatusCard detail/status when processing a single item
- Fix ActivityHub/QueuePage to access .percentage from the new entry shape

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@javi11
javi11 merged commit f228e7f into main Mar 14, 2026
2 checks passed
yoshitaka420 pushed a commit to yoshitaka420/altmount that referenced this pull request Jun 1, 2026
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant