coolify/app/Livewire/Project/Database
Andras Bacsai 94560ea6c7 feat: streamline S3 restore with single-step flow and improved UI consistency
Major architectural improvements:
- Merged download and restore into single atomic operation
- Eliminated separate S3DownloadFinished event (redundant)
- Files now transfer directly: S3 → helper container → server → database container
- Removed download progress tracking in favor of unified restore progress

UI/UX improvements:
- Unified restore method selection with visual cards
- Consistent "File Information" display between local and S3 restore
- Single slide-over for all restore operations (removed separate S3 download monitor)
- Better visual feedback with loading states

Security enhancements:
- Added isSafeTmpPath() helper for path traversal protection
- URL decode validation to catch encoded attacks
- Canonical path resolution to prevent symlink attacks
- Comprehensive path validation in all cleanup events

Cleanup improvements:
- S3RestoreJobFinished now handles all cleanup (helper container + all temp files)
- RestoreJobFinished uses new isSafeTmpPath() validation
- CoolifyTask dispatches cleanup events even on job failure
- All cleanup uses non-throwing commands (2>/dev/null || true)

Other improvements:
- S3 storage policy authorization on Show component
- Storage Form properly syncs is_usable state after test
- Removed debug code and improved error handling
- Better command organization and documentation

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 10:05:18 +01:00
..
Backup Revert "rector: arrrrr" 2025-01-07 15:31:43 +01:00
Clickhouse fix: add authorization checks to database Livewire components 2025-10-14 17:33:42 +02:00
Dragonfly fix: add authorization checks to database Livewire components 2025-10-14 17:33:42 +02:00
Keydb fix: add authorization checks to database Livewire components 2025-10-14 17:33:42 +02:00
Mariadb fix: add authorization checks to database Livewire components 2025-10-14 17:33:42 +02:00
Mongodb fix: add authorization checks to database Livewire components 2025-10-14 17:33:42 +02:00
Mysql fix: add authorization checks to database Livewire components 2025-10-14 17:33:42 +02:00
Postgresql fix: add authorization checks to database Livewire components 2025-10-14 17:33:42 +02:00
Redis fix: add authorization checks to database Livewire components 2025-10-14 17:33:42 +02:00
BackupEdit.php feat(DatabaseBackupJob, ScheduledTaskJob): enforce minimum timeout and add execution ID for timeout handling 2025-11-11 12:07:39 +01:00
BackupExecutions.php feat(backup): enhance backup job with S3 upload handling and notifications 2025-10-07 15:02:23 +02:00
BackupNow.php feat(auth): implement authorization checks for database management 2025-08-23 18:50:35 +02:00
Configuration.php Merge branch 'next' into andrasbacsai/livewire-model-binding 2025-10-16 11:05:29 +02:00
CreateScheduledBackup.php feat(auth): implement authorization checks for database management 2025-08-23 18:50:35 +02:00
Heading.php Fix loading icon showing during automatic status checks 2025-10-24 12:58:52 +02:00
Import.php feat: streamline S3 restore with single-step flow and improved UI consistency 2025-11-17 10:05:18 +01:00
InitScript.php Revert "rector: arrrrr" 2025-01-07 15:31:43 +01:00
ScheduledBackups.php feat(auth): implement authorization checks for database management 2025-08-23 18:50:35 +02:00