Parameters is not detected after creating an intent using api

Hi,
I am creating intents using api v2 with training phrases. i am able to detecting entities and everything works fine.
After training of an agent gets complete i tried with one of training phrase and i am able to detect intent and action but not parameters.
like this.

and this

When i save an intent manually in UI (Save button) my issue gets resolves
have a look at this

I want to do it automatically by using api only.
Help me
Note:
1). After creating an intent i am calling the agent train api
2) I am also giving 5 minutes to give it time to figure things out.
Have a look at code also
const createIntentRequest = {
parent: agentPath,
 intent: intent
 }
intentsClient.createIntent(createIntentRequest, async function(err, result){
if (err) {
 console.log(err)
 }else {
console.log(result)
console.log(${intent.displayName} has created..)
console.log("training started...")
var trainAgentRequest = {
parent: agent.projectPath('MY_PROJECT_ID')
}
try{
var traineddata = await agent.trainAgent(trainAgentRequest)
console.log(traineddata)
}catch(e){
 console.log(e, "this is error")
}
 console.log("training completed")
setTimeout(function(){
 console.log(traineddata)
 callthis()
 },300000)
 }
 })
function callthis(){
console.log("completed")
}
Environment details

OS: ubuntu 18.04
Node.js version: 8.10.0
npm version: 5.6.0
dialogflow version: 0.8.0

Thanks!

Alright so after some digging. https://cloud.google.com/dialogflow-enterprise/docs/reference/rpc/google.cloud.dialogflow.v2#google.cloud.dialogflow.v2.Intent.TrainingPhrase.Part
When you create your intent:
You have to create your training phrases, but for the parts of your training phrase that you want assigned to an entity (or parameter), do you set the entity_type and alias
Here's a Java example:
I have already created the test entity.
Parameter parameter = Parameter.newBuilder()
          .setDisplayName("Test")
          .setEntityTypeDisplayName("@test")
          .setValue("$test")
          .build();

// The Part get's added to a TrainingPhrase, which is added to the Intent.
Part.newBuilder()
              .setText(phrase)
              .setEntityType("@test")
              .setAlias("Test")
              .build()

Is this about how you are creating Intents?

Yes i am setting entity type and alias while creating intent with training phrases.
Look at snapshot of code in JavaScript :
var word = getValue(result[1],0)
var entity = getEntityValue(result[1])
 partObj['text'] = word + ' '
 partObj['entityType'] = '@' + entity
partObj['alias'] = entity
 tmpArrCombine.push(word)

I'm able to get it working with:
  // [START dialogflow_create_intent]
  // Imports the Dialogflow library
  const dialogflow = require('dialogflow');

  // Instantiates the Intent Client
  const intentsClient = new dialogflow.IntentsClient();

  // The path to identify the agent that owns the created intent.
  const agentPath = intentsClient.projectAgentPath(projectId);

  const trainingPhrases = [];

  const part = {
    text: 'Number of Customers During Non-mealtime',
    entityType: '@KPIs',
    alias: 'KPIs',
  };

  const part1 = {
    text: 'today',
    entityType: '@customGranularity',
    alias: 'customGranularity',
  };

  // Here we create a new training phrase for each provided part.
  const trainingPhrase = {
    type: 'EXAMPLE',
    parts: [part, part1],
  };

  trainingPhrases.push(trainingPhrase);

  const parameter = {
    displayName: 'KPIs',
    entityTypeDisplayName: '@KPIs',
    value: 'Number of Customers During Non-mealtime',
  }

  const parameter1 = {
    displayName: 'customGranularity',
    entityTypeDisplayName: '@customGranularity',
    value: 'today',
  }

  const messageText = {
    text: messageTexts,
  };

  const message = {
    text: messageText,
  };

  const intent = {
    displayName: displayName,
    trainingPhrases: trainingPhrases,
    messages: [message],
    parameters: [parameter, parameter1],
  };

  const createIntentRequest = {
    parent: agentPath,
    intent: intent,
  };

  // Create the intent
  const responses = await intentsClient.createIntent(createIntentRequest);
  console.log(`Intent ${responses[0].name} created`);

Does this work for you?

@jaymovaliya, can you confirm whether @nnegrey's approach works for you?

That's working for me,
But i am crating multiple intents together with more than 100 training phrases at that time it is not working.

