Different Behavior when running in Linux vs Windows

I recently came across an issue while implementing RulesEngine in a .Net 7 project. I was able to setup my rules and they were running correctly when running on my Windows Development machine, but when deployed in a Linux docker container, they were not acting as expected.
Environment Details:
Running in WSL:

"RulesEngine" Version="5.0.1"

dotnet --version
7.0.306

cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"

uname -r
<IP_ADDRESS>-microsoft-standard-WSL2

Running in Docker/EC2

"RulesEngine" Version="5.0.1"

mcr.microsoft.com/dotnet/aspnet:7.0

For the provided Rule below, in windows the Activation Rule isSuccess evaluates to false as expected, Deactivation Rule isSuccess evaluates to true.
When running in Linux, as shown below, the results are the opposite of expected.
We were able to find a work around by removing the Global Param and hard coding it into the rule. After doing that the rule evaluated correctly.
Rule Json:
[
    {
        "WorkflowName": "MyWorkflow",
        "WorkflowsToInject": null,
        "RuleExpressionType": 0,
        "GlobalParams": [
            {
                "Name": "threshold",
                "Expression": "double.Parse(\u00220.25\u0022)"
            }
        ],
        "Rules": [
            {
                "RuleName": "Activation",
                "Properties": null,
                "Operator": null,
                "ErrorMessage": null,
                "Enabled": true,
                "RuleExpressionType": 0,
                "WorkflowsToInject": null,
                "Rules": null,
                "LocalParams": [
                    {
                        "Name": "ruleCount",
                        "Expression": "int.Parse(\u002215\u0022)"
                    }
                ],
                "Expression": "input1.Count \u003E= ruleCount \u0026\u0026 input1.Where(x =\u003E x.Value \u003E= threshold).Count() \u003E= ruleCount",
                "Actions": null,
                "SuccessEvent": null
            },
            {
                "RuleName": "Deactivation",
                "Properties": null,
                "Operator": null,
                "ErrorMessage": null,
                "Enabled": true,
                "RuleExpressionType": 0,
                "WorkflowsToInject": null,
                "Rules": null,
                "LocalParams": [
                    {
                        "Name": "ruleCount",
                        "Expression": "int.Parse(\u002230\u0022)"
                    }
                ],
                "Expression": "input1.Count \u003E= ruleCount \u0026\u0026 input1.OrderByDescending(o =\u003E o.ChangeDateTime).Take(ruleCount).All(a =\u003E a.Value \u003C threshold)",
                "Actions": null,
                "SuccessEvent": null
            }
        ]
    }
]

