Support #11973
openSupport #11764: E-commerce pending tasks for nov 15 release
Support #11923: Prepare the Faq implementation work flow document with real time wireframes , merging support-desk & enquiries
Issues in FAQ module
100%
Description
Gaps & Pending Issues (Functional & Business)
A. Functional Issues
CRITICAL BUG: Double Email Notifications to Customer and Staff
Where:
ticket.service.js:L313
AND
faq.controller.js:L206
Mechanism:
Inside faqService.submitEnquiry, ticketService.createTicket() fires notifier.created(dbName, ticket.toObject(), { tz }). This sends the ticket confirmation email to the customer and alerts the assigned support team.
Immediately after returning to faqController.submitEnquiry, line 206 calls notifySupport(dbName, tenantSlug, enquiry). This triggers faqNotification.js, which sends a second customer confirmation and a second staff alert.
Fix: Remove notifySupport(dbName, tenantSlug, enquiry) from faqController.submitEnquiry since ticketService handles email notifications.
Guest Customer Ticket Tracking Disconnect
Where:
FaqHelpForm.tsx:L168
and
guestAccess.service.js:L20-L28
Problem: The storefront success modal tells the user: "Support Ticket #: TKT-XXXX. You will receive an email confirmation with tracking details." However, guestAccess.service.js currently requires an orderNo to verify a guest customer via OTP. If the user submits a general question without an order number, they cannot track or reply to the ticket online without creating a full password account.
Fix: Update guestAccess.service.js to allow OTP verification using ticketNumber + email as an alternative to orderNo + email.
Empty Search Query Copy Bug on Storefront
Where:
FaqPage.tsx:L147
Problem: If a merchant has no FAQs published, the storefront renders: No answers found for "" because it treats empty results as a failed search rather than an empty catalog.
Fix: Show No FAQs available yet. Contact us if you need help. when searchQuery.trim() === "" and filteredFaqs.length === 0.
Subtasks
Related issues
Updated by Ajit A 2 days ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
- Estimated time changed from 3:00 h to 1:30 h
Bug or feature: Double email notifications dispatched to customer and staff upon FAQ help form submission Fix: Removed the redundant secondary notifySupport(dbName, tenantSlug, enquiry) call from faq.controller.js:submitEnquiry. The unified ticket creation pipeline in ticketService.createTicket() already handles customer confirmation and staff notifications through notifier.created(), eliminating duplicate alerts.
Bug or feature: Guest customer ticket tracking disconnect for non-order inquiries Fix: Enhanced guestAccess.service.js to accept ticketNumber + email (or international phone) as an alternative to orderNo. Verified against CustomerTicket and linked Client records with tenant-level rate limiting (send:tkt:<ticketId>). Updated verifyAccess, ticketCustomer.token.js, guestToken.js, customerTicket.controller.js, and ticket.service.js to issue and respect JWT tokens scoped to guestTicketId, enabling passwordless viewing, replying, and attachment downloading for guest tickets. Added comprehensive automated unit test suite in test/unit/guestAccess.test.js and exported helper APIs in supportTicketApi.ts.
Bug or feature: Storefront FAQ page renders broken empty search copy No answers found for "" when catalog is empty Fix: Updated FaqPage.tsx to distinguish between an empty catalog/category and an active search with no matches. When searchQuery.trim() === "" and displayedFaqs.length === 0, it displays "No FAQs available yet. Contact us if you need help." along with direct contact actions (and a "See all categories" reset button if filtered), preserving the standard keyword suggestion state only for active searches