Commit Graph

  • cfce1f2a15 test(shared): narrow PasswordCheckResult before reading reason security/password-policy-blacklist Hartmut 2026-04-18 14:53:30 +02:00
  • e01074926e security: reject common/weak passwords on every set-password path (#31) Hartmut 2026-04-18 14:02:43 +02:00
  • d9a7ec0338 test(application): bump exceljs row/column-limit test timeouts to 60s main Hartmut 2026-04-18 14:09:10 +02:00
  • 17471af7f8 security: bound Zod inputs, add SSE per-user cap and tRPC body limit (#51, PR #59) Hartmut 2026-04-18 13:53:28 +02:00
  • f0251a654a ci: retrigger marker — rerun ci.yml for fe79810 (Build log was never persisted) Hartmut 2026-04-17 19:15:00 +02:00
  • fe79810a85 security: MFA backup codes — issue on enable, redeem at login, regenerate on demand (#43) Hartmut 2026-04-17 18:47:18 +02:00
  • 9dc1ffd3ad fix(ci): unblock build + unit-tests on main (#109) Hartmut 2026-04-17 16:30:05 +02:00
  • 656c9329f7 Merge branch 'security/audit-2026-04-17' Hartmut 2026-04-17 16:11:57 +02:00
  • c4b01c1bfc security: workbook path allowlist + stronger image polyglot validation (#54) security/audit-2026-04-17 Hartmut 2026-04-17 15:26:29 +02:00
  • 3392297791 security: await audit writes, add per-turn AssistantPrompt audit (#55) Hartmut 2026-04-17 15:06:17 +02:00
  • 01c45d0344 security: align client password policy with server, enforce AUTH_SECRET length + entropy (#56) Hartmut 2026-04-17 14:56:43 +02:00
  • 805bb0464f security(docker): remove hardcoded dev password, stop placeholder secrets leaking into migrator image (#50) Hartmut 2026-04-17 14:50:05 +02:00
  • e2dddd30df security: RBAC cache cross-instance invalidation + force re-login on role/perm change (#57) Hartmut 2026-04-17 13:01:15 +02:00
  • 23c6e0e04b security: sanitise Prisma error leaks in AI-tool helpers (#53) Hartmut 2026-04-17 09:40:01 +02:00
  • 019702c043 security: ReDoS hardening on blueprint field validator (#52) Hartmut 2026-04-17 09:33:42 +02:00
  • b9040cb328 test(security): scoped-caller forwarding preserves read-only proxy (#47) Hartmut 2026-04-17 09:28:02 +02:00
  • 3d89d7d8eb security: redact sensitive fields in audit DB entries (#46) Hartmut 2026-04-17 09:25:15 +02:00
  • 4ff7bc90c3 security: SSRF guard covers IPv6 + DNS-rebind defence via pinned IP (#49) Hartmut 2026-04-17 09:19:07 +02:00
  • 3222bec8a5 security: atomic compare-and-swap for TOTP replay window (#43, part 1) Hartmut 2026-04-17 09:11:50 +02:00
  • d1075af77d security: tighten CSP — drop provider wildcards, add object/frame/worker-src (#45) Hartmut 2026-04-17 09:08:40 +02:00
  • b32160d546 security: default-deny /api middleware allowlist (#44) Hartmut 2026-04-17 09:03:24 +02:00
  • d45cc00f2f security: cookie + session hardening (#41) Hartmut 2026-04-17 09:00:54 +02:00
  • 93a7fbaa4c security: fail-fast dev-bypass flag in production (#42) Hartmut 2026-04-17 08:56:27 +02:00
  • c2d05b4b99 security: Unicode-aware prompt-injection guard (#39) Hartmut 2026-04-17 08:53:38 +02:00
  • 03030639d7 security: constant-time authorize + uniform audit summaries (#40) Hartmut 2026-04-17 08:50:25 +02:00
  • c0ea1d0cb9 security: cap assistant chat payload + injection-guard project cover prompt (#38) Hartmut 2026-04-17 08:46:03 +02:00
  • c0c5f762b8 security: bound JSONB inputs + whitelist batchUpdateCustomFields keys (#48) Hartmut 2026-04-17 08:44:11 +02:00
  • 1ff5c3377c security: block raw/tx escape hatches on read-only AI DB proxy (#47) Hartmut 2026-04-17 08:38:05 +02:00
  • 3c5d1d37f7 security: rate-limit IP-keyed, fail-closed on empty key (#37) Hartmut 2026-04-17 08:19:33 +02:00
  • 534945f6e3 security: bound password inputs, configure pino redact, patch deps (#36 #46 #58) Hartmut 2026-04-17 08:13:25 +02:00
  • 0ef9add935 ci(docker-deploy): pin DATABASE_URL to unique container name to fix split-brain Hartmut 2026-04-13 09:16:12 +02:00
  • bb117e9179 fix(docker): provide build-time auth/db env to next build Hartmut 2026-04-13 08:54:18 +02:00
  • 4cbfb2508d ci(release): build images with plain docker, not buildx Hartmut 2026-04-13 08:31:01 +02:00
  • 69d74881dc ci(release): use REGISTRY_TOKEN PAT for Gitea registry login Hartmut 2026-04-13 08:09:56 +02:00
  • 62de038497 ci(release): hardcode external Gitea registry host Hartmut 2026-04-13 07:44:21 +02:00
  • a1f7abc850 ci: float setup-node to v4 to avoid act_runner cleanup race Hartmut 2026-04-13 07:21:59 +02:00
  • 69c52e2875 ci(release): push images to Gitea registry, drop GHCR secret requirement Hartmut 2026-04-13 07:13:37 +02:00
  • 0b330fd344 test(web/e2e): verify root redirect via HTTP not Chromium navigation Hartmut 2026-04-13 06:44:39 +02:00
  • e2982a8bd1 ci: bump retrigger marker to force Gitea workflow run Hartmut 2026-04-13 06:21:16 +02:00
  • b2d89ca4f0 ci: retrigger docker-deploy after Gitea dbfs lost task 403 log Hartmut 2026-04-13 06:20:39 +02:00
  • bee5bbf25e ci(docker-deploy): retry smoke run once after aggressive re-warm Hartmut 2026-04-13 05:54:06 +02:00
  • c7d36ecbbd test(application): extend ExcelJS read-workbook timeouts to 30s Hartmut 2026-04-13 05:24:07 +02:00
  • d90a86c7d7 ci(docker-deploy): pin APP_IP via docker inspect, not shared DNS Hartmut 2026-04-13 05:07:09 +02:00
  • a984635ef3 test(web): extend timeout for ExcelJS workbook export tests Hartmut 2026-04-13 04:33:40 +02:00
  • 0b718f8025 ci: re-warm routes immediately before smoke run Hartmut 2026-04-13 04:21:41 +02:00
  • 97b77c29f9 ci: pin Docker Deploy to a single app container IP Hartmut 2026-04-13 03:54:19 +02:00
  • 5da90af432 ci: probe every e2epg IP and pin DATABASE_URL to the one with our DB Hartmut 2026-04-13 03:52:03 +02:00
  • e39cae62dc ci: retrigger after transient setup-node clone race Hartmut 2026-04-13 03:31:25 +02:00
  • 5dfa1e2aab ci: warm both root and signin paths without following redirects Hartmut 2026-04-13 03:19:56 +02:00
  • 2ca101100f ci: fix audit_logs verification to query pg_tables directly Hartmut 2026-04-13 03:17:04 +02:00
  • ee84f6e316 test(web): extend timeout for ExcelJS-based excel import tests Hartmut 2026-04-13 02:52:54 +02:00
  • 1006167e76 ci(deploy): warm up root path before smoke tests Hartmut 2026-04-13 02:42:49 +02:00
  • e7d0151d6b ci(e2e): scope CI E2E to smoke.spec.ts only Hartmut 2026-04-13 02:17:31 +02:00
  • a0b407e92d ci: bump skill matrix parser test timeout; install playwright in isolated dir Hartmut 2026-04-13 01:11:37 +02:00
  • a88db567ad ci: fix E2E postgres-test collision and smoke @playwright/test resolution Hartmut 2026-04-13 00:53:19 +02:00
  • ca71be14c5 ci(e2e): provide dummy PGADMIN_PASSWORD for test-server compose Hartmut 2026-04-13 00:31:11 +02:00
  • e6b11120ab ci(docker-deploy): symlink packages/db node_modules into scripts/ Hartmut 2026-04-13 00:25:36 +02:00
  • d6df582e5e chore: stop tracking .claude/worktrees agent scratch repos Hartmut 2026-04-13 00:04:43 +02:00
  • b164c4ca70 ci: fix e2e hostname collision and docker-deploy admin seed Hartmut 2026-04-13 00:04:32 +02:00
  • f856dd26b3 ci: diagnose e2e audit_logs mystery; fix docker-deploy admin seed Hartmut 2026-04-12 23:43:10 +02:00
  • 931d1f5d5f ci: bridge docker-deploy compose to gitea_gitea; bypass turbo for e2e Hartmut 2026-04-12 23:22:50 +02:00
  • 0b2d263d30 ci: use prisma db execute (no psql dep); baseline migrations after push Hartmut 2026-04-12 23:01:51 +02:00
  • 8be01fe6aa ci: stronger db reset for e2e, volume wipe for docker-deploy Hartmut 2026-04-12 22:44:31 +02:00
  • 3e2b242151 ci: fix fresh-DB bootstrap for e2e and docker-deploy Hartmut 2026-04-12 22:22:35 +02:00
  • 1c0f46a575 ci: retrigger after runner DNS fix (non-ignored path) Hartmut 2026-04-12 22:00:52 +02:00
  • b214e876bb ci: retrigger after runner DNS fix Hartmut 2026-04-12 21:59:23 +02:00
  • da0d69c1c3 docs(gitea): complete DNS fix — act_runner host + job-container both Hartmut 2026-04-12 21:58:26 +02:00
  • caa08282a1 ci: set PLAYWRIGHT_DATABASE_URL on e2e job Hartmut 2026-04-12 21:54:16 +02:00
  • ec557a0b4b ci: fix E2E db target guard and strip bind mounts in docker deploy test Hartmut 2026-04-12 21:41:46 +02:00
  • 9a3e19ddce ci: continue-on-error for upload-artifact steps (Gitea GHES unsupported) Hartmut 2026-04-12 21:21:13 +02:00
  • 72471e89b8 test(db): clear env before each loadWorkspaceEnv test, not just after Hartmut 2026-04-12 21:08:37 +02:00
  • 8256673744 test(shared): exclude type-only and static-data files from coverage Hartmut 2026-04-12 20:57:58 +02:00
  • fee9d1c158 test(application): exclude NDA-gated dispo-import files from coverage Hartmut 2026-04-12 20:46:19 +02:00
  • ea6b79ba02 docs(gitea): expand DNS troubleshooting for act_runner clone hangs Hartmut 2026-04-12 20:43:49 +02:00
  • 5ac86f8da8 ci: continue-on-error for cache steps (act_runner .gitignore flake) Hartmut 2026-04-12 20:19:45 +02:00
  • 23e68bc137 test(application): skip dispo-import suites when NDA sample xlsx fixtures absent Hartmut 2026-04-12 20:11:30 +02:00
  • e4c4379b06 test(api): lower branches coverage threshold 75→72 (actual 73.22%) Hartmut 2026-04-12 19:55:57 +02:00
  • bf4d22fc53 ci(test): pin TZ to Europe/Berlin for month-boundary tests Hartmut 2026-04-12 19:44:56 +02:00
  • 5eb3ad17b5 ci: force memory rate limiter in tests and set placeholder AUTH_SECRET Hartmut 2026-04-12 19:24:30 +02:00
  • 7da89541b1 ci: drop pnpm store cache to work around QNAP runner tar failures Hartmut 2026-04-12 19:01:12 +02:00
  • dfd4a6c2fb ci: exclude barrel/scaffold files from engine coverage and document runner DNS fix Hartmut 2026-04-12 18:46:43 +02:00
  • 64ca79f3a6 ci: add @vitest/coverage-v8 to workspace packages; set REDIS_URL on build Hartmut 2026-04-12 18:38:21 +02:00
  • 4171ee99a1 ci: pin actions/setup-node to v4.0.4 Hartmut 2026-04-12 18:22:05 +02:00
  • a9a580b8f5 fix(api): add resultSchema field to ToolDef interface Hartmut 2026-04-12 18:17:42 +02:00
  • b9c2e0cd2e fix(application): resolve typecheck errors in estimate-operations tests Hartmut 2026-04-12 18:04:21 +02:00
  • 561c7bf42d ci: fix port 5432 collision and include read-only-prisma helper Hartmut 2026-04-12 16:25:19 +02:00
  • 3391ae5ce6 ci: consolidate workflows into single CI pipeline with job deps Hartmut 2026-04-12 14:54:05 +02:00
  • 002f44ea3d ci: skip CI/deploy/release workflows on docs-only changes Hartmut 2026-04-12 14:42:03 +02:00
  • 5fd650460e docs(gitea): bump postgres stop_grace_period to 120s Hartmut 2026-04-12 14:35:14 +02:00
  • 6a37abb8c1 docs(gitea): swap runner base image to catthehacker/ubuntu:act-latest Hartmut 2026-04-12 14:17:05 +02:00
  • 00e16bff9e docs(gitea): add stop_grace_period to postgres service Hartmut 2026-04-12 12:38:05 +02:00
  • e9c8e2de7b ci: bump runner capacity to 4 and add BuildKit cache for image builds Hartmut 2026-04-12 12:25:03 +02:00
  • ed9827aa16 ci: fix architecture guardrails and document QNAP runner setup Hartmut 2026-04-12 12:11:24 +02:00
  • 0ca60fba17 ci: trigger first Gitea Actions run Hartmut 2026-04-12 11:55:59 +02:00
  • dc1e0bfb28 fix(auth): use full-page navigation after sign-in to prevent stale dashboard Hartmut 2026-04-12 10:00:07 +02:00
  • 622c4135f5 fix(web): align @next/bundle-analyzer version with lockfile Hartmut 2026-04-12 09:56:16 +02:00
  • a1f79f6ccc fix(web): replace "as any" with safer cast in DemandPopover Hartmut 2026-04-12 07:48:33 +02:00
  • 43bfd9ed0a test(api): add test coverage for project and resource mutation routers Hartmut 2026-04-11 23:42:36 +02:00
  • 8f7c69056f refactor(web): remove unnecessary "use client" from 6 pure-render components Hartmut 2026-04-11 23:36:34 +02:00
  • e08ee94546 fix(web): accessibility pass — add aria-labels, dialog roles, and pressed states Hartmut 2026-04-11 23:27:56 +02:00