Commit Graph

14409 Commits

Author SHA1 Message Date
Andras Bacsai
2cf915aed8 fix(user): use $this instead of Auth::user() in User model methods
Fix isInstanceAdmin(), currentTeam(), otherTeams(), and role() methods
to operate on the actual User instance instead of always using the
authenticated user. This ensures correct behavior when these methods
are called on non-authenticated user instances (e.g., in ActivityMonitor).

Also fix settings route check to use routeIs() instead of path matching.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 13:55:55 +01:00
Andras Bacsai
acff543e09 fix(settings): fix 404 on /settings for root user on cloud instance
- Make Server property nullable in Settings components (Index, Advanced, Updates)
- Add conditional server loading: only load when not on cloud
- Add null checks before using server for DNS validation and proxy configuration
- Fix isInstanceAdmin() to check root team's pivot role directly instead of current team
- Make root team (id=0) bypass subscription check on cloud
- Remove isInstanceAdmin() from main middleware bypass: only settings/admin routes are exempted
- Update isSubscribed() to only check isSubscriptionActive() for navbar consistency

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-28 13:55:55 +01:00
Andras Bacsai
4a4d64ac31 fix: back navigation in global search resource selection (#7798) 2025-12-28 13:54:02 +01:00
Andras Bacsai
bd22c0e470 fix: back navigation in global search resource selection
Add smart goBack() method that skips auto-selected steps and returns to the
last step where user had a real choice. This prevents navigation loops when
previous steps only have a single option and auto-select.

Fixes #7739

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-28 13:53:26 +01:00
Andras Bacsai
0e9dbc3625 fix(metrics): address code review feedback for LTTB downsampling
- Wrap return values in collect() to maintain Collection compatibility
- Add comment explaining threshold <= 2 prevents division by zero
- Refactor tests to use actual Server model method via reflection
- Use seeded mt_rand() for reproducible test results

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 13:39:43 +01:00
ShadowArcanist
f222033fe0 chore: updated contributors guidelines to include more detailes for pull request submissions 2025-12-28 17:21:54 +05:30
Andras Bacsai
f199b6bfc4 fix(metrics): prevent page freeze with 30-day server metrics interval using LTTB downsampling
Implement the Largest-Triangle-Three-Buckets (LTTB) algorithm to downsample
metrics data for large time intervals (30 days generates 260K-500K+ points).
Reduces rendered points to ~1000 while preserving visual accuracy of peaks
and valleys. Fixes unresponsive page when selecting 30-day metrics interval.

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-27 19:10:02 +01:00
Andras Bacsai
083d745d70 fix(restart): reset restart count when resource is manually stopped (#7784) 2025-12-27 15:22:26 +01:00
Andras Bacsai
75d8ebe803 fix(restart): reset restart count when resource is manually stopped
When a database or application was in a restart loop, the restart count
persisted even after the user manually stopped the resource. This caused
the UI to continue showing "(Xx restarts)" after user intervention.

Now resets restart_count, last_restart_at, and last_restart_type when:
- User stops a database (StopDatabase action)
- User stops an application (StopApplication action)

The existing reset in GetContainersStatus is still needed for containers
that exit on their own (crash without recovery, Docker giving up).

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-27 15:21:19 +01:00
Andras Bacsai
4f77228f4c fix(proxy): defer UI refresh until Traefik version check completes (#7783) 2025-12-27 15:18:44 +01:00
Andras Bacsai
367d7eeabc 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>
2025-12-27 15:16:58 +01:00
Andras Bacsai
b9ea89d528 fix(ui): make build pack UI reactivity work properly (#7780)
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-27 14:38:12 +01:00
Bill Yang
293482bcc0 Update Rybbit service images to v2.2.3 2025-12-26 18:16:03 -08:00
Andras Bacsai
ef1abe17b8 refactor(redirect): replace redirect calls with redirectRoute helper for consistency 2025-12-26 13:29:59 +01:00
Andras Bacsai
5d98847e49 feat(redirect): add redirectRoute helper for SPA navigation support 2025-12-26 13:29:59 +01:00
Andras Bacsai
a33dbb8a90 fix(ui): improve upgrade modal loading indicators visibility in light mode (#7770) 2025-12-26 13:20:31 +01:00
Andras Bacsai
41b3c71d02 fix(terminal): add sudo for non-root users to access Docker socket in terminal command 2025-12-26 11:49:02 +01:00
Claude
707bfacbcd fix(ui): improve upgrade modal loading indicators visibility in light mode
Change yellow loading indicators to black in light mode for better
visibility while keeping warning (yellow) color for dark mode.
2025-12-25 18:18:26 +00:00
Andras Bacsai
9a1020d5be fix(database): replace temporary file handling with base64 encoding for Keydb and Redis configuration 2025-12-25 18:17:42 +01:00
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
Andras Bacsai
c3ff32b287 fix(ui): broken hyperlink to sentinel page on server and application metrics page (#7752) 2025-12-23 20:37:40 +01:00
ShadowArcanist
1d1290c076 fix(ui): broken hyperlink to sentinel page on application metrics page 2025-12-23 18:46:07 +01:00
ShadowArcanist
d309ae12e6 fix(ui): broken hyperlink to sentinel page on server metrics page 2025-12-23 18:44:01 +01:00
Andras Bacsai
b7e0f5577d v4.0.0-beta.459 (#7750) 2025-12-23 15:40:27 +01:00
Andras Bacsai
85629c57d1 fix(sentinel): Add missing instantSave method and prevent duplicate notifications (#7749) 2025-12-23 15:36:30 +01:00
Andras Bacsai
8694ca2212 fix(template): superset version and postgres volume mount (#7662) 2025-12-23 15:35:31 +01:00
Andras Bacsai
6a326aa511 fix: add persistent storage for Dolibarr documents and custom modules (#7684) 2025-12-23 15:35:19 +01:00
Andras Bacsai
bb1ac3ad5c Fix/supabase studio update (#7711) 2025-12-23 15:35:04 +01:00
Andras Bacsai
f995426fb3 fix(sentinel): Add missing instantSave method and prevent duplicate notifications
- Add public instantSave() method to handle instant saves from checkbox clicks
- Remove redundant updatedIsMetricsEnabled() and updatedIsSentinelDebugEnabled() hooks
- These hooks were causing duplicate notifications when checkboxes were toggled

The instantSave attribute on checkboxes triggers wire:click='instantSave', which was failing
because the method didn't exist. Now it saves settings and restarts Sentinel in one action,
preventing the duplicate updates from both wire:click and wire:model events.

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-23 15:34:09 +01:00
Andras Bacsai
c98f947a0c fix: Update version numbers to 4.0.0-beta.459 and 4.0.0-beta.460 2025-12-23 15:22:39 +01:00
djeber
535f0afb73 Upgrade n8n and runners images to version 2.1.2 2025-12-23 09:11:58 +01:00
Tam Nguyen
ddcb22e468 deps: bump superset to 6.0.0 2025-12-21 12:02:19 +11:00
360Creators
eb7a37e933 Fix: CVE-2025-55182 React2shell infected supabase/studio:2025.06.02-sha-8f2993d 2025-12-19 16:51:39 +01:00
Andras Bacsai
f77a2674fc feat: Add manual Stripe subscription sync command (#7706) 2025-12-19 09:35:52 +01:00
Andras Bacsai
e6ed3130b5 feat(stripe): Add manual subscription sync command with dry-run support
Add cloud:sync-stripe-subscriptions command to manually check all
subscriptions against Stripe. By default it only reports discrepancies
without making changes. Use --fix flag to actually apply corrections.

This addresses race conditions where subscriptions can be cancelled in
Stripe but remain marked as active in Coolify's database.

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-19 09:34:39 +01:00
Andras Bacsai
41c979ae88 fix(deployment): Skip docker rm -f for builder containers with --rm flag (#7698) 2025-12-19 09:08:27 +01:00
Tam Nguyen
aabcb960aa feat(template): add mage-ai 2025-12-19 18:57:35 +11: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
c6c9d5a591 fix(deployment): Skip docker rm -f for builder containers with --rm flag
Builder containers are started with the --rm flag, which automatically removes them when stopped. The explicit docker rm -f is redundant and adds unnecessary steps to deployment logs.

This change adds a skipRemove parameter to graceful_shutdown_container() and sets it to true for builder container shutdowns (uuid-based) while keeping the default behavior for application containers.

Fixes #7566

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-18 19:36:54 +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