AOSSIE-Org / AOSSIE-Org/NeuroTrack

fix: Don't use BuildContext across async gaps (use_build_context_synchronously)

未关闭
#197 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。