Commit Graph

14581 Commits

Author SHA1 Message Date
Andras Bacsai f0e93eadde chore: prepare for PR 2026-02-18 14:22:35 +01:00
Andras Bacsai ab79a51e29 fix(api): improve scheduled tasks API with auth, validation, and execution endpoints
- Add authorization checks ($this->authorize) for all read/write operations
- Use customApiValidator() instead of Validator::make() to match codebase patterns
- Add extra field rejection to prevent mass assignment
- Use Application::ownedByCurrentTeamAPI() for consistent query patterns
- Remove non-existent standalone_postgresql_id from hidden fields
- Add execution listing endpoints for both applications and services
- Add ScheduledTaskExecution OpenAPI schema
- Use $request->only() instead of $request->all() for safe updates
- Add ScheduledTaskFactory and feature tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 11:53:58 +01:00
Andras Bacsai 301282a9ad Merge branch 'pr-8395' into 8394-scheduled-task-missing 2026-02-18 11:46:34 +01:00
Andras Bacsai ce2045d28f feat(services): add Spacebot service with custom logo support (#8427) 2026-02-18 11:21:12 +01:00
Andras Bacsai 967d295963 chore: prepare for PR 2026-02-18 11:20:32 +01:00
Andras Bacsai b49069f3fc feat(docker): install PHP sockets extension in development environment
Add socket.io/php-socket dependency to support WebSocket functionality
in the development container. Also update package-lock.json to reflect
peer dependency configurations for Socket.IO packages.
2026-02-18 11:04:10 +01:00
Ahmed 2b913a1c35 feat(api): add update endpoints for scheduled tasks in applications and services 2026-02-17 02:18:08 +03:00
Ahmed a5d48c54da feat(api): add delete endpoints for scheduled tasks in applications and services 2026-02-17 01:33:46 +03:00
Ahmed edc92d7edc feat(api): add OpenAPI for managing scheduled tasks for applications and services 2026-02-17 00:56:40 +03:00
Ahmed 8c6c2703cc feat: expose scheduled tasks to API 2026-02-16 22:26:58 +03:00
Andras Bacsai 84f62c78db fix(service): glitchtip webdashboard doesn't load (#8249) 2026-02-16 14:42:36 +01:00
Andras Bacsai 766355b9ac test: migrate to SQLite :memory: and add Pest browser testing (#8364) 2026-02-16 14:41:54 +01:00
peaklabs-dev 25ccde83fa fix(api): add a newline to openapi.json 2026-02-16 00:04:05 +01:00
Andras Bacsai f05b7106cf chore: prepare for PR 2026-02-15 14:19:02 +01:00
Andras Bacsai b566889782 merge fix 2026-02-15 14:14:23 +01:00
Andras Bacsai 211ab37045 refactor(ssh-retry): remove Sentry tracking from retry logic
Remove the trackSshRetryEvent() method and its invocation from the SSH retry
flow. This simplifies the retry mechanism and reduces external dependencies for
retry handling.
2026-02-15 14:14:23 +01:00
Andras Bacsai da0e06a97e chore: prepare for PR 2026-02-15 14:14:23 +01:00
Andras Bacsai 1519666d4c chore: prepare for PR 2026-02-15 14:14:23 +01:00
Andras Bacsai b40926e915 chore: prepare for PR 2026-02-15 14:14:23 +01:00
Andras Bacsai 4a40009020 chore: prepare for PR 2026-02-15 14:14:23 +01:00
Andras Bacsai ce29dce9e7 chore: prepare for PR 2026-02-15 14:14:23 +01:00
Andras Bacsai 76a770911c fix(server): improve IP uniqueness validation with team-specific error messages
- Refactor server IP duplicate detection to use `first()` instead of `get()->count()`
- Add team-scoped validation to distinguish between same-team and cross-team IP conflicts
- Update error messages to clarify ownership: "already exists in your team" vs "in use by another team"
- Apply consistent validation logic across API, boarding, and server management flows
- Add comprehensive test suite for IP uniqueness enforcement across teams
2026-02-15 14:14:23 +01:00
Andras Bacsai 5d54bc1c96 fix(sentry): use withScope for SSH retry event tracking (#8363) 2026-02-15 14:00:41 +01:00
Andras Bacsai c3f0ed3098 refactor(ssh-retry): remove Sentry tracking from retry logic
Remove the trackSshRetryEvent() method and its invocation from the SSH retry
flow. This simplifies the retry mechanism and reduces external dependencies for
retry handling.
2026-02-15 14:00:27 +01:00
Andras Bacsai ced1938d43 chore: prepare for PR 2026-02-15 13:48:01 +01:00
Andras Bacsai b9e6c12e8d fix(database): disable proxy on port allocation failure (#8362) 2026-02-15 13:47:37 +01:00
Andras Bacsai b7480fbe38 chore: prepare for PR 2026-02-15 13:46:08 +01:00
Andras Bacsai 4a0426ef88 fix(push-server-job): skip containers with empty service subId (#8361) 2026-02-15 13:43:54 +01:00
Andras Bacsai 6d9dbb4ba1 fix(jobs): handle queue timeouts gracefully in Horizon (#8360) 2026-02-15 13:43:23 +01:00
Andras Bacsai e9323e3550 chore: prepare for PR 2026-02-15 13:43:08 +01:00
Andras Bacsai a34d1656f4 chore: prepare for PR 2026-02-15 13:42:58 +01:00
Andras Bacsai b0eabeaed3 fix(jobs): initialize status variable in checkHetznerStatus (#8359) 2026-02-15 13:29:14 +01:00
Andras Bacsai 1b2c03fc2d chore: prepare for PR 2026-02-15 13:28:52 +01:00
Andras Bacsai 4ec32290cf fix(server): improve IP uniqueness validation with team-specific error messages
- Refactor server IP duplicate detection to use `first()` instead of `get()->count()`
- Add team-scoped validation to distinguish between same-team and cross-team IP conflicts
- Update error messages to clarify ownership: "already exists in your team" vs "in use by another team"
- Apply consistent validation logic across API, boarding, and server management flows
- Add comprehensive test suite for IP uniqueness enforcement across teams
2026-02-12 08:10:59 +01:00
Andras Bacsai 6dea1ab0f3 test: add dashboard test and improve browser test coverage
- Add DashboardTest with tests for project/server visibility
- Add screenshots to existing browser tests for debugging
- Skip onboarding in dev mode for faster testing
- Update gitignore to exclude screenshot directories
2026-02-11 16:37:40 +01:00
Andras Bacsai 47a3f2e2cd test: add Pest browser testing with SQLite :memory: schema
Set up end-to-end browser testing using Pest Browser Plugin + Playwright.
New v4 test suite uses SQLite :memory: database with pre-generated schema dump
(database/schema/testing-schema.sql) instead of running migrations, enabling
faster test startup.

- Add pestphp/pest-plugin-browser dependency
- Create GenerateTestingSchema command to export PostgreSQL schema to SQLite
- Add .env.testing configuration for isolated test environment
- Implement v4 test directory structure (Feature, Browser, Unit tests)
- Update Pest skill documentation with browser testing patterns, API reference,
  debugging techniques, and common pitfalls
- Configure phpunit.xml and tests/Pest.php for v4 suite
- Update package.json and docker-compose.dev.yml for testing dependencies
2026-02-11 15:25:47 +01:00
ShadowArcanist 13af867341 fix(service): glitchtip webdashboard doesn't load 2026-02-10 11:22:57 +05:30
Andras Bacsai 0c19464db1 feat(service): add sure (#8157) 2026-02-09 17:01:11 +01:00
Andras Bacsai 1a6972bf89 feat(service): disable maybe (#8167) 2026-02-09 17:00:49 +01:00
Andras Bacsai 7589d5699f fix(ui): fix datalist border color and add repository selection watcher (#8240) 2026-02-09 15:25:35 +01:00
Andras Bacsai c5afd8638e chore: prepare for PR 2026-02-09 15:24:24 +01:00
Andras Bacsai bc97208404 fix(api-docs): use proper schema references for environment variable endpoints (#8239) 2026-02-09 14:50:07 +01:00
Andras Bacsai 95e93ad899 chore: prepare for PR 2026-02-09 14:48:16 +01:00
Andras Bacsai 7056f85f81 docs: add Coolify design system reference (#8237) 2026-02-09 14:34:27 +01:00
Andras Bacsai 70f5fa5ca5 Merge remote-tracking branch 'origin/next' into coolify-design-docs 2026-02-09 14:34:04 +01:00
Andras Bacsai 4c56b47cfc fix(docs): update documentation link for Openclaw service 2026-02-09 12:35:36 +01:00
Andras Bacsai 63a1c5c0c7 feat(openclaw): add Openclaw service with environment variables and health checks
- Implemented Openclaw service in Service.php to manage environment variables and passwords.
- Added Openclaw SVG icon for branding.
- Created openclaw.yaml for Docker Compose configuration, including necessary environment variables and volume mappings.
- Updated service-templates-latest.json and service-templates.json to include Openclaw service details and metadata.
2026-02-09 12:33:17 +01:00
Andras Bacsai 3a00984593 cleanup AI instructions 2026-02-09 10:52:15 +01:00
Andras Bacsai 710a3ad958 fix: stop database proxy when is_public changes to false (#8138) 2026-02-09 10:11:29 +01:00
Andras Bacsai 5dde97dac2 Merge branch 'next' into 8035-public-port-stays-open 2026-02-09 10:00:06 +01:00