Commit Graph

  • 22b019a27e merge: PR10c — visual polish (dashboard) (Phase A) Matt Ciaccio 2026-04-28 12:10:00 +02:00
  • a3424b80d5 style(dashboard): KPITile primitive + gradient PageHeader + tile skeletons Matt Ciaccio 2026-04-28 12:09:59 +02:00
  • 5bcdfefde3 merge: PR10b — visual polish (detail pages) (Phase A) Matt Ciaccio 2026-04-28 12:09:54 +02:00
  • 22f944fde2 style(detail): apply gradient header strip to client/interest/yacht/company/berth/residential/invoice details Matt Ciaccio 2026-04-28 12:09:47 +02:00
  • cda44e721b fix(layout): hoist TooltipProvider to wrap full sidebar tree Matt Ciaccio 2026-04-28 05:08:01 +02:00
  • 0406778c44 fix(api): kill currentPortId persist race + dedupe admin/ports stampede Matt Ciaccio 2026-04-28 04:38:57 +02:00
  • 259cd7b8bb merge: PR11 — realapi spec scaffolds (Phase A) Matt Ciaccio 2026-04-28 02:53:55 +02:00
  • e42b8fde84 test(realapi): Phase A integration spec scaffolds Matt Ciaccio 2026-04-28 02:53:49 +02:00
  • f354f4adab merge: PR10 — visual polish (lists) (Phase A) Matt Ciaccio 2026-04-28 02:52:26 +02:00
  • 38cd36a616 style(lists): apply gradient PageHeader to client/interest/yacht/company/berth lists Matt Ciaccio 2026-04-28 02:52:17 +02:00
  • 77b6ef5026 merge: PR9 — reminder framework polish (Phase A) Matt Ciaccio 2026-04-28 02:50:06 +02:00
  • 978df1c4d7 feat(reminders): cadence-aware framework with auto/manual modes Matt Ciaccio 2026-04-28 02:50:00 +02:00
  • df0b408b7a merge: PR8 — email attachments + system/user senderType (Phase A) Matt Ciaccio 2026-04-28 02:48:17 +02:00
  • 1151768159 feat(email): system/user senderType + attachments Matt Ciaccio 2026-04-28 02:48:11 +02:00
  • 9e69c13202 merge: PR7 — reservation detail + agreement (Phase A) Matt Ciaccio 2026-04-28 02:45:11 +02:00
  • 6212c118e5 feat(reservations): detail page with agreement flow + contract mirror Matt Ciaccio 2026-04-28 02:45:05 +02:00
  • 6795db9aa8 merge: PR6 — create-document wizard MVP (Phase A) Matt Ciaccio 2026-04-28 02:43:05 +02:00
  • d8f0cdd7d2 feat(documents): create-document wizard MVP + service dispatch Matt Ciaccio 2026-04-28 02:43:00 +02:00
  • 2dc53842c0 merge: PR5 — document detail page (Phase A) Matt Ciaccio 2026-04-28 02:39:52 +02:00
  • aa15807063 feat(documents): detail page with signers, watchers, activity, actions Matt Ciaccio 2026-04-28 02:39:46 +02:00
  • 2a3fae4d6a merge: PR4 — documents hub page (Phase A) Matt Ciaccio 2026-04-28 02:35:43 +02:00
  • da7262f18f feat(documents): hub page with tabs, filters, and live counts Matt Ciaccio 2026-04-28 02:35:36 +02:00
  • 398d6322f1 merge: PR3 — visual primitives + tokens (Phase A) Matt Ciaccio 2026-04-28 02:25:14 +02:00
  • deafc5ef38 feat(ui): visual polish primitives + token additions (Phase A) Matt Ciaccio 2026-04-28 02:25:08 +02:00
  • 9b87b14c99 merge: PR2 — Documenso v1/v2 abstraction (Phase A) Matt Ciaccio 2026-04-28 02:22:11 +02:00
  • da44e8ecbe feat(documenso): version-aware field placement + void abstractions Matt Ciaccio 2026-04-28 02:22:04 +02:00
  • af2db06244 merge: PR1 — data model + service skeletons (Phase A) Matt Ciaccio 2026-04-28 02:12:14 +02:00
  • 0eff6050ae feat(documents): Phase A schema + service skeletons Matt Ciaccio 2026-04-28 02:12:05 +02:00
  • d8ac62f6f4 docs(spec): documents hub + reservation agreements + visual polish (Phase A) Matt Ciaccio 2026-04-28 01:51:41 +02:00
  • dd138547fb test(e2e): fix admin-nav locator + add residential interest API coverage Matt Ciaccio 2026-04-28 00:19:51 +02:00
  • 1791dd7319 fix(ui): resolve yacht owner names server-side, real user in topbar Matt Ciaccio 2026-04-27 23:54:04 +02:00
  • 0ccc66833d fix(ui): admin settings loading-loop, real user name, expanded admin nav Matt Ciaccio 2026-04-27 23:44:04 +02:00
  • 4877b97f27 feat(admin): per-port email/Documenso/branding/reminder settings + invitations Matt Ciaccio 2026-04-27 23:21:54 +02:00
  • f2c57c513e feat(queue): implement form-expiry-check maintenance job Matt Ciaccio 2026-04-27 21:58:14 +02:00
  • 999622fd08 feat(companies): show member + yacht counts on list page Matt Ciaccio 2026-04-27 21:57:13 +02:00
  • e8d61c91c4 feat(platform): residential module + admin UI + reliability fixes Matt Ciaccio 2026-04-27 21:54:32 +02:00
  • fac8021156 docs: reflect testing infra + Documenso/portal auth conventions in CLAUDE.md Matt Ciaccio 2026-04-27 15:48:18 +02:00
  • ea8181d108 test(visual): regression baselines for stable list/landing pages Matt Ciaccio 2026-04-27 15:42:40 +02:00
  • 65b241805e test(portal): IMAP full-lifecycle activation E2E + dev probe helper Matt Ciaccio 2026-04-27 15:40:28 +02:00
  • 4a859245b7 test(documenso): real-API E2E spec + 2.x response normalization Matt Ciaccio 2026-04-27 15:25:06 +02:00
  • 4441f1177f feat(portal): branded auth pages + legacy email styling + dev redirect override Matt Ciaccio 2026-04-27 15:04:21 +02:00
  • c4085265ff fix(documenso): align webhook receiver with Documenso v1.13 + 2.x protocol Matt Ciaccio 2026-04-27 13:46:48 +02:00
  • 475b051e29 feat(portal): replace magic-link with email/password + admin-initiated activation Matt Ciaccio 2026-04-26 15:34:02 +02:00
  • 4da8ed3ae4 docs: reflect data-model refactor in CLAUDE.md + DB schema overview Matt Ciaccio 2026-04-26 14:14:34 +02:00
  • 4c67b9dbd4 test(e2e): exhaustive click-through suite + destructive narrow tests Matt Ciaccio 2026-04-26 14:06:10 +02:00
  • 0ed401d083 refactor(clients): drop deprecated yacht/company/proxy columns Matt Ciaccio 2026-04-26 13:57:54 +02:00
  • 456d399ee2 refactor(templates): merge-field allow-list rejects unknown tokens Matt Ciaccio 2026-04-26 13:48:06 +02:00
  • f4ec51002c feat(eoi): template-aware generate-EOI dialog Matt Ciaccio 2026-04-26 13:42:08 +02:00
  • 2ff24a7132 feat(eoi): in-app pathway fills the same source PDF as Documenso Matt Ciaccio 2026-04-26 13:38:02 +02:00
  • f8255cedb8 feat(eoi): dual-path generateAndSign (inapp + documenso-template) Matt Ciaccio 2026-04-24 18:43:41 +02:00
  • 13d07e3906 feat(templates): merge-field resolver supports yacht/company/owner scopes Matt Ciaccio 2026-04-24 16:20:53 +02:00
  • 7ef7b9bb5f feat(eoi): seed Standard EOI in-app template per port Matt Ciaccio 2026-04-24 16:13:51 +02:00
  • 7200c31486 feat(eoi): add Documenso template payload builder Matt Ciaccio 2026-04-24 16:09:27 +02:00
  • db74c9394b docs(eoi): document Documenso template field name mapping Matt Ciaccio 2026-04-24 16:06:39 +02:00
  • d133d6d656 feat(ui): wire OwnerPicker into invoice billing-entity field Matt Ciaccio 2026-04-24 16:04:07 +02:00
  • 9d7decfc5b feat(invoices): polymorphic billing entity with snapshot clientName Matt Ciaccio 2026-04-24 16:02:00 +02:00
  • c685c9fada feat(recommendations): read yacht dimensions from yachts table Matt Ciaccio 2026-04-24 15:51:17 +02:00
  • 71d7daf1ae feat(search): index yachts and companies alongside clients Matt Ciaccio 2026-04-24 15:47:54 +02:00
  • 1fd05a886d feat(public-interest): atomic client+yacht+company+interest trio Matt Ciaccio 2026-04-24 15:42:45 +02:00
  • bcf4c1f797 feat(interests): add yacht-picker to interest form Matt Ciaccio 2026-04-24 15:36:27 +02:00
  • f9cb8003b5 feat(interests): wire yachtId, enforce ownership + stage-gate Matt Ciaccio 2026-04-24 15:34:44 +02:00
  • 3b0421aa81 fix(tests): use dynamic imports in portal.test.ts to avoid env validation Matt Ciaccio 2026-04-24 14:48:40 +02:00
  • a14dc8143c feat(portal): surface yachts, memberships, reservations for portal users Matt Ciaccio 2026-04-24 14:43:12 +02:00
  • b75834ab7e refactor(clients): rebuild detail tabs + columns for new data model Matt Ciaccio 2026-04-24 14:36:34 +02:00
  • 4c171848fc refactor(clients): strip deprecated fields + extend getClientById with yachts/companies/reservations Matt Ciaccio 2026-04-24 14:31:14 +02:00
  • a6d6647bb2 refactor(clients): strip yacht/company/proxy sections from client form Matt Ciaccio 2026-04-24 14:27:47 +02:00
  • 367fc9800e refactor(clients): strip yacht/company/proxy fields from validator Matt Ciaccio 2026-04-24 14:25:10 +02:00
  • ddcffe9f6f feat(ui): add reservations tab to berth detail Matt Ciaccio 2026-04-24 14:22:06 +02:00
  • 3c5267f5e9 feat(ui): berth-reserve dialog with create-and-activate flow Matt Ciaccio 2026-04-24 14:20:08 +02:00
  • 2111bb8b60 feat(ui): add reservation-list table component Matt Ciaccio 2026-04-24 14:18:11 +02:00
  • 64d7b5c765 feat(ui): company list page with columns, filters, and sidebar entry Matt Ciaccio 2026-04-24 14:05:24 +02:00
  • 4e448dd06e feat(ui): add-membership dialog for company members Matt Ciaccio 2026-04-24 14:02:47 +02:00
  • 29a7fc8857 feat(ui): add shared client-picker autocomplete Matt Ciaccio 2026-04-24 14:02:00 +02:00
  • 5d76a8a1cf feat(ui): company detail page with header, tabs, members, owned yachts Matt Ciaccio 2026-04-24 13:59:21 +02:00
  • d6743ed52c feat(ui): add company-form for create/edit with 409 handling Matt Ciaccio 2026-04-24 13:53:35 +02:00
  • ba86b7a897 feat(ui): add company-picker autocomplete component Matt Ciaccio 2026-04-24 13:52:52 +02:00
  • 4f56c2bdfd feat(ui): add Yachts entry to sidebar navigation Matt Ciaccio 2026-04-24 13:48:37 +02:00
  • 508518b6c8 feat(ui): yacht transfer dialog with atomic ownership change Matt Ciaccio 2026-04-24 13:47:26 +02:00
  • f64a52b995 feat(ui): yacht list page with columns and filters Matt Ciaccio 2026-04-24 13:44:15 +02:00
  • 76d2348873 feat(ui): yacht detail page with header, tabs, ownership history Matt Ciaccio 2026-04-24 13:40:41 +02:00
  • a604223c17 feat(ui): add yacht-form for create/edit Matt Ciaccio 2026-04-24 13:34:55 +02:00
  • d4f58abb9c feat(ui): add owner-picker and yacht-picker components Matt Ciaccio 2026-04-24 13:32:28 +02:00
  • 727e323288 feat(seed): rewrite seed for multi-cardinality refactor Matt Ciaccio 2026-04-24 13:26:37 +02:00
  • 7abbdd4913 feat(factories): add makeMembership, makeReservation, makeOwnershipTransfer Matt Ciaccio 2026-04-24 13:19:54 +02:00
  • 94f8b76a03 feat(events): register yacht, company, membership, reservation webhook events Matt Ciaccio 2026-04-24 12:56:47 +02:00
  • a78f653f5a feat(api): berth reservations (create pending + lifecycle PATCH) Matt Ciaccio 2026-04-24 12:55:12 +02:00
  • aca45fb1b2 feat(api): company memberships (add/update/end/set-primary) Matt Ciaccio 2026-04-24 12:49:10 +02:00
  • 183ff1ff9e feat(api): company list/create/detail/patch/archive/autocomplete Matt Ciaccio 2026-04-24 12:45:10 +02:00
  • 90463269ce feat(api): yacht detail, patch, archive, transfer, history, autocomplete Matt Ciaccio 2026-04-24 12:40:51 +02:00
  • a5036c6358 feat(api): GET/POST /api/v1/yachts Matt Ciaccio 2026-04-24 12:35:25 +02:00
  • f743169354 feat(permissions): add yacht, company, membership, reservation keys Matt Ciaccio 2026-04-24 12:30:06 +02:00
  • b053a6388e feat(eoi): shared context builder + tests Matt Ciaccio 2026-04-24 12:20:40 +02:00
  • b1133c4e87 feat(reservations): service + validators + exclusivity tests Matt Ciaccio 2026-04-24 12:15:22 +02:00
  • 15a79e7990 feat(company-memberships): service + validators + tests Matt Ciaccio 2026-04-24 12:07:58 +02:00
  • 037f2544e8 feat(companies): service + validators + unit tests Matt Ciaccio 2026-04-24 12:02:08 +02:00
  • 7c408cf975 feat(yachts): list + owner-scoped list + autocomplete Matt Ciaccio 2026-04-24 00:03:36 +02:00
  • 8a5cd1ef0e feat(yachts): atomic transferOwnership with partial-unique guard Matt Ciaccio 2026-04-23 23:58:20 +02:00
  • d0ab4b8102 feat(yachts): updateYacht + archiveYacht Matt Ciaccio 2026-04-23 23:52:24 +02:00
  • aaf4847fc2 refactor(yachts): use withTransaction helper per project convention Matt Ciaccio 2026-04-23 23:47:12 +02:00
  • feacb8c7ac fix(yachts): run owner existence check inside transaction Matt Ciaccio 2026-04-23 23:46:03 +02:00