Fix logs not loading for single container services and applications

- Initialize logsLoaded as false to ensure init() triggers log loading
- Set logsLoaded=true after calling getLogs() in init()
- Allow services/PRs to load logs automatically when expandByDefault=true (single container)
- Previously, services would skip initial load unless refresh=true, now single containers work

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Andras Bacsai
2025-12-05 14:19:31 +01:00
parent 21429a26b1
commit a0884b758f
2 changed files with 6 additions and 3 deletions

View File

@@ -122,7 +122,7 @@ class GetLogs extends Component
if (! $this->server->isFunctional()) {
return;
}
if (! $refresh && ($this->resource?->getMorphClass() === \App\Models\Service::class || str($this->container)->contains('-pr-'))) {
if (! $refresh && ! $this->expandByDefault && ($this->resource?->getMorphClass() === \App\Models\Service::class || str($this->container)->contains('-pr-'))) {
return;
}
if ($this->numberOfLines <= 0 || is_null($this->numberOfLines)) {

View File

@@ -2,7 +2,7 @@
<div id="screen" x-data="{
collapsible: {{ $collapsible ? 'true' : 'false' }},
expanded: {{ ($expandByDefault || !$collapsible) ? 'true' : 'false' }},
logsLoaded: {{ ($expandByDefault || !$collapsible) ? 'true' : 'false' }},
logsLoaded: false,
fullscreen: false,
alwaysScroll: false,
intervalId: null,
@@ -156,7 +156,10 @@
URL.revokeObjectURL(url);
},
init() {
if (this.expanded) { this.$wire.getLogs(); }
if (this.expanded) {
this.$wire.getLogs();
this.logsLoaded = true;
}
// Re-render logs after Livewire updates
Livewire.hook('commit', ({ succeed }) => {
succeed(() => {