Issue with Map crashing and flickering

Hi! I have removed all setState and nestedsetState, I am using the provider package to manage my states, However, if there are some changes in the app the whole app will crash. It was okay with the previous version. Some people are also running thru the problems that I am facing so I created a small project to show you the issues. please take a look.
The steps I where the bug occurs

Run the app wait for the location to load
Go to the search screen 'pick your locationand pick yourdrop off` address
return, the app crashes.

Also, there is some performance issue like flickering and crashing when navigating to different classes and back. I did all I could for weeks but I just don't understand how to fix it.
https://github.com/jesussmile/osm_bug_tracker

your problem is that main widget is rebuild it when you get back from search widget and that lead to rebuild to the map widget when you start getRoad that will start from previous context when it get result the map context is gone => crash
i will think about solution to prevent that
and also , i will publish new widget package take look (https://github.com/liodali/search_map_widget) that will do what you want to acheive  in your UI without need to separate search and the map in different pages
i will make investegation about what happen in your case to create proper solution

I have 2 positioned widget. First one is to show the current location and when you return from the searchscreen the first positioned widget is hidden and the second one will be visible thus showing price and distance information etc. When I remove the second positioned widget from the code  the road is drawn normally with the map reloading initially. Like you said the map view activity gets destroyed for some reason now unlike in your previous versions where this code worked perfectly.

i will fix that also, i have some idea, i will start try them

after refactoring i make some changes in your code to remove rebuild and improve what you want to acheive
i will give you my refactoring of you code
this is the link : https://www.mediafire.com/file/vw3shfp40lqta6w/libOSMRefactoring.zip/file
i split mainscreen in 2 separate widget and i create new widgets to show some information
you can continue refact that code also by making each bottom card in separate widget
and i created new class to manage distance and price also i manage switch between bottom card with indexedStack

Damn!  I want to laugh at my old codes now, Your level is just unreachable. Thank you so much!  Everything works fine now. I will now build upon this and fix my app accordingly.

thanks you also  for your feedback,
like i told you will publish new library that will help you to integrate the map will search and show more information
i will try to publish it at least in couple weeks just i need to make it more customizable and stable

Sure no worries. Looking forward to it. Right now should I stay on 0.26.1 ?
On Tue, Nov 30, 2021, 18:29 hamza mohamed ali @.***>
wrote:

thanks you also for your feedback,
like i told you will publish new library that will help you to integrate
the map will search and show more information
i will try to publish it at least in couple weeks just i need to make it
more customizable and stable
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/liodali/osm_flutter/issues/192#issuecomment-982601999,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUIQ4QSH6Y47GA2DCCI2FLUOTBLJANCNFSM5I7FOSQQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

yes, you can use it without any problem
that version now it save state of the map natively during the  config changes in android  or hotReload ( only in android) because in ios side the map does'nt depend on view of ios like android

just small question in 0.22.3, when you use setState the context of the map doesn't disappear  or anything wrong happen?

It will just crash unexpectedly. I tried a lot of changes with completely removing setState etc as you said but it didn't work for me. I think it has to do with adding Markers on a null object, i.e mapView doesn't exist.
This issue is similar to this https://github.com/osmdroid/osmdroid/issues/1581 . However I am not sure about it, Below is the log, happens when I go to searchScreen and come back.

E/AndroidRuntime(31024): java.lang.NullPointerException: Attempt to invoke virtual method 'org.osmdroid.views.MapViewRepository org.osmdroid.views.MapView.getRepository()' on a null object reference
E/AndroidRuntime(31024): 	at org.osmdroid.views.overlay.infowindow.InfoWindow.<init>(InfoWindow.java:53)
E/AndroidRuntime(31024): 	at org.osmdroid.views.overlay.infowindow.BasicInfoWindow.<init>(BasicInfoWindow.java:54)
E/AndroidRuntime(31024): 	at org.osmdroid.views.overlay.infowindow.MarkerInfoWindow.<init>(MarkerInfoWindow.java:41)
E/AndroidRuntime(31024): 	at org.osmdroid.views.MapViewRepository.getDefaultMarkerInfoWindow(MapViewRepository.java:55)
E/AndroidRuntime(31024): 	at org.osmdroid.views.overlay.Marker.<init>(Marker.java:116)
E/AndroidRuntime(31024): 	at org.osmdroid.views.overlay.Marker.<init>(Marker.java:93)
E/AndroidRuntime(31024): 	at hamza.dali.flutter_osm_plugin.FlutterMarker.<init>(FlutterMaker.kt:22)
E/AndroidRuntime(31024): 	at hamza.dali.flutter_osm_plugin.FlutterMarker.<init>(FlutterMaker.kt:42)
E/AndroidRuntime(31024): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView.showStaticPosition(FlutterOsmView.kt:1541)
E/AndroidRuntime(31024): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView.access$showStaticPosition(FlutterOsmView.kt:87)
E/AndroidRuntime(31024): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView$resetLastGeoPointPosition$1$2$1.invokeSuspend(FlutterOsmView.kt:1796)
E/AndroidRuntime(31024): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView$resetLastGeoPointPosition$1$2$1.invoke(Unknown Source:8)
E/AndroidRuntime(31024): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView$resetLastGeoPointPosition$1$2$1.invoke(Unknown Source:4)
E/AndroidRuntime(31024): 	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
E/AndroidRuntime(31024): 	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165)
E/AndroidRuntime(31024): 	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
E/AndroidRuntime(31024): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView$resetLastGeoPointPosition$1.invokeSuspend(FlutterOsmView.kt:1795)
E/AndroidRuntime(31024): 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
E/AndroidRuntime(31024): 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
E/AndroidRuntime(31024): 	at android.os.Handler.handleCallback(Handler.java:938)
E/AndroidRuntime(31024): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(31024): 	at android.os.Looper.loop(Looper.java:223)

this happen with old version, or new crash ?

this happen with old version, or new crash ?

old version. started from 0.20 +version I think. The last version If I remember which was working with the same code was 0.15.0 :

yeah, because since 0.20. i started change key of androidview to force rebuild that lead to that crash
i will continue improving that
i will add method that should be add it before super.didUpdateWidget to notify OSMFlutter that should saveCache and rebuild (change the key ) except that it will continue working as usuall (before the v 0.20+) i will try that

Oh okay I see! That explains a lot.  Good luck. Thank you for the help.

@liodali
Hi, I am working with your code as it's cleaner and more advanced but I ran into a problem again. I added saveRideRequest to the mainscreen and I am trying to call it from the class RidePickerInformation but I get the error,
In the code you provided I added these to mainScreen
 void saveRideRequest() async {
    Provider.of<AppData>(context).saveRideRequest();

    try {
      rideRequestRef =
          FirebaseDatabase.instance.reference().child("Ride Requests").push();
      var pickUp = Provider.of<AppData>(context, listen: false).pickUpLocation;
      var dropOff =
          Provider.of<AppData>(context, listen: false).dropOffLocation;
      var dropOffPoint =
          Provider.of<AppData>(context, listen: false).dropOffLatLng;

      Map pickUpLocMap = {
        "latitude": pickUp.latitude.toString(),
        "longitude": pickUp.longitude.toString(),
      };

      Map dropOffLocMap = {
        "latitude": dropOffPoint.latitude.toString(),
        "longitude": dropOffPoint.longitude.toString(),
      };

      Map rideinfoMap = {
        "driver_id": "waiting",
        "payment_method": "cash",
        "pickup": pickUpLocMap,
        "dropoff": dropOffLocMap,
        "created_at": DateTime.now().toString(),
        "rider_name": userCurrentInfo.name,
        "rider_phone": userCurrentInfo.phone,
        "pickup_address": pickUp.placeName,
        "dropoff_address": dropOff,
        "ride_type": carRideType,
      };

      await rideRequestRef.set(rideinfoMap);
      rideStreamSubscription = rideRequestRef.onValue.listen((event) async {
        if (event.snapshot == null) {
          return;
        }
        if (event.snapshot.value["car_details"] != null) {
          carDetailsDriver = (event.snapshot.value["car_details"].toString());
          Provider.of<AppData>(context)
              .carDetailsDriverMainScreen(carDetailsDriver);

          if (event.snapshot.value["driver_id"] != null) {
            rideReqAcceptDriver =
                (event.snapshot.value["driver_id"].toString());
            print("rideReqAcceptDriver $rideReqAcceptDriver");
          }
        }
        if (event.snapshot.value["driver_name"] != null) {
          driverName = (event.snapshot.value["driver_name"].toString());
          Provider.of<AppData>(context).driverNameMainScreen(driverName);
        }
        if (event.snapshot.value["driver_phone"] != null) {
          driverPhone = (event.snapshot.value["driver_phone"].toString());
          Provider.of<AppData>(context).driverPhoneMainScreen(driverPhone);
        }
        if (event.snapshot.value["driver_location"] != null) {
          double driverLat = double.parse(
              event.snapshot.value["driver_location"]["latitude"].toString());
          double driverLon = double.parse(
              event.snapshot.value["driver_location"]["longitude"].toString());

          GeoPoint driverCurrentLocation =
              GeoPoint(latitude: driverLat, longitude: driverLon);
          if (event.snapshot.value["status"] != null) {
            statusRide = (event.snapshot.value["status"].toString());
          }
          if (statusRide == "accepted") {
            updateRideTimeToPickupLocation(driverCurrentLocation);
            Provider.of<AppData>(context).updateRideTimeToPickupLocMainScreen();
          } else if (statusRide == "onride") {
            updateRideTimeToDropOffLocation(driverCurrentLocation);
          } else if (statusRide == "arrived") {
            rideStatus = "Driver has arrived";
            Provider.of<AppData>(context).rideStatusMainScreen(rideStatus);

            Geofire.stopListener();
          }
          // });
        }

        if (statusRide == "ended") {
          if (event.snapshot.value["fares"] != null) {
            int fare = int.parse(event.snapshot.value["fares"].toString());
            var res = await showDialog(
                context: context,
                barrierDismissible: false,
                builder: (BuildContext context) => CollectFareDialog(
                      paymentMethod: "cash",
                      fareAmount: fare.toString(),
                    ));
            String driverId = "";
            if (res == "close") {
              if (event.snapshot.value["driver_id"] != null) {
                driverId = event.snapshot.value["driver_id"].toString();
              }
              Navigator.of(context).push(MaterialPageRoute(
                  builder: (context) => RatingScreen(driverId: driverId)));
              rideRequestRef.onDisconnect();
              rideRequestRef = null;
              rideStreamSubscription.cancel();
              rideStreamSubscription = null;
              clear();
            }
          }
        }
      });
    } on FirebaseException catch (e) {
      print("Error caught $e");
    }
  }

