firebase / flutterfire

🔥 A collection of Firebase plugins for Flutter apps.
https://firebase.google.com/docs/flutter/setup
BSD 3-Clause "New" or "Revised" License
8.44k stars 3.91k forks source link

Firebase Auth: reCaptcha shows up even after configuring Silent APN correctly #12735

Open Aarush-Acharya opened 2 weeks ago

Aarush-Acharya commented 2 weeks ago

Is there an existing issue for this?

Which plugins are affected?

Auth

Which platforms are affected?

iOS

Description

I have read the documentations Firebase Auth provides a couple of times,

  1. I have enabled Push notifications along with background modes and remote notifications in Xcode Screenshot 2024-05-02 at 12 03 05 AM

  2. I have created and added my APN key (gave it permission for push services) from developer platform to Cloud Messaging

Screenshot 2024-05-02 at 12 07 27 AM

Screenshot 2024-05-02 at 12 05 58 AM

  1. background refresh for my application is set to true
  2. I test it on a real device
  3. Added push services to my bundle id in Identifiers on developer platform

Screenshot 2024-05-02 at 12 08 27 AM

Even after all this the reCaptcha still shows up, and the silent push notifications do not work

Reproducing the issue

Implement Phone Auth for IOS using Flutter trying to set up and make Silent APNs working following the firebase documentation for it

Firebase Core version

2.27.0

Flutter Version

3.19.0

Relevant Log Output

❯ pod install
Analyzing dependencies
cloud_firestore: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
firebase_auth: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
firebase_core: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
firebase_messaging: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
firebase_remote_config: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
firebase_storage: Using Firebase SDK version '10.24.0' defined in 'firebase_core'

These are my pod versions

Flutter dependencies

