[path_provider] _foundation version conflict with test api

Is there an existing issue for this?

[X] I have searched the existing package issues
[X] I have read the guide to filing a bug

What package does this bug report belong to?
path_provider
What target platforms are you seeing this bug on?
macOS
Have you already upgraded your packages?
Yes
Dependency versions
pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  _fe_analyzer_shared:
    dependency: transitive
    description:
      name: _fe_analyzer_shared
      sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051
      url: "https://pub.dev"
    source: hosted
    version: "64.0.0"
  _flutterfire_internals:
    dependency: transitive
    description:
      name: _flutterfire_internals
      sha256: eb0ac20f704799b986049fbb3c1c16421eca319a1b872378d669513e12452ba5
      url: "https://pub.dev"
    source: hosted
    version: "1.3.14"
  analyzer:
    dependency: transitive
    description:
      name: analyzer
      sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893"
      url: "https://pub.dev"
    source: hosted
    version: "6.2.0"
  animated_checkmark:
    dependency: transitive
    description:
      name: animated_checkmark
      sha256: "878db0c6754c4145e9e17b46f20e304da060ac7a65f8ab4ab43494093f3f8443"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.1"
  archive:
    dependency: transitive
    description:
      name: archive
      sha256: "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b"
      url: "https://pub.dev"
    source: hosted
    version: "3.4.9"
  args:
    dependency: transitive
    description:
      name: args
      sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
      url: "https://pub.dev"
    source: hosted
    version: "2.4.2"
  async:
    dependency: "direct main"
    description:
      name: async
      sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
      url: "https://pub.dev"
    source: hosted
    version: "2.11.0"
  boolean_selector:
    dependency: transitive
    description:
      name: boolean_selector
      sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  build:
    dependency: transitive
    description:
      name: build
      sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.1"
  build_config:
    dependency: transitive
    description:
      name: build_config
      sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  build_daemon:
    dependency: transitive
    description:
      name: build_daemon
      sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1"
      url: "https://pub.dev"
    source: hosted
    version: "4.0.1"
  build_resolvers:
    dependency: transitive
    description:
      name: build_resolvers
      sha256: "64e12b0521812d1684b1917bc80945625391cb9bdd4312536b1d69dcb6133ed8"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.1"
  build_runner:
    dependency: "direct dev"
    description:
      name: build_runner
      sha256: "67d591d602906ef9201caf93452495ad1812bea2074f04e25dbd7c133785821b"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.7"
  build_runner_core:
    dependency: transitive
    description:
      name: build_runner_core
      sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185
      url: "https://pub.dev"
    source: hosted
    version: "7.2.11"
  built_collection:
    dependency: transitive
    description:
      name: built_collection
      sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
      url: "https://pub.dev"
    source: hosted
    version: "5.1.1"
  built_value:
    dependency: transitive
    description:
      name: built_value
      sha256: "69acb7007eb2a31dc901512bfe0f7b767168be34cb734835d54c070bfa74c1b2"
      url: "https://pub.dev"
    source: hosted
    version: "8.8.0"
  characters:
    dependency: transitive
    description:
      name: characters
      sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  checked_yaml:
    dependency: transitive
    description:
      name: checked_yaml
      sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
      url: "https://pub.dev"
    source: hosted
    version: "2.0.3"
  chips_choice:
    dependency: "direct main"
    description:
      name: chips_choice
      sha256: ba1c649293cba4e5d827b7f55681390e6c9bb9a98b45cc9128591000fb103d02
      url: "https://pub.dev"
    source: hosted
    version: "3.0.1"
  cli_util:
    dependency: transitive
    description:
      name: cli_util
      sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7
      url: "https://pub.dev"
    source: hosted
    version: "0.4.0"
  clock:
    dependency: transitive
    description:
      name: clock
      sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  cloud_firestore:
    dependency: transitive
    description:
      name: cloud_firestore
      sha256: "8fa76be13bf33c7e1521794d8f43e94abb83515201667d00a1e0063351867200"
      url: "https://pub.dev"
    source: hosted
    version: "4.13.3"
  cloud_firestore_platform_interface:
    dependency: transitive
    description:
      name: cloud_firestore_platform_interface
      sha256: "5683de3ed02dded4857882493a7f359dff8cb9941ef36fa707f1b1cbde054838"
      url: "https://pub.dev"
    source: hosted
    version: "6.0.7"
  cloud_firestore_web:
    dependency: transitive
    description:
      name: cloud_firestore_web
      sha256: "29ed06af42c224e2ada69344b6d42e3d4c5e37f3931ea790733e859c0e5bfbf8"
      url: "https://pub.dev"
    source: hosted
    version: "3.8.7"
  cloud_functions:
    dependency: "direct main"
    description:
      name: cloud_functions
      sha256: "06760abdb6ec9291c61347b401ab58ab376b9945e038c7ddb223ba6135791cb2"
      url: "https://pub.dev"
    source: hosted
    version: "4.5.6"
  cloud_functions_platform_interface:
    dependency: transitive
    description:
      name: cloud_functions_platform_interface
      sha256: c193ec0d47e19a5b7650c5e3029cab92a3229644c04cdafdf291dc37b8e81cc0
      url: "https://pub.dev"
    source: hosted
    version: "5.5.9"
  cloud_functions_web:
    dependency: transitive
    description:
      name: cloud_functions_web
      sha256: a4997cb7243a110d1cada99d61868b479e0b7f6d998993e4876c14cf3f8110b5
      url: "https://pub.dev"
    source: hosted
    version: "4.6.9"
  code_builder:
    dependency: transitive
    description:
      name: code_builder
      sha256: b2151ce26a06171005b379ecff6e08d34c470180ffe16b8e14b6d52be292b55f
      url: "https://pub.dev"
    source: hosted
    version: "4.8.0"
  collection:
    dependency: transitive
    description:
      name: collection
      sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
      url: "https://pub.dev"
    source: hosted
    version: "1.18.0"
  convert:
    dependency: transitive
    description:
      name: convert
      sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
      url: "https://pub.dev"
    source: hosted
    version: "3.1.1"
  cross_file:
    dependency: transitive
    description:
      name: cross_file
      sha256: "2f9d2cbccb76127ba28528cb3ae2c2326a122446a83de5a056aaa3880d3882c5"
      url: "https://pub.dev"
    source: hosted
    version: "0.3.3+7"
  crypto:
    dependency: "direct main"
    description:
      name: crypto
      sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
      url: "https://pub.dev"
    source: hosted
    version: "3.0.3"
  csv:
    dependency: "direct main"
    description:
      name: csv
      sha256: "63ed2871dd6471193dffc52c0e6c76fb86269c00244d244297abbb355c84a86e"
      url: "https://pub.dev"
    source: hosted
    version: "5.1.1"
  dart_style:
    dependency: transitive
    description:
      name: dart_style
      sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368"
      url: "https://pub.dev"
    source: hosted
    version: "2.3.4"
  dio:
    dependency: transitive
    description:
      name: dio
      sha256: "797e1e341c3dd2f69f2dad42564a6feff3bfb87187d05abb93b9609e6f1645c3"
      url: "https://pub.dev"
    source: hosted
    version: "5.4.0"
  dotted_border:
    dependency: "direct main"
    description:
      name: dotted_border
      sha256: "108837e11848ca776c53b30bc870086f84b62ed6e01c503ed976e8f8c7df9c04"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  fake_async:
    dependency: transitive
    description:
      name: fake_async
      sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.1"
  ffi:
    dependency: transitive
    description:
      name: ffi
      sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  file:
    dependency: transitive
    description:
      name: file
      sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
      url: "https://pub.dev"
    source: hosted
    version: "7.0.0"
  file_picker:
    dependency: "direct main"
    description:
      name: file_picker
      sha256: "4e42aacde3b993c5947467ab640882c56947d9d27342a5b6f2895b23956954a6"
      url: "https://pub.dev"
    source: hosted
    version: "6.1.1"
  file_selector_linux:
    dependency: transitive
    description:
      name: file_selector_linux
      sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492"
      url: "https://pub.dev"
    source: hosted
    version: "0.9.2+1"
  file_selector_macos:
    dependency: transitive
    description:
      name: file_selector_macos
      sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6
      url: "https://pub.dev"
    source: hosted
    version: "0.9.3+3"
  file_selector_platform_interface:
    dependency: transitive
    description:
      name: file_selector_platform_interface
      sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262"
      url: "https://pub.dev"
    source: hosted
    version: "2.6.1"
  file_selector_windows:
    dependency: transitive
    description:
      name: file_selector_windows
      sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0
      url: "https://pub.dev"
    source: hosted
    version: "0.9.3+1"
  firebase_auth:
    dependency: "direct main"
    description:
      name: firebase_auth
      sha256: "869ff488c7b467e273d7be223f52d3d026576b6e1da92dcd136ff627ae0a8c67"
      url: "https://pub.dev"
    source: hosted
    version: "4.15.0"
  firebase_auth_platform_interface:
    dependency: transitive
    description:
      name: firebase_auth_platform_interface
      sha256: ecf9f78ae1a7a1297de01ec975e9e2cfe5b543589b27cc5969849d9a8dc46999
      url: "https://pub.dev"
    source: hosted
    version: "7.0.6"
  firebase_auth_web:
    dependency: transitive
    description:
      name: firebase_auth_web
      sha256: "96f89e2340cdf373109cb29afec401c170aa2d98fb0833687793c8017e36f435"
      url: "https://pub.dev"
    source: hosted
    version: "5.8.9"
  firebase_core:
    dependency: "direct main"
    description:
      name: firebase_core
      sha256: d301561d614487688d797717bef013a264c517d1d09e4c5c1325c3a64c835efb
      url: "https://pub.dev"
    source: hosted
    version: "2.24.0"
  firebase_core_platform_interface:
    dependency: transitive
    description:
      name: firebase_core_platform_interface
      sha256: c437ae5d17e6b5cc7981cf6fd458a5db4d12979905f9aafd1fea930428a9fe63
      url: "https://pub.dev"
    source: hosted
    version: "5.0.0"
  firebase_core_web:
    dependency: transitive
    description:
      name: firebase_core_web
      sha256: "10159d9ee42c79f4548971d92f3f0fcd5791f6738cda3583a4e3b2c8b244c018"
      url: "https://pub.dev"
    source: hosted
    version: "2.9.0"
  firebase_dynamic_links:
    dependency: "direct main"
    description:
      name: firebase_dynamic_links
      sha256: "300bd7e1c2dafe7e90cfe7f0890e1371bd30f37043bf64cde406b53ecd1dd4af"
      url: "https://pub.dev"
    source: hosted
    version: "5.4.6"
  firebase_dynamic_links_platform_interface:
    dependency: transitive
    description:
      name: firebase_dynamic_links_platform_interface
      sha256: "1d1d2d90a2edb1a67aad66a44ffc92ba43b4550631c62b4fd988dff771d91edd"
      url: "https://pub.dev"
    source: hosted
    version: "0.2.6+14"
  firebase_storage:
    dependency: "direct main"
    description:
      name: firebase_storage
      sha256: ef1974043d48b0aa081ad055944ec74cad3a665545849cc6232f8ac1691fd901
      url: "https://pub.dev"
    source: hosted
    version: "11.5.3"
  firebase_storage_platform_interface:
    dependency: transitive
    description:
      name: firebase_storage_platform_interface
      sha256: "7b5aa0bf53de4a983aa3df57ab2bc0509d75fe2d269a0029a814aa84484798d5"
      url: "https://pub.dev"
    source: hosted
    version: "5.1.1"
  firebase_storage_web:
    dependency: transitive
    description:
      name: firebase_storage_web
      sha256: bc5ede7fd6dfe7e23821cce007cd551cf77f47f44f8c3ea4f270dea0372051dc
      url: "https://pub.dev"
    source: hosted
    version: "3.6.15"
  firebase_ui_firestore:
    dependency: "direct main"
    description:
      name: firebase_ui_firestore
      sha256: "37547b280de9708de5f5ce576fd2b8f1e1ca2227a9496ece1889e8d81998a60e"
      url: "https://pub.dev"
    source: hosted
    version: "1.5.14"
  firebase_ui_localizations:
    dependency: transitive
    description:
      name: firebase_ui_localizations
      sha256: "3f2548115b5f33fabc5cc47bee2f1d1d11a049381fbd64a8ecdd04fda6564319"
      url: "https://pub.dev"
    source: hosted
    version: "1.8.0"
  fixnum:
    dependency: transitive
    description:
      name: fixnum
      sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.0"
  flexi_chip:
    dependency: transitive
    description:
      name: flexi_chip
      sha256: "5942219bdbd94a7527b69eb5640e6bd05d8ec6a41a5a4a1a10ca22a5a1f41beb"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.8"
  flutter:
    dependency: "direct main"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_compass:
    dependency: transitive
    description:
      name: flutter_compass
      sha256: be642484f9f6975c1c6edff568281b001f2f1e604de27ecea18d97eebbdef22f
      url: "https://pub.dev"
    source: hosted
    version: "0.8.0"
  flutter_form_builder:
    dependency: "direct main"
    description:
      name: flutter_form_builder
      sha256: "8973beed34b6d951d36bf688b52e9e3040b47b763c35c320bd6f4c2f6b13f3a2"
      url: "https://pub.dev"
    source: hosted
    version: "9.1.1"
  flutter_launcher_icons:
    dependency: "direct dev"
    description:
      name: flutter_launcher_icons
      sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea"
      url: "https://pub.dev"
    source: hosted
    version: "0.13.1"
  flutter_lints:
    dependency: "direct dev"
    description:
      name: flutter_lints
      sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7
      url: "https://pub.dev"
    source: hosted
    version: "3.0.1"
  flutter_localizations:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_map:
    dependency: transitive
    description:
      name: flutter_map
      sha256: "2b925948b675ef74ca524179fb133dbe0a21741889ccf56ad08fc8dcc38ba94b"
      url: "https://pub.dev"
    source: hosted
    version: "6.0.1"
  flutter_map_cancellable_tile_provider:
    dependency: transitive
    description:
      name: flutter_map_cancellable_tile_provider
      sha256: "69b019b9fec5c1c93afddea0ddc9d3538fafe5c103262f4ec4af6103f92b8458"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.0"
  flutter_map_location_marker:
    dependency: transitive
    description:
      name: flutter_map_location_marker
      sha256: acf9cef24d0bced1fe17e89e5126e75af6b146a1dbd7f784647eef5de40de3d2
      url: "https://pub.dev"
    source: hosted
    version: "8.0.2"
  flutter_plugin_android_lifecycle:
    dependency: transitive
    description:
      name: flutter_plugin_android_lifecycle
      sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da
      url: "https://pub.dev"
    source: hosted
    version: "2.0.17"
  flutter_rating_bar:
    dependency: "direct main"
    description:
      name: flutter_rating_bar
      sha256: d2af03469eac832c591a1eba47c91ecc871fe5708e69967073c043b2d775ed93
      url: "https://pub.dev"
    source: hosted
    version: "4.0.1"
  flutter_svg:
    dependency: "direct main"
    description:
      name: flutter_svg
      sha256: d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c
      url: "https://pub.dev"
    source: hosted
    version: "2.0.9"
  flutter_test:
    dependency: "direct dev"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_web_plugins:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.0"
  frontend_server_client:
    dependency: transitive
    description:
      name: frontend_server_client
      sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612"
      url: "https://pub.dev"
    source: hosted
    version: "3.2.0"
  geolocator:
    dependency: transitive
    description:
      name: geolocator
      sha256: e946395fc608842bb2f6c914807e9183f86f3cb787f6b8f832753e5251036f02
      url: "https://pub.dev"
    source: hosted
    version: "10.1.0"
  geolocator_android:
    dependency: transitive
    description:
      name: geolocator_android
      sha256: "741579fa6c9e412984d2bdb2fbaa54e3c3f7587c60aeacfe6e058358a11f40f8"
      url: "https://pub.dev"
    source: hosted
    version: "4.4.0"
  geolocator_apple:
    dependency: transitive
    description:
      name: geolocator_apple
      sha256: ab90ae811c42ec2f6021e01eca71df00dee6ff1e69d2c2dafd4daeb0b793f73d
      url: "https://pub.dev"
    source: hosted
    version: "2.3.2"
  geolocator_platform_interface:
    dependency: transitive
    description:
      name: geolocator_platform_interface
      sha256: "6c8d494d6948757c56720b778af742f6973f31fca1f702a7539b8917e4a2468a"
      url: "https://pub.dev"
    source: hosted
    version: "4.2.0"
  geolocator_web:
    dependency: transitive
    description:
      name: geolocator_web
      sha256: "59083f7e0871b78299918d92bf930a14377f711d2d1156c558cd5ebae6c20d58"
      url: "https://pub.dev"
    source: hosted
    version: "2.2.0"
  geolocator_windows:
    dependency: transitive
    description:
      name: geolocator_windows
      sha256: a92fae29779d5c6dc60e8411302f5221ade464968fe80a36d330e80a71f087af
      url: "https://pub.dev"
    source: hosted
    version: "0.2.2"
  get:
    dependency: "direct main"
    description:
      name: get
      sha256: e4e7335ede17452b391ed3b2ede016545706c01a02292a6c97619705e7d2a85e
      url: "https://pub.dev"
    source: hosted
    version: "4.6.6"
  get_storage:
    dependency: "direct main"
    description:
      name: get_storage
      sha256: "39db1fffe779d0c22b3a744376e86febe4ade43bf65e06eab5af707dc84185a2"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  getwidget:
    dependency: "direct main"
    description:
      name: getwidget
      sha256: "91df14a8d80e21f3ec02759295b90cc8badb8a872b90d34ad4aeb4085d833b5c"
      url: "https://pub.dev"
    source: hosted
    version: "4.0.0"
  glob:
    dependency: transitive
    description:
      name: glob
      sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.2"
  google_fonts:
    dependency: "direct main"
    description:
      name: google_fonts
      sha256: f0b8d115a13ecf827013ec9fc883390ccc0e87a96ed5347a3114cac177ef18e8
      url: "https://pub.dev"
    source: hosted
    version: "6.1.0"
  google_geocoder_krutus:
    dependency: "direct main"
    description:
      name: google_geocoder_krutus
      sha256: ad8d07731132279c540ff355279614776b084bdfa458ad1d998b24bcefa1b6d5
      url: "https://pub.dev"
    source: hosted
    version: "1.1.0"
  google_geocoding_api:
    dependency: "direct main"
    description:
      name: google_geocoding_api
      sha256: "5b01146ff8bf5dd6f59b0b38515b5b784b9e1007a3fc7929a6638c2de7d2c5d8"
      url: "https://pub.dev"
    source: hosted
    version: "1.4.1"
  graphs:
    dependency: transitive
    description:
      name: graphs
      sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19
      url: "https://pub.dev"
    source: hosted
    version: "2.3.1"
  http:
    dependency: "direct main"
    description:
      name: http
      sha256: d4872660c46d929f6b8a9ef4e7a7eff7e49bbf0c4ec3f385ee32df5119175139
      url: "https://pub.dev"
    source: hosted
    version: "1.1.2"
  http_multi_server:
    dependency: transitive
    description:
      name: http_multi_server
      sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
      url: "https://pub.dev"
    source: hosted
    version: "3.2.1"
  http_parser:
    dependency: transitive
    description:
      name: http_parser
      sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
      url: "https://pub.dev"
    source: hosted
    version: "4.0.2"
  icalendar_parser:
    dependency: "direct main"
    description:
      name: icalendar_parser
      sha256: "64121bec198c01fcdd5d1247baf2042593f1a418c2dcf331099b662a8a462df4"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.0"
  image:
    dependency: transitive
    description:
      name: image
      sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271"
      url: "https://pub.dev"
    source: hosted
    version: "4.1.3"
  image_picker:
    dependency: "direct main"
    description:
      name: image_picker
      sha256: "7d7f2768df2a8b0a3cefa5ef4f84636121987d403130e70b17ef7e2cf650ba84"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.4"
  image_picker_android:
    dependency: transitive
    description:
      name: image_picker_android
      sha256: d6a6e78821086b0b737009b09363018309bbc6de3fd88cc5c26bc2bb44a4957f
      url: "https://pub.dev"
    source: hosted
    version: "0.8.8+2"
  image_picker_for_web:
    dependency: transitive
    description:
      name: image_picker_for_web
      sha256: "50bc9ae6a77eea3a8b11af5eb6c661eeb858fdd2f734c2a4fd17086922347ef7"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.1"
  image_picker_ios:
    dependency: transitive
    description:
      name: image_picker_ios
      sha256: "76ec722aeea419d03aa915c2c96bf5b47214b053899088c9abb4086ceecf97a7"
      url: "https://pub.dev"
    source: hosted
    version: "0.8.8+4"
  image_picker_linux:
    dependency: transitive
    description:
      name: image_picker_linux
      sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa"
      url: "https://pub.dev"
    source: hosted
    version: "0.2.1+1"
  image_picker_macos:
    dependency: transitive
    description:
      name: image_picker_macos
      sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62"
      url: "https://pub.dev"
    source: hosted
    version: "0.2.1+1"
  image_picker_platform_interface:
    dependency: transitive
    description:
      name: image_picker_platform_interface
      sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514
      url: "https://pub.dev"
    source: hosted
    version: "2.9.1"
  image_picker_windows:
    dependency: transitive
    description:
      name: image_picker_windows
      sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb"
      url: "https://pub.dev"
    source: hosted
    version: "0.2.1+1"
  intl:
    dependency: "direct main"
    description:
      name: intl
      sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
      url: "https://pub.dev"
    source: hosted
    version: "0.18.1"
  io:
    dependency: transitive
    description:
      name: io
      sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.4"
  jiffy:
    dependency: "direct main"
    description:
      name: jiffy
      sha256: cc1d4b75016a9156c29b5d61f0c9176c3e0fb0580cc5a0e0422b5d2cab3fbfff
      url: "https://pub.dev"
    source: hosted
    version: "6.2.1"
  js:
    dependency: transitive
    description:
      name: js
      sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
      url: "https://pub.dev"
    source: hosted
    version: "0.6.7"
  json_annotation:
    dependency: "direct main"
    description:
      name: json_annotation
      sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
      url: "https://pub.dev"
    source: hosted
    version: "4.8.1"
  json_serializable:
    dependency: "direct dev"
    description:
      name: json_serializable
      sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969
      url: "https://pub.dev"
    source: hosted
    version: "6.7.1"
  latlong2:
    dependency: transitive
    description:
      name: latlong2
      sha256: "18712164760cee655bc790122b0fd8f3d5b3c36da2cb7bf94b68a197fbb0811b"
      url: "https://pub.dev"
    source: hosted
    version: "0.9.0"
  line_icons:
    dependency: "direct main"
    description:
      name: line_icons
      sha256: "249d781d922f5437ac763d9c8f5a02cf5b499a6dc3f85e4b92e074cff0a932ab"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.3"
  lints:
    dependency: transitive
    description:
      name: lints
      sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
      url: "https://pub.dev"
    source: hosted
    version: "3.0.0"
  lists:
    dependency: transitive
    description:
      name: lists
      sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.1"
  location_picker_flutter_map:
    dependency: "direct main"
    description:
      name: location_picker_flutter_map
      sha256: feb3d31e702f6b5a8bb2a1b01544914679a418678896b86fc25139aa8f8120df
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  logger:
    dependency: transitive
    description:
      name: logger
      sha256: "6bbb9d6f7056729537a4309bda2e74e18e5d9f14302489cc1e93f33b3fe32cac"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.2+1"
  logging:
    dependency: transitive
    description:
      name: logging
      sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
      url: "https://pub.dev"
    source: hosted
    version: "1.2.0"
  loggy:
    dependency: "direct main"
    description:
      name: loggy
      sha256: "981e03162bbd3a5a843026f75f73d26e4a0d8aa035ae060456ca7b30dfd1e339"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.3"
  map_picker:
    dependency: "direct main"
    description:
      name: map_picker
      sha256: "83cf464dad01e666fd0487c2f7c1602204ad4b4ea8d7a19c8f86cab87d0185e5"
      url: "https://pub.dev"
    source: hosted
    version: "0.0.3"
  matcher:
    dependency: transitive
    description:
      name: matcher
      sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
      url: "https://pub.dev"
    source: hosted
    version: "0.12.16"
  material_color_utilities:
    dependency: transitive
    description:
      name: material_color_utilities
      sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
      url: "https://pub.dev"
    source: hosted
    version: "0.5.0"
  material_design_icons_flutter:
    dependency: transitive
    description:
      name: material_design_icons_flutter
      sha256: "6f986b7a51f3ad4c00e33c5c84e8de1bdd140489bbcdc8b66fc1283dad4dea5a"
      url: "https://pub.dev"
    source: hosted
    version: "7.0.7296"
  meta:
    dependency: transitive
    description:
      name: meta
      sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
      url: "https://pub.dev"
    source: hosted
    version: "1.10.0"
  mgrs_dart:
    dependency: transitive
    description:
      name: mgrs_dart
      sha256: fb89ae62f05fa0bb90f70c31fc870bcbcfd516c843fb554452ab3396f78586f7
      url: "https://pub.dev"
    source: hosted
    version: "2.0.0"
  mime:
    dependency: transitive
    description:
      name: mime
      sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
      url: "https://pub.dev"
    source: hosted
    version: "1.0.4"
  mimecon:
    dependency: "direct main"
    description:
      name: mimecon
      sha256: ca08ed1ae47957758289969d95e9e7405e2392bce917619627a820cd7a2dbcd7
      url: "https://pub.dev"
    source: hosted
    version: "1.0.1"
  mockito:
    dependency: "direct overridden"
    description:
      name: mockito
      sha256: "4b693867cee1853c9d1d7ecc1871f27f39b2ef2c13c0d8d8507dfe5bebd8aaf1"
      url: "https://pub.dev"
    source: hosted
    version: "5.4.3"
  package_config:
    dependency: transitive
    description:
      name: package_config
      sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  path:
    dependency: transitive
    description:
      name: path
      sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
      url: "https://pub.dev"
    source: hosted
    version: "1.8.3"
  path_drawing:
    dependency: transitive
    description:
      name: path_drawing
      sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977
      url: "https://pub.dev"
    source: hosted
    version: "1.0.1"
  path_parsing:
    dependency: transitive
    description:
      name: path_parsing
      sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf
      url: "https://pub.dev"
    source: hosted
    version: "1.0.1"
  path_provider:
    dependency: "direct main"
    description:
      name: path_provider
      sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  path_provider_android:
    dependency: transitive
    description:
      name: path_provider_android
      sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72
      url: "https://pub.dev"
    source: hosted
    version: "2.2.1"
  path_provider_foundation:
    dependency: "direct overridden"
    description:
      name: path_provider_foundation
      sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d"
      url: "https://pub.dev"
    source: hosted
    version: "2.3.1"
  path_provider_linux:
    dependency: transitive
    description:
      name: path_provider_linux
      sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
      url: "https://pub.dev"
    source: hosted
    version: "2.2.1"
  path_provider_platform_interface:
    dependency: transitive
    description:
      name: path_provider_platform_interface
      sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  path_provider_windows:
    dependency: transitive
    description:
      name: path_provider_windows
      sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
      url: "https://pub.dev"
    source: hosted
    version: "2.2.1"
  petitparser:
    dependency: transitive
    description:
      name: petitparser
      sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
      url: "https://pub.dev"
    source: hosted
    version: "6.0.2"
  platform:
    dependency: transitive
    description:
      name: platform
      sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59"
      url: "https://pub.dev"
    source: hosted
    version: "3.1.3"
  plugin_platform_interface:
    dependency: transitive
    description:
      name: plugin_platform_interface
      sha256: f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8
      url: "https://pub.dev"
    source: hosted
    version: "2.1.7"
  pointycastle:
    dependency: transitive
    description:
      name: pointycastle
      sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c"
      url: "https://pub.dev"
    source: hosted
    version: "3.7.3"
  polylabel:
    dependency: transitive
    description:
      name: polylabel
      sha256: "41b9099afb2aa6c1730bdd8a0fab1400d287694ec7615dd8516935fa3144214b"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.1"
  pool:
    dependency: transitive
    description:
      name: pool
      sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
      url: "https://pub.dev"
    source: hosted
    version: "1.5.1"
  proj4dart:
    dependency: transitive
    description:
      name: proj4dart
      sha256: c8a659ac9b6864aa47c171e78d41bbe6f5e1d7bd790a5814249e6b68bc44324e
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  pub_semver:
    dependency: transitive
    description:
      name: pub_semver
      sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.4"
  pubspec_parse:
    dependency: transitive
    description:
      name: pubspec_parse
      sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367
      url: "https://pub.dev"
    source: hosted
    version: "1.2.3"
  readmore:
    dependency: "direct main"
    description:
      name: readmore
      sha256: "99c2483202f7c7e98c50834d72be2b119aefecf4497ca1960ae9d5f418eb1481"
      url: "https://pub.dev"
    source: hosted
    version: "2.2.0"
  shelf:
    dependency: transitive
    description:
      name: shelf
      sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4
      url: "https://pub.dev"
    source: hosted
    version: "1.4.1"
  shelf_web_socket:
    dependency: transitive
    description:
      name: shelf_web_socket
      sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.4"
  sky_engine:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.99"
  source_gen:
    dependency: transitive
    description:
      name: source_gen
      sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16
      url: "https://pub.dev"
    source: hosted
    version: "1.4.0"
  source_helper:
    dependency: transitive
    description:
      name: source_helper
      sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.4"
  source_span:
    dependency: transitive
    description:
      name: source_span
      sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
      url: "https://pub.dev"
    source: hosted
    version: "1.10.0"
  sprintf:
    dependency: transitive
    description:
      name: sprintf
      sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
      url: "https://pub.dev"
    source: hosted
    version: "7.0.0"
  stack_trace:
    dependency: transitive
    description:
      name: stack_trace
      sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
      url: "https://pub.dev"
    source: hosted
    version: "1.11.1"
  stream_channel:
    dependency: transitive
    description:
      name: stream_channel
      sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
      url: "https://pub.dev"
    source: hosted
    version: "2.1.2"
  stream_transform:
    dependency: transitive
    description:
      name: stream_transform
      sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  string_scanner:
    dependency: transitive
    description:
      name: string_scanner
      sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
      url: "https://pub.dev"
    source: hosted
    version: "1.2.0"
  syncfusion_flutter_charts:
    dependency: "direct main"
    description:
      name: syncfusion_flutter_charts
      sha256: "92b707bb89c3db2920b3693e12577afec761720054670ccb12e0c69e29203ce7"
      url: "https://pub.dev"
    source: hosted
    version: "23.2.6"
  syncfusion_flutter_core:
    dependency: transitive
    description:
      name: syncfusion_flutter_core
      sha256: "88366a5e95ccb4091feb531021567f76ed3ceddab7424de02a9ac4a335d22a44"
      url: "https://pub.dev"
    source: hosted
    version: "23.2.6"
  syncfusion_flutter_datepicker:
    dependency: "direct main"
    description:
      name: syncfusion_flutter_datepicker
      sha256: "5e0a9647232fbbd31d1734f4f8eba517e78a6ea955739671182c9c7cbdd05d42"
      url: "https://pub.dev"
    source: hosted
    version: "23.2.6"
  syncfusion_flutter_sliders:
    dependency: "direct main"
    description:
      name: syncfusion_flutter_sliders
      sha256: c1a8c74167b7962072244e82f7048684eff62523e55b5e5f25447c3bf1fb91f4
      url: "https://pub.dev"
    source: hosted
    version: "23.2.6"
  term_glyph:
    dependency: transitive
    description:
      name: term_glyph
      sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
      url: "https://pub.dev"
    source: hosted
    version: "1.2.1"
  test_api:
    dependency: transitive
    description:
      name: test_api
      sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
      url: "https://pub.dev"
    source: hosted
    version: "0.6.1"
  timeline_tile:
    dependency: "direct main"
    description:
      name: timeline_tile
      sha256: "85ec2023c67137397c2812e3e848b2fb20b410b67cd9aff304bb5480c376fc0c"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.0"
  timing:
    dependency: transitive
    description:
      name: timing
      sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.1"
  typed_data:
    dependency: transitive
    description:
      name: typed_data
      sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
      url: "https://pub.dev"
    source: hosted
    version: "1.3.2"
  unicode:
    dependency: transitive
    description:
      name: unicode
      sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1"
      url: "https://pub.dev"
    source: hosted
    version: "0.3.1"
  url_launcher:
    dependency: "direct main"
    description:
      name: url_launcher
      sha256: b1c9e98774adf8820c96fbc7ae3601231d324a7d5ebd8babe27b6dfac91357ba
      url: "https://pub.dev"
    source: hosted
    version: "6.2.1"
  url_launcher_android:
    dependency: transitive
    description:
      name: url_launcher_android
      sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def"
      url: "https://pub.dev"
    source: hosted
    version: "6.2.0"
  url_launcher_ios:
    dependency: transitive
    description:
      name: url_launcher_ios
      sha256: bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3
      url: "https://pub.dev"
    source: hosted
    version: "6.2.1"
  url_launcher_linux:
    dependency: transitive
    description:
      name: url_launcher_linux
      sha256: "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd"
      url: "https://pub.dev"
    source: hosted
    version: "3.1.0"
  url_launcher_macos:
    dependency: transitive
    description:
      name: url_launcher_macos
      sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234
      url: "https://pub.dev"
    source: hosted
    version: "3.1.0"
  url_launcher_platform_interface:
    dependency: transitive
    description:
      name: url_launcher_platform_interface
      sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50"
      url: "https://pub.dev"
    source: hosted
    version: "2.2.0"
  url_launcher_web:
    dependency: transitive
    description:
      name: url_launcher_web
      sha256: "138bd45b3a456dcfafc46d1a146787424f8d2edfbf2809c9324361e58f851cf7"
      url: "https://pub.dev"
    source: hosted
    version: "2.2.1"
  url_launcher_windows:
    dependency: transitive
    description:
      name: url_launcher_windows
      sha256: "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc"
      url: "https://pub.dev"
    source: hosted
    version: "3.1.0"
  uuid:
    dependency: "direct main"
    description:
      name: uuid
      sha256: df5a4d8f22ee4ccd77f8839ac7cb274ebc11ef9adcce8b92be14b797fe889921
      url: "https://pub.dev"
    source: hosted
    version: "4.2.1"
  vector_graphics:
    dependency: transitive
    description:
      name: vector_graphics
      sha256: "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.9+1"
  vector_graphics_codec:
    dependency: transitive
    description:
      name: vector_graphics_codec
      sha256: "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.9+1"
  vector_graphics_compiler:
    dependency: transitive
    description:
      name: vector_graphics_compiler
      sha256: d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26
      url: "https://pub.dev"
    source: hosted
    version: "1.1.9+1"
  vector_math:
    dependency: transitive
    description:
      name: vector_math
      sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.4"
  watcher:
    dependency: transitive
    description:
      name: watcher
      sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.0"
  web:
    dependency: transitive
    description:
      name: web
      sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
      url: "https://pub.dev"
    source: hosted
    version: "0.3.0"
  web_socket_channel:
    dependency: transitive
    description:
      name: web_socket_channel
      sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
      url: "https://pub.dev"
    source: hosted
    version: "2.4.0"
  widget_event:
    dependency: transitive
    description:
      name: widget_event
      sha256: b71014bc7d8ec85a325357e76e6b5769ee1d8a67d099a6ce5c429440a19dbf18
      url: "https://pub.dev"
    source: hosted
    version: "1.2.5"
  win32:
    dependency: transitive
    description:
      name: win32
      sha256: "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f"
      url: "https://pub.dev"
    source: hosted
    version: "5.1.0"
  wkt_parser:
    dependency: transitive
    description:
      name: wkt_parser
      sha256: "8a555fc60de3116c00aad67891bcab20f81a958e4219cc106e3c037aa3937f13"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.0"
  xdg_directories:
    dependency: transitive
    description:
      name: xdg_directories
      sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.3"
  xml:
    dependency: transitive
    description:
      name: xml
      sha256: af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556
      url: "https://pub.dev"
    source: hosted
    version: "6.4.2"
  yaml:
    dependency: transitive
    description:
      name: yaml
      sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
      url: "https://pub.dev"
    source: hosted
    version: "3.1.2"