Hi @jaymovaliya! 👋
I had the same issue and figured out that the field parameters must be set with entities you expect in the response.
Intent (https://cloud.google.com/dialogflow-enterprise/docs/reference/rest/v2/projects.agent.intents#Intent)
"parameters": [{
  "name": string,
  "displayName": string,
  "value": string,
  "defaultValue": string,
  "entityTypeDisplayName": string,
  "mandatory": boolean,
  "prompts": [
    string
  ],
  "isList": boolean
}]

There hasn't been a whole lot of activity on this thread lately and I believe it has been answered, so I'm going to close it out. If you feel that this was an error, let us know and we'll be happy to re-open/investigate 😎

I'm able to get it working with:
  // [START dialogflow_create_intent]
  // Imports the Dialogflow library
  const dialogflow = require('dialogflow');

  // Instantiates the Intent Client
  const intentsClient = new dialogflow.IntentsClient();

  // The path to identify the agent that owns the created intent.
  const agentPath = intentsClient.projectAgentPath(projectId);

  const trainingPhrases = [];

  const part = {
    text: 'Number of Customers During Non-mealtime',
    entityType: '@KPIs',
    alias: 'KPIs',
  };

  const part1 = {
    text: 'today',
    entityType: '@customGranularity',
    alias: 'customGranularity',
  };

  // Here we create a new training phrase for each provided part.
  const trainingPhrase = {
    type: 'EXAMPLE',
    parts: [part, part1],
  };

  trainingPhrases.push(trainingPhrase);

  const parameter = {
    displayName: 'KPIs',
    entityTypeDisplayName: '@KPIs',
    value: 'Number of Customers During Non-mealtime',
  }

  const parameter1 = {
    displayName: 'customGranularity',
    entityTypeDisplayName: '@customGranularity',
    value: 'today',
  }

  const messageText = {
    text: messageTexts,
  };

  const message = {
    text: messageText,
  };

  const intent = {
    displayName: displayName,
    trainingPhrases: trainingPhrases,
    messages: [message],
    parameters: [parameter, parameter1],
  };

  const createIntentRequest = {
    parent: agentPath,
    intent: intent,
  };

  // Create the intent
  const responses = await intentsClient.createIntent(createIntentRequest);
  console.log(`Intent ${responses[0].name} created`);

Does this work for you?

Hi dear, could you please provide an example with data?

Hi,
I am having the same problem but the issue (bug) is still not solved. Can you please provide an example with your data?

Hi @jaymovaliya! 👋
I had the same issue and figured out that the field parameters must be set with entities you expect in the response.
Intent (https://cloud.google.com/dialogflow-enterprise/docs/reference/rest/v2/projects.agent.intents#Intent)
"parameters": [{
  "name": string,
  "displayName": string,
  "value": string,
  "defaultValue": string,
  "entityTypeDisplayName": string,
  "mandatory": boolean,
  "prompts": [
    string
  ],
  "isList": boolean
}]

Hi,
I am having the same problem but the issue (bug) is still not solved. Can you please provide an example with your data? because I do set entitytypeDisplayName as the entity I expect, but it doesn't help.


[CI] Workflow to validate the compatibility of MeshKit with Meshery Server

Current Behavior

Currently, there isn't a workflow which checks the compatibility of MeshKit changes on PRs with latest Meshery Server backend code. And, maintainers and contributors have to manually check the compatibility.

Here compatibility refers to go.mod changes and different pkgs imported by different MeshKit clients like Meshery Server, mesheryctl etc.

Desired Behavior

Create a workflow that can check the compatibility of changes in MeshKit.
Workflow should run on each PR

For reference check recording at https://discuss.layer5.io/t/meshery-build-release-meeting-nov-9th-2023/4170

Resources

Alternatives / Additional Context

Why a separate workflow?


[IoTDB-1989] IoTDB support insert data from Spark

Coverage increased (+0.002%) to 67.311% when pulling a839ffc38e1daa5577b1985420acceaa453b0154 on xuanronaldo:update_spark_connector into be4339701e29c91f757c4e4821bd396ef0d8695f on apache:master.

Ok，got this
------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2021年11月29日(星期一) 上午10:58
收件人: @.>;
抄送: "Xuan @.>; @.>;
主题: Re: [apache/iotdb] [IoTDB-1989] IoTDB support insert data from Spark (PR #4477)
@HTHou commented on this pull request.
In spark-iotdb-connector/src/main/scala/org/apache/iotdb/spark/db/tools/DataFrameTools.java:
> + +import static org.apache.iotdb.tsfile.file.metadata.enums.TSDataType.*; +import static org.apache.iotdb.tsfile.file.metadata.enums.TSDataType.DOUBLE;
Avoiding using * is better.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

ok，got this
------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2021年11月29日(星期一) 中午11:07
收件人: @.>;
抄送: "Xuan @.>; @.>;
主题: Re: [apache/iotdb] [IoTDB-1989] IoTDB support insert data from Spark (PR #4477)
@HTHou commented on this pull request.
In spark-iotdb-connector/src/main/scala/org/apache/iotdb/spark/db/DefaultSource.scala:
> +    if (iotdbOptions.sql.equals("")) { +      sys.error("sql not specified")      }  ⬇ Suggested change -    if (iotdbOptions.sql.equals("")) { -      sys.error("sql not specified") -    } +    if ("".equals(iotdbOptions.sql)) { +      sys.error("sql not specified") +    }
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

It is confilcted with the Spark, so it is marked by provided.
------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2021年11月29日(星期一) 中午11:13
收件人: @.>;
抄送: "Xuan @.>; @.>;
主题: Re: [apache/iotdb] [IoTDB-1989] IoTDB support insert data from Spark (PR #4477)
@HTHou commented on this pull request.
In spark-iotdb-connector/pom.xml:
> +        <dependency> +            <groupId>net.jpountz.lz4</groupId> +            <artifactId>lz4</artifactId> +            <version>1.3.0</version> +            <scope>provided</scope> +        </dependency>
lz4 in master branch has upgraded to 1.8.0, better to keep the same version.
BTW, what this dependency use for here?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Hi, would you like to add the guide to tell users how to use it?

Yep, I got some report need to do now. I'll add some ITs and guide these days.
------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2021年11月29日(星期一) 下午4:54
收件人: @.>;
抄送: "Xuan @.>; @.>;
主题: Re: [apache/iotdb] [IoTDB-1989] IoTDB support insert data from Spark (PR #4477)
Hi, would you like to add the guide to tell users how to use it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Hi, would you like to add the guide to tell users how to use it?

Yep, I got some report need to do now. I'll add some ITs and guide these days.


[ZEPPELIN-319]wait an additional .5 seconds, if assertion will fail

This test failed randomly during a build. To make sure this is not due to timing issues, we can optionally wait an additional .5 seconds.
This is a band-aid around bad design, but I'm pragmatically trying to get the build to be more stable. This should also help determine if there is an actual (randomly striking) issue in the underlying procedure being tested, by making the test more reliable.
Please review, and if you can come up with a better designed test (and avoid waiting for threads to finish in a fixed time interval) we should discuss it here or in the issue.

@Leemoonsoo any feedback on this PR?

Purpose of Thread.sleep(500) at line 119 is waiting for the job finish.
So, how about replace it with
    while (!job.isTerminated()) {
      Thread.sleep(100);
    }

?

Well, we do need some kind of way out of that loop, to get to the failure - stage. Infinite looping won't work.

Then, you can break the loop, like
    // wait for job finish, maximum 10 seconds
    for (int i = 0 ; i < 100 && !job.isTerminated(); i++) {
      Thread.sleep(100);
    }

That's more reasonable,  I'll amend the commit.

Looks like npm-dependency-resolution broke the build - how can I trigger a re-check? (Ironic, that this happens, while I'm trying to stabilize the build ^^;)

@RPCMoritz you can close and reopen this PR to trigger the CI again

@corneadoug thanks!

Thanks! LGTM


mypy: Fix Missing return statement/value errors

I see that this repository doesn't yet include mypy as a dependency like python-poetry/poetry does, though using it I was able to find quite a few errors. By resolving these errors, I hope to make poetry-core some amount more correct. For the purposes of this PR, I narrowed the scope to the following:
$ poetry run mypy poetry --exclude=poetry/core/_vendor | grep "Missing return statement\|Return value expected"
poetry/core/version/version.py:135: error: Missing return statement
poetry/core/version/version.py:149: error: Missing return statement
poetry/core/version/version.py:183: error: Missing return statement
poetry/core/semver/version.py:303: error: Return value expected
poetry/core/semver/version.py:307: error: Return value expected
poetry/core/semver/version.py:328: error: Return value expected
poetry/core/semver/version.py:334: error: Return value expected

Each error was rather innocuous, though easy enough to correct. Extra consideration was taken, possibly incorrectly, to ignore the poetry/core/_vendor directory as this looks like external code as the folder name suggests. I included this directory in a mypy.ini file as seen in the proposed commits, though left granular configuration alone for now pending broader discussion.
The GitHub Actions should confirm this as well, provided I haven't made a mistake, though the tests pass locally:
$ poetry run tox -e py39
...
== 529 passed, 2 skipped, 8 deselected in 2.96 seconds ==

@jcmdln is this PR still relevant, or can it be closed?

I still use (and prefer) poetry but I haven't been following the development closely, so I'm not sure that this PR is still relevant. For now I'll close this PR.


eval() found

eval() is not allowed and must not be used for following reasons

Potential unsafe input. Passing an untrusted parameter is a way to fail. It is often not a trivial task to make sure that a parameter (or part of it) is fully trusted
Trickiness. Using eval() makes code clever, therefore more difficult to follow and debug
Inexperienced developers who use it without enough consideration can be huge problem

Found eval in the file includes/plugins/timber-library/vendor/twig/twig/lib/Twig/Test/IntegrationTestCase.php

Line 69: eval('$ret = '.$condition.';');
Line 81: ), $match[2] ? eval($match[2].';') : array());
Line 107: $output = trim($template->render(eval($match[1].';')), '\n ');

includes/plugins/timber-library/vendor/twig/twig/lib/Twig/Environment.php line 332

Related to my comment on #188, any frameworks/libraries included with the theme would have to pass all the guidelines and the WordPress.org Theme Check.  eval() definitely wouldn't be allowed in a theme on .ORG.

Notes: See comments on https://github.com/codemonkey-jack/maera/issues/188


switch repo to another (new?) branch

I couldn't find this in the eclipse plugin or the source in cloud platform, so I coded it myself.
Needs support in frontend, have already coded it in my vscode plugin, no eclipse support yet

this is currently not supported in the ADT client.


Array parameters wierdness

There seem to be some issues with the handling of array parameters. I'm encountering problems with setting parameters and getting my application terminated, because of
Wrong parameter type, parameter {myParam} is of type {integer}, setting it to {integer_array} is not allowed.

Working configuration:
parameters.yaml
  myParam: {
    type: int_array_fixed_2,
    description: "myDescription",
    default_value: [ 0, 0],
    validation: {
      element_bounds<>: [ 0, 10000 ]
    }
  }

config.yaml
node:
  ros__parameters:
    myParam: [0, 1]

bounds demoting array to single integer
parameters.yaml
  myParam: {
    type: int_array_fixed_2,
    description: "myDescription",
    default_value: [ 0, 0],
    validation: {
      bounds<>: [ 0, 10000 ]
    }
  }

Changing out element_bounds to bounds will demote the parameter to a single integer and cause the error at the start. Removing the validation block will fix the problem.
No default_value demotes to single integer
parameters.yaml
  myParam: {
    type: int_array_fixed_2,
    description: "myDescription",
    validation: {
      element_bounds<>: [ 0, 10000 ]
    }
  }

Removing the default_value key will also demote the array. Removing the validation block will change nothing.
Something fishy is going on here, could you have a look? Thank you <3

For the second case, I used the example code in this repo to reproduce and I traced the error to these lines of code (in the generated output):
      param = parameters_interface_->get_parameter(prefix_ + "three_numbers_of_five");
      RCLCPP_DEBUG_STREAM(logger_, param.get_name() << ": " << param.get_type_name() << " = " << param.value_to_string());
      if(auto validation_result = bounds<int64_t>(param, 0, 10000);

The debug output is this:
[DEBUG] [1689616694.024382816] [admittance_controller]: three_numbers_of_five: integer_array = [3, 3, 3]

This means that the correct type (integer_array) is being set in that param variable that is then sent to the bounds function: https://github.com/PickNikRobotics/RSL/blob/91c445b283c5c74a23be0a62f8e6ca07f1fb1e5a/include/rsl/parameter_validators.hpp#L204
This uses the method rclcpp::Parameter::get_value with the template argument passed into the bounds method. The problem is that the template argument is int64_t and the parameter type is correctly integer_array. This is the reason for the separate bounds and element_bounds validation methods as you have discovered.
How do we make this error more useful (or earlier, maybe compile time?). The error message correctly states that the types don't match but doesn't say where the error occurred.
For a better run-time error, we could catch that exception in the validator functions and add to the text explaining where the error occurred (and what the user could do about it).
Ideally, we'd catch this at compile time, though, or better-yet make the problem disappear and eliminate the need for the user to know about bounds and element_bounds. All the information is there at compile time to insert the code that does what the user expects.


The pycurl client

I want to use pycurl to do the http request, so I make a pycurl client likes below:
coding=utf-8
from locust import Locust, events
import time
import pycurl
from cStringIO import StringIO
from exceptions import AttributeError
class PycurlClient(object):
def __init__(self):
    self.curl = None
    self.recordFuncs = ['perform']

def openCurl(self):
    self.curl = pycurl.Curl()

def closeCurl(self):
    try:
        self.curl.close()
    except:
        pass

def __getattr__(self, name):
    try:
        func = eval('self.curl.' + name)
    except AttributeError:
        print 'pycurl does not have the method %s' % name

    def wrapper(*args, **kwargs):
        start_time = time.time()
        try:
            result = func(*args, **kwargs)
        except Exception as e:
            total_time = int((time.time() - start_time) * 1000)
            events.request_failure.fire(request_type="pycurl", name=name, response_time=total_time, exception=e)
        else:
            if name in self.recordFuncs:
                total_time = int((time.time() - start_time) * 1000)
                events.request_success.fire(request_type="pycurl", name=name, response_time=total_time, response_length=0)
    return wrapper

class PycurlLocust(Locust):
client = None

def __init__(self, *args, **kwargs):
    super(PycurlLocust, self).__init__(*args, **kwargs)
    self.client = PycurlClient()

And, I use this client in my new task like this:
coding=utf-8
import pycurl
from locust.pycurlclients import PycurlClient, PycurlLocust
from locust import TaskSet, task
from cStringIO import StringIO
class TestTaskSet(TaskSet):
@task
def index(self):
print '%s get index' % str(self.locust)
self.client.openCurl()
self.client.setopt(pycurl.URL, r'http://www.so.com')
sio = StringIO()
self.client.setopt(pycurl.WRITEFUNCTION, sio.write)
self.client.perform()
self.client.closeCurl()
def on_start(self):
    print 'locust %s' % str(self.locust)

class TestPycurlClient(PycurlLocust):
max_wait = min_wait = 1
task_set = TestTaskSet
host = r'http://www.so.com'
When the user was 1, the pycurl's performance was better than requests, but when I increased the user's number, the requests number of per second equals to the 1 user almostly. So do you have some suggestions about this?

I don't have an answer to your question, but I'm very confused why you would replace requests with pycurl.  Can you elaborate on what you are trying to achieve with this code?

requests lib is a sync net io lib, so do you have a plan to change it to async lib, maybe python3.5's asyncio.

And httptools is a nice http response parser, it might speed up the io speed.

@likezjuisee: Locust uses gevent which monkey patches python sockets and makes them use asynchronous IO (while maintaining a synchronous programming model).
Python-requests gives you an extremely nice API and handles a lot of edge-cases automatically. Therefore it comes with some overhead. Therefore, if your planning to run huge load tests you might benefit from using an HTTP client with less overhead. In that case I would recommend using geventhttpclient (https://github.com/gwik/geventhttpclient).
I don't know about PyCurl but I suspect that it's synchronous by default, and since it's written in C, it bypasses gevents monkey patching of socket which will make it run synchronously, which would explain why you would get the same result as running a single user (or worse). Also, I wouldn't expect eval() to be performant, so instead of overriding __getattr__ it would be probably better to make a class/subclass with methods that "manually" call the functions that makes the requests.

I known the monkey patches, but I guess it may be worse than asyncio. You might look around the web server framework sanic https://github.com/channelcat/sanic, it benefits from the httptools and uvloop. So I supposed you to update the locust to python3.5. If you persist with your own plan, it is ok. ^_^

I came upon this issue and know its closed. However, I just wanted to point out one thing. The reason I was looking to use pycurl is to get internal metrics on the actual HTTP call. The "response time" for an call will include multiple things - DNS lookup, TLS negotiation, server latency to process the call, etc. Curl makes those available. That's the reason I was looking to use pycurl. Are those metrics provided via locust today? I didn't see them but thought I'd ask. For reference here's what curl provides for metrics - https://ec.haxx.se/usingcurl-writeout.html


Replace "klasse" with "class"

Did they change something in the API or where does this change come from?

Sorry, nvm I just missed that the API uses this property name and thought it was a mistake.


All FSharp.Core redirects removed after updating to FSharp.Core 5.0.0

paket update FSharp.Core
The expected change in paket.lock:

But all the redirects (in ~150 projects) are gone:

which results with runtime errors, like this:
System.TypeInitializationException : The type initializer for 'xxx' threw an exception.
  ----> System.TypeInitializationException : The type initializer for '<StartupCode$xxx>.$Settings' threw an exception.
  ----> System.IO.FileLoadException : Could not load file or assembly 'FSharp.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

The header of paket.dependencies is:
redirects: on
framework: net462
source ./nuget
source https://api.nuget.org/v3/index.json

Did you try redirects: force for FSharp.Core package?
5.0 changed their /libs quite dramatically. Not sure anyone tested that
with net462 yet.
Vasily Kirichenko<EMAIL_ADDRESS>schrieb am Di., 1. Dez. 2020,
07:40:

paket update FSharp.Core
The expected change in paket.lock:
[image: image]
https://user-images.githubusercontent.com/873919/100705718-c0686c00-33b8-11eb-8b2b-82161de09d1d.png
But all the redirects (in ~150 projects) are gone:
[image: image]
https://user-images.githubusercontent.com/873919/100705559-6d8eb480-33b8-11eb-8ed8-06fb5c6b9a69.png
which results with runtime errors, like this:
System.TypeInitializationException : The type initializer for 'xxx' threw an exception.
----> System.TypeInitializationException : The type initializer for '<StartupCode$xxx>.$Settings' threw an exception.
----> System.IO.FileLoadException : Could not load file or assembly 'FSharp.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
The header of paket.dependencies is:
redirects: on
framework: net462
source ./nuget
source https://api.nuget.org/v3/index.json
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3961, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAOANB4SSWT6SIERUJR4ETSSSFWJANCNFSM4UISQZ4A
.

@forki Yes, I've tried redirects: force, no effect.
What I need is just to add the redirection for FSharp.Core to version 5.0.0 to all app.configs. Is it possible?
I cannot see how the structure of the package's /libs or the target framework could break it :(

do you have a simple repro with just one project as a zip? I would look at it asap

@forki https://github.com/vasily-kirichenko/FSharpCore5PaketRedirectionBug (or you really need a zip?..)

Ok I looked at it. As I expected it's the change in /lib folder. The new FSharp.Core 5.0 only comes with netstandard2.0 support.
And netstandard2.0 and net462 don't really fit together.
Short story: If we activate the compatibilty in Paket then stuff breaks. If we don't then scenarios like this one here doesn't work.
There is a PR by @0x53A which tries to mitigate this. see https://github.com/fsprojects/Paket/pull/3447 - it also gives a lot more details on the history. Funnily one of those mentioned issues is by you. So you already run into this before.
@0x53A any ideas why we dropped the ball here?

@forki I've created net462 dir, copied netstandard2.0 dir's content into it, zip all this into 5.0.1 package and use it locally. Problem solved, Microsoft, thank you, as always! :)

Lol yeah I guess that will make it work :P
Vasily Kirichenko<EMAIL_ADDRESS>schrieb am Di., 1. Dez. 2020,
21:04:

@forki https://github.com/forki I've created net462 dir, copied
netstandard2.0 dir's content into it, zip all this into 5.0.1 package and
use it locally. Problem solved, Microsoft, thank you, as always! :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3961#issuecomment-736786593,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAOANFOZGLVTA7EDXBDXFLSSVD5JANCNFSM4UISQZ4A
.

@forki I didn't have the time and motivation to finish it, and by now I've migrated to .net 5 ¯_(ツ)_/¯


Build errors if the plugin is activated

The used Godot version: v3.3.2.stable.arch_linux
OS including version: 5.12.9-1-MANJARO
Describe the bug:
I use GitLab CI/CD to automatically build the game on multiple platforms. If the plugin is activated, the build log contains errors that cause the builder to abort, even if they don't affect the quality of the game executable.
I don't want to allow errors to be ignored in the builder configuration, because today's plugin errors can be ignored by it just as much as the sudden errors in the game itself tomorrow.
Steps to Reproduce

Create new project with empty main scene
Install gdunit3 plugin from AssetLib
Enable plugin
Define sample export profile ("Linux/X11" with default options, for example)
Close the editor
Build release by godot --verbose --export "Linux/X11" ./release.x86_64 command
See errors in console

Logs output
Godot Engine v3.3.2.stable.arch_linux - https://godotengine.org
XInput: Refreshing devices.
XInput: No touch devices found.
Detecting GPUs, set DRI_PRIME in the environment to override GPU detection logic.
Only one GPU found, using default.
Failed loading custom cursor: X_cursor
Using GLES3 video driver
OpenGL ES 3.0 Renderer: NVIDIA GeForce GTX 1660 SUPER/PCIe/SSE2
OpenGL ES Batching: ON
	OPTIONS
	max_join_item_commands 16
	colored_vertex_format_threshold 0.25
	batch_buffer_size 16384
	light_scissor_area_threshold 1
	item_reordering_lookahead 4
	light_max_join_items 32
	single_rect_fallback False
	debug_flash False
	diagnose_frame False
PulseAudio: context other
PulseAudio: context other
PulseAudio: context other
PulseAudio: context ready
PulseAudio: Detecting channels for device: alsa_output.pci-0000_28_00.3.analog-stereo
PulseAudio: detected 2 channels
PulseAudio: audio buffer frames: 512 calculated latency: 11ms
JoypadLinux: udev enabled and loaded successfully.

CORE API HASH:<PHONE_NUMBER>9771907951
EDITOR API HASH:<PHONE_NUMBER>335453207
Loading resource: res://default_env.tres
Construct gdnative interface

Destruct gdnative interface

Class 'BulletPhysicsDirectBodyState' is not exposed, skipping.
Class 'BulletPhysicsDirectSpaceState' is not exposed, skipping.
Class 'BulletPhysicsServer' is not exposed, skipping.
Class 'GDScriptNativeClass' is not exposed, skipping.
Class 'IP_Unix' is not exposed, skipping.
Class 'InputDefault' is not exposed, skipping.
Class 'Physics2DDirectBodyStateSW' is not exposed, skipping.
Class 'Physics2DDirectSpaceStateSW' is not exposed, skipping.
Class 'Physics2DServerSW' is not exposed, skipping.
Class 'ResourceImporterMP3' is not exposed, skipping.
Class 'ResourceImporterOGGVorbis' is not exposed, skipping.
Loading resource: /home/toby3d/.config/godot/editor_settings-3.tres
EditorSettings: Load OK!
Loaded builtin certs
Socket error: 98
Failed to bind socket.
EditorSettings: Save OK!
Loading resource: res://addons/gdUnit3/plugin.gd
Loading resource: res://addons/gdUnit3/src/core/GdUnitSingleton.gd
Loading resource: res://addons/gdUnit3/src/core/GdUnitSettings.gd
Loading resource: res://addons/gdUnit3/src/core/event/SignalHandler.gd
Loading resource: res://addons/gdUnit3/src/core/event/GdUnitEvent.gd
Loading resource: res://addons/gdUnit3/src/core/report/GdUnitReport.gd
Loading resource: res://addons/gdUnit3/src/core/GdUnitTools.gd
Loading resource: res://addons/gdUnit3/src/core/Result.gd
GdUnit3: Set inital settings 'gdunit3/settings/server_connection_timeout_minutes' to '30'.
GdUnit3: Set inital settings 'gdunit3/settings/test_timeout_seconds' to '300'.
GdUnit3: Set inital settings 'gdunit3/report/error_notification' to 'False'.
GdUnit3: Set inital settings 'gdunit3/report/verbose_orphans' to 'True'.
GdUnit3: Set inital settings 'gdunit3/report/assert/verbose_errors' to 'True'.
GdUnit3: Set inital settings 'gdunit3/report/assert/verbose_warnings' to 'True'.

GdUnit3: Can't establish server on port 31002, error code: 22
GdUnit3: Retry (0) ...
GdUnit3: Server successfully started on port 31003
Loading GdUnit3 Plugin success
savepack: begin: Упаковывание steps: 102
	savepack: step 2: Сохранение файла: res://default_env.tres
	savepack: step 35: Сохранение файла: res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex
	savepack: step 35: Сохранение файла: res://icon.png.import
	savepack: step 68: Сохранение файла: res://main.tscn
	savepack: step 102: Сохранение файла: res://icon.png
	savepack: step 102: Сохранение файла: res://project.binary
savepack: end
ERROR: remove_child: Parent node is busy setting up children, remove_node() failed. Consider using call_deferred("remove_child", child) instead.
   At: scene/main/node.cpp:1219.
Unload GdUnit3 Plugin success
EditorSettings: Save OK!
ERROR: ~List: Condition "_first != __null" is true.
   At: ./core/self_list.h:112.
ERROR: ~List: Condition "_first != __null" is true.
   At: ./core/self_list.h:112.
PulseAudio: context terminated
WARNING: cleanup: ObjectDB instances leaked at exit (run with --verbose for details).
   At: core/object.cpp:2132.
Leaked instance: GDScriptNativeClass:566
Leaked instance: GDScript:18386 - Resource path: res://addons/gdUnit3/src/core/TimeUnit.gd
Leaked instance: Label:18685 - Node name: value
Leaked instance: Tree:18655 - Node name: Tree
Leaked instance: GDScript:18600 - Resource path: res://addons/gdUnit3/src/ui/parts/InspectorTreeMainPanel.gd
Leaked instance: ToolButton:18684 - Node name: ToolButton
Leaked instance: Image:18762 - Resource path:
Leaked instance: GDScript:18527 - Resource path: res://addons/gdUnit3/src/core/GdUnitObjectInteractionsTemplate.gd
Leaked instance: VBoxContainer:18630 - Node name: Header
Leaked instance: Image:18813 - Resource path:
Leaked instance: GDScript:18523 - Resource path:
Leaked instance: GDScript:18522 - Resource path:
Leaked instance: AnimatedTexture:18779 - Resource path: res://addons/gdUnit3/src/ui/assets/TestCase_failed_orphan.tres
Leaked instance: StreamTexture:18705 - Resource path: res://addons/gdUnit3/src/ui/assets/spinner/Progress8.svg
Leaked instance: VScrollBar:18634 - Node name: VScrollBar
Leaked instance: HSlider:18662 - Node name: HSlider
Leaked instance: Timer:18677 - Node name: Timer
Leaked instance: PopupMenu:18676 - Node name: PopupMenu
Leaked instance: HScrollBar:18663 - Node name: HScrollBar
Leaked instance: GDScript:18543 - Resource path:
Leaked instance: GDScript:18345 - Resource path: res://addons/gdUnit3/src/ui/parts/InspectorToolBar.gd
Leaked instance: AnimatedTexture:18819 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/orphan_animated_icon.tres
Leaked instance: GDScript:18329 - Resource path: res://addons/gdUnit3/src/core/Result.gd
Leaked instance: ToolButton:18639 - Node name: stop
Leaked instance: ImageTexture:91 - Resource path:
Leaked instance: GDScript:18518 - Resource path: res://addons/gdUnit3/src/core/parse/GdClassDescriptor.gd
Leaked instance: AnimatedTexture:18790 - Resource path: res://addons/gdUnit3/src/ui/assets/TestCase_error_orphan.tres
Leaked instance: ToolButton:18635 - Node name: wiki
Leaked instance: GDScriptNativeClass:718
Leaked instance: StyleBoxTexture:94 - Resource path:
Leaked instance: GDScript:18324 - Resource path: res://addons/gdUnit3/src/core/event/GdUnitEvent.gd
Leaked instance: GDScript:18394 - Resource path: res://addons/gdUnit3/src/core/GdUnitRunnerConfig.gd
Leaked instance: GDScript:18449 - Resource path: res://addons/gdUnit3/src/matchers/AnyClazzArgumentMatcher.gd
Leaked instance: GDScript:18404 - Resource path: res://addons/gdUnit3/src/core/GdObjects.gd
Leaked instance: Image:18719 - Resource path:
Leaked instance: GDScript:18438 - Resource path: res://addons/gdUnit3/src/GdUnitFileAssert.gd
Leaked instance: VScrollBar:18836 - Node name: VScrollBar
Leaked instance: Panel:18654 - Node name: Panel
Leaked instance: GDScript:18456 - Resource path: res://addons/gdUnit3/src/core/GdUnitMemoryPool.gd
Leaked instance: StreamTexture:18341 - Resource path: res://addons/gdUnit3/src/ui/assets/PlayDebug.svg
Leaked instance: GridContainer:18644 - Node name: Errors
Leaked instance: Image:18755 - Resource path:
Leaked instance: Image:18695 - Resource path:
Leaked instance: GDScriptNativeClass:563
Leaked instance: StreamTexture:18709 - Resource path: res://addons/gdUnit3/src/ui/assets/spinner/Progress2.svg
Leaked instance: Label:18688 - Node name: value
Leaked instance: LineEdit:18658 - Node name: LineEdit
Leaked instance: Image:2542 - Resource path:
Leaked instance: PanelContainer:18681 - Node name: Monitor
Leaked instance: StyleBoxTexture:102 - Resource path:
Leaked instance: GDScript:18569 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitVector3AssertImpl.gd
Leaked instance: GDScriptNativeClass:744
Leaked instance: VBoxContainer:18830 - Node name: VBoxContainer
Leaked instance: StreamTexture:18380 - Resource path: res://addons/gdUnit3/src/ui/assets/clock.svg
Leaked instance: GDScript:18578 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitFileAssertImpl.gd
Leaked instance: StreamTexture:18807 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/orphan_red3.svg
Leaked instance: GDScript:18572 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitArrayAssertImpl.gd
Leaked instance: GDScript:18824 - Resource path: res://addons/gdUnit3/src/ui/GdUnitConsole.gd
Leaked instance: HBoxContainer:18631 - Node name: ToolBar
Leaked instance: GDScript:18420 - Resource path: res://addons/gdUnit3/src/GdUnitBoolAssert.gd
Leaked instance: GDScript:18575 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitDictionaryAssertImpl.gd
Leaked instance: GDScript:18547 - Resource path: res://addons/gdUnit3/src/spy/GdUnitSpyImpl.gd
Leaked instance: GridContainer:18686 - Node name: Orphan
Leaked instance: Panel:18834 - Node name: Console
Leaked instance: GDScriptNativeClass:729
Leaked instance: StyleBoxTexture:90 - Resource path:
Leaked instance: GDScript:18533 - Resource path: res://addons/gdUnit3/src/asserts/GdAssertMessages.gd
Leaked instance: Image:18739 - Resource path:
Leaked instance: VSplitContainer:18653 - Node name: MainPanel
Leaked instance: StyleBoxTexture:364 - Resource path:
Leaked instance: ImageTexture:87 - Resource path:
Leaked instance: Panel:18831 - Node name: Header
Leaked instance: GDScript:18418 - Resource path: res://addons/gdUnit3/src/GdUnitAssert.gd
Leaked instance: Image:18699 - Resource path:
Leaked instance: ProgressBar:18640 - Node name: ProgressBar
Leaked instance: Label:18641 - Node name: Label
Leaked instance: Image:18370 - Resource path:
Leaked instance: Image:18817 - Resource path:
Leaked instance: ScrollContainer:18669 - Node name: ScrollContainer
Leaked instance: StreamTexture:18799 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/orphan_red5.svg
Leaked instance: GDScript:18458 - Resource path: res://addons/gdUnit3/src/monitor/GdUnitMonitor.gd
Leaked instance: GDScript:18552 - Resource path: res://addons/gdUnit3/src/core/GdUnitObjectInteractions.gd
Leaked instance: GDScript:18451 - Resource path: res://addons/gdUnit3/src/matchers/AnyArgumentMatcher.gd
Leaked instance: StreamTexture:18811 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/orphan_red2.svg
Leaked instance: GDScript:18464 - Resource path: res://addons/gdUnit3/src/mocking/GdUnitMockBuilder.gd
Leaked instance: StreamTexture:18764 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/TestCaseSuccess2.svg
Leaked instance: GDScript:18465 - Resource path: res://addons/gdUnit3/src/core/GdUnitClassDoubler.gd
Leaked instance: GridContainer:18682 - Node name: GridContainer
Leaked instance: HBoxContainer:18636 - Node name: Tools
Leaked instance: Image:18805 - Resource path:
Leaked instance: PopupMenu:18656 - Node name: PopupMenu
Leaked instance: GridContainer:18683 - Node name: Time
Leaked instance: GDScript:18472 - Resource path: res://addons/gdUnit3/src/core/parse/GdScriptParser.gd
Leaked instance: ImageTexture:18742 - Resource path:
Leaked instance: GDScript:18393 - Resource path: res://addons/gdUnit3/src/ui/GdUnitInspector.gd
Leaked instance: PopupMenu:18660 - Node name: PopupMenu
Leaked instance: Panel:18627 - Node name: GdUnit
Leaked instance: StreamTexture:18795 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/orphan_red4.svg
Leaked instance: ImageTexture:381 - Resource path:
Leaked instance: Image:18343 - Resource path:
Leaked instance: GDScript:18401 - Resource path: res://addons/gdUnit3/src/matchers/GdUnitArgumentMatcher.gd
Leaked instance: GDScript:18323 - Resource path: res://addons/gdUnit3/src/core/event/SignalHandler.gd
Leaked instance: PopupPanel:18673 - Node name: contextMenu
Leaked instance: GDScript:18445 - Resource path: res://addons/gdUnit3/src/matchers/ChainedArgumentMatcher.gd
Leaked instance: Image:18788 - Resource path:
Leaked instance: StyleBoxTexture:359 - Resource path:
Leaked instance: GDScript:18411 - Resource path: res://addons/gdUnit3/src/GdUnitTuple.gd
Leaked instance: PopupMenu:18679 - Node name: PopupMenu
Leaked instance: Image:18766 - Resource path:
Leaked instance: GDScript:18385 - Resource path: res://addons/gdUnit3/src/core/LocalTime.gd
Leaked instance: GDScript:18541 - Resource path: res://addons/gdUnit3/src/mocking/GdUnitMockImpl.gd
Leaked instance: RichTextLabel:18633 - Node name: version
Leaked instance: VScrollBar:18664 - Node name: VScrollBar
Leaked instance: StreamTexture:18775 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/TestCaseFailed1.svg
Leaked instance: StyleBoxTexture:369 - Resource path:
Leaked instance: ToolButton:18638 - Node name: debug
Leaked instance: ImageTexture:288 - Resource path:
Leaked instance: Timer:18659 - Node name: Timer
Leaked instance: Timer:18680 - Node name: Timer
Leaked instance: GDScript:18461 - Resource path: res://addons/gdUnit3/src/monitor/PushErrorMonitor.gd
Leaked instance: Image:18703 - Resource path:
Leaked instance: Panel:18666 - Node name: report
Leaked instance: StreamTexture:18760 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/TestCaseSuccess1.svg
Leaked instance: StreamTexture:18701 - Resource path: res://addons/gdUnit3/src/ui/assets/spinner/Progress1.svg
Leaked instance: StreamTexture:18771 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/TestCaseFailed2.svg
Leaked instance: GDScriptNativeClass:857
Leaked instance: GDScript:18469 - Resource path: res://addons/gdUnit3/src/core/parse/GdFunctionDescriptor.gd
Leaked instance: GDScript:18595 - Resource path: res://addons/gdUnit3/src/core/_TestCase.gd
Leaked instance: GDScript:18467 - Resource path: res://addons/gdUnit3/src/core/parse/GdFunctionArgument.gd
Leaked instance: GDScript:18428 - Resource path: res://addons/gdUnit3/src/GdUnitFloatAssert.gd
Leaked instance: GDScript:18321 - Resource path: res://addons/gdUnit3/src/core/GdUnitSettings.gd
Leaked instance: Label:18649 - Node name: value
Leaked instance: GDScript:18525 - Resource path:
Leaked instance: GDScript:18422 - Resource path: res://addons/gdUnit3/src/GdUnitStringAssert.gd
Leaked instance: StreamTexture:18364 - Resource path: res://addons/gdUnit3/src/ui/assets/failures.svg
Leaked instance: ImageTexture:82 - Resource path:
Leaked instance: StreamTexture:18717 - Resource path: res://addons/gdUnit3/src/ui/assets/spinner/Progress3.svg
Leaked instance: BitmapFont:79 - Resource path:
Leaked instance: GDScriptNativeClass:564
Leaked instance: ImageTexture:387 - Resource path:
Leaked instance: GDScript:18500 - Resource path: res://addons/gdUnit3/src/fuzzers/Fuzzer.gd
Leaked instance: ImageTexture:366 - Resource path:
Leaked instance: ImageTexture:18734 - Resource path:
Leaked instance: GDScript:18384 - Resource path: res://addons/gdUnit3/src/ui/parts/InspectorMonitor.gd
Leaked instance: ToolButton:18651 - Node name: failure_up
Leaked instance: GDScript:18436 - Resource path: res://addons/gdUnit3/src/GdUnitDictionaryAssert.gd
Leaked instance: StyleBoxTexture:374 - Resource path:
Leaked instance: Image:18784 - Resource path:
Leaked instance: ImageTexture:370 - Resource path:
Leaked instance: AnimatedTexture:18768 - Resource path: res://addons/gdUnit3/src/ui/assets/TestCase_success_orphan.tres
Leaked instance: GDScript:18403 - Resource path: res://addons/gdUnit3/src/GdUnitValueExtractor.gd
Leaked instance: GDScript:18430 - Resource path: res://addons/gdUnit3/src/GdUnitVector2Assert.gd
Leaked instance: GDScript:18584 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitResultAssertImpl.gd
Leaked instance: GDScript:18528 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitAssertImpl.gd
Leaked instance: GDScript:18423 - Resource path: res://addons/gdUnit3/src/Comparator.gd
Leaked instance: ImageTexture:375 - Resource path:
Leaked instance: GDScript:18398 - Resource path: res://addons/gdUnit3/src/GdUnitTestSuite.gd
Leaked instance: GDScript:18581 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitObjectAssertImpl.gd
Leaked instance: GDScript:18444 - Resource path: res://addons/gdUnit3/src/matchers/GdUnitArgumentMatchers.gd
Leaked instance: StreamTexture:18697 - Resource path: res://addons/gdUnit3/src/ui/assets/spinner/Progress5.svg
Leaked instance: RichTextLabel:18667 - Node name: report_template
Leaked instance: GDScript:18325 - Resource path: res://addons/gdUnit3/src/core/report/GdUnitReport.gd
Leaked instance: GDScript:18524 - Resource path:
Leaked instance: Label:18646 - Node name: value
Leaked instance: Image:18378 - Resource path:
Leaked instance: StreamTexture:18693 - Resource path: res://addons/gdUnit3/src/ui/assets/spinner/Progress7.svg
Leaked instance: MenuButton:18675 - Node name: debug
Leaked instance: EditorPlugin:18689 - Node name:
Leaked instance: GridContainer:18650 - Node name: buttons
Leaked instance: Image:18747 - Resource path:
Leaked instance: ImageTexture:3301 - Resource path:
Leaked instance: GDScriptNativeClass:604
Leaked instance: Resource:18338 - Resource path:
Leaked instance: VBoxContainer:18672 - Node name: list
Leaked instance: TreeItem:18792
Leaked instance: StreamTexture:18368 - Resource path: res://addons/gdUnit3/src/ui/assets/errors.svg
Leaked instance: VScrollBar:18833 - Node name: VScrollBar
Leaked instance: GDScript:18413 - Resource path: res://addons/gdUnit3/src/core/GdUnitSceneRunner.gd
Leaked instance: Timer:18665 - Node name: Timer
Leaked instance: StyleBoxTexture:363 - Resource path:
Leaked instance: Image:18707 - Resource path:
Leaked instance: HBoxContainer:18632 - Node name: description
Leaked instance: StyleBoxTexture:365 - Resource path:
Leaked instance: Image:18731 - Resource path:
Leaked instance: GDScript:18545 - Resource path: res://addons/gdUnit3/src/spy/GdUnitSpyBuilder.gd
Leaked instance: Timer:18657 - Node name: Timer
Leaked instance: GDScript:18530 - Resource path: res://addons/gdUnit3/src/core/report/GdUnitReportConsumer.gd
Leaked instance: PanelContainer:18642 - Node name: StatusBar
Leaked instance: HScrollBar:18670 - Node name: _h_scroll
Leaked instance: GDScriptNativeClass:775
Leaked instance: Resource:18628 - Resource path:
Leaked instance: VBoxContainer:18674 - Node name: items
Leaked instance: AnimatedTexture:18725 - Resource path: res://addons/gdUnit3/src/ui/assets/spinner.tres
Leaked instance: Image:18711 - Resource path:
Leaked instance: ImageTexture:378 - Resource path:
Leaked instance: ImageTexture:390 - Resource path:
Leaked instance: ImageTexture:2541 - Resource path:
Leaked instance: StreamTexture:18721 - Resource path: res://addons/gdUnit3/src/ui/assets/spinner/Progress4.svg
Leaked instance: StyleBoxFlat:18357 - Resource path: res://addons/gdUnit3/src/ui/parts/InspectorProgressBar.tscn::1
Leaked instance: GDScript:18557 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitStringAssertImpl.gd
Leaked instance: GridContainer:18643 - Node name: GridContainer
Leaked instance: GDScript:18560 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitIntAssertImpl.gd
Leaked instance: ImageTexture:18758 - Resource path:
Leaked instance: GDScript:18457 - Resource path: res://addons/gdUnit3/src/monitor/GdUnitMemMonitor.gd
Leaked instance: Control:18829 - Node name: Control
Leaked instance: GDScript:18453 - Resource path: res://addons/gdUnit3/src/matchers/AnyBuildInTypeArgumentMatcher.gd
Leaked instance: RichTextLabel:18832 - Node name: header_title
Leaked instance: MenuButton:18678 - Node name: run
Leaked instance: Image:3302 - Resource path:
Leaked instance: GDScript:18594 - Resource path: res://addons/gdUnit3/src/core/_TestSuiteScanner.gd
Leaked instance: GDScript:18355 - Resource path: res://addons/gdUnit3/src/ui/parts/InspectorProgressBar.gd
Leaked instance: GDScript:18447 - Resource path: res://addons/gdUnit3/src/matchers/EqualsArgumentMatcher.gd
Leaked instance: Timer:18661 - Node name: Timer
Leaked instance: Image:3538 - Resource path:
Leaked instance: Image:18777 - Resource path:
Leaked instance: VScrollBar:18668 - Node name: VScrollBar
Leaked instance: ImageTexture:99 - Resource path:
Leaked instance: StreamTexture:18376 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/orphan_green.svg
Leaked instance: GDScript:18362 - Resource path: res://addons/gdUnit3/src/ui/parts/InspectorStatusBar.gd
Leaked instance: VBoxContainer:18629 - Node name: VBoxContainer
Leaked instance: VScrollBar:18671 - Node name: _v_scroll
Leaked instance: GDScript:18440 - Resource path: res://addons/gdUnit3/src/GdUnitObjectAssert.gd
Leaked instance: Image:18801 - Resource path:
Leaked instance: GDScript:18554 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitBoolAssertImpl.gd
Leaked instance: StreamTexture:18786 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/TestCaseError2.svg
Leaked instance: StreamTexture:18815 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/orphan_red7.svg
Leaked instance: Image:18382 - Resource path:
Leaked instance: GDScript:18426 - Resource path: res://addons/gdUnit3/src/GdUnitIntAssert.gd
Leaked instance: ImageTexture:2535 - Resource path:
Leaked instance: EditorPlugin:18691 - Node name:
Leaked instance: RichTextLabel:18835 - Node name: TextEdit
Leaked instance: Image:18723 - Resource path:
Leaked instance: GDScript:18532 - Resource path: res://addons/gdUnit3/src/asserts/GdAssertReports.gd
Leaked instance: GDScript:18434 - Resource path: res://addons/gdUnit3/src/GdUnitArrayAssert.gd
Leaked instance: GDScriptNativeClass:749
Leaked instance: ImageTexture:360 - Resource path:
Leaked instance: ToolButton:18687 - Node name: ToolButton
Leaked instance: GDScript:18319 - Resource path: res://addons/gdUnit3/src/core/GdUnitSingleton.gd
Leaked instance: ToolButton:18645 - Node name: ToolButton
Leaked instance: GDScript:18466 - Resource path: res://addons/gdUnit3/src/core/GdFunctionDoubler.gd
Leaked instance: ToolButton:18652 - Node name: failure_down
Leaked instance: GDScript:18563 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitFloatAssertImpl.gd
Leaked instance: StreamTexture:18803 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/orphan_red6.svg
Leaked instance: StyleBoxTexture:373 - Resource path:
Leaked instance: Image:18773 - Resource path:
Leaked instance: StreamTexture:18713 - Resource path: res://addons/gdUnit3/src/ui/assets/spinner/Progress6.svg
Leaked instance: ToolButton:18637 - Node name: run
Leaked instance: Image:18366 - Resource path:
Leaked instance: GDScript:18566 - Resource path: res://addons/gdUnit3/src/asserts/GdUnitVector2AssertImpl.gd
Leaked instance: StreamTexture:18782 - Resource path: res://addons/gdUnit3/src/ui/assets/orphan/TestCaseError1.svg
Leaked instance: GDScript:18550 - Resource path:
Leaked instance: Image:18809 - Resource path:
Leaked instance: GDScript:19022 - Resource path: res://addons/gdUnit3/src/network/rpc/RPC.gd
Leaked instance: StyleBoxTexture:98 - Resource path:
Leaked instance: ImageTexture:95 - Resource path:
Leaked instance: GDScript:18442 - Resource path: res://addons/gdUnit3/src/GdUnitResultAssert.gd
Leaked instance: Image:18715 - Resource path:
Leaked instance: GDScript:18399 - Resource path: res://addons/gdUnit3/src/mocking/GdUnitMock.gd
Leaked instance: Image:18797 - Resource path:
Leaked instance: GDScript:18432 - Resource path: res://addons/gdUnit3/src/GdUnitVector3Assert.gd
Leaked instance: ImageTexture:3537 - Resource path:
Leaked instance: GridContainer:18647 - Node name: Failures
Leaked instance: ImageTexture:181 - Resource path:
Leaked instance: ToolButton:18648 - Node name: ToolButton
Leaked instance: ImageTexture:18750 - Resource path:
Leaked instance: GDScript:18328 - Resource path: res://addons/gdUnit3/src/core/GdUnitTools.gd
Leaked instance: Image:2536 - Resource path:
Leaked instance: ImageTexture:384 - Resource path:
Hint: Leaked instances typically happen when nodes are removed from the scene tree (with `remove_child()`) but not freed (with `free()` or `queue_free()`).
ERROR: clear: Resources still in use at exit (run with --verbose for details).
   At: core/resource.cpp:450.

ERROR: cleanup: There are still MemoryPool allocs in use at exit!
   At: core/pool_vector.cpp:66.

Minimal reproduction project: debug.zip

Thanks for reporting.
I will have a look soon
If disabling the plugin before export a usable workaround?

If disabling the plugin before export a usable workaround?

Yes.

Logs
) godot --verbose --export "Linux/X11" ./release.x86_64
Godot Engine v3.3.2.stable.arch_linux - https://godotengine.org
XInput: Refreshing devices.
XInput: No touch devices found.
Detecting GPUs, set DRI_PRIME in the environment to override GPU detection logic.
Only one GPU found, using default.
Failed loading custom cursor: X_cursor
Using GLES3 video driver
OpenGL ES 3.0 Renderer: NVIDIA GeForce GTX 1660 SUPER/PCIe/SSE2
OpenGL ES Batching: ON
	OPTIONS
	max_join_item_commands 16
	colored_vertex_format_threshold 0.25
	batch_buffer_size 16384
	light_scissor_area_threshold 1
	item_reordering_lookahead 4
	light_max_join_items 32
	single_rect_fallback False
	debug_flash False
	diagnose_frame False
PulseAudio: context other
PulseAudio: context other
PulseAudio: context other
PulseAudio: context ready
PulseAudio: Detecting channels for device: alsa_output.pci-0000_28_00.3.analog-stereo
PulseAudio: detected 2 channels
PulseAudio: audio buffer frames: 512 calculated latency: 11ms
JoypadLinux: udev enabled and loaded successfully.

CORE API HASH:<PHONE_NUMBER>9771907951
EDITOR API HASH:<PHONE_NUMBER>335453207
Loading resource: res://default_env.tres
Construct gdnative interface

Destruct gdnative interface

Class 'BulletPhysicsDirectBodyState' is not exposed, skipping.
Class 'BulletPhysicsDirectSpaceState' is not exposed, skipping.
Class 'BulletPhysicsServer' is not exposed, skipping.
Class 'GDScriptNativeClass' is not exposed, skipping.
Class 'IP_Unix' is not exposed, skipping.
Class 'InputDefault' is not exposed, skipping.
Class 'Physics2DDirectBodyStateSW' is not exposed, skipping.
Class 'Physics2DDirectSpaceStateSW' is not exposed, skipping.
Class 'Physics2DServerSW' is not exposed, skipping.
Class 'ResourceImporterMP3' is not exposed, skipping.
Class 'ResourceImporterOGGVorbis' is not exposed, skipping.
Loading resource: /home/toby3d/.config/godot/editor_settings-3.tres
EditorSettings: Load OK!
Loaded builtin certs
Socket error: 98
Failed to bind socket.

PulseAudio: context terminated

For the type cast orphan issue i opend a bug report on Godot
https://github.com/godotengine/godot/issues/50069


stdout maxBuffer exceeded

{ Error: stdout maxBuffer exceeded
pvpcraft-1     at Socket.<anonymous> (child_process.js:259:14)
pvpcraft-1     at emitOne (events.js:96:13)
pvpcraft-1     at Socket.emit (events.js:188:7)
pvpcraft-1     at readableAddChunk (_stream_readable.js:177:18)
pvpcraft-1     at Socket.Readable.push (_stream_readable.js:135:10)
pvpcraft-1     at Pipe.onread (net.js:542:20)
pvpcraft-1   cmd: '/docker/pvpcraft/pvpcraft/node_modules/youtube-dl/bin/youtube-dl --dump-json -f best http://www.youtube.com/watch?v=VrD5JrW67t8' }

issue cased by calling
youtube-dl.getInfo("http://www.youtube.com/watch?v=VrD5JrW67t8", [], (error)=>{
  console.log(error);
}

where youtube-dl is the object provided by requiring this library

After looking through the source I found the options object was passed through allowing the user to specify a maxBuffer size with
youtube-dl.getInfo("url", [], {maxBuffer: 1000*1024}, ()=>{})

I'm going to leave this open as I didn't see it in the readme or info example.

yes,
youtubedl("url" , ['--format=18'], { cwd: __dirname, maxBuffer: 1000*1024 });

@EstebanFuentealba i didn't see that in theben relevant example or readme, where was it?

not mentioned, i read the code

I recommend maxBuffer: Infinity

What is the drawback to specifying maxBuffer infinity?

@Mochlate Umm.. I has not faced yet...

Fixed in https://github.com/przemyslawpluta/node-youtube-dl/commit/3bb3e4da7df2d674cc751569eb857af8a39f8c11


LDAP Authentication - Provide Detailed Error Responses for "Invalid Credentials"

v0.35.0
LDAP error codes provide the ability to identify why LDAP authentication has failed due to invalid credentials. https://confluence.atlassian.com/display/JIRAKB/LDAP+Error+Code+49

Error Code
Description

525
user not found

52e
invalid credentials

530
not permitted to logon at this time

531
not permitted to logon at this workstation

532
password expired (remember to check the user set in osuser.xml also)

533
account disabled

701
account expired

773
user must reset password

775
user account locked

We should provide responses on why authentication based on the above error codes instead of just showing "Unauthorized" when we fail to authenticate.

@vincent99 I believe as per our previous discussion about revealing too much information in errors this should not be done correct? Maybe log the messages with the description but not send them in the clientVisibleExceptions correct?

There's one or two like password expired that might be worth separate user visible codes since the user can fix the problem.  But yes, I think just logging the complete message on auth failure and what it means is good for now.

Tested with server build from master - Dec 4
For use cases where account is disabled/user needs to reset password/invalid username/password is provided , user is presented with  "Username or Password incorrect" error message.
Server logs has detailed error message:

2015-12-04 23:17:37,533 INFO  [:] [] [] [] [tp1860112097-18] [i.c.p.i.a.a.i.l.a.ADIdentityProvider] Failed to login to ldap user:santest2 rancher\santest2Original cause: Failed to login ldap User: User must reset password

2015-12-04 23:07:06,561 INFO  [:] [] [] [] [tp1860112097-18] [i.c.p.i.a.a.i.l.a.ADIdentityProvider] Failed to login to ldap user:testsan1 rancher\testsan1Original cause: Failed to login ldap User: Account disabled

for invalid username/invalid password , I see the following log:

2015-12-04 23:05:35,708 INFO  [:] [] [] [] [tp1860112097-16] [i.c.p.i.a.a.i.l.a.ADIdentityProvider] Failed to login to ldap user:testsan123 rancher\testsan123Original cause: Failed to login ldap User: Invalid credentials


feat(turborepo): web ui

Description
Implements a very very alpha version of a web UI. Streams the logs to a client using a websocket. We do this by mimicking the existing TUI setup of sending messages over a channel. We then abstract over the TUI vs the Web UI using an enum (not a trait due to object safety issues and just general annoying typing issues).
Testing Instructions
Would love some ideas here on tests.
To try out manually, go to #35066 in the other repo and run turbo-studio, then execute a turbo command with the ui flag set to web

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#8895  👈
#8977
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @NicholasLYang and the rest of your teammates on  Graphite


cleanup unused is_before_spark_310

I was looking for other tests xfailed for spark 3.1.1. Didn't find any that weren't needed but found a bunch of extra imports not used anymore.
Signed-off-by: Thomas Graves<EMAIL_ADDRESS>

build


Pin VCS links (pin github etc. links to git hashes)

What's the problem this feature will solve?
Quite often I have a bunch of github / gitlab repositories that I want to pin to their current revision.

Often these repositories are ones I maintain myself, in which case it would be great if pip-compile could pin to a git hash for me.
Sometimes I'm pulling in some bugfix from somebody else's repo before a release has been done, in which case automatic pinning using pip-compile is less useful, because probably I should manually pin to a github link with a hash in requirements.in, and then the next time I update, manually replace that github link with a PyPI name so that I get a release instead of a random github revision.
Other times, though, even with other people's repositories, I do want to pin to a github link: little repositories won't always bother to upload to PyPI at all, and sometimes I do want to track development -- but updating at a time of my choosing -- so pinning to a github link is exactly what is needed.

Is it possible to use pip-compile to do that?
Describe the solution you'd like
For example, I'd like pip-compile to be able to turn something like this in requirements.in:
git+https://github.com/some/project.git#egg=someproject
into something like this:
git+https://github.com/some/project.git@abcdef123#egg=someproject
I imagine it would default to branch master if no branch was specified in the link in requirements.in, but would allow a link like this, specifying a different branch name:
git+https://github.com/some/project.git@develop#egg=someproject
Note: I'm not up to date with all the current variations of how to spell this in requirements.txt and their subtleties (-e link#egg=project, link, project@link, link#egg=project, etc.) so I just illustrated with the plain "link" format above.  I'm sure others know better than me how to deal best with all those variants.
Alternative Solutions
I can do the pinning by hand by specifying a git hash in the VCS link in requirements.in.  But almost every time I do that, I'm really just looking to pin to the latest commit on master, and then later to update again to the latest master commit.
Conceivably it would be even better if you could also say "pin this github branch, and then when a PyPI release is done that contains that commit, use the release instead of the github link on the next pip-compile", but then we're very definitely far enough into bonus points that I'd see that as a different feature request, and I imagine it would be tricky to connect releases with git hashes with useful reliability without somebody putting in a big effort on adding metadata to PyPI.  Also, I'd like to stress that in many situations (own github repo, or tracking upstream development), this behaviour is not actually the needed one.

Hello @jjlee,
Thank you for the detailed issue! It duplicates #161.


Linux opencl compilaton errors on AMD R7 370 (GCN1) on miner startup

When running Kaspa-Miner GPU 0.2.1-GPU-0.6b on Linux with AMD Radeon R7 370, I get errors when compiling the binary for my GPU.
Please see the attached log file for details.
I'm using amdgpu drivers, and other miners that are able to utilize this card (such as lolminer and phoenixminer) are working, so I doubt there are problems with the system setup. My system is arch linux Linux minemachine 5.16.16-arch1-1 #1 SMP PREEMPT Mon, 21 Mar 2022 22:59:40 +0000 x86_64 GNU/Linux atm.
kaspa-miner-gpu.log
I understand this is an old card, but to my (admittedly noobish eyes) this doesn't seem as a fault of card age. I, of course, might be wrong.
Thank you for any pointers you might have. I am available for any further information you might need from me.
Best regards,
MA0

I had problems with the opencl for such old cards, and could not get comparable hashrates to other miners.
Anyone that want to try to fix and optimize it is welcome to it


Fixed upload new media version

tasks:

[x] gather feedback for my changes
[x] upload new version of a single media
[x] in deeplink of a media: both dropzones are active

informations:

q
a

Fixed tickets
none

BC breaks
none

Documentation PR
none

Add README entry


NLog in Azure Function - not working when resolved with DI

Hi,
I've been struggling for a while now, to use NLog in an Azure function. I got to the point where:

I have a Startup class in my function where I configure and register NLog to the ServiceCollection, through the loggingBuilder , using an ElasticSearch target

The ILogger instance that is passed to the RUN method of the function works (i.e. I see my logs in Elastic Search)

Further in my function I resolve a custom application service using the IServiceProvider , in the application service I have an ILogger as a dependency. This is also resolved fine, and among the _loggers property I can see an instance of NLogger. But when calling the logger.LogError method, nothing happens, no exception, and I don't see anything in ElasticSearch

My Startup.cs:
public class Startup : FunctionsStartup
    {
        public Startup()
        {
            // LogManager.Configuration = new XmlLoggingConfiguration("NLog.config");
            // NLogBuilder.ConfigureNLog(LogManager.Configuration);
            LoggingConfiguration config = new LoggingConfiguration();
            LogManager.ThrowExceptions = true;
            var elasticTarget = new ElasticSearchTarget()
            {
                Uri = "----the url -----",
                IncludeAllProperties = true,
                Fields = new List<Field>()
                {
                    new Field()
                    {
                        Name = "host",
                        Layout = "${aspnet-request-host}"
                    },
                    new Field()
                    {
                        Name = "machine",
                        Layout = "${machinename}"
                    },
                    new Field()
                    {
                        Name = "activityid",
                        Layout = "${aspnet-TraceIdentifier}"
                    }
                }
            };

            var bufferedElasticTarget = new BufferingTargetWrapper("ElasticSearch", elasticTarget)
            {
                FlushTimeout = 10000
            };

            config.AddTarget(bufferedElasticTarget);

            var nlogElasitcSearchRule = new LoggingRule("*", NLog.LogLevel.Debug, elasticTarget);
            config.LoggingRules.Add(nlogElasitcSearchRule);

            NLogBuilder.ConfigureNLog(config);
            LogManager.Configuration = config;
        }

        public override void Configure(IFunctionsHostBuilder builder)
        {
            try
            {
                var config = builder.Services.BuildServiceProvider().GetRequiredService(typeof(IConfiguration)) as IConfiguration;
                var originationConfiguration = new OriginationConfiguration();
                config.GetSection("OriginationConfigs").Bind(originationConfiguration);
                builder.Services.AddOriginationServices(originationConfiguration);

                builder.Services.AddLogging((loggingBuilder) => { loggingBuilder.AddNLog(); });
            }
            catch (Exception ex)
            {
                var abc = ex;
            }
        }
    }

My function:
 [FunctionName(nameof(PingHttpTrigger))]
        public IActionResult PingHttpTrigger(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "ping")] HttpRequest req, ILogger log)
        {
            try
            {
                throw new Exception("cocomarla_exceptie");
            }
            catch (Exception ex)
            {
                // this logging works, no problem
                log.LogError(ex, "error test");
            }

            CustomerRegisteredEvent customerRegistered = new CustomerRegisteredEvent()
            {
                AggregateId = Guid.NewGuid(),
                EventId = Guid.NewGuid(),
                Customer = new Context.Entities.Customer()
            };

            var customerEventHandler = _serviceProvider.GetRequiredService<IEventHandler<CustomerRegisteredEvent>>() as IEventHandler<CustomerRegisteredEvent>;

            customerEventHandler.Handle(customerRegistered);

            return new OkObjectResult(new { timestamp = DateTime.UtcNow });
        }

And the CustomerEventHandler class:
 public class CustomerEventHandler : IEventHandler<CustomerRegisteredEvent>,
                                        IEventHandler<CustomerUpdatedEvent>
    {
        private ICustomerService customerService;
        private ILogger<CustomerEventHandler> logger;

        public CustomerEventHandler(ICustomerService customerService, ILogger<CustomerEventHandler> logger)
        {
            this.customerService = customerService;
            this.logger = logger;
        }

        public void Handle(CustomerRegisteredEvent @event)
        {
            try
            {
                throw new Exception("cocomarla_exceptie");
            }
            catch (Exception ex)
            {
                // this doesn't work, no log anywhere
                logger.LogError(ex, "error test");
            }

            // customerService.CreateCustomerProjection(@event.Customer);
        }

        public void Handle(CustomerUpdatedEvent @event)
        {
            customerService.UpdateCustomerProjection(@event.Customer);
        }
    }

I think there must be a conflict somewhere, because the Azure Function's pipeline must be slightly different than the ASP.NET pipeline, so probably something doesn't add up in the ServiceCollection... not sure.
Thoughts ? Any help would be greatly appreciated.
Thanks,
Vlad

Update: after enabling the internal logging, I saw that NLog was missing the serviceProvider (the internal log stated: " Debug Missing serviceProvider, so no HttpContext" .
I did a couple of searches on this and it seems that the serviceProvider was not properly registered with NLog.
In an ASP.NET Core web app, this is fixed by registering NLog using the UseNLog() method on the IWebHostBuilder, but this is not available in Azure Functions, so I am using  loggingBuilder.AddNLog();
Turns out, you can pass the following Options object to AddNLog:
new NLogAspNetCoreOptions
                                            {
                                                RegisterHttpContextAccessor = true,
                                                IgnoreEmptyEventId = true,
                                                IncludeScopes = true
                                            }

And then the issue is fixed.
I'm thinking to leave this issue open, for some feedback from the authors... otherwise it can be closed.
Thanks

@andronachev I'm curious about BufferingTargetWrapper with FlushTimeout = 10000.
Thought that Azure Functions had "sudden shutdown" so if there was no flush included, then it would just stop and anything in-memory and not sent would be discarded.
But maybe the Logging-Providers are shutdown nicely? (NLog Logging Provider flushes on shutdown)

this fix that i've mentioned above suddenly stopped working, a few days ago, I have no idea why ... and the InternalLogger of nLog does not write anything to the console anymore (set InternalLogger.LogToConsole = true... and nothing. Debugging now..

@andronachev No logging at all. Or just no output generated by ${aspnet-request-host} (and friends) ?

@snakefoot  logging only works in the PingHttpTrigger (using the ILogger injected by the framework), but when I have an ILogger < T > injected by me, that one doesn't work at all, although while debugging I see the nlog logger in the list of loggers, with the correct configuration.
Also, last time I had this issue, the InternalLogger was writting errors in the console (" Debug Missing serviceProvider, so no HttpContext") , that's why I've added the NLogAspNetCoreOptions to the AddNLog method. Now, even if I remove the options, the internal logger does not write any errors

And you have the magic code to register FunctionsStartup:
[assembly: FunctionsStartup(typeof(MyNamespace.Startup))]
See also: https://docs.microsoft.com/bs-latn-ba/azure/azure-functions/functions-dotnet-dependency-injection

NLog lives under the shadow of Microsoft Extension Logging, that performs filtering on the LogLevels configured in host.json:
Maybe try this:
{
  "version": "2.0",
  "logging": {
    "logLevel": {
      "MyCompany.SolutionName": "Information"
    }
  }
}

@snakefoot   yes, I have had the [assembly:] before. But your latest comment works, adding the logging node to the host.json file fixed the logging... but I din't understand why, it wasn't there before, either (last week when I commented that my logging works, I didn't have the logging node in host.json.

Instead of using host.json then you could also do this:
public override void Configure(IFunctionsHostBuilder builder)
{
    builder.Services.AddLogging(loggingBuilder =>
    {
        loggingBuilder.ClearProviders();
        loggingBuilder.SetMinimumLevel(LogLevel.Trace);
        loggingBuilder.AddNLog();
    });
}

@andronachev adding the logging node to the host.json file fixed the logging... but I don't understand why,

Cannot answer your question. Never created an Azure function. Just reading the manual

@andronachev Curious about you being able to provide NLogAspNetCoreOptions to AddNLog.
Can you copy-paste the code you have implemented to provide NLogAspNetCoreOptions ?

@snakefoot  NLogAspNetCoreOptions is in the NLog.Web.AspNetCore, Version=<IP_ADDRESS> nuget package

@andronachev NLogAspNetCoreOptions is in the NLog.Web.AspNetCor

Yes, but curious how you are able to register it correctly, so ${aspnet-traceidentifier} works.
So can you copy-paste the code you have implemented to make it work. Since the registration of ServiceLocator (required for ${aspnet-}) needs some special magic, that I don't see in your original post. And the special magic will not happen if just using AddNLog with NLogAspNetCoreOptions

@andronachev NLogAspNetCoreOptions is in the NLog.Web.AspNetCor

Yes, but curious how you are able to register it correctly, so ${aspnet-traceidentifier} works.
So can you copy-paste the code you have implemented to make it work? Since the registration of ServiceLocator (required for ${aspnet-}) needs some special magic, that I don't see in your original post. And the special magic will not happen if just using AddNLog with NLogAspNetCoreOptions

That's all the code that I have, in the original post plus I added the logging node in the host.jsom file. I don't understand what other "special magic" you are referring to :)

Something like this:
builder.Services.AddLogging((loggingBuilder) => { loggingBuilder.AddNLog(); });
builder.Services.Build().SetupNLogServiceLocator();

But my mind cannot phantom how this will work in Azure Function. Looks like request-body (and other details) are received like this inside the Azure Functions:
var requestHost = req.Host;
var requestParameters = req.GetQueryParameterDictionary();
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();

Things correlationid/traceidentifier/activityid logic must be implemented manually, as this currently not provided out-of-the-box.

Has your question being answered?

@304NotModified  I got it working by adding the logging node in the hosts.json config, allthough it's not yet clear to me why that works, it's probably related to the logging in .net core and not the nlog provider. The issue can be closed from my point of view

OK thanks!


Update us-year-end.md

Learn Build status updates of commit f29f310:
:warning: Validation status: warnings

File
Status
Preview URL
Details

dynamics-gp/payroll/us-year-end.md
:warning:Warning
View
Details

dynamics-gp/payroll/us-year-end.md

Line 394, Column 29: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/dynamics/s-e/gp/usgpye2018_396' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 394, Column 29: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/dynamics/s-e/gp/usgpye2018_396' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit f29f310:
:warning: Validation status: warnings

File
Status
Preview URL
Details

dynamics-gp/payroll/us-year-end.md
:warning:Warning
View
Details

dynamics-gp/payroll/us-year-end.md

Line 394, Column 29: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/dynamics/s-e/gp/usgpye2018_396' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 394, Column 29: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/dynamics/s-e/gp/usgpye2018_396' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 0dadc92:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

dynamics-gp/payroll/us-year-end.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Update sbt-wartremover to 3.2.2

About this PR
📦 Updates org.wartremover:sbt-wartremover from 2.4.21 to 3.2.2 ⚠
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.wartremover", artifactId = "sbt-wartremover" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.wartremover", artifactId = "sbt-wartremover" }
}]

labels: sbt-plugin-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #210.


Replace custom http logic with request

There we go :) No more custom http logic or special fiddling for proxies. Solves the open NO_PROXY issue and all that..
While I tested things by trying it in my own project + the sample.js example, it would be great if somebody could have a second look at this. There is quite a fair chance that this introduces a different behaviour in some setups, so I would recommend bumping the major version for a new release after merging this.

Thanks for this. :)


