30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
# Performance & Stability Baseline (Phase 1)
|
|
|
|
Last updated: 2026-05-13
|
|
|
|
## Baseline observations
|
|
|
|
### Performance
|
|
|
|
- Loader-heavy pages (myportal/representation/new appeal) perform multiple external calls per SSR request.
|
|
- Form XML is read/normalized repeatedly from disk in SSR path.
|
|
- Some large components still combine orchestration + rendering, increasing rerender work.
|
|
|
|
### Stability
|
|
|
|
- Several SSR/data paths assume nested API response shapes without guard rails.
|
|
- Representation resume/new loader had crash/redirect fragility around missing contact/representation objects.
|
|
- Logging noise can mask actionable failure signals.
|
|
|
|
## Changes started in this phase
|
|
|
|
1. Added in-memory XML cache in `lib/forms/readFormXml.js` (safe, process-local).
|
|
2. Added null/redirect guards in `lib/representation/pageLoaders.js` for missing user/contact and missing representation entry.
|
|
3. Began auth-path de-duplication and redirect hardening (see auth reliability doc).
|
|
|
|
## Next baseline improvements
|
|
|
|
1. Add guarded defaults in remaining loader paths (`loadNewAppealPage`, myportal page loaders).
|
|
2. Introduce structured non-sensitive SSR failure telemetry for dependency failures.
|
|
3. Expand bounded concurrency/parallelism where safe and contract-preserving.
|