Now in the RidePickerInformation class trying to call the saveRideRequest
class _StateRidePickerInformation extends State<RidePickerInformation> {
  final MainScreen = new _MainScreenState();

then under GestureDectector I am calling saveRideRequest
     GestureDetector(
                      onTap: () {
                        print("searching bike");
                        MainScreen.state = "requesting";
                        carRideType = "bike";
                        MainScreen.saveRideRequest();
                        MainScreen.availableDrivers =
                            GeoFireAssistant.nearByAvailableDriversList;
                        MainScreen.searchNearestDriver();
                      },
                      child: Container(
                        width: double.infinity,
                        //color: Colors.tealAccent,
                        child: Padding(
                          padding: EdgeInsets.symmetric(horizontal: 16),
                          child: ListTile(
                            leading: Image.asset(
                              "images/images/bike.png",
                              height: 70.0,
                              width: 80.0,
                            ),
                            title: Text(
                              "Bike",
                              style: TextStyle(
                                fontSize: 18.0,
                                fontFamily: "Brand Bold",
                              ),
                            ),
                            subtitle: Row(
                              crossAxisAlignment: CrossAxisAlignment.start,
                              children: [
                                DistanceRoad(),
                                SizedBox(
                                  width: 8.0,
                                ),
                                Selector<AppData, RideInfo>(
                                  selector: (ctx, appData) => appData.rideInfo,
                                  shouldRebuild: (newRide, oldRide) =>
                                      newRide != oldRide,
                                  builder: (ctx, rideInfo, _) {
                                    if (rideInfo == null) {
                                      return SizedBox.shrink();
                                    }
                                    return Text(
                                      (rideInfo.price == "")
                                          ? "0.0"
                                          : "Rs ${(double.tryParse(rideInfo.price) / 2).toStringAsFixed(2)}",
                                      style: TextStyle(
                                          fontSize: 18.0,
                                          fontFamily: "Brand Bold"),
                                    );
                                  },
                                ),
                              ],
                            ),
                            minLeadingWidth: 64,
                          ),
                        ),
                      ),
                    ),

but I get the error
E/flutter (17916): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: This widget has been unmounted, so the State no longer has a context (and should be considered defunct).
E/flutter (17916): Consider canceling any active work during "dispose" or using the "mounted" getter to determine if the State is still active.

The error points to
 Provider.of<AppData>(context).saveRideRequest();

under saveRideRequest

if you can send me mainscreen.dart and RidePickerInformation.dart through my email
to look at it and i will help you to fix this problem

Done!

my first feedback, that you shouldn't do it like that
calling saveRideRequest 2 ways to do that
pass mainState to RidePickerInformation ( i don't recommand you to do that) or you pass saveRideRequest as argument to RidePickerInformation like this
class RidePickerInformation extends StatefulWidget {
  final MapController mapController;
  final Function(String,List) saveRiderAndSearchNearsRideCallback;
  const RidePickerInformation({Key key, this.mapController,this.saveRiderAndSearchNearsRideCallback}) : super(key: key);

  @override
  State<StatefulWidget> createState() => _StateRidePickerInformation();
}

and you remove this line because MainScreenState initialisated by flutter engine no you
  final MainScreen = new _MainScreenState();

and if you want to replace this code start from line 1577
GestureDetector(
                   onTap: () {
                        print("searching bike");
                        MainScreen.state = "requesting";
                        carRideType = "bike";
                        MainScreen.saveRideRequest();
                        MainScreen.availableDrivers =
                            GeoFireAssistant.nearByAvailableDriversList;
                        MainScreen.searchNearestDriver();
                      }

by
GestureDetector(
                      onTap: () {
                        print("searching bike");
                        widget.saveRiderAndSearchNearsRideCallback("requesting",
                                                    GeoFireAssistant.nearByAvailableDriversList);
                        carRideType = "bike";

                      },
                    child: ....

and saveRiderAndSearchNearsRideCallback will contain
RidePickerInformation(
  controller:controller
saveRiderAndSearchNearsRideCallback : (state,listDriver)async{
                       state = "requesting";
                       saveRideRequest();
                       availableDrivers = listDriver;
                        searchNearestDriver()
                   }
)

Okay! Thank you. I will try and get back to you.
On Sat, Jan 15, 2022 at 5:24 PM hamza mohamed ali @.***>
wrote:

and saveRiderAndSearchNearsRideCallback will contain
RidePickerInformation(
controller:controller
saveRiderAndSearchNearsRideCallback : (state,listDriver)async{
state = "requesting";
saveRideRequest();
availableDrivers = listDriver;
searchNearestDriver()
}
)
—
Reply to this email directly, view it on GitHub
https://github.com/liodali/osm_flutter/issues/192#issuecomment-1013667084,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUIQ4S7AMKFEZSCKYHQTKTUWFMFRANCNFSM5I7FOSQQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Thank you it is working now, I now somewhat understand your way of coding, it's ingenious. I will follow your style. Thanx again.

Hi Hamza,
i have run into a problem of passing data from the MainScreen to
RidePickerInformation
I asked in StackOverflow and forum but all answers don't work.
On line 586 saveRideRequest(); a node in created in firebase with a key , I
need that key to delete the node later on. Then on line 1782 when I try to
remove the node the rideReqKey is always null.
I am having trouble passing the data from one class to another can you
please take a look ?
Here is the gist
https://gist.github.com/jesussmile/adb2f959e58afbd871ee02bb553e9741
https://gist.github.com/jesussmile/adb2f959e58afbd871ee02bb553e9741
On Sat, Jan 15, 2022 at 5:25 PM Choman @.***> wrote:

Okay! Thank you. I will try and get back to you.
On Sat, Jan 15, 2022 at 5:24 PM hamza mohamed ali <
@.***> wrote:

and saveRiderAndSearchNearsRideCallback will contain
RidePickerInformation(
controller:controller
saveRiderAndSearchNearsRideCallback : (state,listDriver)async{
state = "requesting";
saveRideRequest();
availableDrivers = listDriver;
searchNearestDriver()
}
)
—
Reply to this email directly, view it on GitHub
https://github.com/liodali/osm_flutter/issues/192#issuecomment-1013667084,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUIQ4S7AMKFEZSCKYHQTKTUWFMFRANCNFSM5I7FOSQQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

change the type of rideReqKey in RidePickerInformation and ridereqRefKey in mainscreen from String to ValueNotifier
so in saveRiderAndSearchNearRidecallback it become ridereqRefKey.value = ..
and dont forget to pass ridereqRefKey to RidePickerInformation because that variable is missing that why you get null

I don't know if it's right or wrong, I use provider package to fix it. it seems to be working. One thing I realized is the map crashes if there is a null value in your code, most likely with firebase or some plugin that runs in the background.
It will feel like the issue is with OSM or some widget because the debug will throw some error regarding OSM plugin null etc and exit but in fact, most of the errors are from outside OSM and mostly related to null values.

can you share log of error at least to understand your problem
and describe you use case also (when it happen) to get full image about the problem

when you want to cancel the ride it happen the crash ?

When I use this code in my mainscreen
https://gist.github.com/jesussmile/6d6d0b67dd1f9f1d5188bcf41a64e150
the app will crash when I go to searchscreen , search a location and come back.
Launching lib\main.dart on SM N960U1 in debug mode...
Parameter format not correct -
√  Built build\app\outputs\flutter-apk\app-debug.apk.
W/FlutterActivityAndFragmentDelegate(23131): A splash screen was provided to Flutter, but this is deprecated. See flutter.dev/go/android-splash-migration for migration steps.
D/FlutterLocationService(23131): Creating service.
D/FlutterLocationService(23131): Binding to location service.
Connecting to VM Service at ws://<IP_ADDRESS>:52157/VoKUDTFsNlo=/ws
I/flutter (23131): my name is null 56Qc9YEXonfQtWYtTO0gL0QJfrW2
I/flutter (23131): didchange Dependencies test
D/NetworkSecurityConfig(23131): No Network Security Config specified, using platform default
D/libmdf  (23131): libmdf v<IP_ADDRESS> On 64bit PLATFORM
D/Dialog  (23131): mIsSamsungBasicInteraction = false
D/Dialog  (23131): mIsSamsungBasicInteraction = false, isMetaDataInActivity = false
W/Gralloc3(23131): allocator 3.x is not supported
E/ample.geo_ride(23131): Invalid ID 0x00000000.
I/StorageUtils(23131): /data/user/0/com.example.geo_rider/files is writable
I/StorageUtils(23131): /storage/emulated/0/Android/data/com.example.geo_rider/files is writable
I/StorageUtils(23131): /storage/C85B-1B21/Android/data/com.example.geo_rider/files is writable
I/StorageUtils(23131): /data/user/0/com.example.geo_rider/files is writable
I/StorageUtils(23131): /storage/emulated/0/Android/data/com.example.geo_rider/files is writable
I/StorageUtils(23131): /storage/C85B-1B21/Android/data/com.example.geo_rider/files is writable
I/OsmDroid(23131): Using tile source: Mapnik
I/OsmDroid(23131): Tile cache increased from 0 to 9
E/osm     (23131): osm flutter plugin create
E/osm     (23131): osm flutter plugin start
E/osm     (23131): osm flutter plugin resume
D/PhoneWindow(23131): forceLight changed to true [] from com.android.internal.policy.PhoneWindow.updateForceLightNavigationBar:4274 com.android.internal.policy.DecorView.updateColorViews:1547 com.android.internal.policy.PhoneWindow.dispatchWindowAttributesChanged:3252 android.view.Window.setFlags:1153 com.android.internal.policy.PhoneWindow.generateLayout:2474
I/MultiWindowDecorSupport(23131): [INFO] isPopOver = false
I/MultiWindowDecorSupport(23131): updateCaptionType >> DecorView@eb5bbff[], isFloating: false, isApplication: false, hasWindowDecorCaption: false, hasWindowControllerCallback: false
D/MultiWindowDecorSupport(23131): setCaptionType = 0, DecorView = DecorView@eb5bbff[]
I/ViewRootImpl@feaa091[MainActivity](23131): setView = com.android.internal.policy.DecorView@eb5bbff TM=true MM=false
V/InputMethodManager(23131): Not IME target window, ignoring
I/ViewRootImpl@feaa091[MainActivity](23131): Relayout returned: old=(0,0,713,973) new=(0,0,713,973) req=(713,973)0 dur=6 res=0x7 s={true<PHONE_NUMBER>00} ch=true
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
I/ViewRootImpl@feaa091[MainActivity](23131): MSG_RESIZED: frame=(0,0,713,973) ci=(0,0,0,0) vi=(0,0,0,0) or=1
I/flutter (23131): Users email<EMAIL_ADDRESS>I/flutter (23131): Users name rider1mob
I/flutter (23131): Users phone 123456789
I/flutter (23131): my name is rider1mob
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
I/chatty  (23131): uid=11519(com.example.geo_rider) identical 1 line
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
I/chatty  (23131): uid=11519(com.example.geo_rider) identical 14 lines
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
I/chatty  (23131): uid=11519(com.example.geo_rider) identical 11 lines
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
I/chatty  (23131): uid=11519(com.example.geo_rider) identical 2 lines
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
I/chatty  (23131): uid=11519(com.example.geo_rider) identical 6 lines
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
I/chatty  (23131): uid=11519(com.example.geo_rider) identical 5 lines
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
I/flutter (23131): This is your Position:: Latitude: 27.7011653, Longitude: 85.3474725
I/flutter (23131): XXX
I/flutter (23131): GeoPoint{latitude: 27.7011653 , longitude: 85.3474725}
I/flutter (23131): XXX
I/flutter (23131): GeoPoint{latitude: 27.7011653 , longitude: 85.3474725}
I/flutter (23131): https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=27.7011653&lon=85.3474725
I/flutter (23131): This is your Address:: Bhimsen Gola, Sinamangal, काठमाडौं, Kathmandu, काठमाडौं, Bagmati Pradesh, 44703, नेपाल
I/TAG     (23131): GeoFire.start
I/TAG     (23131): queryAtLocation
I/flutter (23131): drivers map: {latitude: 27.7021583, callBack: onKeyEntered, key: 2YNkDvhMrrZy1qDGWGuHExQ4p743, longitude: 85.347035}
I/flutter (23131): Nearby Drivers: {latitude: 27.7021583, callBack: onKeyEntered, key: 2YNkDvhMrrZy1qDGWGuHExQ4p743, longitude: 85.347035}
I/flutter (23131): heading  1.085942472593584
I/flutter (23131): drivers map: {result: [2YNkDvhMrrZy1qDGWGuHExQ4p743], callBack: onGeoQueryReady}
I/flutter (23131): Nearby Drivers: {result: [2YNkDvhMrrZy1qDGWGuHExQ4p743], callBack: onGeoQueryReady}
I/flutter (23131): heading  0.0
I/flutter (23131): xxxx onGeoqueryready 0
I/flutter (23131): yyy 2YNkDvhMrrZy1qDGWGuHExQ4p743+
E/2YNkDvhMrrZy1qDGWGuHExQ4p743(23131): 1
I/flutter (23131): yyy 2YNkDvhMrrZy1qDGWGuHExQ4p743+
I/ViewRootImpl@502c739[MainActivity](23131): ViewPostIme pointer 0
I/ViewRootImpl@502c739[MainActivity](23131): ViewPostIme pointer 1
I/ViewRootImpl@502c739[MainActivity](23131): ViewPostIme pointer 0
I/ViewRootImpl@502c739[MainActivity](23131): ViewPostIme pointer 1
D/InputMethodManager(23131): SSI - flag : 0 Pid : 23131 view : com.example.geo_rider
D/InputMethodManager(23131): prepareNavigationBarInfo() DecorView@8ac3c2a[MainActivity]
D/InputMethodManager(23131): getNavigationBarColor() -855310
V/InputMethodManager(23131): Starting input: tba=com.example.geo_rider ic=io.flutter.plugin.editing.InputConnectionAdaptor@a46337c mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager(23131): startInputInner - Id : 0
I/InputMethodManager(23131): startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport(23131): Input channel destroyed: 'ClientS', fd=101
D/InputMethodManager(23131): prepareNavigationBarInfo() DecorView@8ac3c2a[MainActivity]
D/InputMethodManager(23131): getNavigationBarColor() -855310
D/InputMethodManager(23131): prepareNavigationBarInfo() DecorView@8ac3c2a[MainActivity]
D/InputMethodManager(23131): getNavigationBarColor() -855310
V/InputMethodManager(23131): Starting input: tba=com.example.geo_rider ic=io.flutter.plugin.editing.InputConnectionAdaptor@217cc5a mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager(23131): startInputInner - Id : 0
I/InputMethodManager(23131): startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport(23131): Input channel destroyed: 'ClientS', fd=106
W/IInputConnectionWrapper(23131): getCursorCapsMode on inactive InputConnection
W/IInputConnectionWrapper(23131): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(23131): requestCursorAnchorInfo on inactive InputConnection
W/IInputConnectionWrapper(23131): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(23131): getExtractedText on inactive InputConnection
I/ViewRootImpl@502c739[MainActivity](23131): MSG_RESIZED: frame=(0,0,720,1480) ci=(0,42,0,539) vi=(0,42,0,539) or=1
I/ViewRootImpl@502c739[MainActivity](23131): Relayout returned: old=(0,0,720,1480) new=(0,0,720,1480) req=(720,1480)0 dur=5 res=0x1 s={true<PHONE_NUMBER>80} ch=false
D/InputConnectionAdaptor(23131): The input method toggled cursor monitoring on
I/flutter (23131): didchange Dependencies test
D/Dialog  (23131): mIsSamsungBasicInteraction = false
D/Dialog  (23131): mIsSamsungBasicInteraction = false, isMetaDataInActivity = false
E/ample.geo_ride(23131): Invalid ID 0x00000000.
I/OsmDroid(23131): Using tile source: Mapnik
I/OsmDroid(23131): Tile cache increased from 0 to 9
E/osm     (23131): osm flutter plugin create
E/osm     (23131): osm flutter plugin start
E/osm     (23131): osm flutter plugin resume
D/PhoneWindow(23131): forceLight changed to true [] from com.android.internal.policy.PhoneWindow.updateForceLightNavigationBar:4274 com.android.internal.policy.DecorView.updateColorViews:1547 com.android.internal.policy.PhoneWindow.dispatchWindowAttributesChanged:3252 android.view.Window.setFlags:1153 com.android.internal.policy.PhoneWindow.generateLayout:2474
I/MultiWindowDecorSupport(23131): [INFO] isPopOver = false
I/MultiWindowDecorSupport(23131): updateCaptionType >> DecorView@c77df80[], isFloating: false, isApplication: false, hasWindowDecorCaption: false, hasWindowControllerCallback: false
D/MultiWindowDecorSupport(23131): setCaptionType = 0, DecorView = DecorView@c77df80[]
I/ViewRootImpl@1ac000a[MainActivity](23131): setView = com.android.internal.policy.DecorView@c77df80 TM=true MM=false
I/ViewRootImpl@feaa091[MainActivity](23131): dispatchDetachedFromWindow
D/InputTransport(23131): Input channel destroyed: '3c9aaec', fd=111
E/BufferQueueProducer(23131): [SurfaceTexture-0-23131-0] queueBuffer: BufferQueue(0x7bfd3fc900) has been abandoned
E/BufferQueueProducer(23131): [SurfaceTexture-0-23131-0] cancelBuffer: BufferQueue has been abandoned
V/InputMethodManager(23131): Not IME target window, ignoring
I/ViewRootImpl@1ac000a[MainActivity](23131): Relayout returned: old=(0,0,713,973) new=(0,0,713,973) req=(713,973)0 dur=39 res=0x7 s={true<PHONE_NUMBER>00} ch=true
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
I/ViewRootImpl@1ac000a[MainActivity](23131): MSG_RESIZED: frame=(0,0,713,973) ci=(0,0,0,0) vi=(0,0,0,0) or=1
D/InputConnectionAdaptor(23131): The input method toggled text monitoring on
D/InputMethodManager(23131): SSI - flag : 0 Pid : 23131 view : com.example.geo_rider
D/InputMethodManager(23131): prepareNavigationBarInfo() DecorView@8ac3c2a[MainActivity]
D/InputMethodManager(23131): getNavigationBarColor() -855310
D/InputMethodManager(23131): SSI - flag : 0 Pid : 23131 view : com.example.geo_rider
D/InputMethodManager(23131): prepareNavigationBarInfo() DecorView@8ac3c2a[MainActivity]
D/InputMethodManager(23131): getNavigationBarColor() -855310
W/OneSignal(23131): appContext set, but please call setAppId(appId) with a valid appId to complete OneSignal init!
I/WM-WorkerWrapper(23131): Worker result SUCCESS for Work [ id=70d46d0d-f246-41bd-8840-f32a7739a5b6, tags={ com.onesignal.OSNotificationRestoreWorkManager$NotificationRestoreWorker } ]
D/InputMethodManager(23131): SSI - flag : 0 Pid : 23131 view : com.example.geo_rider
D/InputMethodManager(23131): prepareNavigationBarInfo() DecorView@8ac3c2a[MainActivity]
D/InputMethodManager(23131): getNavigationBarColor() -855310
D/InputMethodManager(23131): SSI - flag : 0 Pid : 23131 view : com.example.geo_rider
D/InputMethodManager(23131): prepareNavigationBarInfo() DecorView@8ac3c2a[MainActivity]
D/InputMethodManager(23131): getNavigationBarColor() -855310
D/InputMethodManager(23131): SSI - flag : 0 Pid : 23131 view : com.example.geo_rider
D/InputMethodManager(23131): prepareNavigationBarInfo() DecorView@8ac3c2a[MainActivity]
D/InputMethodManager(23131): getNavigationBarColor() -855310
D/InputMethodManager(23131): SSI - flag : 0 Pid : 23131 view : com.example.geo_rider
D/InputMethodManager(23131): prepareNavigationBarInfo() DecorView@8ac3c2a[MainActivity]
D/InputMethodManager(23131): getNavigationBarColor() -855310
I/ViewRootImpl@502c739[MainActivity](23131): ViewPostIme pointer 0
I/ViewRootImpl@502c739[MainActivity](23131): ViewPostIme pointer 1
I/flutter (23131): xxx Instance of 'SearchInfo'
I/flutter (23131): Coordinates :GeoPoint{latitude: 27.6718111 , longitude: 85.4264284}
D/InputConnectionAdaptor(23131): The input method toggled text monitoring off
D/InputMethodManager(23131): HSIFW - flag : 0
D/InputConnectionAdaptor(23131): The input method toggled cursor monitoring off
I/ViewRootImpl@502c739[MainActivity](23131): MSG_RESIZED: frame=(0,0,720,1480) ci=(0,42,0,26) vi=(0,42,0,26) or=1
I/ViewRootImpl@502c739[MainActivity](23131): Relayout returned: old=(0,0,720,1480) new=(0,0,720,1480) req=(720,1480)0 dur=6 res=0x1 s={true<PHONE_NUMBER>80} ch=false
I/flutter (23131): didchange Dependencies test
D/Dialog  (23131): mIsSamsungBasicInteraction = false
D/Dialog  (23131): mIsSamsungBasicInteraction = false, isMetaDataInActivity = false
E/ample.geo_ride(23131): Invalid ID 0x00000000.
I/OsmDroid(23131): Using tile source: Mapnik
I/OsmDroid(23131): Tile cache increased from 0 to 9
E/osm     (23131): osm flutter plugin create
E/osm     (23131): osm flutter plugin start
E/osm     (23131): osm flutter plugin resume
D/PhoneWindow(23131): forceLight changed to true [] from com.android.internal.policy.PhoneWindow.updateForceLightNavigationBar:4274 com.android.internal.policy.DecorView.updateColorViews:1547 com.android.internal.policy.PhoneWindow.dispatchWindowAttributesChanged:3252 android.view.Window.setFlags:1153 com.android.internal.policy.PhoneWindow.generateLayout:2474
I/MultiWindowDecorSupport(23131): [INFO] isPopOver = false
I/MultiWindowDecorSupport(23131): updateCaptionType >> DecorView@4218427[], isFloating: false, isApplication: false, hasWindowDecorCaption: false, hasWindowControllerCallback: false
D/MultiWindowDecorSupport(23131): setCaptionType = 0, DecorView = DecorView@4218427[]
I/ViewRootImpl@125e779[MainActivity](23131): setView = com.android.internal.policy.DecorView@4218427 TM=true MM=false
I/ViewRootImpl@1ac000a[MainActivity](23131): dispatchDetachedFromWindow
D/InputTransport(23131): Input channel destroyed: 'e518c66', fd=130
V/InputMethodManager(23131): Not IME target window, ignoring
I/ViewRootImpl@125e779[MainActivity](23131): Relayout returned: old=(0,0,713,973) new=(0,0,713,973) req=(713,973)0 dur=48 res=0x7 s={true<PHONE_NUMBER>00} ch=true
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
I/ViewRootImpl@125e779[MainActivity](23131): MSG_RESIZED: frame=(0,0,713,973) ci=(0,0,0,0) vi=(0,0,0,0) or=1
I/ViewRootImpl@502c739[MainActivity](23131): ViewPostIme pointer 0
I/ViewRootImpl@502c739[MainActivity](23131): ViewPostIme pointer 1
I/flutter (23131): xxx GeoPoint{latitude: 27.7011653 , longitude: 85.3474725}
I/flutter (23131): xxxb GeoPoint{latitude: 27.6718111 , longitude: 85.4264284}
D/BONUSPACK(23131): OSRMRoadManager.getRoads:https://routing.openstreetmap.de/routed-car/route/v1/driving/85.3474725000,27.7011653000;85.4264284000,27.6718111000?alternatives=false&overview=full&steps=true
W/System  (23131): A resource failed to call release.
W/System  (23131): A resource failed to call release.
E/DecorView(23131): mWindow.mActivityCurrentConfig is null
E/AndroidRuntime(23131): FATAL EXCEPTION: main
E/AndroidRuntime(23131): Process: com.example.geo_rider, PID: 23131
E/AndroidRuntime(23131): java.lang.NullPointerException: Attempt to invoke virtual method 'org.osmdroid.views.MapViewRepository org.osmdroid.views.MapView.getRepository()' on a null object reference
E/AndroidRuntime(23131): 	at org.osmdroid.views.overlay.infowindow.InfoWindow.<init>(InfoWindow.java:53)
E/AndroidRuntime(23131): 	at org.osmdroid.views.overlay.infowindow.BasicInfoWindow.<init>(BasicInfoWindow.java:54)
E/AndroidRuntime(23131): 	at org.osmdroid.views.overlay.infowindow.MarkerInfoWindow.<init>(MarkerInfoWindow.java:41)
E/AndroidRuntime(23131): 	at org.osmdroid.views.MapViewRepository.getDefaultMarkerInfoWindow(MapViewRepository.java:55)
E/AndroidRuntime(23131): 	at org.osmdroid.views.overlay.Marker.<init>(Marker.java:116)
E/AndroidRuntime(23131): 	at org.osmdroid.views.overlay.Marker.<init>(Marker.java:93)
E/AndroidRuntime(23131): 	at hamza.dali.flutter_osm_plugin.FlutterMarker.<init>(FlutterMaker.kt:22)
E/AndroidRuntime(23131): 	at hamza.dali.flutter_osm_plugin.FlutterMarker.<init>(FlutterMaker.kt:42)
E/AndroidRuntime(23131): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView.showStaticPosition(FlutterOsmView.kt:1541)
E/AndroidRuntime(23131): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView.access$showStaticPosition(FlutterOsmView.kt:87)
E/AndroidRuntime(23131): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView$resetLastGeoPointPosition$1$2$1.invokeSuspend(FlutterOsmView.kt:1801)
E/AndroidRuntime(23131): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView$resetLastGeoPointPosition$1$2$1.invoke(Unknown Source:8)
E/AndroidRuntime(23131): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView$resetLastGeoPointPosition$1$2$1.invoke(Unknown Source:4)
E/AndroidRuntime(23131): 	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
E/AndroidRuntime(23131): 	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165)
E/AndroidRuntime(23131): 	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
E/AndroidRuntime(23131): 	at hamza.dali.flutter_osm_plugin.FlutterOsmView$resetLastGeoPointPosition$1.invokeSuspend(FlutterOsmView.kt:1800)
E/AndroidRuntime(23131): 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
E/AndroidRuntime(23131): 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
E/AndroidRuntime(23131): 	at android.os.Handler.handleCallback(Handler.java:883)
E/AndroidRuntime(23131): 	at android.os.Handler.dispatchMessage(Handler.java:100)
E/AndroidRuntime(23131): 	at android.os.Looper.loop(Looper.java:237)
E/AndroidRuntime(23131): 	at android.app.ActivityThread.main(ActivityThread.java:8167)
E/AndroidRuntime(23131): 	at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(23131): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
E/AndroidRuntime(23131): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
I/Process (23131): Sending signal. PID: 23131 SIG: 9
Lost connection to device.
Exited (sigterm)

So, I changed my code to this
https://gist.github.com/jesussmile/22c86fabf214cc5fca88a367dcdbca1d
the error is no more. I only added provider code to riderreqkey etc.

why you are not using the latest version ?
but i will try to fix the  problem related rto null in marker

I tried a lot of time but always get errors,
The current Dart SDK version is 2.14.4.

Because no versions of flutter_osm_plugin match >0.29.0 <0.30.0 and flutter_osm_plugin 0.29.0 depends on flutter_osm_interface >=0.1.15 <0.1.16, flutter_osm_plugin ^0.29.0 requires flutter_osm_interface >=0.1.15 <0.1.16.
So, because flutter_osm_interface ^0.1.12 requires SDK version >=2.15.0 <3.0.0 and geo_rider depends on flutter_osm_plugin ^0.29.0, version solving failed.
pub get failed (1; So, because flutter_osm_interface ^0.1.12 requires SDK version >=2.15.0 <3.0.0 and geo_rider depends on flutter_osm_plugin ^0.29.0, version solving failed.)

so, I added the dependency_overrides
environment:
  sdk: ">=2.7.0 <3.0.0"
dependency_overrides:
  flutter_osm_interface: "<=0.1.12"

dependencies:
  flutter:
    sdk: flutter

  flutter_osm_plugin: ^0.29.0

I think you have changed a lot of attributes to OSMFlutte, for example, to draw road
when I use this
road: Road(
                        startIcon: MarkerIcon(
                          icon: Icon(
                            Icons.pin_drop,
                            size: 64,
                            color: Colors.green,
                          ),
                        ),
                        roadColor: Colors.yellowAccent,
                      ),

I get errors, the road parameter is no longer defined. I am following the simple usage as shown in the flutter osm plugin page. Maybe because I am not using the latest  flutter_osm_interface: "<=0.1.12" . I am unsure if I should upgrade my SDK because I am afraid I can get a lot of errors in my code.
Then I get a whole list of errors when I run
Running "flutter pub get" in geo_rider_Heading...
Warning: You are using these overridden dependencies:
! flutter_osm_interface 0.1.10+3 (0.2.0 available)
Launching lib\main.dart on Android SDK built for x86 in debug mode...
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/osm_flutter.dart:59:9: Error: Type 'RoadConfiguration' not found.
  final RoadConfiguration? roadConfiguration;
        ^^^^^^^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/interface_osm/base_osm_platform.dart:21:9: Error: Type 'RoadConfiguration' not found.
        RoadConfiguration? roadConfiguration,

        ^^^^^^^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/widgets/mobile_osm_flutter.dart:23:9: Error: Type 'RoadConfiguration' not found.
  final RoadConfiguration? roadConfig;
        ^^^^^^^^^^^^^^^^^

/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/widgets/platform/mobile_osm_widget.dart:18:3: Error: Type 'RoadConfiguration' not found.
  RoadConfiguration? roadConfiguration,
  ^^^^^^^^^^^^^^^^^

/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/widgets/mobile_osm_flutter.dart:68:7: Error: The non-abstract class 'MobileOsmFlutterState' is missing implementations for these members:
 - AndroidLifecycleMixin.configChanded
Try to either
 - provide an implementation,
 - inherit an implementation from a superclass or mixin,
 - mark the class as abstract, or
 - provide a 'noSuchMethod' implementation.
class MobileOsmFlutterState extends State<MobileOsmFlutter>
      ^^^^^^^^^^^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/mixin/android_lifecycle_mixin.dart:7:8: Context: 'AndroidLifecycleMixin.configChanded' is defined here.
  void configChanded();
       ^^^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/osm/osm_controller.dart:344:45: Error: The parameter 'icon' of the method 'MobileOSMController.changeDefaultIconMarker' has type 'MarkerIcon', which does not match the corresponding type, 'GlobalKey<State<StatefulWidget>>?', in the overridden method, 'IBaseOSMController.changeDefaultIconMarker'.
- 'MarkerIcon' is from 'package:flutter_osm_interface/src/types/marker.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/types/marker.dart').
- 'GlobalKey' is from 'package:flutter/src/widgets/framework.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/packages/flutter/lib/src/widgets/framework.dart').
- 'State' is from 'package:flutter/src/widgets/framework.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/packages/flutter/lib/src/widgets/framework.dart').
- 'StatefulWidget' is from 'package:flutter/src/widgets/framework.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/packages/flutter/lib/src/widgets/framework.dart').

