Project

General

Profile

Edit Copy Actions

Bug #11924

open

Solve issues in FAQ module implementation

Added by Yalavarthi Thriveni about 10 hours ago. Updated about 4 hours ago.

Status:
In Progress
Priority:
High
Assignee:
Target version:
-
Start date:
11/02/2026
Due date:
11/02/2026 (Due in 0 days)
% Done:

90%

Estimated time:
4:00 h
Tested Date:
11/02/2026
Raised by Tester:
Page/ Module (POS):
E2E

Files


Add

Subtasks


Add

Related issues

Actions #1

Updated by Ajit A about 6 hours ago

  • Status changed from New to In Progress

Updated by Ajit A about 4 hours ago

  • % Done changed from 0 to 90

Bug or feature: Cross-Tenant Path Traversal Vulnerability via x-tenant-slug Header
Fix: Updated tenantPermissions.js to ensure admin routes cannot masquerade as storefront requests, and enforced strict tenant database matching (409 Conflict) if an authenticated user passes a mismatched or non-existent company slug header.

Bug or feature: Missing In-App Feedback Reason for Negative FAQ Votes
Fix: Added optional comment field (max 300 characters) to FaqVote-model.js and faqValidation.js. Updated faq.service.js and storefront FaqHelpfulVote.tsx to record why an FAQ was unhelpful with real-time button loading states.

Bug or feature: Lack of Unique Collision-Safe Reference Number on FAQ Inquiries
Fix: Added reference index field (sparse: true) to FaqEnquiry-model.js. Implemented generateEnquiryReference() in faq.service.js which automatically generates and attaches collision-proof ticket identifiers in the format FAQ-XXXX (e.g., FAQ-1006).

Bug or feature: Missing Customer Auto-Confirmation Email and Staff Subject Ticket Tagging
Fix: Integrated base.mail.js into faqNotification.js to dispatch a confirmation email to the customer containing their inquiry reference code (FAQ-XXXX) and an alert to store administrators with the customer's email set as replyTo.

Bug or feature: Storefront Leaking Mock/Static FAQs When Tenant Has No Configured FAQs
Fix: Updated mergeLiveAndStaticFaqs in faqDataMapper.ts to return an empty array rather than hardcoded demo questions when live categories are empty, respecting strict tenant database isolation.

Bug or feature: Admin Inquiries Table Missing Ticket Reference and Dynamic Staff Assignment
Fix: Updated FaqEnquiriesPage.tsx to display the REF # column, link email replies directly with the ticket reference in the subject, fetch live nursery users from /nus-user/getAll for the "Assign to" dropdown, and provide an interactive Reply Dialog with Gmail Web and copy fallbacks.

Bug or feature: Redis Cache Eviction Freezing Single-Threaded Event Loop
Fix: Replaced blocking redisClient.keys() in faqCache.js with non-blocking scanIterator and cursor-based scan pattern matching.

Edit Copy Actions

Also available in: Atom PDF