Commit Graph

  • 98211066a5 fix(legacy-stage): purge 9-stage enum keys from rank tables and stale copy Matt 2026-05-15 01:18:13 +02:00
  • 0d9208a052 fix(audit): A1/A2/A4/A6/A8/A9/A16/A17/A19/A20 from 2026-05-15 sweep Matt 2026-05-15 01:12:20 +02:00
  • 3b3ac287e0 docs(audit): comprehensive 320+ check catalog organized by area Matt 2026-05-15 00:54:08 +02:00
  • ff5e71092e docs(audit): 2026-05-15 comprehensive Playwright sweep findings Matt 2026-05-15 00:44:51 +02:00
  • 58940552be test: update yacht-prereq error message assertion to match F21 copy Matt 2026-05-15 00:00:32 +02:00
  • 202e0b1bc5 refactor(layout): single-tree responsive shell (#26) Matt 2026-05-14 23:59:30 +02:00
  • 7d33e73eef feat(berths): manual status catch-up wizard + reconciliation queue (#67) Matt 2026-05-14 23:55:22 +02:00
  • d2804de0d1 fix(ux): inline yacht-prereq picker + deprioritize country in client form Matt 2026-05-14 23:46:36 +02:00
  • 84468386d9 fix(ux): T4 polish wave — empty-contact filter, redirect-on-create, friendly stage errors Matt 2026-05-14 23:42:27 +02:00
  • 3e78c2d4ab fix(F17 ext): apply DetailNotFound to clients/yachts/companies/berths Matt 2026-05-14 23:06:36 +02:00
  • 608641c23b fix(T3): inline tag create + explicit 404 on interest detail Matt 2026-05-14 23:03:30 +02:00
  • e7e498dedd fix(T3): copy + entry points + recommender alias Matt 2026-05-14 22:59:38 +02:00
  • 98fe295675 fix: cascade-archive client's open interests — F10 Matt 2026-05-14 22:53:42 +02:00
  • f85948488d test: update GDPR export test for dashed jobId — companion to F3 Matt 2026-05-14 22:50:51 +02:00
  • 025648c40b fix(P1): soft-archive berths instead of hard-delete — F5 Matt 2026-05-14 22:49:43 +02:00
  • 2d0a49e0d1 fix(P1): input validation hardening for client API — F6 Matt 2026-05-14 22:44:15 +02:00
  • 27f8db4c67 fix(P1): rate-limit auth endpoints — F7 Matt 2026-05-14 22:41:47 +02:00
  • 2c57082d8d fix(P1): postgres-js pool reliability — F8 Matt 2026-05-14 22:40:24 +02:00
  • e469b2b6a6 fix(P1): GDPR export + Redis eviction policy Matt 2026-05-14 22:39:16 +02:00
  • 85bd0d82e1 docs: capture post-audit fix plan from two-round Playwright sweep Matt 2026-05-14 22:38:02 +02:00
  • 446342aa69 fix: P0 — bootstrap proxy + interest detail Date crash Matt 2026-05-14 22:37:47 +02:00
  • b2ba0b4e0a fix(ci): repair pnpm lint for Next 16 + cross-tree ignores Matt 2026-05-14 16:03:37 +02:00
  • a8607ecc9e docs(plan): close Step 9 — recommender simulator deferred Matt 2026-05-14 15:55:17 +02:00
  • 3c2826635d feat(portal-auth): URL fragment for activation/reset tokens Matt 2026-05-14 15:54:15 +02:00
  • 2a2673e328 refactor(terminology): "deal" → "interest" sweep + route rename Matt 2026-05-14 15:50:56 +02:00
  • 66869c9a90 feat(dashboard): berth-heat widget + investor-default surfacing Matt 2026-05-14 15:47:49 +02:00
  • 709ef350ff feat(bulk-berths): 2-step wizard for new-port setup Matt 2026-05-14 15:45:06 +02:00
  • 4182652d49 feat(externally-signed): mark contract/reservation as signed without file Matt 2026-05-14 15:42:21 +02:00
  • a77b3c670a feat(ux): P-4.5 inquiry linkage + docs N+1 parallelization Matt 2026-05-14 15:37:23 +02:00
  • e933e32dbd feat(schema): berths.archived_at + clients.source_inquiry_id + email_bounces Matt 2026-05-14 15:33:20 +02:00
  • fd2c7d6b12 feat(send-dialog): surface per-port attachment threshold in preview UI Matt 2026-05-14 15:27:37 +02:00
  • d556bb88f7 feat(email-routing): per-category send-from routing infra + admin matrix Matt 2026-05-14 15:24:38 +02:00
  • bded8b21f1 feat(reporting): money-math sweep — Step 1 PRE-DEPLOY-PLAN Matt 2026-05-14 15:19:38 +02:00
  • 81d4e64f69 refactor(interests): drop pipelineStage='completed' sentinel convention Matt 2026-05-14 15:04:13 +02:00
  • 465650957b fix(pipeline-refactor): purge stale 9-stage name references Matt 2026-05-14 14:56:58 +02:00
  • b966d8106d feat(active-interest): canonical predicate + fix stale getHotDeals rank Matt 2026-05-14 14:53:58 +02:00
  • f86f511e7b docs(plan): lock pre-deploy plan from 2026-05-14 planning session Matt 2026-05-14 14:49:13 +02:00
  • c44d818144 docs(backlog): mark set-state-in-effect migration as DONE Matt 2026-05-14 03:51:30 +02:00
  • 080e1fa454 perf(audit-log): wire DataTable virtual prop on audit-log-list Matt 2026-05-14 03:50:34 +02:00
  • 233129f91a feat(qualification-criteria): dnd reordering with whole-list PATCH Matt 2026-05-14 03:49:17 +02:00
  • 905852b8a5 feat(permissions): carve out dedicated payments resource Matt 2026-05-14 03:46:01 +02:00
  • 6b28459c45 feat(pipeline): 9→7 stage refactor + v1.1 hardening wave Matt 2026-05-14 03:39:21 +02:00
  • b10bf9bf8e fix(bootstrap): include missing bootstrap.service helper Matt 2026-05-14 03:38:16 +02:00
  • 1a65e02885 feat(bootstrap): first-run super-admin setup flow Matt 2026-05-14 03:37:19 +02:00
  • 0fe3e984d1 feat(supplemental-info): pre-EOI public form flow Matt 2026-05-14 03:36:56 +02:00
  • e11529ffcc refactor(activity-feed): collapse/expand grouping + verb-tense rewrite Matt 2026-05-14 03:35:35 +02:00
  • 05b57abf05 refactor(settings): consolidate user profile into single settings page Matt 2026-05-14 03:35:07 +02:00
  • 12e22d9be3 fix(ui+auth): origin-forwarding for sign-in + disable dark mode + center dialog Matt 2026-05-13 15:20:06 +02:00
  • bd432fc6c7 docs(backlog): document the deferred-refactor list with rationale Matt 2026-05-13 14:18:58 +02:00
  • adebd5f91d feat(documenso-phase-6): activity badges + per-document invitation message Matt 2026-05-13 14:17:39 +02:00
  • 4d1fbcd469 feat(documenso-phase-5): pin transformSigningUrl + document website-side coordination Matt 2026-05-13 14:11:50 +02:00
  • b1dfec09a0 feat(documenso-phase-7): Project Director RBAC binding Matt 2026-05-13 14:08:52 +02:00
  • 7bf587de90 feat(documenso-phase-4): recipient configurator + field placement UI Matt 2026-05-13 14:03:27 +02:00
  • 33d0426911 feat(documenso-phase-3): custom document upload-to-Documenso Matt 2026-05-13 13:52:21 +02:00
  • 3dc4c6ff14 feat(documenso-phase-2): webhook handler enhancement — cascade + completion fan-out Matt 2026-05-13 13:47:33 +02:00
  • ebdd8408bf fix(audit-wave-11): dossier sweep — error-ux + webhook + storage + search + maintainability Matt 2026-05-13 13:27:32 +02:00
  • 93399ea27e fix(audit-wave-11): mobile dvh + multi-port slug-first apiFetch Matt 2026-05-13 13:08:09 +02:00
  • 7370b2cd7d fix(audit-wave-11): file-lifecycle hardening — avatar leak + files FK Matt 2026-05-13 13:06:27 +02:00
  • 19002f4c21 fix(audit-wave-11): CSP nonce middleware — drops 'unsafe-inline' in prod Matt 2026-05-13 13:04:30 +02:00
  • b4e502fedd fix(audit-wave-11): BullMQ jobId plumbing for natural dedup Matt 2026-05-13 13:02:38 +02:00
  • 2496911dc4 fix(audit-wave-11): asset hygiene + datetime correctness Matt 2026-05-13 12:58:58 +02:00
  • 72237a0191 fix(audit-wave-11): authz hardening — caller-superset on role assign Matt 2026-05-13 12:54:29 +02:00
  • b2c8ed2ff1 fix(audit-wave-11): auth-flow hardening (auth-flow-auditor) Matt 2026-05-13 12:52:17 +02:00
  • bc54ea2c3e docs(backlog): mark Wave 10 items DONE; final grand-audit status Matt 2026-05-13 12:38:31 +02:00
  • c8ea9ec0a0 fix(audit-wave-10): aria-hidden sweep on decorative Lucide icons (#69) Matt 2026-05-13 12:37:22 +02:00
  • ecf49be18c fix(audit-wave-10): concurrency hardening (concurrency-auditor) Matt 2026-05-13 12:34:23 +02:00
  • 0ea8d94d26 fix(audit-wave-10): build-auditor fixes — CSP, server externals, healthcheck Matt 2026-05-13 12:30:22 +02:00
  • f183f58b0c fix(audit-wave-10): types-auditor fixes — Tx type, BerthDetailData, parseBody, toAuditJson Matt 2026-05-13 12:27:08 +02:00
  • b397f6049d docs(backlog): mark Wave 9 items DONE in master backlog Matt 2026-05-13 12:16:34 +02:00
  • a8dec0bada fix(audit-wave-9): onboarding + first-run UX fixes (onboarding-auditor) Matt 2026-05-13 12:15:46 +02:00
  • 689a114aba fix(audit-wave-9): copy/terminology sweep (copy-auditor) Matt 2026-05-13 12:12:40 +02:00
  • eab30c194a fix(audit-wave-9): PDF correctness + brand asset hardening (pdf-auditor) Matt 2026-05-13 12:07:57 +02:00
  • c1fcc9d5c4 fix(audit-wave-9): route-level loading skeletons across dashboard Matt 2026-05-13 12:02:10 +02:00
  • 0df761f4ad fix(audit-wave-9): add mobile cardRender to remaining admin lists Matt 2026-05-13 12:00:35 +02:00
  • 153f6ac797 fix(audit-wave-9): unified template token picker with custom-field group Matt 2026-05-13 11:57:37 +02:00
  • a49ee1c347 fix(audit-wave-9): adopt StatusPill for berth + user status badges Matt 2026-05-13 11:54:13 +02:00
  • 4233aa3ac3 fix(audit-wave-9): standardize on Sheet for previews; doctrine in CLAUDE.md Matt 2026-05-13 11:50:07 +02:00
  • b2588ecdd8 fix(audit-wave-1): route all email-template URLs through safeUrl Matt 2026-05-13 00:08:51 +02:00
  • bb9b5bb1a3 fix(audit-wave-1): orphan-blob window in handleDocumentCompleted Matt 2026-05-13 00:07:08 +02:00
  • 544b129b00 feat(audit-wave-1): real db:migrate runner with CONCURRENTLY support Matt 2026-05-13 00:04:52 +02:00
  • 28c788ff41 feat(deps): p-retry around Documenso fetch + p-queue installed Matt 2026-05-12 23:50:29 +02:00
  • 7675a26889 docs(backlog): grand audit cleanup plan in 8 prioritized waves Matt 2026-05-12 23:45:21 +02:00
  • 4ae34dacda fix(compiler): key-based remount on hard-delete dialogs Matt 2026-05-12 23:43:20 +02:00
  • 8a8cff4c4c fix(compiler): migrate custom-fields-manager to useQuery Matt 2026-05-12 23:37:30 +02:00
  • 96c6b7c01c fix(compiler): migrate template-version-history to useQuery Matt 2026-05-12 23:36:05 +02:00
  • 6ca94ee3f1 fix(compiler): migrate 6 list pages to useQuery (set-state-in-effect) Matt 2026-05-12 23:34:24 +02:00
  • d1c9469fa7 feat(deps): Tier 2 UX polish — embla, lightbox, gestures, virtuoso, motion Matt 2026-05-12 23:29:22 +02:00
  • 4329db7fc3 fix(compiler): React Compiler safety triage — 5 categories cleared Matt 2026-05-12 23:14:16 +02:00
  • ba1db2afea chore(deps): better-auth 1.6.10 → 1.6.11 (patch) Matt 2026-05-12 22:57:52 +02:00
  • d0a3a054b6 feat(deps): pdfjs-dist + react-pdf for consistent in-app PDF preview Matt 2026-05-12 22:56:42 +02:00
  • 75920a2540 feat(deps): react-number-format replaces hand-rolled CurrencyInput parser Matt 2026-05-12 22:53:18 +02:00
  • 9868c68f8f feat(deps): type-fest installed for opportunistic utility-type adoption Matt 2026-05-12 22:49:45 +02:00
  • 100beb9974 feat(deps): papaparse for expense CSV export Matt 2026-05-12 22:49:20 +02:00
  • 3aa1275ed7 feat(deps): next-intl scaffold (English-only, future locale-add ready) Matt 2026-05-12 22:47:18 +02:00
  • dda554df84 feat(deps): @faker-js/faker wide-synthetic seed for load testing Matt 2026-05-12 22:43:59 +02:00
  • 92975e6bf5 feat(deps): @sentry/nextjs error tracking (DSN-gated, dormant by default) Matt 2026-05-12 22:38:18 +02:00
  • 699ae52827 feat(deps): react-resizable-panels for docs hub desktop split Matt 2026-05-12 22:30:06 +02:00
  • 4879b17cff feat(deps): Next 15 → 16 (proxy.ts rename + native flat ESLint config) Matt 2026-05-12 22:24:51 +02:00
  • 0ab96d74a8 feat(deps): Tailwind 3 → 4 + swap tailwindcss-animate for tw-animate-css Matt 2026-05-12 22:14:38 +02:00
  • 3147923d91 docs(backlog): close out dep adoption — reject upstash/faker/msw with rationale Matt 2026-05-12 22:02:13 +02:00