Commit Graph

3227 Commits

Author SHA1 Message Date
Andras Bacsai 19d1662fac Merge remote-tracking branch 'origin/next' into fix/preview-deployments-invisible 2026-03-10 09:44:31 +01:00
Andras Bacsai 5b701ebb07 refactor(application-source): use Laravel helpers for null checks
Replace is_null() and !is_null() with blank() and filled() helper functions
for better readability and Laravel idiomatic style.
2026-03-09 17:23:34 +01:00
Andras Bacsai 01aa534556 fix(application-source): support localhost key with id=0
Previously, the view checked $privateKeyId with ! operator, which
incorrectly treats 0 (localhost key) as falsy. Changed to explicit
is_null() checks to distinguish between null (no key) and 0 (localhost).
Added test coverage for both cases.
2026-03-09 17:20:33 +01:00
Andras Bacsai 380a34c7d6 Merge remote-tracking branch 'origin/next' into fix/preview-deployments-invisible 2026-03-06 08:03:45 +01:00
Andras Bacsai 8dfb393de0 chore(ui): add container labels header (#8752) 2026-03-05 14:19:00 +01:00
Cinzya 80be2628d0 chore(ui): add labels header 2026-03-03 20:57:03 +01:00
Andras Bacsai fb186841f4 fix(auth): resolve 419 session errors with domain-based access and Cloudflare Tunnels (#8749) 2026-03-03 12:37:47 +01:00
Andras Bacsai 0320d6a5b6 chore: prepare for PR 2026-03-03 12:37:06 +01:00
Andras Bacsai d3b8d70f08 fix(subscription): harden quantity updates and proxy trust behavior
Centralize min/max server limits in Stripe quantity updates and wire them into
Livewire subscription actions with price preview/update handling.

Also improve host/proxy middleware behavior by trusting loopback hosts when FQDN
is set and auto-enabling secure session cookies for HTTPS requests behind
proxies when session.secure is unset.

Includes feature tests for loopback trust and secure cookie auto-detection.
2026-03-03 12:28:16 +01:00
Andras Bacsai db6229f815 Merge remote-tracking branch 'origin/next' into subscription-refunds-cancellation 2026-03-03 10:40:30 +01:00
Andras Bacsai 43412a1a2a Merge remote-tracking branch 'origin/next' into subscription-refunds-cancellation 2026-03-01 14:39:34 +01:00
Andras Bacsai 9b7e2e15b0 Merge remote-tracking branch 'origin/next' into env-var-descriptions 2026-03-01 14:39:23 +01:00
Andras Bacsai 31555f9e8a fix(jobs): prevent non-due jobs firing on restart and enrich skip logs with resource links
- Refactor shouldRunNow() to only fire on first run (empty cache) if actually due by cron schedule, preventing spurious executions after cache loss or service restart
- Add enrichSkipLogsWithLinks() method to fetch and populate resource names and links for tasks, backups, and docker cleanup jobs in skip logs
- Update skip logs UI to display resource column with links to related resources, improving navigation and context
- Add fallback display when linked resources are deleted
- Expand tests to cover both restart scenarios: non-due jobs (should not fire) and due jobs (should fire)
2026-02-28 18:03:29 +01:00
Andras Bacsai 63be5928ab feat(scheduler): add pagination to skipped jobs and filter manager start events
- Implement pagination for skipped jobs display with 20 items per page
- Add pagination controls (previous/next buttons) to the scheduled jobs view
- Exclude ScheduledJobManager "started" events from run logs, keeping only "completed" events
- Add ShouldBeEncrypted interface to ScheduledTaskJob for secure queue handling
- Update log filtering to fetch 500 recent skips and slice for pagination
- Use Log facade instead of fully qualified class name
2026-02-28 16:23:58 +01:00
Andras Bacsai d9e39ba211 Merge remote-tracking branch 'origin/next' into env-var-descriptions 2026-02-28 00:09:54 +01:00
Andras Bacsai 8f2800a9e5 chore: prepare for PR 2026-02-26 18:22:03 +01:00
Andras Bacsai c93296e9a6 feat(healthcheck): add command-based health check support (#8612) 2026-02-25 12:09:59 +01:00
Andras Bacsai b88f9fca67 chore: prepare for PR 2026-02-25 12:07:29 +01:00
Andras Bacsai 609cb4190e fix(health-checks): sanitize and validate CMD healthcheck commands
- Add regex validation to restrict allowed characters (alphanumeric, spaces, and specific safe symbols)
- Enforce maximum 1000 character limit on healthcheck commands
- Strip newlines and carriage returns to prevent command injection
- Change input field from textarea to text input in UI
- Add warning callout about prohibited shell operators
- Add comprehensive validation tests for both valid and malicious command patterns
2026-02-25 11:28:33 +01:00
Aditya Tripathi 036f565785 Merge branch 'next' into feat/healthcheck-cmd 2026-02-24 22:22:02 +05:30
Andras Bacsai 279322d50f fix(input): prevent eye icon flash on password fields before Alpine.js loads (#8599) 2026-02-24 12:57:22 +01:00
Andras Bacsai 448e922e6c chore: prepare for PR 2026-02-24 12:56:54 +01:00
Andras Bacsai 2986d7604e chore: prepare for PR 2026-02-24 10:17:16 +01:00
Maurits de Ruiter 8cc10ab10a fix: enable preview deployment page for deploy key applications 2026-02-23 21:08:43 +01:00
Andras Bacsai 6cacd2f0ff chore: prepare for PR 2026-02-23 14:17:15 +01:00
Aditya Tripathi 04283a03a0 Merge branch 'next' into feat/healthcheck-cmd 2026-02-21 06:54:29 +05:30
Andras Bacsai 664b31212f chore: prepare for PR 2026-02-18 15:42:42 +01:00
Andras Bacsai 967d295963 chore: prepare for PR 2026-02-18 11:20:32 +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
Andras Bacsai c5afd8638e chore: prepare for PR 2026-02-09 15:24:24 +01:00
peaklabs-dev 807cb4349d feat(ui): use 2 column layout 2026-02-04 17:17:51 +01:00
peaklabs-dev 4dc1ae8bf5 feat(ui): add official postgres 18 support
- add postgres 18 support
- add pgvector 18 support
- add postgres 16 as well as it is still widely used
2026-02-04 00:32:30 +01:00
ShadowArcanist e57cc16b91 fix(validation): enforce url validation for instance domain (#8078) 2026-02-03 22:00:12 +01:00
Mailo 3a60561a34 fix(ui): horizontal overflow on application and service headings (#7970) 2026-01-19 19:27:19 +01:00
peaklabs-dev 7aa41675ab fix(ui): modal issues
- tooltips can not extend outside the modal causing a scrollbar to appear
- modals are to wide
- remove unused minWidth and maxWidth props
2026-01-19 18:19:35 +01:00
peaklabs-dev bd5696db1c fix(ui): make tooltips a bit wider 2026-01-19 18:17:12 +01:00
Andras Bacsai 95091e918f fix: optimize queries and caching for projects and environments 2026-01-16 11:51:26 +01:00
Aditya Tripathi 33d5879160 Merge branch 'next' into feat/healthcheck-cmd 2026-01-15 16:37:54 +05:30
ShadowArcanist 728396f410 fix(ui): improve volume mount warning for compose applications (#7947) 2026-01-13 20:40:00 +01:00
Dominic Schmid d4957ff3d1 feat(ui): improve sidebar menu items styling (#7928) 2026-01-12 23:09:56 +01:00
Dominic Schmid abd2df312c fix(ui): hide already registered button when there are 0 users (#7918) 2026-01-11 18:06:30 +01:00
Alexzvn a5537119b9 fix(ui): empty network destinations when cloning a resource (#7309) 2026-01-06 14:14:56 +01:00
peaklabs-dev 86ffef2df5 feat(ui): add port mapping format to helper and fix typo 2026-01-05 21:39:39 +01:00
Aleksander Lis 7c075551ff fix(log): preserve leading whitespace in logs (#7879) 2026-01-05 21:32:34 +01:00
Favour Chukwuedo 571bbe235d feat(ui): make git repository dropdown searchable (#7064)
Co-authored-by: 🏔️ Peak <122374094+peaklabs-dev@users.noreply.github.com>
2026-01-04 19:28:15 +01:00
Murat Aslan 4fa3c538bc fix(ui): change password visibility eye icon based on state (#7729) 2026-01-04 18:52:07 +01:00
ShadowArcanist cc3e39db1f feat(ui): show server name on resource card (#7417) 2026-01-04 17:19:01 +01:00
Andras Bacsai 796bb3a19d feat: Refactor service database management and backup functionalities
- Introduced a new sidebar component for service database navigation.
- Updated routes for database import and backup functionalities.
- Refactored the database import view to improve clarity and maintainability.
- Consolidated service application and database views into a more cohesive structure.
- Removed deprecated service application view and integrated its functionalities into the service index.
- Enhanced user experience with modal confirmations for critical actions.
- Improved code readability and organization across various components.
2026-01-02 16:29:48 +01:00
Andras Bacsai 360a82ec5d Merge branch 'next' into feat/servicedatabase-restore 2026-01-02 13:45:15 +01:00
Andras Bacsai b448b08058 fix: prevent metric charts from freezing on page navigation (#7848) 2026-01-02 13:13:45 +01:00