40 lines
1.2 KiB
Markdown
40 lines
1.2 KiB
Markdown
# Troubleshooting and Quality Gates
|
|
|
|
## Troubleshooting
|
|
|
|
### Upload Errors
|
|
|
|
- Validate extension and size before storage.
|
|
- Catch expected exceptions and return negative notifications.
|
|
- Log unexpected exceptions with request context.
|
|
|
|
### UI Race Conditions
|
|
|
|
- Disable triggering controls during async work.
|
|
- Remove duplicate timers and listeners targeting the same state.
|
|
- Ensure service call ordering is deterministic before render updates.
|
|
|
|
### Asset Caching
|
|
|
|
- Confirm static mount and proxy rewrite correctness.
|
|
- Add cache-busting query strings for changed assets.
|
|
- Avoid per-page CSS injection.
|
|
|
|
### Navigation and State Drift
|
|
|
|
- Avoid global mutable UI state.
|
|
- Keep state request-scoped or service-managed.
|
|
- Rehydrate page data during route load.
|
|
|
|
## Production Readiness Gate
|
|
|
|
Pass all checks before shipping:
|
|
|
|
- Structure: one-way dependencies between pages, components, and services.
|
|
- Responsiveness: UI validated at both small and large viewport widths.
|
|
- Accessibility: labels and actions are clear and readable.
|
|
- Reliability: validation and exception paths surface user feedback.
|
|
- Maintainability: repeated UI patterns are extracted; business logic remains in services.
|
|
|
|
If any check fails, return to the workflow step that owns that concern.
|