coolify/resources/views/livewire
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
..
admin better impersonate 2024-12-16 12:48:09 +01:00
boarding Fix Hetzner server redirect in onboarding flow 2025-10-23 16:17:01 +02:00
destination feat(project): enhance project index with resource creation capabilities 2025-10-07 17:17:31 +02:00
notifications feat(proxy): add Traefik version tracking with notifications and dismissible UI warnings 2025-11-14 11:35:22 +01:00
profile feat(project): enhance project index with resource creation capabilities 2025-10-07 17:17:31 +02:00
project Fix modal width: add maxWidth constraint 2025-11-14 09:46:05 +01:00
security feat: add token validation functionality for Hetzner and DigitalOcean providers 2025-10-29 23:21:38 +01:00
server refactor(proxy): implement centralized caching for versions.json and improve UX 2025-11-17 14:53:28 +01:00
settings feat: add dev_helper_version to instance settings and update related functionality 2025-11-03 08:38:43 +01:00
shared-variables feat(project): enhance project index with resource creation capabilities 2025-10-07 17:17:31 +02:00
source/github fix: use x-cloak instead of inline style to prevent FOUC 2025-10-26 09:31:22 +01:00
storage Complete Livewire legacy model binding migration (25+ components) 2025-10-13 15:38:59 +02:00
subscription refactor(ui): replace warning and error divs with callout components for improved consistency and readability 2025-09-25 11:14:56 +02:00
tags fix(tags): update tag display to limit name length and adjust styling 2025-08-19 14:15:19 +02:00
team Complete Livewire legacy model binding migration (25+ components) 2025-10-13 15:38:59 +02:00
terminal Changes auto-committed by Conductor 2025-10-20 14:07:45 +02:00
activity-monitor.blade.php refactor(proxy): streamline proxy status handling and improve dashboard availability checks 2025-06-11 12:02:39 +02:00
dashboard.blade.php fix(dashboard): add cursor pointer to modal input buttons for better UX 2025-10-08 09:31:19 +02:00
deployments-indicator.blade.php Merge pull request #6784 from abdia3/fix/deployments-indicator-stacking 2025-10-07 12:51:01 +02:00
force-password-reset.blade.php feat(ui): Upgrade to Tailwind v4 (#5710) 2025-05-14 12:43:23 +02:00
global-search.blade.php feat: add onboarding guide link to global search no results state 2025-10-23 16:17:58 +02:00
help.blade.php fix: remove livewire legacy from help view 2024-11-03 21:27:26 +01:00
layout-popups.blade.php fix(ui): update wording in sponsorship prompt for clarity and engagement 2025-06-26 12:14:21 +02:00
navbar-delete-team.blade.php refactor(ui): remove unnecessary step3ButtonText attributes from modal confirmation components for cleaner code 2025-06-30 09:15:23 +02:00
settings-backup.blade.php fix(ui): add padding to section headers in settings views for improved spacing 2025-06-25 12:29:59 +02:00
settings-dropdown.blade.php fix: eliminate dark mode white screen flicker on page transitions 2025-10-23 20:46:58 +02:00
settings-email.blade.php fix: change SMTP port input type to number for better validation 2025-10-29 20:40:16 +01:00
settings-oauth.blade.php refactor: simplify project data retrieval and enhance OAuth settings handling 2025-10-27 17:03:19 +01:00
switch-team.blade.php refactor(switch-team): remove label from team selection component for cleaner UI 2025-10-08 19:50:19 +02:00
upgrade.blade.php refactor(upgrade): replace warning div with a callout component for better UI consistency 2025-09-25 10:38:01 +02:00
verify-email.blade.php feat: add email verification for cloud 2023-10-09 14:20:55 +02:00