You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat: Automatically clean up temporary videos between batches - #51
Automatically remove each batch’s temporary videos and previews after leaving the compression screen, once active operations finish. Gallery videos remain untouched.
Remove completed and partial outputs on cancellation while keeping imported videos available for retry.
Checklist
dart format .
flutter analyze
flutter test
Summary by CodeRabbit
New Features
Temporary videos and previews are cleaned up when you leave a compression session; videos saved to your gallery are retained.
Cancelling a batch removes completed and partial outputs while keeping imported videos available to retry.
Improvements
Leaving the screen is blocked while a save is in progress, helping prevent interrupted saves.
The bitrate slider now has a diamond-shaped thumb, and the comparison action uses an icon.
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.
📝 Walkthrough
The release adds tracked cleanup for compression-session files, cancellation handling for active compression and picker imports, and updates to compression controls. It also advances the app version to 1.0.12+31 and adds localized changelog notes.
Changes: Compression session lifecycle
Layer / File(s)
Summary
Compression cancellation and native output cleanup lib/features/compression/data/video_compressor_adapter.dart, test/features/compression/video_compressor_cancellation_test.dart, docs/skills/features/compression.md
The adapter tracks active compression, waits for it to finish during cancellation, checks cancellation during preparation and media lookup, and removes the expected iOS temporary MP4. Tests cover cancellation during native compression and media lookup.
The bloc tracks session files and active file operations. On close, it waits for those operations and removes tracked files. Cancellation removes outputs while retaining imported sources. Saving blocks exit, and sharing runs as a tracked operation. Tests cover cleanup timing, retained sources, and unrelated files.
Picker import cleanup across platforms android/app/src/main/kotlin/com/example/minimo_video/MainActivity.kt, ios/Runner/SceneDelegate.swift, lib/features/compression/presentation/compress_screen.dart, docs/skills/features/platform.md
Android and iOS picker flows remove stale imports. Android removes batch copies after cancellation or errors and reserves cache names atomically. iOS uses UUID-prefixed names and removes partial copies after errors. The screen removes picked files if it has been disposed.
Compression result and bitrate controls lib/constants/app_icons.dart, lib/features/compression/presentation/widgets/bitrate_picker.dart, lib/features/compression/presentation/widgets/compression_result_view.dart, test/features/compression/compression_result_view_test.dart, docs/skills/ui/design-system.md, docs/skills/features/compression.md
The bitrate slider thumb changes to a surface-filled outlined shape. The comparison action uses the VS icon, and its test finds the action by icon.
Release 1.0.12 version and notes pubspec.yaml, ios/Runner.xcodeproj/project.pbxproj, lib/services/changelog_service.dart, test/services/changelog_service_test.dart, CHANGELOG.md, docs/skills/features/changelog.md, docs/SKILLS.md, README.md
The package and iOS project versions advance to 1.0.12+31. The release adds localized changelog entries and updates release documentation and credits.
sequenceDiagram
participant CompressBloc
participant VideoCompressorAdapter
participant AppCacheService
CompressBloc->>VideoCompressorAdapter: cancelCompression
VideoCompressorAdapter-->>CompressBloc: active compression completes
CompressBloc->>CompressBloc: wait for active file operations
CompressBloc->>AppCacheService: removeFiles with tracked session paths
Loading
Merge Risk:⚪ Minimal · up to 52187
The reviewed cleanup paths do not show a remaining issue that should delay merging.
Pre-merge checks: 4 · 1
Failed checks: 1 warning
Check name
Status
Explanation
Resolution
Docstring Coverage
Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 2 files. (26 skipped: 2…
Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed checks: 4 passed
Check name
Status
Explanation
Title check
The title clearly and concisely describes the primary change: automatic cleanup of temporary videos between compression batches.
Description check
The description includes the required What changed and Checklist sections. It explains the cleanup behavior, preserves gallery and imported videos as required, and reports all required checks as compl…
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage
Explanation
Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 2 files. (26 skipped: 26 unsupported.)
Fix all pre-merge checks with AI
✨ Finishing Touches: 💡 1
📝 Generate docstrings: 💡
Commit to this branch
Create a new PR
🧪 Generate unit tests (beta)
Commit to this branch
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Checklist
dart format .flutter analyzeflutter testSummary by CodeRabbit