sdks:
  dart: ">=3.2.0 <4.0.0"
  flutter: ">=3.16.0"

Steps to reproduce
open vs-code
run pub upgrade as suggested
look at output window
Expected results
pub upgrade should not complain
Actual results
pub upgrade fails
Code sample
Code sample
[Paste your code here]

Screenshots or Videos

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[ios/.symlinks/plugins/path_provider_foundation] flutter pub upgrade
Resolving dependencies...
Note: test_api is pinned to version 0.6.1 by flutter_test from the flutter SDK.
See https://dart.dev/go/sdk-version-pinning for details.

Because mockito >=5.4.0 <5.4.1 depends on test_api >=0.2.1 <0.6.0 and every version of flutter_test from sdk depends on test_api 0.6.1, mockito >=5.4.0 <5.4.1 is incompatible with flutter_test from sdk.
So, because path_provider_foundation depends on both flutter_test from sdk and mockito 5.4.0, version solving failed.

You can try the following suggestion to make the pubspec resolve:
* Try upgrading your constraint on mockito: flutter pub add dev:mockito:^5.4.3
exit code 1

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.16.0, on macOS 13.6.1 22G313 darwin-x64, locale it-IT)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.2)
[✓] VS Code (version 1.84.2)
[✓] Connected device (2 available)
[✓] Network resources

