October 19th, 2025
New
Improved
Fixed
Database-Level Duplicate Detection for Bulk Student Import
Added intelligent duplicate detection to prevent re-importing the same students from identical CSV files.
Detects existing students by name and mobile number (case-insensitive).
Automatically handles duplicates:
Creates new enrollments only for new students.
Skips existing or already-enrolled students gracefully.
Introduced visual status badges in the staging UI:
π© Valid | π¨ Duplicate | π§ Existing | π₯ Already Enrolled
Improved transactional integrity and academic metadata handling to ensure new data consistency.
Organization-Level Data Isolation (Multi-Tenant Security)
Added organizationExternalId filters to all key database queries for tenant-level data isolation.
Enforced organization-specific access across invoices, students, courses, batches, and dashboards.
Strengthened WorkOS-based multi-tenant boundaries, ensuring users can only access data within their organization.
Phone Number Normalization
Standardized phone number formatting across imports using country code normalization (+ prefix).
Added getCountryNameFromDialCode utility and separated phoneNumber / countryCode fields.
Ensures consistent storage and display of phone numbers and country names for both students and parents.
Unified Country Data Source
Centralized all country data in a single shared constant (countries.ts under 0eg-shared).
Removed duplicate definitions and updated all references across student and onboarding modules.
Query Validation & Error Handling
Added robust validation to guard against invalid or non-numeric query parameters in loaders.
Prevented Prisma-related errors caused by malformed URLs or parameters.
Session Security
Resolved logout issue where user data persisted across sessions.
Added secure cookie clearing and cache prevention for proper session termination.
Duplicate Detection
Fixed import logic to correctly handle null or empty lastName values during duplicate checks.
Header Handling
Fixed a header merging issue that caused loss of Set-Cookie and toast notification headers in responses.
Import Stability
Resolved academic metadata creation conflicts during bulk student imports.
β
Overall Impact
This release delivers major upgrades in data security, import reliability, and session safety.
It enhances multi-tenant isolation, prevents accidental duplicate imports, and ensures consistent, normalized data across all records β resulting in a more secure and stable experience for organizations using EtheraGuru.