ShadowArcanist
9620455be0
Merge branch 'next' into shadow/fix-docker-time-command
2025-10-17 18:52:40 +05:30
Andras Bacsai
e2c254a5a8
Changes auto-committed by Conductor
2025-10-16 17:08:08 +02:00
Andras Bacsai
cdf6b5f161
Fix preview domain generation for services with multiple domains
...
When a docker compose service has multiple comma-separated domains, the
generate() method was only processing the first domain and truncating the rest.
The issue was that Url::fromString() can't parse comma-separated URLs - it only
parses the first one.
Fixed by:
1. Splitting comma-separated domains with explode(',', $domain_string)
2. Processing each domain individually in a foreach loop
3. Generating preview URLs for each domain using the same template/random/pr_id
4. Joining the results back with implode(',', $preview_fqdns)
This ensures all domains get properly transformed for preview deployments.
Example:
- Original: http://domain1.com,http://domain2.com
- Preview: http://57.domain1.com,http://57.domain2.com
- Before fix: http://57.domain1.com,http (truncated)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-16 13:10:29 +02:00
Andras Bacsai
db3514cd8e
Fix json_decode null handling in PreviewsCompose
...
Fixed three potential fatal errors where json_decode could return null:
1. save() method (lines 39-41): Added null coalescing to default to empty array,
and ensure service entry exists before writing domain
2. generate() method (line 56): Changed to use assoc flag consistently and
fallback to empty array
3. generate() method (lines 95-97): Same fix as save() - null coalescing and
service entry initialization
All json_decode calls now consistently:
- Use the assoc flag to return arrays (not objects)
- Fall back to empty array with ?: []
- Initialize service entry with ?? [] before writing
This prevents "Attempt to modify property of null" fatal errors.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-16 13:04:23 +02:00
Andras Bacsai
f77ad4cbd9
Complete Livewire legacy model binding migration (25+ components)
...
This completes the migration from Livewire's legacy `id="model.property"`
pattern to explicit properties with manual synchronization. This allows
disabling the `legacy_model_binding` feature flag.
**Components Migrated (Final Session - 9 components):**
- Server/Proxy.php (1 field)
- Service/EditDomain.php (1 field) - Fixed Collection/string bug & parent sync
- Application/Previews.php (2 fields - array handling)
- Service/EditCompose.php (4 fields)
- Service/FileStorage.php (6 fields)
- Service/Database.php (7 fields)
- Service/ServiceApplicationView.php (10 fields)
- Application/General.php (53 fields) - LARGEST migration
- Application/PreviewsCompose.php (1 field)
**Total Migration Summary:**
- 25+ components migrated across all phases
- 150+ explicit properties added
- 0 legacy bindings remaining (verified via grep)
- All wire:model, id, @entangle bindings updated
- All updater hooks renamed (updatedApplicationX → updatedX)
**Technical Changes:**
- Added explicit public properties (camelCase)
- Implemented syncData(bool $toModel) bidirectional sync
- Updated validation rules (removed model. prefix)
- Updated all action methods (mount, submit, instantSave)
- Fixed updater hooks: updatedBuildPack, updatedBaseDirectory, updatedIsStatic
- Updated Blade views (id & wire:model bindings)
- Applied Collection/string confusion fixes
- Added model refresh + re-sync pattern
**Critical Fixes:**
- EditDomain.php Collection/string confusion (use intermediate variables)
- EditDomain.php parent component sync (refresh + re-sync after save)
- General.php domain field empty (syncData at end of mount)
- General.php wire:model bindings (application.* → property)
- General.php updater hooks (wrong naming convention)
**Files Modified:** 34 files
- 17 PHP Livewire components
- 17 Blade view templates
- 1 MIGRATION_REPORT.md (documentation)
**Ready to disable legacy_model_binding flag in config/livewire.php**
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-13 15:38:59 +02:00
ShadowArcanist
b39690dfa2
Changed docker --time command to -t since --time is deprecated on v28
2025-10-09 13:26:10 +05:30
Andras Bacsai
ae64f8cb86
fix validation on a few views
2025-10-06 21:25:24 +02:00
Andras Bacsai
d63802e03d
feat(deployments): add log copying functionality to clipboard in dev
2025-10-02 18:34:39 +02:00
Andras Bacsai
1fe7df7e38
fix(git): trim whitespace from repository, branch, and commit SHA fields
...
- Add automatic trimming in Application model's boot method for git_repository, git_branch, and git_commit_sha fields
- Add real-time trimming in Source Livewire component via updated{Property} methods
- Refresh component state after save to ensure UI displays trimmed values
- Prevents deployment issues caused by accidental whitespace in git configuration
2025-09-30 12:33:40 +02:00
Andras Bacsai
a03c1b3b4b
refactor(dashboard): remove deployment loading logic and introduce DeploymentsIndicator component for better UI management
2025-09-30 11:43:30 +02:00
Andras Bacsai
708a08fdd6
fix(application): enhance domain handling by replacing both dots and dashes with underscores for HTML form binding
2025-09-25 13:19:12 +02:00
Andras Bacsai
4ce495d91e
Update app/Livewire/Project/Application/PreviewsCompose.php
...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-24 17:53:18 +02:00
Michael Engel
8ee4ddf489
fix(PreviewCompose): adds port to preview urls
2025-09-24 10:52:01 +02:00
Andras Bacsai
4fc62ea33f
Merge pull request #6496 from QarthO/fix/url-validation
...
fix(domains) url validation silently fails with surrounding whitespace
2025-09-22 12:49:43 +02:00
Andras Bacsai
9e8fb36bc8
feat(deployment): implement cancellation checks during deployment process to enhance user control and prevent unnecessary execution
2025-09-16 13:40:51 +02:00
Andras Bacsai
5b3b4bbc43
refactor(environment): remove 'is_build_time' attribute from environment variable handling across the application to simplify configuration
2025-09-11 16:51:56 +02:00
Andras Bacsai
501e6a2650
refactor(environment): standardize service name formatting by replacing '-' and '.' with '_' in environment variable keys
2025-09-11 13:59:02 +02:00
Andras Bacsai
0db2835565
fix(application): add functionality to stop and remove Docker containers on server
2025-09-11 12:39:28 +02:00
Andras Bacsai
a7671ed379
refactor(dns-validation): rename DNS validation functions for consistency and clarity, and remove unused code
2025-09-09 09:00:35 +02:00
Andras Bacsai
339118558c
feat(settings): add option to restrict PR deployments to repository members and contributors
2025-09-05 14:30:51 +02:00
QarthO
bfc8a25b72
move domain trimming before URL validation
2025-08-29 09:09:03 -04:00
Andras Bacsai
80499a03d8
feat(domains): implement domain conflict detection and user confirmation modal across application components
2025-08-28 10:52:41 +02:00
Andras Bacsai
e0aa28ba31
refactor(domains): rename check_domain_usage to checkDomainUsage and update references across the application
2025-08-28 10:00:19 +02:00
Andras Bacsai
2e85ce0e0e
refactor(urls): replace generateFqdn with generateUrl for consistent URL generation across applications
2025-08-28 09:49:58 +02:00
Andras Bacsai
63fcc0ebc3
feat(acl): Change views/backend code to able to use proper ACL's later on. Currently it is not enabled.
2025-08-26 10:27:38 +02:00
Andras Bacsai
6ef16f6170
fix(auth): enhance authorization checks in application management
2025-08-23 18:19:50 +02:00
Andras Bacsai
40f108d6e1
feat(auth): implement authorization checks for application management
2025-08-22 16:47:59 +02:00
Andras Bacsai
a6fc39e798
feat(git-settings): add support for shallow cloning in application settings
...
- Introduced a new boolean setting `is_git_shallow_clone_enabled` to the application settings model.
- Updated the `Advanced` component to include a checkbox for enabling shallow cloning.
- Modified the `setGitImportSettings` and `generateGitImportCommands` methods to handle shallow clone logic.
- Created a migration to add the new setting to the database schema.
- Enhanced the deployment process to utilize shallow cloning for improved performance.
2025-08-21 10:16:57 +02:00
Andras Bacsai
5c4a265542
refactor(validation): implement centralized validation patterns across components
...
- Introduced `ValidationPatterns` class to standardize validation rules and messages for various fields across multiple components.
- Updated components including `General`, `StackForm`, `Create`, and `Show` to utilize the new validation patterns, ensuring consistent validation logic.
- Enhanced error messages for required fields and added regex validation for names and descriptions to improve user feedback.
- Adjusted styling in the `create.blade.php` view for better visual hierarchy.
2025-08-19 14:15:31 +02:00
Andras Bacsai
460198bb05
fix(application): clear Docker Compose specific data when switching away from dockercompose
2025-08-18 11:31:14 +02:00
Andras Bacsai
970fd3d9e6
refactor(parsers): streamline domain handling in applicationParser and improve DNS validation logic
2025-08-12 10:07:11 +02:00
Andras Bacsai
e8892b3d29
feat(core): finally fqdn is fqdn and url is url. haha
2025-08-12 10:06:19 +02:00
Andras Bacsai
a0bc4dac55
fix(application): streamline environment variable updates for Docker Compose services and enhance FQDN generation logic
2025-08-12 10:06:19 +02:00
Andras Bacsai
5ddaf3a61f
fix(application): add option to suppress toast notifications when loading compose file
2025-07-18 23:22:24 +02:00
Andras Bacsai
039aa86321
fix(application): update service environment variables when generating domain for Docker Compose
2025-07-18 23:16:12 +02:00
Andras Bacsai
90ccaeba51
feat(application): implement environment variable updates for Docker Compose applications, including creation, updating, and deletion of SERVICE_FQDN and SERVICE_URL variables
2025-07-18 20:48:56 +02:00
Andras Bacsai
13f10028db
feat(previews): implement soft delete and cleanup for ApplicationPreview, enhancing resource management in DeleteResourceJob
2025-07-14 21:17:40 +02:00
Andras Bacsai
5bdf2e8481
refactor(previews): move preview domain generation logic to ApplicationPreview model for better encapsulation and consistency across webhook handlers
2025-07-14 19:12:57 +02:00
Andras Bacsai
a9e542bc4b
fix(previews): enhance domain generation logic for application previews, ensuring unique domains are created when none are set
2025-07-14 15:42:01 +02:00
Andras Bacsai
3bb28c29be
fix(application): sanitize service names for HTML form binding and ensure original names are stored in docker compose domains
2025-07-14 14:45:01 +02:00
Andras Bacsai
0b84792871
feat(deployment): add pull request filtering and pagination to deployment and backup execution components
...
fix(ui): make them more stylish yeah
2025-07-13 12:36:53 +02:00
Andras Bacsai
6d94aaf0f8
refactor(previews): streamline preview URL generation by utilizing application method
2025-07-07 13:14:45 +02:00
Andras Bacsai
3643a388bf
fix(github): changing github app breaks the webhook. it does not anymore
2025-06-21 19:28:38 +02:00
Andras Bacsai
1704a25a24
fix(previews): escape container names in stopContainers method to prevent shell injection vulnerabilities
2025-06-04 09:11:08 +02:00
Andras Bacsai
ff20cb0b7c
fix(application-configuration): prevent access to preview deployments for deploy_key applications and update menu visibility accordingly
2025-05-30 14:15:07 +02:00
Andras Bacsai
b0e33eb59d
fix(application-management): improve stop messages for application, database, and service to enhance clarity and formatting
2025-05-30 14:04:43 +02:00
Andras Bacsai
200b5cd4fb
refactor(service-management): enhance container stopping logic by implementing parallel processing and removing deprecated methods
2025-05-30 12:56:22 +02:00
Andras Bacsai
9f06e7193e
feat(previews): add force deploy without cache functionality and update deploy method to accept force rebuild parameter
2025-05-30 10:09:13 +02:00
Andras Bacsai
102bdb5bc3
refactor(application): enhance application stopping logic to support multiple servers
2025-05-26 21:44:34 +02:00
Andras Bacsai
be0453d9df
fix: Traefik start on new server validation
...
fix: Multiple server selection ui flow
2025-05-26 21:06:00 +02:00
peaklabs-dev
cb41670af9
refactor(ui): show toast when server does not work and on stop
2025-05-20 15:22:13 +02:00
Andras Bacsai
786bfa960f
improvement(core): simplify events for app/db/service status changes
2025-05-19 21:50:32 +02:00
Andras Bacsai
e062edb689
refactor(core): streamline container stopping process and reduce timeout duration; update related methods for consistency
2025-04-30 15:28:59 +02:00
Andras Bacsai
d47946a0ad
fix(ui): Disable livewire navigate feature (causing spam of setInterval())
2025-04-29 09:04:24 +02:00
Andras Bacsai
78ef80f800
refactor
2025-04-23 13:22:01 +02:00
Andras Bacsai
9e608f7ba5
refactor(http-basic-auth): rename 'http_basic_auth_enable' to 'http_basic_auth_enabled' across application files for consistency
2025-04-22 21:30:27 +02:00
Andras Bacsai
7e0373e439
Merge branch 'next' into feat/add-http-basic-auth
2025-04-22 21:18:43 +02:00
Andras Bacsai
cd2f71b463
feat(deployment): add repository_project_id handling for private GitHub apps and clean up unused Caddy label logic
2025-04-22 10:20:57 +02:00
Christopher Kaster
2634f516d5
feat: Add HTTP Basic Authentication
2025-04-17 14:14:32 +02:00
Andras Bacsai
4c95dccfb3
refactor(SourceManagement): sort sources by name and improve UI for changing Git source with better error handling
2025-04-11 20:25:25 +02:00
Andras Bacsai
ec36825545
feat(SourceManagement): add functionality to change Git source and display current source in the application settings
2025-04-11 18:22:42 +02:00
Andras Bacsai
d075241289
feat(Deployment): enhance queue_application_deployment to handle existing deployments and return appropriate status messages
2025-04-11 15:27:56 +02:00
Andras Bacsai
68bd945b09
refactor(Application): rename network_aliases to custom_network_aliases across the application for clarity and consistency
2025-04-09 08:42:50 +02:00
Andras Bacsai
f8607ddf6a
Merge branch 'next' into docker-network-aliases
2025-04-08 13:27:59 +02:00
Andras Bacsai
3176106222
fix(CheckProxy, Status): prevent proxy checks when force_stop is active; remove debug statement in General
2025-04-05 14:32:51 +02:00
Andras Bacsai
fcfd00eebe
feat(application): add SPA configuration and update Nginx generation logic
2025-03-31 15:10:50 +02:00
Andras Bacsai
806d892031
refactor(application): streamline healthcheck parsing from Dockerfile
2025-03-24 11:43:10 +01:00
Andras Bacsai
b8f99bbda0
fix(core): redirect healthcheck route for dockercompose applications
2025-03-17 11:28:43 +01:00
Piotr Wójcik
0baeaa982b
Merge branch 'next' into docker-network-aliases
2025-03-16 14:50:26 +01:00
Andras Bacsai
a25e2072d3
fix(deployment): improve server selection for deployment cancellation
...
- Add fallback for build server and deployment server selection
- Use `ownedByCurrentTeam()` scope when finding servers
- Handle cases where server IDs might be null
2025-02-12 10:51:26 +01:00
Andras Bacsai
e9fd2d8d6f
feat(core): add dynamic label reset for application settings
2025-01-28 13:38:26 +01:00
Andras Bacsai
fddaf9134d
fix: disable certain parts if readonly label is turned off
2025-01-27 14:05:18 +01:00
peaklabs-dev
ec9f8de873
fix(labels): generate labels when they are empty not when they are already generated
2025-01-23 14:57:18 +01:00
peaklabs-dev
cc640ad710
fix(labels): docker labels do not generated correctly
2025-01-23 12:42:53 +01:00
Andras Bacsai
4b74ca56c3
feat(core): wip version of coolify.json
2025-01-21 14:09:12 +01:00
Andras Bacsai
55d61ffaee
fix: add finished_at to app deployment jobs
...
fix: show deployment job running measurements
fix: terminal should not be wire:navigated
2025-01-16 12:05:59 +01:00
Andras Bacsai
23e7463a40
refactor: update redirect calls to use a consistent navigation method in deployment functions
2025-01-16 11:14:04 +01:00
Andras Bacsai
6a8cc0f80d
Merge branch 'next' into fix-cloning
2025-01-14 08:50:22 +01:00
Andras Bacsai
a396d51452
Merge branch 'next' into hotfix
2025-01-10 20:23:29 +01:00
Andras Bacsai
02400added
fix: horizon job checker
2025-01-10 18:27:48 +01:00
Andras Bacsai
765e1ea04b
feat: add horizon server details to queue
2025-01-10 15:39:22 +01:00
peaklabs-dev
3d4e8b9867
chore: switch up readonly lables to make more sense
2025-01-08 17:05:11 +01:00
Andras Bacsai
1fe4dd722b
Revert "rector: arrrrr"
...
This reverts commit 16c0cd10d8 .
2025-01-07 15:31:43 +01:00
Andras Bacsai
16c0cd10d8
rector: arrrrr
2025-01-07 14:52:08 +01:00
Piotr Wojcik
9acde06795
Custom network aliases for Dockerfile and Docker Image apps
2025-01-05 07:47:57 +01:00
Andras Bacsai
9e3467578f
feat: add environment_uuid support and update API documentation
...
- Introduced `environment_uuid` as a required field in various API endpoints and schemas.
- Updated descriptions to clarify that either `environment_name` or `environment_uuid` must be provided.
- Modified routes and controller methods to accommodate the new UUID parameter.
- Adjusted frontend components to utilize `environment_uuid` for better consistency and clarity.
- Removed deprecated fields related to environment handling.
This change enhances the API's flexibility in identifying environments, improving overall usability.
2024-12-17 13:42:16 +01:00
Andras Bacsai
bf9d89f279
Merge branch 'next' into fix-environement-route
2024-12-17 12:17:50 +01:00
Andras Bacsai
38256af9b3
fix: refactor database view
2024-12-17 12:10:55 +01:00
Andras Bacsai
2a9d499251
feat: migrate env variables to polymorphic relationship
...
fix: proxy status query ui
2024-12-17 10:38:42 +01:00
Andras Bacsai
e76817d401
improve application view
2024-12-16 14:11:45 +01:00
Andras Bacsai
acf10f39f3
fix: compose loading seq
2024-12-16 10:19:11 +01:00
Andras Bacsai
e67a93e6a5
feat: able to deploy without cache on every commit
2024-12-05 10:46:27 +01:00
Andras Bacsai
869eaedaf5
revert query logic
2024-12-03 14:02:12 +01:00
Andras Bacsai
d7703efcdc
optimize db query
2024-12-02 13:12:25 +01:00
Andras Bacsai
0d6c21d77b
fix: application view loading
2024-11-27 08:07:54 +01:00
Andras Bacsai
3b427dbbdc
fix: heading
2024-11-23 20:44:27 +01:00
peaklabs-dev
277fd78769
new uuid routes
2024-11-22 16:03:20 +01:00
peaklabs-dev
5a8bff5e96
Update Heading.php
2024-11-22 15:53:11 +01:00
peaklabs-dev
9630efce67
uuid deplyment
2024-11-22 15:52:36 +01:00
Andras Bacsai
7dc65dfd79
fix: make sure important jobs/actions are running on high prio queue
2024-11-22 11:16:01 +01:00