-
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
-
85c064ba32
fix(api): harden raw SQL jsonb field validation in batchUpdateCustomFields
Hartmut
2026-04-11 23:23:43 +02:00
-
74ed45ddfc
fix(web): add missing loading and error states to MfaPromptBanner, Step1Identity, MobileSummaryClient
Hartmut
2026-04-11 23:22:18 +02:00
-
c9be7c9bbf
refactor(web): make SmtpSettingsPanel self-contained, eliminating prop drilling
Hartmut
2026-04-11 23:20:36 +02:00
-
bfcadd2c52
refactor(web): decompose TimelineView, ReportBuilder, and ResourceModal into focused components
Hartmut
2026-04-11 23:16:38 +02:00
-
5a4836d292
perf(api): eliminate 3 N+1 query patterns
Hartmut
2026-04-11 22:59:45 +02:00
-
dd2c9c0f88
perf(api,web,db): refactor and optimize for enterprise readiness
Hartmut
2026-04-11 22:34:41 +02:00
-
b3da8817dc
refactor(web): extract render functions from TimelineProjectPanel into dedicated module
Hartmut
2026-04-11 09:05:47 +02:00
-
d1d33aa810
refactor(web): extract ReportResultsPanel and nav icons from monolithic components
Hartmut
2026-04-11 08:58:31 +02:00
-
17f2de5f48
refactor(web): decompose AllocationsClient and UsersClient into focused subcomponents
Hartmut
2026-04-11 08:49:50 +02:00
-
e3551fb78f
fix(api): validate rolePresets with RolePresetsSchema before DB cast
Hartmut
2026-04-11 08:35:02 +02:00
-
9c537b027b
ci: add dependency audit step and CODEOWNERS
Hartmut
2026-04-11 08:31:45 +02:00
-
85e1bcc06f
refactor(web): decompose ProjectWizard into step components
Hartmut
2026-04-11 08:30:33 +02:00
-
f3fa902773
fix(web): make invalidation hooks async with Promise.all and fix cross-view staleness
Hartmut
2026-04-11 08:24:33 +02:00
-
f18777c365
refactor(web): split TimelineContext into data, view, and display contexts
Hartmut
2026-04-11 08:17:58 +02:00
-
7eac5816d6
feat(web): add error boundaries to uncovered route groups
Hartmut
2026-04-11 08:13:51 +02:00
-
c098cedf06
perf(db): add missing indexes, fix N+1 batch delete, add pagination limits
Hartmut
2026-04-11 08:09:39 +02:00
-
110e4ff1aa
fix(security): harden auth reset, rate limiter fallback, and CI secrets
Hartmut
2026-04-11 08:03:42 +02:00
-
98c2554570
fix(docker): reconcile pnpm workspace symlinks at container start
Hartmut
2026-04-11 07:54:09 +02:00
-
4469fc42af
fix(build): resolve Next.js build failures from invalid route exports
Hartmut
2026-04-11 07:40:00 +02:00
-
d8aac21e2d
test(e2e): add axe-core accessibility fixture and smoke spec
Hartmut
2026-04-11 07:20:10 +02:00
-
c794e82464
test(web): add 23 edge-case tests across UI components and lib utils
Hartmut
2026-04-10 23:14:59 +02:00
-
591842c5a1
chore: add knip for unused export/dependency detection
Hartmut
2026-04-10 23:10:59 +02:00
-
797aa5e350
fix(a11y): add ARIA attributes to core UI components
Hartmut
2026-04-10 23:06:25 +02:00
-
09dcedb646
feat(eslint): add jsx-a11y accessibility rules as warnings
Hartmut
2026-04-10 22:59:15 +02:00
-
6830bfb314
refactor(web): extract 4 pure render functions from TimelineResourcePanel
Hartmut
2026-04-10 22:57:19 +02:00
-
9bd7172018
test(web): add 162 tests for animation components and hooks
Hartmut
2026-04-10 22:45:44 +02:00
-
d3f721ce58
refactor(web): extract ResourcesClient types + inline components, fix test TS errors
Hartmut
2026-04-10 22:40:24 +02:00
-
dcac9952ca
test(web): add 232 tests for catalog, presets, skeleton, hooks
Hartmut
2026-04-10 17:27:35 +02:00
-
a3d75973ee
test(web): add 291 tests for parsers, hooks, and UI components
Hartmut
2026-04-10 17:14:11 +02:00
-
98dca6126f
test(web): add 210 tests for lib utils, hooks, and UI components
Hartmut
2026-04-10 17:11:00 +02:00
-
c0ba062460
test(web): add 57 UI component and hook tests with jsdom cleanup
Hartmut
2026-04-10 17:06:42 +02:00
-
63db4a09e6
refactor(web): set up component test infra + decompose ProjectWizard
Hartmut
2026-04-10 17:00:45 +02:00
-
2f2fe2631f
test(api): add 38 tests for project read, project cost, and staffing shared utils
Hartmut
2026-04-10 16:49:23 +02:00
-
45cf7b8c29
test(api): add 36 tests for insights anomalies and resource identifier read
Hartmut
2026-04-10 16:45:26 +02:00
-
378ed61002
test(api): add 34 router tests for estimate read/workflow and vacation read
Hartmut
2026-04-10 16:41:18 +02:00
-
a0de69a520
test(api): add 68 router tests for comment, project-lifecycle, dispo, holiday-calendar
Hartmut
2026-04-10 16:37:02 +02:00
-
2484eb9b9d
test(api): add 50 router tests for settings, webhook, and calculation rules
Hartmut
2026-04-10 16:29:10 +02:00
-
efe3b96676
test(api): add 48 router tests for client, role, and blueprint CRUD
Hartmut
2026-04-10 16:26:12 +02:00
-
486a2239be
test(application): add 34 tests for chargeability bookings and estimate operations
Hartmut
2026-04-10 16:21:15 +02:00
-
cd645c7d55
test(application): add 17 dashboard use-case tests for untested queries
Hartmut
2026-04-10 15:54:23 +02:00
-
800a4c5fff
test(application): add 40 use-case tests for vacation and entitlement operations
Hartmut
2026-04-10 15:51:23 +02:00
-
d0926601ea
test(shared): add 215 schema validation tests covering all 17 Zod schemas
Hartmut
2026-04-10 15:47:53 +02:00
-
dfeb4d361e
fix(tests): align 20 drifted tests with current source behavior
Hartmut
2026-04-10 15:41:42 +02:00
-
9bd3781c03
fix(types): flatten tRPC Zod schema types to resolve TS2589 inference depth errors
Hartmut
2026-04-10 15:28:12 +02:00
-
0d79f97d7a
fix(types): remove unnecessary
as any casts in web components
Hartmut
2026-04-10 15:13:06 +02:00
-
9051ff73d0
fix(types): replace structural DB types with Pick<PrismaClient> and remove Prisma boundary
as any casts
Hartmut
2026-04-10 15:09:16 +02:00
-
82acc56b8d
chore: add pre-commit hooks, tighten ESLint, activate Sentry DSN, publish CI coverage (Phase 1)
Hartmut
2026-04-10 14:49:29 +02:00
-
605fd7cea1
docs: enhance README with detailed feature descriptions and architecture diagram
Hartmut
2026-04-10 14:10:15 +02:00
-
600a86ca71
docs: add project README with screenshots and setup guide
Hartmut
2026-04-10 14:07:08 +02:00
-
78d50b78d3
fix: script portability and npm security updates
Hartmut
2026-04-10 14:06:58 +02:00
-
e4bf121b33
feat(ui): weekend/vacation/checkbox colors follow accent theme
Hartmut
2026-04-10 14:06:44 +02:00
-
0339b11038
fix(ui): remove utilization row background tint from timeline
Hartmut
2026-04-10 10:53:21 +02:00
-
5afc6c8c94
fix(ui): remove blue-shifted hardcoded colors from timeline components
Hartmut
2026-04-10 10:46:41 +02:00
-
60d89a1bc8
fix(ui): replace blue-shifted hardcoded gradient in WidgetContainer dark mode
Hartmut
2026-04-10 10:35:44 +02:00
-
b663755749
fix(ui): add gray-950 opacity variant overrides to dark theme normalization
Hartmut
2026-04-10 09:26:58 +02:00
-
05aa864359
refactor(ui): replace inline INPUT_CLS/LABEL_CLS/BTN_DANGER constants and action link classes with CSS component classes
Hartmut
2026-04-10 09:21:03 +02:00
-
9ba49c9ab8
fix(ui): add dark mode variants to dashboard, layout, notification and chargeability components
Hartmut
2026-04-10 09:20:50 +02:00
-
2a91257e69
fix(ui): neutralise dark theme — eliminate blue-shifted grays across all surfaces
Hartmut
2026-04-10 09:20:38 +02:00
-
db892ae285
fix(ui): move all :is(.dark) component class rules outside @layer
Hartmut
2026-04-10 07:19:16 +02:00
-
9b5cd8549d
refactor(ui): replace inline INPUT_CLS/BTN_DANGER/action link constants with component classes
Hartmut
2026-04-10 07:02:08 +02:00
-
e575462b01
refactor(ui): clean dark theme — global-first, variable-backed approach
Hartmut
2026-04-10 07:01:59 +02:00
-
ddd711f93f
fix(ui): fix .app-data-table dark mode — @apply dark: unreliable in @layer components
Hartmut
2026-04-09 22:51:06 +02:00
-
d1a21a79b2
fix(ui): comprehensive dark-theme hardcoded color pass
Hartmut
2026-04-09 22:37:43 +02:00
-
13262b5cec
refactor(ui): unify dark theme — replace hardcoded hex with CSS variables
Hartmut
2026-04-09 22:25:10 +02:00
-
1a2f7de5bd
fix(ui): replace hardcoded purple values with accent-adaptive CSS variables
Hartmut
2026-04-09 22:17:50 +02:00
-
1383169352
feat(ui): Aurora design system — glassmorphic dark mode, warm light mode, snappy animations
Hartmut
2026-04-09 22:10:52 +02:00
-
97cfd0ed90
fix(security): raise password minimum to 12 chars, hide raw error messages, add audit script
Hartmut
2026-04-09 21:48:51 +02:00
-
20fb39fd05
fix(security): harden production Docker — bind DB/Redis to localhost, add Redis auth
Hartmut
2026-04-09 21:41:15 +02:00
-
afabaa0b7a
fix(security): prevent TOTP replay attacks and fix user enumeration in verifyTotp
Hartmut
2026-04-09 21:41:09 +02:00
-
1833182e90
fix(security): harden input validation schemas and fix SSR sanitize bypass
Hartmut
2026-04-09 21:38:16 +02:00
-
df191d1e03
fix(security): rate-limit public invite and password-reset endpoints
Hartmut
2026-04-09 21:38:08 +02:00
-
9e31c6d972
fix(security): harden cron and API route authentication
Hartmut
2026-04-09 21:38:02 +02:00
-
3452464809
fix(security): invalidate sessions on password change and remove hash from permission API responses
Hartmut
2026-04-09 21:37:56 +02:00
-
ebeb180f3f
fix(ui): make project detail and scenario pages full width
Hartmut
2026-04-09 21:14:42 +02:00