• No issues found!

Something is running pub upgrade in the folder of the dependency; that's what the output is showing, and that's the only way I'm aware of for dev_dependencies to factor into the resolver. If that's the VS Code plugin then I would suggest filing an issue against the plugin that it should not be recursively entering into the .symlinks folder.

make sense, thanks for the help


libfreenect2 update to 0.2.1

Library name: libfreenect2
New version number: 0.2.1
In actual master added new very important feature: exposure control

active


@UpdatableEntityView(strategy = FlushStrategy.ENTITY) not updating database

Description
When using @UpdatableEntityView(strategy = FlushStrategy.ENTITY) the entity is not flushed to the database.
Expected behavior
The database is updated.
Actual behavior
The database is not updated
Steps to reproduce
Here a special test case using quarkus : https://github.com/Pilpin/blaze-update-bug
I tried to use the template project for the test case but had a lot of exceptions that I did not understand so I gave up, sorry.
Environment
JPA-Provider:    Hibernate 6.2.5
DBMS:  PostgreSQL 15.0 and H2
Application Server: Quarkus 3.2.0

@beikov Do you have any idea of what the cause of this could be ?
From what I understand using the debugger, blaze is not responsible for merging the entity, hibernate should do it at the next flush, is it right ?
I tested the creation of an entity, something like this
var view = evm.create(SomeView.class);
view.update(input);
evm.save(em, view);

And it works fine, but blaze is the one calling persist in this case, right ?

From what I understand using the debugger, blaze is not responsible for merging the entity, hibernate should do it at the next flush, is it right ?

Correct.

And it works fine, but blaze is the one calling persist in this case, right ?

Yes.

Do you have any idea of what the cause of this could be ?

Unfortunately, I don't know what the reason for that could be. It's the first time that I hear of this problem. I'd have to dig into your test case to understand this, but I'm still on vacation.

Thank you for answering.
I'll try to dig a bit more when I have some time on my hands.
Enjoy your vacation !

Just an FYI, I added a branch on my reproducer to try it with Quarkus 2 and blaze-persistence 1.6.8, the problem was apparently already there.
https://github.com/Pilpin/blaze-update-bug/tree/1.6.8


CI coverage

description

[ ] 'coveralls' in CI calculates code coverage of tests

checklist

[ ] compiles (cabal new-clean; cabal new-build)
[ ] tests run successfully (cabal new-test)
[ ] documentation added and created (cd docs; nix-shell --run make)
[ ] link to an issue
[ ] link to an epic
[ ] add estimate points
[ ] add milestone (the same as the linked issue)

bors try


Feature Request: Support Underlined text

Although font, color and size are all supported, I don't see a way to specify the underlining of text. Could this be added to BitBar as a new feature?