Evaluation result from Linux
[{
    "Rule": {
        "RuleName": "Activation",
        "Properties": null,
        "Operator": null,
        "ErrorMessage": null,
        "Enabled": true,
        "RuleExpressionType": 0,
        "WorkflowsToInject": null,
        "Rules": null,
        "LocalParams": [
            {
                "Name": "ruleCount",
                "Expression": "int.Parse(\"15\")"
            }
        ],
        "Expression": "input1.Count >= ruleCount && input1.Where(x => x.Value >= threshold).Count() >= ruleCount",
        "Actions": null,
        "SuccessEvent": null
    },
    "IsSuccess": true,
    "ChildResults": null,
    "Inputs": {
        "input1": [
            {
                "Value": 0.13259286,
                "ChangeDateTime": "2023-07-28T19:57:07.432339Z"
            },
            {
                "Value": 0.09435427,
                "ChangeDateTime": "2023-07-28T19:58:04.536459Z"
            },
            {
                "Value": 0.14896593,
                "ChangeDateTime": "2023-07-28T19:59:08.682072Z"
            },
            {
                "Value": 0.12852388,
                "ChangeDateTime": "2023-07-28T20:00:06.78036Z"
            },
            {
                "Value": 0.17011189,
                "ChangeDateTime": "2023-07-28T20:00:54.873615Z"
            },
            {
                "Value": 0.0532116,
                "ChangeDateTime": "2023-07-28T20:02:52.04049Z"
            },
            {
                "Value": 0.04064374,
                "ChangeDateTime": "2023-07-28T20:03:54.168499Z"
            },
            {
                "Value": 0.03748944,
                "ChangeDateTime": "2023-07-28T20:03:54.194786Z"
            },
            {
                "Value": 0.07752395,
                "ChangeDateTime": "2023-07-28T20:06:32.451464Z"
            },
            {
                "Value": 0.07294922,
                "ChangeDateTime": "2023-07-28T20:07:38.691755Z"
            },
            {
                "Value": 0.09892442,
                "ChangeDateTime": "2023-07-28T20:08:37.98802Z"
            },
            {
                "Value": 0.06370641,
                "ChangeDateTime": "2023-07-28T20:05:41.358461Z"
            },
            {
                "Value": 0.07550429,
                "ChangeDateTime": "2023-07-28T20:09:48.129748Z"
            },
            {
                "Value": 0.0653021,
                "ChangeDateTime": "2023-07-28T20:10:48.274482Z"
            },
            {
                "Value": 0.09304246,
                "ChangeDateTime": "2023-07-28T20:11:49.436983Z"
            },
            {
                "Value": 0.0797422,
                "ChangeDateTime": "2023-07-28T20:12:53.609118Z"
            },
            {
                "Value": 0.08211832,
                "ChangeDateTime": "2023-07-28T20:13:52.699728Z"
            },
            {
                "Value": 0.06955433,
                "ChangeDateTime": "2023-07-28T20:15:03.843289Z"
            },
            {
                "Value": 0.07626661,
                "ChangeDateTime": "2023-07-28T20:15:03.870057Z"
            },
            {
                "Value": 0.05033984,
                "ChangeDateTime": "2023-07-28T20:16:17.032262Z"
            },
            {
                "Value": 0.05202596,
                "ChangeDateTime": "2023-07-28T20:17:20.172669Z"
            },
            {
                "Value": 0.06861198,
                "ChangeDateTime": "2023-07-28T20:18:32.303309Z"
            },
            {
                "Value": 0.04935532,
                "ChangeDateTime": "2023-07-28T20:19:33.451426Z"
            },
            {
                "Value": 0.04073699,
                "ChangeDateTime": "2023-07-28T20:20:37.737395Z"
            },
            {
                "Value": 0.02164916,
                "ChangeDateTime": "2023-07-28T20:21:38.883635Z"
            },
            {
                "Value": 0.01334031,
                "ChangeDateTime": "2023-07-28T20:22:40.053193Z"
            },
            {
                "Value": 0.0336915,
                "ChangeDateTime": "2023-07-28T20:23:44.240297Z"
            },
            {
                "Value": 0.04870055,
                "ChangeDateTime": "2023-07-28T20:26:33.584756Z"
            },
            {
                "Value": 0.07125243,
                "ChangeDateTime": "2023-07-28T20:28:11.7889Z"
            },
            {
                "Value": 0.04904275,
                "ChangeDateTime": "2023-07-28T20:24:40.346216Z"
            },
            {
                "Value": 0.03625701,
                "ChangeDateTime": "2023-07-28T20:27:20.707478Z"
            },
            {
                "Value": 0.05703328,
                "ChangeDateTime": "2023-07-28T20:28:57.876436Z"
            },
            {
                "Value": 0.04364996,
                "ChangeDateTime": "2023-07-28T20:25:43.496357Z"
            },
            {
                "Value": 0.07558272,
                "ChangeDateTime": "2023-07-28T20:30:11.023295Z"
            },
            {
                "Value": 0.03073958,
                "ChangeDateTime": "2023-07-28T20:33:00.347672Z"
            },
            {
                "Value": 0.0341309,
                "ChangeDateTime": "2023-07-28T20:33:59.790621Z"
            },
            {
                "Value": 0.05270871,
                "ChangeDateTime": "2023-07-28T20:31:15.166193Z"
            },
            {
                "Value": 0.09138862,
                "ChangeDateTime": "2023-07-28T20:32:08.259273Z"
            },
            {
                "Value": 0.15922104,
                "ChangeDateTime": "2023-07-28T20:35:12.963809Z"
            },
            {
                "Value": 0.11383641,
                "ChangeDateTime": "2023-07-28T20:36:26.120815Z"
            },
            {
                "Value": 0.12404025,
                "ChangeDateTime": "2023-07-28T20:37:37.27212Z"
            },
            {
                "Value": 0.06010197,
                "ChangeDateTime": "2023-07-28T20:38:47.409412Z"
            },
            {
                "Value": 0.08396237,
                "ChangeDateTime": "2023-07-28T20:39:37.504217Z"
            },
            {
                "Value": 0.06731881,
                "ChangeDateTime": "2023-07-28T20:40:27.588895Z"
            },
            {
                "Value": 0.05617253,
                "ChangeDateTime": "2023-07-28T20:41:33.760373Z"
            },
            {
                "Value": 0.0585155,
                "ChangeDateTime": "2023-07-28T20:42:26.847144Z"
            },
            {
                "Value": 0.06793098,
                "ChangeDateTime": "2023-07-28T20:43:36.988904Z"
            },
            {
                "Value": 0.06879344,
                "ChangeDateTime": "2023-07-28T20:44:46.133926Z"
            },
            {
                "Value": 0.06931814,
                "ChangeDateTime": "2023-07-28T20:45:50.275932Z"
            },
            {
                "Value": 0.04802603,
                "ChangeDateTime": "2023-07-28T20:46:36.367289Z"
            },
            {
                "Value": 0.04036225,
                "ChangeDateTime": "2023-07-28T20:47:27.484188Z"
            },
            {
                "Value": 0.04968483,
                "ChangeDateTime": "2023-07-28T20:48:13.582228Z"
            },
            {
                "Value": 0.0773483,
                "ChangeDateTime": "2023-07-28T19:49:16.354277Z"
            },
            {
                "Value": 0.08710921,
                "ChangeDateTime": "2023-07-28T19:48:25.253743Z"
            },
            {
                "Value": 0.07665287,
                "ChangeDateTime": "2023-07-28T19:50:25.496642Z"
            },
            {
                "Value": 0.06121748,
                "ChangeDateTime": "2023-07-28T19:51:20.644955Z"
            },
            {
                "Value": 0.04179136,
                "ChangeDateTime": "2023-07-28T19:52:26.793369Z"
            },
            {
                "Value": 0.13522345,
                "ChangeDateTime": "2023-07-28T19:54:19.051669Z"
            },
            {
                "Value": 0.08536856,
                "ChangeDateTime": "2023-07-28T19:56:04.287806Z"
            },
            {
                "Value": 0.05041369,
                "ChangeDateTime": "2023-07-28T19:53:18.901696Z"
            },
            {
                "Value": 0.1627249,
                "ChangeDateTime": "2023-07-28T19:55:13.160235Z"
            },
            {
                "Value": 0.05,
                "ChangeDateTime": "2023-07-28T19:54:03.2197Z"
            },
            {
                "Value": 0.05,
                "ChangeDateTime": "2023-07-28T19:56:00.802023Z"
            },
            {
                "Value": 0.02792705297470093,
                "ChangeDateTime": "2023-07-28T20:49:03.6825337Z"
            }
        ],
        "threshold": 0.25,
        "ruleCount": 15
    },
    "ActionResult": {
        "Output": null,
        "Exception": null
    },
    "ExceptionMessage": ""
},{
    "Rule": {
        "RuleName": "Deactivation",
        "Properties": null,
        "Operator": null,
        "ErrorMessage": null,
        "Enabled": true,
        "RuleExpressionType": 0,
        "WorkflowsToInject": null,
        "Rules": null,
        "LocalParams": [
            {
                "Name": "ruleCount",
                "Expression": "int.Parse(\"30\")"
            }
        ],
        "Expression": "input1.Count >= ruleCount && input1.OrderByDescending(o => o.ChangeDateTime).Take(ruleCount).All(a => a.Value < threshold)",
        "Actions": null,
        "SuccessEvent": null
    },
    "IsSuccess": false,
    "ChildResults": null,
    "Inputs": {
        "input1": [
            {
                "Value": 0.13259286,
                "ChangeDateTime": "2023-07-28T19:57:07.432339Z"
            },
            {
                "Value": 0.09435427,
                "ChangeDateTime": "2023-07-28T19:58:04.536459Z"
            },
            {
                "Value": 0.14896593,
                "ChangeDateTime": "2023-07-28T19:59:08.682072Z"
            },
            {
                "Value": 0.12852388,
                "ChangeDateTime": "2023-07-28T20:00:06.78036Z"
            },
            {
                "Value": 0.17011189,
                "ChangeDateTime": "2023-07-28T20:00:54.873615Z"
            },
            {
                "Value": 0.0532116,
                "ChangeDateTime": "2023-07-28T20:02:52.04049Z"
            },
            {
                "Value": 0.04064374,
                "ChangeDateTime": "2023-07-28T20:03:54.168499Z"
            },
            {
                "Value": 0.03748944,
                "ChangeDateTime": "2023-07-28T20:03:54.194786Z"
            },
            {
                "Value": 0.07752395,
                "ChangeDateTime": "2023-07-28T20:06:32.451464Z"
            },
            {
                "Value": 0.07294922,
                "ChangeDateTime": "2023-07-28T20:07:38.691755Z"
            },
            {
                "Value": 0.09892442,
                "ChangeDateTime": "2023-07-28T20:08:37.98802Z"
            },
            {
                "Value": 0.06370641,
                "ChangeDateTime": "2023-07-28T20:05:41.358461Z"
            },
            {
                "Value": 0.07550429,
                "ChangeDateTime": "2023-07-28T20:09:48.129748Z"
            },
            {
                "Value": 0.0653021,
                "ChangeDateTime": "2023-07-28T20:10:48.274482Z"
            },
            {
                "Value": 0.09304246,
                "ChangeDateTime": "2023-07-28T20:11:49.436983Z"
            },
            {
                "Value": 0.0797422,
                "ChangeDateTime": "2023-07-28T20:12:53.609118Z"
            },
            {
                "Value": 0.08211832,
                "ChangeDateTime": "2023-07-28T20:13:52.699728Z"
            },
            {
                "Value": 0.06955433,
                "ChangeDateTime": "2023-07-28T20:15:03.843289Z"
            },
            {
                "Value": 0.07626661,
                "ChangeDateTime": "2023-07-28T20:15:03.870057Z"
            },
            {
                "Value": 0.05033984,
                "ChangeDateTime": "2023-07-28T20:16:17.032262Z"
            },
            {
                "Value": 0.05202596,
                "ChangeDateTime": "2023-07-28T20:17:20.172669Z"
            },
            {
                "Value": 0.06861198,
                "ChangeDateTime": "2023-07-28T20:18:32.303309Z"
            },
            {
                "Value": 0.04935532,
                "ChangeDateTime": "2023-07-28T20:19:33.451426Z"
            },
            {
                "Value": 0.04073699,
                "ChangeDateTime": "2023-07-28T20:20:37.737395Z"
            },
            {
                "Value": 0.02164916,
                "ChangeDateTime": "2023-07-28T20:21:38.883635Z"
            },
            {
                "Value": 0.01334031,
                "ChangeDateTime": "2023-07-28T20:22:40.053193Z"
            },
            {
                "Value": 0.0336915,
                "ChangeDateTime": "2023-07-28T20:23:44.240297Z"
            },
            {
                "Value": 0.04870055,
                "ChangeDateTime": "2023-07-28T20:26:33.584756Z"
            },
            {
                "Value": 0.07125243,
                "ChangeDateTime": "2023-07-28T20:28:11.7889Z"
            },
            {
                "Value": 0.04904275,
                "ChangeDateTime": "2023-07-28T20:24:40.346216Z"
            },
            {
                "Value": 0.03625701,
                "ChangeDateTime": "2023-07-28T20:27:20.707478Z"
            },
            {
                "Value": 0.05703328,
                "ChangeDateTime": "2023-07-28T20:28:57.876436Z"
            },
            {
                "Value": 0.04364996,
                "ChangeDateTime": "2023-07-28T20:25:43.496357Z"
            },
            {
                "Value": 0.07558272,
                "ChangeDateTime": "2023-07-28T20:30:11.023295Z"
            },
            {
                "Value": 0.03073958,
                "ChangeDateTime": "2023-07-28T20:33:00.347672Z"
            },
            {
                "Value": 0.0341309,
                "ChangeDateTime": "2023-07-28T20:33:59.790621Z"
            },
            {
                "Value": 0.05270871,
                "ChangeDateTime": "2023-07-28T20:31:15.166193Z"
            },
            {
                "Value": 0.09138862,
                "ChangeDateTime": "2023-07-28T20:32:08.259273Z"
            },
            {
                "Value": 0.15922104,
                "ChangeDateTime": "2023-07-28T20:35:12.963809Z"
            },
            {
                "Value": 0.11383641,
                "ChangeDateTime": "2023-07-28T20:36:26.120815Z"
            },
            {
                "Value": 0.12404025,
                "ChangeDateTime": "2023-07-28T20:37:37.27212Z"
            },
            {
                "Value": 0.06010197,
                "ChangeDateTime": "2023-07-28T20:38:47.409412Z"
            },
            {
                "Value": 0.08396237,
                "ChangeDateTime": "2023-07-28T20:39:37.504217Z"
            },
            {
                "Value": 0.06731881,
                "ChangeDateTime": "2023-07-28T20:40:27.588895Z"
            },
            {
                "Value": 0.05617253,
                "ChangeDateTime": "2023-07-28T20:41:33.760373Z"
            },
            {
                "Value": 0.0585155,
                "ChangeDateTime": "2023-07-28T20:42:26.847144Z"
            },
            {
                "Value": 0.06793098,
                "ChangeDateTime": "2023-07-28T20:43:36.988904Z"
            },
            {
                "Value": 0.06879344,
                "ChangeDateTime": "2023-07-28T20:44:46.133926Z"
            },
            {
                "Value": 0.06931814,
                "ChangeDateTime": "2023-07-28T20:45:50.275932Z"
            },
            {
                "Value": 0.04802603,
                "ChangeDateTime": "2023-07-28T20:46:36.367289Z"
            },
            {
                "Value": 0.04036225,
                "ChangeDateTime": "2023-07-28T20:47:27.484188Z"
            },
            {
                "Value": 0.04968483,
                "ChangeDateTime": "2023-07-28T20:48:13.582228Z"
            },
            {
                "Value": 0.0773483,
                "ChangeDateTime": "2023-07-28T19:49:16.354277Z"
            },
            {
                "Value": 0.08710921,
                "ChangeDateTime": "2023-07-28T19:48:25.253743Z"
            },
            {
                "Value": 0.07665287,
                "ChangeDateTime": "2023-07-28T19:50:25.496642Z"
            },
            {
                "Value": 0.06121748,
                "ChangeDateTime": "2023-07-28T19:51:20.644955Z"
            },
            {
                "Value": 0.04179136,
                "ChangeDateTime": "2023-07-28T19:52:26.793369Z"
            },
            {
                "Value": 0.13522345,
                "ChangeDateTime": "2023-07-28T19:54:19.051669Z"
            },
            {
                "Value": 0.08536856,
                "ChangeDateTime": "2023-07-28T19:56:04.287806Z"
            },
            {
                "Value": 0.05041369,
                "ChangeDateTime": "2023-07-28T19:53:18.901696Z"
            },
            {
                "Value": 0.1627249,
                "ChangeDateTime": "2023-07-28T19:55:13.160235Z"
            },
            {
                "Value": 0.05,
                "ChangeDateTime": "2023-07-28T19:54:03.2197Z"
            },
            {
                "Value": 0.05,
                "ChangeDateTime": "2023-07-28T19:56:00.802023Z"
            },
            {
                "Value": 0.02792705297470093,
                "ChangeDateTime": "2023-07-28T20:49:03.6825337Z"
            }
        ],
        "threshold": 0.25,
        "ruleCount": 30
    },
    "ActionResult": {
        "Output": null,
        "Exception": null
    },
    "ExceptionMessage": ""
}]

Hi. Something similar happened to me and downgrading to version 4.0.0 works as expected. It seems something is broken from version 5.0.0.

@khPhoenix can you share if you are using typed object as input or dynamic object?

Hi @khPhoenix ,
I am able to reproduce your issue and there seems to be some weird behavior related to double.Parse. If i replace double.Parse with float.Parse it works as expected. If i keep global param as string and then used double.Parse in expression that too works.
I will need to dig deeper on this, since it looks like a corner case scenario. But current workaround would be to work with float.Parse or parsing it in final expression
This is the code generated in this case scenario which looks valid to me:
((input1.Count >= ruleCount) AndAlso (input1.Where(Param_0 => (Param_0.Value >= threshold)).Count() >= ruleCount))
(Func<object[], bool>)((object[] args) =>
{
    List<f__AnonymousType6<double, string>> input1;
    double threshold;
    int ruleCount;
    input1 = ((List<f__AnonymousType6<double, string>>)args[0]);
    threshold = ((double)args[1]);
    ruleCount = ((int)args[2]);
    return ((input1.Count >= ruleCount) && (Enumerable.Count<f__AnonymousType6<double, string>>(Enumerable.Where<f__AnonymousType6<double, string>>(
        input1,
        (Func<f__AnonymousType6<double, string>, bool>)((f__AnonymousType6<double, string> ) =>
            (.Value >= threshold)))) >= ruleCount));
});

