🐛 [firebase_crashlytics: ^0.2.1+1] When adding crashlytics as dependency in flutter

Bug report
Describe the bug
After adding firebase_crashlytics: ^0.2.1+1 it will crash when running the app, I am using flutter 1.17.5
I have added firebase analytics and FCM with no problems, the issue only shows after adding crashlytics
Steps to reproduce
Steps to reproduce the behavior:

Just add firebase_crashlytics to your dependency

Expected behavior
It will show this error
Launching lib/main.dart on owner’s iPhone in debug mode...
 lib/main.dart
Automatically signing iOS for device deployment using specified development team in Xcode project: C86586K3W4
Running pod install...                                              1.4s
CocoaPods' output:
↳
      Preparing
    Analyzing dependencies
    Inspecting targets to integrate
      Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)
    Finding Podfile changes
      A firebase_crashlytics
      - Flutter
      - android_intent
      - device_info
      - firebase_analytics
      - firebase_analytics_web
      - firebase_core
      - firebase_core_web
      - firebase_messaging
      - flutter_plugin_android_lifecycle
      - flutter_secure_storage
      - geocoder
      - geolocator
      - google_api_availability
      - google_map_location_picker
      - google_maps_flutter
      - location_permissions
      - package_info
      - path_provider
      - path_provider_linux
      - path_provider_macos
      - shared_preferences
      - shared_preferences_linux
      - shared_preferences_macos
      - shared_preferences_web
      - sqflite
      - video_player
      - video_player_web
      - webview_flutter
    Fetching external sources
    -> Fetching podspec for `Flutter` from `Flutter`
    -> Fetching podspec for `android_intent` from `.symlinks/plugins/android_intent/ios`
    -> Fetching podspec for `device_info` from `.symlinks/plugins/device_info/ios`
    -> Fetching podspec for `firebase_analytics` from `.symlinks/plugins/firebase_analytics/ios`
    firebase_analytics: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
    -> Fetching podspec for `firebase_analytics_web` from `.symlinks/plugins/firebase_analytics_web/ios`
    -> Fetching podspec for `firebase_core` from `.symlinks/plugins/firebase_core/ios`
    firebase_core: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
    -> Fetching podspec for `firebase_core_web` from `.symlinks/plugins/firebase_core_web/ios`
    -> Fetching podspec for `firebase_crashlytics` from `.symlinks/plugins/firebase_crashlytics/ios`
    firebase_crashlytics: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
    -> Fetching podspec for `firebase_messaging` from `.symlinks/plugins/firebase_messaging/ios`
    firebase_messaging: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
    -> Fetching podspec for `flutter_plugin_android_lifecycle` from `.symlinks/plugins/flutter_plugin_android_lifecycle/ios`
    -> Fetching podspec for `flutter_secure_storage` from `.symlinks/plugins/flutter_secure_storage/ios`
    -> Fetching podspec for `geocoder` from `.symlinks/plugins/geocoder/ios`
    -> Fetching podspec for `geolocator` from `.symlinks/plugins/geolocator/ios`
    -> Fetching podspec for `google_api_availability` from `.symlinks/plugins/google_api_availability/ios`
    -> Fetching podspec for `google_map_location_picker` from `.symlinks/plugins/google_map_location_picker/ios`
    -> Fetching podspec for `google_maps_flutter` from `.symlinks/plugins/google_maps_flutter/ios`
    -> Fetching podspec for `location_permissions` from `.symlinks/plugins/location_permissions/ios`
    -> Fetching podspec for `package_info` from `.symlinks/plugins/package_info/ios`
    -> Fetching podspec for `path_provider` from `.symlinks/plugins/path_provider/ios`
    -> Fetching podspec for `path_provider_linux` from `.symlinks/plugins/path_provider_linux/ios`
    -> Fetching podspec for `path_provider_macos` from `.symlinks/plugins/path_provider_macos/ios`
    -> Fetching podspec for `shared_preferences` from `.symlinks/plugins/shared_preferences/ios`
    -> Fetching podspec for `shared_preferences_linux` from `.symlinks/plugins/shared_preferences_linux/ios`
    -> Fetching podspec for `shared_preferences_macos` from `.symlinks/plugins/shared_preferences_macos/ios`
    -> Fetching podspec for `shared_preferences_web` from `.symlinks/plugins/shared_preferences_web/ios`
    -> Fetching podspec for `sqflite` from `.symlinks/plugins/sqflite/ios`
    -> Fetching podspec for `video_player` from `.symlinks/plugins/video_player/ios`
    -> Fetching podspec for `video_player_web` from `.symlinks/plugins/video_player_web/ios`
    -> Fetching podspec for `webview_flutter` from `.symlinks/plugins/webview_flutter/ios`
    Resolving dependencies of `Podfile`
      CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_0_3_5.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/3/5/Firebase/6.34.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/3/5/Firebase/6.26.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/3/5/Firebase/6.26.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/3/5/Firebase/6.26.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_a_d_d.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/a/d/d/GoogleMaps/4.0.0/GoogleMaps.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_f_4_e.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/f/4/e/FMDB/2.7.5/FMDB.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/3/5/Firebase/6.26.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/f/4/e/FMDB/2.7.5/FMDB.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/f/4/e/FMDB/2.7.5/FMDB.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_8_b_d.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/8/b/d/FirebaseCore/6.10.4/FirebaseCore.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/3/5/Firebase/6.26.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/3/5/Firebase/6.26.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_2_d_6.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/2/d/6/FirebaseMessaging/4.7.1/FirebaseMessaging.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_e_7_d.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/e/7/d/FirebaseCrashlytics/7.0.0/FirebaseCrashlytics.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/a/d/d/GoogleMaps/2.7.0/GoogleMaps.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/a/d/d/GoogleMaps/2.7.0/GoogleMaps.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/8/b/d/FirebaseCore/6.7.2/FirebaseCore.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_0_8_4.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/8/4/GoogleUtilities/6.7.2/GoogleUtilities.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/8/4/GoogleUtilities/6.7.2/GoogleUtilities.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/8/4/GoogleUtilities/6.7.2/GoogleUtilities.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_8_9_c.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/8/9/c/FirebaseCoreDiagnosticsInterop/1.2.0/FirebaseCoreDiagnosticsInterop.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_8_3_c.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/8/3/c/FirebaseCoreDiagnostics/1.7.0/FirebaseCoreDiagnostics.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/8/3/c/FirebaseCoreDiagnostics/1.5.0/FirebaseCoreDiagnostics.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_0_6_a.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/6/a/GoogleDataTransport/7.5.1/GoogleDataTransport.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/8/4/GoogleUtilities/6.7.2/GoogleUtilities.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/8/4/GoogleUtilities/6.7.2/GoogleUtilities.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_6_1_e.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/6/1/e/nanopb/2.30906.0/nanopb.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/6/1/e/nanopb/1.30905.0/nanopb.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/6/1/e/nanopb/1.30905.0/nanopb.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/6/1/e/nanopb/1.30905.0/nanopb.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/a/d/d/GoogleMaps/2.7.0/GoogleMaps.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/8/4/GoogleUtilities/6.7.2/GoogleUtilities.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_e_2_1.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/e/2/1/FirebaseAnalytics/6.9.0/FirebaseAnalytics.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_0_b_5.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/0/b/5/PromisesObjC/1.2.11/PromisesObjC.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/e/7/d/FirebaseCrashlytics/4.1.1/FirebaseCrashlytics.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_2_f_7.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/2/f/7/FirebaseInstallations/1.7.0/FirebaseInstallations.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_6_f_9.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/6/f/9/FirebaseAnalyticsInterop/1.5.0/FirebaseAnalyticsInterop.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_b_c_f.txt exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/b/c/f/GoogleDataTransportCCTSupport/3.2.0/GoogleDataTransportCCTSupport.podspec.json exists! Returning local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/8/b/d/FirebaseCore/6.7.2/FirebaseCore.podspec.json exists! Returning local because checking is only perfomed in repo update
    [!] CocoaPods could not find compatible versions for pod "GoogleDataTransport":
      In snapshot (Podfile.lock):
        GoogleDataTransport (= 7.2.0, ~> 7.0)
      In Podfile:
        firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) was resolved to 6.0.2, which depends on
          Firebase/CoreOnly (~> 6.26.0) was resolved to 6.26.0, which depends on
            FirebaseCore (= 6.7.2) was resolved to 6.7.2, which depends on
              FirebaseCoreDiagnostics (~> 1.3) was resolved to 1.5.0, which depends on
                GoogleDataTransport (~> 7.0)
        firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`) was resolved to 0.2.1-1, which depends on
          Firebase/Crashlytics (~> 6.26.0) was resolved to 6.26.0, which depends on
            FirebaseCrashlytics (~> 4.1.1) was resolved to 4.1.1, which depends on
              GoogleDataTransport (~> 6.1)
    You have either:
     * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
     * changed the constraints of dependency `GoogleDataTransport` inside your development pod `firebase_crashlytics`.
       You should run `pod update GoogleDataTransport` to apply changes you've made.
    /Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:328:in `raise_error_unless_state'
    /Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:310:in `block in unwind_for_conflict'
    /Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `tap'
    /Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `unwind_for_conflict'
    /Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:257:in `process_topmost_state'
    /Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve'
    /Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/resolver.rb:94:in `resolve'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/analyzer.rb:1074:in `block in resolve_dependencies'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/user_interface.rb:64:in `section'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/analyzer.rb:1072:in `resolve_dependencies'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/analyzer.rb:124:in `analyze'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:414:in `analyze'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:239:in `block in resolve_dependencies'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/user_interface.rb:64:in `section'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:238:in `resolve_dependencies'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:160:in `install!'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/command/install.rb:52:in `run'
    /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/command.rb:52:in `run'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/bin/pod:55:in `<top (required)>'
    /usr/local/bin/pod:23:in `load'
    /usr/local/bin/pod:23:in `<main>'
