Commit Graph
15397 Commits
Author SHA1 Message Date
Andras BacsaiandGitHub 923525a310 fix: use --network host for Dockerfile buildpack builds (#9811) 2026-04-28 13:16:14 +02:00
Andras BacsaiandGitHub 268c97d18f fix(validation): allow decimals for database backups max storage (#9801) 2026-04-28 12:33:00 +02:00
Andras Bacsai 1368026f20 fix(terminal): remove verbose websocket message logging 2026-04-28 12:29:32 +02:00
Andras Bacsai cabcd8f699 fix(terminal): add idle timeout, reconnect replay, and scrollback preservation
- Kill PTY and notify client after 30 min of inactivity (IDLE_TIMEOUT_MS)
- Buffer client messages during async auth/IP fetch to prevent race-condition
  message loss on fast reconnects
- Replay last sent command after transient reconnect so PTY respawns without
  user interaction
- Preserve scrollback on disconnect/reconnect; write visible timestamp markers
  instead of wiping term state
- Handle idle-timeout sentinel on client with user-facing error message
2026-04-28 12:26:31 +02:00
Andras Bacsai 9408620d5f fix(terminal): add WS heartbeat and fix proxy idle disconnects
Proxies (Cloudflare, nginx) drop idle WebSocket connections before the
application notices, leaving clients typing into dead sockets.

- Add server-side ping/pong heartbeat (30s) in terminal-server.js;
  terminate unresponsive clients instead of letting connections go stale
- Move client keepAlive interval start to the connect event so it
  restarts correctly after reconnects
- Remove hidden-tab keepalive short-circuit — server pings now own
  liveness; suppressing client pings while hidden masked proxy drops
- Fix clearAllTimers to use clearTimeout for one-shot timers
- On visibility resume, probe with a 5s timeout instead of the default
  35s so half-open sockets are detected quickly
- Bump coolify-realtime to 1.0.14 across all compose files
2026-04-28 10:35:32 +02:00
Andras Bacsai 9a58e0fea2 fix(logs): disable auto-scroll on user scroll-up, re-enable on scroll-to-bottom
Add wheel, touch, and keyboard event handlers to log containers in
deployment and get-logs views. Auto-follow disables when user scrolls
up; re-enables when user scrolls back to bottom (within 10px threshold).
2026-04-28 10:33:08 +02:00
Andras BacsaiandGitHub f2ac6da98e fix: normalize oauth emails before matching users (#9488) 2026-04-27 15:28:41 +02:00
Andras Bacsai b4e139929e Merge remote-tracking branch 'origin/next' into fix/oauth-email-normalization 2026-04-27 14:56:16 +02:00
Andras Bacsai d0ed4fa4c4 version ++ finally 2026-04-27 09:09:01 +02:00
Andras BacsaiandGitHub 8deb19e5e4 fix(service): rally invalid next public url (#9041) 2026-04-27 09:08:04 +02:00
Andras BacsaiandGitHub e1a295ac6c fix(service): add missing database alteration step for Logto latest image (#9376) 2026-04-27 09:07:53 +02:00
Andras BacsaiandGitHub 5a4f79441c fix(service): Jitsi Meet doesn't work (#9594) 2026-04-27 09:06:57 +02:00
Andras BacsaiandGitHub 349e9289ad fix(service): twenty fails to deploy due to dependency unhealthy (#9603) 2026-04-27 09:06:41 +02:00
Andras BacsaiandGitHub 43b8304e02 feat(service): enable plane (#9641) 2026-04-27 09:06:32 +02:00
Andras BacsaiandGitHub e9a9a32e87 feat(services): add Cap to templates (#9729) 2026-04-27 09:06:09 +02:00
Andras BacsaiandGitHub 3f736b5afd feat(service): add healthcheck to langfuse-worker (#9772) 2026-04-27 09:05:38 +02:00
Andras BacsaiandGitHub 66ce3009a3 chore(service): update beszel to 0.18.7 (#9775) 2026-04-27 09:05:22 +02:00
Andras BacsaiandGitHub d131066701 feat(service): disable calcom (#9776) 2026-04-27 09:04:56 +02:00
Andras Bacsai 968ae97dfc version++ 2026-04-27 09:01:36 +02:00
nehemiyawicks 36baf70637 fix: use --network host for Dockerfile buildpack builds
Dockerfile buildpack was passing --network {custom_network_name} to
docker build, but BuildKit only supports host, none, and default.
Every other buildpack already uses --network host with --add-host
flags. Aligned the Dockerfile path to match.

Fixes #9804
2026-04-26 19:30:05 +05:30
Andras BacsaiandGitHub 8ef238d19c fix(helper): stop info icon click from propagating to parent on mobile (#9809) 2026-04-26 13:54:59 +02:00
Andras Bacsai 9cd379e737 fix(helper): add Alpine.js click toggle to info helper popup
Replace CSS-only hover with Alpine.js click-based open/close,
including click.outside to dismiss.
2026-04-26 12:55:34 +02:00
Andras Bacsai cad9fc99d6 docs(sponsors): add ParsecPH to Small sponsors 2026-04-26 12:53:45 +02:00
ShadowArcanist 593006be88 fix(validation): allow decimals for database backups max storage 2026-04-25 22:27:26 +05:30
Andras Bacsai 74cc85139f docs(sponsors): add NetRouting to Small sponsors 2026-04-24 22:33:32 +02:00
ShadowArcanist d2b7dfe92a fix(service): remove volume declaration on jitsi 2026-04-24 09:40:01 +05:30
ShadowArcanistandGitHub 424a41dbd0 fix(service): add missing category to jitsi 2026-04-24 09:30:57 +05:30
ShadowArcanistandGitHub cd47711cd0 feat(service): disable calcom
Not maintained anymore by the calcom team
2026-04-24 02:28:08 +05:30
ShadowArcanistandGitHub 5f45deedce chore(service): update beszel-agent to 0.18.7 2026-04-24 02:22:08 +05:30
ShadowArcanistandGitHub b3d6877404 chore(service): update beszel to 0.18.7 2026-04-24 02:21:33 +05:30
ShadowArcanistandGitHub 32ae288a12 fix(service): add port to metadata on plane 2026-04-24 00:12:17 +05:30
Gauthier POGAM--LE MONTAGNER f77fd2161c feat(service): add healthcheck to langfuse-worker 2026-04-23 18:08:40 +02:00
Andras Bacsai c5ce36018c docs(sponsors): add MindedTech to Small sponsors 2026-04-23 14:13:55 +02:00
Andras Bacsai 237313f5c7 docs(sponsors): update PrivateAlps description 2026-04-23 00:17:53 +02:00
ShadowArcanistandGitHub e26d4e39e6 fix(service): add healthcheck on cap-captcha.yaml 2026-04-23 01:07:14 +05:30
ShadowArcanistandGitHub 716c741fff fix(service): pin docker image on cap-captcha.yaml 2026-04-23 01:07:00 +05:30
ShadowArcanistandGitHub d425998476 fix(service): service url variable on cap-captcha.yaml 2026-04-23 01:06:44 +05:30
ShadowArcanistandGitHub ae1a24a83b fix(service): add category on cap-captcha.yaml 2026-04-23 01:06:25 +05:30
ShadowArcanistandGitHub 833f5769e5 fix(service): docs link on cap-captcha.yaml 2026-04-23 01:06:07 +05:30
Andras BacsaiandGitHub 6b00c31ff2 fix(navigation): replace wire:navigate.hover with wire:navigate (#9742) 2026-04-22 20:56:45 +02:00
Andras Bacsai 19767a569b fix(navigation): replace wire:navigate.hover with wire:navigate
Remove hover prefetching variant from SPA navigation helper,
both in the happy path and the exception fallback.
2026-04-22 20:55:09 +02:00
tiago 0c1c5c5831 feat: add Cap to templates 2026-04-22 10:15:18 +01:00
Andras Bacsai 4e561264b4 docs(sponsors): add PrivateAlps to Huge and YouStable to Small sponsors 2026-04-22 08:58:38 +02:00
Andras BacsaiandGitHub e1aac50b74 refactor(validation): tokenize shell-safe command pattern (#9684) 2026-04-20 22:04:36 +02:00
Andras BacsaiandClaude Opus 4.7 817128c5af refactor(validation): tokenize shell-safe command pattern
Replace the flat character-class regex for SHELL_SAFE_COMMAND_PATTERN with
a token-aware alternation. The parser now recognizes explicit tokens
(`&&`, `||`, balanced single/double quotes, whitespace, and an unquoted
safe-char run) instead of a bag of characters, which lets us extend the
accepted grammar without loosening the guarantees.

New surface area, with tests:
- logical OR chaining (`make build || make clean`)
- shell globs and bang (`rm *.tmp`, `cp src/?.js dist/`, `! grep -q foo`)
- single-quoted arguments are now treated as balanced runs rather than
  rejected per-character

Preserved surface area:
- && chaining, balanced "..." and '...' quotes, the previous safe path /
  argument characters, and the existing error-path contract in
  ApplicationDeploymentJob::validateShellSafeCommand().

Also refreshes the user-facing validation messages in General.php so the
allow/deny list shown on failure matches the new grammar.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 22:00:41 +02:00
Andras BacsaiandGitHub 8e22360139 refactor(database): align Postgres SSL chown escaping with MySQL (#9682) 2026-04-20 21:44:02 +02:00
Andras Bacsai f0e955bf45 refactor(database): escape postgres_user in SSL chown command
Apply escapeshellarg() to the Postgres username before interpolating it
into the chown command used to fix SSL certificate ownership, matching
the handling already in place for StartMysql. This keeps the sink-side
escaping consistent across database actions, independent of upstream
input validation.

Also adjusts an assertion in DatabaseSslCredentialEscapingTest to match
the actual double-escaped output of executeInDocker, and adds Postgres
regression cases for subshell and semicolon payloads.
2026-04-20 21:41:48 +02:00
Andras BacsaiandGitHub 1cf6c7d0ae fix(database): tighten Postgres init script filename handling (#9681) 2026-04-20 21:27:56 +02:00
Andras BacsaiandClaude Opus 4.7 a05d4e3a4b fix(database): tighten Postgres init script filename handling
Validate new init-script filenames against path traversal and shell
metacharacters via a new validateFilenameSafe() helper, and harden the
write/delete paths with basename() + escapeshellarg() so legacy rows
still deploy and can be cleaned up without regressions.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 21:26:34 +02:00
Andras BacsaiandGitHub b1a78df58e feat(security): add expiration support for API tokens (#9677) 2026-04-20 14:29:28 +02:00