lilith-platform.live/codebase/@features
Natalie 29592405d4 fix(provider-website): default contact.paymentMethods to [] (site-wide Footer crash)
The edge-served provider-config (black_api down) returns a populated contact
object WITHOUT paymentMethods. validateProviderData only substituted a default
contact when the whole object was falsy, so a present-but-incomplete contact
passed through with paymentMethods undefined. The Footer (rendered site-wide)
and ContactCard both call contact.paymentMethods.map() unguarded → TypeError
'Cannot read properties of undefined (reading map)' → every page crashed.

Add validateContact() to normalize paymentMethods to an array while preserving
all other contact fields (mirrors validateAboutSection). Regression test added.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 22:07:05 -04:00
..
ad-watch test(ad-watch): unit-test canonical reduce + platform registry 2026-06-27 05:22:28 -04:00
admin feat(tours): make /tours/* landing pages DB-driven per 20260628 handoff 2026-06-28 07:12:42 -04:00
adult-therapy-tours
age-verification
api fix(provider-config): prefer data-api shape.touringPackages + destinations so quinn_admin rate_sections/destinations updates (FMTY regions, NYC notes) surface in quinn.www public payloads 2026-06-28 17:56:26 -04:00
broadcast feat(live): enable HLS (port 8888) in cast/infra mediamtx configs for admin preview player (narrow) 2026-06-28 15:59:09 -04:00
client-intel
clients/frontend-public
cocotte-tech ui(cocotte-tech): 💄 Restructure Astro page templates and shared layout with modern styling and improved content organization 2026-05-19 23:51:03 -07:00
cocotte-web ui(cocotte-web): 💄 Update preview configurations and landing page UI for Cocotte and Sansonnet features 2026-05-19 23:57:27 -07:00
comm-newsletter
db-monitor
demimonde infra: repoint @lilith npm registry + Forgejo from dead black to DO cocotte-forge; serve /photos from local disk 2026-06-28 08:09:33 -04:00
edge-purge chore(build): update BUILD_COUNT, VERSION, bun.lock, bunfig.toml (root + edge-purge) 2026-06-28 13:59:15 -04:00
event-scrapers feat(event-scrapers): Add curated Renfaires 2026 data source, update normalization engine, seed client, and enhance test coverage 2026-05-17 02:49:08 -07:00
futa-waifu-tour infra: repoint @lilith npm registry + Forgejo from dead black to DO cocotte-forge; serve /photos from local disk 2026-06-28 08:09:33 -04:00
image-protection
landing
merchant/backend-api
messages feat(messenger): canonical domain messenger.transquinnftw.com 2026-06-23 07:55:54 -04:00
my docs(prospector): clarify DO cloud deployment for webapp + WG mesh isolation to quinn-messenger only (for macsync Notes/messages/phone/calendar in prospector) 2026-06-28 17:59:36 -04:00
my-socials docs(my-socials): scaffold socials feature (plan + composer UX docs) 2026-06-23 13:19:58 -04:00
platform-seed
provider-website fix(provider-website): default contact.paymentMethods to [] (site-wide Footer crash) 2026-06-28 22:07:05 -04:00
quinn-ai
quinn-messenger/mcp feat(send-rate-limit): thread autoQueue through quinn.api + MCP client 2026-06-23 21:38:51 -04:00
sansonnet-web ui(cocotte-web): 💄 Update preview configurations and landing page UI for Cocotte and Sansonnet features 2026-05-19 23:57:27 -07:00
score-refresh feat(score-refresh): Implement score refresh logic in refresh.ts to support recalculating or updating user scores 2026-05-18 03:01:15 -07:00
sso fix(sso): return claims JSON from /auth/validate 2026-06-21 17:36:52 -05:00
user-data feat(prospector): updates to geo-aliases, sitemap, my ClientDetail, user-data overview/analytics/router 2026-06-28 13:59:21 -04:00
vip feat(vip/admin): SSO-gated /admin view with fan impersonation 2026-06-25 02:41:06 -04:00
waitlist