[BUG] Hub.Register() Errors in Release, works fine in Debug

Describe the bug
In a Xamarin Forms project implementing the Azure Notification Hub throws an exception in release mode that it does not exhibit during debugging that causes remote PNS registrations to fail.
Exception or Stack Trace
{
      "JniPeerMembers": {
        "ManagedPeerType": "WindowsAzure.Messaging.NotificationHubException, Xamarin.Azure.NotificationHubs.Android, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null",
        "JniPeerTypeName": "com/microsoft/windowsazure/messaging/NotificationHubException",
        "JniPeerType": {
          "PeerReference": {
            "Handle": {
              "value": 15194
            },
            "Type": 2,
            "IsValid": true
          },
          "Name": "com/microsoft/windowsazure/messaging/NotificationHubException"
        },
        "InstanceMethods": {},
        "InstanceFields": {},
        "StaticMethods": {},
        "StaticFields": {}
      },
      "StatusCode": 400,
      "StackTrace": "
      at Java.Interop.JniEnvironment+InstanceMethods.CallObjectMethod (Java.Interop.JniObjectReference instance,
      Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x0006e] in <3f19c9fc57a34ac9a473579164f8755e>:0 \n
      at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualObjectMethod (System.String encodedMember,
      Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0002a] in <3f19c9fc57a34ac9a473579164f8755e>:0 \n
      at WindowsAzure.Messaging.NotificationHub.Register (System.String pnsHandle, System.String[] tags) [0x00043] in <15ee46979411457bb0abfed951cc2b1e>:0 \n
      at NorthNorfolk.Mobile.Client.Droid.Notifications.FirebaseService.SendRegistrationToServer (System.String token) [0x00078] in <f0d16bc144b04854b79558630f62c467>:0 \n
      --- End of managed WindowsAzure.Messaging.NotificationHubException stack trace

      ---\ncom.microsoft.windowsazure.messaging.NotificationHubException\n\tat
      com.microsoft.windowsazure.messaging.Connection.executeRequest(Connection.java:254)\n\tat
      com.microsoft.windowsazure.messaging.Connection.executeRequest(Connection.java:170)\n\tat
      com.microsoft.windowsazure.messaging.Connection.executeRequest(Connection.java:130)\n\tat
      com.microsoft.windowsazure.messaging.NotificationHub.upsertRegistrationInternal(NotificationHub.java:446)\n\tat
      com.microsoft.windowsazure.messaging.NotificationHub.registerInternal(NotificationHub.java:410)\n\tat
      com.microsoft.windowsazure.messaging.NotificationHub.register(NotificationHub.java:148)\n\tat
      com.MYAPPNAME.mobile.FirebaseService.n_onNewToken(Native Method)\n\tat
      com.MYAPPNAME.mobile.FirebaseService.onNewToken(FirebaseService.java:38)\n\tat
      com.google.firebase.messaging.FirebaseMessagingService.zzd(Unknown Source:86)\n\tat
      com.google.firebase.iid.zzg.run(Unknown Source:4)\n\tat
      java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)\n\tat
      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)\n\tat
      com.google.android.gms.common.util.concurrent.zza.run(Unknown Source:6)\n\tat
      java.lang.Thread.run(Thread.java:919)\n",
      "JniIdentityHashCode": 19017287,
      "PeerReference": {
        "Handle": {
          "value": 19298
        },
        "Type": 2,
        "IsValid": true
      },
      "Handle": {
        "value": 19298
      },
      "Message": null,
      "Data": {},
      "InnerException": null,
      "Source": "mscorlib",
      "HResult": -2146233088
}

To Reproduce
Simply run the example project for Xamarin Forms focusing on the android platform, switch to release mode and look out for the errors in the logcat.
Code Snippet
FireBaseService in the Android Native project:
 using Android.App;
 using Android.Content;
 using Android.Util;
 using AndroidX.Core.App;
 using Firebase.Messaging;
 using Newtonsoft.Json;
 using Mobile.Client.Configuration;
 using System;
 using System.Linq;
 using WindowsAzure.Messaging;
 using Xamarin.Forms;

 namespace Mobile.Client.Droid.Notifications
 {
     [Service]
     [IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })]
     [IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]
     public class FirebaseService : FirebaseMessagingService
     {
         const string TAG = "FirebaseService";

         public override void OnMessageReceived(RemoteMessage message)
         {
             Log.Debug(TAG, "From: " + message.From);
             if (message.GetNotification() != null)
             {
                 //These is how most messages will be received
                 Log.Debug(TAG, "Notification Message Body: " + message.GetNotification().Body);
                 SendNotification(message.GetNotification().Body);
             }
             else
             {
                 //Only used for debugging payloads sent from the Azure portal
                 SendNotification(message.Data.Values.First());
             }
         }

         public override async void OnNewToken(string token)
         {
             Log.Info(TAG, $"Registration Token: {token}");
             App.Current.Properties["NotificationToken"] = token;
             await App.Current.SavePropertiesAsync();
             SendRegistrationToServer(token);
         }

         private void SendNotification(string messageBody)
         {
             var intent = new Intent(this, typeof(MainActivity));
             intent.AddFlags(ActivityFlags.ClearTop);
             var pendingIntent = PendingIntent.GetActivity(this, 0, intent, PendingIntentFlags.UpdateCurrent);

             var notificationChannelName = AppSettingsManager.Settings["NotificationChannelName"];

             var notificationBuilder = new NotificationCompat.Builder(this, notificationChannelName);

             notificationBuilder.SetContentTitle("Notification")
                         .SetSmallIcon(Resource.Drawable.nndc_logo)
                         .SetContentText(messageBody)
                         .SetAutoCancel(true)
                         .SetAllowSystemGeneratedContextualActions(true)
                         .SetShowWhen(false)
                         .SetContentIntent(pendingIntent);

             var notificationManager = NotificationManager.FromContext(this);

             notificationManager.Notify(0, notificationBuilder.Build());

             MessagingCenter.Send(App.Current, "NotificationRecieved");
         }

         private void SendRegistrationToServer(string token)
         {
             try
             {
                 var notificationHubName = AppSettingsManager.Settings["NotificationHubName"];
                 var listenConnectionString = AppSettingsManager.Settings["ListenConnectionString"];
                 var subscriptionTags = AppSettingsManager.Settings["SubscriptionTags"]?.Split(",");
                 var fCMTemplateBody = AppSettingsManager.Settings["FCMTemplateBody"];

                 NotificationHub hub = new NotificationHub(notificationHubName, listenConnectionString, this);
                 Log.Info(TAG, $"Created hub object: {hub.NotificationHubPath}");

                 // register device with Azure Notification Hub using the token from FCM
                 Registration registration = hub.Register(token, subscriptionTags);
                 Log.Info(TAG, $"Registered token and tags: {registration.PNSHandle}");

                 // subscribe to the SubscriptionTags list with a simple template.
                 string pnsHandle = registration.PNSHandle;
                 Log.Info(TAG, $"PNS Handle: {pnsHandle}");

                 TemplateRegistration templateReg = hub.RegisterTemplate(pnsHandle, "defaultTemplate", fCMTemplateBody, subscriptionTags);

                 Log.Info(TAG, $"Registered template: {templateReg.NotificationHubPath}");
             }
             catch (Exception e)
             {
                 Log.Info(TAG, $"PNS REGISTRATION EXCEPTION: {JsonConvert.SerializeObject(e)}");
                 //Log.Error("DEBUG", $"Error registering device: {e.Message}");
             }
         }
     }
 }

Android Manifest:
<?xml version="1.0" encoding="utf-8"?>
  <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.android.mobile" android:installLocation="auto">
  	<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="28" />
  	<!--android:extractNativeLibs="true" had to be added below due to a VS/Xamarin Bug: https://github.com/xamarin/xamarin-android/issues/4990-->
  	<application android:label="APPNAME" android:icon="@mipmap/icon" android:extractNativeLibs="true" android:roundIcon="@mipmap/icon_round">
  		<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver" android:exported="false" />
  		<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
          <action android:name="com.google.android.c2dm.intent.RECEIVE" />
          <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
          <category android:name="${applicationId}" />
        </intent-filter>
  		</receiver>
  	</application>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>

    <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
    <uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  	<uses-permission android:name="android.permission.USE_FINGERPRINT" />
  	<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
  	<uses-permission android:name="android.permission.USE_BIOMETRIC" />
  	<uses-permission android:name="android.permission.BLUETOOTH" />
  </manifest>

Expected behavior
I would expect this to register the device with the notification hub and be visible as a registration in Service Bus Explorer.
Setup (please complete the following information):

OS: Ran against Android OS 10 (SDK 29) primarily.
IDE : Visual Studio : Version 16.8.1
Version of the Library used:
Xamarin.Azure.NotificationHubs.Android
Version: 1.1.3

Howdy - I've seen reports of similar issues. In those cases, the Xamarin.Android Release profile was using a code shrinker that was more (read: too) aggressive than the Debug profile. To see if this is your issue, you'll need to ensure that the proguard configuration file is setup to not strip out anything in the com.microsoft.windowsazure.messaging.notificationhubs namespace. Something like:
-keep class com.microsoft.windowsazure.messaging.notificationhubs.** { <init>(***); }

Howdy - I've seen reports of similar issues. In those cases, the Xamarin.Android Release profile was using a code shrinker that was more (read: too) aggressive than the Debug profile. To see if this is your issue, you'll need to ensure that the proguard configuration file is setup to not strip out anything in the com.microsoft.windowsazure.messaging.notificationhubs namespace. Something like:
-keep class com.microsoft.windowsazure.messaging.notificationhubs.** { <init>(***); }

Apologies for a slow reply. I'll look to try this today; as far as I was aware however I don't believe I had a code shrinker set on the release build. But it wouldn't surprise me if there was something strange going on under the hood of the release build so I'll investigate further and report back.

Howdy - I've seen reports of similar issues. In those cases, the Xamarin.Android Release profile was using a code shrinker that was more (read: too) aggressive than the Debug profile. To see if this is your issue, you'll need to ensure that the proguard configuration file is setup to not strip out anything in the com.microsoft.windowsazure.messaging.notificationhubs namespace. Something like:
-keep class com.microsoft.windowsazure.messaging.notificationhubs.** { <init>(***); }

Apologies for a slow reply. I'll look to try this today; as far as I was aware however I don't believe I had a code shrinker set on the release build. But it wouldn't surprise me if there was something strange going on under the hood of the release build so I'll investigate further and report back.

So I actually set the R8 shrinker to run as it was set to blank, that's produced the following error:
{
  "JniPeerMembers": {
    "ManagedPeerType": "WindowsAzure.Messaging.NotificationHubException, Xamarin.Azure.NotificationHubs.Android, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null",
    "JniPeerTypeName": "com/microsoft/windowsazure/messaging/NotificationHubException",
    "JniPeerType": {
      "PeerReference": {
        "Handle": {
          "value": 17866
        },
        "Type": 2,
        "IsValid": true
      },
      "Name": "com/microsoft/windowsazure/messaging/NotificationHubException"
    },
    "InstanceMethods": {},
    "InstanceFields": {},
    "StaticMethods": {},
    "StaticFields": {}
  },
  "StatusCode": 400,
  "StackTrace": "  at Java.Interop.JniEnvironment+InstanceMethods.CallObjectMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x0006e] in <3f19c9fc57a34ac9a473579164f8755e>:0 \n  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0002a] in <3f19c9fc57a34ac9a473579164f8755e>:0 \n  at WindowsAzure.Messaging.NotificationHub.Register (System.String pnsHandle, System.String[] tags) [0x00043] in <254d369ec5544bb1b606035994077f91>:0 \n  at NorthNorfolk.Mobile.Client.Droid.Notifications.FirebaseService.SendRegistrationToServer (System.String token) [0x00078] in <4b8b745c15df475a92a1855a0ba61d95>:0 \n  --- End of managed WindowsAzure.Messaging.NotificationHubException stack trace ---\ncom.microsoft.windowsazure.messaging.NotificationHubException\n\tat com.microsoft.windowsazure.messaging.Connection.executeRequest(Unknown Source:146)\n\tat com.microsoft.windowsazure.messaging.Connection.executeRequest(Unknown Source:134)\n\tat com.microsoft.windowsazure.messaging.Connection.executeRequest(Unknown Source:7)\n\tat com.microsoft.windowsazure.messaging.NotificationHub.upsertRegistrationInternal(Unknown Source:22)\n\tat com.microsoft.windowsazure.messaging.NotificationHub.registerInternal(Unknown Source:48)\n\tat com.microsoft.windowsazure.messaging.NotificationHub.register(Unknown Source:27)\n\tat crc64d75b20eac0c397e9.FirebaseService.n_onNewToken(Native Method)\n\tat crc64d75b20eac0c397e9.FirebaseService.onNewToken(Unknown Source:0)\n\tat com.google.firebase.messaging.FirebaseMessagingService.handleIntent(Unknown Source:53)\n\tat com.google.firebase.messaging.EnhancedIntentService.lambda$processIntent$0$EnhancedIntentService(Unknown Source:1)\n\tat com.google.firebase.messaging.EnhancedIntentService$$Lambda$0.run(Unknown Source:6)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)\n\tat com.google.android.gms.common.util.concurrent.zza.run(Unknown Source:7)\n\tat java.lang.Thread.run(Thread.java:764)\n",
  "JniIdentityHashCode": 196544507,
  "PeerReference": {
    "Handle": {
      "value": 18122
    },
    "Type": 2,
    "IsValid": true
  },
  "Handle": {
    "value": 18122
  },
  "Cause": null,
  "Message": null,
  "Data": {},
  "InnerException": null,
  "Source": "mscorlib",
  "HResult": -2146233088
}

I can see that there's a reference to a status code this time and a 400 error. Any thoughts on what could be causing that because as far as I know this is all set up exactly as it should be based on the Microsoft documentation.

So I actually set the R8 shrinker to run as it was set to blank, that's produced the following error:
{
  "JniPeerMembers": {
    "ManagedPeerType": "WindowsAzure.Messaging.NotificationHubException, Xamarin.Azure.NotificationHubs.Android, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null",
    "JniPeerTypeName": "com/microsoft/windowsazure/messaging/NotificationHubException",
    "JniPeerType": {
      "PeerReference": {
        "Handle": {
          "value": 17866
        },
        "Type": 2,
        "IsValid": true
      },
      "Name": "com/microsoft/windowsazure/messaging/NotificationHubException"
    },
    "InstanceMethods": {},
    "InstanceFields": {},
    "StaticMethods": {},
    "StaticFields": {}
  },
  "StatusCode": 400,
  "StackTrace": "  at Java.Interop.JniEnvironment+InstanceMethods.CallObjectMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x0006e] in <3f19c9fc57a34ac9a473579164f8755e>:0 \n  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0002a] in <3f19c9fc57a34ac9a473579164f8755e>:0 \n  at WindowsAzure.Messaging.NotificationHub.Register (System.String pnsHandle, System.String[] tags) [0x00043] in <254d369ec5544bb1b606035994077f91>:0 \n  at NorthNorfolk.Mobile.Client.Droid.Notifications.FirebaseService.SendRegistrationToServer (System.String token) [0x00078] in <4b8b745c15df475a92a1855a0ba61d95>:0 \n  --- End of managed WindowsAzure.Messaging.NotificationHubException stack trace ---\ncom.microsoft.windowsazure.messaging.NotificationHubException\n\tat com.microsoft.windowsazure.messaging.Connection.executeRequest(Unknown Source:146)\n\tat com.microsoft.windowsazure.messaging.Connection.executeRequest(Unknown Source:134)\n\tat com.microsoft.windowsazure.messaging.Connection.executeRequest(Unknown Source:7)\n\tat com.microsoft.windowsazure.messaging.NotificationHub.upsertRegistrationInternal(Unknown Source:22)\n\tat com.microsoft.windowsazure.messaging.NotificationHub.registerInternal(Unknown Source:48)\n\tat com.microsoft.windowsazure.messaging.NotificationHub.register(Unknown Source:27)\n\tat crc64d75b20eac0c397e9.FirebaseService.n_onNewToken(Native Method)\n\tat crc64d75b20eac0c397e9.FirebaseService.onNewToken(Unknown Source:0)\n\tat com.google.firebase.messaging.FirebaseMessagingService.handleIntent(Unknown Source:53)\n\tat com.google.firebase.messaging.EnhancedIntentService.lambda$processIntent$0$EnhancedIntentService(Unknown Source:1)\n\tat com.google.firebase.messaging.EnhancedIntentService$$Lambda$0.run(Unknown Source:6)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)\n\tat com.google.android.gms.common.util.concurrent.zza.run(Unknown Source:7)\n\tat java.lang.Thread.run(Thread.java:764)\n",
  "JniIdentityHashCode": 196544507,
  "PeerReference": {
    "Handle": {
      "value": 18122
    },
    "Type": 2,
    "IsValid": true
  },
  "Handle": {
    "value": 18122
  },
  "Cause": null,
  "Message": null,
  "Data": {},
  "InnerException": null,
  "Source": "mscorlib",
  "HResult": -2146233088
}

I can see that there's a reference to a status code this time and a 400 error. Any thoughts on what could be causing that because as far as I know this is all set up exactly as it should be based on the Microsoft documentation.

Also not sure if it's relevant but while looking at logcat I get the following warning just after the above error:
A connection to https://[Our Azure Notification Hub name].servicebus.windows.net/ was leaked. Did you forget to close a response body?

Also not sure if it's relevant but while looking at logcat I get the following warning just after the above error:
A connection to https://[Our Azure Notification Hub name].servicebus.windows.net/ was leaked. Did you forget to close a response body?


Concurrency testing using a forking approach

The issue: https://github.com/zendesk/racecar/issues/188
Some discussion on a previous implementation approach on this PR: https://github.com/zendesk/racecar/pull/221 - this PR is an initial draft to continue the conversation.
Adds a ConcurrentRunner, which uses forking to allow concurrent processing:

Adds the code in a way that does not affect existing APIs (you never know what your users will decide to depend on)
Includes quite a big overhaul of the existing integration test so that we have a fresh topic for each spec, and we also clean up the topics at the end.

What hasn't been done yet?

Extensive testing
Some kind of benchmarking in a semi-realistic setup. Few possible scenarios:

Consuming a pile of messages and writing one straight out again
Consuming a pile of messages and syncing it into a database

Outstanding question(s):

Should there be a hard limit on max concurrency?

Try rebasing on master to get the tests working again. Also, would you like to extract the improvements to the test suite to a separate PR and get that merged first?

Very sensible idea! 👍  https://github.com/zendesk/racecar/pull/225

One of the workers somehow receives a shutdown signal - in this case,
we do the same as above, initiating termination and waiting for all of
the workers to shut down

Is there a case to be made for restarting that worker instead, or does that expand the state space too much?

Is there a case to be made for restarting that worker instead, or does that expand the state space too much?

I'd maybe like to have this running as an experimental feature, and see if 'quiet' deaths of workers is a common occurrence. From what I can see, exceptions (aside from on startup) are rescued within the Racecar::Runner itself, and baked into the retry capabilities. Perhaps if it turns out the consumers can die on their own (and it turns out to be somewhat common), we can explore the restart capabilities.


look into namespaces in i18next

See https://react.i18next.com/guides/multiple-translation-files
Currently everything is in .json
we could split it up, so we have a

common.json
apps.json
setup.json
....

We also need to check how weblate handles these multiple files.

Just "look" into it, action will be done in 1.2.0

Worked well


Upgrade open package to v5.0.1

This fixes #2724 by updating the open package to the latest version, which handles spaces in paths to apps properly on Windows.

Thanks!


Add Rahul Prabhu as Author

Added bio and avatar for Rahul Prabhu under a new folder under authors.

You can view the deploy preview version of the website to see how your changes would look. It doesn't look quite right.

I think you need to rename image.md -> _image.md to match how it is in other people have. I'm not entirely sure the difference, but I think _index.md is used for "asset bundles", which this is an example of. Here's an overview, but I found it a bit confusing.

Looks good!


Cannot unban

Hello
When I go to SERVER -> Banlist it just empty.. I can't see any bans.
Is it how it suppose to work?
Mumble 1.2.8
Umumur 0.2.5
Regards Kristian

@klausenbusk Its been a while, but could you try if the current master resolves your issue?


help

I'm so sorry master A1ive; Please I need help at 2 points in the ventoy_browser.c code of ventoyun, can you help me please?
1st one
https://github.com/ventoy/Ventoy/blob/d0e10f8e48d4550cd484a2d114ef97f8a3dacaea/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_browser.c#L203C5-L208C6
I edited this part as follows
{
    browser_ssprintf(mbuf, "menuentry \"%s\" --class=vtoydisk {\n"
        "  set browser_dir=0x%lx \n"
        "  vt_browser_dir %s,%d $browser_dir /\n"
        "}\n",
        title, disk->name, partition->number + 1, (ulong)fs);
}

2nd one
https://github.com/ventoy/Ventoy/blob/d0e10f8e48d4550cd484a2d114ef97f8a3dacaea/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_browser.c#L370C9-L384C10
    {
        grub_snprintf(node->menuentry, sizeof(node->menuentry),
            "menuentry \"%-10s [%s]\" --class=vtoydir {\n"
            "  set browser_dir=0x%lx \n"
            "  vt_browser_dir %s $browser_dir \"%s/%s\"\n"
            "}\n",
            "DIR", filename, g_menu_device, (ulong)g_menu_fs, g_menu_path_buf, filename);
    }
    else
    {
        grub_snprintf(node->menuentry, sizeof(node->menuentry),
            "menuentry \"[%s]\" --class=vtoydir {\n"
            "  set browser_dir=0x%lx \n"
            "  vt_browser_dir %s $browser_dir \"%s/%s\"\n"
            "}\n",
            filename, g_menu_device, (ulong)g_menu_fs, g_menu_path_buf, filename);
    }

Is this change suitable for the code structure? If not, can you write the correct one? Please, I'm sorry I couldn't find any other way to contact you.

https://forums.ventoy.net/showthread.php?tid=2604
I opened a topic here in the ventoy forum, but I couldn't make any progress on the help.

{
    browser_ssprintf(mbuf, "menuentry \"%s\" --class=vtoydisk {\n"
        "  set browser_dir=0x%lx \n"
        "  vt_browser_dir %s,%d $browser_dir /\n"
        "}\n",
        (ulong)fs, title, disk->name, partition->number + 1);
}

    {
        grub_snprintf(node->menuentry, sizeof(node->menuentry),
            "menuentry \"%-10s [%s]\" --class=vtoydir {\n"
            "  set browser_dir=0x%lx \n"
            "  vt_browser_dir %s $browser_dir \"%s/%s\"\n"
            "}\n",
            "DIR", filename, (ulong)g_menu_fs, g_menu_device, g_menu_path_buf, filename);
    }
    else
    {
        grub_snprintf(node->menuentry, sizeof(node->menuentry),
            "menuentry \"[%s]\" --class=vtoydir {\n"
            "  set browser_dir=0x%lx \n"
            "  vt_browser_dir %s $browser_dir \"%s/%s\"\n"
            "}\n",
            filename, (ulong)g_menu_fs, g_menu_device, g_menu_path_buf, filename);
    }

Why not use chatGPT?

sorry @a1ive master we compiled ventoy with the code you edited but
With the expression here, browser_dir=0x%lx does not bring the value of 0x%lx to $browser_dir, please what should I do?


Support ..expr in math (fixes #938)

The idea wasn't that ..# is an operator, but more that .. followed by an expression works. Other valid expressions include plain variables (e.g. pi) and strings (although these would naturally result in an error when spreading, but not at the parser stage). You can observe how variables work in #let var = "lim"; $op(var)$. Similarly #let array = ((1, 2), (3, 4)); $mat(..array)$ should work without a hashtag.

I'm not entirely sure how to best implement this myself, but .. shouldn't be parsed as a spread in any math_expr, only in argument lists. Similar to named arguments.

Shucks. Would it make sense to still lex it as .., but then convert it to a text node in the parsing stage if we find that token outside of function args? Not sure how easy that'd be but it's my current thought.

Shucks. Would it make sense to still lex it as .., but then convert it to a text node in the parsing stage if we find that token outside of function args?

Possibly. But it should probably result in two text nodes, one for each symbol. Alternatively, the parser needs to be smarter about this instead of the lexer. In any case, it's gonna be hacky (which is the reason I didn't wanna do it in the first place).


NOTICK - Fix docs for API used to check registration progress

Slight adjustment to the docs for the API used to check registration progress to reflect the holding identity corresponds to the identity on behalf of which progress is checked (not the identity the registration corresponds to).

I just saw that we have the same wrong docs in RegistrationStatusSpecificRpcRequest.avsc too in corda-api. Can we do the same adjustment as in this PR there too?


Feature/smart form reset

See https://github.com/VulcanJS/Vulcan/pull/2127

I didn't really follow that thread myself so I'll let you merge it, you're more familiar with this issue than I am.

I'd be glad to get feedback from @justinr1234 and @jimrandomh on this. This should work as-is in theory (and according to unit tests) but I do not have an example app complex enough to test this correctly in real life context.

Looks good


feat: send outcome reason to cloud for anom detection and schema checks (soda-694)

Also resolves: https://sodadata.atlassian.net/browse/SODA-696 and https://sodadata.atlassian.net/browse/SODA-695

@baturayo I'll change your PR to draft to avoid accidental merging by someone on the core team until the backend is ok with having a few more null values than it was originally expecting.
More context here: https://sodadata.atlassian.net/browse/SODA-696 and here: https://sodadata.atlassian.net/browse/SODA-695

This PR is currently blocked from merging until https://sodadata.atlassian.net/browse/CLOUD-256 and https://sodadata.atlassian.net/browse/CLOUD-257 are implemented on the backend.

Cloud accepted the new property.
See: https://dev.sodadata.io/datasets/8ccbcefc-ae49-4817-b9fa-9e34073b8cf7/checks
And here is the output of the testResults call:
{
  "results": [
    {
      "id": "63be53b0-6f4a-4467-b7ee-c38abfb5b2e3",
      "organisationId": "06ab05c8-055f-43cf-97ab-fbfb69cee88b",
      "testId": "ea664160-60a9-449c-8223-603b436bb69e",
      "measurementId": "97ffb8b5-f385-4754-8550-6373c0063518",
      "measurementIds": [
        "97ffb8b5-f385-4754-8550-6373c0063518"
      ],
      "time": "2022-06-22T09:45:41Z",
      "scanTime": "2022-06-22T09:45:38Z",
      "value": 2059.0,
      "outcomeReasons": [
        {
          "code": "not_enough_measurements",
          "message": "Anomaly detection needs at least 5 measurements",
          "severity": "error"
        }
      ],
      "anomalyErrorSeverity": "error",
      "anomalyErrorCode": "not_enough_measurements",
      "schemaChanges": [],
      "schema": [],
      "isV3": true,
      "timesliceTime": "2022-06-22T09:45:38Z"
    }
  ],
  "totalCount": 1
}

LGTM! finally ready to merge🥳


Duplicated path

In "The AD DS transaction log files" section, "%windir%\Ntds\EDB*.log" is listed twice.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7c9b6379-e575-9819-eca1-a0952f66b655
Version Independent ID: 34d81602-ffa2-5be6-67ef-b42b3b6f17ee
Content: Configure Windows Defender Antivirus exclusions on Windows Server 2016 or 2019 - Windows security
Content Source: windows/security/threat-protection/windows-defender-antivirus/configure-server-exclusions-windows-defender-antivirus.md
Product: w10
Technology: windows
GitHub Login: @denisebmsft
Microsoft Alias: deniseb

Thank you @RAJU2529 and @gswish810. RAJU2529 fixed the things GSWISH810 caught. Changes will render live by this afternoon sometime.


difficuilty encounter during compiling

Hello,
first thank you to share the software!
i will love to test the simulation but i can't compile the software for a problem of include...
also i made an autoconfig and run script but i got error can you please help me ?
the autoconfiginstall.sh
https://github.com/STRATOS-ROBOTICS/LeopardMK1/blob/master/LeopardMK1SoftwareSimInstall.sh
and the error log
https://github.com/STRATOS-ROBOTICS/LeopardMK1/blob/master/errorlog.txt
i test on two different computers ubuntu 18.04 lts but always the same error...eigen/ not find...
i think it is a problem of a path in cmake or something but i am not a good one in c++ but i wanna learn how to ...
thank you in advance

So i move eigen3 on a the good directorie and the errors about eigen disappears but i get another ones about lcm
stratos@stratos-ALPHA:~/Bureau/10/Cheetah-Software/build$ sudo make -j4
[  1%] Built target inih
[  9%] Built target dynacore_yaml-cpp
[  9%] Built target qdldlobject
[ 15%] Built target JCQP
[ 16%] Built target linsys_pardiso
[ 19%] Built target linsys_qdldl
[ 22%] Built target soem
[ 27%] Built target libvnc
[ 31%] Built target osqpstatic
[ 31%] Built target Goldfarb_Optimizer
[ 32%] Built target qdldlstatic
[ 36%] Built target lord_imu
[ 36%] Built target qdldl
[ 36%] Building CXX object googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[ 37%] Built target dynacore_param_handler
[ 42%] Built target qpOASES
[ 43%] Building CXX object user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/KinWBC.cpp.o
[ 43%] Building CXX object user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/WBIC.cpp.o
[ 46%] Built target osqp
[ 47%] Built target osqp_demo
[ 48%] Built target qdldl_example
[ 49%] Built target test_imu
cc1plus: error: /home/stratos/Bureau/10/Cheetah-Software/user/MIT_Controller/../../lcm-types/cpp: Aucun fichier ou dossier de ce type [-Werror=missing-include-dirs]
cc1plus: error: /home/stratos/Bureau/10/Cheetah-Software/user/MIT_Controller/../../lcm-types/cpp: Aucun fichier ou dossier de ce type [-Werror=missing-include-dirs]
cc1plus: error: /home/stratos/Bureau/10/Cheetah-Software/common/../lcm-types/cpp: Aucun fichier ou dossier de ce type [-Werror=missing-include-dirs]
[ 49%] Building CXX object common/CMakeFiles/biomimetics.dir/src/Collision/CollisionBox.cpp.o
cc1plus: error: /home/stratos/Bureau/10/Cheetah-Software/common/../lcm-types/cpp: Aucun fichier ou dossier de ce type [-Werror=missing-include-dirs]
cc1plus: all warnings being treated as errors
common/CMakeFiles/biomimetics.dir/build.make:62: recipe for target 'common/CMakeFiles/biomimetics.dir/src/Collision/CollisionBox.cpp.o' failed
make[2]: *** [common/CMakeFiles/biomimetics.dir/src/Collision/CollisionBox.cpp.o] Error 1
CMakeFiles/Makefile2:1900: recipe for target 'common/CMakeFiles/biomimetics.dir/all' failed
make[1]: *** [common/CMakeFiles/biomimetics.dir/all] Error 2
make[1]: *** Attente des tâches non terminées....
cc1plus: all warnings being treated as errors
googletest-build/googletest/CMakeFiles/gtest.dir/build.make:62: recipe for target 'googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o' failed
make[2]: *** [googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Error 1
CMakeFiles/Makefile2:2461: recipe for target 'googletest-build/googletest/CMakeFiles/gtest.dir/all' failed
make[1]: *** [googletest-build/googletest/CMakeFiles/gtest.dir/all] Error 2
cc1plus: all warnings being treated as errors
user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/build.make:62: recipe for target 'user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/KinWBC.cpp.o' failed
make[2]: *** [user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/KinWBC.cpp.o] Error 1
make[2]: *** Attente des tâches non terminées....
cc1plus: all warnings being treated as errors
user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/build.make:86: recipe for target 'user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/WBIC.cpp.o' failed
make[2]: *** [user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/WBIC.cpp.o] Error 1
CMakeFiles/Makefile2:2923: recipe for target 'user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/all' failed
make[1]: *** [user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
49% i am near ...

Hello,
So i was able to compile and run it after several research and asking forums, it was a problem of compatibility with lcm library and openjdk, so download oracle jdk, do some linking manually and it was all good, absolutely no error in compilation.
Cheetah-Sofware-Ubuntu 18.04-AutoInstall.sh :
Install Oracle JDK

First, you'll have to download JDK from Oracle. Unfortunately it cannot be done
via command line, only by visiting Oracle site, accepting license etc.
The page is https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
The file you need is jdk-8u241-linux-x64.tar.gz
Download it at put into the directory where you run this script from.

sudo tar -zxvf jdk-8u241-linux-x64.tar.gz -C /usr/lib/jvm/
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_241/bin/java 3
sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0_241/bin/java
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_241/bin/javac 3
sudo update-alternatives --set javac /usr/lib/jvm/jdk1.8.0_241/bin/javac
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_241/bin/jar 3
sudo update-alternatives --set jar /usr/lib/jvm/jdk1.8.0_241/bin/jar
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/
#Install dependancies
sudo apt install mesa-common-dev freeglut3-dev coinor-libipopt-dev libblas-dev liblapack-dev gfortran liblapack-dev coinor-libipopt-dev cmake gcc build-essential libglib2.0-dev python-all-dev liblua5.1-dev golang doxygen python-epydoc git -y
#Clone  MIT Minicheetah software
git clone https://github.com/mit-biomimetics/Cheetah-Software.git
cd Cheetah-Software
#Eigen library
wget https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.zip
unzip eigen-3.3.7.zip
cd eigen-3.3.7
mkdir build
cd build
cmake ..
sudo make install
cd ../..
#lcm library
wget https://github.com/lcm-proj/lcm/releases/download/v1.4.0/lcm-1.4.0.zip
unzip lcm-1.4.0.zip
cd lcm-1.4.0
mkdir build
cd build
cmake ..
make
sudo make install
cd ..
cd ..
#Qt creator
wget http://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/5.10/5.10.0/qt-opensource-linux-x64-5.10.0.run
chmod +x qt-opensource-linux-x64-5.10.0.run
./qt-opensource-linux-x64-5.10.0.run #long install it's normally
ln -s ~/Qt5.10.0 ~/Qt ## In the case the default installation directory was chosen
#build
cd scripts # for now, you must actually go into this folder
./make_types.sh # you may see an error like rm: cannot remove... but this is okay
cd ..
mkdir build
cd build
cmake .. # No warnings anymore
make -j4
sudo ldconfig  #without i had problem lauching for shared library .so
echo "MIT U Rock!"


Add support for disabling individual test numbers

It would be nice to be able to disable specific bandit test numbers, like:
def mybadfunction(token='notreallyasecret'):  # no-sec-b900

Hi I found a bug related with the way that "nosec " comment is checked.
For example vulnerable_call(param="#nosec") this line will be scaped

I'm willing to help on this one when I have some time. I originally posted a question at https://answers.launchpad.net/bandit/+question/664861
Shall we discuss of the syntax here ?
(my original message for reference)

Hi,
is there any way to selectively filter #nosec tags to filter only acceptable vulnerabilties.
I'm looking for something like
   # we know this triggers B101 but would still report B133
   assert 1=random.randint(0, 2) # nosec #B101

Thanks :)

@ehooo, that sounds like a separate issue. You might might want to file it as such?

May I request that whatever syntax is adopted, that it play nice with other source code analyzers' line comment directives? Consider someone who uses Mypy notations, pyflakes, pylint, and bandit:
…  # type: … # noqa: E501 ; pylint: disable=line-too-long # nosec …

… # type: … # noqa: E501 ; pylint: disable=line-too-long # nosec … is ok for me

Apologies for the confusion. What I meant was that both formats should be supported. Currently # type: … # noqa: E501 # pylint: disable=line-too-long # nosec … will confuse pylint, but bandit should support its own line comment directives no matter the order they appear. So far, the convention has been to use # as a delimiter between different analyzers directives. (But see PyCQA/pylint#2297.) Mypy and pylint are currently too opinionated, though (Mypy requires type comments appear first, and anything coming after pylint comments confuse pylint. (See PyCQA/pylint#2485.)


window resizing has some visual artifacts

Release Type: Release
Version: v<IP_ADDRESS>-beta2-0928
Platform(s): Windows
Describe the bug
When the Stride game window is set to AllowUserResizing, when you resize, an intermittent bug (pretty quickly) causes a lightened "horizontal bar" across the top (and bottom) of the window. It stays there as you interact with the game window. Resizing more can make it disappear, reappear, and change size.
To Reproduce
Steps to reproduce the behavior:

Run a sample with Game.Window.AllowUserResizing = true;
Grab the corner and resize, let go, resize let go
WITNESS: eventually these lighter horizontal stripes appear on the top and bottom of the window

Expected behavior
Expected these artifacts not to occur when resizing a window.
Screenshots
I have highlighted the top bar in purple on the screenshot below, and I've provided a youtube video demonstration.
Video: Youtube - visual artifacts resizing a game window - Stride v<IP_ADDRESS>-beta2-0928

Could not reproduce on 'New Game' and 'Animation' sample, this might be related to the UI you have there ? A small repro might help if you have the time to prepare one

My repo is available here:
https://github.com/jeske/LoadObjTest

I tested your project, the 'dark' middle part is related to your UI code, and is only stretching horizontally.
I commented out Entity.Get<UIComponent>().Page = new UIPage { RootElement = mainMenuRoot }; and the whole screen was brighter.
As for why the UI is darkening the screen, that's probably what needs to be investigated more (I suspect there's some sort of black UI background with an alpha?)

Ohh... Thanks for that... my mistake then...

Okay, I'm not so sure this is my mistake .
I made the Modal Element background color be solid, and made it not take up the whole screen, and I'm still getting this artifact...
var mainMenuRoot = new ModalElement{
                Width = 500,
                Height = 500,
                HorizontalAlignment = HorizontalAlignment.Stretch,
                // VerticalAlignment = VerticalAlignment.Bottom,
                DefaultHeight = 200,
                BackgroundColor = Color.Blue,
                Content = mainCanvas
                };

I better understand this now.. There is a bug... ModalElement makes a panel that is supposed to "fill the whole screen" to block events from reaching things behind it (thus making it modal)... however, it doesn't property track window resizes.

Not sure if this solves your issue or not, but the UI sample project code also updates the UIComponent's Resolution when the window's size changes
https://github.com/stride3d/stride/blob/273dfddd462fd3746569f833e1493700c070b14d/samples/UI/GameMenu/GameMenu.Game/UISceneBase.cs#L48-L52


Rule for com.intellij:annotations

It conflicts with org.jetbrains:annotations

@boris-petrov thanks for the suggestions This one seems straight forward. Would you mind opening a PR? I am happy to assist if you run into trouble.


updating .bashrc, bash_profile ect.... did not work for me. But I copied these lines into my zshrc and got it to work

I'm not CLI expert, although I definitely should put some work into it, but most of the resources found in the threads were getting me to update my .bash_profile and .bashrc files. It occurred to me that the default terminals for most macs now is Zsh not bash. I pasted the same lines of code into my .zshrc and it worked like a charm.
export PATH="$PATH:$HOME/.rvm/bin"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

Duplicate of #2243.


Restructure for DevEx

This PR sets out some structural changes in the repo to make it easier for developers to understand/use.
Setting it as a draft PR as I need to double check READMEs. I have manually tested everything. @Jmgr could you pull this branch and make sure the automated tests are passing please :)

Thanks @oceans404, must be an over eager pycharm setting...certainly did not do this all manually! Will make sure they are changed when the PR is made properly


error installing on ec2 deep learning ami

🐛 Bug
Following up on #495 I'm trying to install napari on an amazon ec2 instance with the ubuntu deep learning ami am but running into this error:
ERROR: sparkmagic 0.12.5 has requirement ipykernel<5,>=4.2.2, but you'll have ipykernel 5.1.1 which is incompatible.
ERROR: sparkmagic 0.12.5 has requirement ipython<7,>=4.0.2, but you'll have ipython 7.9.0 which is incompatible.
ERROR: jupyter-console 5.2.0 has requirement prompt_toolkit<2.0.0,>=1.0.0, but you'll have prompt-toolkit 2.0.10 which is incompatible.

Once we get #587 in this should be improved. I don't know what sparkmagic is

If i pip uninstall sparkmagic this now goes away (we don't need that package), but I now run into
  Found existing installation: qtconsole 4.3.1
ERROR: Cannot uninstall 'qtconsole'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

We have a requirement of >4.5.1 not sure how to proceed now, will keep trying

navigating to /anaconda3/lib/python3.6/site-packages and then doing rm -rf on the offending packages and then pip installing again seems to have worked

As to be expected I can now run import napari on in ipython or a jupyter notebook running from my ec2 instance, but I cannot actually view any images as it isn't possible to launch the QApplication. I want to now start investigating though if I can connect this python kernel to the qtconsole running inside napari on my local machine

@sofroniewn sigh the pip folks have done a lot of work to try to ensure that your distro remains consistent, but now it results in these annoying errors that have no workaround. It's insane that you have to rm -rf packages but I think that is sadly where we are at right now. 🤦♂ I'm not sure what the right repo is to complain about this.

Note the error message on trying the %gui qt magic is
qt.qpa.screen: QXcbConnection: Could not connect to display
Could not connect to any X display.

Hi, @sofroniewn
I am curious that if you run it on AWS, how do you see the windows? Thanks!

@YubinXie - you can’t see the window right now! We’re going to be working on a system that will connect a remote napari to napari running locally though so you can still interact with remote data and compute. I’ll be posting more details here as we start to work on it more

@sofroniewn This is cool. Thanks! It would be great if multiple users can remotely interact the data at the same time.

@sofroniewn sigh the pip folks have done a lot of work to try to ensure that your distro remains consistent, but now it results in these annoying errors that have no workaround. It's insane that you have to rm -rf packages but I think that is sadly where we are at right now. man_facepalming I'm not sure what the right repo is to complain about this.

I saw this issue and wanted to mention - could you try the beta of the new pip release to see whether it helps you with this?

pip 20.2 is now out. This release includes the beta of the next-generation dependency resolver. It is significantly stricter and more consistent when it receives incompatible instructions, and reduces support for certain kinds of constraints files, so some workarounds and workflows may break. Please test it with the --use-feature=2020-resolver flag. Please see our guide on how to test and migrate, and how to report issues. The new dependency resolver is off by default because it is not yet ready for everyday use.
We plan to make pip's next quarterly release, 20.3, in October 2020. We are preparing to change the default dependency resolution behavior and make the new resolver the default in pip 20.3.
More info at this blog post.

Thanks @brainwane! I'll give this a try when I get the chance!!

:wave: @brainwane! I intend to use the resolver every time I use pip now, if I can remember. Bravely onwards! :crossed_fingers:

I'm going to close this issue as we've changed some of our dependencies and pins so this no longer applies, but thanks all for the comments and the great info on pip's new resolver!!


Requested data is inaccessible for GetGroupsInCommon

[ 3][t 0][1608283537.181689262][RequestActor.h:111][#4915906791530][!GetGroupsInCommonRequest]	Receive error for query: [Error : 500 : Requested data is inaccessible]

Do this method fails from a bot or an user?

Users, Bots aren't even allowed to call this method

Let's see if with the next release it's fixed. I'll try it as soon as I can

Is it fixed now?

Is it fixed now?

It should be fixed. closing.


Support for STM32F411CEU6 / unknown chip id! 0x20002e5c

Apparently the STM32F411 is not supported:
2018-02-21T19:47:37 INFO common.c: Loading device parameters....
2018-02-21T19:47:37 WARN common.c: unknown chip id! 0x20002e5c

Is  it possible to add support for F411?
Thanks

I think it should be fairly easy to add, not sure if the flash loader is STLINK_FLASH_TYPE_F4:

https://github.com/texane/stlink/blob/master/include/stlink/chipid.h
https://github.com/texane/stlink/blob/master/src/chipid.c

ha, thank you i didnt realized it was just a matter of adding definition here, alright i'll give a try and make a PR if everything is fine.

You should double check the chipid is correct (from datasheet), maybe the wrong register is read.

OK thanks, according RM0383 chipid is  0x431, same as STLINK_CHIPID_STM32_F411RE

Le 21 févr. 2018 à 20:03, Jerry Jacobs<EMAIL_ADDRESS>a écrit :
You should double check the chipid is correct (from datasheet), maybe the wrong register is read.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/texane/stlink/issues/673#issuecomment-367434293, or mute the thread https://github.com/notifications/unsubscribe-auth/AAmBa9TG0k8bhpxGz8QpRLB3fRRqmPWFks5tXGhrgaJpZM4SOJHr.

There is something wrong as your issue reads 0x20002e5c where the last three nibbles should be the chipid. Which is 0xe5c and not the same as 0x431, maybe the wrong register is read by stlink tools.

I'm getting:
$ st-flash read out.bin 0x20000000 4096
st-flash 1.5.1
2019-09-05T05:10:03 INFO common.c: Loading device parameters....
2019-09-05T05:10:03 WARN common.c: unknown chip id! 0x20016469

with an stlink v2 hooked up to a nucleo-g474re. Of course, this is a hack its self because I used a windows VM to start the on-board stlink v3 in "firmware mode" for updating the firmware and left it there so it would go high-z on its debug pins so I could use a v2 debugger via the swd connector on the board.  All of this worked, but now the software doesn't like the target chip. :(
This is an stm32g474ret6u

@Hoel: As mentioned before, it is obvious that the STM32F411CEU6 device reports the false chip-ID to the stlink tools. I would presume that this chip is defective.
@daniel-santos: Your STM32G474RET6U reports the correct chip-ID 0x469. Please note that support for this device was not present until #822, thus not available in Release v1.6.0 either. It will be supported in the upcoming Release v1.6.1. Please use the development branch until then.


About notification system

You might say notification is not a main feature, But I think this is a core function of our service.
How will we handle this? Will you add this feature after completing all the other features, or design from the beginning? If you add it later, it is more likely that you need to fix the existing one, not simply adding the model.
We need to notify when

For host users, when there is a new entry in the meeting : meeting, membership
For host users, when there are new comments in the meeting : meeting, comment
When the application is accepted or rejected : meeting, membership
When a comment is in reply : meeting, comment

If there is any other situation which should be notified, please comment.

It might be better if we can notify a new meeting of clients' interest, but not sure if we can do it.....
I was think of how to make notify system, and here's my idea.

(on Backend) Make a field "unchecked"
(on Backend) Whenever change comes, (by PUT, POST, DELETE), set the field "unchecked" to true.
(on Frontend) Whenever request 'GET', check all "unchecked", and add message to a state.notification
--furthermore: Since client only get notification when he or she is on-line. Therefore, I'm sure that it will be okay to keep messages in state(i.e. user's internet cache).
(on Frontend) If user check the notification, request 'PUT' so that it can change "unchecked" field true to false.

Since it requires a hard-connected between frotnend and backend, I think it should be better implements after we done our most of jobs.

It might be better if we can notify a new meeting of clients' interest, but not sure if we can do it.....
I was think of how to make notify system, and here's my idea.

(on Backend) Make a field "unchecked"
(on Backend) Whenever change comes, (by PUT, POST, DELETE), set the field "unchecked" to true.
(on Frontend) Whenever request 'GET', check all "unchecked", and add message to a state.notification
--furthermore: Since client only get notification when he or she is on-line. Therefore, I'm sure that it will be okay to keep messages in state(i.e. user's internet cache).
(on Frontend) If user check the notification, request 'PUT' so that it can change "unchecked" field true to false.

Since it requires a hard-connected between frotnend and backend, I think it should be better implements after we done our most of jobs.

When we have change on our database model, we use Django's 'save()' function, and we can override it. Thus, when a database changes, you can automatically create and modify notifications, and you can further isolate the backend and frontend. Here is my idea.

Our new model 'Notification' is connected with User by foreign key.
Our new model 'Notification' has 4 fields; user(User), checked(bool), url(url), notification(string).
When there is change on our model(new entry or comment, etc..),  we automatically create Notification and set every field.

Then what frontend should do is to check if there is new notification(GET) for every page refresh, and when user click the notification request 'PUT' so that it can change 'checked' field false to true. (Finally we should just link with url field.)
I think is not that difficult. If there is any problem that I didn't catch, please comment.

Implemented done. Closed.


Add possibility to configure StatsD prefix via env variable

This allows to pass global prefix for StatsD metrics via STATSD_METRIC_PREFIX environment variable.
Also should fix https://github.com/yob/puma-plugin-statsd/issues/6.

@yob I think I see your point, I've updated it, please have another look.

Cheers!
I'm hoping to cut a release soon, but I'd be interested to hear confirmation that this is working for you in production.
Are you open to running the edge version by adding this to your  Gemfile?
gem "puma-plugin-statsd", git: "https://github.com/yob/puma-plugin-statsd.git"

I'm running this in production for a few weeks and have no issues!

Cheers, I've released the latest master commit as 0.2.0


Incorporate camera extrinsics into initialisation, reproduction errors, BA two runs

Hi Pau, I am modifying/extending OpenSfM for a project and was hoping you could answer some questions:

How can I incorporate extrinsic camera details into the initalisation of the reconstruction? We have a number of cameras where we know the translations and rotations relative to one camera due to calibration. We want SfM to use these values as a prior.

How to trim out sparse points with large reproduction errors? When viewing the sparse reconstruction using the viewer, there are some points that lie quite far away from the scene that is being reconstructed.

Why is bundle run twice in this function?
https://github.com/mapillary/OpenSfM/blob/ad0eacddfc85283e78abaa90732486a76d35dfa7/opensfm/reconstruction.py#L730

Thanks for your help,
Russ

Another question:
In this comment here https://github.com/mapillary/OpenSfM/issues/84#issuecomment-233473956 you mention the focal parameter is the ratio between the focal length and sensor size. However the ratio is passed directly into the get_K() function as seen here:
https://github.com/mapillary/OpenSfM/blob/ee88dd1b4b422daf64913ff2f0512d84843c571c/opensfm/types.py#L272
This is then passed into the openCV undistort function as the camera matrix. Is this correct or should it be multiplied by width and height of the image?

Hi @russkel,
answering following the numbers:

The first goal of OpenSfM is to find the camera positions and build a reconstruction.json. If you already have them, then you can build a reconstruction.json (or a types.Reconstruction object) on your own. Depending on the precision of it, you might want to refine it using bundle adjustment. See a comment about how to do so here.  And then you can run the dense reconstruction if that is what you are looking for.

I wonder too. SfM methods (not only opensfm) tend to generate some erroneous points that lie at random places. The main source of those are mismatches usually from repetitive structures. That is, matching thinks that a point in one image corresponds to a certain point in another image. That turns to be wrong and then when we triangulate the point we finding in some random location. Many of those errors are removed by the geometric verifications in RANSAC and the pruning of high reprojection points after bundle. Unfortunately, some mismatches still pass those tests.  One way to get fewer of those is to require at least 3 points per track with the option min_track_length: 2. This adds redundancy to the triangulation and increases the chances of the tests detecting a mismatch.

We bundle after each triangulation step to adjust the placements of the point and the cameras. We triangulate twice because after the first bundle, things move and we may be able to triangulate more points. Ideally, we would bundle and triangulate for a while until convergence. Doing it 2 times is a random compromise. Doing 1 times would be faster and less precise. Doing 3 times would be slower and more precise.

Opensfm normalizes the coordinates of the points. get_K returns the K matrix associated with this normalized coordinates. Depending on whether you work with normalized coordinates or standard pixel coordinates you will need get_K or get_K_pixel_coordinates. In places like here we work with normalized coordinates so we use get_K

I hope this still helps


DW1000.cpp: setData behaving strange (only certain data is received)

After debugging, I discovered a strange transmission behavior. I tested all of the code examples, some did work, other did not work - finally, I found out that the problem is actually the transmitted data:

Default BasicReceiver/BasicSender code does not work, until I set data to this:

String msg = "42";
DW1000.setData(msg);

However, this data does NOT work:
String msg = "aa";
DW1000.setData(msg);

It is never received at the receiver side (no interrupt either).
2. RangingAnchor/RangingTag does not work. No first ack at receiver. Until I change the data to "42", then I also get an receiver ack.
3. DW1000Ranging_ANCHOR, DW1000Ranging_TAG works.
Any ideas?  I did all tests using DW1000.MODE_LONGDATA_RANGE_ACCURACY.
Same behavior on Arduino Nano and STM32.

Maybe it’s due to the frame filtering !
Try to disable it in setDefaults() of the DW1000Class.
-> change  setFrameFilter(true); to false in line 1093

That was it :) Thanks so much. Good side is I learned the DW1000 code :)

Yes we talked with Thomas to disable frame filtering in DW1000.cpp and add it just in the DW1000Ranging class in adding a function to activate it after but we didn't do it yet :(

Oh yes, sorry guys, this is still on my list! ;-)
Will be soon back on the repo more frequently ...

No problem at all :-) My hardware code is working (happy) - I learned (forgot) that I should not consider 'master' branch as stable ;-)  (in our github projects, master is always latest stable, and we use another 'develop' branch for working code...)


Unable to install via homebrew

brew cask install keycastr
Error: Cask 'keycastr' definition is invalid: Bad header line: parse failed

Nevermind. This was an issue with my brew-cask install


Point in time recovery with an external cluster only works with targetTime

Currently, CloudNativePG does not correctly handle point in time recovery from a recovery object store via the external cluster definition (using source) when any of these options is specified:

targetXID
targetName
targetLSN
targetImmediate

The reason is that the operator at the moment only selects the latest available base backup.
IMPORTANT: this does not affect the primary method to perform PITR, which is via time stamp. However, if for example you want to recover to a restore point that you previously created and therefore specify targetName, you have no way to instruct from which base backup to start the recovery.
As a result, it makes sense to add another option called backupId in the recoveryTarget section to be used only when source is specified. By default backupId is empty, meaning that the operator will automatically detect the backup from which to start the recovery in case targetTime is specified, or use the latest available. If non empty, the operator will not perform the automated detection algorithm and always use that backup ID as start of the recovery process - entirely leaving the responsibility to the end user.

We discussed it earlier and we agreed that we should fix the documentation to reflect what we are currently handling.
The current code should be able (to be checked if that's actually the case), given one of the following parameters, targetTime, targetLSN, and targetTLI, to automatically detect the latest backup w.r.t. that target and restore up to the target starting from that backup, taking into consideration also the targetTLI if specified in the first two cases.
However we agreed also that users should be able to restore from a specific backup and then proceed replaying WALs up to the given target, therefore we should add a backupID field that should be used to bypass the above heuristic.
Relevant code can be found here and the backupID could probably be added to the RecoveryTarget struct.

Please look at the comments I left in GitHub.
IMHO, we should not disable timestamp recovery when passing a backup Id.

@mnencia I have made the changes in the patch to reflect the initial requirements. Can you please have a look at the patch before we merge it?

I suggest the following commit message:
Up to now we were not properly supporting point in time recovery when a
transaction ID, a named restore point, or immediate target where requested.
The reason is that in this case we would simply use the last available backup
in the catalog. Effectively, only `targetTime` (most popular) and `targetLSN`
were working.

The fix has been implemented by introducing a new option called `backupID` in
the `recoveryTarget` section.

By default `backupID` is empty, meaning that the operator automatically detects
the backup from which to start the recovery in case `targetTime` or `targetLSN`
are specified. Alternatively, use the latest available backup as fallback.

If `backupID` is provided, the operator will always use that backup ID as the
start of the recovery process - entirely leaving the responsibility to the end
user to correctly pick the base backup for recovery.

**IMPORTANT:** Although this is normally seen as a new feature, we have decided
to consider this as a bug fix and made it eligible for backporting too (the
problem exists in 1.15.x and must be solved).

Closes #233

Signed-off-by: Jonathan Battiato<EMAIL_ADDRESS>Signed-off-by: Jonathan Gonzalez V<EMAIL_ADDRESS>Signed-off-by: Philippe Scorsolini<EMAIL_ADDRESS>Signed-off-by: John Long<EMAIL_ADDRESS>Signed-off-by: Gabriele Bartolini<EMAIL_ADDRESS>
Co-authored-by: Jonathan Gonzalez V<EMAIL_ADDRESS>Co-authored-by: Philippe Scorsolini<EMAIL_ADDRESS>Co-authored-by: John Long<EMAIL_ADDRESS>Co-authored-by: Gabriele Bartolini<EMAIL_ADDRESS>


Web app general

[x] Install as a home screen app
[x] Favicon
[ ] Offline use

Home screen app https://github.com/dave1010/emf-planner/commit/802eedff56084a3ae5dd439007c06c6a1b613fae


File not in gzip format

Hi there,
I am currently trying to "install" numary on  my Ubuntu machine and i cannot untar the file.
Full log included:
philip@NB:~$ curl -O https://github.com/numary/ledger/releases/download/1.0.0-alpha.19/ledger_1.0.0-alpha.19_Linux_x86_64.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   649  100   649    0     0   7131      0 --:--:-- --:--:-- --:--:--  7131
philip@NB:~$ tar -zxvf ledger_1.0.0-alpha.19_Linux_x86_64.tar.gz

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
philip@NB:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04 LTS
Release:        20.04
Codename:       focal

Hey @thephilluk
Thanks for spotting the typo, a -L was missing in the curl command hence curl was downloading the redirect instead of the tar. Here's the fixed way to make it work:
curl -OL https://github.com/numary/ledger/releases/download/1.0.0-alpha.23/ledger_1.0.0-alpha.23_Linux_x86_64.tar.gz
tar -zxvf ledger_1.0.0-alpha.23_Linux_x86_64.tar.gz

Happy to help!


Unexpected memory usage when assigning partitions with AutoOffsetReset.Earliest

Description
When subscribing/assigning a consumer to a topic with 9 partitions and ~16000 20KB messages in each partition and setting AutoOffsetReset.Earliest, memory usage blows up to 1.2GB even without consuming anything.
How to reproduce
https://github.com/mausch/KafkaConsumerMemoryIssue
One the test data/topic is set up you can comment out the lines calling DeleteTestData() and SetUpData() .
I've tried to work around it by doing a Subscribe (+calling Consume() of course to actually get some partitions assigned) instead of a direct Assign, but it shows the same behaviour.
It takes a few seconds to get to that memory use, that's why I added that final delay.
Checklist
Please provide the following information:

[X] A complete (i.e. we can run it), minimal program demonstrating the problem. No need to supply a project file.
[X] Confluent.Kafka nuget version. 1.3.0
[X] Apache Kafka version: Using Confluent's docker images, version 5.3.1
[X] Client configuration. in the project
[X] Operating system. Originally saw the issue on Linux, reproduced on Windows.
[X] Provide logs (with "debug" : "..." as necessary in configuration). N/A
[X] Provide broker log excerpts. N/A ?
[X] Critical issue.

the consumer very aggressively pre-caches message by default. you may want to tune down QueuedMaxMessages.Kbytes if your use case doesn't require high throughput.

Thanks, that did the trick! Certainly unexpected behaviour though... I get that it's a trade-off but IMHO an overly aggressive one.
I see at least that I'm not the first one to be surprised by this e.g. https://gitter.im/edenhill/librdkafka?at=585594f7c895451b75eb1c7d , https://github.com/edenhill/librdkafka/issues/81
I'll leave this link here in case anyone hits this issue from a search : https://github.com/edenhill/librdkafka/wiki/FAQ#explain-the-consumers-memory-usage-to-me


Update Formula widgets with no metadata on Public View

E.g:

Related issues: #147 (histogram) #153 (category)

Duplicated -> https://github.com/CartoDB/deep-insights.js/issues/146


Failed to execute 'insertBefore' on 'Node'

Description
Hi all,
Yesterday's release (2.3.0) broke the element styles process on element-mixin.
We were using 2.2.0 and today we updated to 2.3.0, some components show this error:
Uncaught DOMException: Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node. (element-mixin.html:429 )     at processElementStyles (http://localhost:3000/static/bower_components/polymer/lib/mixins/element-mixin.html:429:28)     at Function._finalizeTemplate (http://localhost:3000/static/bower_components/polymer/lib/mixins/element-mixin.html:646:11)     at HTMLElement._initializeProperties (http://localhost:3000/static/bower_components/polymer/lib/mixins/element-mixin.html:587:26)     at new PropertyAccessors (http://localhost:3000/static/bower_components/polymer/lib/mixins/property-accessors.html:147:14)     at new TemplateStamp (http://localhost:3000/static/bower_components/polymer/lib/mixins/template-stamp.html:121:5)     at new PropertyEffects (http://localhost:3000/static/bower_components/polymer/lib/mixins/property-effects.html:1134:9)     at new PolymerElement (http://localhost:3000/static/bower_components/polymer/lib/mixins/element-mixin.html:555:9)     at new EdiBase (http://localhost:3000/src/elements/edi-base/edi-base.js:4:5)     at new EdiSectionHeader (http://localhost:3000/src/elements/edi-section-header/edi-section-header.js:6:13)     at EdiModules (http://localhost:3000/src/elements/edi-section-header/edi-section-header.js:60:20)     at http://localhost:3000/src/elements/edi-section-header/edi-section-header.js:61:3
Weird that only affects some components
Browsers Affected

[X] Chrome
[X] Firefox
[ ] Edge
[ ] Safari 9
[ ] Safari 8
[ ] IE 11

Just tested on selected ones.
Versions

Polymer: v2.3.0
webcomponents: v1.0.20

Thanks for reporting! This is a duplicate of #4975


Is it possible to construct "sizeless" structs with register types as members?

Hi RISC-V,
I am the maintainer of NSIMD and we are currently implementing the RISC-V extension "V" into NSIMD. We are facing a problem with tuples of vector registers. I assume that, as for Arm SVE, vector types are considered "sizeless". As a consequence we cannot use them as members of standard C/C++ structs. Arm SVE, in their original design (and API) provided the __sizeless_struct keyword that allows one to write:
__sizeless_struct foo {
  vector_type v0;
  vector_type v1;
  // ...
  vector_type vn;
};

We tried to find out an equivalent keyword in riscv_vector.h but did not succeed. Going through the code we found the getters and setters to work with the opaque types representing the structs that we are trying to build. So we know that what we want to do can be achieved with getters and setters. But as we designed NSIMD the other way it would incur a change in the public API which I am not that happy to make hence my question.
Thank you for your answer.

Update: I just realized that it would disable our C++ APIs (C++98 up to C++20) as we use the boxing technique to the overload standard arithmetic operators:
int main() {
  nsimd::pack<float> va, vb, vc;
  vc = va + vb;
  return 0;
}

And we make heavy use of __sizeless_struct to achieve the same goal with Arm SVE.

Due to some technical issue on LLVM... sizeless struct can't be implemented in LLVM world, so we are not intend to include that into RISC-V world, you can read more information at  https://github.com/riscv/rvv-intrinsic-doc/issues/95

Sizeless type has always been a battle. The problem already exist when Arm tries to extend sizeless struct on SVE. We may solve them by adding a language extension, but as @kito-cheng have mentioned, we are limited by implementations of LLVM IR and requires consensus from the whole community. So this issue is currently blocked.
Maybe we can revisit this after the v1.0 release?

Closing this issue and redirecting to https://github.com/riscv-non-isa/rvv-intrinsic-doc/issues/139. The question essentially boils down to how do we enable sizeless struct in the compiler implementation.


Make the XTEA keys unique

If the random generator we use for the XTEA keys ever happens to output the same key twice on the same Tobira instance, people might be able to cross-guess between the id sequences. This patch makes the migration fail when this happens. That's unfortunate, but also very unlikely to ever happen, anyway, Plus, that's better than silently generating weak IDs in that case.
Note that this does not protect us from cross-guesses between Tobira instances!

We are talking 128 bit random keys. If we would generate a random key every nanosecond, we would need 10^16 years to exhaust all keys. A collision is likely to have happened way before that, but without doing the math, that's still at least billions of years. → A collision is never gonna happen.
But I'm fine with merging this as it better communicates the intend.


Revert "Refactor overseas passports flow updates"

Since merging this branch, the regression test are showing diffs in the artefacts. As there appears to be a number of issues, we should probably revert so we can resolve without effecting other work.
Reverts alphagov/smart-answers#2367

I think given the size of this revert, I'll close this and I'll prepare a PR with a fix to flow, the cause seems to a poor rebase with master prior to the merge with master that included a small change to smart answer DSL.

In general, I think we should prefer fixing problems by improving the code rather than by reverting changes, so I think closing this and fixing the problem in #2376 was the right thing to do.
Out of interest, was the problem caused by GitHub's automatic merging, or was it simply due to a complicated rebase/merge?

@chrisroos: I believe the problems were introduced when the branch was manually rebased against master in preparation for merging.


Improve detection for 'Bolt Payments'

Example Site where detection is not working - https://www.go-parts.com/
Current Detection -
"Bolt Payments": {
  "cats": [
    41
  ],
  "description": "Bolt powers a checkout experience designed to convert shoppers.",
  "dom": "bolt-checkout-button",
  "icon": "Bolt.svg",
  "js": {
    "BoltCheckout": "",
    "bolt_callbacks": ""
  },
  "pricing": [
    "poa"
  ],
  "saas": true,
  "website": "https://www.bolt.com/",
  "xhr": "connect\\.bolt\\.com"
},

What else you can check to improve detection -

Check for JS objects 'BoltPopup' and 'BoltTrack'
There is also an iframe with title 'Bolt Checkout'

Hey there , updated.


Failed to mount folders in Linux guest

It seems that openSUSE boxes are broken with the latest vbguest release (0.12.0)!
I get this error when building a new virtual machine: vagrant_vbguest.machine_loop_guard
And then I see this in the console:
Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:
mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant
The error output from the last command was:
/sbin/mount.vboxsf: mounting failed with the error: No such device```

The same for CentOS 6 guests.

This is the exact same error that appears if you don't have any vboxguest additions installed.
Are there any error messages before this one?

No other errors before this one!
But I just noticed that a new version (1.0.1) of the openSUSE box that I use is listed here with this note: "Fixed loading of vboxfs module"!
It seems that the error with the latest vbguest plugin has been fixed but this version hasn't been released yet...

Getting the exact error on Ubuntu 14.04. If I manually log in to the guest and run this command, I can then provision the box.
sudo ln -s /opt/VBoxGuestAdditions-4.3.22/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
But if I destroy the box and try to rebuild, I'm back to square one.
There is one difference in my case, I see an error:

An error occurred during installation of VirtualBox Guest Additions 5.0.14. Some functionality may not work as intended.

vagrant_vbguest.machine_loop_guard

Installing Virtualbox Guest Additions 5.0.14 - guest version is 4.3.22

Then I get the above mentioned Failed to mount folders in Linux Guest.
Anyone else seeing this?

Issue seems to be resolved with the latest plugin release (0.13.0)!


Added backupemail functionality connected from database in 'Forms' component

Implementing Firebase Database Connection for Backup Email Component in User Dashboard
Description
Users can add backup email to the profile which is been reflected on both frontend and database
Related Issue
#64
Motivation and Context
This change is necessary to enable the functionality of adding and displaying backup email addresses in the user dashboard, enhancing user account management and providing a backup communication method.
Screenshots or GIF (In case of UI changes):
Enhanced component with dynamic backup email addition via a new Add button, eliminating hardcoded entries for improved user customization.

The updated component now ensures seamless storage and retrieval of backup emails in the database, enabling their seamless integration into the frontend interface.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

I have already created pr for this feature  in scorelab's repo


Philips DLNA fix

While testing my Philips (aka TP Vision) television from 2011, I found out that the baseUrl was not ending with a /. I'm not sure where the issue comes from exactly, but this fixes it.
There is probably a better place (when discovered?) to check this, but I wasn't sure where exactly.

Hi @se-bastiaan You should merge your changes to dev branch but not to master.

@se-bastiaan, could you please also post the device description XML from the TV so that we could add tests for that case?  Or you could write tests if you'd like to.

@frolov-alexey >.<
@eunikolsky Yep. I'll see if I have some time.
You sure that there is no better place to do this check?


Jetpack 5 GA: update container support

Tested with https://github.com/atharvanan1/jetson-containers/tree/a35149d52425843f6791c657044bc54dd9e910ac

Please find the test report here - https://drive.google.com/file/d/146FqosVXubAYwaZyKpq811JNqeBAveaC/view?usp=sharing


Version 1.17.0 breaks solution builds using no-incremental

Description
Building a solution with flag --no-incremental while having a test project referencing a functions project will result in the build failing with
MSB3030: Could not copy the file "obj\Debug\net8.0\extensions.json" because it was not found.
Using Microsoft.Azure.Functions.Worker.Sdk 1.16.4 => works
Using Microsoft.Azure.Functions.Worker.Sdk 1.17.0 => does not work
Building without any flags => works
Building with --no-incremental => does not work.
Building each individual project => works
Building the solution => does not work
Steps to reproduce

Create a solution with a new functions project

Functions worker: .NET 8.0 Isolated
Function: Empty

Add a xunit test project
Add a project reference in the test project targeting the functions project
Use Microsoft.Azure.Functions.Worker.Sdk 1.17.0
build with: dotnet build --no-incremental solution.sln

same issue here

Thanks for reporting the issue @skystedt . We released a new version of Microsoft.Azure.Functions.Worker.Sdk package which includes a fix for this issue. Could you please upgrade to that version?
https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk/1.17.2

The new version solves the issue.
Thanks!

@kshyju This was working in 1.17.2 but is broken again in versions 1.17.3 and 1.17.4.

1.18 also broken. Similar issue as: https://github.com/Azure/azure-functions-dotnet-worker/issues/2722
Would be nice If they would finally create a test case for this instead of just breaking every possible build.

Still broken in 2.0.0

Still broken in 2.0.0

Following pull request should fix it: https://github.com/Azure/azure-functions-dotnet-worker/pull/2763

Is there any known workaround for 2.0.0, where it is still broken?


Not seeing output building using VC menu with Make and clang

Can I simply add -ftime-trace to our compiler settings in Make?  I'm only seeing an empty UI from building the VC solution, but it's mostly a call over to Make and then the files for reference and setting breakpoints.

Yes! That's the idea with clang. Just add the -ftime-trace flag and it should output a .json file just next to each object file with all the profiling data. The clang invocation needs to have the flag, not sure how your build system is expanding its flags to the single compiler invocations.
That being said, I have seen some regressions on the contents of the reports in the last clang versions. What version of Clang are you using?
I would make sure first that when you build those .json files are generated. Then if so, make sure the score generator is pointing to the correct folder where those are.

Thanks, I'll give it a try.  I'm on latest Xcode, VS 2019 Pro, and Android Studio.  I think they each have different clang revisions, but it's nice that we have one compiler everywhere now.   I saw several Twitter gamedev users posting how they'd optimized their builds.  I have a personal ktx/ktx2 builder on github that I should probably optimize too.  Thanks for making such a nice little tool.  I wonder if Xcode/Android Studio could use too?

So I added the line to our clang builds, and it outputs the json files.  This is on VS2019, but after a full rebuild with the extension, VS locks up to the point I have to kill it.  Task manager reports almost no activity.  VS 2019 is 32-bit, and maybe the sheer size of a project and all that json is too much.  It's too much when I look through it, since I've written to this profile format below.  Also opening these json files individual in Perfetto isn't all that useful since it just shows "Source".
It would be useful to be able to run the extension on an existing output directory without having to rebuild.  Right now after the VS crash, I'd have to do another rebuild and hope it doesn't lock up again.  Each json file is 400KB or more which is crazy, since only really need the filename, and duration of the "Source" elements.
Seems like it would be easy to reprocess and collect the json by file into a much smaller binary format, and then write out the Perfetto/Catapult json.  Not sure if that's what the extension does, but how I'd approach it.

The .json file contains everything that clang is profiling, this can be a lot of symbols not only sources. The cleanup will be done by the ScoreExtractor if it is setup to ignore some of the data. The ScoreExtractor is the one that generates a .scor binarized format containing all the information already digested. This format is then common from Clang and MSVC as they both provide the build time data differently. Then this binaries is what the extension and viewers understand and display.
If you have the Extension configured for Clang, having the Clang Traces Path field in the Extension settings pointing to the correct folder location, you can run a full folder extraction by running Extensions/Compile Score/Clang Full Score Generation. This fill just walk the whole Clang Traces Path directory recursively opening all .json files and parsing the ones that contain clang trace events.
Alternatively, you can just run the Score Generator directly from the command line.
I hope this helps.

Yeah, thanks so much.  I tried that "Full Score Generation".  The process starts, but 15 minutes later, VS is at 0% cpu, and the processing hasn't finished, and there is not progress indicator.  It's just that the extension is all dimmed out, and never seems to return.   I guess I could leave it overnight, but I don't have a good feeling about this ever finishing.   Unfortunately, we can't move to VS 2022.
I did take a look at you JsonParser, and it seemed nicely coded for perf.  Just seems like it's a bit overwhelmed with only 4 cores in my Parallels VM.   Thanks for making this available.  I know many Twitter folks are using it and it works for them.  But they may be using Cmake or VS projects directly.  Will keep trying.
[23:36:16] Calling ScoreDataExtractor with -clang -extract -tp 100 -td 1 -d 1 -i ....

What version of Clang are you using? I would suggest going one step at a time and trying parsing a folder with only 1 .json file and see what happens. Also if possible do it from VS in the ScoreExtraction solution so we can see where is the executable getting stuck.
Thanks for your help.

I'm just using clang that ships on consoles.  I think we just have a lot of files generated.  I think our Win builds are clang 10 from Win 2019 Pro.   I'll also try SeeProfiler too, and see if that can process the json folder.


Stream with Oracle

Hi, i see Oracle and MySQL still support Stream like: https://docs.oracle.com/database/121/STRMS/strms_over.htm , so i have a question, Do you use it for designing Reactive Protocol for Hibernate reactive

I think this is a question for the Vert.x SQL client team. At the moment, we don't support streaming to databases but if the feature becomes available, we will add it to the SQL client.
We discussed this in the past and decided that we couldn't yet implement it in a way that made sense.  But it's something that we would like to add at some point.

Sorry, I don't know what you mean.
I'm going to close this issue because it's not really an issue, but feel free to continue the conversation here.

Yes, in Hibernate Reactive we connect through the db using the drivers. If the drivers don't support it, we cannot support it.


latest.json is not in valid json format

Describe the bug
https://storage.googleapis.com/ossf-scorecards/latest.json is not valid Json.
For example, opening in Firefox shows SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 2 column 1 of the JSON data.
I am also unable to read the json response programmatically through serde_json package in rust.
The file currently holds data for each repo in following format: {} {} {}
Expected behavior
latest.json in valid Json format.
The file should probably be in the format: [{},{},{}]

Scorecard does not publish results to the latest.json. The data is published to BigQuery https://github.com/ossf/scorecard#public-data


Notifications not being received

 Issue by 00alis
Friday Oct 24, 2014 at 08:29 GMT
Originally opened as https://github.com/arduino/forum2/issues/83

It seems like there is an issue in saving the Preferences.
https://basecamp.com/2546761/projects/6328288/todos/133503882#comment_211947247

Can we re-open this? I haven't received any notifications for months. Refer to https://github.com/arduino/forum-issues/issues/158 which discusses a similar issue and is open.

Example thread: http://forum.arduino.cc/index.php?topic=172578.msg1976346#new

Notice I am following it (the little spectacles) and there is a "new" tag.

My notification preferences:

You can see that I want notifications "straight away" and by email, if a topic I follow gets a reply.

Below is my email program (the part that has the Arduino messages):

You can see that I am getting notifications of personal messages (hence my email address is correct) however not a single notification of any threads in the entire year of 2015.

Below are my "watched threads":

There are hundreds of threads I should be getting notifications for, and you can see that the preferences is to "receive emails and alerts". Well, I'm just not getting them.

Check out this thread on the forum: http://forum.arduino.cc/index.php?topic=279661.msg2011196#msg2011196
That post, for example:

Thanks Graham, no notification though even with the extra two posts. The system is still broken AFAICT and yet the bug has been closed...go figure.
Maybe I'll drop in next year and see how it's going :)

It's not just me.

It can be related to old posts. I noticed new posts work correctly while
old ones do not.
Il 09/gen/2015 20:27 "Nick Gammon"<EMAIL_ADDRESS>ha scritto:

Example thread:
http://forum.arduino.cc/index.php?topic=172578.msg1976346#new
[image: screenshot from 2015-01-10 06 14 31]
https://cloud.githubusercontent.com/assets/185088/5685623/0c212058-9890-11e4-8ed9-13ffb82a3d8e.png
Notice I am following it (the little spectacles) and there is a "new" tag.
My notification preferences:
[image: screenshot from 2015-01-10 06 16 54]
https://cloud.githubusercontent.com/assets/185088/5685641/4f11c2aa-9890-11e4-83aa-e998a0e86871.png
You can see that I want notifications "straight away" and by email, if a
topic I follow gets a reply.
Below is my email program (the part that has the Arduino messages):
[image: screenshot from 2015-01-10 06 19 03]
https://cloud.githubusercontent.com/assets/185088/5685673/aac07704-9890-11e4-874f-a478f37ee82c.png
You can see that I am getting notifications of personal messages (hence my
email address is correct) however not a single notification of any threads
in the entire year of 2015.
Below are my "watched threads":
[image: screenshot from 2015-01-10 06 21 16]
https://cloud.githubusercontent.com/assets/185088/5685699/f5b11d36-9890-11e4-88e1-c1faa7f0a66b.png
There are hundreds of threads I should be getting notifications for, and
you can see that the preferences is to "receive emails and alerts". Well,
I'm just not getting them.
Check out this thread on the forum:
http://forum.arduino.cc/index.php?topic=279661.msg2011196#msg2011196
That post, for example:
Thanks Graham, no notification though even with the extra two posts. The
system is still broken AFAICT and yet the bug has been closed...go figure.
Maybe I'll drop in next year and see how it's going :)
It's not just me.
—
Reply to this email directly or view it on GitHub
https://github.com/arduino/forum-issues/issues/83#issuecomment-69385255.

I have not got any notifications for months. I make posts every day. There is more to it than that. Usually my posts get replied to.
Besides, if the database shows a whole heap of posts that I should get a notification for, it should be simple enough to reply to one of them, and then put debugging into the forum to see if the notification got sent.

Is this relevant?
https://github.com/SimpleMachines/SMF2.1/issues/2561
Why are we using a Beta version of the forum?
From http://www.simplemachines.org/community/index.php?topic=530233.0 :+1:

Warning! This is just the first beta!

This is a major production site here, and we are running a version not recommended for production. Surely this in itself is the first error?

I tested with an alt (Miran Ligowyr) who is subscribed to http://forum.arduino.cc/index.php?topic=279661.
No notifications or emails are being received.
I challenge you guys to make a new forum member, subscribe to a topic, make a post to that topic on your main account, and see if you get a notification.

Is SMF writing an error log? Does this show anything useful?

We found a bug in the settings profile that affects the notification system. We have a pullvrequest already thet will be released on Monday morning.

Which Monday did you have in mind? I make it 6:58 AM on Tuesday in Italy, and I am not getting notifications still.

I am getting notifications now, thank you. Now please fix up things like this:

I don't want all the   and
 stuff. That makes it unreadable. The notification should be of the post before converting into HTML.
The post actually looks like this:

Some notifications are still (apparently) not being received. For example I subscribe to this thread in Bar Sport:

As you can see, a post was made at 2:45 pm and I am subscribed to it. However I have not received an email about that 17 minutes later. (Actually it is 4:02 PM here but that is because the forum time is out by an hour - see https://github.com/arduino/forum-issues/issues/164 ).
I don't necessarily expect mail one minute later, but I think 15 minutes is reasonable for the forum to be sending notifications. After all, it there is a big queue, waiting 15 minutes will only allow the queue to get longer.

A post was made to a thread here: http://forum.arduino.cc/index.php?topic=291098.msg2042977#msg2042977
I got no notification about that response, hours later. It seems that notification are at best, only partly working.
If the developer working on this (and I see that "no one" is assigned to this bug) would like to subscribe to (say) 100 threads, and then check that they get a notification to each one as they are made, that would help. You can always make an alt account and post responses yourself.

As Nick Gammon says, why is such a large site using a beta version of SMF? That's ridiculous, especially since the devs at SMF strongly recommend that you do not use this version on a production site.
What happens if the database gets wrecked? You just revert back a few weeks losing heaps of posts? What if there's a critical security bug and everyone's details get leaked? Come on people, this is unprofessional at best, we had no problems with the last version!
...And while we're at it, what happened to the real search?

Can we do something about my comment above about the HTML in emails? It is distracting. Plus I don't have that option set anyway.

A wall of HTML is annoying, and with the option unchecked I should not be receiving it. So that's two bugs.

@nickgammon do you still encounter the problem with html tags?

Yes, this is a notification I got today:

View the reply at: http://forum.arduino.cc/index.php?topic=318385.new#new

Unsubscribe to this topic by using this link: http://forum.arduino.cc/index.php?action=notifyboard;board=4.0

The text of the reply is shown below:
sli() was a typo.  It's actually sei().

Here's the code.

[code]// Pin mapping
const byte GSCLK = 3;
const byte VPRG = 4;
const byte XLAT = 9;
const byte BLANK = 10;
const byte SIN = 11;
const byte SCLK = 13;

// The order of the tricolour legs (L2R) to ensure the right colour comes on!
const byte RED_L = 2;
const byte GREEN_L = 1;
const byte BLUE_L = 0;

// Controls the current through the LEDs

I truncated it, but basically the "text of the reply" is a single long line, with newlines turned into
 inside it.  It's like the mailer is sending the HTML version, not the text version.
It seems to be a multi-part message if I look at the email source. First part:
Content-Type: multipart/alternative; boundary="SMF-ed37fffaca0ba4e83f1b66d1567805d7"
Content-Transfer-Encoding: 7bit

Second part:
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Both parts have the
 in them. This particular message doesn't seem to have   in it, however that is quite common.
First part of header, to help you find the script in question:
Subject: Topic reply: Re: Timer1 Frequency will not change!
X-PHP-Originating-Script: 1000:ScheduledTasks.php
From: Arduino Forum<EMAIL_ADDRESS>Date: Sat, 25 Apr 2015 09:29:38 +0000
Message-ID<EMAIL_ADDRESS>X-Mailer: SMF

I'm wondering when this will be fixed? As usual, I got today a notification like this:
The text of the reply is shown below:
Thanks for all this knowledge.

I really need to digest it while at the same time I build my library.

The __builtin_avr_delay_cycles() will come in handy, even though I do want to become
comfortable in writting short ASM segments for AVR (and later ARM I suppose). That'll handle
all AVRs chips 4MHz to up to the 60+MHz out there I think.

I know the timings of the WS2812B and understand them pretty well. I'm quite seasoned
in CS skills and grok how chips are designed, assemblers do their work and what code does.

I'm just very new to AVR and Arduino, and bare bones ASM (I usually at most use C built ins
for the few special atomic instructions). I picked it up on a whim (a friend gave me an uno
and it opened the floodgates) and now I wanna contribute and build a few cool things for
*hum* the next burning man :P.

Question is there room for yet another WS2812 library out there? XD

All those "br" tags make it pretty unreadable. Surely this is a simple fix? The raw post doesn't have them, so send the raw post in the email, don't do the nl2br() function call.
I reported this in January this year. It is now June, marked "bug" and "critical". Also "no one assigned". (sigh)

Hi @nickgammon,
This was fixed by SMF base code. We are trying to merge the stable version of SMF 2 in our codebase but takes a while. I will now ask one developer to stop doing that for a while and fix this issue.

Hello @nickgammon notification only and email only should be now active, can you please test it? We are working on removing html tags in emails as well.
Thank you

I still have notifications turned off (as in the screenshot above) and got a notification about 3 hours ago (amongst others). Still with the HTML in it as well.

I have notification turned ON and I don't receive them

As well I am not receiving Notifications from the Arduino Create Betatesting board, it works just the very same day I press the RECEIVE EMAILS button and then it stops.

This is because settings are reverted, Matteo is working on this.
On Mon, Dec 7, 2015 at 11:42 AM, Alice Pintus<EMAIL_ADDRESS>wrote:

As well I am not receiving Notifications from the Arduino Create
Betatesting board, it works just the very same day I press the RECEIVE
EMAILS button and then it stops.
—
Reply to this email directly or view it on GitHub
https://github.com/arduino/forum-issues/issues/83#issuecomment-162479420
.

now in production.


[Feature Request] el-alert

Existing Component
Yes
Component Name
el-alert
Description
为什么 el-alert的visible 状态写在组件内而不是通过 props 传递

The internal visible is for closing the instance when the close icon is clicked. If you need to control its visibility programatically, you can use v-show or v-if.

@Leopoldthecoder i know, but i think should only one status to control show or hide


[ARO-7182] Remove square/go-jose dependency

Which issue this PR addresses:
Fixes https://issues.redhat.com/browse/ARO-7182
What this PR does / why we need it:
Updates the version of go-oidc we're using so that it doesn't depend on a deprecated and unpatched go-jose. This also removes an additional dependency.
Test plan for issue:
E2E
Is there any documentation that needs to be updated for this PR?
N/A
How do you know this will function as expected in production?
E2E, hopefully :)

/azp run


Copy applicable tests from Monibase

All but 4 tests in Monibase are created by us so we should copy most of them here over and adjust or create counterparts

At that point there is not much we can copy. Most things are different and we don't have a btree right now. So nothing to do for now