update baetyl-go to v2.0.56

Codecov Report

Merging #140 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #140   +/-   ##
=======================================
  Coverage   69.53%   69.53%
=======================================
  Files          76       76
  Lines        4625     4625
=======================================
  Hits         3216     3216
  Misses       1033     1033
  Partials      376      376

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 40b2eff...7d9611e. Read the comment docs.


Pass binary abis to sign function

The binary abi is being passed to the sign function, the function is not doing anything with the abi right now.

@randytorres looks like this needs a conflict resolution

@randytorres This looks good. We'll need to update a few consumers of this API down the line, but that can be done when we cut a new npm release, and the changes should be fairly straightforward. So I approve going ahead and merging after conflict resolution.


Dead Link "See Also" -> "Certificate operations"

The link at the bottom of the page leads to a 404.

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

ID: 186b5ba4-a5e1-e598-8149-e9079de4d8e2
Version Independent ID: 4f81f071-2f91-f3df-d5d4-64c58a309d30
Content: Get started with Key Vault certificates
Content Source: articles/key-vault/certificate-scenarios.md
Service: key-vault
GitHub Login: @lleonard-msft
Microsoft Alias: alleonar

@MichelZ Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

@MichelZ - Thanks for letting us know.  I've fixed a couple such links in the article.  (It was recently migrated from a system that used a different convention for specifying link target and these were missed.)  Apologies for the inconvenience.