Change to a supertype of 'GlobalKey<State<StatefulWidget>>?', or, for a covariant parameter, a subtype.
  Future changeDefaultIconMarker(MarkerIcon icon) async {
                                            ^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/osm_controller/osm_controller.dart:35:10: Context: This is the overridden method ('changeDefaultIconMarker').
  Future changeDefaultIconMarker(GlobalKey? key);
         ^

: Error: No named parameter with the name 'road'.
                      road: Road(
                      ^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/osm_flutter.dart:69:3: Context: Found this candidate, but the arguments don't match.
  OSMFlutter({
  ^^^^^^^^^^

/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/map_controller.dart:69:53: Error: The argument type 'MarkerIcon' can't be assigned to the parameter type 'GlobalKey<State<StatefulWidget>>?'.
- 'MarkerIcon' is from 'package:flutter_osm_interface/src/types/marker.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/types/marker.dart').
- 'GlobalKey' is from 'package:flutter/src/widgets/framework.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/packages/flutter/lib/src/widgets/framework.dart').

- 'State' is from 'package:flutter/src/widgets/framework.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/packages/flutter/lib/src/widgets/framework.dart').
- 'StatefulWidget' is from 'package:flutter/src/widgets/framework.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/packages/flutter/lib/src/widgets/framework.dart').
    await osmBaseController.changeDefaultIconMarker(icon);
                                                    ^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/map_controller.dart:80:29: Error: The method 'setIconMarker' isn't defined for the class 'IBaseOSMController'.

