aws-amplify / amplify-flutter

A declarative library with an easy-to-use interface for building Flutter applications on AWS.
https://docs.amplify.aws
Apache License 2.0
1.31k stars 241 forks source link

Amplify.Storage.list() crashes App on iOS #1059

Closed Ozak93 closed 2 years ago

Ozak93 commented 2 years ago

Describe the bug When i navigate to a page that calls Amplify's Storage function List, the page freezes and throws the following exception in Xcode's console:

amplify_storage_s3/FlutterListRequest.swift:37: Fatal error: Unexpectedly found nil while unwrapping an Optional value 2021-11-08 06:34:07.841725-0800 Runner[4310:26946] amplify_storage_s3/FlutterListRequest.swift:37: Fatal error: Unexpectedly found nil while unwrapping an Optional value

To Reproduce Steps to reproduce the behavior:

  1. Call the following function await Amplify.Storage.list(path: path); in iOS Flutter app.

Expected behavior returns a list of objects in the provided bucket path.

Screenshots image

Platform Amplify Flutter current supports iOS and Android. This issue is reproducible in (check all that apply): [] Android [x] iOS

Output of flutter doctor -v ```[✓] Flutter (Channel stable, 2.5.3, on macOS 11.5.1 20G80 darwin-x64, locale en-US) • Flutter version 2.5.3 at /Users/zutch/Desktop/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 18116933e7 (4 weeks ago), 2021-10-15 10:46:35 -0700 • Engine revision d3ea636dc5 • Dart version 2.14.4 [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) • Android SDK at /Users/zutch/Library/Android/sdk • Platform android-31, build-tools 31.0.0 • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.5.1, Build version 12E507 • CocoaPods version 1.11.2 [✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome) ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable. [✓] Android Studio (version 2020.3) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165) [✓] Connected device (1 available) • iPhone 8 (mobile) • D1AA0BCA-27A3-4ED9-9B15-3B5E2DB9540F • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator) ! Doctor found issues in 1 category. ```
``` # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: _fe_analyzer_shared: dependency: transitive description: name: _fe_analyzer_shared url: "https://pub.dartlang.org" source: hosted version: "30.0.0" analyzer: dependency: transitive description: name: analyzer url: "https://pub.dartlang.org" source: hosted version: "2.7.0" archive: dependency: transitive description: name: archive url: "https://pub.dartlang.org" source: hosted version: "3.1.6" args: dependency: transitive description: name: args url: "https://pub.dartlang.org" source: hosted version: "2.3.0" async: dependency: transitive description: name: async url: "https://pub.dartlang.org" source: hosted version: "2.8.1" auto_direction: dependency: "direct main" description: name: auto_direction url: "https://pub.dartlang.org" source: hosted version: "0.0.5" auto_size_text: dependency: "direct main" description: name: auto_size_text url: "https://pub.dartlang.org" source: hosted version: "2.1.0" badges: dependency: "direct main" description: name: badges url: "https://pub.dartlang.org" source: hosted version: "2.0.1" bloc: dependency: transitive description: name: bloc url: "https://pub.dartlang.org" source: hosted version: "7.2.1" boolean_selector: dependency: transitive description: name: boolean_selector url: "https://pub.dartlang.org" source: hosted version: "2.1.0" browser_launcher: dependency: transitive description: name: browser_launcher url: "https://pub.dartlang.org" source: hosted version: "1.0.0" build: dependency: transitive description: name: build url: "https://pub.dartlang.org" source: hosted version: "2.1.1" build_config: dependency: transitive description: name: build_config url: "https://pub.dartlang.org" source: hosted version: "1.0.0" build_daemon: dependency: transitive description: name: build_daemon url: "https://pub.dartlang.org" source: hosted version: "3.0.1" build_resolvers: dependency: transitive description: name: build_resolvers url: "https://pub.dartlang.org" source: hosted version: "2.0.4" build_runner: dependency: "direct dev" description: name: build_runner url: "https://pub.dartlang.org" source: hosted version: "2.1.4" build_runner_core: dependency: transitive description: name: build_runner_core url: "https://pub.dartlang.org" source: hosted version: "7.2.2" built_collection: dependency: transitive description: name: built_collection url: "https://pub.dartlang.org" source: hosted version: "5.1.1" built_value: dependency: transitive description: name: built_value url: "https://pub.dartlang.org" source: hosted version: "8.1.2" carousel_slider: dependency: "direct main" description: name: carousel_slider url: "https://pub.dartlang.org" source: hosted version: "4.0.0" characters: dependency: transitive description: name: characters url: "https://pub.dartlang.org" source: hosted version: "1.1.0" charcode: dependency: transitive description: name: charcode url: "https://pub.dartlang.org" source: hosted version: "1.3.1" checked_yaml: dependency: transitive description: name: checked_yaml url: "https://pub.dartlang.org" source: hosted version: "2.0.1" cli_util: dependency: transitive description: name: cli_util url: "https://pub.dartlang.org" source: hosted version: "0.3.5" clock: dependency: transitive description: name: clock url: "https://pub.dartlang.org" source: hosted version: "1.1.0" code_builder: dependency: transitive description: name: code_builder url: "https://pub.dartlang.org" source: hosted version: "4.1.0" collection: dependency: transitive description: name: collection url: "https://pub.dartlang.org" source: hosted version: "1.15.0" connectivity_plus: dependency: "direct main" description: name: connectivity_plus url: "https://pub.dartlang.org" source: hosted version: "2.0.2" connectivity_plus_linux: dependency: transitive description: name: connectivity_plus_linux url: "https://pub.dartlang.org" source: hosted version: "1.1.0" connectivity_plus_macos: dependency: transitive description: name: connectivity_plus_macos url: "https://pub.dartlang.org" source: hosted version: "1.2.1" connectivity_plus_platform_interface: dependency: transitive description: name: connectivity_plus_platform_interface url: "https://pub.dartlang.org" source: hosted version: "1.1.0" connectivity_plus_web: dependency: transitive description: name: connectivity_plus_web url: "https://pub.dartlang.org" source: hosted version: "1.1.0+1" connectivity_plus_windows: dependency: transitive description: name: connectivity_plus_windows url: "https://pub.dartlang.org" source: hosted version: "1.2.0" connectivity_widget: dependency: "direct main" description: name: connectivity_widget url: "https://pub.dartlang.org" source: hosted version: "0.1.8" convert: dependency: transitive description: name: convert url: "https://pub.dartlang.org" source: hosted version: "3.0.1" credit_card_type_detector: dependency: "direct main" description: name: credit_card_type_detector url: "https://pub.dartlang.org" source: hosted version: "2.0.0" cross_file: dependency: transitive description: name: cross_file url: "https://pub.dartlang.org" source: hosted version: "0.3.1+5" crypto: dependency: "direct main" description: name: crypto url: "https://pub.dartlang.org" source: hosted version: "3.0.1" csslib: dependency: transitive description: name: csslib url: "https://pub.dartlang.org" source: hosted version: "0.17.1" cupertino_icons: dependency: "direct main" description: name: cupertino_icons url: "https://pub.dartlang.org" source: hosted version: "1.0.3" curved_navigation_bar: dependency: "direct main" description: name: curved_navigation_bar url: "https://pub.dartlang.org" source: hosted version: "1.0.1" dart_style: dependency: transitive description: name: dart_style url: "https://pub.dartlang.org" source: hosted version: "2.2.0" datetime_picker_formfield: dependency: "direct main" description: name: datetime_picker_formfield url: "https://pub.dartlang.org" source: hosted version: "2.0.0" dbus: dependency: transitive description: name: dbus url: "https://pub.dartlang.org" source: hosted version: "0.5.6" devtools: dependency: "direct dev" description: name: devtools url: "https://pub.dartlang.org" source: hosted version: "2.7.0" devtools_server: dependency: transitive description: name: devtools_server url: "https://pub.dartlang.org" source: hosted version: "2.7.0" devtools_shared: dependency: transitive description: name: devtools_shared url: "https://pub.dartlang.org" source: hosted version: "2.7.0" easy_debounce: dependency: "direct main" description: name: easy_debounce url: "https://pub.dartlang.org" source: hosted version: "2.0.1" easy_image_viewer: dependency: "direct main" description: name: easy_image_viewer url: "https://pub.dartlang.org" source: hosted version: "1.0.3" easy_localization: dependency: "direct main" description: name: easy_localization url: "https://pub.dartlang.org" source: hosted version: "3.0.0" easy_logger: dependency: transitive description: name: easy_logger url: "https://pub.dartlang.org" source: hosted version: "0.0.2" equatable: dependency: "direct main" description: name: equatable url: "https://pub.dartlang.org" source: hosted version: "2.0.3" fake_async: dependency: transitive description: name: fake_async url: "https://pub.dartlang.org" source: hosted version: "1.2.0" ffi: dependency: transitive description: name: ffi url: "https://pub.dartlang.org" source: hosted version: "1.1.2" file: dependency: transitive description: name: file url: "https://pub.dartlang.org" source: hosted version: "6.1.2" firebase_auth: dependency: "direct main" description: name: firebase_auth url: "https://pub.dartlang.org" source: hosted version: "3.1.4" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface url: "https://pub.dartlang.org" source: hosted version: "6.1.2" firebase_auth_web: dependency: transitive description: name: firebase_auth_web url: "https://pub.dartlang.org" source: hosted version: "3.1.3" firebase_core: dependency: "direct main" description: name: firebase_core url: "https://pub.dartlang.org" source: hosted version: "1.8.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface url: "https://pub.dartlang.org" source: hosted version: "4.0.1" firebase_core_web: dependency: transitive description: name: firebase_core_web url: "https://pub.dartlang.org" source: hosted version: "1.1.0" firebase_crashlytics: dependency: "direct main" description: name: firebase_crashlytics url: "https://pub.dartlang.org" source: hosted version: "2.2.4" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface url: "https://pub.dartlang.org" source: hosted version: "3.1.4" firebase_messaging: dependency: "direct main" description: name: firebase_messaging url: "https://pub.dartlang.org" source: hosted version: "10.0.9" firebase_messaging_platform_interface: dependency: transitive description: name: firebase_messaging_platform_interface url: "https://pub.dartlang.org" source: hosted version: "3.0.7" firebase_messaging_web: dependency: transitive description: name: firebase_messaging_web url: "https://pub.dartlang.org" source: hosted version: "2.0.7" firebase_remote_config: dependency: "direct main" description: name: firebase_remote_config url: "https://pub.dartlang.org" source: hosted version: "0.11.0+2" firebase_remote_config_platform_interface: dependency: transitive description: name: firebase_remote_config_platform_interface url: "https://pub.dartlang.org" source: hosted version: "0.3.0+7" fixnum: dependency: transitive description: name: fixnum url: "https://pub.dartlang.org" source: hosted version: "1.0.0" flare_dart: dependency: transitive description: name: flare_dart url: "https://pub.dartlang.org" source: hosted version: "2.3.4" flare_flutter: dependency: transitive description: name: flare_flutter url: "https://pub.dartlang.org" source: hosted version: "2.0.6" flutter: dependency: "direct main" description: flutter source: sdk version: "0.0.0" flutter_bloc: dependency: transitive description: name: flutter_bloc url: "https://pub.dartlang.org" source: hosted version: "7.1.0" flutter_credit_card: dependency: "direct main" description: name: flutter_credit_card url: "https://pub.dartlang.org" source: hosted version: "2.0.0" flutter_facebook_auth: dependency: "direct main" description: name: flutter_facebook_auth url: "https://pub.dartlang.org" source: hosted version: "3.5.2" flutter_facebook_auth_platform_interface: dependency: transitive description: name: flutter_facebook_auth_platform_interface url: "https://pub.dartlang.org" source: hosted version: "2.7.0" flutter_facebook_auth_web: dependency: transitive description: name: flutter_facebook_auth_web url: "https://pub.dartlang.org" source: hosted version: "2.6.0+2" flutter_form_builder: dependency: "direct main" description: name: flutter_form_builder url: "https://pub.dartlang.org" source: hosted version: "7.0.0" flutter_hms_gms_availability: dependency: "direct main" description: name: flutter_hms_gms_availability url: "https://pub.dartlang.org" source: hosted version: "1.0.0" flutter_icons: dependency: "direct main" description: name: flutter_icons url: "https://pub.dartlang.org" source: hosted version: "1.1.0" flutter_image: dependency: "direct main" description: name: flutter_image url: "https://pub.dartlang.org" source: hosted version: "4.1.0" flutter_launcher_icons: dependency: "direct dev" description: name: flutter_launcher_icons url: "https://pub.dartlang.org" source: hosted version: "0.9.2" flutter_local_notifications: dependency: "direct main" description: name: flutter_local_notifications url: "https://pub.dartlang.org" source: hosted version: "6.1.1" flutter_local_notifications_platform_interface: dependency: transitive description: name: flutter_local_notifications_platform_interface url: "https://pub.dartlang.org" source: hosted version: "4.0.1" flutter_localizations: dependency: "direct main" description: flutter source: sdk version: "0.0.0" flutter_native_splash: dependency: "direct main" description: name: flutter_native_splash url: "https://pub.dartlang.org" source: hosted version: "1.2.4" flutter_phoenix: dependency: "direct main" description: name: flutter_phoenix url: "https://pub.dartlang.org" source: hosted version: "1.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle url: "https://pub.dartlang.org" source: hosted version: "2.0.4" flutter_rating: dependency: "direct main" description: name: flutter_rating url: "https://pub.dartlang.org" source: hosted version: "0.0.2" flutter_rating_bar: dependency: "direct main" description: name: flutter_rating_bar url: "https://pub.dartlang.org" source: hosted version: "4.0.0" flutter_secure_storage: dependency: "direct main" description: name: flutter_secure_storage url: "https://pub.dartlang.org" source: hosted version: "4.2.1" flutter_slidable: dependency: "direct main" description: name: flutter_slidable url: "https://pub.dartlang.org" source: hosted version: "0.6.0" flutter_spinkit: dependency: "direct main" description: name: flutter_spinkit url: "https://pub.dartlang.org" source: hosted version: "5.1.0" flutter_staggered_grid_view: dependency: "direct main" description: name: flutter_staggered_grid_view url: "https://pub.dartlang.org" source: hosted version: "0.4.1" flutter_svg: dependency: "direct main" description: name: flutter_svg url: "https://pub.dartlang.org" source: hosted version: "0.22.0" flutter_test: dependency: transitive description: flutter source: sdk version: "0.0.0" flutter_web_plugins: dependency: transitive description: flutter source: sdk version: "0.0.0" form_builder_validators: dependency: "direct main" description: name: form_builder_validators url: "https://pub.dartlang.org" source: hosted version: "7.0.0" frontend_server_client: dependency: transitive description: name: frontend_server_client url: "https://pub.dartlang.org" source: hosted version: "2.1.2" geocoder: dependency: "direct main" description: name: geocoder url: "https://pub.dartlang.org" source: hosted version: "0.2.1" geocoding: dependency: "direct main" description: name: geocoding url: "https://pub.dartlang.org" source: hosted version: "2.0.1" geocoding_platform_interface: dependency: transitive description: name: geocoding_platform_interface url: "https://pub.dartlang.org" source: hosted version: "2.0.1" geolocator: dependency: "direct main" description: name: geolocator url: "https://pub.dartlang.org" source: hosted version: "7.7.0" geolocator_android: dependency: transitive description: name: geolocator_android url: "https://pub.dartlang.org" source: hosted version: "2.1.0" geolocator_apple: dependency: transitive description: name: geolocator_apple url: "https://pub.dartlang.org" source: hosted version: "1.2.2" geolocator_platform_interface: dependency: transitive description: name: geolocator_platform_interface url: "https://pub.dartlang.org" source: hosted version: "2.3.6" geolocator_web: dependency: transitive description: name: geolocator_web url: "https://pub.dartlang.org" source: hosted version: "2.0.6" get: dependency: "direct main" description: name: get url: "https://pub.dartlang.org" source: hosted version: "4.3.8" giffy_dialog: dependency: "direct main" description: name: giffy_dialog url: "https://pub.dartlang.org" source: hosted version: "1.8.0" glob: dependency: transitive description: name: glob url: "https://pub.dartlang.org" source: hosted version: "2.0.2" google_maps_flutter: dependency: "direct main" description: name: google_maps_flutter url: "https://pub.dartlang.org" source: hosted version: "2.0.11" google_maps_flutter_platform_interface: dependency: transitive description: name: google_maps_flutter_platform_interface url: "https://pub.dartlang.org" source: hosted version: "2.1.3" google_sign_in: dependency: "direct main" description: name: google_sign_in url: "https://pub.dartlang.org" source: hosted version: "5.2.0" google_sign_in_platform_interface: dependency: transitive description: name: google_sign_in_platform_interface url: "https://pub.dartlang.org" source: hosted version: "2.1.0" google_sign_in_web: dependency: transitive description: name: google_sign_in_web url: "https://pub.dartlang.org" source: hosted version: "0.10.0+3" graphs: dependency: transitive description: name: graphs url: "https://pub.dartlang.org" source: hosted version: "2.1.0" hive: dependency: "direct main" description: name: hive url: "https://pub.dartlang.org" source: hosted version: "2.0.4" hive_flutter: dependency: "direct main" description: name: hive_flutter url: "https://pub.dartlang.org" source: hosted version: "1.1.0" hive_generator: dependency: "direct dev" description: name: hive_generator url: "https://pub.dartlang.org" source: hosted version: "1.1.1" html: dependency: transitive description: name: html url: "https://pub.dartlang.org" source: hosted version: "0.15.0" http: dependency: "direct main" description: name: http url: "https://pub.dartlang.org" source: hosted version: "0.13.4" http_multi_server: dependency: transitive description: name: http_multi_server url: "https://pub.dartlang.org" source: hosted version: "3.0.1" http_parser: dependency: transitive description: name: http_parser url: "https://pub.dartlang.org" source: hosted version: "4.0.0" image: dependency: transitive description: name: image url: "https://pub.dartlang.org" source: hosted version: "3.0.8" image_picker: dependency: "direct main" description: name: image_picker url: "https://pub.dartlang.org" source: hosted version: "0.8.4+3" image_picker_for_web: dependency: transitive description: name: image_picker_for_web url: "https://pub.dartlang.org" source: hosted version: "2.1.4" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface url: "https://pub.dartlang.org" source: hosted version: "2.4.1" intl: dependency: transitive description: name: intl url: "https://pub.dartlang.org" source: hosted version: "0.17.0" intl_phone_number_input: dependency: "direct main" description: name: intl_phone_number_input url: "https://pub.dartlang.org" source: hosted version: "0.7.0+2" intro_views_flutter: dependency: "direct main" description: name: intro_views_flutter url: "https://pub.dartlang.org" source: hosted version: "3.2.0" io: dependency: transitive description: name: io url: "https://pub.dartlang.org" source: hosted version: "1.0.3" js: dependency: transitive description: name: js url: "https://pub.dartlang.org" source: hosted version: "0.6.3" json_annotation: dependency: transitive description: name: json_annotation url: "https://pub.dartlang.org" source: hosted version: "4.3.0" latlng: dependency: "direct main" description: name: latlng url: "https://pub.dartlang.org" source: hosted version: "0.1.0" libphonenumber: dependency: transitive description: name: libphonenumber url: "https://pub.dartlang.org" source: hosted version: "2.0.2" libphonenumber_platform_interface: dependency: transitive description: name: libphonenumber_platform_interface url: "https://pub.dartlang.org" source: hosted version: "0.3.1" libphonenumber_plugin: dependency: transitive description: name: libphonenumber_plugin url: "https://pub.dartlang.org" source: hosted version: "0.2.3" libphonenumber_web: dependency: transitive description: name: libphonenumber_web url: "https://pub.dartlang.org" source: hosted version: "0.2.0+1" like_button: dependency: "direct main" description: name: like_button url: "https://pub.dartlang.org" source: hosted version: "2.0.3" loading_button: dependency: "direct main" description: name: loading_button url: "https://pub.dartlang.org" source: hosted version: "0.0.3+1" location: dependency: "direct main" description: name: location url: "https://pub.dartlang.org" source: hosted version: "4.3.0" location_platform_interface: dependency: transitive description: name: location_platform_interface url: "https://pub.dartlang.org" source: hosted version: "2.3.0" location_web: dependency: transitive description: name: location_web url: "https://pub.dartlang.org" source: hosted version: "3.1.1" logging: dependency: transitive description: name: logging url: "https://pub.dartlang.org" source: hosted version: "1.0.2" matcher: dependency: transitive description: name: matcher url: "https://pub.dartlang.org" source: hosted version: "0.12.10" material_floating_search_bar: dependency: "direct main" description: name: material_floating_search_bar url: "https://pub.dartlang.org" source: hosted version: "0.3.6" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted version: "1.7.0" mime: dependency: transitive description: name: mime url: "https://pub.dartlang.org" source: hosted version: "1.0.1" nested: dependency: transitive description: name: nested url: "https://pub.dartlang.org" source: hosted version: "1.0.0" nm: dependency: transitive description: name: nm url: "https://pub.dartlang.org" source: hosted version: "0.3.0" open_settings: dependency: "direct main" description: name: open_settings url: "https://pub.dartlang.org" source: hosted version: "2.0.2" package_config: dependency: transitive description: name: package_config url: "https://pub.dartlang.org" source: hosted version: "2.0.2" pagination_view: dependency: "direct main" description: name: pagination_view url: "https://pub.dartlang.org" source: hosted version: "2.0.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted version: "1.8.0" path_drawing: dependency: transitive description: name: path_drawing url: "https://pub.dartlang.org" source: hosted version: "0.5.1+1" path_parsing: dependency: transitive description: name: path_parsing url: "https://pub.dartlang.org" source: hosted version: "0.2.1" path_provider: dependency: transitive description: name: path_provider url: "https://pub.dartlang.org" source: hosted version: "2.0.5" path_provider_linux: dependency: transitive description: name: path_provider_linux url: "https://pub.dartlang.org" source: hosted version: "2.1.0" path_provider_macos: dependency: transitive description: name: path_provider_macos url: "https://pub.dartlang.org" source: hosted version: "2.0.2" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface url: "https://pub.dartlang.org" source: hosted version: "2.0.1" path_provider_windows: dependency: transitive description: name: path_provider_windows url: "https://pub.dartlang.org" source: hosted version: "2.0.3" pay: dependency: "direct main" description: name: pay url: "https://pub.dartlang.org" source: hosted version: "1.0.6" pay_android: dependency: transitive description: name: pay_android url: "https://pub.dartlang.org" source: hosted version: "1.0.5" pay_ios: dependency: transitive description: name: pay_ios url: "https://pub.dartlang.org" source: hosted version: "1.0.5" pay_platform_interface: dependency: transitive description: name: pay_platform_interface url: "https://pub.dartlang.org" source: hosted version: "1.0.2" pedantic: dependency: transitive description: name: pedantic url: "https://pub.dartlang.org" source: hosted version: "1.11.1" permission_handler: dependency: "direct main" description: name: permission_handler url: "https://pub.dartlang.org" source: hosted version: "8.2.5" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface url: "https://pub.dartlang.org" source: hosted version: "3.7.0" petitparser: dependency: transitive description: name: petitparser url: "https://pub.dartlang.org" source: hosted version: "4.4.0" photo_view: dependency: "direct main" description: name: photo_view url: "https://pub.dartlang.org" source: hosted version: "0.13.0" pin_code_fields: dependency: "direct main" description: name: pin_code_fields url: "https://pub.dartlang.org" source: hosted version: "7.3.0" platform: dependency: transitive description: name: platform url: "https://pub.dartlang.org" source: hosted version: "3.0.2" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface url: "https://pub.dartlang.org" source: hosted version: "2.0.2" pool: dependency: transitive description: name: pool url: "https://pub.dartlang.org" source: hosted version: "1.5.0" process: dependency: transitive description: name: process url: "https://pub.dartlang.org" source: hosted version: "4.2.4" progress_indicator_button: dependency: "direct main" description: name: progress_indicator_button url: "https://pub.dartlang.org" source: hosted version: "0.0.3" provider: dependency: "direct main" description: name: provider url: "https://pub.dartlang.org" source: hosted version: "5.0.0" pub_semver: dependency: transitive description: name: pub_semver url: "https://pub.dartlang.org" source: hosted version: "2.1.0" pubspec_parse: dependency: transitive description: name: pubspec_parse url: "https://pub.dartlang.org" source: hosted version: "1.1.0" quiver: dependency: transitive description: name: quiver url: "https://pub.dartlang.org" source: hosted version: "3.0.1+1" random_pk: dependency: "direct main" description: name: random_pk url: "https://pub.dartlang.org" source: hosted version: "0.0.3" rating_dialog: dependency: "direct main" description: name: rating_dialog url: "https://pub.dartlang.org" source: hosted version: "2.0.3" retry: dependency: "direct main" description: name: retry url: "https://pub.dartlang.org" source: hosted version: "3.1.0" ribbon: dependency: "direct main" description: name: ribbon url: "https://pub.dartlang.org" source: hosted version: "0.0.1" rxdart: dependency: transitive description: name: rxdart url: "https://pub.dartlang.org" source: hosted version: "0.24.1" scrollable_list_tabview: dependency: "direct main" description: name: scrollable_list_tabview url: "https://pub.dartlang.org" source: hosted version: "0.1.6" scrollable_positioned_list: dependency: "direct main" description: name: scrollable_positioned_list url: "https://pub.dartlang.org" source: hosted version: "0.1.10" shared_preferences: dependency: "direct main" description: name: shared_preferences url: "https://pub.dartlang.org" source: hosted version: "2.0.8" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux url: "https://pub.dartlang.org" source: hosted version: "2.0.2" shared_preferences_macos: dependency: transitive description: name: shared_preferences_macos url: "https://pub.dartlang.org" source: hosted version: "2.0.2" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface url: "https://pub.dartlang.org" source: hosted version: "2.0.0" shared_preferences_web: dependency: transitive description: name: shared_preferences_web url: "https://pub.dartlang.org" source: hosted version: "2.0.2" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows url: "https://pub.dartlang.org" source: hosted version: "2.0.2" shelf: dependency: transitive description: name: shelf url: "https://pub.dartlang.org" source: hosted version: "1.2.0" shelf_proxy: dependency: transitive description: name: shelf_proxy url: "https://pub.dartlang.org" source: hosted version: "1.0.1" shelf_static: dependency: transitive description: name: shelf_static url: "https://pub.dartlang.org" source: hosted version: "1.1.0" shelf_web_socket: dependency: transitive description: name: shelf_web_socket url: "https://pub.dartlang.org" source: hosted version: "1.0.1" shimmer: dependency: "direct main" description: name: shimmer url: "https://pub.dartlang.org" source: hosted version: "2.0.0" sign_in_with_apple: dependency: "direct main" description: name: sign_in_with_apple url: "https://pub.dartlang.org" source: hosted version: "3.2.0" simple_connectivity: dependency: transitive description: name: simple_connectivity url: "https://pub.dartlang.org" source: hosted version: "0.1.1" sizer: dependency: "direct main" description: name: sizer url: "https://pub.dartlang.org" source: hosted version: "2.0.15" sky_engine: dependency: transitive description: flutter source: sdk version: "0.0.99" socket_io_client: dependency: "direct main" description: name: socket_io_client url: "https://pub.dartlang.org" source: hosted version: "2.0.0-beta.4-nullsafety.0" socket_io_common: dependency: transitive description: name: socket_io_common url: "https://pub.dartlang.org" source: hosted version: "2.0.0-beta.1-nullsafety.1" source_gen: dependency: transitive description: name: source_gen url: "https://pub.dartlang.org" source: hosted version: "1.1.1" source_helper: dependency: transitive description: name: source_helper url: "https://pub.dartlang.org" source: hosted version: "1.3.0" source_span: dependency: transitive description: name: source_span url: "https://pub.dartlang.org" source: hosted version: "1.8.1" sse: dependency: transitive description: name: sse url: "https://pub.dartlang.org" source: hosted version: "4.1.0" stack_trace: dependency: transitive description: name: stack_trace url: "https://pub.dartlang.org" source: hosted version: "1.10.0" sticky_headers: dependency: "direct main" description: name: sticky_headers url: "https://pub.dartlang.org" source: hosted version: "0.2.0" stream_channel: dependency: transitive description: name: stream_channel url: "https://pub.dartlang.org" source: hosted version: "2.1.0" stream_disposable: dependency: transitive description: name: stream_disposable url: "https://pub.dartlang.org" source: hosted version: "0.1.0" stream_transform: dependency: transitive description: name: stream_transform url: "https://pub.dartlang.org" source: hosted version: "2.0.0" string_scanner: dependency: transitive description: name: string_scanner url: "https://pub.dartlang.org" source: hosted version: "1.1.0" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted version: "1.2.0" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted version: "0.4.2" timeline_tile: dependency: "direct main" description: name: timeline_tile url: "https://pub.dartlang.org" source: hosted version: "2.0.0" timer_button: dependency: "direct main" description: name: timer_button url: "https://pub.dartlang.org" source: hosted version: "2.0.0" timezone: dependency: transitive description: name: timezone url: "https://pub.dartlang.org" source: hosted version: "0.7.0" timing: dependency: transitive description: name: timing url: "https://pub.dartlang.org" source: hosted version: "1.0.0" transparent_image: dependency: "direct main" description: name: transparent_image url: "https://pub.dartlang.org" source: hosted version: "2.0.0" typed_data: dependency: transitive description: name: typed_data url: "https://pub.dartlang.org" source: hosted version: "1.3.0" universal_io: dependency: transitive description: name: universal_io url: "https://pub.dartlang.org" source: hosted version: "2.0.4" url_launcher: dependency: "direct main" description: name: url_launcher url: "https://pub.dartlang.org" source: hosted version: "6.0.12" url_launcher_linux: dependency: transitive description: name: url_launcher_linux url: "https://pub.dartlang.org" source: hosted version: "2.0.2" url_launcher_macos: dependency: transitive description: name: url_launcher_macos url: "https://pub.dartlang.org" source: hosted version: "2.0.2" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface url: "https://pub.dartlang.org" source: hosted version: "2.0.4" url_launcher_web: dependency: transitive description: name: url_launcher_web url: "https://pub.dartlang.org" source: hosted version: "2.0.4" url_launcher_windows: dependency: transitive description: name: url_launcher_windows url: "https://pub.dartlang.org" source: hosted version: "2.0.2" usage: dependency: transitive description: name: usage url: "https://pub.dartlang.org" source: hosted version: "4.0.2" vector_math: dependency: transitive description: name: vector_math url: "https://pub.dartlang.org" source: hosted version: "2.1.0" video_player: dependency: "direct main" description: name: video_player url: "https://pub.dartlang.org" source: hosted version: "2.2.5" video_player_platform_interface: dependency: transitive description: name: video_player_platform_interface url: "https://pub.dartlang.org" source: hosted version: "4.2.0" video_player_web: dependency: transitive description: name: video_player_web url: "https://pub.dartlang.org" source: hosted version: "2.0.4" vm_service: dependency: transitive description: name: vm_service url: "https://pub.dartlang.org" source: hosted version: "7.3.0" watcher: dependency: transitive description: name: watcher url: "https://pub.dartlang.org" source: hosted version: "1.0.1" web_socket_channel: dependency: transitive description: name: web_socket_channel url: "https://pub.dartlang.org" source: hosted version: "2.1.0" webkit_inspection_protocol: dependency: transitive description: name: webkit_inspection_protocol url: "https://pub.dartlang.org" source: hosted version: "1.0.0" win32: dependency: transitive description: name: win32 url: "https://pub.dartlang.org" source: hosted version: "2.2.10" xdg_directories: dependency: transitive description: name: xdg_directories url: "https://pub.dartlang.org" source: hosted version: "0.2.0" xml: dependency: transitive description: name: xml url: "https://pub.dartlang.org" source: hosted version: "5.3.1" yaml: dependency: transitive description: name: yaml url: "https://pub.dartlang.org" source: hosted version: "3.1.0" sdks: dart: ">=2.14.0 <3.0.0" flutter: ">=2.5.0" ```