Error output from CocoaPods:
↳
    [!] Automatically assigning platform `iOS` with version `8.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies.
To update the CocoaPods specs, run:
  pod repo update
Exception: Error running pod install
Exited (sigterm)
---

Additional context
Add any other context about the problem here.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
[✓] Flutter (Channel stable, v1.17.5, on Mac OS X 10.15.4 19E2269, locale en-PH)
    • Flutter version 1.17.5 at /Users/sparkle-star/Developer/flutter
    • Framework revision 8af6b2f038 (4 months ago), 2020-06-30 12:53:55 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/sparkle-star/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.10.0

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 48.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] Connected device (2 available)
    • Android SDK built for x86 • emulator-5554                        •
      android-x86 • Android 6.0 (API 23) (emulator)
    • iPhone 11                 • 1A042568-AA2D-4499-A29F-5AF40CA98819 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-13-6 (simulator)

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.8.4
Flutter SDK 1.17.5
sparkle_buyer_app 0.0.1+12

dependencies:
- badges 1.1.1 [flutter]
- bubble_tab_indicator 0.1.4 [flutter]
- cached_network_image 2.2.0+1 [flutter flutter_cache_manager]
- carousel_slider 2.2.1 [flutter]
- cupertino_icons 0.1.3
- data_connection_checker 0.3.4
- device_info 0.4.2+9 [flutter device_info_platform_interface]
- firebase_analytics 6.0.2 [meta flutter firebase_core firebase_analytics_web firebase_analytics_platform_interface]
- firebase_core 0.5.0+1 [firebase_core_platform_interface flutter quiver meta firebase_core_web]
- firebase_crashlytics 0.2.1+1 [flutter stack_trace firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface]
- firebase_messaging 7.0.3 [meta flutter firebase_core]
- flare_flutter 2.0.6 [flutter flare_dart meta]
- floating_bottom_navigation_bar 1.4.1 [flutter]
- flutter 0.0.0 [collection meta typed_data vector_math sky_engine]
- flutter_group_sliver 0.0.2 [flutter]
- flutter_secure_storage 3.3.3 [meta flutter]
- flutter_staggered_grid_view 0.3.2 [flutter]
- flutter_svg 0.17.4 [path_drawing xml vector_math meta flutter]
- geocoder 0.2.1 [meta flutter]
- geolocator 5.3.2+2 [flutter meta equatable google_api_availability location_permissions vector_math]
- google_map_location_picker 3.3.3 [flutter flutter_localizations intl intl_translation google_maps_flutter geolocator android_intent provider http stack_trace package_info]
- http 0.12.2 [http_parser path pedantic]
- modal_progress_hud 0.1.3 [flutter]
- package_info 0.4.3 [flutter]
- photo_view 0.10.2 [flutter]
- provider 4.3.2+2 [flutter nested collection]
- shared_preferences 0.5.8 [meta flutter shared_preferences_platform_interface shared_preferences_linux shared_preferences_macos shared_preferences_web]
- timeline_tile 1.0.0 [flutter]
- video_player 0.10.12+3 [meta video_player_platform_interface video_player_web flutter]
- webview_flutter 0.3.24 [flutter]

dev dependencies:
- flutter_test 0.0.0 [flutter test_api path image quiver stack_trace vector_math archive args async boolean_selector charcode collection convert crypto matcher meta petitparser source_span stream_channel string_scanner term_glyph typed_data xml]

transitive dependencies:
- _fe_analyzer_shared 7.0.0 [meta]
- analyzer 0.39.17 [_fe_analyzer_shared args charcode cli_util collection convert crypto glob html meta package_config path pub_semver source_span watcher yaml]
- android_intent 0.3.7+3 [flutter platform meta]
- archive 2.0.13 [crypto args path]
- args 1.6.0
- async 2.4.1 [collection]
- boolean_selector 2.0.0 [source_span string_scanner]
- charcode 1.1.3
- cli_util 0.2.0 [path]
- clock 1.0.1 [meta]
- collection 1.14.12
- convert 2.1.1 [charcode typed_data]
- crypto 2.1.4 [collection convert typed_data]
- csslib 0.16.2 [source_span]
- dart_style 1.3.6 [analyzer args path source_span]
- device_info_platform_interface 1.0.1 [flutter meta plugin_platform_interface]
- equatable 1.2.5 [collection meta]
- file 5.2.1 [intl meta path]
- firebase 7.3.2 [http http_parser js]
- firebase_analytics_platform_interface 1.0.3 [flutter meta]
- firebase_analytics_web 0.1.1 [flutter flutter_web_plugins firebase firebase_analytics_platform_interface meta]
- firebase_core_platform_interface 2.0.0 [flutter meta plugin_platform_interface quiver]
- firebase_core_web 0.2.0 [firebase firebase_core_platform_interface flutter flutter_web_plugins meta js]
- firebase_crashlytics_platform_interface 1.1.1 [flutter meta collection firebase_core plugin_platform_interface]
- flare_dart 2.3.4
- flutter_cache_manager 1.4.1 [flutter path_provider uuid http path sqflite pedantic clock file rxdart]
- flutter_localizations 0.0.0 [flutter intl collection meta path typed_data vector_math]
- flutter_plugin_android_lifecycle 1.0.9 [flutter]
- flutter_web_plugins 0.0.0 [flutter collection meta typed_data vector_math]
- glob 1.2.0 [async collection node_io path pedantic string_scanner]
- google_api_availability 2.0.4 [flutter]
- google_maps_flutter 0.5.32 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface]
- google_maps_flutter_platform_interface 1.0.4 [flutter meta plugin_platform_interface stream_transform]
- html 0.14.0+3 [csslib source_span]
- http_parser 3.1.4 [charcode collection source_span string_scanner typed_data]
- image 2.1.12 [archive xml]
- intl 0.16.1 [path]
- intl_translation 0.17.9 [analyzer args dart_style intl path petitparser]
- js 0.6.2
- location_permissions 3.0.0+1 [flutter meta]
- matcher 0.12.6 [stack_trace]
- meta 1.1.8
- nested 0.0.4 [flutter]
- node_interop 1.1.1 [js]
- node_io 1.1.1 [node_interop path]
- package_config 1.9.3 [path charcode]
- path 1.6.4
- path_drawing 0.4.1 [vector_math meta path_parsing flutter]
- path_parsing 0.1.4 [vector_math meta]
- path_provider 1.6.11 [flutter path_provider_platform_interface path_provider_macos path_provider_linux]
- path_provider_linux 0.0.1+2 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_macos 0.0.4+3 [flutter]
- path_provider_platform_interface 1.0.3 [flutter meta platform plugin_platform_interface]
- pedantic 1.9.0
- petitparser 2.4.0 [meta]
- platform 2.2.1
- plugin_platform_interface 1.0.2 [meta]
- process 3.0.13 [file intl meta path platform]
- pub_semver 1.4.4 [collection]
- quiver 2.1.3 [matcher meta]
- rxdart 0.24.1
- shared_preferences_linux 0.0.2+1 [file flutter meta path path_provider_linux shared_preferences_platform_interface]
- shared_preferences_macos 0.0.1+10 [shared_preferences_platform_interface flutter]
- shared_preferences_platform_interface 1.0.4 [meta flutter]
- shared_preferences_web 0.1.2+7 [shared_preferences_platform_interface flutter flutter_web_plugins meta]
- sky_engine 0.0.99
- source_span 1.7.0 [charcode collection meta path term_glyph]
- sqflite 1.3.1 [flutter sqflite_common path]
- sqflite_common 1.0.2+1 [synchronized path meta]
- stack_trace 1.9.3 [path]
- stream_channel 2.0.0 [async]
- stream_transform 1.2.0
- string_scanner 1.0.5 [charcode meta source_span]
- synchronized 2.2.0+2
- term_glyph 1.1.0
- test_api 0.2.15 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.1.6
- uuid 2.2.0 [crypto convert]
- vector_math 2.0.8
- video_player_platform_interface 2.1.1 [flutter meta]
- video_player_web 0.1.3+2 [flutter flutter_web_plugins meta video_player_platform_interface]
- watcher 0.9.7+15 [async path pedantic]
- xdg_directories 0.1.0 [path process flutter]
- xml 3.6.1 [collection convert meta petitparser]
- yaml 2.2.1 [charcode collection string_scanner source_span]

Hi @markjoseultra
Have you tried pod repo update or pod update GoogleDataTransport?
You have either:
     * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
     * changed the constraints of dependency `GoogleDataTransport` inside your development pod `firebase_crashlytics`.
       You should run `pod update GoogleDataTransport` to apply changes you've made.

Hi @markjoseultra
    [!] CocoaPods could not find compatible versions for pod "GoogleDataTransport":
    You have either:
     * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
     * changed the constraints of dependency `GoogleDataTransport` inside your development pod `firebase_crashlytics`.
       You should run `pod update GoogleDataTransport` to apply changes you've made.

...

Error output from CocoaPods:
↳
    [!] Automatically assigning platform `iOS` with version `8.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies.
To update the CocoaPods specs, run:
  pod repo update

Could you try the steps mentioned here? You could also try
rm -rf ~/Library/Developer/Xcode/DerivedData/
rm -rf ~/Library/Caches/CocoaPods/
pod deintegrate
pod update

and flutter clean.
Also 1.17.5 is quite outdated at this point. Would you consider upgrading to the latest version of stable?
Thank you

I have this issue, but only crash on Android, flutter 1.22.3, emulator on android 8.1

[SOLUTION]
Someone found a solution here
https://stackoverflow.com/questions/61507210/error-on-running-pod-install-repo-update-after-installing-firebase


FilterQuery only allows one type of filter.

When creating a Twitter Input you can specify the following Filters: "Follow","Track", and "Locations". In the TwitterInbountTransport.java file the following code snippet only allows for one filter to be used.
>
> FilterQuery fq = new FilterQuery();
>
> 			String keywords[] = tracks;
>
> 			if(follows != null && follows.length>0)
> 				fq.follow(follows);
> 			else if(keywords != null && keywords.length>0)
> 				fq.track(keywords);
> 			else if(locations != null)
> 				fq.locations(locations);
> 			else
> 				throw new Exception("INBOUND_TRANSPORT_NOFILTER_ERROR");
>
> 			fq.count(count);

Is that intentional? I thought more than one filter was allowed? Shouldn't these checks be individual IF statements?
ie.
>                     boolean inFilterSpecified = false;
>
> 			if(follows != null && follows.length>0) {
> 				fq.follow(follows);
> 				inFilterSpecified = true;
> 		  }
> 			if(keywords != null && keywords.length>0) {
> 				fq.track(keywords);
> 				inFilterSpecified = true;
> 			}
> 			if(locations != null) {
> 				fq.locations(locations);
> 			    inFilterSpecified = true;
> 			}
> 			if (!inFilterSpecified)
> 				throw new Exception("INBOUND_TRANSPORT_NOFILTER_ERROR");

My understanding is that when you specify follow, track and location filters, they are not applied on top of each other.  In other words, they are an "OR" type of relation, not "AND" type of relation.  See this documentation here https://dev.twitter.com/streaming/reference/post/statuses/filter.  So, the use case for specifying different types of filters simultaneously is very limited.  That is probably why the connector only supports one filter at a time.

Even if it is an OR operator that combines the predicate parameters, the
code should allow you to use more than one field. As it stands, the code
currently in there doesn't allow that.
Thanks for listening,
Patrick
Though from looking at the site it does seem to support more
On 10/11/2016 1:25 PM, Ming Zhao wrote:

My understanding is that when you specify follow, track and location
filters, they are not applied on top of each other. In other words,
they are an "OR" type of relation, not "AND" type of relation. See
this documentation here
https://dev.twitter.com/streaming/reference/post/statuses/filter
https://urldefense.proofpoint.com/v2/url?u=https-3A__dev.twitter.com_streaming_reference_post_statuses_filter&d=CwMFaQ&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=ZnwTT5r1poLYiHcxL8Afbw&m=dT08NDDMcQeuRUBi5Blq8Fdz9O_MikmUA6-EQl-YzIQ&s=z5InPQ5FCfJ-nlZ4uxr8fBNHIz3mYrOFbMnmOjv_CHk&e=.
So, the use case for specifying different types of filters
simultaneously is very limited. That is probably why the connector
only supports one filter at a time.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Esri_twitter-2Dfor-2Dgeoevent_issues_8-23issuecomment-2D252985211&d=CwMFaQ&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=ZnwTT5r1poLYiHcxL8Afbw&m=dT08NDDMcQeuRUBi5Blq8Fdz9O_MikmUA6-EQl-YzIQ&s=pdgyfITFJhhC_7JxywGXZpqVDUsRUIagfG2yB_ykZmI&e=,
or mute the thread
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_ATtchfDH3EjGr0GxW7vUA0kNyJ7FcjmSks5qy8ZsgaJpZM4KTseP&d=CwMFaQ&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=ZnwTT5r1poLYiHcxL8Afbw&m=dT08NDDMcQeuRUBi5Blq8Fdz9O_MikmUA6-EQl-YzIQ&s=EWi24Rt8n5E5aTktSIu4MNfSHYakoYPcrdzRnO-7gLA&e=.

--
/Patrick Claflin
GIS Sys Admin/Developer
Clemson University (CCGT)
(864) 656-7462
<EMAIL_ADDRESS>/


Add Gitter to docs

🗄 Docs report
Description
 A clear and concise description of the problem...
Add Gitter channel to the docs.
🔬 Minimal Reproduction
--
What's the affected URL?**

https://gitter.im/scullyio/community
Reproduction Steps**

--
Expected vs Actual Behavior**

--
📷Screenshot

🔥 Exception or Error

🌍  Your Environment
Browser info

Anything else relevant?

Close in #95


Enqueue deposits ordered by version history

Fixes DD-183 - Enqueue deposits ordered by version history
Note: this sorting applies only to the use of the import subcommand (The inbox is already filled with deposits).

As discussed with @ChrisMuller80 a new PR will be created, using new features from dans-scala-lib.


Update graph reference

Alright, the real deal!
TODO:

[x] add back deprecation warnings with _deprecated
[x] use hrname
[x] use _isSubplotObj
[x] stop hard coding meta keys
[x] skipped tests need attached GH issues
[x] :tiger2: for graph_objs_tools.py
[ ] discuss #291 (copy stuff), #290 (key ordering), #289 (pretty help), #293 (schema as singleton)
[x] :dolls: need a final revisit
[x] fix up some test code that uses deprecated keys
[x] incorporate new deprecated role definitions
[ ] use descriptions from deprecated fields in warnings

FWIW tests are failing right now because the newest graph reference isn't on streambed production.
https://github.com/plotly/streambed/pull/3802 needs to land before these things will work.

on my phone, can't figure out how to leave inline comments:

can we pip ship a copy of plotschema? some companies have wicked firewall rules that might require them to install from source, and restrict all downloads

@chriddyp yeah, we can probably pip-shipit i'll add it to the TODO, thx!

@chriddyp @etpinard small question on naming conventions. Python's 'title' naturally wants to change '2d' to '2D', so we'd get 'Histogram2DContour', not 'Histogram2dContour'. I think this is nice and it's slightly easier. Seem OK? (backwards compat is kept, no worries there)

small question on naming conventions. Python's 'title' naturally wants to change '2d' to '2D', so we'd get 'Histogram2DContour', not 'Histogram2dContour'. I think this is nice and it's slightly easier. Seem OK? (backwards compat is kept, no worries there)

I have no preference. @theengineear your call.

+1
Sent from my iPhone

On Sep 16, 2015, at 9:00 AM, Étienne Tétreault-Pinard<EMAIL_ADDRESS>wrote:
small question on naming conventions. Python's 'title' naturally wants to change '2d' to '2D', so we'd get 'Histogram2DContour', not 'Histogram2dContour'. I think this is nice and it's slightly easier. Seem OK? (backwards compat is kept, no worries there)
I have no preference. @theengineear your call.
—
Reply to this email directly or view it on GitHub.

