Summary
On the Achievements page, the student's info line under their name (top right) reads literally "2027 | B.Tech | undefined" for a seeded test student.
Where
The line is built from academic_info fields (batch year | program | current year, or similar) without a fallback for missing values — when current_year (or whichever third field this is) isn't set on the user, the raw string undefined gets concatenated straight into the template instead of being hidden or defaulted.
Impact
Cosmetic but visible to real users — any student whose profile isn't fully filled in will see raw JS undefined text on their own dashboard. Likely the same pattern exists anywhere else this academic-info summary string is reused.
Suggested fix
Add a fallback (e.g. only render the field if it's set, or default to an empty string) wherever this summary string is built.
Found during an OpenLake QA pass on the live site.
Summary
On the Achievements page, the student's info line under their name (top right) reads literally "2027 | B.Tech | undefined" for a seeded test student.
Where
The line is built from
academic_infofields (batch year | program | current year, or similar) without a fallback for missing values — whencurrent_year(or whichever third field this is) isn't set on the user, the raw stringundefinedgets concatenated straight into the template instead of being hidden or defaulted.Impact
Cosmetic but visible to real users — any student whose profile isn't fully filled in will see raw JS
undefinedtext on their own dashboard. Likely the same pattern exists anywhere else this academic-info summary string is reused.Suggested fix
Add a fallback (e.g. only render the field if it's set, or default to an empty string) wherever this summary string is built.
Found during an OpenLake QA pass on the live site.