@MichelZ -  The fix for this has been merged, so we can close the issue. (Note: it may take upwards of a day for the update to appear on the website.)
If you find any other broken links, please let us know. Again, thanks for doing so; it's appreciated!

@MichelZ - Since we've updated the docs to fix the issue, is it OK to close the issue now?

@lleonard-msft Absolutely, thank you


feat(savers): pass affiliate memo

Description

Notice

[ ] Have you followed the guidelines in our Contributing guide?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #3691

PR #3690

PR #3697   👈

This comment was auto-generated by Graphite.

Looks good @gomesalexandre, confirmed contract calls still work and memo passed when depositing 👌 ✅


Supplemental namelists in configuration.

Some Vicky 3 namelists are rather short, and the gender specific last names are not represented. Create a configuration file that specifies names to be merged with the vic namelists. Create a toggle to allow the configuration namelists to completely override the vic namelists on a namelist by namelist basis.

Industrial companies, operative codenames, aces, battleplan codenames, intelligence agencies all can be included as well.


Note that strings must be quoted for field values in line protocol.

In line protocol reference and data elements reference, note that strings must be (double?) quoted. Is this really a schema requirement or also required for valid line protocol?

Just to make sure that it's clear, only string field values need to be double quoted. If you include quotes (double or single) in other elements (measurement name, tag keys, tag values, and field keys), they are interpreted as part of the element. More info here.