Smartphone (please complete the following information):

Additional context This is just an observation, in the screenshot provided above, the if statement, checks if the Map options is null OR path is null, but proceeds to traverse over the keys' even tho the map is null. so i think there should be an inner check skipping the map iteration if the map is null.

Ozak93 commented 2 years ago

update:

so i thought perhaps i can pass the options parameter when i call List function. now my function call looks like this: var res = await Amplify.Storage.list(path: path,options: ListOptions(accessLevel: StorageAccessLevel.guest));

And it resolved the above crash! but now am faced with an Exception instead!, a Format Exception to be precise.

`[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: FormatException: Invalid date format ٢٠٢١-١٠-٢٨ ١٤:٣٣:٥٥ +0000

0 DateTime.parse (dart:core/date_time.dart:330:7)

1 AmplifyStorageS3MethodChannel._formatListResult (package:amplify_storage_s3/method_channel_storage_s3.dart:215:28)

2 AmplifyStorageS3MethodChannel.list (package:amplify_storage_s3/method_channel_storage_s3.dart:141:27)

`

the Amplify Storage API seems to use the Device's Locale to receive data in the Locale's language code. in this case, my device was in Arabic. and the returned property Last Modified of my list object is now in Arabic numerals which caused a format exception. is there a possibility of ignoring the app/device's locale? and just default to English, i can format the data returned if i need to.

Ozak93 commented 2 years ago

Greetings, when could we see the fixes for this issue deployed to the flutter plugin? we're currently delaying our iOS app production deployment till these fixes are push to the plugin.

dnys1 commented 2 years ago

Hi @Ozak93 - thank you for your patience resolving this issue. Version 0.2.8 has been released with the fix and I'd be excited to know how it works for you. Please let me know if you experience this or any other issues, and I hope have a great weekend!

Ozak93 commented 2 years ago

Thank you so much, the issue seems resolved!