GoMFT Release Notes
Release Notes - v0.2.4
✨ Features
- Rclone Connection Testing: Added functionality to test the connection for Source and Destination providers directly from the configuration UI (
/configs/test-connection
). Includes UI buttons and toast notifications for feedback. (Commit68dd9fc
) - Rclone Command Configuration UI: Enhanced the Transfer Configuration form to pre-render selected Rclone command flags during editing. Added support for specifying the region for Minio providers. (Commit
f957207
) - File Metadata Sorting: Implemented sorting capabilities for the File Metadata list based on various columns (e.g., FileName, ProcessedTime, Size). (Commit
28fa65d
) - Scheduler Integration: Introduced a cron-based job scheduler for automated transfer execution. (Commits
b35174f
,ae18cd1
) - Enhanced Notification Components: Added and improved components for managing Notification Services, including dialogs, forms (with specific fields per type like Gotify, Ntfy, Pushover, etc.), and list views. (Commit
28fa65d
) - Shared Toast Component: Implemented a reusable toast notification component for displaying success/error messages. (Commit
28fa65d
) - Rclone Log Parsing: Rclone operations now log to temporary files, and basic parsing is performed on transfer logs to extract hashes and count copied files for metadata records. (Commit
391cfbc
)
🚀 Improvements
- Notification Form Handling: Fixed the handling of the 'Is Enabled' checkbox in the Notification Service form. (Commit
391cfbc
) - SSL Verification Control: Added
SKIP_SSL_VERIFY
environment variable to allow disabling SSL verification for outgoing notifications (e.g., webhooks). (Commit391cfbc
) - Configuration Model: Refactored boolean fields (like
IsEnabled
,ReadOnly
) in configuration models (Notifications, Auth Providers, Transfer Configs) to use pointers for more accurate state representation. (Commit608da9c
)
🔧 Technical Changes
- Scheduler Refactoring: Major refactoring of job scheduling and execution logic into distinct components (
JobExecutor
,Logger
,MetadataHandler
,Notifier
,TransferExecutor
,Scheduler
,Utils
). (Commitsb35174f
,ae18cd1
) - Database Layer Refactoring: Reorganized database access logic by splitting the monolithic
db.go
into entity-specific store files (e.g.,job_store.go
,user_store.go
,transfer_config_store.go
, etc.). (Commitd4c07fd
) - Testing Enhancements: Added comprehensive unit tests for scheduler components (Job Executor, Logger, Metadata, Notification, Scheduler, Transfer Executor, Utils) and improved Rclone service tests. (Commits
b35174f
,608da9c
)
🔄 Migration
- A database migration (
012_alter_boolean_defaults.go
) was added to update default values and potentially nullability for boolean fields in various tables (e.g.,notification_services
,auth_providers
) to align with the model changes (using boolean pointers). Ensure this migration is applied when updating. (Commit608da9c
)
📦 Dependencies
- Added
github.com/stretchr/testify v1.9.0
for improved testing assertions. (Commit608da9c
)
🐛 Bug Fixes
- Config form not displaying destination correctly based on rclone command selection.
- Dark mode not working correctly when button is pressed.
- Notificaiton service being added as enabled when enabled check is disabled