Support resource for rssi value

Catch error for undefined statepaths
Add mapping Facades/SignalStrength to resource /3370/0/6035

Looks good. Resolving.


ipv6 multicast address

https://github.com/project-chip/connectedhomeip/blob/4d84a4a978ffc867a62b9b15423a9b70d9cb993e/src/app/server/Server.cpp#L310
I found the multicast address is formed by fabric id, not fabric index in the spec. is it a bug?
FF35:0040:FD<Fabric ID>00:<Group ID>

Yes, this is very much a bug!


Async speech recognition from file with Java SDK is segmentated after every minute

Hi,
Describe the bug
I need to transcribe audio which is longer than 1 minute with the java SDK, but it seems that the result is always segmentated at every full minute. I can reproduce the issue with the java example code for async speech recognition from file: https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/java/jre/console/src/com/microsoft/cognitiveservices/speech/samples/console/Main.java (menu 5). I've set the segmentation silence timeout to the maximum (5000 ms) with
config.setProperty(PropertyId.Speech_SegmentationSilenceTimeoutMs, String.valueOf(5000L));
My test audio (attached) does not contain any parts with silence longer than a few hundred milliseconds, but the result is still segmentated, at exactly every full minute. I have not found anything in the SDK documentation on how to change or disable this behavior, so I assume this is a bug.
To Reproduce

