Commit Graph
147 Commits
Author SHA1 Message Date
openhands e8ade7afa3 fix(deploy): remove standalone logic, fix chown errors in workspace
- Remove standalone static file verification (no longer needed)
- Make chown commands tolerate already-deleted temp files
- Update PM2 fallback to use pnpm start
2026-07-24 14:01:30 +02:00
openhands f6ee99801d Fix migration 'Too many connections' error during deploy
- pm2 stop now uses --kill-timeout 10000 for graceful shutdown
- Wait 10s after stopping (was 3s) for MariaDB to reclaim connections
- Migration retries increased from 5 to 10 with 5s wait (was 3s)
- Total retry window: ~50s instead of ~15s
2026-07-23 20:04:34 +02:00
openhands dae381e07c Persist .next/cache across deploys for faster rebuilds
Each deploy creates a fresh worktree and deletes .next, losing the
Turbopack build cache. Now restore .next/cache from the live site
into the stage before pnpm build, so Next.js can do incremental
compilation. After cutover the cache persists in the live .next/ for
the next deploy.
2026-07-23 19:33:12 +02:00
openhands 331a18e9c7 Add BCRYPT_ROUNDS env override, use 4 in CI
- Bcrypt rounds now configurable via BCRYPT_ROUNDS env var (default 12)
- CI/deploy use BCRYPT_ROUNDS=4 for faster tests
- Argon2 test: 1161ms → 17ms (already done)
- Password test suite: 1860ms → 1330ms
2026-07-23 19:24:52 +02:00
openhands f7551166c5 Speed up tests: lower argon2 params in CI, env overrides
- Allow ARGON2_MEMORY_SIZE, ARGON2_ITERATIONS, ARGON2_PARALLELISM env overrides
- Use m=1024,t=1 in tests (was m=65536,t=4 → ~1s per hash)
- Set fast params in CI and deploy workflows
2026-07-23 19:21:24 +02:00
openhands b6ba554386 Fix deploy error handler: cd to safe dir before pm2 2026-07-23 19:16:34 +02:00
openhands 9226558aa0 Optimize deploy script
- Zero-downtime PM2 reload instead of stop+start
- Keep .next.prev backup until after health check
- Add standalone static file verification
- Remove duplicate sleep
- Clean up naming
2026-07-23 19:13:06 +02:00
openhands d9e95c823a Update deploy to use PM2, add .next.prev to gitignore 2026-07-23 19:09:05 +02:00
SimoandCursor 968ca15c27 feat: jwt cache, redis health, help-ticket admin, and write rate limits
Cut Auth.js DB load with cached jwtVersion checks, surface Redis in /api/health and deploy warnings, add admin help-center ticket reply UI, rate-limit API tickets/reactions/referral claims, and revoke PATs on sign-out-everywhere.

Co-authored-by: Cursor <[email protected]>
2026-07-21 21:58:48 +02:00
SimoandCursor fa40eebeed fix(deploy): migrate after stop and shrink DB pool
Stage migrate hit ER_CON_COUNT_ERROR while live still held the pool. Build in stage with DATABASE_POOL_SIZE=5, run db:migrate only after stopping the service (with retries), and lower the default pool from 40 to 10.

Co-authored-by: Cursor <[email protected]>
2026-07-21 21:44:06 +02:00
SimoandCursor 687e1f9fb0 fix(deploy): stage worktree build and short .next cutover
Build install/test/migrate in a detached worktree while the live site keeps serving, then swap .next and node_modules during a brief stop. Drops nuclear rm -rf src and rolls back .next.prev on cutover failure.

Co-authored-by: Cursor <[email protected]>
2026-07-21 21:39:45 +02:00
SimoandCursor 2ff08e5127 chore: patch deps, CSP style nonces, otplib 13, and PR CI
Co-authored-by: Cursor <[email protected]>
2026-07-21 20:46:02 +02:00
SimoandCursor 9b47668fe9 chore: CSP script nonces, deploy health check, dead-code cleanup
Add per-request CSP nonces (drop script unsafe-inline), post-deploy /api/health gate, bump next-auth to beta.32, and remove unused motion/cache/permission helpers.

Co-authored-by: Cursor <[email protected]>
2026-07-21 20:27:08 +02:00
SimoandCursor c46dadeda4 chore: harden deps, env validation, admin errors, and redis warnings
Align nodemailer with Auth.js peers, bump patch deps, validate env on deploy builds, add admin error boundary, and warn when Redis is missing in production.

