Commit Graph

  • b4bf9cca3f feat(branding): multi-tenant brand naming + per-port email shell + auth UI continuity Matt 2026-05-20 15:54:10 +02:00
  • bac253b360 feat(analytics): Umami website-analytics suite — world map, realtime, sessions, heatmap, pixel tracking, tracked links Matt 2026-05-20 15:53:41 +02:00
  • 292800b643 docs(claude-md): manual UAT scaffold trigger Matt 2026-05-18 19:03:35 +02:00
  • 1b8dacfa54 docs(audit): full codebase audit — 128 findings across 16 areas Matt 2026-05-18 18:38:10 +02:00
  • b3f87563c6 feat(audit-cleanup): finish all 15 outstanding items from verified backlog Matt 2026-05-18 18:22:36 +02:00
  • ef0dc5abc4 feat(post-audit): finish Phase 3 / 4 / 5 / 7 — remaining work Matt 2026-05-18 17:09:19 +02:00
  • f938847ed9 feat(post-audit): Phase 5 partial (4/8 templates) + 7.1 editor scaffold + per-entity reminder buttons Matt 2026-05-18 16:37:19 +02:00
  • eaab14943b feat(post-audit): Phase 3 EOI overrides + 3c spawn + 3d promote + Phase 4 worker Matt 2026-05-18 16:18:03 +02:00
  • 503207ef68 feat(post-audit): Phase 4 polish + Phase 2 wiring + Phase 6 cron + CLAUDE.md Matt 2026-05-18 15:38:37 +02:00
  • a6e79231f3 docs(plan): mark Phase 1+2 ☑, Phase 3-7 ◐ partial Matt 2026-05-18 15:13:28 +02:00
  • df1594d596 feat(email): Phase 5 — branding chain ext'd with per-port background Matt 2026-05-18 15:12:28 +02:00
  • 9f5786890e feat(post-audit): Phase 3/6/7 schema foundations + bounce parser Matt 2026-05-18 15:09:22 +02:00
  • fb4a09e2ec feat(reminders): Phase 4 partial — schema + service + validators Matt 2026-05-18 15:03:12 +02:00
  • 918c23fc0b feat(post-audit): Phase 1.3 + 1.4 + Phase 2 signals + pulse admin Matt 2026-05-18 14:57:55 +02:00
  • ee3cbb9b39 docs(plan): expand master plan with detailed implementation appendix Matt 2026-05-18 14:50:00 +02:00
  • c9debce442 docs(plan): comprehensive 7-phase master plan for post-audit work Matt 2026-05-18 14:43:12 +02:00
  • 0f99f054b3 feat(post-audit): batch A+B quick-wins + audit-side residuals Matt 2026-05-18 14:22:11 +02:00
  • 4b5f85cb7d fix(audit): comprehensive 2026-05-15 audit fix wave + Documenso v2 polish Matt 2026-05-18 13:28:50 +02:00
  • 397dbd1490 docs(spec): env-to-admin migration design Matt 2026-05-15 14:22:39 +02:00
  • d15f5509ad docs(audit): progress report for the 2026-05-15 fix wave Matt 2026-05-15 01:22:14 +02:00
  • 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