Load Java example project
go to SpeechRecognitionSamples::continuousRecognitionWithFileAsync:

add subscription information
add this line: config.setProperty(PropertyId.Speech_SegmentationSilenceTimeoutMs, String.valueOf(5000L));
change audio file path/name to point to the test wav file in the attached zip: speech.wav.zip

run Main.class
choose "5. Speech continuous recognition using events with file."

Expected behavior
One single recognized event with the full recognized text (no segmentations).
Version of the Cognitive Services Speech SDK
1.34.0
Platform, Operating System, and Programming Language

Windows 10
Java SDK

Additional context
speech.log attached:
speech.log.zip

Thanks for the audio and the session id, it made figuring this out easy.
When it comes to phrases, there are a few different things that come into play for determining when the Speech Service will segment the audio and return a phrase. As you've seen, you can control the quiet time between speech using the segmentation timeout to lengthen (or shorten) how quickly the service will segment phrases.
But segmentation time isn't the only factor. There are also parameters around phrase length, which aren't exposed for the SDK to control. The models using for Speech Recognition are at their most accurate and lowest latency for phrases that are of a typical length for speech. As a result there is a maximum phrase length. Right now that's set at 60 seconds, as you've noticed.
We'd intended the segmentation timeout to help developers make the tradeoff in scenarios between a lower latency final result, and scenarios where end users were pausing during speech and the segmentation was happening too early. (Or conversely where users weren't pausing very much, and a more aggressive segmentation was needed.)
I'd love hear any feedback on where the existing API's aren't meeting your needs or have a higher friction to them then is preferable.