Expand Flutter dependencies snippet
```yaml Dart SDK 3.3.4 Flutter SDK 3.19.6 yacht_master 1.2.1 dependencies: - async_foreach 0.0.5+4 - bot_toast 4.1.3 [flutter] - bulleted_list 0.0.1+0.1a [flutter] - cached_network_image 3.3.1 [cached_network_image_platform_interface cached_network_image_web flutter flutter_cache_manager octo_image] - circular_profile_avatar 2.0.5 [flutter cached_network_image] - cloud_firestore 4.15.8 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta] - connectivity_plus 2.3.9 [flutter connectivity_plus_platform_interface connectivity_plus_linux connectivity_plus_macos connectivity_plus_web connectivity_plus_windows] - cupertino_icons 1.0.6 - date_format 2.0.7 - dotted_border 2.1.0 [flutter path_drawing] - equatable 2.0.5 [collection meta] - file_picker 5.5.0 [flutter flutter_web_plugins flutter_plugin_android_lifecycle plugin_platform_interface ffi path win32] - filesize 2.0.1 - firebase_auth 4.19.4 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta] - firebase_core 2.30.1 [firebase_core_platform_interface firebase_core_web flutter meta] - firebase_messaging 14.7.19 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta] - firebase_remote_config 4.3.17 [firebase_core firebase_core_platform_interface firebase_remote_config_platform_interface firebase_remote_config_web flutter] - firebase_storage 11.6.9 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter] - flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine] - flutter_bloc 8.1.5 [bloc flutter provider] - flutter_datetime_picker 1.5.1 [flutter] - flutter_email_sender 6.0.2 [flutter] - flutter_facebook_auth 5.0.11 [flutter flutter_facebook_auth_platform_interface flutter_facebook_auth_web facebook_auth_desktop] - flutter_google_places 0.3.0 [flutter google_api_headers google_maps_webservice http rxdart] - flutter_local_notifications 15.1.3 [clock flutter flutter_local_notifications_linux flutter_local_notifications_platform_interface timezone] - flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math] - flutter_media_downloader 1.0.4 [flutter flutter_web_plugins path_provider permission_handler plugin_platform_interface] - flutter_rating_bar 4.0.1 [flutter] - flutter_spinkit 5.2.1 [flutter] - flutter_staggered_grid_view 0.6.2 [flutter] - flutter_stripe 9.6.0 [flutter meta stripe_android stripe_ios stripe_platform_interface] - flutter_widget_from_html 0.10.6 [flutter flutter_widget_from_html_core fwfh_cached_network_image fwfh_chewie fwfh_just_audio fwfh_svg fwfh_url_launcher fwfh_webview html] - fluttertoast 8.2.4 [flutter flutter_web_plugins] - geocoding 2.2.2 [flutter geocoding_platform_interface geocoding_android geocoding_ios] - geolocator 9.0.2 [flutter geolocator_platform_interface geolocator_android geolocator_apple geolocator_web geolocator_windows] - get 4.6.6 [flutter] - google_maps_flutter 2.5.3 [flutter google_maps_flutter_android google_maps_flutter_ios google_maps_flutter_platform_interface google_maps_flutter_web] - google_sign_in 5.4.4 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web] - http 0.13.6 [async http_parser meta] - hydrated_bloc 8.1.0 [bloc hive meta synchronized] - image_picker 1.0.8 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_linux image_picker_macos image_picker_platform_interface image_picker_windows] - intl 0.18.1 [clock meta path] - intl_phone_field 3.2.0 [flutter] - keyboard_actions 4.2.0 [flutter] - location 4.4.0 [flutter location_platform_interface location_web] - mask_text_input_formatter 2.9.0 [flutter] - modal_progress_hud_nsn 0.2.1 [flutter] - package_info_plus 4.2.0 [ffi flutter flutter_web_plugins http meta path package_info_plus_platform_interface win32] - paged_vertical_calendar 1.1.7 [flutter infinite_scroll_pagination] - path_provider 2.1.2 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows] - pay 2.0.0 [flutter flutter_localizations pay_android pay_ios pay_platform_interface meta] - permission_handler 11.3.1 [flutter meta permission_handler_android permission_handler_apple permission_handler_html permission_handler_windows permission_handler_platform_interface] - pin_code_fields 7.4.0 [flutter] - provider 6.1.2 [collection flutter nested] - share_plus 4.5.3 [cross_file meta mime flutter share_plus_platform_interface share_plus_linux share_plus_macos share_plus_windows share_plus_web] - shared_preferences 2.2.2 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows] - sign_in_with_apple 4.3.0 [flutter meta sign_in_with_apple_platform_interface sign_in_with_apple_web] - sizer 2.0.15 [universal_io flutter] - table_calendar 3.0.9 [flutter intl simple_gesture_detector] - textfield_search 0.10.0 [flutter] - time_picker_spinner 0.0.1 [flutter] - timeago 3.6.1 [intl] - timezone 0.9.2 [path] - url_launcher 6.2.5 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows] dev dependencies: - flutter_launcher_icons 0.9.3 [args image path yaml] - flutter_lints 2.0.3 [lints] - flutter_test 0.0.0 [flutter test_api matcher path fake_async clock stack_trace vector_math leak_tracker_flutter_testing async boolean_selector characters collection leak_tracker leak_tracker_testing material_color_utilities meta source_span stream_channel string_scanner term_glyph vm_service] dependency overrides: - firebase_core_platform_interface 4.8.0 [collection flutter flutter_test meta plugin_platform_interface] - permission_handler 11.3.1 [flutter meta permission_handler_android permission_handler_apple permission_handler_html permission_handler_windows permission_handler_platform_interface] transitive dependencies: - _flutterfire_internals 1.3.32 [collection firebase_core firebase_core_platform_interface flutter meta] - archive 3.4.10 [crypto path pointycastle] - args 2.4.2 - async 2.11.0 [collection meta] - audio_session 0.1.19 [flutter flutter_web_plugins rxdart meta] - bloc 8.1.4 [meta] - boolean_selector 2.1.1 [source_span string_scanner] - cached_network_image_platform_interface 4.0.0 [flutter flutter_cache_manager] - cached_network_image_web 1.1.1 [cached_network_image_platform_interface flutter flutter_cache_manager] - characters 1.3.0 - chewie 1.7.5 [cupertino_icons flutter provider video_player wakelock_plus] - clock 1.1.1 - cloud_firestore_platform_interface 6.1.9 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - cloud_firestore_web 3.10.8 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js] - collection 1.18.0 - connectivity_plus_linux 1.3.1 [flutter connectivity_plus_platform_interface meta nm] - connectivity_plus_macos 1.2.6 [connectivity_plus_platform_interface flutter] - connectivity_plus_platform_interface 1.2.4 [flutter meta plugin_platform_interface] - connectivity_plus_web 1.2.5 [connectivity_plus_platform_interface flutter_web_plugins flutter js] - connectivity_plus_windows 1.2.2 [connectivity_plus_platform_interface flutter] - convert 3.1.1 [typed_data] - cross_file 0.3.4+1 [meta web] - crypto 3.0.3 [typed_data] - csslib 1.0.0 [source_span] - dbus 0.7.10 [args ffi meta xml] - facebook_auth_desktop 0.0.9 [flutter http flutter_secure_storage flutter_facebook_auth_platform_interface] - fake_async 1.3.1 [clock collection] - ffi 2.1.0 - file 6.1.4 [meta path] - file_selector_linux 0.9.2+1 [cross_file file_selector_platform_interface flutter] - file_selector_macos 0.9.3+3 [cross_file file_selector_platform_interface flutter] - file_selector_platform_interface 2.6.2 [cross_file flutter http plugin_platform_interface] - file_selector_windows 0.9.3+1 [cross_file file_selector_platform_interface flutter] - firebase_auth_platform_interface 7.2.5 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_auth_web 5.11.4 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser meta web] - firebase_core_web 2.16.0 [firebase_core_platform_interface flutter flutter_web_plugins meta web] - firebase_messaging_platform_interface 4.5.34 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface] - firebase_messaging_web 3.8.4 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins meta web] - firebase_remote_config_platform_interface 1.4.25 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface] - firebase_remote_config_web 1.4.25 [firebase_core firebase_core_web firebase_remote_config_platform_interface flutter flutter_web_plugins js] - firebase_storage_platform_interface 5.1.19 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_storage_web 3.9.4 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http meta web] - fixnum 1.1.0 - flutter_cache_manager 3.3.1 [clock collection file flutter http path path_provider rxdart sqflite uuid] - flutter_facebook_auth_platform_interface 4.1.1 [flutter plugin_platform_interface] - flutter_facebook_auth_web 4.1.1 [flutter flutter_web_plugins js flutter_facebook_auth_platform_interface] - flutter_local_notifications_linux 4.0.0+1 [dbus ffi flutter flutter_local_notifications_platform_interface path xdg_directories] - flutter_local_notifications_platform_interface 7.0.0+1 [flutter plugin_platform_interface] - flutter_plugin_android_lifecycle 2.0.17 [flutter] - flutter_secure_storage 8.1.0 [flutter flutter_secure_storage_linux flutter_secure_storage_macos flutter_secure_storage_platform_interface flutter_secure_storage_web flutter_secure_storage_windows meta] - flutter_secure_storage_linux 1.2.0 [flutter flutter_secure_storage_platform_interface] - flutter_secure_storage_macos 3.0.1 [flutter flutter_secure_storage_platform_interface] - flutter_secure_storage_platform_interface 1.0.2 [flutter plugin_platform_interface] - flutter_secure_storage_web 1.1.2 [flutter flutter_secure_storage_platform_interface flutter_web_plugins js] - flutter_secure_storage_windows 2.1.1 [flutter flutter_secure_storage_platform_interface] - flutter_svg 2.0.9 [flutter vector_graphics vector_graphics_codec vector_graphics_compiler] - flutter_web_plugins 0.0.0 [flutter characters collection material_color_utilities meta vector_math] - flutter_widget_from_html_core 0.10.6 [csslib flutter html] - freezed_annotation 2.4.1 [collection json_annotation meta] - fwfh_cached_network_image 0.7.0+7 [cached_network_image flutter flutter_cache_manager flutter_widget_from_html_core] - fwfh_chewie 0.7.1+4 [chewie flutter flutter_widget_from_html_core video_player] - fwfh_just_audio 0.9.0+3 [flutter flutter_widget_from_html_core just_audio] - fwfh_svg 0.8.1 [flutter flutter_svg flutter_widget_from_html_core] - fwfh_url_launcher 0.9.0+4 [flutter flutter_widget_from_html_core url_launcher] - fwfh_webview 0.9.0+2 [flutter flutter_widget_from_html_core webview_flutter webview_flutter_android webview_flutter_wkwebview] - geocoding_android 3.3.0 [flutter geocoding_platform_interface] - geocoding_ios 2.3.0 [flutter geocoding_platform_interface] - geocoding_platform_interface 3.2.0 [flutter meta plugin_platform_interface] - geolocator_android 4.5.4 [flutter geolocator_platform_interface meta uuid] - geolocator_apple 2.3.7 [flutter geolocator_platform_interface] - geolocator_platform_interface 4.2.2 [flutter plugin_platform_interface vector_math meta] - geolocator_web 2.2.1 [flutter flutter_web_plugins geolocator_platform_interface] - geolocator_windows 0.1.3 [flutter geolocator_platform_interface] - google_api_headers 1.6.0 [flutter package_info_plus] - google_maps 6.3.0 [js js_wrapping meta] - google_maps_flutter_android 2.7.0 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface stream_transform] - google_maps_flutter_ios 2.3.6 [flutter google_maps_flutter_platform_interface stream_transform] - google_maps_flutter_platform_interface 2.6.0 [collection flutter plugin_platform_interface stream_transform] - google_maps_flutter_web 0.5.4+3 [collection flutter flutter_web_plugins google_maps google_maps_flutter_platform_interface sanitize_html stream_transform] - google_maps_webservice 0.0.20-nullsafety.5 [http meta json_annotation] - google_sign_in_android 6.1.22 [flutter google_sign_in_platform_interface] - google_sign_in_ios 5.7.3 [flutter google_sign_in_platform_interface] - google_sign_in_platform_interface 2.4.5 [flutter plugin_platform_interface] - google_sign_in_web 0.10.2+1 [flutter flutter_web_plugins google_sign_in_platform_interface js] - hive 2.2.3 [meta crypto] - html 0.15.4 [csslib source_span] - http_parser 4.0.2 [collection source_span string_scanner typed_data] - image 3.3.0 [archive meta xml] - image_picker_android 0.8.9+5 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface] - image_picker_for_web 3.0.2 [flutter flutter_web_plugins image_picker_platform_interface mime] - image_picker_ios 0.8.9+1 [flutter image_picker_platform_interface] - image_picker_linux 0.2.1+1 [file_selector_linux file_selector_platform_interface flutter image_picker_platform_interface] - image_picker_macos 0.2.1+1 [file_selector_macos file_selector_platform_interface flutter image_picker_platform_interface] - image_picker_platform_interface 2.9.3 [cross_file flutter http plugin_platform_interface] - image_picker_windows 0.2.1+1 [file_selector_platform_interface file_selector_windows flutter image_picker_platform_interface] - infinite_scroll_pagination 3.2.0 [flutter sliver_tools] - js 0.6.7 [meta] - js_wrapping 0.7.4 [js] - json_annotation 4.8.1 [meta] - just_audio 0.9.37 [just_audio_platform_interface just_audio_web audio_session rxdart path path_provider async uuid crypto meta flutter] - just_audio_platform_interface 4.2.2 [flutter plugin_platform_interface] - just_audio_web 0.4.9 [just_audio_platform_interface flutter flutter_web_plugins] - leak_tracker 10.0.0 [clock collection meta path vm_service] - leak_tracker_flutter_testing 2.0.1 [flutter leak_tracker leak_tracker_testing matcher meta] - leak_tracker_testing 2.0.1 [leak_tracker matcher meta] - lints 2.1.1 - location_platform_interface 2.3.0 [flutter meta plugin_platform_interface] - location_web 3.1.1 [flutter flutter_web_plugins http_parser js location_platform_interface meta] - matcher 0.12.16+1 [async meta stack_trace term_glyph test_api] - material_color_utilities 0.8.0 [collection] - meta 1.11.0 - mime 1.0.5 - nested 1.0.0 [flutter] - nm 0.5.0 [dbus] - octo_image 2.0.0 [flutter] - package_info_plus_platform_interface 2.0.1 [flutter meta plugin_platform_interface] - path 1.9.0 - path_drawing 1.0.1 [vector_math meta path_parsing flutter] - path_parsing 1.0.1 [vector_math meta] - path_provider_android 2.2.2 [flutter path_provider_platform_interface] - path_provider_foundation 2.3.2 [flutter path_provider_platform_interface] - path_provider_linux 2.2.1 [ffi flutter path path_provider_platform_interface xdg_directories] - path_provider_platform_interface 2.1.2 [flutter platform plugin_platform_interface] - path_provider_windows 2.2.1 [ffi flutter path path_provider_platform_interface win32] - pay_android 2.0.0 [flutter flutter_localizations pay_platform_interface] - pay_ios 1.0.11 [flutter pay_platform_interface] - pay_platform_interface 1.0.4 [flutter yaml] - permission_handler_android 12.0.5 [flutter permission_handler_platform_interface] - permission_handler_apple 9.4.4 [flutter permission_handler_platform_interface] - permission_handler_html 0.1.1 [flutter flutter_web_plugins permission_handler_platform_interface] - permission_handler_platform_interface 4.2.1 [flutter meta plugin_platform_interface] - permission_handler_windows 0.2.1 [flutter permission_handler_platform_interface] - petitparser 6.0.2 [meta] - platform 3.1.4 - plugin_platform_interface 2.1.8 [meta] - pointycastle 3.8.0 [collection convert js] - rxdart 0.26.0 - sanitize_html 2.1.0 [html meta] - share_plus_linux 3.0.1 [cross_file share_plus_platform_interface file flutter meta url_launcher] - share_plus_macos 3.0.1 [share_plus_platform_interface flutter] - share_plus_platform_interface 3.4.0 [cross_file flutter meta mime plugin_platform_interface path_provider uuid] - share_plus_web 3.1.0 [cross_file share_plus_platform_interface url_launcher flutter flutter_web_plugins meta mime] - share_plus_windows 3.0.1 [share_plus_platform_interface flutter meta url_launcher] - shared_preferences_android 2.2.1 [flutter shared_preferences_platform_interface] - shared_preferences_foundation 2.3.5 [flutter shared_preferences_platform_interface] - shared_preferences_linux 2.3.2 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface] - shared_preferences_platform_interface 2.3.2 [flutter plugin_platform_interface] - shared_preferences_web 2.3.0 [flutter flutter_web_plugins shared_preferences_platform_interface web] - shared_preferences_windows 2.3.2 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface] - sign_in_with_apple_platform_interface 1.0.0 [flutter plugin_platform_interface meta] - sign_in_with_apple_web 1.0.1 [flutter flutter_web_plugins sign_in_with_apple_platform_interface js] - simple_gesture_detector 0.2.1 [flutter] - sky_engine 0.0.99 - sliver_tools 0.2.12 [flutter] - source_span 1.10.0 [collection path term_glyph] - sprintf 7.0.0 - sqflite 2.3.2 [flutter sqflite_common path] - sqflite_common 2.5.3 [synchronized path meta] - stack_trace 1.11.1 [path] - stream_channel 2.1.2 [async] - stream_transform 2.1.0 - string_scanner 1.2.0 [source_span] - stripe_android 9.6.0+2 [flutter] - stripe_ios 9.6.0 [flutter] - stripe_platform_interface 9.6.0 [flutter freezed_annotation json_annotation meta plugin_platform_interface] - synchronized 3.1.0+1 - term_glyph 1.2.1 - test_api 0.6.1 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph] - typed_data 1.3.2 [collection] - universal_io 2.2.2 [collection meta typed_data] - url_launcher_android 6.3.0 [flutter url_launcher_platform_interface] - url_launcher_ios 6.2.4 [flutter url_launcher_platform_interface] - url_launcher_linux 3.1.1 [flutter url_launcher_platform_interface] - url_launcher_macos 3.1.0 [flutter url_launcher_platform_interface] - url_launcher_platform_interface 2.3.2 [flutter plugin_platform_interface] - url_launcher_web 2.3.1 [flutter flutter_web_plugins url_launcher_platform_interface web] - url_launcher_windows 3.1.1 [flutter url_launcher_platform_interface] - uuid 4.3.3 [crypto sprintf meta fixnum] - vector_graphics 1.1.10+1 [flutter vector_graphics_codec] - vector_graphics_codec 1.1.10+1 - vector_graphics_compiler 1.1.10+1 [args meta path_parsing xml vector_graphics_codec path] - vector_math 2.1.4 - video_player 2.8.5 [flutter html video_player_android video_player_avfoundation video_player_platform_interface video_player_web] - video_player_android 2.4.12 [flutter video_player_platform_interface] - video_player_avfoundation 2.5.6 [flutter video_player_platform_interface] - video_player_platform_interface 6.2.2 [flutter plugin_platform_interface] - video_player_web 2.1.3 [flutter flutter_web_plugins video_player_platform_interface] - vm_service 13.0.0 - wakelock_plus 1.1.4 [flutter flutter_web_plugins meta wakelock_plus_platform_interface win32 dbus package_info_plus js] - wakelock_plus_platform_interface 1.1.0 [flutter plugin_platform_interface meta] - web 0.5.1 - webview_flutter 4.5.0 [flutter webview_flutter_android webview_flutter_platform_interface webview_flutter_wkwebview] - webview_flutter_android 3.16.0 [flutter webview_flutter_platform_interface] - webview_flutter_platform_interface 2.10.0 [flutter meta plugin_platform_interface] - webview_flutter_wkwebview 3.10.2 [flutter path webview_flutter_platform_interface] - win32 5.2.0 [ffi] - xdg_directories 1.0.4 [meta path] - xml 6.5.0 [collection meta petitparser] - yaml 3.1.2 [collection source_span string_scanner] ```

Additional context and comments

I referred to this Github comment https://github.com/firebase/flutterfire/discussions/3381#discussioncomment-9178911 after implementing the steps suggested I encountered an error log MISSING_CLIENT_IDENTIFIER

TarekkMA commented 2 weeks ago

Hello @Aarush-Acharya, thank you for reporting this issue. Can you confirm that you have followed the steps found here? Also, can you try testing it on a physical device? If reCaptcha is showing in silent mode, it may indicate that the configuration is not done correctly.

Aarush-Acharya commented 2 weeks ago

@TarekkMA hey yes i confirm that i followed the steps there i have shared screenshots above as proof, yes i do test on a real device please do let me know if i am missing anything