2068 Commits
Author SHA1 Message Date
Kasra Bigdeli 212ea1921b Merge pull request #2511 from Saadanjum0/fix/backup-copy-macos-symlink
Run lint / run-lint (push) Canceled after 0s
Build and push the edge image / run-pre-checks (push) Canceled after 0s
Build and push the edge image / prepare-frontend (push) Canceled after 0s
Build and push the edge image / build-publish-docker-hub (push) Canceled after 0s
Run build / build (push) Canceled after 0s
Run formatter / check-code-formatting (push) Canceled after 0s
fix: preserve dangling symlinks when copying backup data on macOS
2026-10-09 10:46:23 -07:00
Saadanjum0 3cd7c4af29 fix: preserve dangling symlinks when copying backup data on macOS
cp -rp followed symlinks on BSD cp (macOS) because lowercase -r
implies -L for historical compatibility, so a dangling certificate
symlink under /captain/data raised ENOENT and aborted the whole
backup copy. GNU cp (Linux) never followed symlinks here either way,
so this only reproduced in local macOS dev/test runs, not CI.

Switch to -RPp: -R is the portable recursive flag and -P makes the
no-dereference behavior explicit on both cp implementations.
2026-10-09 12:27:23 +05:00
Kasra Bigdeli 34d70b9013 Merge pull request #2510 from caprover/fix/build-queue-double-advance
Run build / build (push) Canceled after 0s
Run formatter / check-code-formatting (push) Canceled after 0s
Run lint / run-lint (push) Canceled after 0s
Build and push the edge image / run-pre-checks (push) Canceled after 0s
Build and push the edge image / prepare-frontend (push) Canceled after 0s
Build and push the edge image / build-publish-docker-hub (push) Canceled after 0s
Prevent build queue from advancing twice
2026-10-05 21:05:37 -07:00
Kasra Bigdeli a91328fb76 test: cover build queue double advancement 2026-10-05 20:46:46 -07:00
Kasra Bigdeli b676d96db5 fix: advance build queue only once 2026-10-05 20:46:44 -07:00
Kasra Bigdeli 3811286def Merge pull request #2509 from libredb/fix/queued-build-promise
Settle the promise of a queued build when it finishes
2026-10-05 20:43:09 -07:00
Kasra Bigdeli cfedd66c78 Merge pull request #2507 from libredb/fix/project-name-leading-digit
Run build / build (push) Canceled after 0s
Run lint / run-lint (push) Canceled after 0s
Build and push the edge image / run-pre-checks (push) Canceled after 0s
Build and push the edge image / prepare-frontend (push) Canceled after 0s
Build and push the edge image / build-publish-docker-hub (push) Canceled after 0s
Run formatter / check-code-formatting (push) Canceled after 0s
Allow project names that start with a number
2026-10-05 09:31:39 -07:00
Kasra Bigdeli 7aa2b2595f Merge pull request #2506 from libredb/fix/oneclick-check-names-first
Check one-click app names before creating anything
2026-10-05 09:24:10 -07:00
cevheri 582865118f fix: settle the promise of a queued build when it finishes
A build scheduled while another one ran was queued, and the promise handed to its caller never settled: onBuildFinished started the queued build and dropped its result. A one-click deploy registered during another app's build therefore stayed at "Registering" for good, although the build ran. Pass the result to the queued promise instead.
2026-10-05 18:54:55 +03:00
cevheri cfe716004d fix: allow project names that start with a number
be5d55d allowed a leading number in app names. A one-click deploy with
more than one service creates a project named after the app, so with the
old project rule such a name failed at "Creating project".

Fixes #2505
2026-10-05 12:53:04 +03:00
cevheri be9192c5f5 fix: check one-click app names before creating anything
A one-click deploy with more than one service checked each app name only
when it registered that app. A later name that was too long or already
taken failed after the project and the earlier apps were created, and
those stayed behind. Check every name before the first step instead, and
say the length limit in the error.

Fixes #2504
2026-10-05 12:53:04 +03:00
Kasra Bigdeli a45cce6b7f Merge pull request #2499 from caprover/fix-2498-oneclick-values
Run build / build (push) Canceled after 0s
Run formatter / check-code-formatting (push) Canceled after 0s
Run lint / run-lint (push) Canceled after 0s
Build and push the edge image / run-pre-checks (push) Canceled after 0s
Build and push the edge image / prepare-frontend (push) Canceled after 0s
Build and push the edge image / build-publish-docker-hub (push) Canceled after 0s
Fix one-click deploy when values are omitted
2026-09-22 21:12:38 -07:00
Kasra Bigdeli 2fc9d78e3a test: drain failed deploy response 2026-09-22 20:57:23 -07:00
Kasra Bigdeli 8b65665633 test: cover one-click deploy route handling 2026-09-22 20:57:01 -07:00
Kasra Bigdeli 73dc7cd1cf test: remove helper-specific one-click tests 2026-09-22 19:45:41 -07:00
Kasra Bigdeli 46e7c6998b refactor: inline one-click deploy request handling 2026-09-22 19:45:38 -07:00
Kasra Bigdeli a44a1be950 test: cover one-click deploy without values 2026-09-22 18:48:17 -07:00
Kasra Bigdeli 8629c4b08f test: cover omitted one-click values and job cleanup 2026-09-22 18:48:13 -07:00
Kasra Bigdeli 89b42a59ac testable cleanup for failed one-click job startup 2026-09-22 18:47:55 -07:00
Kasra Bigdeli f723ba022c fix: default one-click deploy values to empty array 2026-09-22 18:47:23 -07:00
Kasra Bigdeli 9debcf371b fix: handle omitted one-click deploy values 2026-09-22 18:47:06 -07:00
Kasra Bigdeli 37fe03e326 Merge pull request #2497 from caprover/fix/restore-malformed-backup-layout
Build and push the edge image / run-pre-checks (push) Canceled after 0s
Build and push the edge image / prepare-frontend (push) Canceled after 0s
Build and push the edge image / build-publish-docker-hub (push) Canceled after 0s
Run build / build (push) Canceled after 0s
Run formatter / check-code-formatting (push) Canceled after 0s
Run lint / run-lint (push) Canceled after 0s
fix: restore backups with malformed nested data layout
2026-09-21 22:31:16 -07:00
Kasra Bigdeli e7c3faf7ee test: reject malformed backup without config 2026-09-21 22:29:58 -07:00
Kasra Bigdeli 275dedc36d Merge master into fix/restore-malformed-backup-layout 2026-09-21 22:28:56 -07:00
Kasra Bigdeli 1df3689cb3 Merge pull request #2496 from caprover/fix/backup-download-contract
fix: restore backup archive layout and download failures
2026-09-21 22:27:04 -07:00
Kasra Bigdeli f11f2b1f26 test: restore malformed nested backup layout 2026-09-21 22:21:22 -07:00
Kasra Bigdeli 743ae0515f fix: retain backup manager in extraction chain 2026-09-21 22:21:10 -07:00
Kasra Bigdeli 20e4cea415 docs: add backup restore fix to changelog 2026-09-21 22:21:05 -07:00
Kasra Bigdeli f5199d9536 fix: normalize malformed backup layout during restore 2026-09-21 22:21:01 -07:00
Kasra Bigdeli d0814d67f1 test: cover one-time backup download failures 2026-09-21 21:51:19 -07:00
Kasra Bigdeli 22fb711b9b refactor: isolate download completion handling 2026-09-21 21:51:01 -07:00
Kasra Bigdeli 340b20029c style: format backup copy tests 2026-09-21 21:50:10 -07:00
Kasra Bigdeli 576d0699a4 test: cover backup copy layout and failures 2026-09-21 21:49:58 -07:00
Kasra Bigdeli c88fe0ed3e refactor: make backup copy failures observable 2026-09-21 21:49:35 -07:00
Kasra Bigdeli c9b25a9536 fix: type download transfer errors 2026-09-21 21:48:20 -07:00
Kasra Bigdeli d497a7dfd7 fix: finish failed backup download responses 2026-09-21 21:48:00 -07:00
Kasra Bigdeli 1307f10e75 fix: preserve backup archive data layout 2026-09-21 21:47:58 -07:00
Kasra Bigdeli cb12183a18 Merge pull request #2495 from caprover/fix/deploy-token-authorization
fix: return unauthorized for invalid app deploy tokens
2026-09-21 19:01:34 -07:00
Kasra Bigdeli 369fcf0adc fix: return unauthorized for invalid app deploy tokens 2026-09-21 18:58:03 -07:00
Kasra Bigdeli f6dd7dcb63 Merge pull request #2494 from caprover/fix/nginx-reload-keepalive-window
Build and push the edge image / run-pre-checks (push) Canceled after 0s
Build and push the edge image / prepare-frontend (push) Canceled after 0s
Build and push the edge image / build-publish-docker-hub (push) Canceled after 0s
Run build / build (push) Canceled after 0s
Run formatter / check-code-formatting (push) Canceled after 0s
Run lint / run-lint (push) Canceled after 0s
Extend Captain reload keepalive window
2026-09-21 10:21:48 -07:00
Kasra Bigdeli e6cb4e4a5b Extend Captain reload keepalive window 2026-09-21 10:08:40 -07:00
Kasra Bigdeli 484a17468e Merge pull request #2493 from caprover/fix/custom-domain-uniqueness
Reject duplicate custom domains across apps
2026-09-21 08:51:17 -07:00
Kasra Bigdeli f124c6a8b2 fix: reject duplicate custom domains across apps 2026-09-21 07:08:19 -07:00
Kasra Bigdeli e724bb0254 Merge pull request #2492 from caprover/fix/custom-port-persistence
Build and push the edge image / run-pre-checks (push) Canceled after 0s
Build and push the edge image / prepare-frontend (push) Canceled after 0s
Build and push the edge image / build-publish-docker-hub (push) Canceled after 0s
Run build / build (push) Canceled after 0s
Run formatter / check-code-formatting (push) Canceled after 0s
Run lint / run-lint (push) Canceled after 0s
Fix custom port protocol and publish mode persistence
2026-09-20 20:14:18 -07:00
Kasra Bigdeli a1682fa614 test: cover custom port persistence 2026-09-20 20:01:10 -07:00
Kasra Bigdeli 9bab411e93 fix: preserve custom port publish mode on updates 2026-09-20 20:00:42 -07:00
Kasra Bigdeli be72b85ea1 fix: preserve custom port metadata 2026-09-20 20:00:40 -07:00
Kasra Bigdeli 6b50009eeb Merge pull request #2491 from caprover/fix/nginx-reload-keepalive
Keep Captain API connections alive during NGINX reloads
2026-09-20 18:07:14 -07:00
Kasra Bigdeli 1c04a918aa Remove redundant NGINX directive test 2026-09-20 18:01:32 -07:00
Kasra Bigdeli 16c7feda8f Keep Captain connections alive during NGINX reloads 2026-09-20 11:27:44 -07:00