((input1.Count >= ruleCount) AndAlso input1.OrderByDescending(Param_0 => Param_0.ChangeDateTime).Take(ruleCount).All(Param_1 => (Param_1.Value < threshold)))
(Func<object[], bool>)((object[] args) =>
{
    List<f__AnonymousType6<double, string>> input1;
    double threshold;
    int ruleCount;
    input1 = ((List<f__AnonymousType6<double, string>>)args[0]);
    threshold = ((double)args[1]);
    ruleCount = ((int)args[2]);
    return ((input1.Count >= ruleCount) && Enumerable.All<f__AnonymousType6<double, string>>(
        Enumerable.Take<f__AnonymousType6<double, string>>(
            Enumerable.OrderByDescending<f__AnonymousType6<double, string>, string>(
                input1,
                (Func<f__AnonymousType6<double, string>, string>)((f__AnonymousType6<double, string> ) =>
                    .ChangeDateTime)),
            ruleCount),
        (Func<f__AnonymousType6<double, string>, bool>)((f__AnonymousType6<double, string> ) =>
            (.Value < threshold))));
});

Thanks for the update! I'll use one of the work arounds you listed for now :-)

Interesting the issue isn't presenting with the following workflow:
        var workflow = new AlertWorkflow
        {
            WorkflowName = "MyWorkflow",
            GlobalParams = new List<ScopedParam>
            {
                new ScopedParam
                {
                    Name = "threshold",
                    Expression = "double.Parse(\"0.85\")"
                }
            },
            Rules = new List<Rule>
            {
                new Rule
                {
                    RuleName = AlertWorkflow.ActivationRule,
                    Enabled = true,
                    RuleExpressionType = RuleExpressionType.LambdaExpression,
                    Expression = "input1 > threshold"
                },
                new Rule
                {
                    RuleName = AlertWorkflow.DeactivationRule,
                    Enabled = true,
                    RuleExpressionType = RuleExpressionType.LambdaExpression,
                    Expression = "threshold > input1"
                }
            }
        };

@khPhoenix looks like a bug with latest version of FastExpressionCompiler. I have released v5.0.2 which fixes this.


Unit 7 - Self-Play : Typo error

In the Unit 7, in the Self-Play part, I think there is an error in the example for computing the ELO score.
For the equation after the line:
"If the organizers determined that K=16 and A wins, the new rate would be:"
In the second equation it should be the loss of the player B. Thus, it should be
ELOb = 2300 + 16 * (0 - 0.151) = 2298
It should be 0 instead of 1, right ?
Or maybe I missed something ^^

Right, the result second equation will be correct with 0.

Oh yes good catch I'm updating it :hugs:

Done :heavy_check_mark:  thanks


Support polymorphic includes

This PR adds support for polymorphic includes. It should fix issue https://github.com/Netflix/fast_jsonapi/issues/231 (and duplicate issue https://github.com/Netflix/fast_jsonapi/issues/266).
Also, there is some inconsistency regarding what value should be returned for the type key when an object belongs to a namespaced class. https://github.com/Netflix/fast_jsonapi/commit/c9aaff8b993eabbfbc50dff138026b0e451df77c aligns the behavior of relationships objects with what's currently being returned for the data objects (no namespace).
Regarding the object's code (which has been discussed in previous unfinished PRs), I see no reason why it shouldn't be the same as if the object was serialized outside a polymorphic relationship.

Does this address https://github.com/Netflix/fast_jsonapi/pull/236 too?

@krzkrzkrz It does, yes.

@sirdharma Btw, I see your title reads "Support for polymorphic includes". https://github.com/Netflix/fast_jsonapi/pull/236 Is about supporting polymorphism in general. Not only in includes. Just wanted to make sure

@shishirmk Any chance we can have this reviewed and merged?

Friendly bump. I'd love to get feedback on the PR and eventually have that feature merged into master. Thanks!

@krzkrzkrz  @sirdharma i was a bit occupied with other things. Will take a look at it in a day or two.

Released in Version 1.4

Released in Version 1.4


(g)make calls dep which is not in $PATH

$ gmake
Fetching dep.
go get -u github.com/golang/dep/cmd/dep
Compiling dependencies.
dep ensure -v
gmake: dep: Command not found
gmake: *** [Makefile:109: dep] Error 127
Changed dep to ${DEP_BIN} to fix this

It's the job of the user to set up their GOPATH properly. If that's set up, then the dep binary will be in your bin.

Do you mean i should have set
export GOBIN=$HOME/go/bin
than it would have worked properly ?

@srcr your GOPATH has a bin directory inside of it, which is where any go install'd binaries end up. In order for these to be searchable, you'll need to make sure it's in your PATH.  So export PATH=$PATH:$GOPATH/bin.

In my case (Ubuntu 18.04) I used:
export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
You can add the commands to ~/.bashrc to make it permanent


Fix resolution change request

Currently the plugin requests a resolution change in two places, using a hard-coded resolution. This was done during debugging to prevent freezing up the PC during development. Instead, the request during startup needs to be removed, and the request in EnableStereo needs to be changed to request a resolution change to match the display input resolution.

I changed my mind. This should stay how it is - using a preview window the same size as the display isn't necessary and will slow down rendering when the preview functionality is implemented.


Workaround to use STMCubeIDE in Windows 11

@mergify backport humble rolling

I don't know how to squash all commits, mybe you can do it when you merge?


[WEB] Iterative Output for Demo

Wouldn't it be cool to see the progress image while running diffusion ?
Added support for Gradio's Iterative Output to the web demo.
This might be even nicer than having a progressbar #601, though we could also add a seperate progressbar mis-using a label or waiting for tqdm integration.
Update currently set to every 20 step iterative_output_step = 20

Thank you for the contribution. We used to have the "live preview" option before and we dropped it. If there is interest in having it we can add it and merge this change. But I think we should have it as a radio button turned off by default.

will add the radio button

added a dropdown

Do you forsee any other option in the drop down ? If not best to have it as a radio button. It should be there in prior git history and the rdna branch probably has it

btw if you view it in dark mode the UI looks a little better (or set your windows theme to dark). We need to fix that.

I added the dropdown, because you can choose the steps instead of a fixed value
choices=["None", "5", "10", "20"],
https://github.com/cpietsch/SHARK/blob/patch-2/web/index.py#L115

Thanks for the PR. Just a heads up we plan to move the UI into the main stable Diffusion script so expect some churn but then you can interchangeably just cli and webui.

Please fix the CI lint failures. Just need to run black

fixed lint failures
great to see moving the web stuff into the main script - first I was confused seeing 2 times the diffusion script in the repo

finally the merge of the scripts happened. Lets close this and open a a new one if required.


Add class name interpolation in Meta.permissions codenames

PR for https://code.djangoproject.com/ticket/10686
This continues the work of other people who had been attempting to fix this.

What's the status of this pull request ? Is it planned to be merged ? Thanks

I am also looking forward to this pull request. @julianklotz @felixxm was there something preventing this from being merged?

@BradWells @daweedm – thanks for your interest. The PR looks alright to me and I believe that the behavior is consistent.
@felixxm – sorry to bother you again, but I’d appreciate you taking a look at https://github.com/django/django/pull/15936#discussion_r944158063 again. As I said, I’m not sure about the desired behavior and I couldn’t find any docs about it.


Changes required for upcoming CoffeeScript upgrade

Hi! Thanks for maintaining the servicenow-sync package!
In Atom v1.12, we are going to upgrade CoffeeScript to the latest version. This upgrade entails one potentially breaking change to the language:

Changed strategy for the generation of internal compiler variable names. Note that this means that @example function parameters are no longer available as naked example variables within the function body.

We think your package may be affected by this upgrade, in the following places:

The editorSubs variable here
The editorSubs variable here

These findings are based on linting packages with coffeescope. We could be wrong about some of them. When we release v1.12 beta, please test your package against it to make sure that it works. Let me know if you have any further questions; I will be happy to help!

Fixed in commit https://github.com/thtliife/servicenow-sync/commit/f16435236f0d0068c187f4ffe3a910fb949dbf3c
New release pushed via apm https://github.com/thtliife/servicenow-sync/releases/tag/v0.2.13


[BUG] Infinite build time on Julia 1.10

Describe the bug
I'm trying to build AirspeedVelocity.jl on Julia 1.10-beta1 (macOS aarch64) but am encountering infinite build time. Earlier Julia versions do not have this issue.
Version of the package:
Comonicon.jl 1.0.5
These are the dependencies of AirspeedVelocity 0.4.2:
BenchmarkTools = "1"
Chain = "0.4, 0.5"
Comonicon = "1"
FilePathsBase = "0.9"
JSON3 = "1"
OrderedCollections = "1"
PlotlyLight = "0.6"
PlotlyKaleido = "1"
julia = "1.7"

To Reproduce
julia +1.10 -e 'using Pkg; Pkg.add("AirspeedVelocity")'

Screenshots

Here is the log:
[pid 61578] waiting for IO to finish:
 TYPE[FD/PID]       @UV_HANDLE_T->DATA
 pipe[16]           @0x112e2e790->0x104604bf0
 pipe[10]           @0x112e92600->0x104604c90
 process[61589]     @0x112e93dd0->0x11423eaf0

which repeats over time.

Perhaps should also report in julia? Since it was working in previous versions. I'm not sure if this is something on Comonicon side but if it is I guess it might be the eval call in toplevel after generating all the commands

If you open a resource during module definition, you have to close it before exiting the module. Example of a fix:

https://github.com/JuliaGizmos/GtkObservables.jl/pull/46
followed by more thorough housecleaning during precompilation: https://github.com/JuliaGizmos/GtkObservables.jl/pull/47

I can't remember if the 2nd PR was needed to fix precompilation, but I don't think so. But digging turned up more evidence that we were doing a bad job of freeing resources, so responding to the changes in 1.10 made the package better.

Thanks, that is very helpful.
@Roger-luo I looked through AirspeedVelocity.jl and there aren't any I/O resources opened external to individual methods, so I think it might be in Comonicon.jl? Are there any that you know of?

For posterity:
I fixed it in the dependency with this: https://github.com/JuliaPlots/PlotlyKaleido.jl/pull/6
However there was really no easy way of finding this besides randomly turning on/off parts of code. The difficulty is compounded by the fact that only calling using PlotlyKaleido inside a package triggered the precompilation error, but neither (a) running that in the REPL, nor (b) precompiling PlotlyKaleido itself, was enough to trigger the error. It was only when it was used as a dependency.
In case others stumble upon this thread, what's the best way of tracking something like this down? Or maybe such a thing could be added to v1.10?

Yeah I do wish we had better tools than binary-search-commenting. Any ideas, @vtjnash?

I was expecting people would see the output "waiting for IO" and think "Huh, why is it waiting for process 61589 IO, , which is the foobar process, , and seems to be run from the FooBars package. Why was that running during precompile and not being cleaned up properly by FooBars? "

It's pretty easy to think of that as some internal token and not realize you might be able to get more information with OS tools like htop. I wonder if we should write up a brief devdocs on how you identify and isolate these? For example, I'd have no clue how one goes about doing similar diagnostics on Windows. Once the devdocs is in place, maybe we could link to it in the scary message that gets produced (the first time)?

