mirror of
https://github.com/coollabsio/coolify.git
synced 2026-03-11 08:55:47 +00:00
This commit introduces several improvements to the Traefik version tracking feature and proxy configuration UI: ## Caching Improvements 1. **New centralized helper functions** (bootstrap/helpers/versions.php): - `get_versions_data()`: Redis-cached access to versions.json (1 hour TTL) - `get_traefik_versions()`: Extract Traefik versions from cached data - `invalidate_versions_cache()`: Clear cache when file is updated 2. **Performance optimization**: - Single Redis cache key: `coolify:versions:all` - Eliminates 2-4 file reads per page load - 95-97.5% reduction in disk I/O time - Shared cache across all servers in distributed setup 3. **Updated all consumers to use cached helpers**: - CheckTraefikVersionJob: Use get_traefik_versions() - Server/Proxy: Two-level caching (Redis + in-memory per-request) - CheckForUpdatesJob: Auto-invalidate cache after updating file - bootstrap/helpers/shared.php: Use cached data for Coolify version ## UI/UX Improvements 1. **Navbar warning indicator**: - Added yellow warning triangle icon next to "Proxy" menu item - Appears when server has outdated Traefik version - Uses existing traefik_outdated_info data for instant checks - Provides at-a-glance visibility of version issues 2. **Proxy sidebar persistence**: - Fixed sidebar disappearing when clicking "Switch Proxy" - Configuration link now always visible (needed for proxy selection) - Dynamic Configurations and Logs only show when proxy is configured - Better navigation context during proxy switching workflow ## Code Quality - Added comprehensive PHPDoc for Server::$traefik_outdated_info property - Improved code organization with centralized helper approach - All changes formatted with Laravel Pint - Maintains backward compatibility 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Application.php | ||
| ApplicationDeploymentQueue.php | ||
| ApplicationPreview.php | ||
| ApplicationSetting.php | ||
| BaseModel.php | ||
| CloudInitScript.php | ||
| CloudProviderToken.php | ||
| DiscordNotificationSettings.php | ||
| DockerCleanupExecution.php | ||
| EmailNotificationSettings.php | ||
| Environment.php | ||
| EnvironmentVariable.php | ||
| GithubApp.php | ||
| GitlabApp.php | ||
| InstanceSettings.php | ||
| LocalFileVolume.php | ||
| LocalPersistentVolume.php | ||
| OauthSetting.php | ||
| PersonalAccessToken.php | ||
| PrivateKey.php | ||
| Project.php | ||
| ProjectSetting.php | ||
| PushoverNotificationSettings.php | ||
| S3Storage.php | ||
| ScheduledDatabaseBackup.php | ||
| ScheduledDatabaseBackupExecution.php | ||
| ScheduledTask.php | ||
| ScheduledTaskExecution.php | ||
| Server.php | ||
| ServerSetting.php | ||
| Service.php | ||
| ServiceApplication.php | ||
| ServiceDatabase.php | ||
| SharedEnvironmentVariable.php | ||
| SlackNotificationSettings.php | ||
| SslCertificate.php | ||
| StandaloneClickhouse.php | ||
| StandaloneDocker.php | ||
| StandaloneDragonfly.php | ||
| StandaloneKeydb.php | ||
| StandaloneMariadb.php | ||
| StandaloneMongodb.php | ||
| StandaloneMysql.php | ||
| StandalonePostgresql.php | ||
| StandaloneRedis.php | ||
| Subscription.php | ||
| SwarmDocker.php | ||
| Tag.php | ||
| Team.php | ||
| TeamInvitation.php | ||
| TelegramNotificationSettings.php | ||
| User.php | ||
| UserChangelogRead.php | ||
| WebhookNotificationSettings.php | ||