coolify/resources/views/livewire/server
Andras Bacsai 5d73b76a44 refactor(proxy): implement centralized caching for versions.json and improve UX
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>
2025-11-17 14:53:28 +01:00
..
ca-certificate Fix typo 2025-10-20 11:59:29 +01:00
cloud-provider-token improved hetzner features 2025-10-09 12:53:57 +02:00
new refactor: simplify project data retrieval and enhance OAuth settings handling 2025-10-27 17:03:19 +01:00
private-key feat(acl): Change views/backend code to able to use proper ACL's later on. Currently it is not enabled. 2025-08-26 10:27:38 +02:00
proxy refactor: simplify project data retrieval and enhance OAuth settings handling 2025-10-27 17:03:19 +01:00
security refactor: simplify project data retrieval and enhance OAuth settings handling 2025-10-27 17:03:19 +01:00
advanced.blade.php Moved terminal access settings to security page 2025-09-23 06:32:51 +05:30
charts.blade.php Renamed metrics titles CPU(%) to CPU usage - same for memory 2025-09-19 23:19:24 +05:30
cloudflare-tunnel.blade.php refactor(ui): replace warning and error divs with callout components for improved consistency and readability 2025-09-25 11:14:56 +02:00
create.blade.php feat: implement ValidHostname validation rule and integrate it into server creation process 2025-10-10 11:03:13 +02:00
delete.blade.php basics of adding / removing hetzner servers 2025-10-09 10:41:29 +02:00
destinations.blade.php feat(acl): Change views/backend code to able to use proper ACL's later on. Currently it is not enabled. 2025-08-26 10:27:38 +02:00
docker-cleanup-executions.blade.php feat(ui): Upgrade to Tailwind v4 (#5710) 2025-05-14 12:43:23 +02:00
docker-cleanup.blade.php fix(ui): correct HTML structure and improve clarity in Docker cleanup options 2025-09-29 14:44:39 +02:00
index.blade.php feat(project): enhance project index with resource creation capabilities 2025-10-07 17:17:31 +02:00
log-drains.blade.php feat(acl): Change views/backend code to able to use proper ACL's later on. Currently it is not enabled. 2025-08-26 10:27:38 +02:00
navbar.blade.php refactor(proxy): implement centralized caching for versions.json and improve UX 2025-11-17 14:53:28 +01:00
proxy.blade.php feat(proxy): enhance Traefik version notifications to show patch and minor upgrades 2025-11-17 09:59:17 +01:00
resources.blade.php fix(ui): update border styling for consistency across components and enhance loading indicators 2025-06-25 10:56:35 +02:00
show.blade.php refactor: simplify project data retrieval and enhance OAuth settings handling 2025-10-27 17:03:19 +01:00
validate-and-install.blade.php feat: add retry functionality for server validation process 2025-10-10 10:13:08 +02:00