I'd be happy to help craft such devdocs, but I've not used those techniques myself. Do you happen to know of another package that needs this kind of fix? I could use it as a testcase.

People were recently complaining about PyPlot at JuliaCon: https://github.com/JuliaPy/PyPlot.jl/issues/572. Though finding the source of the bogus sleep call in that package might be a bit more of a challenge.

For that PyPlot.jl issue it looks like it's the same issue to PlotlyKaleido.jl of turning on a plotting backend at the __init__ step:
https://github.com/JuliaPy/PyPlot.jl/blob/343430ac4f822a84a5e19bf5dabf7a846b171c9b/src/init.jl#L171-L209

I was expecting people would see the output "waiting for IO" and think "Huh, why is it waiting for process 61589 IO, , which is the foobar process, , and seems to be run from the FooBars package.

That's quite a lot of assumed knowledge about how this works - not very user friendly/actionable :frowning_face:


Audit error handling

We currently use () in many places instead of a proper error types.
This will quickly become a problem for debugging so we should start converting these to proper types.

I'm closing this issue because the issue relates to an old version (v0.8.0) of the rust coordinator that is no longer maintained. The upcoming version uses proper error types.


Caption track download broken

it is not retrieving any cc data. only keywords. i have the latest version.
this works:

this doesn't:

@111100001 Thanks for the report - your analysis was correct! The caption track download failed with the older YoutubeExplode version and updating to the current version fixed it. Please update to v3.1.1 to fix the issue.
You'll also want to clear your video caches and maybe indexes because the current version doesn't try to re-download caption tracks if the initial download failed. Look into the clear-cache command or use open cache to do it manually in a file explorer.


Spectrum is not smooth

In the STYLY custom action for Playmaker, bar type can be set to Mean Level which makes spectrum smooth.
https://styly.cc/tips/audiovisualizer_discont_playmaker/

switch (barType)
{
    case BarType.Realtime:
        level = spectrum.Levels[index];
        break;
    case BarType.PeakLevel:
        level = spectrum.PeakLevels[index];
        break;
    case BarType.MeanLevel:
        level = spectrum.MeanLevels[index];
        break;
}


bug in a taste of hope

during the step after making the potion where you use it on the door, it says something isn't right and the quest is closed and I can't reopen. have gotten so many quests completed with your plugin (22 remaining quests) after manually continuing after I was able to open the quest again and finished smoothly thanks so much! (21)

Hey, I hope that https://github.com/Zoinkwiz/quest-helper/commit/7fdd19bc4a852055ef18f88a746f819d2aee0dc0 should fix this. Thanks for raising this issue!


Prototype language API

A rough draft for the API for input/output languages.
The core interfaces are ILanguage, ILanguageProvider and IPassInputLanguage, as well as the ExecutionContext struct.

