Skip to content

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

@Muneerali199

Description

@Muneerali199

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions