coolify/app/Events
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
..
ApplicationConfigurationChanged.php feat(event): introduce ApplicationConfigurationChanged event to handle team-specific configuration updates and broadcast changes 2025-09-22 09:44:30 +02:00
ApplicationStatusChanged.php refactor(actions): standardize method naming for network and configuration deletion across application and service classes 2025-04-30 18:30:43 +02:00
BackupCreated.php fix(horizon): add silenced jobs 2025-07-12 14:44:32 +02:00
CloudflareTunnelChanged.php refactor(proxy-status): refactored how the proxy status is handled on the UI and on the backend 2025-06-06 14:47:54 +02:00
CloudflareTunnelConfigured.php refactor(actions): standardize method naming for network and configuration deletion across application and service classes 2025-04-30 18:30:43 +02:00
DatabaseProxyStopped.php refactor(actions): standardize method naming for network and configuration deletion across application and service classes 2025-04-30 18:30:43 +02:00
DatabaseStatusChanged.php refactor(actions): standardize method naming for network and configuration deletion across application and service classes 2025-04-30 18:30:43 +02:00
DockerCleanupDone.php feat: DockerCleanupDone event 2025-01-15 17:19:32 +01:00
FileStorageChanged.php refactor(actions): standardize method naming for network and configuration deletion across application and service classes 2025-04-30 18:30:43 +02:00
ProxyStatusChanged.php refactor(proxy-status): refactored how the proxy status is handled on the UI and on the backend 2025-06-06 14:47:54 +02:00
ProxyStatusChangedUI.php refactor(events): update ProxyStatusChangedUI constructor to accept nullable teamId for improved flexibility 2025-06-10 10:58:56 +02:00
RestoreJobFinished.php feat: streamline S3 restore with single-step flow and improved UI consistency 2025-11-17 10:05:18 +01:00
S3RestoreJobFinished.php feat: streamline S3 restore with single-step flow and improved UI consistency 2025-11-17 10:05:18 +01:00
ScheduledTaskDone.php refactor(actions): standardize method naming for network and configuration deletion across application and service classes 2025-04-30 18:30:43 +02:00
SentinelRestarted.php feat(sentinel): implement SentinelRestarted event and update Livewire components to handle server restart notifications 2025-08-26 10:27:38 +02:00
ServerPackageUpdated.php feat(security): implement server patching functionality 2025-05-15 22:21:54 +02:00
ServerReachabilityChanged.php feat: new ServerReachabilityChanged event 2024-12-16 14:05:17 +01:00
ServerValidated.php work work on hetzner integration 2025-10-09 16:54:13 +02:00
ServiceChecked.php fix(horizon): add silenced jobs 2025-07-12 14:44:32 +02:00
ServiceStatusChanged.php refactore(core): use property promotion 2025-05-20 13:23:09 +02:00
TestEvent.php refactor(actions): standardize method naming for network and configuration deletion across application and service classes 2025-04-30 18:30:43 +02:00