- 'IBaseOSMController' is from 'package:flutter_osm_interface/src/osm_controller/osm_controller.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/osm_controller/osm_controller.dart').
Try correcting the name to the name of an existing method, or defining a method named 'setIconMarker'.
    await osmBaseController.setIconMarker(point, icon);
                            ^^^^^^^^^^^^^

/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/map_controller.dart:145:29: Error: The method 'zoomToBoundingBox' isn't defined for the class 'IBaseOSMController'.
- 'IBaseOSMController' is from 'package:flutter_osm_interface/src/osm_controller/osm_controller.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/osm_controller/osm_controller.dart').
Try correcting the name to the name of an existing method, or defining a method named 'zoomToBoundingBox'.

    await osmBaseController.zoomToBoundingBox(
                            ^^^^^^^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/map_controller.dart:310:67: Error: The method 'getBounds' isn't defined for the class 'IBaseOSMController'.

- 'IBaseOSMController' is from 'package:flutter_osm_interface/src/osm_controller/osm_controller.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/osm_controller/osm_controller.dart').
Try correcting the name to the name of an existing method, or defining a method named 'getBounds'.

  Future<BoundingBox> get bounds async => await osmBaseController.getBounds();
                                                                  ^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/osm_flutter.dart:59:9: Error: 'RoadConfiguration' isn't a type.
  final RoadConfiguration? roadConfiguration;
        ^^^^^^^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/osm/osm_controller.dart:111:17: Error: The method 'onRegionIsChangingListener' isn't defined for the class 'MobileOSMPlatform'.
- 'MobileOSMPlatform' is from 'package:flutter_osm_interface/src/osm_interface.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/osm_interface.dart').
Try correcting the name to the name of an existing method, or defining a method named 'onRegionIsChangingListener'.
    osmPlatform.onRegionIsChangingListener(_idMap).listen((event) {

                ^^^^^^^^^^^^^^^^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/osm/osm_controller.dart:113:12: Error: The method 'setValueListenerRegionIsChanging' isn't defined for the class 'BaseMapController'.
- 'BaseMapController' is from 'package:flutter_osm_interface/src/map_controller/base_map_controller.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/map_controller/base_map_controller.dart').

Try correcting the name to the name of an existing method, or defining a method named 'setValueListenerRegionIsChanging'.
          .setValueListenerRegionIsChanging(event.value);
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/osm/osm_controller.dart:446:24: Error: The getter 'assetMarker' isn't defined for the class 'MarkerIcon'.

- 'MarkerIcon' is from 'package:flutter_osm_interface/src/types/marker.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/types/marker.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'assetMarker'.
            markerIcon.assetMarker != null)) {

                       ^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/osm/osm_controller.dart:455:49: Error: The getter 'assetMarker' isn't defined for the class 'MarkerIcon'.

- 'MarkerIcon' is from 'package:flutter_osm_interface/src/types/marker.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/types/marker.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'assetMarker'.
          markerIcon.icon != null || markerIcon.assetMarker != null ? 300 : 350;
                                                ^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/osm/osm_controller.dart:675:24: Error: The method 'getBounds' isn't defined for the class 'MobileOSMPlatform'.
- 'MobileOSMPlatform' is from 'package:flutter_osm_interface/src/osm_interface.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/osm_interface.dart').
Try correcting the name to the name of an existing method, or defining a method named 'getBounds'.
    return osmPlatform.getBounds(_idMap);
                       ^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/osm/osm_controller.dart:684:10: Error: The method 'zoomToBoundingBox' isn't defined for the class 'MethodChannelOSM'.
- 'MethodChannelOSM' is from 'package:flutter_osm_interface/src/channel/osm_method_channel.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/channel/osm_method_channel.dart').
Try correcting the name to the name of an existing method, or defining a method named 'zoomToBoundingBox'.
        .zoomToBoundingBox(
         ^^^^^^^^^^^^^^^^^

/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/controller/osm/osm_controller.dart:695:25: Error: The method 'setIconMarker' isn't defined for the class 'MobileOSMPlatform'.
- 'MobileOSMPlatform' is from 'package:flutter_osm_interface/src/osm_interface.dart' ('/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_interface-0.1.10+3/lib/src/osm_interface.dart').
Try correcting the name to the name of an existing method, or defining a method named 'setIconMarker'.
      await osmPlatform.setIconMarker(
                        ^^^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/interface_osm/base_osm_platform.dart:21:9: Error: 'RoadConfiguration' isn't a type.

        RoadConfiguration? roadConfiguration,
        ^^^^^^^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/widgets/mobile_osm_flutter.dart:23:9: Error: 'RoadConfiguration' isn't a type.
  final RoadConfiguration? roadConfig;
        ^^^^^^^^^^^^^^^^^
/C:/flutter_windows_2.5.3-stable/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_osm_plugin-0.29.0/lib/src/widgets/platform/mobile_osm_widget.dart:18:3: Error: 'RoadConfiguration' isn't a type.
  RoadConfiguration? roadConfiguration,

  ^^^^^^^^^^^^^^^^^

FAILURE: Build failed with an exception.

* Where:
Script 'C:\flutter_windows_2.5.3-stable\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1005

* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command 'C:\flutter_windows_2.5.3-stable\flutter\bin\flutter.bat'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 7s
Exception: Gradle task assembleDebug failed with exit code 1
Exited (sigterm)

if you're making dependencies_override for flutter_osm_interface removed
and make flutter clean && flutter pub get
Or in pubspec.lock change the version of flutter_osm_interface from 0.1.12 to 0.1.15
and run flutter pub get

and change road to roadConfiguration


Unreliable channels are actually reliable

Due to https://github.com/webrtc-rs/webrtc/issues/371, trying to construct a data channel with RTCDataChannelInit::max_retransmits: Some(0) will actually produce a reliable (though unordered?) channel. After a bit of testing on my own, I found that even under significant packet loss, all packets sent on the unreliable channel still arrive and perfectly in order. I tried playing around with the parameters to RTCDataChannelInit and have not found a configuration yet that actually produces an unreliable channel.
With that being said, I guess the issue in this repo mostly revolves around:

Is there a workaround to get at least unreliable transfers?
Is there some other substitute instead?
Can this be fixed with a PR or patch to webrtc-rs/webrtc?
Should this repo even advertise unreliable channels if they are in fact, not unreliable?

I'm not sure what you want to do / what is even actionable from this, but it is still a downstream problem in this crate.

Reference for things I tried:

Setting max_retransmits to 1 instead of 0
Specifying max_packet_life_time as 1 (ms) instead of None
Both of the above
Verified that webrtc-rs does try to create a channel of type PartialReliableRexmitUnordered or PartialReliableTimedUnordered based on the provided configs
Fork with testing code at https://github.com/CouleeApps/matchbox/tree/fce57ea0b885ad61e383ebfe201ff0b20d8e12da

This seems like a webrtc issue that will solve itself with time. Just needs more attention on the webrtc side.

Closing because it's not our bug


A set of minor improvements

As of PR #51, all of these changes should be merged back into the main branch, apart from regenerating artifacts that we produced along the way. Once that PR has been merged, I'll go ahead and delete this branch and PR.

As far as I can tell, every change in this branch has now been incorporated into the main branch or will be incorporated in PR #56. I'm closing and deleting this branch, but note that tags v1.0 and v1.0.1 will continue to point to changes in this branch.


Singularity Hub

Heya @ikirker !
I'm not actually sure this will post because Github is having mass issues, but I thought I'd give it a try. Now is a bad time to debug this because Github is down, if you didn't already know! --> https://status.github.com/messages. This means webhooks are disabled I think, so if you push new commits you won't see anything happen.
The quick answer to your question is that the recipe will only build on commit given that the file is changed. Thus, if you want to build, change the file. Yes, it doesn't account for tweaks to other content, but it's a reasonable strategy given that many users push many times to repos (and they don't intend to build). If this build strategy doesn't work for you, you can try to build on deploy instead (see wiki page in Github repo when it comes back online). But again, webhooks as far as I can tell aren't working now, so it might be a good time to take a break!
The error with the settings page is also likely the Github API down, which is needed to get branches. Check again when Github is restored.

@vsoch Ah! I did change the recipe file and push the change, but if Github has disabled the hooks today it makes sense that the container wouldn't have been rebuilt. Thanks for letting us know, I hadn't spotted the Github problems! :)

Closing, as the problem with Github is now solved and the rebuild triggers successfully. Thank you for this!


Warn when no physics feature selected?

Hi. Love the rapier & avian integration design.
Accepting that a physics book page is WIP, I'd like to suggest a warning when no physics feature is selected - perhaps, for example, conditional on PhysicsBackend::Avian or Rapier being selected in tiled_settings.
Current behaviour means avian (and presumably rapier, untested) can run perfectly for all other entities, but won't spawn colliders on the tilemap, without panicking or giving any warnings. collider_callback also won't run, silently.
Regarding your proposal, this part of the crate have actually drastically changed.
If you take a look at the dev branch, the physics backend selection through tiled_settings is gone. Now we need to instanciate a dedicated physics plugin, holding the information of which backend to use. This plugin cannot be used if the corresponding feature is not enabled.
You can have a look to the corresponding example or the "soon to be published" book section.
Let me know if it works for you: always open to suggestions! :)
FYI, I plan to release this at the same time I update for bevy 0.15, once all dependent crates are up to date.

Thanks for the quick reply.
My mistake for not checking dev - yes this is a great antidote to the confusion I experienced. Much more transparent to rely on a separate plugin instantiation for the auto-collider feature, and very Bevy-like.
Since opening this issue I've been working more with v0.3.10. Being able to seamlessly combine avian and bevy_ecs_tilemap makes Bevy feel much more like a complete engine. Nice work!


Git and Github

Any plans to check in stuff directly from jsbin into Git and Github?
I'm new to this, and it's the first thing that struck me.

None, no.


add MathComitia Grant Request

Decentralized discussion board and light-weight community voting system based polkadot address and identity by Math Team
Grant Application Checklist

[Y] The application template has been copied, renamed ( project_name.md) and updated.
[Y] A BTC or Ethereum (DAI) address for the payment of the milestones is provided inside the application.
[Y] I have read and acknowledged the Terms and Conditions.
[Y] The software delivered for this grant will be released under an open-source license specified in the application.
[Y] The total funding amount of the project is below USD $30k for initial grant applications and $100k for follow-up grants.
[Y] The initial PR contains only one commit (squash if needed before submitting your PR).
[Y] The grant will only be announced once the first milestone has been accepted.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @ericfish, thank you for your submission. We will look into it as soon as possible.
In the meantime, could you (and any other contributors to the PR) sign the CLA?

Hi @ericfish, thank you for your submission. We will look into it as soon as possible.
In the meantime, could you (and any other contributors to the PR) sign the CLA?

Thanks, I have signed the CLA.

I'm not sure I understand that either. You propose to store an on-chain signature for every user action? That would mean users would have to pay a fee for every interaction. I see you mention using NFTs to incentivise users, but I'm not sure that represents a tangible solution. I like the idea behind it but if user engagement is already hard in Web 2.0, I honestly don't see this becoming a vibrant community if users have to pay just to participate, NFT or not.

Just to add something: We are generally quite interested in an on-chain reputation system. So basically combining the UI, which it seems you are planning to develop with a substrate pallet (or multiple pallets).

In the current state of the application I don't see anything in your deliverables that points to an integration with substrate. Could you clarify please?

This project is more of a dapp which based on substrate address and identity. For deliverables, the frontend will support PolkadotJS login and signature, the backend will support signature verification. And the target is tracking all the related activities based on substrate address and based on that to create the on-chain reputation system.

I'm not sure I understand that either. You propose to store an on-chain signature for every user action? That would mean users would have to pay a fee for every interaction. I see you mention using NFTs to incentivise users, but I'm not sure that represents a tangible solution. I like the idea behind it but if user engagement is already hard in Web 2.0, I honestly don't see this becoming a vibrant community if users have to pay just to participate, NFT or not.

This is a very good question. We think that's why we need this kind of light-weight voting system, because it is hard to ask the user to pay if he/she just need to contribute some information to a site. In the design of the system, the signature verification is offchain. For example, you can take a look at the vote function on https://www.polkaproject.com/#/project/29 which our team contribute the code. It tracks the vote activities based on substrate address without payment, and based on that we can have an address based the on-chain reputation system.

tracking all the related activities based on substrate address and based on that to create the on-chain reputation system

So if all your signature verification happens off-chain, how do you plan to turn it into an on-chain reputation system?
In the present state, this looks like a centralised solution having its own backend & MySQL database. The signatures might indeed be collected by your frontend, verified and written to the DB, but what's there to stop the DB owner from just altering the numbers of votes afterwards?

I see. So nothing is stored on chain, yeah I guess that's better. But I'd have to agree this is not very decentralised, if the only integration with Substrate is that votes are signed using a Substrate address that might exist somewhere on chain, which no one is gonna verify anyway. And what prevents Sybil attacks?
This is meant to be some healthy criticism by the way, not us tearing your application to pieces ;)

And what prevents Sybil attacks?

I assume an account's collected reputation will play a role in the weighing of votes.
That being said, you call it a decentralized discussion board, when there is nothing decentralised about it (other than participants receiving NFTs). I don't think that's a dealbreaker, just inaccurate unless I'm misunderstanding something.

What is a space admin? Are they identified by on-chain addresses as well?
What do Closed and In-Progress mean exactly?

Lastly, one big risk I see here is that this particular forum (MathComitia) gets overrun by spam or is insufficiently moderated; in the worst case, misleading or incendiary content gets voted to the top while the About page reads Supported by Web3 Foundation.  I would very much support a grant building a library that would allow a forum to utilize signatures for identification and on-chain identities for reputation. It would be easier if it was separate from any particular instance.

Thanks for these good questions.
The background of the project is more focused on collecting feedback / reporting scams / collecting feature requests which can utilize signatures for identification and these activities can be part of on-chain identities for reputation.

So for these scenarios the vote is more for reference, not for final decision.
We'd like to focus on user participation as higher priority, so instead of putting everything on-chain we would choose to simplify the system at the first stage.
All submitters and voters' address information will be displayed, and addresses with verified on-chain identity will be displayed with higher weight.

And we do like @semuelle 's suggestion about 'A library to utilize signatures for identification and on-chain identities for reputation', which can make the outcome of project in common use. We will research what are the common functions for this library and modify the request to this direction.

We will research what are the common functions for this library and modify the request to this direction.

@ericfish In the meantime, I'm going to close the application. Let us know when you're ready with the research/updates and then we can re-open the application!


KNX Scene failed in 0.88.1 and 0.88

**Home Assistant release with the issue: 0.88.1 and 0.88

**Last working Home Assistant release (if known): 0.87.1
**Operating environment (Hass.io/Docker/Windows/etc.): Raspberry 3+, HomeAssistant

**Component/platform: knx

**Description of problem:
KNX scene works well in previous versions, and now reports error in 0.88 and 0.88.1. and I think it is not config error from my side.
Invalid config for [scene]: Invalid platform specified. Got OrderedDict([('name', 'master_bedroom_sleep_knx'), ('platform', 'knx'), ('address', '1/3/200'), ('scene_number', 1)]). (See /home/homeassistant/.homeassistant/scene.yaml, line 22). Please check the docs at https://home-assistant.io/components/scene/
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
# /configuration.yaml
scene: !include scene.yaml

# /scene.yaml
- name: master_bedroom_sleep_knx
  platform: knx
  address: 1/3/200
  scene_number: 1

Traceback (if applicable):

Additional information:

#21256

https://github.com/home-assistant/home-assistant/issues/21256#issuecomment-466403768

Duplicate of #21256


Allow a simple method that allows capturing all output (including verbose) to a file but excluding verbose on console

Summary of the new feature / enhancement
As a Powershell Tool designer I want a command like Start/Stop-Transcript that will capture verbose output but not display it to the console So that the user of the tool gets an easy to consume minimal console experience but there is a detailed log available in case of problems with tools that run for longer than 10 mins or if the issue is not easily reproducable.
Today it seems that we either need to roll our own centralised complex logging routines or highly decorated contents of our scripts using redirection operators (something like Tee-Object 'filename' 4>$null) but this does not work consistently in many scenario's
example
function Invoke-MyTool {
Start-DetailedLog 'myfile.log'
Write-Host 'Hello World'
Write-Verbose 'Hello underworld!
Stop-DetailedLog 'myfile.log'
}

Invoke-MyTool
# or perhaps
# Invoke-MyTool -Verbose
# either would be acceptable as long as the behaviour was defined

Screen output would be
Hello World

myfile.log would be
Hello World
Hello underworld!

It would be nice to be able to have timestamps on each line in the log also
If this is possible to incorporate this functionality in to Start-Transcript then that would be great

Some of the issues related to other people trying to solve this issue
https://stackoverflow.com/questions/11973775/powershell-get-output-from-receive-job
https://github.com/PowerShell/PowerShell/issues/5848

Receive-Job -InstanceId $private:job2.InstanceID *>&1,then tee-object
If you use ps-remote, welcome to use my packaged powershell framework.
It uses multi-process, multi-threading, runs commands remotely on win-linux node pc, gets results from standard output, and writes to sqlite database. Support time period, IP address of the node pc, query (table, list).

kasini3000 site mirror:(https://github.com/kasini3000/kasini3000)
win,linux devops automation batch script framework.(It is similar to Puppet，Ansible，pipeline)
Open source, free, cross-platform
English manual: https://gitee.com/chuanjiao10/kasini3000/blob/master/docs/kasini3000_manual.xlsx
kasini3000_agent_linux Shell script,one click install powershell on linux,modify sshd_config for PsRemote.

@kasini3000 I'm sorry but I don't understand how your suggestion helps to fulfil this request
Receive-Job doesn't send seem to stdout from the job through the pipeline, it seems to flush the current stdout in the job through a different method when it is called. I think #5848 and #9585 talks about this
If I use *>&1 then I don't believe there is any way to then remove the verbose as it is all sent to the success stream, so cannot fulfil the requirement
Please provide a working example if you think it can

@SeeminglyScience Thanks for the illustrated suggestion. I wasn't aware of the internal pipe behaviour here. I will experiment with that.
I suppose that this necessitates some kind of wrapper function/script to save having to decorate every line of each function with this pipe to Tee-OutputOnly or is there a more elegant way of solving that. I suppose that the Transcript method would have this advantage.

I suppose that this necessitates some kind of wrapper function/script to save having to decorate every line of each function with this pipe to Tee-OutputOnly or is there a more elegant way of solving that? I guessed that the Transcript method would have the advantage of not needing this wrapper

I probably should have commented there, but that's very explicitly only a problem with verbose and warning. The manner in which they're written to the screen isn't controlled by formatting like everything else, but instead based on an internal property on the PSObject wrapping it. Everything else will be written as it's typically formatted, just those two records need a little bit of help.

After briefly testing it, I don't believe that it works with Receive-Job. It seems that Receive-Job doesn't pass output through the pipeline, for some reason it bypasses it and flushes outputs directly to stdout not via the pipeline. Showing with just Tee-Object
$myjob = Start-Job {Write-Host 'blah'; Write-Verbose 'blah verby'; Write-Warning 'im warning you'}
$logpath = 'blah.txt'
Receive-Job $myjob | Tee-Object -filePath $logPath

$logPath file doesn't exist
but if I run
'blah' | Tee-Object -filePath $logPath

Then $logPath contains blah as expected
I think the same thing is discussed here - and this is where I got the idea of extending Start-Transcript as that was the preferred solution there after a number of different approaches

@o-o00o-o you still need the merging redirection, so Receive-Job $myJob *>&1 | Tee-Object etc

Thanks but sorry I still can't get it to work.
I only get the Write-Host into the file using the Tee-OutputOnly and still everything written to the screen. I corrected a typo but otherwise it is the function you posted
What am I missing? Full example
function Tee-OutputOnly {
     [CmdletBinding(PositionalBinding = $false)]
     param(
         [Parameter(ValueFromPipeline)]
         [psobject] $InputObject,

         [Parameter(Position = 0)]
         [string] $FilePath,

         [Parameter()]
         [switch] $Append
     )
     begin {
         $filePipe = { Out-File @PSBoundParameters }.GetSteppablePipeline($MyInvocation.CommandOrigin)
         $filePipe.Begin($PSCmdlet)
     }
     process {
         if ($InputObject -is [System.Management.Automation.VerboseRecord]) {
             $filePipe.Process("VERBOSE: $PSItem")
             Write-Verbose $InputObject.Message
             return
         }

         if ($InputObject -is [System.Management.Automation.WarningRecord]) {
             $filePipe.Process("WARNING: $PSItem")
             Write-Warning $InputObject.Message
             return
         }

         $filePipe.Process($PSItem)
         if ($InputObject -is [System.Management.Automation.ErrorRecord]) {
             $PSCmdlet.WriteError($InputObject)
             return
         }

         if ($InputObject -is [System.Management.Automation.InformationRecord]) {
             $PSCmdlet.WriteInformation($InputObject)
             return
         }

         return $InputObject
     }
     end {
         $filePipe.End()
     }
 }

$myjob = Start-Job {
    Write-Host 'blah'
    Write-Verbose 'blah verby' -verbose
    Write-Warning 'im warning you'
}
$logpath = 'blah.txt'

then run
Receive-Job $myjob *>&1 | Tee-OutputOnly -FilePath $logpath

screen has
blah
VERBOSE: blah verby
WARNING: im warning you

but file has just
blah

I may be missing something in the script but I would want everything written to the file but everything but verbose sent to the screen

Ah yeah that one definitely acts differently. @PaulHigin might have some ideas

@WG-Security
Working security group feels this is not a security issue since it only involves existing PowerShell data streams, and the issue appears to be a problem with the Receive-Job cmdlet.


Update readme documentation

README documentation is not entirely accurate.
Update the README documentation so that it is accurate with the current implementation of the project.
In particular, not all the configuration options are documented and several of them are incorrect.

Done


Update README.md

we are uploading the readme.md file in descriptive manner to help the visitors can easy understand the use of repo.

Request accepted thank you for contribution :-)


