Commit Graph

  • 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
  • 5cc177ccf9 fix(dashboard): prevent stale DB data from overwriting newer localStorage layout Hartmut 2026-04-09 21:14:36 +02:00
  • c784b4b378 fix(infra): wait for postgres readiness before running migrations on container start Hartmut 2026-04-09 21:14:31 +02:00
  • 43de66e982 feat(api): add audit helpers, tool registry, shared tool manifest types, and UI primitives Hartmut 2026-04-09 21:14:26 +02:00
  • 1a67af6761 fix(dashboard): measure grid container width after hydration completes, not just on mount Hartmut 2026-04-09 20:58:57 +02:00
  • 5ad1048519 feat(dashboard): expand grid to 16 columns with auto-migration for saved 12-col layouts Hartmut 2026-04-09 20:50:40 +02:00
  • 446aea5319 feat(dashboard): combine vertical + horizontal compaction for gap-free widget layout Hartmut 2026-04-09 20:42:49 +02:00
  • 4eac7b1888 fix(infra): apply missing migrations, fix Dockerfile.dev ui package reference Hartmut 2026-04-09 20:29:21 +02:00
  • 4875096b13 fix(dashboard): restore vertical compaction so widgets auto-align when dragged Hartmut 2026-04-09 20:19:24 +02:00
  • c83bd5f97f Merge branch 'worktree-agent-a8de1898' - Phase 2A entitlement use-cases Hartmut 2026-04-09 20:16:38 +02:00
  • 999626cf70 feat(application): extract entitlement use-cases from API router layer Hartmut 2026-04-09 20:14:35 +02:00
  • 1a8ea11331 feat(db): add deletedAt audit timestamp to soft-deletable models Hartmut 2026-04-09 20:03:38 +02:00
  • f7407bd882 fix(api): add centralized Prisma → TRPCError middleware on protectedProcedure Hartmut 2026-04-09 19:58:00 +02:00
  • 245b59723a fix(api): update resource-router tests for select-based listStaff queries Hartmut 2026-04-09 19:33:58 +02:00
  • db83933ea1 Merge branch 'worktree-agent-aed43cff' Hartmut 2026-04-09 19:31:50 +02:00
  • 36900a1219 Merge branch 'worktree-agent-a7de1005' Hartmut 2026-04-09 19:31:11 +02:00
  • 6c7245db93 test(e2e): add Playwright tests for core workflows Hartmut 2026-04-09 19:30:43 +02:00
  • 6f3bdd81e8 perf(api): add explicit Prisma selects on hot read paths Hartmut 2026-04-09 19:24:55 +02:00
  • d737a251b2 fix(api): replace ctx.session.user lookups with ctx.dbUser Hartmut 2026-04-09 19:18:39 +02:00
  • d7a35b2d7a feat(web): add React error boundaries and Next.js error.tsx fallbacks Hartmut 2026-04-09 19:16:26 +02:00
  • 070be70848 refactor(application): extract vacation management into application use-cases Hartmut 2026-04-09 17:11:37 +02:00
  • 6bf60c8e07 feat(web): persist list-page filters in URL search params Hartmut 2026-04-09 17:00:30 +02:00
  • 7264f0728a perf(timeline): add useCallback/useMemo to timeline components Hartmut 2026-04-09 16:54:38 +02:00
  • dda049075f refactor(application): extract vacation management into application use-cases Hartmut 2026-04-09 16:49:45 +02:00
  • 485e220c49 fix(api,web): env startup validation, QueryClient defaults, warn on missing REDIS_URL Hartmut 2026-04-09 16:42:34 +02:00
  • 3c0179fcec fix(api): wrap audit log writes inside their parent transactions Hartmut 2026-04-09 16:40:10 +02:00
  • a01f99561d fix(api): fix import paths missed by router reorganisation Hartmut 2026-04-09 14:47:16 +02:00