AOSSIE-Org / AOSSIE-Org/NeuroTrack
fix: Don't use BuildContext across async gaps (use_build_context_synchronously)
- 主要语言
- Dart
- 星标
- 29
- 派生
- 50
- PR 合并指标
- 30 天内没有已合并 PR
描述
## Summary
`flutter analyze` flags **4 locations** across both apps where a `BuildContext` is used after an `await` without a proper `mounted` guard. This can cause crashes if the widget is unmounted between the async call and the context usage.
## Affected Files
### patient app
| File | Line | Detail |
|------|------|--------|
| `lib/presentation/result/book_appointment.dart` | 55 | `use_build_context_synchronously` |
| `lib/provider/therapist_provider.dart` | 65, 69 | `use_build_context_synchronously` |
### therapist app
| File | Line | Detail |
|------|------|--------|
| `lib/presentation/auth/personal_details_screen.dart` | 115, 124 | `use_build_context_synchronously` — guarded by an **unrelated** `mounted` check |
## Steps to Reproduce
```
cd patient && flutter analyze
cd ../therapist && flutter analyze
```
## Expected Behavior
All context usages after `await` are guarded by `if (!mounted) return` or the context reference is captured before the async gap.
## Fix
- Add `if (!mounted) return;` immediately after each `await` before accessing `context`
- In `personal_details_screen.dart`: move the `mounted` check to guard the specific context access (not an unrelated branch)
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。