Great, re: https://github.com/plotly/python-api/pull/292#issuecomment-140734678, we'll move to the capital letter after a number then :).

@chriddyp and @etpinard, this experience seem OK for deprecated keys?

Sorry (not sorry?) to add https://github.com/plotly/python-api/commit/56100a7199afef809e898bd69ec9c62d3de2aaac. It's really a bummer to want to run tests quickly locally and have to wait ~4 minutes for them to complete. That commit gives us the ability to do:
nosetests -a '!slow' plotly/tests
Which completes in about 8-10s. I was really getting bogged down making small changes and wanting to make sure it didn't break some unexpected part of code quickly, which was really impossible before.
Hope it's alright, it's speeding up my dev process now!

@chriddyp and @etpinard There are some issues listed in https://github.com/plotly/python-api/pull/292#issue-106556486 that I wanted to document here (at least). I think that it's not worth fixing them in this PR. Is it okay to skip them for now?
Right now the Python API isn't really doing anything with the descriptions. We should probably add that back in to make help better. I'll do a little bit more work on the help, but I'm not going to throw any more time than is necessary into that for now.

I just played around with this, no issues so far, but I'd love it if it got a bit more use before merging this PR in. If you do end up pulling this down and checking it out, I'd love to know (it'd instil some extra confidence!).
You should really consider setting %config IPCompleter.greedy = True in your notebook as it greatly improves the tab-completion, making tabbing into nested objects a really nice experience.
Here's a quick plot I made, https://plot.ly/~theengineear/5432
Here's the NB, http://nbviewer.ipython.org/gist/theengineear/87bbe323a506ca43f9f1

@theengineear

@chriddyp and @etpinard, this experience seem OK for deprecated keys?

Would it be too hard to incorporate the deprecated key description from the plot-schema:

@theengineear something is up with how nested attributes are listed:

compared to

@etpinard yeah, great point, i didn't think it would come up too much, but the objects allow a combination  of possible attributes from their locations. I can make this smarter though since i recently made objects aware of their parents.
So, we'll end up with this:

Marker() defined alone allows any of the possible attributes
Marker() defined inside Pie() only allows a subset of that

A bit trickier, but I think I can work it in.
One thing I'm not going to work in is validating the figure's layout based on the different traces included in the data array. I think the logic would get pretty hairy and there are really not many wins for the user experience.

So, we'll end up with this:
Marker() defined alone allows any of the possible attributes
Marker() defined inside Pie() only allows a subset of that

This is how plotlyjs works; this is how the python api should work.

One thing I'm not going to work in is validating the figure's layout based on the different traces included in the data array. I think the logic would get pretty hairy and there are really not many wins for the user experience.

:+1: This is not necessary. In fact plotlyjs, doesn't try to be smart about it either.

@theengineear - lemme know when you incorporate the parent-aware keys, and then I'll take this for a spin

yowza, doing attributes dynamically via paths is tougher than i expected!
getting there!

Not going to have this in the PR until tomorrow. Overall, I'm glad we're catching this now. It's a little harder to do, but definitely the more correct approach.

I think that I'll just always lookup attributes/items dynamically instead of keeping the _attributes _items attrs on each class definition. (mostly just a note for myself)

@chriddyp @etpinard @cldougl definitions should be more intelligently gathered now. overall, i think the change ended up making the code a bit clearer too!
wanna give it a :car:?

sweet! I'll give it a :blue_car: . vroom vroom

Another fun auto-completion feature we could add (sometime) would be to generate named arguments in the call signatures of these objects, that way if you start typing:
Layout(xa

and then tab-tab, you see xaxis.
I'm doing this type of named argument class factory generation in the next version of dash, here is the code: https://github.com/chriddyp/messin/blob/master/backend/components.py#L111-L151, which copies a lot of python's standard lib implementation of NamedTuple.

So this is sweet:
> Scatter(marker=Marker(symbol='+'))
{'marker': {'symbol': '+'}, 'type': 'scatter'}

> Bar(marker=Marker(symbol='+'))
PlotlyDictKeyError: Invalid key, 'symbol', for class, 'Marker'.

Run 'help(plotly.graph_objs.Marker)' for more information.

Path To Error:
['marker']['symbol']

Although the error message is misleading:

Can we add for class, 'Marker', inside 'Bar'?
Can we add these notes in the docstrings so that help(plotly.graph_objs.Marker) doesn't mislead?

> help(Marker)
Valid Attributes:

* color
* cauto
* cmax
* cmin
* symbol (only valid inside `Scatter`)
* sizeref (only valid inside `Scatter`)
...

Now that we know the enumeration types, thoughts on valtype validation?
> Scatter(mode='asdf')

I can't believe that this works!!
t1 = Scatter()
t1.marker.color = 'blue'

That autocomplete dot notation is sweet. I wish that we could hide the non-attributes from the autocomplete:

I wonder if we could subclass None and provide help on keys:
> l = Layout()
> help(l.dragmode)
Help on NoneType object:

class NoneType(object)
 |  Methods defined here:
 |
 |  __hash__(...)
 |      x.__hash__() <==> hash(x)
 |
 |  __repr__(...)
 |      x.__repr__() <==> repr(x)

[ ] gotta make sure this doesn't break anything in cufflinks

looking good so far!

Awesome stuff

Making help() return dynamic information seems pretty rough :(
How does this experience look?

It's pretty messy for things that have many definitions:

But, I think with some work I could consolidate repeated definitions and just show a list of the parent paths they can exist under.

Aight, help formatting is good to go, imo:

Cruising through a cufflinks notebook: http://nbviewer.ipython.org/gist/santosjorge/b278ce0ae2448f47c31d
Issues right now:
Histogram doesn't have line in plot schema, but it's used in cufflinks:

@chriddyp @etpinard @cldougl , final review? cufflinks is broken, see https://github.com/plotly/python-api/pull/292#issuecomment-141948216, but it's unclear to me what needs to be changed/updated?
I've added the .help() function into the graph objects so that users can more easily ask for help on objects in general, or attributes of objects.
All suggestions/comments welcome. I tried to make the commit history cleaner, I felt bad about dropping this change a little while back (https://github.com/plotly/python-api/commit/eccb46940af0937231569cdbd79d5051ecbad186). Hopefully it's understandable.

beautiful!! I'll fix up the stuff for cufflinks

@theengineear

@etpinard are these breaks correct? were any of these things deprecated?

These might be deprecated, but they are definitely not handled in cleanData at the moment.
I'd vote for updating cufflinks.

:+1: sg!

It's working well for me- I think the help formatting looks good/clear!

fixed the histogram line issue for cufflinks here: https://github.com/chriddyp/cufflinks/commit/e66bafe55f9c2cf86eea08978fb68d04dac47501, just waiting on a graph reference update.

@etpinard OK, trying to put your suggestions into motion. Here's how things work now:

Notes:

Adding/overwriting as a dict works now (just as it did before)
Adding/editing via the . works now (just as it did before)
The only new classes created are traces, no other sub-objects
Old sub-objects are still accessible for backwards compat
We use list or dict to explain sub-object instantiation to users. This is to hide the PlotlyDict and PlotlyList objects from users, who shouldn't know about these. Note that upon being added as a sub-object, a dict gets converted to a `PlotlyDict

Thoughts on trying to get this merged and done with?

Internally, should we now change to never using things like Marker, Data, etc? We can just instantiate from Figure, use dict/list or use GraphObjectFactory.create with a hidden _name argument, which seems alright to do internally. E.g. GraphObjectFactory.create(_name='marker'). I wouldn't mind if all our object creation went through this... it also makes our reference errors go away for dev stuff.

Yes. In version 2.0.0 I'd vote for having Marker, Data and all the graph objects other than the trace objects, Layout and Figure out of the picture. Using GraphObjectFactory.create sounds like the easiest and most scalable way for keeping the python api in-sync.

Should we not expose objects like Marker in the to_string call? I think we should! It has the unexpected, but nice side effect of making the instantiation path errors auto-magically work out :) **see below

I'd vote for the full-path solution. Plotly attributes are setup to depend on the root object; python api users should get to know that fact.
In that case, how hard would it be to change the error message

so that things like PlotlyDict aren't exposed to the users?

:dancer: The dream is now reality.

:dancer: looks good to me!

:boom: thanks guys. i'll clean up some things related to https://github.com/plotly/python-api/pull/292#issuecomment-143221317 tomorrow and merge this guy in! woot!

second thought, this pr is wayy to massive to keep working on. i'll open up new changes in new prs.


tk apply slightly confusing output

Description
tk apply deploy/environments/production
...
Applying to namespace 'default' of cluster '<REDACTED>' at 'https://<REDACTED>.yl4.us-west-2.eks.amazonaws.com' using context '<REDACTED>'.

The reason this is confusing, is that all my manifests have explicitly defined namespace. Additionally, I'm deploying the namespace itself here.
Additionally spec.json does not include namespace anywhere.
Expected Output
I'm not entirely sure here. Maybe the output should explicitly list the names and namespaces of the resources it's going to apply in addition to outputting the diff. Something like:
resources to deploy:
Name			Type		Namespace

App				Deployment	Production

Tanka manages the default namespace as described at length in https://tanka.dev/namespaces.
Above message could indeed say Applying to *default* namespace 'foobar' of cluster ....
Also when your spec.json does not include the spec.namespace field, it defaults  to default, because we can be sure that namespace at least exists.
You can always verify using tk status what namespace tanka recognized for your resources

Ya, I've read that page before. So I was hoping this issue could help make it abundantly clear what Tanka is actually going to do.


Namespace break adjacent sibling combinator selector

First all thank for this plugin, is solved a very annoying CSS override issue between our 2 projects.
My issue is that:
const InfoContainer = styled.div`
  display: flex;
  & + & {
    margin-left: 0.5rem;
  }
`;

now generate the style ('spa' is our namespace):
.sc-eHgmQL {}.spa .hVujAK{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;} .spa .hVujAK + .spa .hVujAK{margin-left:0.5rem;}

With that style the margin-left is never applied because the selector should be .spa .hVujAK + .hVujAK instead of .spa .hVujAK + .spa .hVujAK
Is that fixable in babel-plugin-styled-components-css-namespace?

Thanks for the issue. We've seen this once in our codebase as well, although we don't often use that selector. We'll have to investigate, but it seems possible.

As a quick update, I've done a bit of digging and the issue appears to be the way & is interpreted once we add it to the top level selector. It looks like the plugin is correctly adding the class only to the top level, but that is later being picked up by the one's inside. I plan to do a bit more on this, but unfortunately it won't be a quick fix.

Hi, I got this problem too in styled components like this:
const MyFirstExample = styled.div`
  input:checked + & { ... }
`

const MySecondExample = styled.div`
  .invalid & { ... }
`

I have the feeling that solving this problem requires much more than just wrapping the whole CSS code with && { / .prefix & {, as it's done today. I think the plugin should be able to detect nested rules and apply the prefix for each selector, that's a whole new level of parsing 😄
Do you have a simpler idea in your mind?

Fixed by #15
Please use the new rawCssNamespace option.
https://github.com/QuickBase/babel-plugin-styled-components-css-namespace#multiple-namespaces
Thanks to @daniloster for the excellent approach and fix!


Set up github to build and publish python packages | chore(release)

We need to exclude opgen

Looks like the version in metadata is not dev


Using https

When I use https://google.com i resive error https not supported, but in your example you use https

I don't use https anywhere in my examples. HTTPS is currently not supported.

https://github.com/elnormous/HTTPRequest#example-of-a-get-request

Any plans to add https support?


Bug: Classifier and License Mismatch

TLDR: the license classifier overrides the license which can cause confusion if the values differ

Bug

[x] I have read the comment above and have completed each step
[x] I have filled out the system info {N/A}
[x] I have described the bug, filled in the expected outcome and the actual outcome including screenshots where appropriate

Example
poetry new test_licensecheck
cd test_licensecheck
poetry add licensecheck

Manually edit the toml file with a license and classifier as necessary
[tool.poetry]
license = "MIT License"
classifiers = [
	"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
]

Expected outcome
It might be beneficial to have a check that prints a warning if the selected classifier differs from the license
> poetry run licensecheck
Warning: license classifier "GPLv3+" differs from license "MIT License". Using "GPLv3+"

┌──────────┬────────────────────┬────────────────────┐
│Compatible│Package             │License             │
├──────────┼────────────────────┼────────────────────┤
│True      │add-trailing-comma  │MIT License         │
│True      │appdirs             │MIT License         │

Actual outcome
Right now, the classifier overrides the license, which is confusing if they diverged and licensecheck only reports true/false. In the above example, you might expect all GPL license to be non-compatible because the license is set to MIT
https://github.com/FHPythonUtils/LicenseCheck/blob/42513cf7d30f02f91bdafa3227da2ec81eb07683/licensecheck/packageinfo.py#L195-L198

I'd say that's outside the scope of this tool/ requires a surprising amount of refactoring (having taken a good look at this)
The aim being that the licenses of dependencies are checked against the current project. I would say that it's the user's responsibility to ensure that they are identical if duplicating classifiers and license keys
IIRC the license key is often also a spdx identifier so this change would require in my opinion a disproportionate amount of work to compare licenses at that text stage given this is currently handled later.
Though you are welcome to create a pull request if this is something you'd like to see

Thanks for taking a look!
I’m all for using the standardized classifiers and it will throw an error if working with a package that hasn’t specified any yet, so I think my edge case isn’t that important

It'd probably be worth me using an enumerated type sooner in the logic really but all that function does is try its best to work out what license you are using from a pyproject.toml so shouldn't have any affect on libs


Clicking on test results does not take us to the test code due to using wrong labels

Description of the bug:
It looks like the method getGoTestTarget() attempts to compare the importa path to the target names in order to link the test to the target as you can see below:

This is important in order to go to the method by clicking on the test results. I propose unifying the use of labels or import paths everywhere in order to have similar identification of targets.
What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
Create a Bazel Go project with tests, run the tests, and the click on the test results. Nothing happens.
Which Intellij IDE are you using? Please provide the specific version.
Goland latest EAP
What programming languages and tools are you using? Please provide specific versions.

No
Any other information, logs, or outputs that you want to share?
No response

Now that I'm thinking about it, this will only partially solve the problem as the target list only has the names of the targets and not the individual functions.

I did analyze very thoroughly how everything works and it looks like the test itself has only the test-suite URL (the long one). When we click on the test results it takes that and compares it to the target which doesn't exist. I need to either:
1- Convert the test-suite URL to target
2- Save the target name instead of the test-suite URL in the test meta-data
3- Try to get a list o the test-suite URL and compare them against the received test test-suite URL to find the right PSI item.

Just to give more info:
1- The test result file looks like this:
<testsuites>
	<testsuite errors="0" failures="0" skipped="0" tests="1" time="0.021" name="github.com/HappyCerberus/bazel-golang-minimal-example/greeter">
		<testcase classname="greeter" name="TestGreeter" time="0.000"></testcase>
	</testsuite>
</testsuites>

2- github.com/HappyCerberus/bazel-golang-minimal-example/greeter is stored as the location URL of the test.
3- When we click on the test this location is used to find the Psi element by looking into the TargetsMap.
4- The target maps does not have that importpath, it only has //:greeter, //:greeter_test, etc... so we have no match.
So what is the best practice here? adding the target as the location of the test itself? (this didn't proof to be easy but I think that it is doable). Or, converting github.com/HappyCerberus/bazel-golang-minimal-example/greeter to target but that produced //:greeter which is not the test target.

Any suggestions? I can prepare a fix based on that.


Implement multi  button support

Is your feature request related to a problem? Please describe.
The problem I have is that I need to have multiple actions on each node. like... Add child node, or remove current node.
Implement the ability to add multiple buttons, that simply allow you to register click events with each button... not including the expand button.
Describe the solution you'd like
If we could simply pass an array of actions with a selector that will appear in the node content, and a click callback that would be amazing.
for example:
nodeContent(() => `
   <button class="my-action">Click Me</button>
`)
.actions([
  {
    selector: '.my-action',
    onClick: (event, node, state) => {
        // Do something amazing
    }
  }
])

Describe alternatives you've considered
Ive considered implementing this myself, but I have not found the time quite yet.
Additional context
Here is an example of how I need to have actions inside the node content.

@bumbeishvili  Is it ok to add an event listener inside the update?

Another possible solution, is to pass the event to the onNodeClick callback.
This is what I am currently doing to make this work for our company https://github.com/TaEthni/org-chart/blob/master/src/d3-org-chart.js#L812
I am using the click event to identify which element was actually clicked

Is it ok to add an event listener inside the update? I always thought you had to add listeners to the nodeEnter

So, html is reRendered on every update, so it's necessary to do it in update.  In practice I did not had any issues with it, although in theory it's not efficient at all.

I am using the click event to identify which element was actually clicked

Haven't thought about it, I guess this works too, but only for click events. In my useCase, menu was triggered on hover inside node, so I had attach event in nodeUpdate   method.


Add plugins/clj-kondo to asdf "plugins shortname index"

I have been using this clj-kondo asdf plugin for a few months and it's been great:

It makes it easy to stay up-to-date with clj-kondo releases
I can easily switch between clj-kondo versions to test new features and config changes
I can specify the "supported" clj-kondo version in my projects' .tool-versions file -- each project is expected to run "clean" (no linter warnings or errors) with the supported clj-kondo version; we update the supported clj-kondo version over time (along with any necessary .clj-kondo/config.edn and #_{:clj-kondo/ignore ,,,})

The one thing that's inconvenient is installing the plugin:
asdf plugin add clj-kondo https://github.com/sumbach/asdf-clj-kondo.git

It could be...
asdf plugin add clj-kondo

... if I add it to the asdf "plugin shortname index"
References:

https://asdf-vm.com/plugins/create.html#plugin-shortname-index
https://github.com/asdf-vm/asdf-plugins?tab=readme-ov-file#contributing-a-new-plugin

@borkdude I was thinking clj-kondo/asdf-clj-kondo might be a better permanent home for this repo.
Would you like me to transfer ownership to the clj-kondo organization before I add a reference to asdf-vm/asdf-plugins?

I think this is fine as it is. The babashka asdf plugin is also maintained by another party: https://github.com/pitch-io/asdf-babashka. I prefer that actually so it's less stuff for me to maintain so I can spend my time on issues on the tool itself.


image or video Intent

Is there any why to open camera Intent with image or Video (must of android have the option) ?
My goal is to have one button that can get both.
thank you

Not that I know of.

thank you


Error "'this' implicitly has type 'any'" when used .bind()

› tsc --version
Version 2.7.0-dev.20171020

Code
tsconfig.json:
{
    "compilerOptions": {
        "allowJs": true,
        "checkJs": true,
        "noEmit": true,
        "strict": true
    },
    "files": [
        "index.d.ts",
        "index.js"
    ]
}

index.js:
/** @type {MyObj} */
const o = {
    foo: function() {
        (function() {
            console.log(this); // <- Unexpected error here.
        }.bind(this))();
    }
};

index.d.ts:
interface MyObj {
    foo(this: { a: number }): void;
}

How it looks in the editor:
Context of foo() is defined:

But context passed to the nested function is lost:

Expected behavior:
There should not be error, because this explicitly specified by .bind().
Actual behavior:
› tsc
index.js(5,25): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation.

It's possible that we could detect this pattern like we detect IIFEs.
A workaround for now might be to use const that = this; instead if your runtime doesn't yet support arrow functions.

The same situations with context in loops like forEach():
/** @type {MyObj} */
const o = {
    foo: function() {
        [].forEach(function() {
            console.log(this); // <- Unexpected error here.
        }, this);
    }
};

Support for that was removed in #16223 for performance reasons.

How do I fix this error?

I think I understand now, I'm new to React. Thanks for the clarification.

This has got to be a bug. I can copy and paste insurmountable different, fully-tested functions & function-constructors into a TS file only to have a ton of work ahead of me just to satisfy TS. That's not necessarily nonsensical, but if TS exists because its intention is to be compiled to JS, then why should it matter if this is type any? Moreover, it tells me "'this' implicitly has type 'any' because it does not have a type annotation.ts(2683)"... Excuse me, isn't it the JS-Engine's job to "annotate" this??? Isn't that what this whole Call-Site thing is all about in JavaScript? You know, the one that has worked gracefully for decades? That's the whole point of this in JavaScript! So now a function must always know what it's Call-Site is... hmmm... Great, but I don't think that makes one lick of sense. If you think I should be the one annotating what this is, you clearly missed something central and critical to the language you're compiling to. What's worse, it prevents you from doing powerful things like:
function Methods() {
    ...
    this.method = (...) => {...};
    ...
    return this;
}
var $ = Methods.call(function jQuery(...) {...});
$(...).method(...);

I feel like this whole 'this' implicitly has type 'any' because it does not have a type annotation.ts(2683) thing is so obtrusive, blatantly misses the concept of this in JS, and is so frequently annoying that it should just be removed from TS -- or AT LEAST configurable in the tsconfig.json.
Is there a Type Declaration workaround for this problem? I need to be able to use Function Constructors at times. At the moment, function f(x) { this } and new (function () { return this; })() is unacceptable to TS -- and that is plain silly.

I simply tested noImplicitThis: false in TS playground, it seems work
// tsconfig.js

     "noImplicitThis": false,                /* Raise error on 'this' expressions with an implied 'any' type. */

That's the whole point of this in JavaScript! So now a function must always know what it's Call-Site is... hmmm... Great, but I don't think that makes one lick of sense.

That is certainly a strong point of JavaScript. But also a strong concern point for some. If you wish to leverage those powers you have in JavaScript, then TypeScript is definitely not a good match for your needs. JavaScript is.
TypeScript is specificly for restricting what you can do with JavaScript.

I also got blocked by this limitation, and I had to go with @neotan 's suggestion. It worked for my need.
My use case is a (generic) debounce function, where it needs to hold a reference to this from the last invocation. To be able to make it a library function, I cannot annotate this used there.
I would appreciate if there is a way around this without disabling this check completely. Although I couldn't think of any easy way of this being possible.

my solution
fix: TypeScript & ES5 function this error

❌

const nums = [1, 2, 3];
nums.myForEach(function(a, b, c, thisObj) {
  console.log(`a, b, c =`, a, b, c);
  console.log(`thisObj =`, thisObj);
  console.log(`this = `, this);
});

✅ just add this: any as the ES5 function's first argument.

const nums = [1, 2, 3];
nums.myForEach(function(this: any, a, b, c, thisObj) {
  // A 'this' parameter must be the first parameter.ts(2680) ✅
  console.log(`a, b, c =`, a, b, c);
  console.log(`thisObj =`, thisObj);
  console.log(`this = `, this);
});

test ✅

https://www.typescriptlang.org/play?#code/PQKhAIAEBcE8AcCm4DeBZWB5ARgKwL7gjABQAxgPYB2AztOBeALyonjvgBmFFAXFwFcqZaAEtqACgCUrDnPATOQkeKoToAC1E1+AQyqwZKNvNOVaFADaIAdJYoBzdVppSA3OGDBwgUHITp-BtsUSoAE2dtKSlpN39wfBJ8WJIQ6EQAJ05dMmQMHFxZDm4KCJ1UcF1+KgEAW2wM+Kl+ADcKUVDY-CA


Difference between shap_values[0] and shap_values[1]?

Hi,
I am using SHAP to add some feature importance to the end of a classification model on the titanic dataset. I am using a random forest fitted to X_train_df and y_train_df and the output is predicting is an observation survived or not. When I run the shap_values (below) I get a list. The list is a list of two lists each of the two lists containing arrays, each array being (I assume) the SHAP Values for the observation and the number of arrays = the number of training samples. For example, using the following:
shap_values = explainer.shap_values(X_train_df)
I return shap_values with the following conditions:
shap_values[0][j] where j is in [0,1.....n] where n is number of samples
and
shap_values[1][j] where j is in [0,1.....n].
What is the difference in the shap_values[0] and shap_values[1]? apologies if it is a silly Q but I cannot figure it out!
Also, when doing the explainer.expected_value where my explainer object is:
explainer = shap.TreeExplainer(forest_clf_opt_df, feature_perturbation='tree_path_dependent') and the model is forest_clf_opt_df, I get a 2 element array like this:
array([n1, n2]) where n1 and n2 are just numbers. What does this mean? Is it in relation to the shap_values[0] and shap_values[1]?
Lastly, as I am not sure of the above, even though I can plot the following graph, changing the i and j's changes it drastically for each observation and I am not sure what parameters to use. If I was to plot the features each contributing to push the model output from the base value (the average model output over the training dataset we passed) for observation x0 (the first observation), is the following code correct: .
shap.force_plot(explainer.expected_value[0], shap_values[0][0], X_train_df.iloc[0,:])
For this I take the first element of the explainer.expected_value, the first list of shap_values and then the first array of that list and then take the first observation of my training data. It plots as expected but I get confused because If I plot,
shap.force_plot(explainer.expected_value[0], shap_values[1][0], X_train_df.iloc[0,:])
or
shap.force_plot(explainer.expected_value[1], shap_values[0][0], X_train_df.iloc[0,:])
I get completely different values for the same observation.
any guidance here would be really appreciated.
Plots (in pdf):
SHAP Values.pdf

The shap_values[0] are explanations with respect to the negative class, while shap_values[1] are explanations with respect to the positive class. If your model predicts a probability, p, for the positive class, the negative class' predicted probability will be 1-p.

Hi @jimbudarz,
Thanks for explaining that. If you are able to, please could you help to confirm the below (it is one more question that I have based on the above)
If we look at the following two graphs which are the shap.force_plots for the 1st observation (X_train_df[0]) in my instance:

would this explanation be correct:
Plot1 -
Parameters=
explainer.expected_value[0] = the base value w.r.t the negative class
shap_values[0][0] = the shap value w.r.t to the negative class and 1st observation
X_train_df.iloc[0,:] = values of the 1st observation from the training dataset
Explanation = The plot show that observation has a model output value of 0.14 w.r.t the negative class. This means that it was predicted a low likelihood of negative class (not survived) which is correct as the observation survived. Based on this 0.14, you see that male = 1 and female = 0 contributed negatively to the 0.14 meaning that they lowered the likelihood that it was a negative class and then the features in the blue contributed positively to the score. Contributing positively means that they were increasing likelihood of the negative class occurring.
Plot2-
Parameters=
explainer.expected_value[1] = the base value w.r.t the positive class
shap_values[1][0] = the shap value w.r.t to the positive class and 1st observation
X_train_df.iloc[0,:] = values of the 1st observation from the training dataset
Explanation = The plot show that observation has a model output value of 0.86 w.r.t the positive class. This means that it was predicted a high likelihood of positive class (survived) which is correct as the observation survived. Based on this 0.86, you see that male = 1 and female = 0 contributed positively to the 0.86 and then the features in the blue contributed negatively to the score. Contributing negatively means that they were decreasing likelihood of the positive class occurring.
Thanks for your help.
Dan

Hi @Dseal95 . You're mostly correct, but I believe you're interpreting the colors/Shapley values incorrectly. Since you're interested in the results with respect to the negative class here, I'll try to be really careful about double negatives...
Ignoring the fact that you have both male=1 and female=0 in your dataset (of which you ought to drop one, as they contain the same information), these features actually contributed positively to the prediction of the negative class (i.e. these made the passenger more likely to have died.) As you can see by the red "higher" arrow, these can be seen as "pushing" or "forcing" the prediction higher, while the blue "lower" arrows are features that force the prediction lower.
I hope this helps.

Thanks very much! but I  can't understand the relationship between  shap model output and my xgboost binary classification result , my tree model predict the sample with 0.1398022 but shap give me 1.82 equals model outpu value add  base value , just   the png  showed as below,

Is it possible the explainer is giving your values in log-odds instead of probability?

@jimbudarz sorry for not getting back sooner, the recent comment reminded me. Your reply was well received and made a lot of sense. I dropped the male feature as suggested too and re ran my script.
Dan

The shap_values[0] are explanations with respect to the negative class, while shap_values[1] are explanations with respect to the positive class. If your model predicts a probability, p, for the positive class, the negative class' predicted probability will be 1-p.
(The explanation for the 2-dimensional expected values is similar.)
If your model generates probabilities of each class, you most likely want index 1, not index 0.

Could you please tell me how are you telling shap_values[0] is negative class ? Any idea how to verify it manually?

@JSVJ
You can verify this in scikit-learn models by looking at the model object's .classes_ attribute. This will contain an array of the model's classes, in order.

@JSVJ
You can verify this in scikit-learn models by looking at the model object's .classes_ attribute. This will contain an array of the model's classes, in order. The model's predict_proba() method will produce arrays of this width, with a probability predicted for each class.

Thank you very much. I understand now

How does this work when you are looking at the log loss shap values? Should you take the values for the positive class where the true label is positive and for the negative class where it is negative?

The shap_values[0] are explanations with respect to the negative class, while shap_values[1] are explanations with respect to the positive class. If your model predicts a probability, p, for the positive class, the negative class' predicted probability will be 1-p.
(The explanation for the 2-dimensional expected values is similar.)
If your model generates probabilities of each class, you most likely want index 1, not index 0.

Hi guys.
I'm using a sample dataset from X_train (binary problem) as background passed into shap.Explainer(model, background) . My explainer.expected_value is not an array, but a float. I'm learning about SHAP, so I don't know if I lost some points on how to use it. I saw other examples like yours to get info regarding the class, but I got errors since my result does not have, apparently, the class on shap. Tkx for any help.

Hi @Yuri-Nassar,
Would you be able to explain a little more on the problem? Is it that you have a binary classifier, predicting 0 or 1 and that you have a typical dataset that you are using to train and test this classifier?
Thanks,
Dan

Hi @Yuri-Nassar,
Would you be able to explain a little more on the problem? Is it that you have a binary classifier, predicting 0 or 1 and that you have a typical dataset that you are using to train and test this classifier?
Thanks, Dan

Hi @Dseal95 ,
Thank you for your time.
Yes, correct. I have a binary classifier (xgboost), and I was trying to reproduce the examples of SHAP values for a given class (target). I trained the xgboost (model) with a X_train dataset, call the explanation = shap.Explainer(model) and then shap_values = explanation(X_train) (either X_test). I also tried shap.Explainer(model.predict/predict_proba) hoping to get explanations for both classes, but I didn't. So, I'm wondering to know what I'm misunderstanding. In conclusion, I expected to reproduce something similar to your post on Jun 12/2020.


react-router - Unable to resolve “warning” from "node_modules/react-router/MemoryRouter.js

Hi,
I was using react-router-native version 4.3.0 and recently upgraded to 5.0.1.
The app will no longer run and I get the following error on the terminal:
Unable to resolve "warning" from "node_modules/react-router/MemoryRouter.js"
The simulator displays a similar error:
Unable to resolve "warning" from "node_modules/react-router/MemoryRouter.js.
MemoryRoter.js does not exist in the Haste module app"
I have reviewed the change log and there should be no problem with the upgrade.
Any help is greatly appreciated.
Versions
React: 16.5
react-router: ^5.0.1,
react-router-native: 5.0.1
expo: 32.0.0
This is what I had working before the update:
     import { NativeRouter, Route, withRouter } from 'react-router-native';

        render() {
          return(

            <NativeRouter>
                <Route exact path="/" component={ HomeScreen }/>
                <Route path="/login/" component={ LoginScreen }/>
                <Route path="/activate/" component={ ActivateScreen } />
                <Route path="/athlete/" component={ AthleteScreen } />
                <Route path="/activity/" component={ ActivityScreen } />
            </NativeRouter>
          )
    }

This isn't an error with the library. Something didn't install the library correctly, which isn't anything we can help with here.


Add no NOCTTY, required for when there is no controlling terminal

Needed in darwin when no controlling terminal is available, otherwise your application will immediately exit

@viocle-kvanek would you have an example showcasing the issue?
cc @kr could you take a look?

@creack Sorry, I don't have an example that I'm able to share. In our particular use case we have an application which is launched as a service using launchd that makes a remote console available. This service does not have a controlling terminal attached to it which causes the entire application to close when performing os.OpenFile. This was also an issue in Linux but was fixed in commit 3b1f6487b7fc649d5f146df04e623bd55ba1bf7f

Hi @viocle-kvanek, thanks for the report.
Can you explain the steps I should take to reproduce this? Thanks!

I've encountered this issue as well and am attaching some code and instructions for reproducing it. I can reproduce this issue on macOS Mojave 10.14.6 with Go 1.12.14 with a simple daemon based on the usage example in this project's README.md. I can also confirm that the proposed fix in this PR fixes the issue in my environment.

main.go:
package main

import (
        "fmt"
        "io"
        "os"
        "os/exec"
        "time"

        "github.com/creack/pty"
)

func main() {
        fmt.Println("Example program starting up")
        for {
                doStuff()
                fmt.Println("Sleeping 60 seconds then running doStuff again")
                time.Sleep(60 * time.Second)
        }
}

func doStuff() {
        c := exec.Command("grep", "bar")
        f, err := pty.Start(c)
        defer f.Close()
        if err != nil {
                panic(err)
        }
        go func() {
                f.Write([]byte("foo\n"))
                f.Write([]byte("bar\n"))
                f.Write([]byte("baz\n"))
                f.Write([]byte{4}) // EOT
        }()
        io.Copy(os.Stdout, f)
}

ptyrepro.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC
          "-//Apple Computer//DTD PLIST 1.0//EN"
          "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!-- https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man5/launchd.plist.5.html -->
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>ptyrepro</string>
        <key>KeepAlive</key>
        <true/>
        <key>RunAtLoad</key>
        <true/>
        <key>ProgramArguments</key>
        <array>
                <string>/tmp/ptyrepro</string>
        </array>
        <key>WorkingDirectory</key>
        <string>/tmp</string>
        <key>StandardOutPath</key>
        <string>/tmp/ptyrepro.log</string>
        <key>StandardErrorPath</key>
        <string>/tmp/ptyrepro.log</string>
        <key>SessionCreate</key>
        <true/>
</dict>
</plist>

Create a directory called ptyrepro and copy the above Go code into main.go. Copy the plist into ptyrepro.plist in the same directory. Then, from the ptyrepro directory, run the following commands to compile and install it as a launch daemon. Note that to reproduce this issue, it is particularly important that the launchctl command be run with sudo so that the daemon runs as root directly invoked by launchd.

go build
cp ptyrepro /tmp
sudo cp ptyrepro.plist /Library/LaunchDaemons/
sudo /bin/launchctl load "/Library/LaunchDaemons/ptyrepro.plist"

If you check /tmp/ptyrepro.log, one would expect to see output similar to the following, which is what is seen if you run the binary directly:
Example program starting up
foo
bar
baz
bar
Sleeping 60 seconds then running doStuff again

Instead, you'll see:
Example program starting up
Example program starting up
Example program starting up
Example program starting up

When you're done testing you can stop it by running:
sudo /bin/launchctl unload "/Library/LaunchDaemons/ptyrepro.plist"

I just tried the example on Mojave with go 1.13.1 and could indeed reproduce the issue, but the fix didn't help. I'll dig into it.

I managed to write a test to reproduce the issue: (#89). It works on linux but fails on darwin.
Need a bit more time to figure out a solution that would work with both ctty an noctty.

Oh whew 😅
We've been working on a new product for quite a while now. And during early development, we were just running the binary. But we've finally got to the point that we can run it as a service but now it restarts every time I try to launch the terminal. So happy this PR was here - I would have been chasing my tail forever trying to figure out what was causing it.
@creack do you have any more insight into the solution that you spoke about?
I'm not really sure what you mean by work with ctty and noctty. Does this mean that the change will make it work as a service - but no longer run directly?
Is there anything I can do to help push this forward?
Thanks for the outstanding package 🙏

@joshforbes I apologize, I didn't have much time to dig into it any further.
Could you provide more detail about your setup and use case? IIRC, you are trying to create a pty from a daemonized process on OSX, is that correct?
I'll try to get back to this asap to make sure we don't have issues moving forward on darwin.

@joshforbes I apologize, I didn't have much time to dig into it any further.
Could you provide more detail about your setup and use case? IIRC, you are trying to create a pty from a daemonized process on OSX, is that correct?
I'll try to get back to this asap to make sure we don't have issues moving forward on darwin.

@creack Thanks so much for getting back to me 🙏
Yeah, you have the use case correct. You actually have a PR up that seems to fix this for me: https://github.com/creack/pty/pull/89 But you indicate that it's a WIP so I'm not sure if there is something left to be done.

What is left is testing. I started working on it, but it ended up quite much tricky than I expected to get a consistent result.
The PR might fix this issue, but as the current version works for 99% of people, I want to make sure it also don't break for those.

Looks like this is now resolved when #93 was committed


Generated README.md should use 'kpt live'

Generated by 'init' command:
cat README.md
cicd_gitlab
==================================================

# NAME

  cicd_gitlab

# SYNOPSIS

  kubectl apply --recursive -f cicd_gitlab

# Description

Deploys GitLab on GCP

# SEE ALSO

The README should include the the complete lifecyce for the consumer of the package:
kpt pkg get
kpt cfg list/set
...
kpt live apply


Incremental recap dump files are not uploaded to S3

Incremental recap dump files are not being uploaded to S3 correctly. In a republishing job with 26 dump files, only one file is uploaded to the S3 bucket.

This looks to be a performance & memory issue. On the alma staging machine (5 sidekiq threads), this is the data from top:
25 minutes:   99.3% cpu  73.7% memory
40 minutes:   99.3% cpu  90.0% memory
Best guess, the sidekiq jobs saturate the available memory. It's strange and annoying that the jobs are considered "complete" when the threads terminate.
perf wasn't that helpful
   5.60%  util.rb:23     libruby-2.6.so.2.6.6  [.] 0x00000000000ae361
   5.11%  util.rb:23     libruby-2.6.so.2.6.6  [.] 0x00000000000ae358
   3.52%  util.rb:23     libruby-2.6.so.2.6.6  [.] 0x00000000000ae33f
   2.85%  util.rb:23     libc-2.27.so          [.] 0x00000000000bb4ea
   2.77%  util.rb:23     libc-2.27.so          [.] 0x00000000000bb4e6
   2.77%  util.rb:23     libc-2.27.so          [.] 0x00000000000bb4f2
   2.70%  util.rb:23     libruby-2.6.so.2.6.6  [.] 0x00000000000b124d
   2.62%  util.rb:23     libc-2.27.so          [.] 0x00000000000bb4ee
   2.27%  util.rb:23     libruby-2.6.so.2.6.6  [.] rb_wb_protected_newobj_of
   2.08%  util.rb:23     libc-2.27.so          [.] cfree
   1.55%  util.rb:23     libruby-2.6.so.2.6.6  [.] 0x00000000000b1154
   1.52%  util.rb:23     libruby-2.6.so.2.6.6  [.] 0x00000000000b2488
   1.47%  util.rb:23     libruby-2.6.so.2.6.6  [.] 0x00000000000b1e14
   1.45%  util.rb:23     libruby-2.6.so.2.6.6  [.] 0x00000000000af172
   1.25%  util.rb:23     libc-2.27.so          [.] malloc

It's not that they're considered complete, it's that the OS terminates the thread to free memory and the job doesn't make it back. Sidekiq-pro fixes that.

"If a Sidekiq process crashes while processing a job, that job is lost." Yep. That's what's going on. Not sure if it's worth $950 / year.

Closed by #1350


Use case for programmatic control of expanded state

We have form, split into several logical parts, which has a complete mess of co-dependant validations.  When a validation fails, we really need to expand the form to show the user what went wrong.  Before the normal howl of don't design like this, we are preparing the data for entry to a government system...
Good plugin though.  Regards Gary

This has been resolved in our latest release, version 3.1.0.
You will find dangerouslySetExpanded an an available prop on your AccordionItem as an escape hatch to set your expanded state manually.


feat(icon): add dark theme compatibility

General summary
Icon component do not currently support dark theme, this work is my attempt to make icon with "hasShape" parameter supports dark theme.
Screenshots
What I'm trying to achieve:

I'm available to discuss the case.

I'm checking some non regression in the product

Test OK

🎉


Django 2

@prescod is there a plan to deploy this soon, or not until after the other work on sfdoc is complete?


Introduce session key

Fixes #16.
This introduces a new config param that lets users specify a session key.  We instruct them to use a random value and put it in a secret.
We use the pbkdf2 to generate 96 bits of random value from that key.  We now set both the signing and encryption keys on the secure session library so that users can't extract the refresh token from the browser cache.
The one down side here is that this is a new required parameter.  This is unfortunate.  But I feel that it is better to fail vs. having an insecure setup.
It might be good to have gangway create a random value and write it into a secret on first start (and then read from that) but that would mean bringing in client-go and ain't nobody got time for that.

I built and pushed an image with this change to gcr.io/heptio-images/gangway:joe.


chore: add repository metadata to Cargo.toml

The repository link is not being displayed on crates.io because the repository field is missing in the Cargo.toml file.
If this is intended, feel free to close the PR and reject the changes.
refs:
https://crates.io/crates/fedimint-http
https://doc.rust-lang.org/cargo/reference/publishing.html#before-publishing-a-new-crate

TY


redirect_uri in the authentication flow

The OpenID  Authentication Flow requires that the client set the request parameter redirect_uri when sending an authentication request to the authorization end point.
Which variable can be used to set the redirect_uri in the basic flow?

current configuration for an integration environment:
int_authorizationEndpoint=https://oauth-server-int/as/authorization.oauth2
int_tokenEndpoint=https://oauth-server-int/as/token.oauth2
int_clientId=...
int_clientSecret=...
int_scope=openid profile email
int_responseType=code
GET /secure-end-point
Authorization: openid authorization_code int

Httpyac opens a local http server and redirect uri is automatically set to localhost:3000. Your client Id needs to be enabled for this redirect uri.
https://github.com/AnWeber/httpyac/blob/main/src/variables/replacer/oauth/authorizationCodeFlow.ts#L25

I have tried to improve the documentation on which variables need to be set. In Keycloak, the specification of the Valid Redirect Uri would look like this:

I deliberately chose a different implementation like Postman. This way my program never has the possibility to know the ClientId as well as username and password. Postman, on the other hand, controls the browser where the password is entered and thus has complete access to all data (see).
Did the authorization work or can I help you?

I'm closing the ticket for now. If you have any further questions, please contact me