Skip to content

Develop - #6

Merged
coolbirdzik merged 21 commits into
mainfrom
develop
Oct 17, 2026
Merged

coolbirdzik merged 21 commits into
mainfrom
develop

Conversation

@coolbirdzik

Copy link
Copy Markdown
Owner

📝 Description

Brief description of the changes in this PR.

🔗 Related Issues

Fixes #(issue number)
Closes #(issue number)
Related to #(issue number)

🎯 Type of Change

Please delete options that are not relevant.

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • 🎨 Style/UI update (no functional changes)
  • ♻️ Code refactoring (no functional changes)
  • ⚡ Performance improvement
  • 🧪 Test update

🧪 Testing

Please describe the tests that you ran to verify your changes.

  • Unit tests added/updated
  • Widget tests added/updated
  • Integration tests added/updated
  • Manual testing completed
  • All existing tests passing

Test Configuration

  • Flutter version:
  • Platform(s) tested:
  • Device(s) tested:

📸 Screenshots/Videos

If applicable, add screenshots or videos to demonstrate the changes.

Before

After

✅ Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published
  • I have updated the CHANGELOG.md file under [Unreleased]
  • I have run flutter analyze with no issues
  • I have run dart format . to format the code

📋 Additional Notes

Add any additional notes, concerns, or questions here.

🔍 Code Review Checklist (for reviewers)

  • Code follows project conventions
  • Changes are well-tested
  • Documentation is updated
  • No security vulnerabilities introduced
  • Performance impact is acceptable
  • UI/UX changes are consistent with design
  • Accessibility considerations addressed

Add a video playlist feature to the video player: a new VideoPlaylist
helper builds the list of sibling video files in the current folder,
resolving the folder's sort option, and showVideoPlaylistPanel shows
them in a floating panel above the controls. Picking an entry replaces
the playing file and advances the playlist. The player now supports
initiallyFullScreen and playlist callbacks.

Add keyboard shortcuts to ChipsInput for tag clipboard operations:
Ctrl/Cmd+C copies selected chips and draft text as a comma-separated
tag list, Ctrl/Cmd+X cuts tags, and Ctrl/Cmd+V pastes text back into
tags, splitting on common separators.

Add copyTags and videoPlaylist localization strings for English and
Vietnamese.
- Implemented startup notification for unseen updates in AppUpdateService.
- Modified AppUpdateDialog to retain functionality for checking updates.
- Converted AppUpdateStatusCard to StatefulWidget to manage expanded release notes.
- Improved operation progress overlay to handle startup notifications.
- Updated SelectionTagsController to manage pending edits and maintain tag visibility during saves.
- Refactored tag management screen to utilize new thumbnail picker and removal methods.
- Enhanced context menu for tags to include options for setting and removing thumbnails.
- Improved file properties pane to maintain input stability during tag saving.
- Added tests to ensure tag management and update notifications behave as expected.
- Added a focus node for the search bar in the video library and tabbed folder screens to manage focus more effectively.
- Implemented Ctrl+F (Cmd+F on macOS) to open the search bar and refocus input without altering the current query.
- Updated the search bar component to accept an optional focus node, allowing for better integration with the overall search experience.
- Enhanced keyboard shortcut handling in the split pane view to ensure search functionality works seamlessly across different UI components.
- Introduced tests for the new search behavior, ensuring that the search functionality behaves correctly during various user interactions, including text editing and focus changes.
- Improved the handling of emptying the internal trash, ensuring that nested folders and orphan metadata are deleted correctly.
- Added tests for the trash manager to verify the correct behavior when emptying the trash and handling errors.
- Implemented CleanerAgentAnalysisPanel to display analysis of disk cleaner items.
- Introduced CleanerDecisionBadge for visual representation of item decisions.
- Updated SystemScreenRouter to pass tabId to CbAgentCleanerScreen.
- Added tests for cleaner scan selection and interactive review processes.
- Enhanced documentation for AI agent tools, including new selection and inspection capabilities.
…ntation

- Introduced new widget tests for Cleaner Agent analysis and selection panels, ensuring proper functionality and user interactions.
- Added tests for Cleaner Review Overview and Suggestions View, validating the display of suggestions and the cleaning process.
- Enhanced the documentation for the AI Agent feature, clarifying the Quick Review process and its interaction with user selections and recommendations.
- Improved test coverage for various scenarios, including edge cases and UI responsiveness across different screen sizes and themes.
- Introduced scripts for managing Google Play listings, including authentication and edit preparation.
- Added validation for store listings to ensure compliance with character limits and required fields.
- Implemented fetching of aria2 runtime for improved download capabilities.
- Created new store listing files for English and Vietnamese, including descriptions and short descriptions.
- Updated build scripts to include new dependencies and runtime fetching.
- Added tests for Google Play listings management to ensure functionality and error handling.
- Documented the structure and requirements for store listings in a new README file.
…ionality

- Added integration tests for the torrent library, covering file/magnet opening, destination choices, focus/tab reuse, and clipboard links.
- Enhanced service locator to conditionally register services for E2E testing.
- Updated Aria2Engine to support peer discovery configuration.
- Modified DesktopWindowingService to handle E2E-specific behavior and registry management.
- Improved video player and thumbnail tests to ensure proper UI behavior and context menu functionality.
- Documented E2E testing procedures for the torrent library in the project documentation.
…nagement

- Added support for forwarding torrent launches to an existing shell, allowing for seamless integration without starting a new Flutter engine.
- Introduced a new `torrent_launch` module to handle cross-process communication for torrent sources.
- Enhanced tag color management by integrating color updates across various UI components, ensuring consistent visual representation.
- Updated the `TagChip` and `TagChipsField` widgets to listen for color changes and reflect them in real-time.
- Added unit tests for the new torrent launch functionality and tag color management to ensure reliability and correctness.
- Improved the overall user experience by optimizing the handling of tag colors and torrent sources in the application.
…panes across tabs

- Introduced TabPaneState to manage visibility states of preview and properties panes per tab.
- Updated TabScreen and TabbedFolderListScreen to utilize TabPaneState for retaining pane visibility.
- Enhanced user preferences handling to reflect tab-specific pane states.
- Added tests for TabPaneState to ensure correct behavior when toggling and closing tabs.

test(localization): add comprehensive tests for video wheel action localization

- Created tests to verify that video wheel action settings are fully localized for English and Vietnamese.
- Ensured that localized strings are not empty and correctly reference each other.

test(video wheel action): implement unit tests for video wheel action preferences

- Added tests to validate default settings and round-trip functionality for video wheel action preferences in UserPreferences.

ci(e2e): improve E2E suite selection and execution for Windows

- Implemented e2e_select.mjs to intelligently select E2E suites based on changed files.
- Created e2e_run.mjs to execute selected E2E suites in isolation, ensuring accurate reporting of results.
- Updated CI workflow to utilize new scripts for efficient E2E testing.

docs(e2e): enhance documentation for E2E testing process

- Clarified the CI workflow for running E2E tests based on file changes.
- Provided instructions for local testing and suite selection.

test(e2e): add tests for E2E suite selection logic

- Developed tests to ensure that E2E suite selection behaves as expected based on file changes and rules defined in e2e_impact.json.
@coolbirdzik
coolbirdzik merged commit 702deb1 into main Oct 17, 2026
6 checks passed
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