Getting no data: NoMatchingDataError

FlexMeasures has been running nice and stable for months now, but yesterday it suddenly can not get the entsoe data from the server. I'm getting this error:
[FLEXMEASURES][2024-08-30 04:45:27,397] INFO: Importing day-ahead price data for NL (timezone Europe/Amsterdam), starting at 2024-08-30 00:00:00+02:00, up until 2024-09-01 00:00:00+02:00, from ENTSO-E at https://web-api.tp.entsoe.eu/api ...
[FLEXMEASURES][2024-08-30 04:45:27,397] INFO: Getting prices ...
[FLEXMEASURES] Task entsoe-import-day-ahead-prices encountered a problem: "". More details: {'src_module': '/usr/local/lib/python3.10/dist-packages/entsoe/decorators.py', 'src_linenr': 145, 'src_func': 'year_wrapper', 'src_code': 'raise NoMatchingDataError'}
[FLEXMEASURES] Reported task entsoe-import-day-ahead-prices status as False

Any ideas what is going on?

Well ENTSO-E sometimes is late with providing data. You can check in their transparency portal online if the data is actually available through them.
We have a second fallback cron job later in the day because it happens sometimes.

Looks like this was indeed the case.
Do you have a recommendation for what would be good times for fetching the data?

We haven't monitored Transparency's precise publication lags, but I recommend trying later in the afternoon (this already catches most delays), in the evening and just before midnight (when today's prices run out).
If you have a different source of the same prices (your energy supplier usually has them in their app), it should also be relatively straightforward to use the flexmeasures-client to enter the data by API yourself. Some energy suppliers offer their own APIs to fetch the prices, so there is some automation potential in that direction, too.

Thanks, Felix


ability to set AHRS_GPS_USE param via MAVLink

Hello Guys,
Are you guys planning to support AHRS_GPS_USE and GPS_FAILSAFE parameter setting via MAVLink? So that we can try some indoor flight experiments.
Thanks!

Is there some reason you can't set these like any other parameter?


Build failure:  firefox-[beta/devedition]-unwrapped-130.0b2

Steps To Reproduce
Steps to reproduce the behavior:

build firefox-[beta/devedition]-unwrapped-130.0b2

Build log
https://gist.github.com/khaneliman/622edcdf5cb9baa3ceb1fd3b989eb39d
Additional context
Add any other context about the problem here.
Notify maintainers
@jopejoe1

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
🔨 Welcome to khanelinix
 - system: `"x86_64-linux"`
 - host os: `Linux 6.10.7, NixOS, 24.11 (Vicuna), 24.11.20240831.12228ff`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.24.4`
 - channels(root): `""`
 - nixpkgs: `/nix/store/bd4fmzws6n5542khxbifbkr6nrygi232-source`

Add a :+1: reaction to issues you find important.

It seems that the relevant error from the logs is :
thread 'main' panicked at src/bindgen/config.rs:1125:34:
called `Result::unwrap()` on an `Err` value:
Couldn't parse config file: TOML parse error at line 364, column 1
    |
364 | \"Keyframe\" = \"Keyframe\"
    | ^
      duplicate key `Keyframe` in table `export.rename`.

The source file (servo/ports/geckolib/cbindgen.toml) is erroneous on 130.0b2, but also in b3 and b4. It seems to be fixed since 130.0b5

Should be fixed by #339997


Display additional information or test origin for failed tests

I'd be great if there were a way to either add information to tests (such as a name hint) or showing their origin file in case they are pulled in via gossfile.
For example, I split up most tests into what I call group files and test files. Group files simply pull in all tests for a particular group (ansible in this case). Like so:
# file: group_prometheus.yaml
gossfile:
    verify_node_exporter.yaml: {}
    verify_iptables.yaml: {}
    verify_acme_certs.yaml: {}
    verify_nginx.yaml: {}
    verify_prometheus.yaml: {}
    ...

Where each of these files contain tests for the component they are named after  ( verify_node_exporter.yaml for the Prometheus node-exporter, etc). This allows test files to be nice and contained but still allows us to quickly and easily add a new groups or tests.
These test files then get templated to a host and validation is done using
# file: goss.yaml
 gossfile:
    /root/goss-tests/tests/*.yaml: {}

Anyway, the problem arises when one or more tests fail. A user has no easy way of telling where the failing test originates from.
Ultimately this is a problem of information: I'd like some way to know more about the failed test. Not everyone knows the system by heart.
Say the port/listening test for port 9100 failed -- there's no immediate way of knowing what is supposed to listen on there.
It is fair to question whether this should be part of a test suite, but I think that even a little extra information would be enough to allow immediate targeted troubleshooting.
Describe the feature:
I'd be great if we can see the file a failed test originates from. Something like this (extends the documentation format).
Failures/Skipped:

Port: tcp:9100: listening:
Expected
    <bool>: false
to equal
    <bool>: true
Origin: verify_node_exporter.yaml

or even some kind of hint we can set, possibly on a per-test basis:
Failures/Skipped:

Port: tcp:9100: listening:
Expected
    <bool>: false
to equal
    <bool>: true
Hint: node-exporter listening port

Both of these solutions immediately give enough additional information to for targeted troubleshooting.
Describe the solution you'd like
This boils down to what is feasible. I guess the most simple solution would just to display the test origin in the final result. This would already be a huge improvement and sufficient for most situations.
Ideally there would be some kind of optional hint resource which can be used to add additional information to all tests contained in a file. This could also be set on a per-test basis:
# The default value
hint: node-exporter tests
command:
  exec: /bin/true
  exit-status: 0
port:
  tcp:9100:
    listening: true
    ip:
      - <IP_ADDRESS>
    # override the default
    hint: node-exporter listening port

If these fail, one would display Hint: node-exporter tests (the default set via hint resource), the other would display Hint:  node-exporter listening port.
Describe alternatives you've considered
I don't think there is any other solution or workaround for this problem at the moment.

This is similar to (but better than!) an idea I had in the past, which was to add a 'description' attribute to tests that could be printed on test failure to give a bit more information to the user on which test failed.  Being able to define it at test or file level, defaulting to the file name, would be handy when your tests are split over multiple gossfiles, possibly managed by multiple other sources.

correct me if I'm wrong but do title and meta cover the "hint" usecase?
example file defining title and meta:
$ cat goss.yaml
command:
  some_test:
    title: This is some artibrary title
    meta:
      any-key: any-value
      version: 17
      severity: very severe
      contact: call bob
      hint: node-exporter listening port
    exec: |
      echo "hi"
    stdout:
    - bye

example output:
$ goss v
FF

Failures/Skipped:

Title: This is some artibrary title
Meta:
    any-key: any-value
    contact: call bob
    hint: node-exporter listening port
    severity: very severe
    version: 17
some_test: exit-status: Error: Missing Required Attribute
Command: some_test: stdout: patterns not found: [bye]

Total Duration: 0.004s
Count: 2, Failed: 2, Skipped: 0

Just realized they're documented in the readme, but not the manual https://github.com/goss-org/goss#manually-editing-goss-files
Basically title can be set to any string and meta can be set to any key/value (both are stored strings).

Oh wow, I somehow completely missed that.
After playing around with these a bit, the only criticism I have is that it seems that neither can be set at the file level?
# goss.yaml
title: testing file level titles
command:
 fail_w/o_title:
   exec: /bin/false
   exit-status: 0
 fail_w_title:
   title: This test has a title set
   exec: /bin/false
   exit-status: 0

Output:
$ goss v
FF

Failures/Skipped:

Command: fail_w/o_title: exit-status:
Expected
    <int>: 1
to equal
    <int>: 0

Title: This test has a title set
Command: fail_w_title: exit-status:
Expected
    <int>: 1
to equal
    <int>: 0

Total Duration: 0.002s
Count: 2, Failed: 2, Skipped: 0

I guess it'd be nice to be able to set title and meta attributes on a file level that act as default values for tests that don't have these set.
The current limitation can be worked around by setting the same title for each test (I'd simply set the file name) but that seems like a lot of unnecessary work and code.
Apart from that, that's exactly what I was looking for. Thanks!

@sshipway just want to confirm, does the current functionality of title/meta meet your suggestion above?
@pahaeanx I like your suggestion, but it might be a little (long) whole before I get to it to be honest.
Mostly because, I'm thinking as a future enhancement Goss should have the ability to group tests into a test suite.. that suite can then have title/meta.. but it can also have other things like setup/teardown.
Perhaps the file will be the group.. or maybe there would be some other top level suite concept introduced that allows multiple suites to be set for a given file.
Once I get through the final Goss v4 release, I'll open up some issues mapping out the future roadmap. Hopefully, I can stimulate some OSS contributions to the projects for some of them.


Add CEL validation to presubmit

What type of PR is this?
/kind test
/kind feature

What this PR does / why we need it:
Add CEL validations to verify-examples-kind.sh. This will resuse the same kind cluster and run tests as part of presubmit
Which issue(s) this PR fixes:

Fixes https://github.com/kubernetes-sigs/gateway-api/issues/2239
Does this PR introduce a user-facing change?:

Thanks @gauravkghildiyal!
/lgtm
/approve
/release-note-none


Can Eureka server hold N number of crashed instance's details? - Question

Team,
I am using Eureka server and clients are registering to the server.

After each client registering to eureka server, it uses the instance id given by Eureka server as lock in Redis
When one of the client (or instance) crash a new one is spun up but
I want to inform new instance that the previous instance crashed and it has to now process previous instance's work from Redis.
In order to perform I can employ an external tool but would like to know if Eureka some how holds say N crashed instance's details?
If it holds then that will make my job easy.

Kindly confirm.

This use case is likely a poor fit for Eureka, Eureka is eventually consistent and even the "crash" won't be immediately recorded by Eureka, the crashed instance will miss 2 heartbeats and will get evicted, that's also the answer to your question on if Eureka holds crashed instances (no).
Based on the description you posted here, it sounds to me like you're sharding some work and want the shard leader to be the sole processor at any given time.
I suggest you partition the work and elect the leader within each partition for processing, look into distributed locking, depending what type of guarantees you want it may be totally doable with Redis itself.


Improve UI of Sorting Columns

Prerequisites

[X] I am using the latest version of Locust
[X] I am suggesting a new feature, not asking a question

Description
I realized (a little bit late) that MUI has a TableSortLabel component that we could leverage to improve the UI when sorting the columns in the different tables.

The improvement would display arrows, indicating not only which column is being sorted, but also whether the sort is in reverse or not.
The one trade-off is that with the addition of these arrows in the column head, we will never have enough room that the text in the head doesn't wrap (the # Requests / # Fails always wraps)

Perhaps we can use our old friend non-breaking space ( ) for the #-columns?

Yes you can of course, but then you get our old friend vertical scrollbar 😂

Well that sucks... I dont really have any other ideas... I dont think sorting is used very often so it is not top prio...

Found a bit of a workaround, the scrollbar disappears > =1388px

Perhaps we could use "dense padding" to further compress it? I'm not a fan of 3-row headers :P

Yeah but the "small" table only changes the padding between rows, not between columns :/

Huh... annoying... sorry, I dont have any ideas...

This is one reason I'm not the biggest fan of MUI, it can really limit you in terms of customization :/ I tried "hacking" the padding as well, but then the alignment for the whole table becomes messed up

Might be best to just leave it as it for now

Yea that is probably best for now.


After the command is localized, it cannot be searched by keywords.

ADD ISSUE DESCRIPTION HERE
Version: 1.81.1
Commit: 6c3e3dba23e8fadc360aed75ce363ba185c49794
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Embedder: vscode.dev

Steps:

Open vscode.dev or VS Code App
Switch to a language other than the default, for example, Simplified Chinese.
Search command by shortcut key, for example, search toggle, some matching commands will appear.
But I search the keyword directly (incomplete command keyword), nothing will be matched.

However, in the English environment, commands can be searched through keywords.

This is similar to https://github.com/microsoft/vscode/issues/157015 but easier to fix.
It isn't just scoped to Output.

There are a lot of these... and it all comes back to this allowing string here:
https://github.com/microsoft/vscode/blob/79277e0b8f045483a49f8a6834d476410c0d3cba/src/vs/workbench/common/views.ts#L78
when I make that only accept ILocalizedString I get 47 compilation errors 😅
So, to fix this... we just need to:

Remove string as an option for title in IViewContainerDescriptor
Fix all compilation errors which really just means replacing all string titles with ILocalizedString titles

This is similar to #157015 but easier to fix.
It isn't just scoped to Output.
There are a lot of these... and it all comes back to this allowing string here:
https://github.com/microsoft/vscode/blob/79277e0b8f045483a49f8a6834d476410c0d3cba/src/vs/workbench/common/views.ts#L78
when I make that only accept ILocalizedString I get 47 compilation errors 😅
So, to fix this... we just need to:

Remove string as an option for title in IViewContainerDescriptor
Fix all compilation errors which really just means replacing all string titles with ILocalizedString titles

@TylerLeonhardt I have already followed your suggested steps and have dealt with it.


Review and test docker setup

@parndt when you have time it would be great if you could quickly review the docker setup (I think this would be the best way to install it on the target server but please let me know if you think otherwise)

have created a new branch to try things out docker-config
was able to run docker-compose up locally
running docker-compose run app rake db:setup is giving me errors though, likely related to my configuration

could not translate host name "db" to address: Temporary failure in name resolion
Couldn't create 'marine_defrag_development' database. Please check your configuration.
rake aborted!
ActiveRecord::ConnectionNotEstablished: could not translate host name "db" to dress: Temporary failure in name resolution

@tmfrnz got it working

I pushed to the branch 😄 you may have to run docker-compose build then run docker-compose up and then docker-compose run app rake db:setup

awesome, thanks so much for looking into it right away! I will try to get this going on the target system today and let you know (if I fail would you be able to have a look if I provide you with the gridscale login and ssh details?


Issue using BertTokenizer (AttributeError)

Hey there,
I'm trying to use your transofmers-interpret package, while using a bert-base-uncased model with the corresponding tokenizer. I'm loading the tokenizer using:
tokenizer = BertTokenizer.from_pretrained( BERT_USED_MODEL_PATH, do_lower_case=True )
When I use the interpreter, using:
from transformers_interpret import SequenceClassificationExplainer     cls_explainer = SequenceClassificationExplainer(model=model,                                                     tokenizer=tokenizer)
I get an error:
Traceback (most recent call last):   File "/home/khazmadoz/ML_GG/main.py", line 232, in <module>     cls_explainer = SequenceClassificationExplainer(model=model,   File "/home/khazmadoz/anaconda3/lib/python3.9/site-packages/transformers_interpret/explainers/text/sequence_classification.py", line 53, in __init__     super().__init__(model, tokenizer)   File "/home/khazmadoz/anaconda3/lib/python3.9/site-packages/transformers_interpret/explainer.py", line 22, in __init__     self.ref_token_id = self.tokenizer.pad_token_id AttributeError: 'BertTokenizer' object has no attribute 'pad_token_id'
Do you know how to fix this? The tokenizer has an attribute 'pad_token' but no 'pad_token_id'.
Thank you,
David

Hi @Khazmadoz, is this a custom tokenizer? It seems odd that it would have a pad_token but not a pad_token_id which is just its numerical form, would you be able to run the code below and paste your output:
tokenizer = AutoTokenizer.from_pretrained(PATH_TO_YOUR_TOKENIZER)
print(tokenizer.all_special_tokens)
print(tokenizer.all_special_ids)

Hey @cdpierse,
the script I use was one of my colleagues who got it from another guy and I came to the conclusion that it was just not nicely coded. I adapted another example of twitter analysis using a multiclass model using an AutoTokenizer. Now it works nicely 😄 Thank you, for your help anyway. However, I wondered if there was a solution to display all the words in a dataset the fine-tuned model used for a decision in favor of a chosen class (I think in lime it’s kind of a tree). I don’t no, if you already implemented something like that, I will deep dive into the documentation to see, if there is something. Else, it would be a very nice feature 😊


Coalesce response from docker images

On the engine side, filter the response for a docker images command to remove any entry that has anImage    <none> when there is also an entry for anImage    aTag for the same image ID.

PR merged on engine for docker 1.12 release: https://github.com/docker/docker/pull/23549


Update version in market

The version in the ionic market should be updated or at least specified in the description that the lastest version can be found on github

This template is deprecated, you should use Ionic 3 at least 👍


hishtory changes exit code

Hi @ddworken!
I didn't notice it when I started to use your wonderful tool, but suddenly I realized that my command line prompt now always shows me 0 exit code.
I have a prompt_comm() function that reads last command exit code and shows it, but now it looks like the last code is returned by hishtory command, so it's always 0.
I'm not so good when it comes to bash scripts. Do you know if it would be easy to change hishtory bash script to make exit code of the command that was run available for the prompt_comm() funtiofunction?
Here is how my command lie behaves without hishtory:
[0] $ ^C
[130] $ echi
bash: echi: command not found
[127] $

As you can see, the exit code shown right away.
Now with .hishtory/config.sh file:
[0] $ ^C
[0] $ echo $?
130
[0] $ echi
bash: echi: command not found
[0] $ echo $?
127

I thought I can change my prompt command, but it doesn't matter when I save exit code, in the beginning of the function, or at the end, it's always 0, unfortunately.
Thank you in advance for your time.

Hmm, interesting. Can you share exactly how you have your prompt command configured? And what version of bash you're using? I tried to reproduce this using this example but it seems to be working fine for me.

I tried to minimize example for reproducing the issue
function prompt_comm()
{
    local EXIT=${?};
    PS1="\u\h:\w  \t\n[${EXIT}] \$";
}
PROMPT_COMMAND="prompt_comm"

HISTCONTROL=ignoredups:ignorespace:erasedups
shopt -s histappend
shopt -s checkwinsize
shopt -s globstar

export HISHTORY_SERVER=https://private.server
HISHTORY_SERVER=https://private.server

# Hishtory Config:
export PATH="$PATH:/home/grbit/.hishtory"
source $HOME/.hishtory/config.sh

$HOME/.hishtory/config.sh is a copy of https://raw.githubusercontent.com/ddworken/hishtory/1c33189f38cca8e31e1e90923f39c7de4c06b4da/client/lib/config.sh

Thank you for the time spent on this, I think I found a solution:
export HISHTORY_SERVER=https://private.server
HISHTORY_SERVER=https://private.server
export PATH="$PATH:/home/grbit/.hishtory"
source $HOME/.hishtory/config.sh

function prompt_comm()
{
    local EXIT=${?};
    PS1="\u\h:\w  \t\n[${EXIT}] \$";
}
PROMPT_COMMAND="prompt_comm"

HISTCONTROL=ignoredups:ignorespace:erasedups
shopt -s histappend
shopt -s checkwinsize
shopt -s globstar

Just moving hishtory source file before the moment I set PROMPT_COMMAND variable helps. I don't see this as an issue anymore, still I'm a bit curious to know the exact reason. So, unless you want to dig into bash a bit, the issue could be closed.

Ok, thank you for the detailed description! I now see what is happening here. 3a0c08c should fix this, I'll get it into the next release once it passes tests on actions.