Commit Graph
15009 Commits
Author SHA1 Message Date
Andras Bacsai f68793ed69 feat(jobs): optimize async job dispatches and enhance Stripe subscription sync
Reduce unnecessary job queue pressure and improve subscription sync reliability:

- Cache ServerStorageCheckJob dispatch to only trigger on disk percentage changes
- Rate-limit ConnectProxyToNetworksJob to maximum once per 10 minutes
- Add progress callback support to SyncStripeSubscriptionsJob for UI feedback
- Implement bulk fetching of valid Stripe subscription IDs for efficiency
- Detect and report resubscribed users (same email, different customer ID)
- Fix CleanupUnreachableServers query operator (>= 3 instead of = 3)
- Improve empty subId validation in PushServerUpdateJob
- Optimize relationship access by using properties instead of query methods
- Add comprehensive test coverage for all optimizations
2026-02-28 13:18:44 +01:00
Jason Trudeau 92cf88070c Add files via upload
Uploaded:

/templates/compose/n8n-with-postgres-and-worker.yaml
/templates/compose/n8n.yaml
/templates/compose/n8n-with-postgresql.yaml
2026-02-27 22:41:52 -05:00
Andras Bacsai d9e39ba211 Merge remote-tracking branch 'origin/next' into env-var-descriptions 2026-02-28 00:09:54 +01:00
Andras Bacsai a565fc3b36 fix(rollback): escape commit SHA to prevent shell injection
Properly escape commit SHA using escapeshellarg() before passing it
to shell commands. Add comprehensive tests for git commit rollback
scenarios including shallow clone, fallback behavior, and HEAD handling.
2026-02-27 23:26:31 +01:00
Andras Bacsai 530037c213 Merge remote-tracking branch 'origin/next' into fix/rollback-uses-correct-commit 2026-02-27 23:24:08 +01:00
Brendan G. Lim 040658c142 fix: address review feedback on proxy timeout
- Fix disable logic: timeout editable when proxy is stopped
- Remove hardcoded proxy_connect_timeout (60s is nginx default)
- Remove misleading '0 for no timeout' helper text
- Add min:1 validation for timeout value
2026-02-27 14:24:04 -08:00
Cinzya 34c5eb9e10 fix(proxy): mounting error for nginx.conf in dev 2026-02-27 22:07:37 +01:00
Andras Bacsai 6b2a669cb9 docs(sponsors): add huge sponsors section and reorganize list
- Create new "Huge Sponsors" section with SerpAPI
- Move SerpAPI from Small Sponsors to Huge Sponsors
- Replace Dade2 with Darweb
- Add Greptile and MVPS as new sponsors
2026-02-27 22:03:54 +01:00
Taras Machyshyn a2540bd233 Admin password 2026-02-27 20:42:20 +02:00
Taras Machyshyn 30e65abf1b Added EspoCRM 2026-02-27 20:23:24 +02:00
Andras Bacsai ce6859648a fix(ssh): automatically fix SSH directory permissions during upgrade (#8635) 2026-02-27 14:45:29 +01:00
shafeq d5a46f577d fix: prevent scheduled task input fields from losing focus
Remove the ServiceChecked event listener that triggered a full
component re-render every 10 seconds via the heading's wire:poll.
The heading component already handles status display independently,
so the task edit form does not need to re-render on status checks.

Fixes #8647
2026-02-27 19:07:28 +08:00
Brendan G. Lim 30c1d9bbd0 feat: add configurable timeout for public database TCP proxy
Adds a per-database 'Proxy Timeout' setting for publicly exposed databases.
The nginx stream proxy_timeout can now be configured in the UI, defaulting
to 3600s (1 hour) instead of nginx's 10min default. Set to 0 for no timeout.

Fixes #7743
2026-02-26 21:12:58 -08:00
W8jonas 7c5a6bc96c Fix wrong destination issue on create_service 2026-02-26 23:15:18 -03:00
W8jonas bf6b3b8c71 Fix wrong destination issue on create_application 2026-02-26 23:15:04 -03:00
Andras Bacsai 8f2800a9e5 chore: prepare for PR 2026-02-26 18:22:03 +01:00
Andras Bacsai 2b7e2ebafb chore: prepare for PR 2026-02-26 16:27:02 +01:00
Diogo Carvalho 34e9f97b79 Fix logo format 2026-02-25 23:48:15 +00:00
Diogo Carvalho 1a8441b230 Rename speedtest to librespeed 2026-02-25 23:28:20 +00:00
Diogo Carvalho e9c980d3d5 Add logo 2026-02-25 23:25:08 +00:00
Diogo Carvalho 907b3d04c1 Add speedtest service 2026-02-25 23:22:38 +00:00
🏔️ Peak d29a9a2802 chore: improve pr template and quality check workflow (#8574) 2026-02-25 19:08:07 +01:00
peaklabs-dev 6d46518098 ci: add anti-slop v0.2 options to the pr-quality check 2026-02-25 19:04:26 +01:00
🏔️ Peak 78aea9a7ec Merge branch 'v4.x' into next 2026-02-25 17:59:04 +01:00
Andras Bacsai 5a2547c879 fix(soketi): make host binding configurable for IPv6 support (#8619) 2026-02-25 12:24:25 +01:00
Andras Bacsai 9ec45bcf56 chore: prepare for PR 2026-02-25 12:18:50 +01:00
Andras Bacsai c93296e9a6 feat(healthcheck): add command-based health check support (#8612) 2026-02-25 12:09:59 +01:00
Andras Bacsai f3b63b4d8d fix(scheduler): add self-healing for stale Redis locks and detection in UI (#8618) 2026-02-25 12:08:45 +01:00
Andras Bacsai 3e755338b4 fix(healthchecks): remove redundant newline sanitization from CMD healthcheck
Simplify the CMD healthcheck generation by removing the str_replace call that
normalizes newlines. The command is now used directly without modification,
following the pattern of centralized command escaping in recent changes.
2026-02-25 12:08:24 +01:00
Andras Bacsai b88f9fca67 chore: prepare for PR 2026-02-25 12:07:29 +01:00
Andras Bacsai 3eb9426b95 fix(ca-cert): prevent command injection via base64 encoding (#8617) 2026-02-25 12:01:52 +01:00
Andras Bacsai fe36b70680 chore: prepare for PR 2026-02-25 12:00:24 +01:00
Andras Bacsai 521d995ea1 Merge remote-tracking branch 'origin/next' into 7765-healthcheck-investigation 2026-02-25 11:57:58 +01:00
Andras Bacsai 12f8f80eb1 fix(api): add team authorization to domains_by_server endpoint (#8616) 2026-02-25 11:54:29 +01:00
Andras Bacsai 8e2f0836da chore: prepare for PR 2026-02-25 11:52:18 +01:00
Andras Bacsai 57848c25e9 fix(docker): centralize command escaping in executeInDocker helper (#8615) 2026-02-25 11:51:23 +01:00
Andras Bacsai 992b922df3 chore: prepare for PR 2026-02-25 11:50:57 +01:00
Andras Bacsai 0580af0d34 feat(healthchecks): add command health checks with input validation
Add support for command-based health checks in addition to HTTP-based checks:
- New health_check_type field supporting 'http' and 'cmd' values
- New health_check_command field with strict regex validation
- Updated allowedFields in create_application and update_by_uuid endpoints
- Validation rules include max 1000 characters and safe character whitelist
- Added feature tests for health check API endpoints
- Added unit tests for GithubAppPolicy and SharedEnvironmentVariablePolicy
2026-02-25 11:38:09 +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
Andras Bacsai 24abd51238 fix(auth): prevent cross-tenant IDOR in resource cloning (#8613) 2026-02-25 11:21:52 +01:00
Andras Bacsai 1759a1631c chore: prepare for PR 2026-02-25 11:18:46 +01:00
Andras Bacsai 65d4005493 Merge remote-tracking branch 'origin/next' into 7765-healthcheck-investigation
# Conflicts:
#	app/Livewire/Project/Shared/HealthChecks.php
2026-02-25 11:02:38 +01:00
Andras Bacsai 03a8621516 fix(health-checks): prevent command injection in health check commands (#8611) 2026-02-25 10:59:00 +01:00
Andras Bacsai 30c0b37689 chore: prepare for PR 2026-02-25 10:58:29 +01:00
Aditya Tripathi 036f565785 Merge branch 'next' into feat/healthcheck-cmd 2026-02-24 22:22:02 +05:30
Andras Bacsai cb759b2846 fix(api): correct permission requirements for POST endpoints (#8600) 2026-02-24 14:57:51 +01:00
Andras Bacsai d8419fad93 chore: prepare for PR 2026-02-24 14:57:32 +01:00
Tjeerd Smid 175e5b3c6d Merge branch 'next' into fix/rollback-uses-correct-commit 2026-02-24 13:18:46 +01:00
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 f39a1da7be fix(auth): prevent CSRF redirect loop during 2FA challenge (#8596) 2026-02-24 12:57:10 +01:00