supabase / supabase-flutter

Flutter integration for Supabase. This package makes it simple for developers to build secure and scalable products.
https://supabase.com/
MIT License
656 stars 154 forks source link

SSE stream chunks are split arbitrarily #948

Open nietsmmar opened 1 week ago

nietsmmar commented 1 week ago

Describe the bug When receiving SSE they sometimes are not completely received in one chunk but split into two (or maybe more?).

To Reproduce Send SSE from Edge-Function or other backend endpoint like this:

var chunkJson = {
  token: token,
  finish: finish
};

controller.enqueue(new TextEncoder().encode(JSON.stringify(chunkJson)));

Receive SSE like this:

final res = await supabase.functions
    .invoke('sse', body: {'input': 'sample text'});

(res.data as ByteStream)
    .transform(const Utf8Decoder())
    .listen((val) {
      print(val);
});

Expected behavior Receive chunks like this: {"token":" gest","finish":false}

Actual behavior I do sometimes receive chunks like this:

{"token":" gest","finish":fal

And then in the next received Event is this: se}

Version (please complete the following information): On Linux/macOS

Dart SDK 3.4.1
Flutter SDK 3.22.1
articlett_schule 1.0.0+1
├── animated_text_kit 4.2.2
│   ├── characters...
│   └── flutter...
├── animations 2.0.11
│   └── flutter...
├── blurhash_dart 1.2.1
│   └── image...
├── build_runner 2.4.11
│   ├── analyzer...
│   ├── args...
│   ├── async...
│   ├── build...
│   ├── build_config...
│   ├── build_daemon 4.0.1
│   │   ├── built_collection 5.1.1
│   │   ├── built_value 8.9.1
│   │   │   ├── built_collection...
│   │   │   ├── collection...
│   │   │   ├── fixnum...
│   │   │   └── meta...
│   │   ├── crypto...
│   │   ├── http_multi_server...
│   │   ├── logging...
│   │   ├── path...
│   │   ├── pool...
│   │   ├── shelf...
│   │   ├── shelf_web_socket...
│   │   ├── stream_transform...
│   │   ├── watcher...
│   │   └── web_socket_channel...
│   ├── build_resolvers 2.4.2
│   │   ├── analyzer...
│   │   ├── async...
│   │   ├── build...
│   │   ├── collection...
│   │   ├── convert...
│   │   ├── crypto...
│   │   ├── graphs...
│   │   ├── logging...
│   │   ├── package_config...
│   │   ├── path...
│   │   ├── pool...
│   │   ├── pub_semver...
│   │   ├── stream_transform...
│   │   └── yaml...
│   ├── build_runner_core 7.3.0
│   │   ├── async...
│   │   ├── build...
│   │   ├── build_config...
│   │   ├── build_resolvers...
│   │   ├── collection...
│   │   ├── convert...
│   │   ├── crypto...
│   │   ├── glob...
│   │   ├── graphs...
│   │   ├── json_annotation...
│   │   ├── logging...
│   │   ├── meta...
│   │   ├── package_config...
│   │   ├── path...
│   │   ├── pool...
│   │   ├── timing...
│   │   ├── watcher...
│   │   └── yaml...
│   ├── code_builder 4.10.0
│   │   ├── built_collection...
│   │   ├── built_value...
│   │   ├── collection...
│   │   ├── matcher...
│   │   └── meta...
│   ├── collection...
│   ├── crypto...
│   ├── dart_style 2.3.6
│   │   ├── analyzer...
│   │   ├── args...
│   │   ├── collection...
│   │   ├── path...
│   │   ├── pub_semver...
│   │   └── source_span...
│   ├── frontend_server_client 3.2.0
│   │   ├── async...
│   │   └── path...
│   ├── glob 2.1.2
│   │   ├── async...
│   │   ├── collection...
│   │   ├── file...
│   │   ├── path...
│   │   └── string_scanner...
│   ├── graphs 2.3.1
│   │   └── collection...
│   ├── http_multi_server 3.2.1
│   │   └── async...
│   ├── io 1.0.4
│   │   ├── meta...
│   │   ├── path...
│   │   └── string_scanner...
│   ├── js 0.6.7
│   │   └── meta...
│   ├── logging...
│   ├── meta...
│   ├── mime...
│   ├── package_config 2.1.0
│   │   └── path...
│   ├── path...
│   ├── pool 1.5.1
│   │   ├── async...
│   │   └── stack_trace...
│   ├── pub_semver...
│   ├── pubspec_parse...
│   ├── shelf 1.4.1
│   │   ├── async...
│   │   ├── collection...
│   │   ├── http_parser...
│   │   ├── path...
│   │   ├── stack_trace...
│   │   └── stream_channel...
│   ├── shelf_web_socket 1.0.4
│   │   ├── shelf...
│   │   ├── stream_channel...
│   │   └── web_socket_channel...
│   ├── stack_trace...
│   ├── stream_transform 2.1.0
│   ├── timing 1.0.1
│   │   └── json_annotation...
│   ├── watcher 1.1.0
│   │   ├── async...
│   │   └── path...
│   ├── web_socket_channel 2.4.4
│   │   ├── async...
│   │   ├── crypto...
│   │   ├── stream_channel...
│   │   └── web...
│   └── yaml...
├── build_verify 3.1.0
│   ├── io...
│   ├── path...
│   └── test 1.25.2
│       ├── analyzer...
│       ├── async...
│       ├── boolean_selector...
│       ├── collection...
│       ├── coverage 1.7.2
│       │   ├── args...
│       │   ├── logging...
│       │   ├── package_config...
│       │   ├── path...
│       │   ├── source_maps 0.10.12
│       │   │   └── source_span...
│       │   ├── stack_trace...
│       │   └── vm_service...
│       ├── http_multi_server...
│       ├── io...
│       ├── js...
│       ├── matcher...
│       ├── node_preamble 2.0.2
│       ├── package_config...
│       ├── path...
│       ├── pool...
│       ├── shelf...
│       ├── shelf_packages_handler 3.0.2
│       │   ├── path...
│       │   ├── shelf...
│       │   └── shelf_static...
│       ├── shelf_static 1.1.2
│       │   ├── convert...
│       │   ├── http_parser...
│       │   ├── mime...
│       │   ├── path...
│       │   └── shelf...
│       ├── shelf_web_socket...
│       ├── source_span...
│       ├── stack_trace...
│       ├── stream_channel...
│       ├── test_api...
│       ├── test_core 0.6.0
│       │   ├── analyzer...
│       │   ├── args...
│       │   ├── async...
│       │   ├── boolean_selector...
│       │   ├── collection...
│       │   ├── coverage...
│       │   ├── frontend_server_client...
│       │   ├── glob...
│       │   ├── io...
│       │   ├── meta...
│       │   ├── package_config...
│       │   ├── path...
│       │   ├── pool...
│       │   ├── source_map_stack_trace 2.1.1
│       │   │   ├── path...
│       │   │   ├── source_maps...
│       │   │   └── stack_trace...
│       │   ├── source_maps...
│       │   ├── source_span...
│       │   ├── stack_trace...
│       │   ├── stream_channel...
│       │   ├── test_api...
│       │   ├── vm_service...
│       │   └── yaml...
│       ├── typed_data...
│       ├── web_socket_channel...
│       ├── webkit_inspection_protocol 1.2.1
│       │   └── logging...
│       └── yaml...
├── carousel_slider 4.2.1
│   └── flutter...
├── collection 1.18.0
├── cupertino_icons 1.0.8
├── custom_lint 0.6.4
│   ├── analyzer...
│   ├── analyzer_plugin...
│   ├── args...
│   ├── async...
│   ├── ci 0.1.0
│   ├── cli_util...
│   ├── collection...
│   ├── custom_lint_core 0.6.3
│   │   ├── analyzer...
│   │   ├── analyzer_plugin...
│   │   ├── collection...
│   │   ├── glob...
│   │   ├── matcher...
│   │   ├── meta...
│   │   ├── package_config...
│   │   ├── path...
│   │   ├── pubspec_parse...
│   │   ├── source_span...
│   │   └── yaml...
│   ├── freezed_annotation...
│   ├── json_annotation...
│   ├── meta...
│   ├── package_config...
│   ├── path...
│   ├── pub_semver...
│   ├── pubspec_parse...
│   ├── rxdart...
│   ├── uuid...
│   └── yaml...
├── data_table_2 2.5.12
│   ├── async...
│   └── flutter...
├── dependency_validator 3.2.3
│   ├── args...
│   ├── build_config...
│   ├── checked_yaml...
│   ├── glob...
│   ├── io...
│   ├── json_annotation...
│   ├── logging...
│   ├── package_config...
│   ├── path...
│   ├── pub_semver...
│   ├── pubspec_parse...
│   └── yaml...
├── dotted_border 2.1.0
│   ├── flutter...
│   └── path_drawing 1.0.1
│       ├── flutter...
│       ├── meta...
│       ├── path_parsing 1.0.1
│       │   ├── meta...
│       │   └── vector_math...
│       └── vector_math...
├── fetch_client 1.1.2
│   ├── fetch_api 2.2.0
│   │   └── web...
│   └── http...
├── file_saver 0.2.13
│   ├── dio 5.4.3+1
│   │   ├── async...
│   │   ├── http_parser...
│   │   ├── meta...
│   │   └── path...
│   ├── flutter...
│   ├── flutter_web_plugins...
│   ├── path_provider...
│   ├── path_provider_linux 2.2.1
│   │   ├── ffi...
│   │   ├── flutter...
│   │   ├── path...
│   │   ├── path_provider_platform_interface...
│   │   └── xdg_directories 1.0.4
│   │       ├── meta...
│   │       └── path...
│   ├── path_provider_windows 2.2.1
│   │   ├── ffi...
│   │   ├── flutter...
│   │   ├── path...
│   │   ├── path_provider_platform_interface...
│   │   └── win32...
│   └── web...
├── fl_chart 0.68.0
│   ├── equatable 2.0.5
│   │   ├── collection...
│   │   └── meta...
│   └── flutter...
├── flex_color_scheme 7.3.1
│   ├── flex_seed_scheme 1.4.0
│   │   ├── collection...
│   │   ├── flutter...
│   │   └── meta...
│   ├── flutter...
│   └── meta...
├── flutter 0.0.0
│   ├── characters 1.3.0
│   ├── collection...
│   ├── material_color_utilities 0.8.0
│   │   └── collection...
│   ├── meta 1.12.0
│   ├── sky_engine 0.0.99
│   └── vector_math 2.1.4
├── flutter_animate 4.5.0
│   ├── flutter...
│   └── flutter_shaders 0.1.2
│       ├── flutter...
│       └── vector_math...
├── flutter_driver 0.0.0
│   ├── async...
│   ├── boolean_selector...
│   ├── characters...
│   ├── clock...
│   ├── collection...
│   ├── file...
│   ├── flutter...
│   ├── flutter_test...
│   ├── fuchsia_remote_debug_protocol 0.0.0
│   │   ├── file...
│   │   ├── meta...
│   │   ├── path...
│   │   ├── platform...
│   │   ├── process...
│   │   └── vm_service...
│   ├── leak_tracker...
│   ├── leak_tracker_flutter_testing...
│   ├── leak_tracker_testing...
│   ├── matcher...
│   ├── material_color_utilities...
│   ├── meta...
│   ├── path...
│   ├── platform 3.1.4
│   ├── process 5.0.2
│   │   ├── file...
│   │   ├── path...
│   │   └── platform...
│   ├── source_span...
│   ├── stack_trace...
│   ├── stream_channel...
│   ├── string_scanner...
│   ├── sync_http...
│   ├── term_glyph...
│   ├── test_api...
│   ├── vector_math...
│   ├── vm_service...
│   └── webdriver...
├── flutter_form_builder 9.3.0
│   ├── flutter...
│   └── intl...
├── flutter_gen_runner 5.5.0+1
│   ├── build...
│   ├── collection...
│   ├── crypto...
│   ├── flutter_gen_core 5.5.0+1
│   │   ├── args...
│   │   ├── collection...
│   │   ├── color 3.0.0
│   │   ├── dart_style...
│   │   ├── dartx 1.2.0
│   │   │   ├── characters...
│   │   │   ├── collection...
│   │   │   ├── crypto...
│   │   │   ├── meta...
│   │   │   ├── path...
│   │   │   └── time 2.1.4
│   │   │       └── clock...
│   │   ├── glob...
│   │   ├── image_size_getter 2.1.3
│   │   │   ├── collection...
│   │   │   └── hashcodes 2.0.0
│   │   ├── json_annotation...
│   │   ├── mime...
│   │   ├── path...
│   │   ├── pub_semver...
│   │   ├── vector_graphics_compiler 1.1.11+1
│   │   │   ├── args...
│   │   │   ├── meta...
│   │   │   ├── path...
│   │   │   ├── path_parsing...
│   │   │   ├── vector_graphics_codec 1.1.11+1
│   │   │   └── xml...
│   │   ├── xml...
│   │   └── yaml...
│   ├── glob...
│   └── path...
├── flutter_inappwebview 6.0.0
│   ├── flutter...
│   ├── flutter_inappwebview_android 1.0.13
│   │   ├── flutter...
│   │   └── flutter_inappwebview_platform_interface...
│   ├── flutter_inappwebview_ios 1.0.13
│   │   ├── flutter...
│   │   └── flutter_inappwebview_platform_interface...
│   ├── flutter_inappwebview_macos 1.0.11
│   │   ├── flutter...
│   │   └── flutter_inappwebview_platform_interface...
│   ├── flutter_inappwebview_platform_interface 1.0.10
│   │   ├── flutter...
│   │   ├── flutter_inappwebview_internal_annotations 1.1.1
│   │   └── plugin_platform_interface...
│   └── flutter_inappwebview_web 1.0.8
│       ├── flutter...
│       ├── flutter_inappwebview_platform_interface...
│       ├── flutter_web_plugins...
│       └── js...
├── flutter_launcher_icons 0.13.1
│   ├── args...
│   ├── checked_yaml 2.0.3
│   │   ├── json_annotation...
│   │   ├── source_span...
│   │   └── yaml...
│   ├── cli_util 0.4.1
│   │   ├── meta...
│   │   └── path...
│   ├── image...
│   ├── json_annotation...
│   ├── path...
│   └── yaml...
├── flutter_markdown 0.7.1
│   ├── flutter...
│   ├── markdown 7.2.1
│   │   ├── args...
│   │   └── meta...
│   ├── meta...
│   └── path...
├── flutter_native_splash 2.4.0
│   ├── ansicolor 2.0.2
│   ├── args 2.4.2
│   ├── flutter...
│   ├── flutter_web_plugins 0.0.0
│   │   ├── characters...
│   │   ├── collection...
│   │   ├── flutter...
│   │   ├── material_color_utilities...
│   │   ├── meta...
│   │   └── vector_math...
│   ├── html 0.15.4
│   │   ├── csslib 1.0.0
│   │   │   └── source_span...
│   │   └── source_span...
│   ├── image...
│   ├── meta...
│   ├── path 1.9.0
│   ├── universal_io 2.2.2
│   │   ├── collection...
│   │   ├── meta...
│   │   └── typed_data...
│   ├── xml 6.5.0
│   │   ├── collection...
│   │   ├── meta...
│   │   └── petitparser 6.0.2
│   │       └── meta...
│   └── yaml 3.1.2
│       ├── collection...
│       ├── source_span...
│       └── string_scanner...
├── flutter_riverpod 2.5.1
│   ├── collection...
│   ├── flutter...
│   ├── meta...
│   ├── riverpod...
│   └── state_notifier 1.0.0
│       └── meta...
├── flutter_test 0.0.0
│   ├── async...
│   ├── boolean_selector 2.1.1
│   │   ├── source_span...
│   │   └── string_scanner...
│   ├── characters...
│   ├── clock...
│   ├── collection...
│   ├── fake_async 1.3.1
│   │   ├── clock...
│   │   └── collection...
│   ├── flutter...
│   ├── leak_tracker 10.0.4
│   │   ├── clock...
│   │   ├── collection...
│   │   ├── meta...
│   │   ├── path...
│   │   └── vm_service...
│   ├── leak_tracker_flutter_testing 3.0.3
│   │   ├── flutter...
│   │   ├── leak_tracker...
│   │   ├── leak_tracker_testing...
│   │   ├── matcher...
│   │   └── meta...
│   ├── leak_tracker_testing 3.0.1
│   │   ├── leak_tracker...
│   │   ├── matcher...
│   │   └── meta...
│   ├── matcher 0.12.16+1
│   │   ├── async...
│   │   ├── meta...
│   │   ├── stack_trace...
│   │   ├── term_glyph...
│   │   └── test_api...
│   ├── material_color_utilities...
│   ├── meta...
│   ├── path...
│   ├── source_span 1.10.0
│   │   ├── collection...
│   │   ├── path...
│   │   └── term_glyph...
│   ├── stack_trace...
│   ├── stream_channel 2.1.2
│   │   └── async...
│   ├── string_scanner 1.2.0
│   │   └── source_span...
│   ├── term_glyph 1.2.1
│   ├── test_api 0.7.0
│   │   ├── async...
│   │   ├── boolean_selector...
│   │   ├── collection...
│   │   ├── meta...
│   │   ├── source_span...
│   │   ├── stack_trace...
│   │   ├── stream_channel...
│   │   ├── string_scanner...
│   │   └── term_glyph...
│   ├── vector_math...
│   └── vm_service 14.2.1
├── font_awesome_flutter 10.7.0
│   └── flutter...
├── form_builder_validators 10.0.1
│   ├── flutter...
│   ├── flutter_localizations 0.0.0
│   │   ├── characters...
│   │   ├── clock...
│   │   ├── collection...
│   │   ├── flutter...
│   │   ├── intl...
│   │   ├── material_color_utilities...
│   │   ├── meta...
│   │   ├── path...
│   │   └── vector_math...
│   └── intl...
├── fpdart 1.1.0
├── freezed 2.5.2
│   ├── analyzer...
│   ├── build...
│   ├── build_config...
│   ├── collection...
│   ├── freezed_annotation...
│   ├── json_annotation...
│   ├── meta...
│   └── source_gen...
├── freezed_annotation 2.4.1
│   ├── collection...
│   ├── json_annotation...
│   └── meta...
├── go_router 14.1.4
│   ├── collection...
│   ├── flutter...
│   ├── flutter_web_plugins...
│   ├── logging 1.2.0
│   └── meta...
├── go_router_builder 2.7.0
│   ├── analyzer...
│   ├── async...
│   ├── build...
│   ├── build_config...
│   ├── collection...
│   ├── meta...
│   ├── path...
│   ├── source_gen...
│   └── source_helper...
├── gotrue 2.7.0
│   ├── collection...
│   ├── crypto...
│   ├── http...
│   ├── jwt_decode 0.3.1
│   ├── meta...
│   ├── retry 3.1.2
│   └── rxdart 0.27.7
├── http 1.2.1
│   ├── async...
│   ├── http_parser 4.0.2
│   │   ├── collection...
│   │   ├── source_span...
│   │   ├── string_scanner...
│   │   └── typed_data...
│   ├── meta...
│   └── web...
├── image 4.2.0
│   ├── archive 3.4.10
│   │   ├── crypto...
│   │   ├── path...
│   │   └── pointycastle 3.7.4
│   │       ├── collection...
│   │       ├── convert...
│   │       └── js...
│   ├── meta...
│   └── xml...
├── image_picker 1.1.2
│   ├── flutter...
│   ├── image_picker_android 0.8.9+3
│   │   ├── flutter...
│   │   ├── flutter_plugin_android_lifecycle 2.0.17
│   │   │   └── flutter...
│   │   └── 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 0.9.2+1
│   │   │   ├── cross_file...
│   │   │   ├── file_selector_platform_interface...
│   │   │   └── flutter...
│   │   ├── file_selector_platform_interface 2.6.2
│   │   │   ├── cross_file...
│   │   │   ├── flutter...
│   │   │   ├── http...
│   │   │   └── plugin_platform_interface...
│   │   ├── flutter...
│   │   └── image_picker_platform_interface...
│   ├── image_picker_macos 0.2.1+1
│   │   ├── file_selector_macos 0.9.3+3
│   │   │   ├── cross_file...
│   │   │   ├── file_selector_platform_interface...
│   │   │   └── flutter...
│   │   ├── file_selector_platform_interface...
│   │   ├── flutter...
│   │   └── image_picker_platform_interface...
│   ├── image_picker_platform_interface 2.10.0
│   │   ├── cross_file...
│   │   ├── flutter...
│   │   ├── http...
│   │   └── plugin_platform_interface...
│   └── image_picker_windows 0.2.1+1
│       ├── file_selector_platform_interface...
│       ├── file_selector_windows 0.9.3+1
│       │   ├── cross_file...
│       │   ├── file_selector_platform_interface...
│       │   └── flutter...
│       ├── flutter...
│       └── image_picker_platform_interface...
├── import_sorter 4.6.0
│   ├── args...
│   ├── tint 2.0.1
│   └── yaml...
├── info_widget 1.0.0
│   └── flutter...
├── integration_test 0.0.0
│   ├── async...
│   ├── boolean_selector...
│   ├── characters...
│   ├── clock...
│   ├── collection...
│   ├── fake_async...
│   ├── file...
│   ├── flutter...
│   ├── flutter_driver...
│   ├── flutter_test...
│   ├── leak_tracker...
│   ├── leak_tracker_flutter_testing...
│   ├── leak_tracker_testing...
│   ├── matcher...
│   ├── material_color_utilities...
│   ├── meta...
│   ├── path...
│   ├── source_span...
│   ├── stack_trace...
│   ├── stream_channel...
│   ├── string_scanner...
│   ├── sync_http 0.3.1
│   ├── term_glyph...
│   ├── test_api...
│   ├── vector_math...
│   ├── vm_service...
│   └── webdriver 3.0.3
│       ├── matcher...
│       ├── path...
│       ├── stack_trace...
│       └── sync_http...
├── intl 0.19.0
│   ├── clock 1.1.1
│   ├── meta...
│   └── path...
├── jelly_anim 0.0.7
│   ├── angles 2.1.1
│   │   └── meta...
│   ├── bezier 1.2.0
│   │   └── vector_math...
│   ├── flutter...
│   └── random_color 1.0.6-nullsafety
│       └── flutter...
├── json_annotation 4.9.0
│   └── meta...
├── json_serializable 6.8.0
│   ├── analyzer 6.4.1
│   │   ├── _fe_analyzer_shared 67.0.0
│   │   │   └── meta...
│   │   ├── collection...
│   │   ├── convert 3.1.1
│   │   │   └── typed_data...
│   │   ├── crypto...
│   │   ├── glob...
│   │   ├── meta...
│   │   ├── package_config...
│   │   ├── path...
│   │   ├── pub_semver...
│   │   ├── source_span...
│   │   ├── watcher...
│   │   └── yaml...
│   ├── async...
│   ├── build 2.4.1
│   │   ├── analyzer...
│   │   ├── async...
│   │   ├── convert...
│   │   ├── crypto...
│   │   ├── glob...
│   │   ├── logging...
│   │   ├── meta...
│   │   ├── package_config...
│   │   └── path...
│   ├── build_config 1.1.1
│   │   ├── checked_yaml...
│   │   ├── json_annotation...
│   │   ├── path...
│   │   ├── pubspec_parse...
│   │   └── yaml...
│   ├── collection...
│   ├── json_annotation...
│   ├── meta...
│   ├── path...
│   ├── pub_semver 2.1.4
│   │   ├── collection...
│   │   └── meta...
│   ├── pubspec_parse 1.2.3
│   │   ├── checked_yaml...
│   │   ├── collection...
│   │   ├── json_annotation...
│   │   ├── pub_semver...
│   │   └── yaml...
│   ├── source_gen 1.5.0
│   │   ├── analyzer...
│   │   ├── async...
│   │   ├── build...
│   │   ├── dart_style...
│   │   ├── glob...
│   │   ├── path...
│   │   ├── source_span...
│   │   └── yaml...
│   └── source_helper 1.3.4
│       ├── analyzer...
│       ├── collection...
│       └── source_gen...
├── loading_animation_widget 1.2.1
│   └── flutter...
├── matomo_tracker 4.1.1
│   ├── clock...
│   ├── collection...
│   ├── device_info_plus 9.1.2
│   │   ├── device_info_plus_platform_interface 7.0.0
│   │   │   ├── flutter...
│   │   │   ├── meta...
│   │   │   └── plugin_platform_interface...
│   │   ├── ffi...
│   │   ├── file...
│   │   ├── flutter...
│   │   ├── flutter_web_plugins...
│   │   ├── meta...
│   │   ├── win32...
│   │   └── win32_registry 1.1.2
│   │       ├── ffi...
│   │       └── win32...
│   ├── flutter...
│   ├── http...
│   ├── package_info_plus 4.2.0
│   │   ├── ffi...
│   │   ├── flutter...
│   │   ├── flutter_web_plugins...
│   │   ├── http...
│   │   ├── meta...
│   │   ├── package_info_plus_platform_interface 2.0.1
│   │   │   ├── flutter...
│   │   │   ├── meta...
│   │   │   └── plugin_platform_interface...
│   │   ├── path...
│   │   └── win32...
│   ├── shared_preferences...
│   └── uuid...
├── qr_flutter 4.1.0
│   ├── flutter...
│   └── qr 3.0.1
│       └── meta...
├── responsive_framework 1.4.0
│   ├── collection...
│   └── flutter...
├── riverpod 2.5.1
│   ├── collection...
│   ├── meta...
│   ├── stack_trace 1.11.1
│   │   └── path...
│   └── state_notifier...
├── riverpod_annotation 2.3.5
│   ├── meta...
│   └── riverpod...
├── riverpod_generator 2.4.0
│   ├── analyzer...
│   ├── build...
│   ├── build_config...
│   ├── collection...
│   ├── crypto...
│   ├── meta...
│   ├── path...
│   ├── riverpod_analyzer_utils 0.5.1
│   │   ├── analyzer...
│   │   ├── collection...
│   │   ├── crypto...
│   │   ├── custom_lint_core...
│   │   ├── freezed_annotation...
│   │   ├── meta...
│   │   ├── path...
│   │   └── source_span...
│   ├── riverpod_annotation...
│   └── source_gen...
├── riverpod_lint 2.3.10
│   ├── analyzer...
│   ├── analyzer_plugin 0.11.3
│   │   ├── analyzer...
│   │   ├── collection...
│   │   ├── dart_style...
│   │   ├── pub_semver...
│   │   └── yaml...
│   ├── collection...
│   ├── custom_lint_builder 0.6.4
│   │   ├── analyzer...
│   │   ├── analyzer_plugin...
│   │   ├── collection...
│   │   ├── custom_lint...
│   │   ├── custom_lint_core...
│   │   ├── glob...
│   │   ├── hotreloader 4.2.0
│   │   │   ├── collection...
│   │   │   ├── logging...
│   │   │   ├── path...
│   │   │   ├── stream_transform...
│   │   │   ├── vm_service...
│   │   │   └── watcher...
│   │   ├── meta...
│   │   ├── package_config...
│   │   ├── path...
│   │   ├── pubspec_parse...
│   │   └── rxdart...
│   ├── meta...
│   ├── path...
│   ├── riverpod...
│   ├── riverpod_analyzer_utils...
│   ├── source_span...
│   └── yaml...
├── share_plus 9.0.0
│   ├── cross_file 0.3.4+1
│   │   ├── meta...
│   │   └── web...
│   ├── ffi 2.1.2
│   ├── file 7.0.0
│   │   ├── meta...
│   │   └── path...
│   ├── flutter...
│   ├── flutter_web_plugins...
│   ├── meta...
│   ├── mime 1.0.5
│   ├── share_plus_platform_interface 4.0.0
│   │   ├── cross_file...
│   │   ├── flutter...
│   │   ├── meta...
│   │   ├── mime...
│   │   ├── path_provider...
│   │   ├── plugin_platform_interface...
│   │   └── uuid...
│   ├── url_launcher_linux...
│   ├── url_launcher_platform_interface...
│   ├── url_launcher_web...
│   ├── url_launcher_windows...
│   ├── web...
│   └── win32 5.2.0
│       └── ffi...
├── shared_preferences 2.2.3
│   ├── flutter...
│   ├── 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...
├── shimmer 3.0.0
│   └── flutter...
├── supabase_flutter 2.5.4
│   ├── app_links 3.5.1
│   │   ├── flutter...
│   │   ├── flutter_web_plugins...
│   │   ├── gtk 2.1.0
│   │   │   ├── ffi...
│   │   │   ├── flutter...
│   │   │   └── meta...
│   │   └── plugin_platform_interface 2.1.8
│   │       └── meta...
│   ├── async 2.11.0
│   │   ├── collection...
│   │   └── meta...
│   ├── crypto 3.0.3
│   │   └── typed_data 1.3.2
│   │       └── collection...
│   ├── flutter...
│   ├── http...
│   ├── meta...
│   ├── path_provider 2.1.3
│   │   ├── flutter...
│   │   ├── 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...
│   │   ├── path_provider_platform_interface 2.1.2
│   │   │   ├── flutter...
│   │   │   ├── platform...
│   │   │   └── plugin_platform_interface...
│   │   └── path_provider_windows...
│   ├── shared_preferences...
│   ├── supabase 2.2.0
│   │   ├── functions_client 2.2.0
│   │   │   ├── http...
│   │   │   └── yet_another_json_isolate...
│   │   ├── gotrue...
│   │   ├── http...
│   │   ├── postgrest 2.1.2
│   │   │   ├── http...
│   │   │   ├── meta...
│   │   │   └── yet_another_json_isolate...
│   │   ├── realtime_client 2.1.0
│   │   │   ├── collection...
│   │   │   ├── http...
│   │   │   ├── meta...
│   │   │   └── web_socket_channel...
│   │   ├── rxdart...
│   │   ├── storage_client 2.0.2
│   │   │   ├── http...
│   │   │   ├── http_parser...
│   │   │   ├── meta...
│   │   │   ├── mime...
│   │   │   └── retry...
│   │   └── yet_another_json_isolate 2.0.0
│   │       └── async...
│   └── url_launcher...
├── url_launcher 6.3.0
│   ├── flutter...
│   ├── url_launcher_android 6.3.0
│   │   ├── flutter...
│   │   └── url_launcher_platform_interface...
│   ├── url_launcher_ios 6.2.5
│   │   ├── 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.0
│   │   ├── flutter...
│   │   ├── flutter_web_plugins...
│   │   ├── url_launcher_platform_interface...
│   │   └── web...
│   └── url_launcher_windows 3.1.1
│       ├── flutter...
│       └── url_launcher_platform_interface...
├── uuid 4.4.0
│   ├── crypto...
│   ├── fixnum 1.1.0
│   ├── meta...
│   └── sprintf 7.0.0
├── very_good_analysis 5.1.0
├── visibility_detector 0.4.0+2
│   └── flutter...
├── wave 0.2.2
│   └── flutter...
├── web 0.5.1
└── youtube_player_iframe 5.1.2
    ├── flutter...
    ├── meta...
    ├── url_launcher...
    ├── webview_flutter 4.7.0
    │   ├── flutter...
    │   ├── webview_flutter_android...
    │   ├── webview_flutter_platform_interface 2.10.0
    │   │   ├── flutter...
    │   │   ├── meta...
    │   │   └── plugin_platform_interface...
    │   └── webview_flutter_wkwebview...
    ├── webview_flutter_android 3.16.0
    │   ├── flutter...
    │   └── webview_flutter_platform_interface...
    ├── webview_flutter_wkwebview 3.13.0
    │   ├── flutter...
    │   ├── path...
    │   └── webview_flutter_platform_interface...
    └── youtube_player_iframe_web 3.0.1
        ├── flutter...
        ├── flutter_web_plugins...
        ├── http...
        ├── web...
        └── webview_flutter_platform_interface...

Additional context Add any other context about the problem here.