ILanguage is the most important as it handles emitting a hierarchy to the file system.
ILanguageProvider handles logic for recognizing a language using the ILanguagePattern interface (for instance locating a .csproj file in the current directory), and creating a language based on the current context (for instance loading a C# project using Roslyn and returning a new ILanguage representing the C# language).
IPassInputLanguage specifies a language which parses the input passes, for instance JSON or YAML.
ExecutionContext is the context for an execution of the generator. It (currently) contains the current directory for IO operations, as well as a read-only dictionary of additional arguments passed to the program. This would allow for language-specific arguments, which could be somewhat useful.

API has been pretty much ironed out and is ready to be merged.


PackageNotFoundError

Hi guys,
Just wanted to install gmt following the install recipe but

conda install gmt -c conda-forge/label/dev

returns

PackageNotFoundError: Packages missing in current channels:

gmt -> blas 1.1 openblas
gmt -> dcw-gmt
gmt -> fftw
gmt -> ghostscript
gmt -> gshhg-gmt
gmt -> @blas_openblas

We have searched for the packages in the following channels:

https://conda.anaconda.org/conda-forge/label/dev/osx-64
https://conda.anaconda.org/conda-forge/label/dev/noarch
https://repo.continuum.io/pkgs/main/osx-64
https://repo.continuum.io/pkgs/main/noarch
https://repo.continuum.io/pkgs/free/osx-64
https://repo.continuum.io/pkgs/free/noarch
https://repo.continuum.io/pkgs/r/osx-64
https://repo.continuum.io/pkgs/r/noarch
https://repo.continuum.io/pkgs/pro/osx-64
https://repo.continuum.io/pkgs/pro/noarch

what should I do ?
thanks

Hi @egayer are you on Windows?

nope on osX
Python 3.6.3 |Anaconda, Inc.| and conda version : 4.3.30

Could you try running this instead?
conda install gmt -c conda-forge/label/dev -c conda-forge

It seems that conda is looking for all GMT dependencies on the development channel, which it shouldn't do. This might have gone unnoticed because of my particular configuration.

it worked !
however
import gmt works
but then gmt.test() returns

ModuleNotFoundError:

No module named 'pytest'

@egayer thanks for the feedback! I forgot to mention that you need to install pytest and pytest-mpl in order to run the tests. Fixing this in #87.
You need to install them running:
conda install pytest pytest-mpl -c conda-forge

Then the tests should work.
I had no idea that things were crashing in spyder. Would you mind opening a separate issue for this? It shouldn't crash the program or give such weird errors.


Contact Line - Don't have a GitHub link

Hello, thank you for this really good looking template.
I'm trying to build a CV however my candidate does not have a GitHub link to add to \contactline.
When I try to remove the part of the string where the GitHub link sits, the whole line is removed.
How can I keep the rest of the links but not include the GitHub one?
Thanks again,
alfavita21

The way this template is formatted you must edit both the tex and cls file if you remove or reorder the contact line.
For anything you remove from here
https://github.com/sansquoi/PlushCV/blob/c7a9a3f3c0439ea2c6a1567877cc4f2995959a28/PlushCV.tex#L48
You must edit the class to change the array size, correct the array placement, and remove the unneeded line.
https://github.com/sansquoi/PlushCV/blob/c7a9a3f3c0439ea2c6a1567877cc4f2995959a28/PlushCV.cls#L214-L221
So to remove the GitHub you would do:
 \namesection{Firstname}{Lastname}{Full Stack Software Engineer}{\contactline{\href{https://www.home.me}{homepage.com}}{\href{https://www.linkedin.com/}{li-username}}{\href{mailto:first.last@mail.com}{first.last@email.com}}{\href{tel:+1999999999}{9999999999}}}

and
\newcommand{\contactline}[4]{\begingroup
 \setbox0=\hbox{
 \includegraphics[scale=0.23,trim={1.4cm 1.25cm -0.4cm 0cm}]{icons/main/home.png}{#1}\hspace{0.3cm}
 \includegraphics[scale=0.23,trim={0cm 1.25cm -0.4cm 0cm}]{icons/main/linkedin.png}{#2}\hspace{0.3cm}
 \includegraphics[scale=0.23,trim={0cm 1.25cm -0.4cm 0cm}]{icons/main/mail.png}{#3}\hspace{0.3cm}
 \includegraphics[scale=0.23,trim={0cm 1.25cm -0.4cm 0cm}]{icons/main/phone.png}{#4}
 }\parbox{\wd0}{\box0}\endgroup}

@lomky thanks!


pg_vector on prisma hosted DB

Bug description
I was trying to enable vector extension for an AI use case
Error: P3006
Migration<PHONE_NUMBER>0800_init failed to apply cleanly to the shadow database.
Error:
ERROR: extension "vector" is not available
DETAIL: Could not open extension control file "/usr/local/share/postgresql/extension/vector.control": No such file or directory.
HINT: The extension must first be installed on the system where PostgreSQL is running.
0: sql_schema_connector::validate_migrations
with namespaces=None
at schema-engine/connectors/sql-schema-connector/src/lib.rs:335
1: schema_core::state::DevDiagnostic
at schema-engine/core/src/state.rs:276
ELIFECYCLE  Command failed with exit code 1.
How to reproduce
-- CreateExtension
CREATE EXTENSION IF NOT EXISTS "vector";
OR
generator client {
provider        = "prisma-client-js"
previewFeatures = ["driverAdapters", "fullTextSearch", "prismaSchemaFolder", "postgresqlExtensions"]
}
datasource db {
provider   = "postgresql"
url        = env("DATABASE_URL")
directUrl  = env("DATABASE_URL_SESSION")
extensions = [vector]
}
Expected behavior
this works on supabase & local
Prisma information
generator client {
provider        = "prisma-client-js"
previewFeatures = ["driverAdapters", "fullTextSearch", "prismaSchemaFolder", "postgresqlExtensions"]
}
datasource db {
provider   = "postgresql"
url        = env("DATABASE_URL")
directUrl  = env("DATABASE_URL_SESSION")
extensions = [vector]
}
Environment & setup

OS:
Database:
Node.js version:

Prisma Version

Hey @andrashejj, this is not a Prisma ORM issue, and rather a feature request than a bug in general, but pg_vector support definitely is coming to Prisma Postgres in not so distant future, so stay tuned 😉


sync recipe with ptscotch

remove unused Makefile.inc.* missed in #18
get updates from #20, which don't affect building scotch, but keep everything in sync

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


How to communicate through HTTPS proxy with authentication

I am working for a client using their VM and their Network.
I was facing connectivity problem while invoking my target API using okhttp client. The below link helped me to resolve connectivity issue to some extent -
https://github.com/square/okhttp/issues/6561
`     Authenticator proxyAuthenticator = new Authenticator() {
@Override public Request authenticate(Route route, Response response) throws IOException {
String credential = Credentials.basic(username, password);
return response.request().newBuilder().header("Proxy-Authorization", credential).build();
}
};
OkHttpClient client = new OkHttpClient.Builder()
.proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort)))
.proxyAuthenticator(proxyAuthenticator);
.socketFactory(new DelegatingSocketFactory(SSLSocketFactory.getDefault()))
.build(); `
But started facing a new issue - SslException: Unrecognized SSL message, plaintext connection?
The API url invocation is working absolutely fine from my postman with below set up -

Done Custom proxy set up in postman
Proxy type HTTPS, proxy server host and port
Switch on proxy authentication with my id, password

Please help me to find what went wrong in my case.

Duplicate of https://github.com/square/okhttp/issues/3787


Visual feedback for speech input/output

Adding visual feedback for when you're able to input commands via speech and when a command is understood and executed. (Mic icon when speech is on/off, check mark when command is understood etc)

Basic visual input implemented, I suggest we theme the dialog to look like the one from Google.


Attach Control Geometry 1.2 issue with Houdini 19.0.455

Attach Control Geometry 1.2 does not work with Houdini 19 anymore.
I think SideFX changed some library names in Houdini 19.
So Python code needs update to import to "utils" instead of "kinefx_utils".
-> "from kinefx import utils"

Thanks for flagging in it. I've been working on a new update to accommodate changes in H19.

Hi Kamil,
i really like your tutorial on cgcircuit.
When i came across the usage of your great HDAs and scripts, it was not so easy for me to find out how to get it to work.
I’m on a mac with houdini 19 py3. I thought that might be the problem.
Finally i got them somewhat working.
Anyway, i appreciate your great work.
I would love to see how you would use mixamo-anims and a proper motion-retargeting workflow and adjusting motionclips in houdini with kinefx.
Thanks!
Best,
Akira
Akira Endo • creative director • digital artist
phone +49 89 89058025
mobile +49<PHONE_NUMBER>
@.***
www.akira-endo.com
Türkenstraße 61
80799 München
USt-Id Nr. DE235061532

Am 03.01.2022 um 07:32 schrieb kamilhepner @.***>:
Thanks for flagging in it. I've been working on a new update to accommodate changes in H19.
—
Reply to this email directly, view it on GitHub https://github.com/kamilhepner/kinefx_tools/issues/6#issuecomment-1003894501, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOXY7CTM5O2DBCKMSWFF7Y3UUE7JXANCNFSM5LBEHVWQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.

Hi Akira,
Happy to hear that you've enjoyed the tutorial and tools. I'm currently
working on updating everything to* H19*, sidefx did quite a few changes and
I need to fix some of HDA's. For now, if you are keen to use tools you can
try switching back to *H18.5  *I know it isn't ideal but soon I should
release an update and extra tutorial videos.
Cheers,
Kamil
On Mon, Jan 3, 2022 at 9:09 PM Akira Endo @.***> wrote:

Hi Kamil,
i really like your tutorial on cgcircuit.
When i came across the usage of your great HDAs and scripts, it was not so
easy for me to find out how to get it to work.
I’m on a mac with houdini 19 py3. I thought that might be the problem.
Finally i got them somewhat working.
Anyway, i appreciate your great work.
I would love to see how you would use mixamo-anims and a proper
motion-retargeting workflow and adjusting motionclips in houdini with
kinefx.
Thanks!
Best,
Akira
Akira Endo • creative director • digital artist
phone +49 89 89058025
mobile +49<PHONE_NUMBER>
@.***
www.akira-endo.com
Türkenstraße 61
80799 München
USt-Id Nr. DE235061532

Am 03.01.2022 um 07:32 schrieb kamilhepner @.***>:
Thanks for flagging in it. I've been working on a new update to
accommodate changes in H19.
—
Reply to this email directly, view it on GitHub <
https://github.com/kamilhepner/kinefx_tools/issues/6#issuecomment-1003894501>,
or unsubscribe <
https://github.com/notifications/unsubscribe-auth/AOXY7CTM5O2DBCKMSWFF7Y3UUE7JXANCNFSM5LBEHVWQ
.
Triage notifications on the go with GitHub Mobile for iOS <
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android <
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.

You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
https://github.com/kamilhepner/kinefx_tools/issues/6#issuecomment-1003925273,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APKFGFGF6A6BUXYNMA54CJ3UUFKTBANCNFSM5LBEHVWQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were assigned.Message ID:
@.***>

Attach control geometry node has been replaced with new Attach obj control

Fixed in latest release

hi Kamil, same problem here on houdini 19.5 Iàm getting this error :
Error
Invalid source /obj/subnet1/rig/attachcontrolgeo_custom1/python1
Error: Python error: Traceback (most recent call last):
File "", line 3, in
ImportError: cannot import name 'kinefx_utils' from 'kinefx' (C:\PROGRA~1/SIDEEF~1/Houdini 19.5.303/packages/kinefx/python3.9libs\kinefx_init_.py)
.
thanks so mutch
wil.


Updating .NET Core 3 SDK download link

Changing download link for netcore3 sdk to a vanity url so we can update it quickly to recommended SDKs as we continue making progress (i.e. eventually for preview releases)

Thanks, @rpetrusha


Conv1d ops don't get quantized

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): OS X
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): Binary
TensorFlow version (use command below): 1.10.1
Python version: 2.7.10
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: N/A
GPU model and memory: N/A
Exact command to reproduce: See below.

Describe the problem
Currently tf.contrib.quantize.create_eval_graph and tf.contrib.quantize.create_training_graph will create a quantized version of the graph if the graph contains 2d convolutions.  The pattern matching that these functions use breaks in the case of 1d convolutions, however.  This is because 1d convolutions are transformed to 2d convolutions under the hood with an ExpandDims Op, and this Op breaks the expected pattern of Ops used by _FindLayersToQuantize.
It would be great if the pattern in _FindLayersToQuantize could be changed from
weight|folded_weight --> conv|fc --> [batch_to_space_nd] --> ...

to
weight|folded_weight --> [expand_dims] --> conv|fc --> [batch_to_space_nd] --> ...

This should allow conv1d ops to quantize exactly like conv2d ops.
Source code / logs
# Create and quantize a graph with 2d convolution.
X = tf.placeholder(tf.float32, [None, 28, 28, 1])
conv = tf.layers.conv2d(X, 64, 3, padding='same', activation=tf.nn.relu)
tf.contrib.quantize.create_eval_graph()
len([n.name for n in tf.get_default_graph().as_graph_def().node if 'quant' in n.name]) > 0

This should be True.
# Create and quantize a graph with 1d convolution.
X = tf.placeholder(tf.float32, [None, 28, 1])
conv = tf.layers.conv1d(X, 64, 3, padding='same', activation=tf.nn.relu)
tf.contrib.quantize.create_eval_graph()
len([n.name for n in tf.get_default_graph().as_graph_def().node if 'quant' in n.name]) > 0

This should be False.

@joe-antognini good point. Just ran the above code snippets and both returned True. For image quantization conv2d is typically used, e.g. in your example. conv1d essentially does the same thing here, unless you want to do text quantization, which would require different methodology.

Interesting, what version of Tensorflow did you run those snippets on?  I tried again and I still get True from the first snippet and False from the second.  The reason I'm interested in quantizing 1d convolution is for audio applications.

1.10.0

@wt-huang, just as a sanity check, did you reset the graph between running the two snippets?

@joe-antognini I didn't reset the graph between two snippets.

Nagging Assignee @wt-huang: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Will close this issue soon, chime in if this problem persists.


BugFix: Close button not hidden when specified in layoutsettings

Description
I have changed the initial state of the close button  to be hidden. When the Layout settingsfile is fetched the close button is hidden if hideCloseButton=true or visible if hideCloseButton=false or this setting is not defined.
This means that when the page is loading the close button is hidden.
Another thing to notice is the receipt page.

I have removed the progressbar (since it has no purpose og beeing visible here).
The close button and language selector is visible if this is the case in the Form (The state is kept in memory). However if you refresh the receipt page the FormLayoutSettingsfile is not refetched. This means that close button and language selector goes back to the initial state.

After working with this I feel like these settings should be defined at an application level.
Related Issue(s)

#401

Verification

[ ] Your code builds clean without any errors or warnings
[ ] Manual testing done (required)
[ ] Relevant automated test added (if you find this hard, leave it and we'll help out)
[ ] All tests run green

Documentation

[ ] User documentation is updated with a separate linked PR in altinn-studio-docs. (if applicable)

I would suggest that this is not really a issue with the application itself, that the close button returns to Altinn is more likely the problem. Could you maybe change it so that you can set the on-close re-direct instead to some other route than Altinn? By changing the rendering conditions for the close button the cypress-tests looking it. I think the main issue is that we do not load the settings of the app on deep linking to a receipt. It would make more sense that the app-settings will be loaded and read on deep links as well.

That sounds like a good idee! Were do you suggest putting this setting-variable? Maybe same place as hideCloseButton is?

@mjulstein I started checking out how to override the on-close redirect. If I put the settings in same file as hideCloseButton we still have the same problem as before because the close button is visible when the app is loading the form layout settings. So I would have to have this settings in applicationmetadata.json.
But to include a new value in applicationmetadata.json i would have to change the endpoint implementation, because it filters out values not specified. That means a PR in this repo aswell: https://github.com/Altinn/app-lib-dotnet
Any thoughts? Should I continue this aproach?

@lasseklovstad Could you maybe make it so that you add a flag to the url you are sharing or typing instead?
Ie. ?closable=false
https://org.app?closeable=false/#/instanceid/somethingBlaBla/receipt
Then you can simply share any url you want and still hide that close-button regardless of the config.

@mjulstein In our case we would like the url to be as clean as possible. Because in some cases the survey url would be shared via feks. the teacher writing it on the blackboard to school children down to 5th grade.

@nkylstad @mjulstein Tror jeg har implementert det slik beskrevet av Nina nå. Og alle testene ser ut til å bli grønne. Litt usikker på hva slags tester jeg børe skrive rundt dette. Noen forslag?

@nkylstad @mjulstein Tror jeg har implementert det slik beskrevet av Nina nå. Og alle testene ser ut til å bli grønne. Litt usikker på hva slags tester jeg børe skrive rundt dette. Noen forslag?

I guess you can write some tests to check the residence of the settings.
As long as your revision gives the same experience i any app that did not have a "hideCloseButton" setting then i don't think there is much to test for.


add aliases for "scroll up/down"

Added aliases for "Scroll Down" and "Scroll Up".
Feel free to replace them by any better alias, they were just the first I came up with.
But as my keyboard has these two keys, I'd really like to have an alias for them.

Looks fine to me; thanks!


Grant a permission to me to run all workflows 🙇

What would you like to be added:
Now, I should ask someone of PipeCD team, when I want to run the workflows. This communication is always occurred. So if PipeCD team okay, please grant a permission to me to run the all workflows.
Why is this needed:

Welcome @sivchari to PipeCD organization!


[#13435058] Enable TLS for syslog

What
As we would like to have be compliant with AWS Trusded advisor
recommendations we need to enable TLS communication to syslog ingestor
ELB.
How to review

Review https://github.com/alphagov/paas-cf/pull/776 first and deploy it on top of master. It creates new ELB listeners for TLS syslog.
run  bootstrap from this branch and check if logs are still visible in Kibana

Who can review
Not @paroxp or @combor

Merging, I will apply this in ci, staging and prod


Support for CIDR as Network Indicator

Not sure if this fits in with goal of submitting individual indicators, but is adding support for CIDR ranges something that would make sense for an IPV4 object? E.g., <IP_ADDRESS>/24. Currently getting error when trying to drill-down on that.

Excellent idea, I'll probably just add a new record type, something like 'Network' or 'IP Range'. It probably breaks when trying to get submitted as an IPv4 since it's trying to match on an IP regex \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
I'll go ahead and add that new type though.

Added new indicator type, Network, which doesn't have any restrictions on it, like the IPV4 one did. I think I'll have to work on the Whois and VirusTotal integration, since I don't think either currently support CIDRs.

Nice, thanks! Yea understood on WHOIS or VT enrichment on the CIDRs.


crusher skips blocks

The flux crusher skips harvesting all blocks with the same x, y, or z coordinate as the target block.  (Same issue in ItemSoulCrusher.java).  The if statement in ItemFluxCrusher.java is causing this.
ItemFluxCrusher.java
if (!(a == x || b == y || c == z))
Change the or to and, and it should work fine.
if (!(a == x && b == y && c == z))

Wow. That's a major derp.
Thank you for pointing this out, I'll release a fix tomorrow.


Zomato website clone

Hey @Rayman-Sodhi , I am interested in creating Zomato clone , can you assign me this issue?

you can comment under new website clones issue


fix(ui): pass req to join relation table read access

This changes the join table read access to pass the req so that the user is accessible down the line.
Demo
Steps are the same as the issue reproduction steps.
Before:

After:

Fixes #9974

Closed. Duplicate of #9971


Add overflow hidden to lumo radio button style

This change is

@jouni WDYT about this change?

Closing in favour of #98


research / implement previewing

in user interviews, Melissa and Emily have underscored the importance of being able to preview pages.
potential block is that Strapi doesn't render pages; Nextjs will be responsible for that.
is previewing here possible?

Emily has voiced her need again in second round of testing


Use UUID for unique key

This fixes an issue with Android where if the app is killed but then restored, the AtomicInt restarts at 0. This will guarantee uniqueness between app restarts.

Hi @Syer10 this for the PR and the report of the error, I go though a diferent direction in this first version, I still using UUID but I'm using for JVM and Native, the platform calls, and for JS I'm using the library.
This is the commit.
https://github.com/adrielcafe/voyager/commit/f1487d37b8949b35dcaf00ec35639d89e3be97ab
This PR will still be reference on the release notes, thanks for the finding and the solution!


Async virtual attributes

Previous discussions: #175 #1252 #866
With Objection v2.0 on the horizon, I wonder if it would be worth re-exploring the possibility of async virtualAttributes? Does the architecture still prevent async virtualAttributes?

The architecture makes it difficult and also async operations per model instance are rarely a good idea. With async operations, you usually get big performance benefits by batching them for multiple instances.

You can implement them pretty easily yourself by utilizing the $afterGet hook.

is possible to get a relation query and return in virtualAttributes?

$afterGet was deprecated and removed from Objection.js, any other options how to do this?


Subset using a list of barcodes

Hello,
Is it possible to subset a pegasus h5ad file using a list of barcodes?
Thanks,
Yoav.

Hello @yoavhadas ,
Sure, you can do it in a way similar to AnnData's slicing:
import pegasus as pg

pdata = pg.read_input("<your-file-name>.h5ad")
pdata_subset = pdata[barcode_list, :].copy()

where copy() is added if you want a new pegasus UnimodalData object to be created. If dropping copy(), you'll get a View of the original data object instead.

Hi @yihming , I could subset the object using the above approach. Now I must reanalyze it (repeat the PCA, harmony, clustering, and UMAP generation) to get an updated object. When I use a similar script as I did for the original dataset, I get an error:
Traceback (most recent call last):
 File "pegasus_recluster.py", line 44, in <module>
    pegasus.neighbors(object, rep=pca_key, n_jobs = n_jobs)
  File "/sc/arion/work/tmp/miniconda3/envs/pec_pegasusenv/lib/python3.8/site-packages/pegasus/tools/nearest_neighbors.py", line 308, in neighbors
    W = calculate_affinity_matrix(indices[:, 0 : K - 1], distances[:, 0 : K - 1])
  File "/sc/arion/work/tmp/miniconda3/envs/pec_pegasusenv/lib/python3.8/site-packages/pegasusio/decorators.py", line 12, in wrapper_timer
    result = func(*args, **kwargs)
  File "/sc/arion/work/tmp/miniconda3/envs/pec_pegasusenv/lib/python3.8/site-packages/pegasus/tools/nearest_neighbors.py", line 207, in calculate_affinity_matrix
    numers = 2.0 * sigmas[i] * sigmas[indices[i, :]]
IndexError: index 228336 is out of bounds for axis 0 with size 228134

Would you happen to have any suggestions on how to overcome this issue?
Thanks
Yoav

Hi @yoavhadas ,
Sorry for getting back to you late. Have you tried setting use_cache=False in the pegasus.neighbors() function?

Hi, I have a question when working with multimodaldata, for example, I have used three matrices containing the same cells to generate one multimodaldata, as follows:
MultimodalData object with 3 UnimodalData: 'RNA-RNA', 'RNA-integrated', 'RNA-AN'
    It currently binds to UnimodalData object RNA-AN

When I filter the multimodaldata through barcode, I got a  unimodaldata that only contains one matrix like this:
UnimodalData object with n_obs x n_vars = 120 x 2215
    UID: RNA-RNA; Genome: RNA; Modality: RNA
    It contains 1 matrix: 'counts'
    It currently binds to matrix 'counts' as X

I was wondering if there is a method to subset the entire multimodaldata, allowing me to obtain multimodaldata with three matrices that only contain subset cells?
Additionally, I am not sure if you will update the pegasusIO related tutorials, as I feel the content is somewhat limited. For instance, processes like creating multimodal data from a matrix, such as CreateSeurat, took me a long time to figure out on my own.
Regardless, Pegasus is still a single-cell analysis tool that I really like. I have already used it into my own work and cited it, hoping it will continue to improve.


Where is he secret for leaf spy app integration?

I integrate the component in my HA, but there isn't any secret number to use for configure the app. Can you help me? Thanks

The secret is only shown when you first set up the integration.
The only way to find it later is to look at the config_entries file in the .storage folder.

I also dont seem to find the secret, I didnt see it when setting up integration. My /config/custom_components/leafspy folder seems to have correct files. I also tried to look at: /config/.storage/core.config_entries, but I dont find here anything that would be related to leafspy. Any help?


wip

Codecov Report
Attention: Patch coverage is 0% with 71 lines in your changes missing coverage. Please review.

Project coverage is 43.53%. Comparing base (670b280) to head (38da91a).

Files with missing lines
Patch %
Lines

e2e/utils.py
0.00%
37 Missing :warning:

e2e/conftest.py
0.00%
34 Missing :warning:

Additional details and impacted files
@@                Coverage Diff                 @@
##           paas-migration     #430      +/-   ##
==================================================
- Coverage           44.15%   43.53%   -0.63%
==================================================
  Files                 100      102       +2
  Lines                5032     5102      +70
  Branches              581      587       +6
==================================================
- Hits                 2222     2221       -1
- Misses               2810     2881      +71

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


kwm 1.1.3

Formula update for kwm 1.1.3

@dunn any update on this?

Oh, sorry, I thought I merged this!  Done now in efe2bee01447a69ebb71197af5be9fe5ede54119.


openstack-crowbar/ardana: rename engcloud/susecloud to ECP/ECN

Rename the engcloud/susecloud names currently used for the Provo and
Nuremberg engineering cloud instances to ECP and ECN respectively.
NOTE: this change also requires renaming the Jenkins Lockable Resources
and their associated labels, as well as updating the OpenStack cloud
configuration in ~/.config/openstack/cloud.yml on Jenkins agent nodes.

would there be a problem with just using the hostname (engcloud.prv.suse.net)? as far as I can see this is just replacing one cryptic acronym with another one, not sure which one is better really (and in case we'll have at some point a duplicate for P or N in ECP/ECN, we'll just have to rename all of it again).
I'd just use the engcloud.prv.suse.net vs cloud.suse.de instead.

@dirkmueller I'm not really a fan of engcloudprv.suse.net vs. cloud.suse.de. In my opinion the url should be similar for both clouds. E.g. see https://jira.suse.com/browse/SOC-9853.

@rsalevsky I think it really goes into the wrong direction. three letter acronyms are not a good choice. we could do something like engcloud.prv.suse.net or engcloud.nue.suse.net to align this, but thats not the discussion here.
My feedback was "lets name it like the hostname are". and you're saying "lets change the hostnames to match the names in this pull request". I think thats the opposite of how this would work ;)

Let's put this on hold till we have a decision in the jira card.


Don't hardcode python path

In convert_dict please do not use
#!/bin/python

Prefer:
#!/usr/bin/env python

commit: 4178aa6495ed6c463d4e13200f78739f93e5e612

thx


ClimateState is_front_defroster_on is an integer value.

Making a climate state call to my Model X Tesla running version 2.46.16 has the is_front_defroster_on value set to the integer 3, which breaks when unmarshalling into a bool. It appears that other APIs also think it might be an integer value too (http://docs.timdorr.apiary.io/#reference/vehicles/state-and-settings/climate-settings).
Adding in some new fields that are missing as well: left_temp_direction, right_temp_direction, is_climate_on, min_avail_temp, max_avail_temp.
Raw response from Tesla calling for climate for my vehicle: {"response":{"inside_temp":11.7,"outside_temp":9.5,"driver_temp_setting":15.0,"passenger_temp_setting":15.0,"left_temp_direction":17,"right_temp_direction":17,"is_auto_conditioning_on":false,"is_front_defroster_on":3,"is_rear_defroster_on":false,"fan_status":0,"is_climate_on":false,"min_avail_temp":15.0,"max_avail_temp":28.0,"seat_heater_left":0,"seat_heater_right":2,"seat_heater_rear_left":0,"seat_heater_rear_right":0,"seat_heater_rear_center":0,"seat_heater_rear_right_back":0,"seat_heater_rear_left_back":0,"smart_preconditioning":false}}

I found this same issue. is_front_defroster_on is an integer, is_rear_defroster_on is a boolean at this moment in the Tesla API.


wtforms.validators.Optional fails when request value is null

from wtforms import Form
from wtforms.validators import UUID, Optional
class SampleForm(Form):
   public_qr_id = StringField(validators=[Optional(), UUID()])

For a request sample below, where null is passed for the field, it returns error. Optional should also stop the validation chain from continuing for null values, as well.
{
"public_qr_id":null
}
Error:
Python312\Lib\uuid.py", line 172, in __init__
raise TypeError('one of the hex, bytes, bytes_le, fields, '
TypeError: one of the hex, bytes, bytes_le, fields, or int arguments must be given

Environment

Python version: 3.12.1
wtforms version:3.1.2

Optional only applies to formdata and that is intentional, see my previous reply to a similar issue: https://github.com/pallets-eco/wtforms/issues/842#issuecomment-2115080011
If you find yourself running validate() without first passing formdata you are doing something inherently incorrect and unsupported. If you want to validate data or obj, then you should use something like pydantic.
If you were hell-bent on it you could get WTForms to do it if you write your own validators, but it's not designed for it, so I honestly wouldn't recommend trying it, it will not be reliable. WTForms assumes valid object data.


How block dismiss inboxitem(rv) for only one direction

I want to implement close inboxlayout item for only one direction on specific condition.
I want to:
If I add specific setting on inboxlayout code, Inboxlayout can be dismissed using onbackpressed
or  gesture.

You can set an interceptor on your expandable page:
expandablePage.pullToCollapseInterceptor = { downX, downY, upwardPull ->
  if (isScrollAllowed(upwardPull)) IGNORED else INTERCEPTED
}

Full details can be found here in the wiki: https://github.com/saket/InboxRecyclerView/wiki/Pull-to-collapse


feat: state transition conversion

Issue being fixed or feature implemented

What was done?
This PR contains a lot of changes needed for Rs-Drive-Abci to work as the executor.
How Has This Been Tested?
CI passing.
Breaking Changes

Checklist:

[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have added or updated relevant unit/integration/functional/e2e tests
[X] I have made corresponding changes to the documentation

For repository code-owners and collaborators only

[ ] I have assigned this pull request to a milestone

Yeah, but for the future, I would propose to have ADR for design changes so people don't feel pressure because the code is already written and not having it merged blocks other tasks.


Investigate extra topic 1

Investigate why the metrics dropped to zero for extra topic 1, as an example, after adding treatment synonyms.

PMID 27900363 is not matched because it refers to "cancer" and not "carcinoma". Adding synomyms might help.
PMID 26182302 drops from the top 1000 when other keywords are added, because it's a small document with not so many matches and is not well ranked therefore. Adding the disease to a must query with a boost might help.


Consolidate elixir targets and simplify Makefile

Overview
This PR is really just trying to simply our Makefile, reducing target overlap and removing unnecessary environment declarations and dependencies. I also restored python-black as a required check and reformatted our Python code accordingly.
Testing recommendations

make check covers everything changed here
make elixir-suite has been streamlined a bit but still runs the full integration suite
make elixir-check-formatted, make elixir-credo, and make elixir-integration can all be run independently. They no longer depend on elixir-init, so if you're working on a clean instance mix will ask you if you want to install rebar etc. locally (and you can just accept the default)
make mango-test also saw a few small changes.

Reviewer Guidance
The commits are meant to be reviewed individually. Most are quite straightforward, but looking at the diff in its entirety can make it more difficult to figure out some of the substance. Other noteworthy bits:

I removed the TEST_OPTS variable -- does anyone use it at all? Inside the Makefile it was being used to inject some .ini config settings; I moved those to an appropriate test-config.ini file.
The suite.elixir file was a bit outdated, so I rebuilt it. I also renamed two tests that were being accidentally excluded from the suite.
The skip.elixir file was skipping several tests that actually pass, and was not excluding any tests that were not already marked with a pending tag. I zeroed out the skip file in this PR and left a comment that it could be used if one wanted to exclude tests without tagging them directly in the codebase.

Discussion Topic
I find it a little janky to have to keep suite.elixir manually up-to-date. Should we find a way to automate that? I found quite a few instances in today's work where we were not running tests that we ought to have been running. Conversely, do we actually need to keep the suite / skip approach to managing test sets? ExUnit always has a fairly rich tagging and filtering system for constructing test sets. I wouldn't mind at all if e.g. Cloudant folks wanted to add some additional tags to tests so they could exclude / include them as needed for their internal CI setup.
Checklist

[x] Code is written and works correctly
[x] Changes are covered by tests
[ ] Any new configurable parameters are documented in rel/overlay/etc/default.ini
[ ] A PR for documentation changes has been made in https://github.com/apache/couchdb-documentation

I find it a little janky to have to keep suite.elixir manually up-to-date.

Same.

Should we find a way to automate that?

The default behavior of mix is to run all tests, so if an up to date suite.elixir would just contain the full list of tests anyhow, I don't know why we couldn't just get rid of suite.elixir and the --include line that references it entirely. The only case I can think of that it would be useful is when you want to define a very small set of tests to run (e.g. the quorum tests), which would be harder to do just using exclusion. But it seems like we're just using normal tags for that, so who knows.

Conversely, do we actually need to keep the suite / skip approach to managing test sets? ExUnit always has a fairly rich tagging and filtering system for constructing test sets. I wouldn't mind at all if e.g. Cloudant folks wanted to add some additional tags to tests so they could exclude / include them as needed for their internal CI setup.

I don't remember the exact requirements that led @iilyak to the current design, but if Cloudant had the ability to add tags, we could maybe dispense with the skip approach.

Thanks Jay! I hadn't seen your approval before I dropped that last commit on this PR, so I can revert it for now and file it as a separate, standalone PR. I'll fix the typo as well.
The code that generates suite.elixir takes about 15 seconds to execute on my machine, so I'd want to see if there was a better way to optimize that before running that routine on-demand as part of a Makefile target. I think the idea of constructing a set of excludes from the contents of a skip.elixir file instead of generating input to the only_test_ids argument could be a good approach.

I discovered that the module and test name are automatically injected as tags on each test. That means we could exclude tests by name, or exclude an entire module, but I don't think we'd be able to exclude based on a qualified {module, test_name} tuple.
We do have some duplicate test names in different modules but that wouldn't be too difficult to rectify.

I'm going to merge this one now and file a separate PR if/when we reach consensus on improvements to the suite.elixir setup in #3824


Notification fanout support for symbols

Because of the .to_s comparison, symbols were not able to be compared
Fixes #482

Can you confirm this behaves the same way as ActiveSupport::Notifications?

It looks like AS::Notifications does it even simpler fanout.rb#L106:
def subscribed_to?(name)
  @pattern === name
 end

The simplicity of this is that regexp will match strings / symbols. However, a subscription to a string with a symbol emitted will not match. That is why I kept the check that uses .to_s. I personally don't think that the symbol/string matching is very important, but others might expect it to be handled transparently behind the scenes.

I'm kind of confused by why it supports !pattern... but I guess this is ok for now.


My running balance column is not showing although the button is activated in the toolkit. I tried to turn off and turn back on, but no difference.[BUG] ...

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. OSX, Windows]
Browser [e.g. chrome, firefox]
Version [e.g. 22]

Setting Export
Please replace the text below with your exported Toolkit settings. You can export these by going to the Toolkit Options page, click the Import/Export Settings button at the bottom left and copying the text in the modal which appears.
REPLACE_ME_WITH_SETTINGS

Please ignore...I just saw the view dropdown box that is now in each account in order to check the show running balance column.

@lygolden this feature has been removed from the Toolkit because YNAB provides it natively. To use the built-in feature click the View menu item in the account register and click Show Running Balance.


Highlight a message if it "@" the streamer (IDEA)

Make messages easier to spot if is at the streamer. (example - "@streamer how was your day") Maybe have it change the text color or something like that.

Finished and will be ready for 1.3.4


Remove SealingKey deriveFromSeedWithSeedString

Fix #16
Use UnsealingKey.getSealingKey() instead.

Are there test cases for the others that we might want to supplement?

Are there test cases for the others that we might want to supplement?

Ignore that.  Code only deleted.


ModelAdmin to Snippets Documentation Update

This is a continuation of https://github.com/jazzband/wagtailmenus/pull/472 to address https://github.com/jazzband/wagtailmenus/issues/459.
It also addresses the modeladmin to snippet transition, part of #476.
In particular, this adds documentation including initial release notes for a 4.0 release.
I believe I've found and modified anything relating to the move from ModelAdmin to Snippets, but a review looking for any missed changes would be appreciated.
TODO: in this or another PR, update the images in the documentation, which are mostly Wagtail 2 era screenshots.

New documentation screenshots have been added. This PR is now ready for review.
Note that there are two copies of the screenshots, in docs/source/_static/images (used for the docs) and in screenshots. I don't know what the latter are for, and maybe they are not required?

I haven't finished reading everything, this is a fantastic work so far!
Something I remembered: the translation files are probably still referring to modeladmin.py and not menuadmin.py. I think it makes sense to run the makemessages and compilemessages in this PR so that it updates the module name, what do you think?
The docs/source/settings_reference.rst also had references to ModelAdmin. Gif you get those_

I've run python manage.py makemessages -a and python manage.py compilemessages locally, and it is picking up lots of changes from previous work. I might make sense to do this as a separate PR once a few other PRs are merged, rather than incorporating it into this my other existing PRs.
The docs/source/settings_reference.rst references to modeladmin should have been picked up in #482.

I've run python manage.py makemessages -a and python manage.py compilemessages locally, and it is picking up lots of changes from previous work. It might make sense to do this change as a separate PR once a few other PRs are merged, rather than incorporating it into this or my other existing PRs.
The docs/source/settings_reference.rst references to modeladmin should have been picked up in #482.

Ok on both counts. Feel free to merge it!


Support R2 bucket management commands

See #365
(still TODO: publishing bucket bindings)

Actually the config.ts changes are not relevant to this PR. so I have removed them.


where can i find the dependencies..

sorry for such a stupid question, but i'm really not sure where to find "C Library" and "POSIX getopt support",
pc is Windows 10, if that helps? not sure.. i've tried googling but i didnt find anything :( sorry

Hi,
Sorry it took so long to anwser.
If you don't want to compile the program you can always dowload latest Windows release: here: https://github.com/Tiiffi/mcrcon/releases/latest

If you want to compile from sources the easiest way on Windows is to install MinGW + GCC which has Posix support and every dependency needed.
My personal recommendation is TDM GCC: https://jmeubank.github.io/tdm-gcc/


Add chenyu.blog as user

Adding chenyu.blog to the list of users of congo

Thanks for using Congo, @BinaryFiddler! I'll merge this change in and your site will appear on the public list when the next theme release is published.


tsv-pretty mistake in column formatting.

I'm using tsv-utils from the arch linux aur, trying to format some word frequency data from the new general services list dataset. tsv-utils makes at least two errors that I'm able to see when I'm running this commandline:
tsv-select -f 1,7 NGSL+1.01+with+SFI.tsv | tsv-pretty | less
adding -s 5 to tsv-pretty works around this problem. The tsv file was converted from the file NGSL+1.01+with+SFI.xlsx available from this site: http://www.newgeneralservicelist.org/
I'll attach
NGSL+1.01+with+SFI.xlsx
the original xlsx file because github won't let me post the tsv file.

I forgot to mention - the mistakes I found were at 'misrepresentation' and 'interoperability'.

Thanks for the bug report! I'm wondering if the default lookahead is insufficient for this file. By default, tsv-pretty reads the first 1000 lines and bases columns boundaries on that. Then when wider columns are found it adjusts. I grabbed the file from the site, it has 31242 lines.
Try running the command with a lookahead that includes the whole file. e.g.
tsv-select -f 1,7 NGSL+1.01+with+SFI.tsv | tsv-pretty -l 40000 | less

Let me know if that fixes the problem you are seeing. (Looks reasonable on my machine.) If it doesn't fix it we'll have to take a more detailed look.

With that setting it looks like the issue is fixed. However, I would note that 1000 lines is pretty conservative, particularly since tsv files are liable to be huge. The lookahead would probably be fast on modern machines even if it defaulted to the first megabyte of data. Also, since a line can be any length, and it seems that what you're trying to conserve is file loading time (or at least trying to prevent loading times from being arbitrarily long), the lookahead should probably be based on size in bytes, rather than lines. 512k or even 1,024k should be a reasonable default. This particular file is 1.7M and both less and nvim were able to load it in less than 1 second on a 10 year old i3 laptop - albeit with a modern SSD. But even with an IDE HDD I wouldn't expect it to take very long.

Yes, I agree. And I appreciate your feedback on this issue.
The reasoning behind the 1000 lines was more to handle the cases when data is being read from standard input, where lines might trickle in slowly, depending on the input source. There's also a secondary issue that the lookahead buffer needs to be kept in memory.
However, a better default choice might be a relatively large buffer, and allow the user to select a small buffer in the small number of cases where immediate output is preferred. Obviously, more sophisticated approaches are possible as well. The implementation could track the time and rate of input arrival and the amount of memory consumed (addressing your point about differences in line size), and make on-the-fly choices.

You could make the default 1024k and print a message to stderr if the input is too slow to hit the screen in reasonable time. Something like:
"Slow input stream. Consider adjusting one of the following options: [-l][etc...]."
and similarly, when the input file is larger than 1024k, a message could be printed to stderr like "Input file larger than default (1024k) lookahead. Please check the formatting of output columns and consider adjusting options [-l][etc...] if necessary."

Marking as an enhancement request. Improvement opportunities discussed in the issue.

A consideration I forgot to mention - In the interactive use case it is often advantageous to align based on what the user is most going to see try to gracefully degrade in exception cases. This is different than the case where consistent alignment over a large data set is desired.
Consider an interactive use like:
$ <command> | tsv-pretty | less

In many cases the user will scroll through a few screenfuls and then stop. Aligning based on the widest value in data the user doesn't get to is not beneficial, as it increases the whitespace gaps between columns and total line width.
Using a smaller lookahead buffer is helpful in a pragmatic way, in that it aligns based on the widest column the user is mostly likely to see. tsv-pretty goes to some effort to gracefully degrade  when wider fields are encountered.
The smaller lookahead buffer is no panacea though. It's fairly common to have columns with outlier values. Image that a field has nearly all values less than 10 characters, but one or two values that are 20-30 characters. If one of these occurs early in the data stream then it will still result in undesirably large whitespace gaps for the vast majority of screenfuls where all the values are less than 10 characters.
For this reason I have thought about adding some form of analysis of field width distribution to identify outliers and select the common case field width more optimally.
However, the above approaches are not desirable for use-cases where alignment based on the widest value in the data is preferred. Such use cases are relatively easy to satisfy, in that looking through an entire data set, or at least a very large portion of it, is not especially hard. For these cases, tsv-pretty could make it easier for the user to communicate the goal. The current mechanisms, -l|--lookahead and -m|--max-text-width, place additional burden on the user to find and set the parameters correctly for their use case.

I hadn't really considered the less use case too much, as I was only using less to check my work. In the less use case, messages on stderr will be especially helpful, as they will not be mixed with stdout messages in that use case. But in the general case, we can assume that the user's tsv will end up in multiple different kinds of pipeline. Worst case here, user calls tsv-pretty to do some work with a file, runs it through several pipelines, believes they have a consistently formatted file to their specifications, but then finds out 2 (weeks, months, years) later that the formatting was never consistent and whatever work they had produced based on that belief is now in question. The bug in this use case is both potentially severe and also hard to see.
Also, for the interactive use case, an even better idea might be a dedicated tsv-utils pager. The advantage here would be that it could do the formatting automatically and dynamically in the manner you've described (and in both directions - expanding whitespace and contracting it as needed), and the user could mark the first line (or an arbitrary line) as a header line, and it could follow them around dynamically in the file (I believe in html/css they call this position:fixed). The pager could allow "sideways" paging with a configurable amount of "horizontal" context, as well as a sensible default. In general a dedicated pager for tsv files can do things a standard pager cannot do, and can also do things a static pipeline formatting utility cannot do.


chore: update to JOSDK extension 5.0.3

Any chance we could get a release of the plug-in to be included in the next operator-sdk release?


Tooltip fixes

Hey @madou,
I'm helping @DomGrieco with tooltips,
here are a bunch of fixes :)

Looks good!

howd you find setting up the project? easy? anything you'd suggest updating in the readme to make some things more obvious?

cool thats all my comments for now! are you planning on finishing all the tooltip fixes in this PR, or you'll make another one for the rest?

will take a look at all of your comments later. thanks for the review @madou

no worries @DxCx , let me know if you need anything

Website is planned to release sometime on the 5th (evening most likely). It would be sweet if we could get this pushed by then

Ok, ill try to work on the fixes later today.. :)
Didnt realized its urgent :)

It's not urgent but it would be sweet if when we released the site these changes were live

@madou
translations are fixed, regarding the number on top of icon, i really think it should be icon property.
maybe the naming is wrong as it might be used for more then apply count, but this is essentially the number on top of icon like in game.
regarding the other fixes,
i think it's for the best to merge this so @DomGrieco can continue his amazing QA work and test it.
so we will open another PR for the others.

if you want im happy to merge this and fix things up later so dom gets his changes faster. just fix the merge conflict and we're good to go

@madou  - Done. i belive it can be merged.


Request: Equivalent of theano.clone() to dynamically replace subgraph

I would like to know if this feature exist in the library or if there's any plan to have it in the future.
Thanks!

Hopefully someone else knows more about the literature, but is "weight noise" a generalized stochastic operation applied specifically to weights?  For example, is dropout a form of "weight noise" if applied to weights?
You can implement dropout as a composition of existing ops here: https://github.com/tensorflow/tensorflow/blob/8048088bfb82846078f8023bc6199e6424926624/tensorflow/python/ops/nn_ops.py#L581, so if you can express the specific noise algorithm you want as a composition of existing ops, then you can do that today.  If there's something more specific you are asking for, let us know, and feel free to contribute it to the library.

Thanks for answering :)
Dropout it's very similar to what I would like to do. The only problem is that I would like to apply it AFTER the rest of the computation graph is defined. As far as I understand, the current dropout function has to be applied before. This is what I am referring to when I say graph replacement. In theano, the mechanism to do this is use the theano.clone function with a replace dictionary as argument. The reason that I would like to do it like that, is that I want to use this kind of function in all the weights. So, for example, the weights that correspond to a LSTM that I don't have access to. Ideally, I would like to do something like this:
vars = tf.variables.all_variables()
new_vars = [tf.nn.dropout(var) for var in vars ]
tf.replace(vars, new_vars)
For a less general example: How can I apply dropout to the weights of a lstm?
I saw this discussion that is related, but I would like to know if there is a simpler way of doing things:
http://stackoverflow.com/questions/33748552/tensorflow-how-to-replace-a-node-in-a-calculation-graph
Thanks!

OK great, I've renamed the title to reflect the more general feature request.
I can think of various ways to do this, but none of them are the same as theano.clone. They involve duplicating the entire graph as mentioned in the SO post, or decomposing your graph into "functions" (a currently experimental and evolving feature) and using tf.cond to select which branch to run at runtime, etc, or using sess.partial_run or tf.py_func (also both evolving and experimental) to embed the logic in the user program rather than in the graph.
Thanks for the feature request!

+1 :)

Closing since the merged PR #557 seems related.


Creation of Feature View from BigQuery failed with AttributeError

Expected Behavior
Feature View is created.
Actual Behavior
Got below error
AttributeError                            Traceback (most recent call last)
 in <cell line: 14>()
12
13 print(f"index_config: {index_config}")
---> 14 my_fv = my_fos.create_feature_view_from_big_query(
15     FEATURE_VIEW_ID,
16     big_query_source=big_query_source,
AttributeError: 'FeatureOnlineStore' object has no attribute 'create_feature_view_from_big_query'
Steps to Reproduce the Problem

Run the notebook: https://github.com/jieshi1010/vertex-ai-samples/blob/main/notebooks/official/feature_store/online_feature_serving_and_vector_retrieval_bigquery_data_with_feature_store.ipynb
When creating a feature view from BigQuery, it throws an error saying that AttributeError: 'FeatureOnlineStore' object has no attribute 'create_feature_view_from_big_query'

Specifications

Version:
Platform:

@jieshi1010 :  It's possible that you were using an older version of the package. can you please update the google-cloud-aiplatform package and try again? Thanks.


fix: Unknown property on Run outside Angular section's demo code

The Run outside Angular section's demo code  was using a non-existing property: PointAnimationComponent, inside its ngOnChanges method, was calling an unknown _ngZone property from the this object.
This PR renames the declared-by-constructor property private _zone: NgZone, to private _ngZone: NgZone, this way, the former unknown _ngZone property, now gets available, and safely callable within the component scope.
closes https://github.com/mgechev/angular-performance-checklist/issues/55

Thanks for the catch!


The computed property "user" is already defined as a prop.

[Vue warn]: The computed property "user" is already defined as a prop.
found in
--->  at node_modules/vue-beautiful-chat/src/Message.vue
 at node_modules/vue-beautiful-chat/src/MessageList.vue
 at node_modules/vue-beautiful-chat/src/ChatWindow.vue
 at node_modules/vue-beautiful-chat/src/Launcher.vue
 at components/chat/anotherChatComponent.vue
<Pages/test1/test.vue> at pages/test1/test.vue

 at layouts/default.vue

Thanks for reporting this @albay13 :) will be tackled

Is there any fix about this issue already?

I would like to update for this issue. Thanks!

Hello @mattmezza, I just wanted to ask for an update on this issue. Thanks and more power!


CGO for c2go

@elliotchance Could you clarify your opinion about using CGO for C library?
Some C library cannot be convert to Golang (GUI, Assembler, ...).

This thread deals with that question and offers a solution:
https://github.com/elliotchance/c2go/issues/7


Add event parameter to onScroll, fix #534

When does this get merged? Would be nice to turn on fulltemplateCheck.

Yep would be great

Well I am using angular/material Tree component now.

Published in 7.2.1


Captcha Component-specific Settings

We can add optional component settings to override the global settings (if they are set).
    ConfigModule.withConfig(<CmsConfig>{
      	cmsComponents: {
			SomeComponent: {
				...
				guards: [CaptchaGuard],
				captcha: {
					siteKey?: GRECAPTCHA_PUBLIC_KEY,
					captchaOptions?: GRECAPTCHA_OPTIONS,
					cmsOptions?: CMS_CUSTOM_OPTIONS
				}
			}
		}
	}

Closing as not within the required scope of Captcha anymore. Can reopen this issue if the feature becomes desired.


python310Packages.babel: 2.9.1 -> 2.10.1

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

The canonical PyPI name is Babel with an uppercase B.

The canonical PyPI name is Babel with an uppercase B.

It's but nowadays we are following PEP-503 for the naming. See also https://nixos.org/manual/nixpkgs/stable/#contributing

The canonical PyPI name is Babel with an uppercase B.

It's but nowadays we are following PEP-503 for the naming. See also https://nixos.org/manual/nixpkgs/stable/#contributing

Alright. Sorry for the noise :)

@ofborg eval