https://www.attik.ai/contacts/6a0c58c408bc100679748727/mergewww.attik.ai/contacts/* to the tools app via host rewrite in attik-frontend/next.config.js (destination: "/tools/:path*").GET contact/:id, but only the merge page validates the response with strict Zod (ContactWithBusinessPopulatedSchema) and calls notFound() on any failure—including validation errors. The profile page intentionally skips Zod (legacy/import field shapes). Legacy or imported contacts can therefore load on the profile but 404 on merge.GET contact/<id> on merge load. If status is 200 but the page is still 404, the failure is schema validation, not a missing contact.attik-frontend/src/app/tools/contacts/[contact_id]/merge/page.tsx — fetches contact/${contact_id} with ContactWithBusinessPopulatedSchema; catch → notFound() (Next.js 404).attik-frontend/src/app/tools/contacts/[contact_id]/page.tsx — same API call without Zod (comment notes skipped validation for volume metrics / legacy values).attik-frontend/src/util/types/serverTypeCollection/contact.ts — strict fields that may fail on older rows include tags (required array), preferredContactMethod, emailStatus, smsStatus, active, createdAt, updatedAt, ccEmails refine, populated _contactBusinessId.ContactDetailsSection.tsx (Merge button, disabled when isDeleted), ContactActions.tsx (list merge action).merge/error.tsx (only for thrown errors in client tree, not server notFound()).notFound().attik-backend/src/routes/contact.ts — GET /:id via getSingleItem returns contact by Mongo id (404 only if doc missing); does not filter isDeleted on GET. Merge submit is POST /:id/merge (404 for missing secondary; 400 for deleted/already-merged)—out of scope for the page-load 404 unless investigation shows API 404 on GET for these ids.POST /:id/merge).isDeleted)—Merge is already disabled on the profile for those.attik-frontend/src/app/tools/contacts/[contact_id]/merge/page.tsxattik-frontend/src/app/tools/contacts/[contact_id]/page.tsxattik-frontend/src/util/types/serverTypeCollection/contact.tsattik-backend/src/routes/contact.ts (GET /:id, POST /:id/merge)attik-backend/tests/integration/contact.merge.test.ts (merge API behavior)Please authenticate to join the conversation.
Planned
Main App
12 days ago
Linear
Get notified by email when there are changes.
Planned
Main App
12 days ago
Linear
Get notified by email when there are changes.