Commit Graph
35 Commits
Author SHA1 Message Date
Andras BacsaiandClaude Opus 5.5 3452faec87 fix(livewire): bind team broadcast listeners to the mounted team
Livewire rebuilds listener names from the session team on every event
call. After a team switch in another tab, open pages still listen on the
old team channel, so events failed with EventHandlerDoesNotExist (500),
or ran handlers that load resources scoped to the new team (404).

Store the team at mount and build team channel listeners from it. Events
for a team that is no longer the session team are ignored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 10:31:32 +02:00
Andras Bacsai 50913dc409 fix(livewire): refresh service config after required variable updates 2026-08-24 09:45:31 +02:00
Andras Bacsai be6ed4377d feat(ui): add resource details view (#9756) 2026-06-03 10:21:15 +02:00
Aditya Tripathi b9f773c1d9 fix(livewire): stop broadcast handlers from wiping in-progress form input 2026-05-20 19:04:43 +00:00
ShadowArcanist 3f88e85aac feat(ui): add resource details view 2026-04-23 14:53:31 +05:30
Andras BacsaiandClaude ce12c94709 fix: prevent duplicate services on image change and enable real-time UI refresh
This commit addresses two critical issues with Docker Compose service management:

## Issue 1: Duplicate Services Created on Image Change
When changing the image in a docker-compose file, the parser was creating new
ServiceApplication/ServiceDatabase records instead of updating existing ones.

**Root Cause**: The parsers used `firstOrCreate()` with `['name', 'image', 'service_id']`,
meaning any image change would create a new record.

**Fix**: Remove `image` from `firstOrCreate()` queries and update it separately after
finding or creating the service record.

**Changes**:
- `bootstrap/helpers/parsers.php` (serviceParser v3): Fixed in presave loop (lines 1188-1203)
  and main parsing loop (lines 1519-1539)
- `bootstrap/helpers/shared.php` (parseDockerComposeFile v2): Fixed null check logic
  (lines 1308-1348)

## Issue 2: UI Not Refreshing After Changes
When compose file or domain was modified, the Configuration component wasn't receiving
events to refresh its data, requiring manual page refresh to see updates.

**Root Cause**: The Configuration component wasn't listening for refresh events dispatched
by child components (StackForm, EditDomain).

**Fix**: Add event listeners and dispatchers to enable real-time UI updates.

**Changes**:
- `app/Livewire/Project/Service/Configuration.php`: Added listeners for `refreshServices`
  and `refresh` events (lines 36-37)
- `app/Livewire/Project/Service/EditDomain.php`: Added `refreshServices` dispatch (line 76)
- Note: `app/Livewire/Project/Service/StackForm.php` already had the dispatch

## Tests Added
- `tests/Unit/ServiceParserImageUpdateTest.php`: 4 tests verifying no duplicates created
- `tests/Unit/ServiceConfigurationRefreshTest.php`: 4 tests verifying event dispatching

All 8 new tests pass, and all existing unit tests continue to pass.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-14 10:12:36 +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 786bfa960f improvement(core): simplify events for app/db/service status changes 2025-05-19 21:50:32 +02:00
Andras Bacsai d8c3418e72 feat(Service): Add functionality to convert between applications and databases in docker-compose based applications
fix(ui): Fix service layout refresh on compose change
2025-04-29 14:27:17 +02:00
Andras Bacsai 40ad118492 fix(core): add server functionality check before dispatching container status 2025-02-22 12:51:22 +01:00
Andras Bacsai 6e802f43ba fix(core): update service status refresh event handling 2025-02-17 09:52:18 +01:00
Andras Bacsai c4a75f4b87 fix: service update statsu 2025-01-13 11:06:10 +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
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 b7748479d4 fix: service ui structure 2024-12-17 11:13:17 +01:00
Andras Bacsai 7fb1a1fc75 fix: use Auth(), add new db proxy stop event refactor clickhouse view 2024-11-04 14:18:16 +01:00
Andras Bacsai 5ec45d547a Merge branch 'next' into fix-#2546-deletion-issues 2024-09-18 18:05:06 +02:00
ayntk-ai d94e39ccc7 Feat: service confirmation 2024-09-03 16:59:51 +02:00
Andras Bacsai d586aa0377 fix: service ui sync bug 2024-08-29 13:00:43 +02:00
Andras Bacsai 9864d380a3 fix: sync fqdn change on the UI 2024-08-15 11:23:44 +02:00
Andras Bacsai 92ebc3f0c6 refactor 2024-08-05 20:08:37 +02:00
Thijmen d86274cc37 Fix styling 2024-06-10 20:43:34 +00:00
Andras Bacsai 15f304736f fix livewire bug 2024-05-24 13:55:04 +02:00
Andras Bacsai 317dc10af4 fix: improve scheduled task adding/removing 2024-05-14 15:19:28 +02:00
Andras Bacsai f6f959a897 feat: experimental sentinel 2024-05-07 15:41:50 +02:00
Andras Bacsai 45281360d5 fix: service config hash update 2024-04-12 13:15:24 +02:00
Andras Bacsai a8db40e99a feat: edit domains easier for compose 2024-04-11 15:42:37 +02:00
Andras Bacsai 9ad6ce5851 ui ui ui ui 2024-03-25 11:33:38 +01:00
Andras Bacsai c8d48ccbff fix: docker compose validation 2024-03-14 09:21:48 +01:00
Andras Bacsai 0aa85a3701 fix: service status updated 2024-03-04 08:57:18 +01:00
Andras Bacsai 5322d446bd fix: service container status updates 2024-03-01 10:36:32 +01:00
Andras Bacsai 1cbfd03912 fix: sentry fix 2024-01-31 13:46:40 +01:00
Andras Bacsai 7d754558b0 Fix branch selection and handle missing service 2024-01-24 12:26:14 +01:00
Andras Bacsai 4c3907c296 refactor routes 2024-01-07 16:23:41 +01:00