Hi,
thanks for the answer and the clearification. As far as I understand now, phrases are just not meant to be that long. Usually only as long as a sentence, maybe two, until the voice stops for a few hundred milliseconds. The model will never really "know", if the pause of the speaker is really the end of a sentence or phrase, so there must be some kind of limit, and that is the segmentation silence timeout. And that also highly depends on the person and how it speaks.
I guess I have two options now:

Use the maximum segmentation silence timeout to have the longest possible phrases, but then as a drawback often a forced "cut" at ~1 minute (not all of my audio files are that long, so that would be a feasable option). Concat the results of all recognized events at the very end.
Use a much lower segmentation silence timeout, which will lead to more smaller segments. Concat the results of all recognized events at the very end.

If there are any other options for proper transcribing of longer audio files, please let me know.
Best regards

That's an accurate summary.
With the client side SDK you'll need to concatenate multiple phrases together. The SDK was designed around real-time interactive scenarios and it's API surface preferences those. It can transcribe longer audio files, but there isn't an API that takes a file in and returns the complete transcription in one call.
If you have files of audio to transcribe, Batch Transcription is an option.


Possible bug in SMARTS matches with explicit 'H' atoms

I have just come across the following unexpected behaviour in SMARTS matching.  Firstly, the simple case, which works as expected:
# Glycine with explicit H
gly=Chem.MolFromSmiles("OC(=O)CN")
gly=AllChem.AddHs(gly)

