• Joined on 2025-01-31
matt pushed to main at letsbe/pn-new-crm 2026-05-04 22:57:37 +02:00
8699f81879 chore(style): codebase em-dash sweep + minor layout polish
d62822c284 fix(migration): NocoDB import safety + dedup helpers + lead-source backfill
089f4a67a4 feat(receipts): upload guide page + scanner head-tag fix
77ad10ced1 feat(dashboard): custom date range + KPI port-hydration gate
e598cc0708 feat(layout): unified Inbox + UserMenu extraction
Compare 7 commits »
matt pushed to main at letsbe/pn-new-crm 2026-05-03 21:05:22 +02:00
c612bbdfd9 fix(migration): legacy bare-mooring lookup + port-nimara berth backfill
matt pushed to main at letsbe/pn-new-crm 2026-05-03 20:56:02 +02:00
872c75f1a1 fix(safety): plug 3 EMAIL_REDIRECT_TO leaks + 10 unit tests + live smoke
matt pushed to main at letsbe/pn-new-crm 2026-05-03 19:53:16 +02:00
c45aac551d feat(dedup): wire --apply path for NocoDB migration
matt pushed to main at letsbe/pn-new-crm 2026-05-03 17:25:08 +02:00
9ad1df85d2 fix(residential): mobile card list alongside the desktop table
8e4d2fc5b4 feat(safety): EMAIL_REDIRECT_TO now also pauses Documenso + webhooks
78f2f46d41 fix(admin): stack settings rows vertically on phone widths
3a9419fe10 chore(scripts): backfill client_contacts.value_e164 from value
Compare 4 commits »
matt pushed to main at letsbe/pn-new-crm 2026-05-03 17:09:36 +02:00
b703684285 fix(ux): pass-3 — yacht/company headers, reminder filters wrap, client tab counts
matt pushed to main at letsbe/pn-new-crm 2026-05-03 16:35:40 +02:00
a792d9a182 fix(ux): pass-2 audit fixes — admin grouping, Duplicates entry, header tooltips
matt pushed to feat/mobile-ux-polish at letsbe/pn-new-crm 2026-05-03 16:25:57 +02:00
matt created branch feat/mobile-ux-polish in letsbe/pn-new-crm 2026-05-03 16:25:57 +02:00
matt pushed to feat/berth-schema-parity at letsbe/pn-new-crm 2026-05-03 16:25:57 +02:00
matt created branch feat/berth-schema-parity in letsbe/pn-new-crm 2026-05-03 16:25:57 +02:00
matt pushed to feat/dedup-migration at letsbe/pn-new-crm 2026-05-03 16:25:50 +02:00
matt created branch feat/dedup-migration in letsbe/pn-new-crm 2026-05-03 16:25:50 +02:00
matt pushed to main at letsbe/pn-new-crm 2026-05-03 16:25:43 +02:00
d7ec2a8507 Merge docs/dedup-migration-design: client dedup + NocoDB migration design doc
cb83b09b2d Merge feat/dedup-migration: client dedup library + NocoDB migration script + admin queue
7574c3b575 chore(migrations): renumber 0020/0021 -> 0021/0022 to avoid clash with berth-parity
bb105f5365 Merge feat/mobile-ux-polish: berth/header/tab/contacts mobile fixes
caafae15dd Merge feat/berth-schema-parity: NocoDB field parity, 117-berth seed, ports pruned to Port Nimara + Amador
Compare 234 commits »
matt pushed to feat/mobile-foundation at letsbe/pn-new-crm 2026-05-03 16:17:57 +02:00
80fc5932be chore: ignore tooling caches, scratch screenshots, sister website project
b26b87b2fa chore(dev): react-grab viewport sync helper for in-page debug toolbar
88f76b6b04 feat(mobile): rework bottom nav (Dashboard/Berths/Clients/Documents/More)
a32f41b91d fix(dashboard): scope h-full to xl + tighter mobile sizing on KPIs
cf1c8b66db feat(client): phone-edit row dilation + mobile contacts layout
Compare 9 commits »
matt pushed to docs/dedup-migration-design at letsbe/pn-new-crm 2026-05-03 14:10:18 +02:00
36b92eb827 docs(spec): client deduplication and NocoDB migration design
matt created branch docs/dedup-migration-design in letsbe/pn-new-crm 2026-05-03 14:10:18 +02:00
matt pushed to feat/mobile-foundation at letsbe/pn-new-crm 2026-05-03 12:21:58 +02:00
e2398099c4 test(audit-fixes): cover the new permission and webhook surfaces
d364b09885 fix(realtime): keep socket through reconnects, stop re-subscribe storm
57a099acc4 fix(ui): humanize enum labels, format dates, resolve actor names, loading skeleton
a391934b73 feat(marina): end-reservation UI + global list, yacht tabs, dashboard distinct count
e3e0e69c04 fix(documenso): expired event, real signer emails, query invalidation, double-fire
Compare 10 commits »
matt created branch feat/mobile-foundation in letsbe/pn-new-crm 2026-05-03 12:21:58 +02:00
matt pushed to refactor/data-model at letsbe/pn-new-crm 2026-04-29 13:47:52 +02:00
ba89b61b3f fix(security): port-scope clientId/berthId/yachtId on interests + clientRelationships
4eea19a85b sec: lock down 5 cross-tenant FK gaps from fifth-pass review
47a1a51832 sec: webhook SSRF guard, IMAP-sync owner check, watcher port membership
9a5479c2c7 sec: lock down socket.io room subscription + crm-invite cross-tenant ops
e06fb9545b sec: lock down 5 cross-tenant IDORs uncovered in second-pass review
Compare 21 commits »