✨ Enhancement: Add batch export with progress tracking for multiple recordings
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- Calme
- Stack technique
- rust, typescript
Piste de recherche
Commencez par lire la fonctionnalité d’exportation existante dans apps/desktop et le pipeline d’encodage Rust dans crates/recording, puis suivez le point d’entrée actuel de l’exportation vidéo TypeScript–Rust. Comparez les comportements proposés pour la file d’attente, la progression, les nouvelles tentatives, la persistance et la mise en pause/reprise avec les critères d’acceptation ; le travail est considéré comme terminé lorsque tous les comportements par lots listés fonctionnent tandis que l’UI reste réactive.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
🎯 Overview
This enhancement introduces the ability to export multiple recordings in batch with real-time progress tracking, pause/resume capabilities, and smart queue management.
🤔 Problem
Currently, users can only export recordings one at a time. For content creators, teams, and power users working with multiple recordings, this becomes tedious and time-consuming, especially when dealing with large files or slow network conditions.
✅ Solution
Implement a batch export system with:
Core Features
- 📦 Bulk Selection: Select multiple recordings from library and queue them for export
- ⏳ Progress Tracking: Real-time progress bar showing:
- Current file being exported
- Overall progress across all queued items
- Estimated time remaining
- Upload/download speed indicator
- ⏸️ Queue Management:
- Pause/resume entire batch or individual items
- Reorder queue items
- Cancel specific exports without affecting others
- ⚙️ Export Presets: Save and apply custom export settings (format, quality, audio settings) to batch operations
- 🔔 Notifications: Completion alerts with summary (total files, duration, file sizes)
Technical Considerations
- Concurrency: Implement configurable concurrent export limit (prevent system overload)
- Resilience: Retry failed exports with exponential backoff
- Performance: Leverage existing Rust encoder pipelines from
crates/recording - State Persistence: Save batch queue to local storage for recovery if app crashes
📊 UI/UX
- New "Batch Export" tab in the main recording library
- Drag-and-drop support for adding recordings to queue
- Visual queue panel showing all pending exports
- Toast notifications for operation status updates
🔗 Related
- Builds on existing export functionality in
apps/desktop - Should integrate with the current video export pipeline (TypeScript + Rust interop)
📝 Acceptance Criteria
- Users can select and queue 2+ recordings for batch export
- Progress tracking displays per-item and overall metrics
- Pause/resume works reliably across all queued items
- Failed exports retry automatically (max 3 attempts)
- UI remains responsive during batch operations
- Queue persists across app sessions
This would significantly improve the workflow for content creators and teams using Cap for collaborative video recording and sharing! 🚀
- Langage dominant
- Rust
- Étoiles
- 22.5k
- Forks
- 1.9k
- Merge moyen
- 7 h 43 min
- PR mergées (30 j)
- 80
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CapSoftware/Cap
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
CapSoftware/Cap#2305 · 2 commentaires ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
CapSoftware/Cap#1714 · 3 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
CapSoftware/Cap#2340 · 1 commentaire ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
CapSoftware/Cap#2339 · 1 commentaire ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
CapSoftware/Cap#2329 · 2 commentaires ·
Toutes les issues de CapSoftware/Cap
Issues similaires
-
bug github_actions
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
registrystack/registry-stack#1393 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
longbridge/gpui-kit#3223 ·
-
bug engine
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
rocky-data/rocky#2181 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
oasisprotocol/oasis-sdk#2523 ·
-
[indexer] [QA] Add a focused test for the new NonRetryableError / assertSocketAlive() behavior. Ouvertebot:ai-assisted component:indexer QA-roadmap status:untriaged
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
midnightntwrk/midnight-indexer#1557 ·