m=Chem.MolFromSmarts("[H]")
gly.GetSubstructMatches(m)
((5,), (6,), (7,), (8,), (9,))

Expected behaviour - the 5 H's of Gly.  Now, defining our 'H' query as part of a recursive SMARTS pattern:
m=Chem.MolFromSmarts("[$([H])]")
gly.GetSubstructMatches(m)
((5,), (6,), (7,), (8,), (9,))

Again, expected behaviour.  So far, so good, but here is where things seem to go a little strange.  Let's try a recursive query first, simply combining those two forms with a logic AND (;) operation:
m=Chem.MolFromSmarts("[H;$([H])]")
gly.GetSubstructMatches(m)
()     #No matches

Surely this should still match the 5x 'H', as it is only a logic combination of the two above?
Stranger still:
m=Chem.MolFromSmarts("[$([H]-!@C)]")
gly.GetSubstructMatches(m)
((6,), (7,))

Seems to work -i.e. H's attached to a C, but in the KNIME RDKit Substructure Filter node only [1] is returned, as shown below:

Finally, if we try to force the H-match:
m=Chem.MolFromSmarts("[H;$([H]-!@C)]")
gly.GetSubstructMatches(m)
()     #No matches

Again, as for the previous recursive 'AND' combination above, we have no matches.  In KNIME, there are also no matches.
So - two questions:
-Why does the addition of a logic ; operator and a recursive SMARTS pattern stops the matching of 'H'?
-Why does the KNIME code work differently where indicated above? (All the other cases seem to agree between Python and KNIME)

First the easy one:
Something different is happening in KNIME because there was a bug fixed in the last release - #1338  - and we haven't updated the binaries that the KNIME nodes are using. That's coming.

Now the more difficult one.
Understanding the interpretation of Hs in SMARTS is non-trivial. There's some discussion of this, along with some very useful pointers from @johnmay in the commentary on PR #1339 .
The key paragraph, found by John on the Daylight website, is this one:

These differences in interpretation would make SMIRKS unintelligible. Hence, a single change to SMARTS interpretation, for expressions of the form: [<weight>]H<charge><map>]. In SMARTS, these expressions now are interpreted as a hydrogen atom, rather than as any atom with one hydrogen attached. All other SMARTS hydrogen expressions retain their pre-4.51 meanings.

http://www.daylight.com/dayhtml/doc/theory/theory.smirks.html
Demonstrating this with your examples:
In [4]: Chem.MolToSmarts(Chem.MolFromSmarts("[H]"))
Out[4]: '[#1]'

In [5]: Chem.MolToSmarts(Chem.MolFromSmarts("[$([H])]"))
Out[5]: '[$([#1])]'

In [6]: Chem.MolToSmarts(Chem.MolFromSmarts("[H;$([H])]"))
Out[6]: '[H1&$([#1])]'

If you want things to always be handled properly, use #1 when you want Hs.
In [7]: Chem.MolToSmarts(Chem.MolFromSmarts("[#1;$([#1])]"))
Out[7]: '[#1&$([#1])]'

Thanks @greglandrum  - I think I follow that now - those links are useful, even if the phrase

Note that both hydrogens attached to the nitrogen of the reaction are shown as explicit. Based on the SMIRKS rules, the expression [H:99] must be interpreted as SMILES, since the bonding to this node changes during the reaction. The expression [H:100] may be interpreted as SMARTS, since its bonding does not change in the reaction. Recall that in versions of the Daylight system prior to 4.51, [H] as SMARTS meant: "any atom with a single attached hydrogen", while in SMILES it is a lone explicit hydrogen.

from the preceding paragraph at http://www.daylight.com/dayhtml/doc/theory/theory.smirks.html is surely designed to bewilder!  The legacy version of [H] meaning any atom with 1 H attached seems itself somewhat strange

Any idea for the timing of the KNIME binaries update?

The new binaries should be in the nightly "soon".
(I need to make the time to do the required testing)

Hi,@greglandrum, I tried the latest rdkit 2019.09.03 with SMARTS on the explicit 'H' atom, seems that there is something wrong. Like the folllowing:

q1 = Chem.MolFromSmarts('O=C([#1])[#6,#1]')
t1 = Chem.MolFromSmiles('C=O') # formaldehyde
t1.HasSubstructMatch(q1) # True is expected
False

I then tried several examples with '[#6,#1]', but just found that it was always matched '[#6]'. Did I do something wrong?
Thanks

@ct-gh: you need to explicitly add Hs to the molecule if you want to be able to match Hs:
In [2]: m = Chem.MolFromSmiles('C=O')

In [3]: p = Chem.MolFromSmarts('O=C([#1])[#6,#1]')

In [4]: m.HasSubstructMatch(p)
Out[4]: False

In [5]: mh = Chem.AddHs(m)

In [6]: mh.HasSubstructMatch(p)
Out[6]: True

Hi @greglandrum, it works. Many thanks.


Getting a response body with scrapy splash

I'm working with scrapy 1.6 and splash 3.2 I have:
import scrapy
import random
from scrapy_splash import SplashRequest
from scrapy.utils.response import open_in_browser
from scrapy.linkextractors import LinkExtractor

USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:48.0) Gecko/20100101 Firefox/48.0'

class MySpider(scrapy.Spider):

    start_urls = ["http://yahoo.com"]
    name = 'mytest'

    def start_requests(self):
        for url in self.start_urls:
            yield SplashRequest(url, self.parse, endpoint='render.html', args={'wait': 2.5},headers={'User-Agent': USER_AGENT,'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'})

    def parse(self, response):
        # response.body is a result of render.html call; it
        # contains HTML processed by a browser.
        # from scrapy.http.response.html import HtmlResponse
        # ht = HtmlResponse('jj')
        # ht.body.replace =response
        open_in_browser(response)
        return None

The problem is that when I try to open the response in the browser I get it opening in notepad instead.
looking at https://splash.readthedocs.io/en/stable/scripting-response-object.html. How do I activate the response.body so I can open the response in a browser (I want to be able to then use browser dev tools to get xpaths)?

Please, use StackOverflow to ask this type of questions.

https://stackoverflow.com/questions/56744120/getting-a-response-body-with-scrapy-splash

solved on stackoverflow


5.13 Is not showing up in the within the JSON file

There is an issue within the fragment when building out the JSON file there is no 5.13 within the build. So without a value set that script will run all the time even if we are not checking for level 2

I found that the sample json file provided is not up to date at all. You should instead run:
Assemble.sh -j which will create the Custom Schema based on the fragments and make sure it is always 100% accurate.
Do not use the current pre-compiled json file as it has many many more issues than just this one.

Issue is resolved thnx @chrisleduc


Unable to chain AVP to existing helm tool

Instead of chaining the plugin to the output of helm tool which is minimal and elegant. The user is required to implement all the helm heavy lifting by himself.
So instead of using the output of helm tool we need to use on of the following:
Default: https://argocd-vault-plugin.readthedocs.io/en/stable/installation/#initcontainer-and-configuration-via-sidecar
Helm Simple: https://argocd-vault-plugin.readthedocs.io/en/stable/usage/#with-additional-helm-arguments
Helm with arguments: https://argocd-vault-plugin.readthedocs.io/en/stable/usage/#with-additional-helm-arguments
Helm with inline values: https://argocd-vault-plugin.readthedocs.io/en/stable/usage/#with-an-inline-values-file
Helm with value files from another repo (multisource): No docs
(PS - it's not clear from the docs which usecase fits each direction)
Some of the directions above have security risks, others prone to errors and none allows me to keep my application as is.
So instead of current implementation, the application is as follows:
project: myproj
source:
  repoURL: 'https://gitlab.com/myrepo'
  path: local-charts/mychart
  targetRevision: HEAD
  helm:
    valueFiles:
      - ../../services/myservice/myapp/values.yaml
      - >-
        ../../services/myservice/myapp/env/myenv/values.yaml

The user required to use something like this:
  source:
    path: your-app
    plugin:
      name: argocd-vault-plugin-helm
      env:
        - name: HELM_VALUES
          value: |
            # non-vault helm values are specified normally
            someValue: lasldkfjlksa
            moreStuff:
              - a
              - b
              - c

Proposal
CMP plugin should get the helm tool output and return valid manifests
project: myproj
source:
  repoURL: 'https://gitlab.com/myrepo'
  path: local-charts/mychart
  targetRevision: HEAD
  helm:
    valueFiles:
      - ../../services/myservice/myapp/values.yaml
      - >-
        ../../services/myservice/myapp/env/myenv/values.yaml
   plugin:
      name: argo-vault-plugin
      after: helm

This is not possible. It’s an issue with Argo CD. AVP is just a binary that Argo CD calls as a CMP.
If this is a feature you’d like, you would need to create a feature request in Argo CD.

Already done, thank you 🙏
PS - https://github.com/argoproj/argo-cd/issues/16252