fix(proxy): defer UI refresh until Traefik version check completes
Fixes #7732 - The proxy status change listener was dispatching ProxyStatusChangedUI before the Traefik version check job had a chance to run. This caused users to see stale version information when they refreshed the page immediately after restarting the proxy. The fix defers the UI refresh when a Traefik version check is being dispatched. The version check job already dispatches its own ProxyStatusChangedUI event when complete, ensuring the UI refreshes with updated version data. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
ef1abe17b8
commit
367d7eeabc
1 changed files with 11 additions and 1 deletions
|
|
@ -29,7 +29,8 @@ public function handle(ProxyStatusChanged $event)
|
|||
$server->proxy->set('status', $status);
|
||||
$server->save();
|
||||
|
||||
ProxyStatusChangedUI::dispatch($server->team_id);
|
||||
$versionCheckDispatched = false;
|
||||
|
||||
if ($status === 'running') {
|
||||
$server->setupDefaultRedirect();
|
||||
$server->setupDynamicProxyConfiguration();
|
||||
|
|
@ -40,7 +41,9 @@ public function handle(ProxyStatusChanged $event)
|
|||
if ($server->proxyType() === ProxyTypes::TRAEFIK->value) {
|
||||
$traefikVersions = get_traefik_versions();
|
||||
if ($traefikVersions !== null) {
|
||||
// Version check job will dispatch ProxyStatusChangedUI when complete
|
||||
CheckTraefikVersionForServerJob::dispatch($server, $traefikVersions);
|
||||
$versionCheckDispatched = true;
|
||||
} else {
|
||||
Log::warning('Traefik version check skipped after proxy status change: versions.json data unavailable', [
|
||||
'server_id' => $server->id,
|
||||
|
|
@ -49,6 +52,13 @@ public function handle(ProxyStatusChanged $event)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Only dispatch UI refresh if version check wasn't dispatched
|
||||
// (version check job handles its own UI refresh with updated version data)
|
||||
if (! $versionCheckDispatched) {
|
||||
ProxyStatusChangedUI::dispatch($server->team_id);
|
||||
}
|
||||
|
||||
if ($status === 'created') {
|
||||
instant_remote_process([
|
||||
'docker rm -f coolify-proxy',
|
||||
|
|
|
|||
Loading…
Reference in a new issue