Should be straight forward to implement this using ANSI and NSAttributedString here: https://github.com/matryer/bitbar/blob/beta/App/BitBar/NSString%2BANSI.m#L37

Thank you @iosdeveloper for pointing me to the code.
As I am a macOS objective-C newbie, I'm not sure what actual code change is needed in that file.
case 4: underlined
  self[NSUnderlineStyleAttributeName] = NSUnderlineStyleSingle;
  break

Something like that?

@iosdeveloper : Do you have some sample code I could try?

@frakman1 The example you provided earlier doesn't work?

Sadly, No. That was a wild stab in the dark. I don't really know what I'm doing here I'm afraid.

Some guidance would be greatly appreciated.

UPDATE
@iosdeveloper
Well I figured it out (eventually)

      case 4: //underlined
        self[NSUnderlineStyleAttributeName] = [NSNumber numberWithInt:NSUnderlineStyleSingle];
        break;

Called using:
    #UNDERLINE = '\033[4m'
    #END = '\033[0m'

print c.UNDERLINE + "Underlined " + c.END

Looks like this:

I also added the crossed out attribute for fun. Too bad this project is no longer maintaned as I'd love to make a PR with these features:


Error when trying to run ST2.

Hi,
The previous version (installed as indicated in the README) worked but it did not have the per_feature_assignment option. I have installed the most recent (as indicated in another issue thread (https://github.com/biota/sourcetracker2/issues/85). The thing is that with the new one install I cannot make it work. It gives me an error (copied below). Can you guys help me out? Thanks!
JP.
/Users/jm44736-mac/miniconda2/envs/st2/lib/python3.5/site-packages/h5py/init.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
Traceback (most recent call last):
File "/Users/jm44736-mac/miniconda2/envs/st2/bin/sourcetracker2", line 11, in
load_entry_point('sourcetracker==2.0.1.dev0', 'console_scripts', 'sourcetracker2')()
File "/Users/jm44736-mac/miniconda2/envs/st2/lib/python3.5/site-packages/click/core.py", line 722, in call
return self.main(*args, **kwargs)
File "/Users/jm44736-mac/miniconda2/envs/st2/lib/python3.5/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/Users/jm44736-mac/miniconda2/envs/st2/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/jm44736-mac/miniconda2/envs/st2/lib/python3.5/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/jm44736-mac/miniconda2/envs/st2/lib/python3.5/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/Users/jm44736-mac/miniconda2/envs/st2/lib/python3.5/site-packages/sourcetracker/_cli/gibbs.py", line 161, in gibbs_cli
intersect_and_sort_samples(sample_metadata, feature_table)
File "/Users/jm44736-mac/miniconda2/envs/st2/lib/python3.5/site-packages/sourcetracker/_sourcetracker.py", line 127, in intersect_and_sort_samples
shared_samples = np.intersect1d(sample_metadata.index, feature_table.index)
File "/Users/jm44736-mac/miniconda2/envs/st2/lib/python3.5/site-packages/numpy/lib/arraysetops.py", line 334, in intersect1d
ar1 = unique(ar1)
File "/Users/jm44736-mac/miniconda2/envs/st2/lib/python3.5/site-packages/numpy/lib/arraysetops.py", line 210, in unique
return _unique1d(ar, return_index, return_inverse, return_counts)
File "/Users/jm44736-mac/miniconda2/envs/st2/lib/python3.5/site-packages/numpy/lib/arraysetops.py", line 277, in _unique1d
ar.sort()
TypeError: unorderable types: float() < str()
@gregcaporaso @wdwvt1

Hi @mawij2002 - that TypeError suggests that we should check the formatting of your input files. Can you check that the values in the OTU table are stored as integers, and not as strings?


Wiki workflow does not run.

In spite of extensive testing in another private repo, our reusable Wiki workflow does not run from the Release workflow:
https://github.com/jenstroeger/python-package-template/blob/0b40f48f607bf1a69b8f4963dea3105ee0f3bf93/.github/workflows/release.yaml#L234-L253
It’s not that it fails to run or finish, instead the reusable Wiki workflow is simply being skipped:

Might this be actually an issue:
https://github.com/jenstroeger/python-package-template/blob/0b40f48f607bf1a69b8f4963dea3105ee0f3bf93/.github/workflows/_wiki-documentation.yaml#L34
See also discussions/48632. Uhm… 🤔

PR #505, commit https://github.com/jenstroeger/python-package-template/commit/8be21a5b925a85febbe3e9a2c39f02d9d34dd0fc.


Feature Req: Provide DNS lookup times and time to first byte metrics

<EMAIL_ADDRESS>commented:

Using netsniff.js I can get the HAR file with resources timing which is valuable. If possible I would like to also get DNS lookup times and time to first byte of the response.

Disclaimer:
This issue was migrated on 2013-03-15 from the project's former issue tracker on Google Code, Issue #245.
:star2:   8 people had starred this issue at the time of migration.

Can we expect this in PhantomJS 2?

Unfortunately, no, this is not in 2.0 and we don't have any timeframe for when it will be added, either.  If Qt5 exposes the information needed, we don't know about it.

Has any progress been made towards getting window performance timings? It appears that there is code that implements some of this functionality. For example, PerformanceTiming::connectStart()
https://github.com/Vitallium/qtwebkit/blob/phantomjs/Source/WebCore/page/PerformanceTiming.cpp

Due to our very limited maintenance capacity (see #14541 for more details), we need to prioritize our development focus on other tasks. Therefore, this issue will be closed. In the future, if we see the need to attend to this issue again, then it will be reopened.
Thank you for your contribution!


Yank not working for remote server

I use tmux yank on my mac and now I've installed it on a remote server running ubuntu 21. I'm connected to the remote server using mosh (which is supposedly supported by tmux yank). I've verified that tmux-yank is correctly installed as a tmux plugin. I've also installed xsel and xclip. However, when I try to yank some selection, nothing gets put into the clipboard of my mac.
Anyone know how I can debug this? Are there logs for tmux-yank I can read? Is this a known problem? Do I need any other software on the remote machine or my mac?

I use tmux yank on my mac and now I've installed it on a remote server running ubuntu 21. I'm connected to the remote server using mosh (which is supposedly supported by tmux yank)

The scenario you're bringing up is NOT supported. This scenario is supported:

You're running tmux  on a local machine. You have tmux-yank installed.
You connect to the remote server using mosh.


Azure Active Directory issue

I am a member/user of an azure tenant operated by my professional organisation. As a member I am NOT given Azure portal Administration rights / access to Azure Active Directory under this tenant. Since I am NOT authorized I am not able to fetch user details from Azure AD UI interface and that is expected. But using Azure CLI, I am able to fetch all users/groups full profile details registered under this tenant. So It seems to be a BUG from Azure Active Directory portal since I am breaching Admin only rights under this tenant and getting private details of users/groups with a role as just a member with no admin rights.

@AbhijithRavi
Thank you for your feedback . We will investigate and update the thread.

The default permissions for all users as listed in the article Azure AD default user permissions.  It clearly defines the user enumeration for all members of the directory.
The portal level setting to disable portal UI access for restricting users to make any unwanted change to the directory . even if you are using CLI , you can just read the information but not edit the information unless you have admin rights. There are many operations for which enumeration of other users within the organization is needed hence this functionality can not be restricted . If it was done , then there would be a lot of restrictions which can cause disruption of many common operations for the users.
You are not breaching Admin only rights as it is not an admin right be able to enumerate the users but its a common right for anyone who is a member of the directory . I hope this clarifies your query .
Thank you .


AMBARI-25204. Ambari returns stack trace in HTML doc when an error occurs retrieving details for an Ambari View resource that does not exist

What changes were proposed in this pull request?
Ambari returns stack trace in HTML doc when an error occurs retrieving details for an Ambari View resource that does not exist.
curl -u admin:admin -X GET http://localhost:8080/api/v1/views/CAPACITY-SCHEDULER/versions/1.0.0/instances/AUTO_CS_INSTANCE/bad_resource

<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 500 Server Error</title>

HTTP ERROR 500

Problem accessing /api/v1/views/CAPACITY-SCHEDULER/versions/1.0.0/instances/AUTO_CS_INSTANCE/bad_resource. Reason:

    Server Error

Caused by:

java.lang.IllegalArgumentException: A resource type bad_resource for view instance CAPACITY-SCHEDULER/AUTO_CS_INSTANCE can not be found.
	at org.apache.ambari.server.api.services.views.ViewInstanceService.getResourceHandler(ViewInstanceService.java:326)
	at sun.reflect.GeneratedMethodAccessor375.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
...

The current patch fixes this behavior for all views and their child resources
How was this patch tested?
live cluster check, unit test run

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5100/
Test FAILed.
Test FAILured.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5105/
Test FAILed.
Test FAILured.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5107/
Test FAILed.
Test FAILured.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5110/
Test FAILed.
Test FAILured.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5111/
Test PASSed.


Use monorepobuilder merge

From https://github.com/SimpleBus/SimpleBus/pull/88 this was added by @ruudk.

Maybe the same / related to https://github.com/SimpleBus/SimpleBus/issues/99#issuecomment-743977881 ?

Never mind we need this for https://github.com/SimpleBus/SimpleBus/issues/96


layers: simplify v0 function implementations

Since each of the layer library contains only a layer, we can simplify v0
functions by making them wrappers to the contained layer's corresponding
commands.
While we have to make changes to each layer individually, all the changes
should be the same in spirit.  The exception is vk-layer-generate.py where
the missing vkEnumerateDeviceExtensionProperties is also added.

I am assigning this to myself and will commit in a day or two, unless @tobine wants to take a look.

I just pushed this.  Sorry that I did not get notifications that you assigned this to you.  I can do follow-ups or revert if there is an issue with the change.

That is alright to push and revisit as needed. I haven't been able to be very timely in the last several weeks do to various other responsibilities, meetings, offsites, etc.


✨ Support preemptible execution environments

What are you trying to do?
I've recently been considering moving pieces of my existing (non-Dagger) CI pipeline to self-hosted infrastructure on Google's spot instances. Because these instances could be preempted at any time, it would be ideal if progress on my pipeline were saved incrementally, in as granular a way as possible. It occurred to me that Dagger's cache model (where each execution step can be cached, potentially to long-lived external storage) might make solving this problem a lot easier.
I think the ideal solution is to be able to export cache incrementally, throughout the execution of a larger pipeline and in parallel with other pipeline steps.
Why is this important to you?
Spot instances are 50-90% cheaper than reserved compute. Dagger already provides incredible opportunities to reduce spend on CI through caching, but making it easy to use preemptible environments could offer massive savings on the work that actually does have to get done.
How are you currently working around this?
No response

That's very interesting. I wonder how much you could get out of the current version of Dagger on spot instances, with either a regular cache export at the end of the job, or persistent block storage to avoid the need for cache export entirely? Of course some jobs would be interrupted before the end, but depending on the average lifespan of a spot instance, it might happen infrequently enough to be worth it.
Regardless of caching, there are other aspects of this setup that would not be trivial: load-balancing / proxying; and retries on failure. Have you given those any thought?
As for the caching improvement you are describing: it's possible but will probably require non-trivial engineering both on dagger and upstream buildkit as well. We have an ambitious roadmap for dagger's caching infrastructure though, so we'll get around to it eventually - but not in the near future I believe.

Hi,
Are you able to give more details about this?

We have an ambitious roadmap for dagger's caching infrastructure though, so we'll get around to it eventually - but not in the near future I believe.


Similar to your comment about unions not be implemented yet, what about interfaces?

This works when querying github, though snowflaq cannot validate it w/"unknown field author"
{
	"name": "author",
	"description": "The actor who authored the comment.",
	"args": [],
	"type": {
		"kind": "INTERFACE",
		"name": "Actor",
		"ofType": null
	},
	"isDeprecated": false,
	"deprecationReason": null
},

query GetPullRequests($org: String!) {
  organization(login: $org) {
    name
    url
    repositories(first: 100) {
      nodes {
        name
        pullRequests(first: 100, states: OPEN) {
          nodes {
            number
            title
            url
            body
            author {
              login
            }
            reviews(last: 10, states: APPROVED) {
              nodes {
                author {
                  login
                }
              }
            }
          }
        }
      }
    }
  }
}

** this could just be me not knowing much about graphql...

this should be close but probably not exact to our github enterprise version - https://raw.githubusercontent.com/octokit/graphql-schema/master/schema.json

This works when querying github, though snowflaqe cannot validate it

Hi @mattsonlyattack, it is correct that GraphQL interfaces aren't supported. After having checked out the query and the schema, it looks like it "should" be doable to generate correct types from this particular query when you are asking for common fields on the interface itself. However, once you start using concrete type query fragments it becomes as complicated as with the GraphQL  unions. For example:
query GetPullRequests($org: String!) {
  organization(login: $org) {
    name
    url
    repositories(first: 100) {
      nodes {
        name
        pullRequests(first: 100, states: OPEN) {
          nodes {
            number
            title
            url
            body
            author {
              login
            }
            reviews(last: 10, states: APPROVED) {
              nodes {
                author {
                  ... on Bot {
                     botField1
                     botField2
                     // etc.
                   }

                   ... on User {
                       userSpecificField1
                       userSpecificField2
                    }
                }
              }
            }
          }
        }
      }
    }
  }
}

This makes the return type complicated because basically I end up having to implement the GraphQL unions anyways which isn't straightforward, especially because the JSON deserialization (currently using SimpleJson) doesn't understand unions that are encoded as objects.
In any case, I will take a look at it soon to see if it is doable. Thanks a lot for sharing the schema and query! It would be great if I also have a test query that returns fields from just Author but also from another type which implements Author like Bot or User. A bonus is a sample JSON returned from the query to help me figure out how I should change the way JSON deserialization to make it work for this case. You can obfuscate the actual content of the entities returned, I only care about the shape of the data returned.

Hope this helps.
query:
query GetPullRequests($org: String!) {
  organization(login: $org) {
    name
    url
    repositories(first: 1) {
      nodes {
        name
        pullRequests(first: 1, states: MERGED) {
          nodes {
            number
            title
            url
            body
            author {
              login
              url
            }
            mergedBy {
              login
              resourcePath
            }
            reviews(last: 10, states: APPROVED) {
              nodes {
                author {
                  avatarUrl
                  login
                  ... on Bot {
                    login
                    id
                  }
                  ... on User {
                    bio
                    id
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

response:
{
  "data": {
    "organization": {
      "name": "my-org",
      "url": "https://example.com/my-org",
      "repositories": {
        "nodes": [
          {
            "name": "some-repo",
            "pullRequests": {
              "nodes": [
                {
                  "number": 2,
                  "title": "add engineering agreements to readme",
                  "url": "https://example.com/my-org/some-repo/pull/2",
                  "body": "probably a giphy",
                  "author": {
                    "login": "APerson",
                    "url": "https://example.com/APerson"
                  },
                  "mergedBy": {
                    "login": "BPerson",
                    "resourcePath": "/BPerson"
                  },
                  "reviews": {
                    "nodes": [
                      {
                        "author": {
                          "avatarUrl": "https://example.com/avatars/u/1665",
                          "login": "CPerson",
                          "bio": "i do things",
                          "id": "ASDFIJ="
                        }
                      },
                      {
                        "author": {
                          "avatarUrl": "https://example.com/avatars/u/1892",
                          "login": "BPerson",
                          "bio": i dont do things,
                          "id": "BASODF="
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  }
}

@mattsonlyattack Thanks a lot for the sample queries! I think I know now where to look to find a solution. I am afraid however that it will be quite the challenge to implement this feature. I can't promise a timeline but I will definitely look into it soon

Alright, fixed the first part of the problem with JSON deserialization in Fable Implement deserialization heuristic with union of records
Now I need to do the same for the dotnet deserializer, tracked in this issue Extend Fable.Remoting.Json with heuristics for unions of records
Then I could come back to Snowflaqe and generate the types for interfaces. I think because the deserialization issue is resolved, it will be relatively straightforward to implement GraphQL unions as well

Hi @mattsonlyattack,
It has been a long and exciting weekend. I think I have got this implemented like it should 😁 Snowflaqe now understands both GraphQL interfaces and unions, generates the corresponding F# union types and verifies the used fields just like it does with objects. The only requirement is that the subtypes both on interfaces and unions must now add a __typename field and will otherwise throw a validation error. This field is used for deserialization.
It would be great if you could put this version to the real test and run it against the Github schema that you working with. You have to modify your query slightly into this:
query GetPullRequests($org: String!) {
  organization(login: $org) {
    name
    url
    repositories(first: 1) {
      nodes {
        name
        pullRequests(first: 1, states: MERGED) {
          nodes {
            number
            title
            url
            body
            author {
              login
              url
            }
            mergedBy {
              login
              resourcePath
            }
            reviews(last: 10, states: APPROVED) {
              nodes {
                author {
                  avatarUrl
                  login
                  ... on Bot {
                    __typename
                    login
                    id
                  }
                  ... on User {
                     __typename
                    bio
                    id
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Please let me know how it goes and whether everything works for you :smile:

Wow, very productive weekend!
The results from the server exactly match my query results in postwoman, and I'm able to inspect the query results and so far the data is looking great. So cool, thank you!
I did start w/an invalid query by accident, and my query result matched on Ok, wondering if it should have been an Error instead? Maybe a useful test case, or maybe I'm thinking wrong.
Here is my query screw-up where I put the type spread in the wrong spot (that made it through snowflaqe validation and generation):
query GetPullRequests($org: String!) {
  organization(login: $org) {
    name
    url
    repositories(first: 100) {
      nodes {
        name
        pullRequests(first: 100, states: OPEN) {
          nodes {
            number
            title
            url
            body
            author {
              login
            }
            reviews(last: 10, states: APPROVED) {
              nodes {
                author {
                  login
                }
                ... on User {
                    __typename
                    bio
                    id
                  }
              }
            }
          }
        }
      }
    }
  }
}

And here is the error message from graphql:
{"errors":[{"path":["query GetPullRequests","organization","repositories","nodes","pullRequests","nodes","reviews","nodes","... on User"],"extensions":{"code":"cannotSpreadFragment","typeName":"User","fragmentName":"unknown","parentName":"PullRequestReview"},"locations":[{"line":45,"column":33}],"message":"Fragment on User can't be spread inside PullRequestReview"}]}

Hi @mattsonlyattack,
I have created an issue to validate the incorrect query.  As for the interfaces, it seems like I make a small mistake by only including the types to generated F# union case which are used in the inline fragments as opposed to adding all subtypes of the interface to the generated union (which also means the __typename will now be required on interface field selections as well)

Alright, I fixed the issue with the subtyping of interfaces and pushed a new package as of v1.7.0 🚀 can you please update and try it out?


Typed currying and partial application?

Hi,
Thanks for open-sourcing flow.
I started thinking about how I could combine flow with currying and/or partial application such as my purry
Consider this example:
var add = purry(a: Number, b: Number => a + b)

map(add(4), List.of(1, 2, 3))
// => List [5, 6, 7]

map(add("FOOBAR"), List.of(1, 2, 3))
// => FLOW TYPE ERROR!

Here's where it gets ugly. A type system like Haskell would simply catch the issue here:
add("FOOBAR")

However in the case of flow it must wait until the add4 function is invoked with a member from numbers to discover that a non-number was passed as the first argument to add. This is because purry or ANY currying implementation in JavaScript will collect the arguments until completion before invoking the wrapped function (add in the case above). The implication is that the user _will not be shown where he made the mistake_ (add("FOOBAR")) but rather a type error coming from within the guts of the purry implementation. It will suck.
flow demonstrates practicality for a variety of common but somewhat straight forward use-cases. What is the vision for tackling more challenging yet useful use-cases? Monads, combinators, etc. Rich Hickey's comments about the pain transducers is causing upon type systems may be another example too. Even Haskell is getting a stiff challenge there.
Thanks!

Such use cases will probably be handled later in the year as more framework code starts getting converted to Flow.

+1 as I use partial application and currying all the time.
Furthermore, I would be overjoyed if flow supported haskell-ish type signatures in comments.
Pulling from @jasonkuhrt ...if flow could parse:
//: add :: Number -> Number -> Number
// OR
/*: add :: Number -> Number -> Number */

I would be very much obliged.
For further parsing examples, perhaps consulting @CrossEye or simply the Ramda Docs which have a pull down for each type signature explaining what they do.

if flow supported haskell-ish type signatures

I wasn't bold enough to ask this or at least in the context of this issue but I heartily agree that inline type annotations are a mess. It seems many language designers just copy this from the C heritage but to me Haskell Elm Purescript etc. get this way more right.
Inline type annotations present themselves as an after-thought / chore whereas elevated type signatures lend themselves to being in the mindset of a first-class language idea that isn't there to slow you down but actually help design your program, e.g. you can start stubbing out JUST type signatures and iteratively fill out the implementations later without having to get fiddly about it.
Anyways, its off-topic for this issue but and I'm highly pessimistic about this issue in context of the JavaScript community but yeah @wayneseymour totally agree.

I think that add: (a: number) => (b: number) => number is pretty "Haskell-ish," and the function type notation is "properly" right associative, so I think we're pretty good on that front.
As far as currying support, the only issue is varargs, but something like the following works today:
/* @flow */

function add(a: number, b: number): number {
  return a + b;
}

function curry2<A,B,C>(f: (x: A, y: B) => C): (x: A) => (y: B) => C {
  return (a) => (b) => f(a,b)
}

curry2(add)("i")
// test.js|11 col 1 error|  function call
// || Error:
// test.js|11 col 13 error|  string
// || This type is incompatible with
// test.js|3 col 17 error|  number
// ||

@samwgoldman I still think there's something to be said about types that stand on their own. Consistency is an essential ergonomic ingredient. Communities standardize on this stuff. e.g. Haskell docs leverage types as the predominant face of documentation https://hackage.haskell.org/package/base-<IP_ADDRESS>/docs/Data-Maybe.html#t:Maybe which is a direct mapping of what the user would do in their source code.
As for the currying support I'll try to find time to take another test drive with it and report back.

@jasonkuhrt I'm not sure what you're saying there. By "types that stand on their own" are you referring to your preference for the number -> number -> number syntax over (a: number) => (b: number) => number?

@samwgoldman Yes

Anyways I'll stop commenting on that aspect its off topic and super nuanced. Without articulation it can easily appear to not matter.

Cool. In that case, I'm not sure what the remaining issue is.  In particular I want to see how the type of a function changes as its arguments are filled in. If a function takes three arguments and only one is given, it should have a type signature that is a function accepting whatever its remaining rightward args are plus of course the return type. In turn, another function that is compatible with such a function should now accept it, but have rejected it before prior to the first parameter being argued.

OK, it sounds like there really isn't a specific issue here, because flow does support functions that curry (and uncurry) other functions. How do you feel about closing this issue? If you run into something more specific you can always open a new issue.

@samwgoldman Yep, just give me a few more hours though because I'm literally diving in right now for the evening.

@samwgoldman I was able to break your example here https://github.com/jasonkuhrt/research/blob/master/rough-drafts/typing-javascript.adoc#first-attempt. I worked my way to a correct implementation and then stopped short of trying to type it. That's where I need help and likely where Flow isn't sufficient yet.
So this issue is not resolved and should not be closed.

My curry2 function doesn't attempt to allow passing more than one argument at a time, and extra arguments are ignored by javascript (and therefore flow).
The function you want has two possible return types: either a) the return type of the original function or b) a function that takes more arguments. While it is possible to represent this using a union, it's isn't very fun to use.
/* @flow */

function add(a: number, b: number): number { return a + b }

function sortaCurry2<A,B,C>(f: (a: A, y: B) => C): (x: A, y?: B) => C | (y: B) => C {
  return (a, b) => b ? f(a, b) : (b) => f(a,b)
}

var ex1: number = sortaCurry2(add)(1)(2)
// test2.js|9 col 19 error|  function call
// || Function cannot be called on
// test2.js|3 col 37 error|  number
// ||

This fails because, as far as flow knows, the return type of sortaCurry2(add)(1) is either a function or a number, but it doesn't know which one, because that depends on whether b was passed in and flow can't possibly know that.
Do you see how it is not possible to type this function?
I do not agree that this is a deficiency with flow. I do not think any non-dependently typed language can express this type.

and extra arguments are ignored by javascript (and therefore flow)

Ok thanks for confirming what I assumed. So, it would be nice if I could tell flow to be more strict than this; But that's another issue, off-topic.

but it doesn't know which one

Right; this limitation was what I assumed would happen with vanilla Union Types. And this is not surprising since obviously the semantics of currying are simply not modelled by Union Types.

because that depends on whether b was passed in and flow can't possibly know that.
Do you see how it is not possible to type this function?
I do not think any non-dependently typed language can express this type.

So Flow has no plans of exploring being a dependently typed system?
And If no type system can express currying semantics then Haskell must achieve it by "cheating", special-casing currying so that the type system knows how to convert:
(+) :: Num a => a -> a -> a

into:
add1 :: Num a => a -> a

@puffnfresh you made a presentation at Strange Loop last year about Idris and would be curious to know your take on bring typed currying to JavaScript. Possible or impossible even with dependent typing?
Thanks for your patience guys, I'm very new to types and type theory so am being somewhat pedantic!

Haskell doesn't cheat, it just has only one way to apply arguments to functions, which is one-at-a-time. One way to represent multiple-argument functions in JS is using Haskell's tuples, like so:
JS (a: number, b: number) => number is like Haskell Num a => (a, a) -> a
JS (a: number) => (b: number) => number is like Haskell Num a => a -> a -> a
My first curry2 function takes the first type to the second type. Indeed, Haskell has a curry function that does the same thing.
Does that help?

@samwgoldman Ah, thank-you it does help. So it is just Haskell's syntax that makes it appear like multiple arguments are given at at a time, e.g. these are actually invoked identically:
Prelude> (+) 1 2
3
Prelude> (+)(1)(2)
3

And the un-curried version in Haskell actually (as you suggested for the JS representation) accepts still one argument, but a tuple, itself finally actually holding the n arguments:
Prelude> (uncurry (+)) (1,2)
3

Ugh, translating how this works to JavaScript results in a poor UX for the JS user, since the assumptions either language makes lends to syntax optimized for opposing idioms. Every JS function would be allowed to either be invoked multiple times or given an array of remaining params. Additional confusion would arise for JS functions with literal array-typed parameters... leading to a crazy system like:
add(1)(2)

or:
add(argTuple(1, 2))

Ergonomically unacceptable.
But, then would the system be constrained enough for a type system to statically check?
Getting sweet.js involved would potentially alleviate the ergonomic issue but it would require radically changing the language such that inter-op would be hard or impossible (e.g. turn every multi-argument function into a tuple form).
@samwgoldman Thanks again for explaining this stuff.

So, given all of the above, can we agree there is no issue with flow here?

Yeah I think so, to the best of my knowledge I cannot suggest otherwise. I'm disappointed, but just in general, not with Flow specifically ; )

It's a bummer that flow cannot express curried functions in the way they are currently implemented in the JS ecosystem (see: http://ramdajs.com/0.19.1/docs/#curry, https://lodash.com/docs#curry).
I imagine it's even more difficult once you factor in things like placeholder arguments.
If you could denote a type to not ignore extra args, would that at least help with union (intersection?) types?

This seem to be possible in TypeScript, see https://github.com/donnut/typescript-ramda/
Can something similar be done with Flow?

@rpominov If you look at the type definitions there, you'll see that specific arities are typed via overloads, then a generic fallback type is provided. Yes. this is also possible in Flow.

One example that isn't listed here as far as I can tell (and is becoming more common):
// file: InsertFromModel/index.js

import {pipe} from "sanctuary" // or ramda
import {asAttributes} from "model"
import {asInsert} from "sql"

export default pipe(
  [
    // Object
    asAttributes,
    // [Object, n]
    asInsert,
    // ["INSERT ...", n]
  ]
)

Currently there's nothing really to hook into for type declarations, and even when you have that it doesn't "quite" work:
const InsertFromModel: Function = pipe(
  [
    // Object
    asAttributes,
    // [Object, n]
    asInsert,
    // ["INSERT ...", n]
  ]
)

While technically true, it's not helpful. I know pipe is a function, what I would love to do is asser that it returns Array<string>.

@krainboltgreene I think you could use const InsertFromModel: () => [string] = pipe( here.

@jgrund @rpominov flow can definitely express curried functions, even the JavaScript flavour, see here
https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js#L26
or here
https://github.com/flowtype/flow-typed/blob/master/definitions/npm/ramda_v0.21.x/flow_>%3Dv0.28.x_<%3Dv0.29.x/ramda_v0.21.x.js#L25
@samwgoldman can this be closed? Someone pointed me to this issue, he thought there was no (or bad) support for currying

@gcanti Perhaps the only problem at this moment is that overloading isn't supported for class methods https://github.com/facebook/flow/issues/2260
But yeah, this issue can be closed I think.

Yes, this is possible to model with intersections. It started to work reliably when intersections / unions were overhauled.
I have also done an implementation that uses placeholders which also works at the cost of more overload permutations.
I agree this can be closed.

Even thought it is possible to express currying with overloading like @gcanti showed clearly here, currying does not seem a first-class feature and this approach may be fragile / error prone (or maybe even say has bad support).
Could not considerer adding currying as fully supported, since it is such important feature and getting more ubiquitous, instead of having to provide several overloading signatures?

In addition to currying, being able to have type information flow through compose and pipe so that they produce methods that flow knows the type of without having to manually provide that information would go along way in supporting functional programming.
type fn = (v: any) => any;
const compose = (...fns: fn[]): fn => x => fns.reduceRight((v, f: fn) => f(v), x);

const add5 = (a: number): number => a + 5;
const str = (a: number): string => a.toString();

const foo = compose(str, add5);
const bar = (compose(str, add5) : (v: number) => string);

const print = (num: number) => console.log(num);

print(foo(5));	// no error
print(bar(5));  // errors

@kevinbarabash here you can find some typings for curry, compose and pipe
import { compose } from 'flow-static-land/lib/Fun'

const add5 = (a: number): number => a + 5
const str = (a: number): string => a.toString()
const foo = compose(str, add5)

const print = (num: number) => console.log(num)

print(foo(5)) // error: string. This type is incompatible with number

I wish we had a more elegant way of describing composition.  The nice thing about those typings is that they enforce that the return type of the previous function is the param type of the following function.

Seems like a settled issue that everyone is OK with closing. There are some good feature requests that are covered elsewhere.

@gcanti, hello. Interesting package. I wonder, had you an idea to implement a macro or something to render this multi-signature functions automatically? And, in general, is there any efforts (somewhere) to supply macroses to some features that not present in Flow?

@StreetStrider Flow is not a compiler. All type definitions make no actual difference to the actual code that will be run. And the Babel transform will literally strip those types. So It cannot support macros.
However, there are a few Utility types in Flow that make it easier to write your own type definitions. There is also some Utility Types you can create on your own.

@nmn I wasn't saying Flow is a compiler. I meant «precompiler/macroses for Flow itself», to get rid of things such as this crazyness.

@StreetStrider Oh, I see. I see the value in that, but I don't think that will happen any time soon.
There are some other options that are being considered that may make the situation a little better.

@nmn, agree. This task is complex, indeed. I think for future it will be good for Flow to have some form of algebra that allows following features and operations:

Variadic generic arg that can be then passed to function signature and will be treated as a whole type, like a «signature».
Slicing of signatures. This would allow to define curry, for instance.
Concatting of signatures. e.g. for bind.
Retrieving signature and retval from function type (it's like head and tail for sequences). e.g. for promisify.
…maybe other operations.

As for my question to gcanti, I was asking just for workaround to eliminate this signature ladders for now. Maybe someone works on some simple pre-renderer that will do the trick. Flow development is slow-paced, this would be good to know about any enthusiasts working on Flow independently.

All of that sounds great. Flow is still early in its development cycle and it started with a pretty complex and expressive type system. The problem with signature ladders is common in other languages like Swift too.
I'm sure things can improve but I don't think that it's the most pressing issue for Flow right now.


Transparent proofs

Transparent blockchains operate as follows: all participants maintain a copy of the (consensus-determined) application state. Transactions modify the application state directly, and participants check that the state changes are allowed by the application rules before coming to consensus on them.
On a shielded blockchain, however, the state is fragmented across all users of the application, as each user has a view only of their "local" portion of the application state. Transactions update a user's state privately, and use a zero-knowledge proof to prove to all other participants that the update was allowed by the application rules.
There are then two main challenges involved in creating a shielded blockchain:

Design of the application state and data flows to be compatible with per-user views of local portions of the chain state, and isolated updates to those portions that can be made private;
Design of the cryptography that allows proving correctness of private updates.

Of these challenges, the first is more foundational for the system design, because it changes the entire architecture and assumptions about data availability.  However, the second requires a large amount of detailed cryptographic design work (e.g., working through all of the details of a state update circuit).
Frontloading the cryptographic design work makes it difficult to develop the application iteratively and get rapid feedback on what aspects work well, but deferring it entirely risks creating a situation where the application state is designed incompatibly with private functionality.  How do we balance this tension?

Frog put the cookies in a box. "There," he said. "Now we will not eat any more cookies."
"But we can open the box," said Toad.
"That is true," said Frog.

One idea to tread a middle ground between these extremes is to try to separate (1) and (2) by designing the application state around (1) -- i.e., designing a fragmented application state with update proofs -- but replacing the zero-knowledge proofs with "transparent proofs" that work as trivial proofs-of-knowledge.  These transparent proofs are just a packet containing the witness data, and the verification algorithm takes the public inputs and uses them to check the desired relation against the witness data directly.
While these transparent proofs do not provide privacy, because they have the same interface as a zero-knowledge proof, they do ensure that the data flows in the system are compatible with an actually private implementation, and they can be gradually replaced by real ZK proofs as the system design solidifies.

This design has a lot in common with "stateless" blockchains I think


the '--stripInternal' may cause naming problems.

I have noticed that lots of guys are waiting for the internal modifier : #5228  After a searching, I  found this: http://www.typescriptlang.org/docs/handbook/compiler-options.html , and take a look at the option --stripInternal. It's exactly what we need! I just don't know why it is not mentioned in any document. Anyway, thanks for add this awesome feature. we gonna use it in our engine right away.
But I think that strip the internal properties or methods away directly may cause some naming problem? For example, if the user creates a subclass and declare a method with the same name to the internal method of the base class. He will not get a error reporting since the internal name is not in the .d.ts file. If I am right, I think the better way to do this is change the modifier to private in the .d.ts instead of stripping the internal method away. But for the @internal above the class, I would like to strip it away, otherwise, I have to put lots of @internal in every method within it.

As indicated in the docs, this feature is experimental, and may cause problems. The problems you're describing are why it's not an official feature yet :wink:

@RyanCavanaugh Thanks for your reply :)  The things is we need this internal feature badly. We have talked to your evangelists about it back on 2014 and wait for it a long time, like two years... So I would like to ask when it will be official? and what is final form, is it the internal modifier or the --stripInternal?

2.1 would be the earliest, though I expect it will be later.

It is great! Thanks for your reply again. @RyanCavanaugh


link bug: two dead links in the https://github.com/spidernet-io/spiderpool page

Describe the version
version about:

spiderpool

Describe the bug

two dead links in the https://github.com/spidernet-io/spiderpool page

Hwo To Reproduce

Jump to https://github.com/spidernet-io/spiderpool
Click on the link installation
Click on the link ippool usage

Expected behavior

success to open link

Screenshots and log

Additional context

None

https://github.com/spidernet-io/spiderpool/pull/444


Update the PCKNibHelper’s NSLayoutConstraints to pass on the identifier and priority.

Turn off auto resizing mask.
As authored by @xtreme-lisheng-tai & @briancroom

Thanks @xtreme-andy-shen @xtreme-lisheng-tai & @briancroom
These changes seem more correct and accommodating than what we had recently -- just need to get travis stabilized before we can merge.
Appreciate the pr's and everyone's patience!

I think we're good to merge once Travis passes on master. Hang tight...

👍

Should we include a small test that verifies we copy over the identifier and priority? It seems to me that change is important, and having a test that documents that happens would be useful if we ever end up wildly refactoring these categories.

I do want to say that I'm delighted to see these pull requests. You're awesome @xtreme-andy-shen!

@tjarratt Cool, I'll add them

Done.

Thanks!


Log skips of files during resync

The pg_aocsseg table was not resynced during incremental recovery. There is the "resync TID" record in log, but there is no corresponding "resync scheduled" record. Logging of all possible skip situations is added to understand the cause of the error. Now this logging is unconditional.
The file name logging error is fixed. Before the patch the previous file name or uninitialized buffer was passed to the elog function. Arguments of the PersistentFileSysObj_ResynchronizeRefetch function is changed to avoid the possibility of modifying of entry.relFileNode and entry.segmentFileNum. So there is no need to call FileRep_GetRelationPath after PersistentFileSysObj_ResynchronizeRefetch.

@Stolb27 Patch contains refactoring of PersistentFileSysObj_ResynchronizeRefetch() function. Should we pass it or revert it?

@InnerLife0 , refactoring has been reverted


formatting handler only works in async mode

Hi, I am trying to register a handler to textDocument/formatting that will call api.sort_imports each time. However I have noticed this handler is only executed when using async formatting (which I don't use), i.e. vim.lsp.buf.format {async = true}.

Hi @ribru17 sorry for delay, I had a lot of my day job work.
It isn't related with plugin, this is a nvim code, sync format just apply edits and ignore handler:
https://github.com/neovim/neovim/blob/4607807f9fcb83d4e183f6f67e705ffd7f451077/runtime/lua/vim/lsp/buf.lua#L248
You should issue this in nvim core.

I see, thank you for answering.


Custom path

Hi david,
I want to change 'dir' name from the deafult uuid to last insert id, can you give me an example to solve my problem david?
I try to use the pathClass, but i have some error and i got stuck.

No, unfortunately I can't. If you are inserting a record, you will not know the inserted id until the record is inserted.
The only way around this issue would be to use the [afterSave](https://book.cakephp.org/3.0/en/orm/table-objects.html#aftersave) event, to move the file to a new folder, once you've saved it.


appended my name - Chinedu

adding my own

My own is yet to be verified

Please I am sorry for all the trouble we have caused you but count it all joy. Your PR is about to be merged and you will be able to see your name on this url.
To enable me to do this, READ the README again carefully, update your code with the latest and push the update. I am here for you for the next 6 hours before I close the PR so you can initiate a fresh PR which will be easier to merge.

Sorry I have to close this PR, kindly update your code and initiate a fresh PR
Cheers 🥂


Upgrade to jnr-unixsocket 0.18

Use upstream UnixSocket instead of our own ApacheUnixSocket wrapper.

Codecov Report

Merging #918 into master will increase coverage by 0.59%.
The diff coverage is 71.42%.

@@             Coverage Diff              @@
##             master     #918      +/-   ##
============================================
+ Coverage     66.04%   66.64%   +0.59%
+ Complexity      769      750      -19
============================================
  Files           171      170       -1
  Lines          3240     3151      -89
  Branches        369      367       -2
============================================
- Hits           2140     2100      -40
+ Misses          940      892      -48
+ Partials        160      159       -1

I guess the comment is no longer valid re: delaying the socket options?
https://github.com/spotify/docker-client/pull/918/files#diff-a479355e73762bc07b466a285d105088L41
I'm fine with this given that tests pass.

@caipre Yea, I think jnr.unixsocket.UnixSocket does the right thing compared to jnr.unixsocket.UnixSocketChannel, but I haven't dug into it deeply. I just noticed this as well.