Commit Graph

14218 Commits

Author SHA1 Message Date
djeber 6c9f7b4aae Update n8n image and add task runners configuration 2025-12-25 05:05:12 +01:00
djeber 62d05d3ba6 Update n8n image version to 1.123.9 2025-12-25 05:05:02 +01:00
djeber 9f961ecb8b Update n8n-with-postgresql.yaml 2025-12-25 05:04:52 +01:00
djeber 535f0afb73 Upgrade n8n and runners images to version 2.1.2 2025-12-23 09:11:58 +01:00
djeber 07f99fec68 Update n8n and task-runners images to version 2.0.3 2025-12-19 08:57:20 +01:00
djeber f0b6e82e5f Update n8n-with-postgresql.yaml 2025-12-19 02:32:48 +01:00
Andras Bacsai d6864ce378 v4.0.0-beta.458 (#7692) 2025-12-18 13:23:06 +01:00
Andras Bacsai d901306e86 Bump version to 4.0.0-beta.458 and update nightly version to 4.0.0-beta.459 2025-12-18 13:22:08 +01:00
Andras Bacsai 2d262193c0 Revert "fix(deployment): Remove redundant docker rm when using --rm flag (#7691) 2025-12-18 13:21:38 +01:00
Andras Bacsai 21ce75e4d4 Revert "fix(deployment): Remove redundant docker rm when using --rm flag" 2025-12-18 13:20:59 +01:00
Andras Bacsai 4f1a210bd9 v4.0.0-beta.457 (#7690) 2025-12-18 13:05:00 +01:00
Andras Bacsai 922c0a9e7c Fix deployment logs flickering and HTML entity encoding (#7689) 2025-12-18 12:53:02 +01:00
Andras Bacsai 9fdb799663 Shorten timestamp display format in runtime logs
Changed from '2025-Dec-18 11:39:13.685710' to '2025-Dec-18 11:39:13'.
Microseconds are still used in wire:key for uniqueness.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:50:30 +01:00
Andras Bacsai deb79cf050 Add loading overlay to runtime logs to prevent flicker during refresh
Shows a subtle loading indicator over the logs container during refresh
or when enabling streaming. This masks any brief visual glitches from
Livewire's DOM morphing when log content changes significantly.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:46:52 +01:00
Andras Bacsai 334fd2500f Fix color highlighting not applying on initial runtime logs load
Added morph.added hook to apply color highlighting when logs are first
loaded. The morph.updated hook only fires on subsequent updates, not
on initial DOM insertion.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:43:42 +01:00
Andras Bacsai 8a4303cc02 Add decodeHtml helper to runtime logs for consistent HTML entity handling
Applies the same fix from deployment logs to runtime logs (GetLogs component).
Prevents HTML entities like &quot; from appearing when search highlighting
is applied to logs containing special characters.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:42:42 +01:00
Andras Bacsai 7bb14d1d9c Remove morph.updating hook that blocked log updates during text selection
The hook was preventing new logs from appearing when text was selected.
The hasActiveLogSelection() check in highlightText() is sufficient.

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-18 12:40:14 +01:00
Andras Bacsai d28e7f7f8a fix(deployment): Remove redundant docker rm when using --rm flag (#7688) 2025-12-18 12:31:21 +01:00
Andras Bacsai 6379123f93 fix(deployment): Remove redundant docker rm when using --rm flag
Helper containers are started with --rm flag which automatically removes the container when it stops. Removed redundant docker rm commands from graceful_shutdown_container in ApplicationDeploymentJob and replaced docker rm with docker stop in DatabaseBackupJob.

🤖 Generated with Claude Code

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-18 12:30:34 +01:00
Andras Bacsai 9493398b58 Fix deployment logs flickering and HTML entity encoding
- Remove per-line x-effect directives that re-evaluated for every log line during polling
- Replace with efficient applySearch() function that updates logs once after Livewire morph
- Remove unnecessary caching mechanisms (renderTrigger, decodeCache, matchCountCache)
- Remove double HTML encoding of log lines (e() + Blade escaping)
- Add decodeHtml() helper to properly decode HTML entities from data attributes
- Use morph.updated hook instead of commit hook for efficient DOM updates

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-18 12:30:26 +01:00
Andras Bacsai 9a2522ed84 refactor: move Swarm and Sentinel to dedicated sidebar menu items (#7687) 2025-12-18 12:20:47 +01:00
Andras Bacsai 2b5fcb3f53 Simplify cloud provider token button labels (#7686) 2025-12-18 12:19:33 +01:00
Andras Bacsai 9675d74360 refactor: move Swarm and Sentinel to dedicated sidebar menu items
- Create new Server/Swarm.php Livewire component and view for Swarm configuration
- Create new Server/Sentinel.php Livewire component and view for Sentinel settings
- Add server.swarm and server.sentinel routes
- Move Swarm and Sentinel sections from General page to sidebar menu items
- Improve organization by separating concerns into dedicated pages

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-18 12:18:22 +01:00
Andras Bacsai 9f315d124d Simplify cloud provider token button labels
Change "Validate Token" to "Validate" and "Delete Token" to "Delete" for cleaner UI.

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-18 12:18:18 +01:00
Andras Bacsai f53027a0a3 chore: update version numbers to 4.0.0-beta.457 and 4.0.0-beta.458 2025-12-18 10:26:27 +01:00
Andras Bacsai b6d0d303c8 v4.0.0-beta.456 (#7673) 2025-12-18 09:58:24 +01:00
Andras Bacsai 2c04336d7a fix(service): Umami -> patch Nextjs CVE-2025-55183 & CVE-2025-55184 (#7671) 2025-12-18 09:51:21 +01:00
Andras Bacsai 27f2e32fbf Improve logging view performance to prevent browser freezing (#7682) 2025-12-18 08:50:04 +01:00
Andras Bacsai 1e4b62450d test: Add comprehensive preview deployment port and path tests (#7677) 2025-12-18 08:49:57 +01:00
Andras Bacsai acd7106f93 Refactor log view to eliminate flickering during refresh
- Use atomic update pattern in backend: collect logs into temp variable
  before replacing outputs (prevents empty state flash)
- Remove per-line x-effect directives that caused 4000+ reactive
  evaluations on every update
- Replace inline Alpine.js class bindings with CSS utility classes
- Use single $watch and morph.updated hook instead of renderTrigger
- Remove HTML entity decode cache (no longer needed)
- Fix search highlight padding that caused text shifting

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 08:46:39 +01:00
Andras Bacsai 20e4783528 Fix inconsistent match counting in log search
Use dataset.logContent instead of textContent for counting search
matches in getMatchCount(). This aligns the counting logic with
matchesSearch() which uses the same data attribute for filtering
visibility, ensuring the displayed match count accurately reflects
the number of visible/hidden lines.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 08:30:30 +01:00
Claude 40b1b1319f Improve logging view performance to prevent browser freezing
- Use CSS content-visibility: auto for lazy rendering of off-screen log lines
- Replace setInterval auto-scroll with requestAnimationFrame for smoother scrolling
- Cache HTML entity decoding to avoid repeated DOMParser calls (up to 5000 entries)
- Cache match count calculations to prevent repeated DOM queries
- Debounce search input (300ms) in deployment logs view
- Debounce Livewire render updates (100ms) to batch rapid changes
- Add log-line utility class with content-visibility optimization
- Add log-highlight utility class for search result highlighting

These changes address browser freezing when viewing deployment logs with
3500+ lines (GitHub issue #7668). The content-visibility CSS property lets
the browser skip rendering of off-screen content, significantly reducing
initial render time and memory usage.

Fixes #7668
2025-12-18 06:14:42 +00:00
Andras Bacsai 582bdc3739 test: Add comprehensive preview deployment port and path tests
Add missing edge case test for root path (/) and expand test coverage
for preview FQDN generation. Tests verify that ports and paths are
correctly preserved in preview URLs while excluding root paths.

Fixes #2184
2025-12-17 21:35:54 +01:00
Andras Bacsai ecd4c51fa6 Add git worktree shared dependencies setup (#7284) 2025-12-17 21:00:15 +01:00
Andras Bacsai 7f29a46186 feat: Add copy logs button to deployment and runtime logs (#7676) 2025-12-17 20:57:44 +01:00
Andras Bacsai 6f2a33f859 feat: Add copy logs button to deployment and runtime logs
Add copy-to-clipboard functionality for both deployment logs and runtime container logs with success notification. Fixed event dispatch to use Livewire.dispatch() for proper toast notification handling. Reorganized copy and download buttons to appear consecutively in runtime logs toolbar.

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-17 20:54:22 +01:00
Andras Bacsai 8c023b4e52 Enhance log sanitization with GitHub, GitLab, AWS, and generic URL passwords (#7670) 2025-12-17 20:43:29 +01:00
Andras Bacsai 34c468e3fa Disable wire:navigate for logs views (#7672) 2025-12-17 20:43:03 +01:00
Andras Bacsai b936f2f50c Fix server resources tab 500 error with mixed model types (#7674) 2025-12-17 18:14:48 +01:00
Andras Bacsai 4b65b02103 Fix server resources tab 500 error with mixed model types
The Resources tab threw a "Queueing collections with multiple model types is not supported" error because the Livewire component was storing a mixed-type Eloquent collection (Applications, Databases, Services) as a public property, causing Livewire's serialization to fail.

Fixed by: storing only the unmanaged containers array in the component, and calling definedResources() directly in the Blade view for the managed tab.

Fixes #7666

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-17 18:13:55 +01:00
Andras Bacsai 94acfd79aa Disable wire:navigate for logs views
Logs views should not use Livewire navigation, similar to terminal views.
This ensures full page loads when navigating to logs instead of SPA-like transitions.

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-17 18:13:18 +01:00
ShadowArcanist 00b81c8ecc updated umami service image to patch nextjs CVE-2025-55183 & CVE-2025-55184 2025-12-17 22:34:31 +05:30
Andras Bacsai 5e3593e8bf Enhance log sanitization with GitHub, GitLab, AWS, and generic URL passwords
Consolidate all PII/secret sanitization into remove_iip() to protect real-time logs in addition to exported logs. Add detection for GitHub tokens (ghp_, gho_, ghu_, ghs_, ghr_), GitLab tokens (glpat-, glcbt-, glrt-), AWS credentials (AKIA/ABIA/ACCA/ASIA access keys and secret keys), and generic URL passwords for FTP, SSH, AMQP, LDAP, and S3 protocols.

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-17 17:59:10 +01:00
Andras Bacsai 1b3be5bef6 Fix database status flickering and add restart tracking (#7665) 2025-12-17 17:48:15 +01:00
Andras Bacsai d04d0ab499 Refactor restart tracking and add missing model casts
- Consolidate duplicate restart tracking logic in GetContainersStatus
- Add last_restart_type string cast to all 8 standalone database models

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 17:45:58 +01:00
Andras Bacsai 6d47d24169 Fix standalone database "restarting" status flickering and add restart tracking
- Fix status flickering: Track databases in active/transient states (restarting, starting, created, paused) not just running
- Add isActiveOrTransient() helper to distinguish between active states and terminal states (exited, dead)
- Add safeguard: Protect updateNotFoundDatabaseStatus() from marking as exited when containers collection is empty
- Add restart_count tracking: New migration adds restart_count, last_restart_at, last_restart_type to all standalone database tables
- Update 8 database models with $casts for new restart tracking fields
- Update GetContainersStatus to extract RestartCount from Docker and update database models
- Reset restart tracking when database exits completely

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-17 16:25:41 +01:00
Andras Bacsai 96f2e81191 feat: copy resource logs with PII/secret sanitization (#7648) 2025-12-17 16:05:13 +01:00
Andras Bacsai 78b4e43910 Fix PostgreSQL version selection in global search (#7664) 2025-12-17 16:02:51 +01:00
Andras Bacsai 679833a0a6 Fix PostgreSQL version selection in global search redirect
Allow users to select PostgreSQL version instead of automatically creating postgres:16-alpine when using global search. The fix includes:

- Remove hardcoded database_image parameter from GlobalSearch
- Update Create.php to fall through to Select component when database_image is not provided
- Add type and destination to Select component query string with proper URL mapping
- Jump directly to PostgreSQL version selection step when navigating from global search

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-17 16:01:39 +01:00
Andras Bacsai 18c6c1950e Infiscal latest (#7641) 2025-12-17 15:51:35 +01:00