Commit Graph

14097 Commits

Author SHA1 Message Date
Andras Bacsai 5f33ad74b5 fix: show shared env scopes dropdown even when no variables exist (#7342) 2025-11-26 09:47:40 +01:00
Andras Bacsai 118966e810 fix: show shared env scopes dropdown even when no variables exist
Previously, when no shared environment variables existed in any scope (team, project, environment), the dropdown would not appear at all when users typed '{{'. This made the feature appear broken.

Now the dropdown always shows the available scopes, and when a user selects a scope with no variables, they see a helpful "No shared variables found in {scope} scope" message with a link to add variables.

Changes:
- Removed isAutocompleteDisabled() method that blocked dropdown
- Removed early return check that prevented showing scopes
- Existing empty state handling already works correctly

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 09:44:36 +01:00
Andras Bacsai 413a0507fa feat: developer view for shared environment variables (#7091) 2025-11-26 09:41:33 +01:00
Andras Bacsai e71473d96c refactor: fix variable scope in docker entrypoint parsing (#7341) 2025-11-26 09:40:40 +01:00
Andras Bacsai c472786f6f Merge branch 'next' into feat/shared-dev-view 2025-11-26 09:37:45 +01:00
Andras Bacsai ac14a32723 fix: dispatch success message after transaction commits
Move the success dispatch outside the DB transaction closure to ensure
it only fires after the transaction has successfully committed. Use
reference variable to track changes across the closure boundary.
2025-11-26 09:37:18 +01:00
Andras Bacsai f3abc4a29f refactor: fix variable scope in docker entrypoint parsing
Improve variable initialization consistency in convertDockerRunToCompose()
function to match established patterns used for --gpus and --hostname.

Changes:
- Add explicit $value = null initialization in --entrypoint block
- Simplify conditional check from isset($value) to $value check
- Maintain semantic equivalence with zero behavior changes

This refactoring eliminates potential undefined variable warnings and
improves code maintainability by following the defensive pattern used
elsewhere in the file.

Also fixes namespace for RestoreDatabase command from App\Console\Commands
to App\Console\Commands\Cloud to match file location and prevent class
redeclaration errors.

Tests: All 20 tests in DockerCustomCommandsTest pass (25 assertions)
2025-11-26 09:32:09 +01:00
Andras Bacsai 1d277f28dd feat: custom docker entrypoint (#7097) 2025-11-26 09:31:02 +01:00
Andras Bacsai 790e728619 fix: preserve Docker build cache by excluding dynamic variables (#7339) 2025-11-26 09:22:53 +01:00
Andras Bacsai 4e896cca05 fix: preserve Docker build cache by excluding dynamic variables from build-time contexts
- Remove COOLIFY_CONTAINER_NAME from build-time ARGs (timestamp-based, breaks cache)
- Use APP_KEY instead of random_bytes for COOLIFY_BUILD_SECRETS_HASH (deterministic)
- Add forBuildTime parameter to generate_coolify_env_variables() to control injection
- Keep COOLIFY_CONTAINER_NAME available at runtime for container identification
- Fix misleading log message about .env file purpose

Fixes #7040

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 09:16:32 +01:00
Andras Bacsai 6f0110cf3f v4.0.0-beta.448 (#7334) 2025-11-25 17:08:11 +01:00
Andras Bacsai f460bb63cc feat: update version numbers to 4.0.0-beta.448 and 4.0.0-beta.449 2025-11-25 17:06:37 +01:00
Andras Bacsai 55d0671612 feat: create migration for webhook notification settings and cloud init scripts tables 2025-11-25 17:06:16 +01:00
Andras Bacsai 813afc0662 v4.0.0-beta.447 (#7332) 2025-11-25 16:44:10 +01:00
Andras Bacsai 9113ed714f feat: add validation methods for S3 bucket names, paths, and server paths; update import logic to prevent command injection 2025-11-25 16:40:35 +01:00
Andras Bacsai 6c030d96f2 fix: correct webhook notification settings migration and model (#7333) 2025-11-25 15:41:54 +01:00
Andras Bacsai 3bdcc06838 fix: prevent overwriting existing webhook notification settings during migration 2025-11-25 15:40:45 +01:00
Andras Bacsai 477738dd2f fix: update webhook notification settings migration to use updateOrInsert and add logging 2025-11-25 15:35:01 +01:00
Andras Bacsai a3df33a4e0 fix: correct webhook notification settings migration and model
- Add missing traefik_outdated_webhook_notifications field to migration schema and population logic
- Remove incorrect docker_cleanup_webhook_notifications from model (split into success/failure variants)
- Consolidate webhook notification migrations from 2025_10_10 to 2025_11_25 for proper execution order
- Ensure all 15 notification fields are properly defined and consistent across migration, model, and Livewire component

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 15:18:43 +01:00
Andras Bacsai 17f4b126b1 feat: add environment variable autocomplete component (#7282) 2025-11-25 11:22:00 +01:00
Andras Bacsai 6613f7c6b8 Merge branch 'next' into env-var-autocomplete 2025-11-25 11:21:53 +01:00
Andras Bacsai 92dff0c0c7 fix: prevent divide-by-zero in env-var autocomplete navigation
Fixes a critical bug in the environment variable autocomplete component
where arrow key navigation could cause divide-by-zero errors when the
suggestions array is empty.

Changes:
- Add early guard in handleKeydown to check for empty suggestions array
  before performing modulo operations
- Remove unreachable "No suggestions" template that could never display
- Add validation to hide dropdown when user types third brace ({{{)
- Refactor add.blade.php to use @if directives instead of x-show for
  better performance and cleaner code

The fix ensures arrow keys do nothing when suggestions are empty,
preventing JavaScript errors while maintaining all existing functionality
including the scoped empty state messages with helpful links.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 10:55:37 +01:00
Andras Bacsai c239bc708d feat: S3 restore (#7085) 2025-11-25 10:31:50 +01:00
Andras Bacsai 875351188f feat: improve S3 restore path handling and validation state
- Add path attribute mutator to S3Storage model ensuring paths start with /
- Add updatedS3Path hook to normalize path and reset validation state on blur
- Add updatedS3StorageId hook to reset validation state when storage changes
- Add Enter key support to trigger file check from path input
- Use wire:model.live for S3 storage select, wire:model.blur for path input
- Improve shell escaping in restore job cleanup commands
- Fix isSafeTmpPath helper logic for directory validation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 10:18:30 +01:00
Andras Bacsai 4147cfa537 refactor: use Laravel route() helper for shared variable URLs
- Replace hardcoded URL paths in getScopeUrl() with Laravel's route() helper
- Add scopeUrls property to EnvVarInput component with named routes
- Pass projectUuid and environmentUuid to enable context-specific environment links
- Environment scope link now navigates to the specific project/environment shared variables page

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 10:12:17 +01:00
Andras Bacsai 6d8144c18c Merge remote-tracking branch 'origin/next' into s3-restore
Resolve merge conflicts in:
- bootstrap/helpers/shared.php (kept both formatBytes, isSafeTmpPath, and formatContainerStatus functions)
- database/migrations/2025_10_10_120002_create_cloud_init_scripts_table.php (added Schema::hasTable check)
- database/migrations/2025_10_10_120002_create_webhook_notification_settings_table.php (added Schema::hasTable check)
- resources/views/livewire/project/application/general.blade.php (formatting/whitespace)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 09:35:37 +01:00
Andras Bacsai 01d3f07934 Merge branch 'next' into env-var-autocomplete 2025-11-25 09:35:20 +01:00
Andras Bacsai 99e8aeb6f8 fix: update coolify version to 4.0.0-beta.447 and nightly version to 4.0.0-beta.448 2025-11-25 09:34:43 +01:00
Andras Bacsai 071f158e37 v4.0.0-beta.445 (#7321) 2025-11-24 15:18:04 +01:00
Andras Bacsai c0ee56d987 fix: handle migration rename errors for v444→v445 upgrades (#7320) 2025-11-24 15:13:49 +01:00
Andras Bacsai e930005a50 fix: handle existing webhook_notification_settings table in migration
Similar to cloud_init_scripts, this migration was renamed from 120000 to
120002 between v444 and v445, causing "duplicate table" errors for users
upgrading who already have the webhook_notification_settings table created.

Added table existence check before creation for idempotency.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:12:14 +01:00
Andras Bacsai 8d3a564cfe fix: update coolify version to 4.0.0-beta.446 and nightly version to 4.0.0-beta.447 2025-11-24 15:10:31 +01:00
Andras Bacsai 2335bfad8f fix: handle existing cloud_init_scripts table in migration
The migration file was renamed from 120000 to 120002 between v444 and v445,
causing "duplicate table" errors for users upgrading from v444 who already
have the cloud_init_scripts table created.

This fix adds a table existence check before creation, making the migration
idempotent and safe for both fresh installations and upgrades.

Fixes the error: SQLSTATE[42P07]: Duplicate table: 7 ERROR: relation
"cloud_init_scripts" already exists

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:08:41 +01:00
Andras Bacsai 006c4e5ba4 v4.0.0-beta.445 (#7257) 2025-11-24 13:50:38 +01:00
Andras Bacsai 9af4f734aa fix: update sentinel version to 0.0.18 2025-11-24 13:50:03 +01:00
Andras Bacsai be83c7ae08 feat(service): add Opnform template (#5875) 2025-11-24 13:02:59 +01:00
Andras Bacsai 56e4164ab2 feat(service): add newt-pangolin template (#6259) 2025-11-24 13:02:42 +01:00
Andras Bacsai 1235a87e5a Fix: Codimd Service docker-compose (#7096) 2025-11-24 13:02:21 +01:00
Andras Bacsai 767da75154 Fix mosquitto.yaml (#7129) 2025-11-24 13:02:07 +01:00
Andras Bacsai 1e0310e2f4 Fix(Documenso): Resolve pending status issue for Documenso deployments (fixes #1767 (#7145) 2025-11-24 13:01:47 +01:00
Andras Bacsai 9a3b522711 Tailscale template (#7154) 2025-11-24 13:01:23 +01:00
Andras Bacsai 199661b5e4 fixes: default template of Redis Insight (#7176) 2025-11-24 13:00:54 +01:00
Andras Bacsai c96131c4de feat: add palworld service (#7206) 2025-11-24 13:00:18 +01:00
Andras Bacsai c2d2bc74fc fix(service): Ghost using invalid base url (#7233) 2025-11-24 12:59:46 +01:00
Andras Bacsai 3709b8c498 chore(n8n): upgrade n8n image version to 1.119.2 in compose templates (#7236) 2025-11-24 12:59:31 +01:00
Andras Bacsai d78e9d9b86 fix(service): netbird client showing wrong host details (#7237) 2025-11-24 12:58:39 +01:00
Andras Bacsai 568d9fab4b fix(service): plausible compose parsing error (#7244) 2025-11-24 12:57:57 +01:00
Andras Bacsai 97e10dfbf1 Add Persistent Volumes for Themes, Extensions, and Storage in Paymenter (#7304) 2025-11-24 12:57:34 +01:00
Andras Bacsai e0dc12678b fix: comprehensive SERVICE_URL/SERVICE_FQDN handling improvements and queue reliability fixes (#7275) 2025-11-24 11:47:11 +01:00
Andras Bacsai bf428a0e1c fix: don't show health status for exited containers (#7317) 2025-11-24 10:29:57 +01:00