bcgov / bcgov/SIMS

BUG: Overlapping application validation is logged as an unhandled exception

Open
#6,577 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
29
Forks
15
Avg merge
1d 14h
Merged PRs (30d)
38

Description

**Describe the Bug**

Submitting an application with overlapping study dates or a pending program information request returns 422 and is emitted as an unhandled exception.

**Expected Behaviour**

The known application validation is presented as an expected client response and does not generate a misleading unhandled-exception error log.

**Actual Behaviour**

`submitApplication` throws `UnprocessableEntityException`, which `AppAllExceptionsFilter` records as unhandled.

**Related Issues**

#4203 and #5651 discuss overlap validation behavior. This report captures the production logging behavior.

**Log**

```text
[Nest] 18 - 09/04/2026, 6:22:12 AM LOG [AccessLoggerMiddleware] Request - PATCH /api/students/application/[redacted]/submit From [redacted] | User GUID: [redacted] | User Agent: Chrome 152 on Windows
[Nest] 18 - 09/04/2026, 6:22:13 AM ERROR [AppAllExceptionsFilter] Unhandled exception, request path: /api/students/application/[redacted]/submit
{
"stack": "UnprocessableEntityException: There is an existing application already with overlapping study dates or a pending program information request. Please contact your institution for further assistance.\n at ApplicationStudentsController.submitApplication (webpack://studentaid-backend/apps/api/src/route-controllers/application/application.students.controller.ts:292:19)",
"status": 422,
"message": "There is an existing application already with overlapping study dates or a pending program information request. Please contact your institution for further assistance.",
"name": "UnprocessableEntityException"
}
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in apps/api/src/route-controllers/application/application.students.controller.ts at submitApplication and trace how its UnprocessableEntityException reaches AppAllExceptionsFilter. Review how known application validation responses are classified, then verify that the 422 response remains unchanged while the overlap or pending-request case is no longer logged as an unhandled exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend, observability
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.