Co-authored-by: Cursor <[email protected]>
2026-07-21 20:19:05 +02:00
openhands 7fc53396b4 fix: menu links use bare slugs (Gitea auto-prefixes href with user-content-) 2026-07-20 21:03:02 +02:00
openhands c0975f8a43 fix: scope deploy contract test to deploy job; menu links use Gitea user-content anchors 2026-07-20 20:59:37 +02:00
openhands 43a624bbe7 docs: add self-contained setup reference configs (emulator + nitro) and bold-link buttons 2026-07-20 20:54:26 +02:00
openhands c4532dd340 style: use inline style for release buttons (Gitea strips class) 2026-07-20 20:47:07 +02:00
openhands 039b46d12b docs: expand release wizard with emulator/Nitro/Catalogus steps + buttons 2026-07-20 20:43:43 +02:00
openhands 43ca6dc4b0 fix: add explicit plain-id anchors so the release menu jumps to sections 2026-07-20 20:38:50 +02:00
openhands 45b7a1d9ef test: add explicit anchor for System Requirements to verify Gitea keeps id 2026-07-20 20:35:38 +02:00
openhands a741e6103d fix: menu anchors use Gitea user-content- prefix so TOC links work 2026-07-20 20:31:34 +02:00
openhands 6e27d9c4fe docs: expand release notes with menu, requirements, install wizard, usage 2026-07-20 20:25:45 +02:00
openhands e5de0b53d4 fix: single JSON-encode release body so newlines render (no literal \n) 2026-07-20 20:21:33 +02:00
openhands cb91fbef6c chore: cleaner release notes (cap changelog, concise initial release) 2026-07-20 20:15:44 +02:00
openhands 9617e59747 chore: remove obsolete catalogus pack-trigger proposal 2026-07-20 20:05:42 +02:00
openhands d103316945 refactor: drop pack.yaml; v*-tag release now includes linked repo URLs + commits 2026-07-20 20:04:45 +02:00
openhands a6b708080c refactor: lightweight pack — bundle CMS only, link other repos via MANIFEST (URL+commit) 2026-07-20 20:02:07 +02:00
openhands a1ba13c1b5 fix: catalogus full clone (no sparse), fix manifest ver/status grep collision 2026-07-20 19:50:53 +02:00
openhands e16cf9b28f i18n: manifest + release notes in English 2026-07-20 19:46:19 +02:00
openhands 5c83f1e788 feat: clear MANIFEST.md in pack + readable release notes (component/version/status per pack) 2026-07-20 19:44:36 +02:00
openhands 5a7d0ab16c fix: guard assemble step (fail if component missing/empty) so pack never ships incomplete 2026-07-20 19:39:13 +02:00
openhands 57511872a2 fix: compute PACK_VERSION in bash (env: did not expand $(date), caused invalid tag -> 500) 2026-07-20 19:33:57 +02:00
openhands e9bd85ea09 diag: surface GITEA_API/REPO and pack-body bytes in release step to isolate 500 2026-07-20 19:29:22 +02:00
openhands 7bc7e5e7ad fix: revert pack release API vars to gitea.* (proven working in deploy.yaml) 2026-07-20 19:25:40 +02:00
openhands 3e1597fd62 fix: hardcode GITEA_API/GITEA_REPO (gitea.* vars produced 500 on release create) 2026-07-20 19:18:09 +02:00
openhands 997b74129e fix: harden release step (validate vars, per-curl http codes, diagnostics) to debug exit 3 2026-07-20 19:14:09 +02:00
openhands 3fcd1e1018 fix: build emulator from Emulator/ subdir (pom.xml lives there, not repo root) 2026-07-20 19:10:03 +02:00
openhands c4a0c607bf fix: retry all repo clones + fail loudly on missing pom/package.json (emulator clone was silently empty) 2026-07-20 19:07:03 +02:00
openhands 2af0fc3447 fix: run renderer build before Nitro-V3 so vite.config finds the SDK 2026-07-20 19:02:52 +02:00
openhands cc4b7da756 fix: clone CMS from local bare repo in pack workflow (avoids runner HTTPS auth failure) 2026-07-20 18:55:11 +02:00
openhands 134bb97410 fix: clone renderer to Nitro_Render_V3 so Nitro-V3 vite build finds the SDK 2026-07-20 18:50:39 +02:00
openhands 682babb1c0 perf: cache per-component builds in pack workflow (only rebuild changed repos; sparse catalogus clone) 2026-07-20 18:45:24 +02:00
openhands 8b5999970b feat: pack auto-rebuilds on any upstream change (CMS/catalogus/nitro/render/emulator) via 15min cron poll 2026-07-20 18:42:02 +02:00
openhands 87d72a1aef feat: add site-pack workflow (builds CMS+catalogus+nitro+render+emulator into pack-YYYYMMDD-HHMM release) 2026-07-20 18:33:00 +02:00
openhands dd66a5ba2e fix: use TOKEN from env with fallback to secret 2026-07-20 16:03:13 +02:00
openhands 0c0540cf59 fix: yaml syntax in deploy workflow 2026-07-20 15:52:40 +02:00
openhands 0913e9d529 fix: merge release into deploy workflow for Gitea compatibility 2026-07-20 15:50:03 +02:00
openhands 02df513b18 debug: extensive logging in release workflow 2026-07-20 15:42:46 +02:00
openhands 323e2cd9d3 fix: generate changelog from bare repo before clone, use jq
Bare repo ensures all tags and full history are available.
Changelog saved before clone to avoid filesystem isolation issues.
2026-07-20 15:38:42 +02:00