Problem sending bulk email along with substitutions

Issue Summary
While trying to send bulk emails, I want to personalize individual email by their first name etc by using substitutions. I'm setting firstName array under 'sub' and sending the request to mail API but it's throwing the error- SendGridError: Response error
Here is the stack trace of the error-
"error":"SendGridError: Response error\n    at /node_modules/sendgrid/lib/sendgrid.js:104:23\n    at IncomingMessage. (/node_modules/sendgrid-rest/lib/client.js:108:9)\n    at emitNone (events.js:91:20)\n    at IncomingMessage.emit (events.js:188:7)\n    at endReadableNT (_stream_readable.js:975:12)\n    at _combinedTickCallback (internal/process/next_tick.js:80:11)\n    at process._tickDomainCallback (internal/process/next_tick.js:128:9)"
Here is the function that I'm using-
const from =<EMAIL_ADDRESS>const to =<EMAIL_ADDRESS><EMAIL_ADDRESS>const TEMPLATE_ID = "some_template_id";
const substititions = {"-firstName-": ["name1", "name2"]};
const subject = "Testing bulk email";
sendMail(from, to, TEMPLATE_ID, substitutions, subject);

function sendMail(from ,to, TEMPLATE_ID, substitutions, subject) {
    var request = sendgrid.emptyRequest({
        method: 'POST',
        path: '/v3/mail/send',
        body: {
            'personalizations': [
                {
                    'to': to,
                    'sub': substitutions,
                    'subject': subject
                }
            ],
            'from': {
                'email': from
            },
            'template_id': TEMPLATE_ID
        }
    });

    return sendgrid.API(request);

}

Refrences:-
These are the two links that I've followed-
sendgrid API Reference
sendgrid nodejs lib without mail helper class
Technical details:

sendgrid Version: 5.0.1
Node.js Version: 6.9.5

Hello @utkarsh-var,
Here is a full example of using a template with substitutions.
You can obtain the underlying error like so.
Please take a look and let me know how it goes.
Thanks!
With Best Regards,
Elmer

Thanks for replying @thinkingserious
I tried it using Without Mail Helper Class, I am getting following error:-
{
    "message": "Response error",
    "response": {
        "statusCode": 400,
        "body": {
            "errors": [
                {
                    "message": "Invalid type. Expected: object, given: string.",
                    "field": "personalizations.0.to.0",
                    "help": "http://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#message.personalizations.to"
                }
            ]
        },
        "headers": {
            "server": "nginx",
            "date": "Wed, 28 Jun 2017 08:21:18 GMT",
            "content-type": "application/json",
            "content-length": "211",
            "connection": "close",
            "x-frame-options": "DENY",
            "access-control-allow-origin": "https://sendgrid.api-docs.io",
            "access-control-allow-methods": "POST",
            "access-control-allow-headers": "Authorization, Content-Type, On-behalf-of, x-sg-elas-acl",
            "access-control-max-age": "600",
            "x-no-cors-reason": "https://sendgrid.com/docs/Classroom/Basics/API/cors.html"
        }
    }
}

Here is the code:-
test(req, res) {
        const from =<EMAIL_ADDRESS>        const to =<EMAIL_ADDRESS>        const substitutions = {"-firstName-": ["utkarsh"]};
        const subject = "Testing bulk emails";
        sendMail(from, to, template.emailVerification, substitutions, subject)
                .then(function (response) {
                    res.status(response.statusCode).send({
                        messsage: 'Mail sent'
                    });
                })
                .catch(function (error) {
                    res.status(error.response.statusCode).send(error);
                });
    }

function sendMail(from ,to, TEMPLATE_ID, substitutions, subject) {
    var request = sendgrid.emptyRequest({
        method: 'POST',
        path: '/v3/mail/send',
        body: {
            'personalizations': [
                {
                    'to': to,
                    'substitutions': substitutions,
                    'subject': subject
                }
            ],
            'from': {
                'email': from
            },
            'template_id': TEMPLATE_ID
        }
    });

    return sendgrid.API(request);

}

Could you look into it and let me know what am I doing wrong.

Can you try changing: const to =<EMAIL_ADDRESS>to const to =<EMAIL_ADDRESS>

@thinkingserious I did tried changing const to =<EMAIL_ADDRESS>to const to =<EMAIL_ADDRESS>but it's giving same error.

Ah, I see, the to object needs to be in the following format:
        to: [
          {
            email<EMAIL_ADDRESS>          },
        ]

In the first case, you had:
        to: [
<EMAIL_ADDRESS>        ]

And then, just now you had:
        to<EMAIL_ADDRESS>
Please update your to object accordingly. Thanks!

I tried to object in both
to: [
   {
      email<EMAIL_ADDRESS>   }
]

and
to: [
<EMAIL_ADDRESS>]

formats but it's giving same error.

I think it should be:
to: [
   {
      email<EMAIL_ADDRESS>   },
]

If I am doing
test(req, res) {
        const from =<EMAIL_ADDRESS>        const to =<EMAIL_ADDRESS>        const substitutions = {"-firstName-": "utkarsh"};
        const subject = "Testing bulk emails";
        sendMail(from, to, template.emailVerification, substitutions, subject)
                .then(function (response) {
                    res.status(response.statusCode).send({
                        messsage: 'Mail sent'
                    });
                })
                .catch(function (error) {
                    res.status(error.response.statusCode).send(error);
                });
    }

function sendMail(from ,to, TEMPLATE_ID, substitutions, subject) {
    var request = sendgrid.emptyRequest({
        method: 'POST',
        path: '/v3/mail/send',
        body: {
            'personalizations': [
                {
                    'to': [
                        {
                            'email': to
                        }
                    ],
                    'substitutions': substitutions,
                    'subject': subject
                }
            ],
            'from': {
                'email': from
            },
            'template_id': TEMPLATE_ID
        }
    });

    return sendgrid.API(request);

}

I am able to send mail, but as mentioned above I want to send bulk emails with substitutions.

I tried
test(req, res) {
        const from =<EMAIL_ADDRESS>        const to = [
            {
                email<EMAIL_ADDRESS>            },
            {
                email<EMAIL_ADDRESS>            }
        ];
        const substitutions = {"-firstName-": ["name1", "name2"]};
        const subject = "Testing bulk emails";
        sendMail(from, to, template.emailVerification, substitutions, subject)
                .then(function (response) {
                    res.status(response.statusCode).send({
                        messsage: 'Mail sent'
                    });
                })
                .catch(function (error) {
                    res.status(error.response.statusCode).send(error);
                });
    }

function sendMail(from ,to, TEMPLATE_ID, substitutions, subject) {
    var request = sendgrid.emptyRequest({
        method: 'POST',
        path: '/v3/mail/send',
        body: {
            'personalizations': [
                {
                    'to': to,
                    'substitutions': substitutions,
                    'subject': subject
                }
            ],
            'from': {
                'email': from
            },
            'template_id': TEMPLATE_ID
        }
    });

    return sendgrid.API(request);

}

It's throwing following error-
{
    "message": "Response error",
    "response": {
        "statusCode": 400,
        "body": {
            "errors": [
                {
                    "message": "Bad Request",
                    "field": null,
                    "help": null
                }
            ]
        },
        "headers": {
            "server": "nginx",
            "date": "Wed, 28 Jun 2017 17:09:53 GMT",
            "content-type": "application/json",
            "content-length": "63",
            "connection": "close",
            "x-frame-options": "DENY",
            "access-control-allow-origin": "https://sendgrid.api-docs.io",
            "access-control-allow-methods": "POST",
            "access-control-allow-headers": "Authorization, Content-Type, On-behalf-of, x-sg-elas-acl",
            "access-control-max-age": "600",
            "x-no-cors-reason": "https://sendgrid.com/docs/Classroom/Basics/API/cors.html"
        }
    }
}

Can you please grab the underlying message, like so?
It looks like the error is probably related to substitutions, which should be in this format:
'substitutions': {
          '-name-': 'Example User',
          '-city-': 'Denver',
        }

@thinkingserious I am able to send the single email with substitutions as mentioned above. The problem is coming when I want to send bulk emails with substitutions. I am properly setting to array, and substitutions object as I have posted above. But it's throwing an error. I guess Mail Helper Class doesn't have any method to set an array of to_email. And Without Mail Helper Class it's throwing an error. Could you provide me a working solution for sending bulk emails with substitutions.

Hi @utkarsh-var,
I believe this example should help.
Please let me know if you continue to run into trouble.
With Best Regards,
Elmer

Hi @thinkingserious,
I tried all the examples and suggestions that you have given, but it's not working in my case. I have been stuck with this issue since last 10 days. It would be helpful if you connect me with someone who could solve this issue. Or we can discuss this issue on skype call if it works for you. It's urgent.
Regards!
Utkarsh

Hi @utkarsh-var,
Were you able to get the underlying error message?
Could you post the latest code you have tried?
Thanks!
Elmer

Finally got it working, below is my solution-
test(req, res, next) {
        const to =<EMAIL_ADDRESS><EMAIL_ADDRESS>        const substitutions = [
            {"-firstName-": "name1", "-url-": "https://google.com"},
            {"-firstName-": "name2", "-url-": "https://facebook.com"}
        ];
        const subject = "Test Email";
        sendMail(from, to, template.emailVerification, substitutions, subject)
            .then(function(response) {
                res.status(response.statusCode).send({
                    messsage: 'Mail sent'
                });
            })
            .catch((error) => {
                return next(error);
            });
    }

function sendMail(from ,to, TEMPLATE_ID, substitutions, subject) {
    const personalizations = [];
    for (var i = 0; i < to.length; i++) {
        personalizations[i] = {
            'to': [
                {
                    'email': to[i]
                }
            ],
            'substitutions': substitutions[i]
        }
    }

    var request = sendgrid.emptyRequest({
        method: 'POST',
        path: '/v3/mail/send',
        body: {
            'personalizations': personalizations,
            'from': {
                'email': from
            },
            'template_id': TEMPLATE_ID
        }
    });

    return sendgrid.API(request);

}

Awesome!
Thanks for sharing the solution with us @utkarsh-var!


Refactoring hard-coded frontend route keywords

issue#4519

Added configurable route keywords
Replaced instances of hard-coded keywords with config
Added keywords to frontend tests stub config

Hey @katiefenn, so sorry that it took me such a long time to get to this. I've both read through the code and taken it for a spin, and it's looking great.
I think keeping it in the config for now is OK as it's not possible to set it through the config.js. Eventually I think this would be set through the database settings or some such, which will mean dynamically loading it, but this PR means we can solve that problem separately.
One super nit-picky comment is that in some places config.routeKeywords gets repeated a lot, it'd be my personal preference to have a slightly shorter name or store a local variable to make it a bit shorter - but I don't have a good suggestion for a better name and it's not really an issue.
That just leaves me to ask if you could please update the commit message to match the preferred format?

Hey @katiefenn, I know you've been busy building your new Ghost site, so I have fixed up the commit message and merged this into master manually :)
:dancer:


[BUG] [Alerting Plugin] Error when adding notification to monitor

Describe the bug
After updating to 2.0.0, when i try to create or update a monitor I receive the following error
[illegal_state_exception] Can't get text on a START_OBJECT at 1:10320
I discovered that this happens when i add an action to a trigger. In particular, I tried to add a mail notification action
To Reproduce
Steps to reproduce the behavior:

Create monitor
Add a trigger
Add an action to the trigger selecting a mail type channel
See error

Expected behavior
The update or the creation of the monitor should go as planned.
OpenSearch Version
2.0.0
Dashboards Version
2.0.0
Plugins
Alerting
Notifications
Screenshots
This is the error in Dashboards GUI

This is the corresponding log

Host/Environment (please complete the following information):

Docker

Hi @kavilla
thank you, in the next days i'll try the workaround. If it works i'll close the issue.
Regards,
Pietro

Closing in favor of #254


netcoreapp2.0

I had to change to netcoreapp2.0 to make this build on OS X.
Does this look ok?

I don't see any problem going to 2.0, it's RTM, and it's so much easier to work with that it's hard to imagine people are not going to upgrade all their projects to it even though it's still early.

In SpecFlow we want to target the lowest .Net Standard as possible, because we have a lot of users who are on .Net 4.5 (which is afaik .net Standard 1.5). So updating to .Net Standard 2.0 is not what we want. And it is not needed API wise.
I have not yet an idea, why this change is needed for you Aslak to get it compiled, but I will have a look at it.

@aslakhellesoy which error do you get on Mac OS X?
Had no problems with it.

@SabotageAndi I get the following on OS X:
$ git clean -dfx
$ make

echo "Building on Darwin"
Building on Darwin
dotnet restore
  Restoring packages for /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.CLI/Gherkin.CLI.csproj...
  Restoring packages for /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.Specs/Gherkin.Specs.csproj...
  Restoring packages for /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.TokensGenerator/Gherkin.TokensGenerator.csproj...
  Restoring packages for /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.TokensGeneratorLib/Gherkin.TokensGeneratorLib.csproj...
  Generating MSBuild file /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.TokensGeneratorLib/obj/Gherkin.TokensGeneratorLib.csproj.nuget.g.props.
  Generating MSBuild file /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.TokensGeneratorLib/obj/Gherkin.TokensGeneratorLib.csproj.nuget.g.targets.
  Restore completed in 2.3 sec for /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.TokensGeneratorLib/Gherkin.TokensGeneratorLib.csproj.
  Restoring packages for /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin/Gherkin.csproj...
  Generating MSBuild file /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.CLI/obj/Gherkin.CLI.csproj.nuget.g.props.
  Generating MSBuild file /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.TokensGenerator/obj/Gherkin.TokensGenerator.csproj.nuget.g.props.
  Generating MSBuild file /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.CLI/obj/Gherkin.CLI.csproj.nuget.g.targets.
  Generating MSBuild file /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.TokensGenerator/obj/Gherkin.TokensGenerator.csproj.nuget.g.targets.
  Restore completed in 2.88 sec for /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.CLI/Gherkin.CLI.csproj.
  Restore completed in 2.88 sec for /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.TokensGenerator/Gherkin.TokensGenerator.csproj.
  Generating MSBuild file /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin/obj/Gherkin.csproj.nuget.g.props.
  Generating MSBuild file /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin/obj/Gherkin.csproj.nuget.g.targets.
  Restore completed in 717.84 ms for /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin/Gherkin.csproj.
  Generating MSBuild file /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.Specs/obj/Gherkin.Specs.csproj.nuget.g.props.
  Generating MSBuild file /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.Specs/obj/Gherkin.Specs.csproj.nuget.g.targets.
  Restore completed in 3.16 sec for /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.Specs/Gherkin.Specs.csproj.
dotnet build
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Gherkin -> /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin/bin/Debug/netstandard1.5/Gherkin.dll
  Gherkin.TokensGeneratorLib -> /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.TokensGeneratorLib/bin/Debug/netstandard1.5/Gherkin.TokensGeneratorLib.dll
  Gherkin.CLI -> /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.CLI/bin/Debug/netcoreapp1.1/Gherkin.CLI.dll
  Gherkin.Specs -> /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.Specs/bin/Debug/netcoreapp1.1/Gherkin.Specs.dll
  Gherkin.TokensGenerator -> /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.TokensGenerator/bin/Debug/netcoreapp1.1/Gherkin.TokensGenerator.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:24.01
touch .sln_built_debug
dotnet test ./Gherkin.Specs/Gherkin.Specs.csproj
Build started, please wait...
Build completed.

Test run for /Users/aslakhellesoy/git/cucumber/gherkin-dotnet/Gherkin.Specs/bin/Debug/netcoreapp1.1/Gherkin.Specs.dll(.NETCoreApp,Version=v1.1)
Microsoft (R) Test Execution Command Line Tool Version 15.3.0-preview-20170628-02
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
Testhost process exited with error: It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '1.1.2' was not found.
  - Check application dependencies and target a framework version installed at:
      /
  - Alternatively, install the framework version '1.1.2'.

make: *** [.run_tests] Error 1

Do I need to install some old .NET framework? I'm not sure how to do that - I just followed these instructions

@aslakhellesoy Thanks for the output. I am able to reproduce it on my Mac.
Probably some packages are outdated and need to be updated. I will send a pull request with fixes.

Ok, you can compile netcoreapp1.1 with the .NET Core 2.0 SDK, but you can not run them.
You need to install the  .NET Core 1.1.2 runtime from here: https://github.com/dotnet/core/blob/master/release-notes/download-archives/1.1.2-download.md
PR for fix in the Contribute.md is created: https://github.com/cucumber/gherkin-dotnet/pull/7

Allright, I won't merge this - #7 solved it for me.


Improve DataSet.commit() branch handling

Make it so it can upload to any arbitrary branch. Right now it can only create a new one via the new_branch argument

Closing this one because me 5 months ago forgot to provide actual expected path, and I forgot what I meant by it back then.
Maybe a user request with something similar will come in


Add sensitive or private information warning

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context

This adds a warning for the user that the generated output may contain sensitive or private information.

Fixes #9815.

Description

For some reason, running bundle exec fastlane actions deliver --capture_output doesn't print the warning.

Wow, I was expecting a harsh review, being my first PR for this project. Thank you too!
Though, what about the --capture_output missing the warning?


fix: should not show cancel button if not supported

Summary
As my https://github.com/sassoftware/vscode-sas-extension/issues/393#issuecomment-1633781315
Let me go ahead remove them so that we're in a good state to release.
Anytime it can be implemented and will just work fine.
Testing
See no cancel button while running against COM and SSH because we don't support it yet.

There is no cancel button if trying to run code against COM and SSH.


FileNotFoundException for System.Diagnostics.DiagnosticSource with version 3.0.0 #237

Describe the bug
If I include this project reference <PackageReference Include="Serilog.Enrichers.Span" Version="3.0.0" /> and start an Acitivity in an Azure Function project, I get the following exception:
System.IO.FileNotFoundException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
File name: 'System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
   at serilog_span_bug.Test.Run(HttpRequest req, ILogger log)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at serilog_span_bug.Test.Run(HttpRequest req, ILogger log)
   at lambda_method110(Closure , Test , Object[] )
   at Microsoft.Azure.WebJobs.Host.Executors.TaskMethodInvoker`2.InvokeAsync(TReflected instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\TaskMethodInvoker.cs:line 21
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 52

I've created a minimal repro by just creating a new Function project, included the package reference, and created a new Activity.
I've tried to understand what happens, but I'm afraid it's a bit beyond me. I guess it's some kind of dependency conflict. Even if I explicitly add that reference, I still get the same exception. Downgrading to version 2.3.0 fixes the issue as well.
Steps to reproduce

Clone/Fork https://github.com/jooooel/serilog-span-bug
Run the function called Test (just F5 in VS/Rider)
Invoke the function by going to http://localhost:7071/api/Test in a browser

Expected behaviour
That there isn't an exception...

I realised this is due to the fact that there is a reference to System.Diagnostics.DiagnosticSource 7.0.0 in the csproj file and that I'm using it from an Azure Function. So I've open a separate issue here. I guess you can close this one if you'd like 😊

Thanks for reporting.


Updated README to include client usage instructions.

Summary
Updated README to include instructions on how to run client.
Testing guidance
No code changes, ensure the instructions make sense and don't include any ICARE specific instructions.

DP1 - Definitely my fault from a previous PR, but since you're updating the TOC could you add a License section?

For DP1, do you mean somewhere else? I see it as a section in the table of contents.

lol nvm I'm blind.


$readmem file not found when trying to build testbench

make[2]: *** [../common.mk:24: andi.run] Error 255
./testbench +text_file=../../tests/and.text.vh +data_file=../../tests/and.data.vh
%Warning: ../../tests/and.data.vh:0: $readmem file not found
%Warning: ../../tests/and.text.vh:0: $readmem file not found
TIMEOUT

I get this error when I try to build the testbench for singlecycle. I'm not entirely sure what I'm doing wrong.

You need to build the tests first.


Document the relation between tool upgrades, visual upgrades, modifiers, gems, patterns and enchantments.

Currently, the responsibility and distinction between different types of "upgrades" is not defined. Which parts should increase stats? Which should create visual changes? Which should improve functionality? I need to document and create clear goals and definitions for exactly what different upgrades should do.

Tool upgrade process - Iteration 1.0
Forgero tools should be very simple to create, the process of creating them should be intuitive enough for inexperienced player to get started quickly, yet should provide plenty of tinkering opportunities for players who wish to customised tools.
Tools can be created and will benefit from a variety of materials and resources. The main goal of this system is for it to benefit Minecraft's Explore - Gather - Craft loop. The materials and tools should make the player want to explore to find new materials, which they can use to make new tools, and help them explore even further.
Essentials - How to create a tool
Tools are created are created from parts:

A tool head
A tool handle
A tool binding (Optional)

Tool parts can be created with raw resources in a crafting table, with the shape resembling the part it is trying to create. Tool parts can be crafted from nearly all resources available in-game.
Tools are then created in a crafting table by combining the tool parts in a crafting table.
The type of the tool will be decided by the materials used in the head tool part. The tools stats will also be calculated by combining the properties of it's tool parts.
Tool upgrades
Tools and tool parts can be upgrades at different stages to improve the stats and functionality of equipment.
Primary and secondary materials
The foundation of the tools are the materials it is composed of. The tool can take two types of materials, a secondary material and a primary material, although only the primary material is required. This will have the biggest impact on the base stats of a tool.
Primary materials
Primary materials are materials like Stone, Birch, Oak and Iron. They are materials which would make sense to create equipment out of. The look of the material will also carry over to individual tool parts. The bulk of a tool parts stats and it's effectiveness will be calculated from the primary materials.
Different tool parts will react differently to different materials. Tool part head will prefer to be a hard material, bindings would like to be a "bindable" material, and handles would like to be light, but sturdy. Trying out different materials for any given tool part should yield different results.
Primary materials:

Birch
Oak
Spruce
Stone
Iron
Gold
Diamond
Netherite
More to come!

Secondary materials
Primary materials enhance the tool parts and give them some additional properties. This can be both positive and negative. Really heavy materials might make the tool slower in general. The main property of the secondary materials is to provide a "rareness level", which decides which level of Gems you can apply to a tool/tool part. The secondary material might also give an item some perks, Examples of this is gold stopping piglins from hurting you, and flint being able to create sparks and glowstone lighting the area.
Secondary materials:

Leather
Vines
Blaze rods
Magma balls
Bones
Glow stone
Flint
All primary materials
Will have to add more secondary materials

Tool parts
Tool parts have three primary types: head, handle and binding. Each type of tool part will benefit from different materials in different ways. Handles won't be affected by the hardness of a material, but really cares about how heavy it is. This creates a situation where different tool parts benefit from being composed of several different materials. There will probably be added several variations of tool parts, where the tool parts will decide how they benefit from different materials.
Heads
Tool part heads defines what type of tool will be created, axe heads will make axes, pickaxe heads will create pickaxes and so forth. Therefore, the heads of the tools will have some different preferences when it comes to calculating the stats it is responsible for.
Stats:

How effective it is against block, determines break-ability
Defines block breaking speeds
Durability
Weight of the tool

Handles
Tool handles is currently designed to fit all types of tools. This means that you won't have to create different handles for different purposes. This is mainly due to making the recipes simpler.
Stats:

Durability
Weight
Speed

Binding
The binding is not necessary for creating tools, but is a nice addition as it can greatly increase the durability of your tools. It will also change the look of your tool. Hopefully for the better! Adding a binding to a tools is also important because it gives you another slot for adding a gem, which can further increase a tool's stats.
Stats:

Durability
Weight

Skins/upgrades
To give your tools another layer of personalisation. I want tool parts to be upgrades/receive a skin. This is purely cosmetic, but can really change the look of your items. Currently, all tools use the same base model, but applying another skin will create a new model, which can be retextured on the fly to fit any material.
I haven't planned the skins very well, but I want players to find them by going on adventures. So making it treasure items might be a good idea. But who knows really.
Tools
I haven't planned a huge variety of tools yet. Currently I plan to add a variation of all the vanilla tools. I am probably going to add more weapon varieties when I get to creating weapons.
Currently planned tools:

Pickaxe
Axe
Shovel
Hoe
Sword

Gems
Gems can be found around the world and contains buffs to the tool parts they are applied to. The bonus attribute of a gem is unique to each gem, but there exists more powerful versions of a gem. I am currently unsure if there should exists only one type of gem which gives a certain attribute, or if I should create more with different rarities. Gems can be leveled up by combining to of the same levelled gem. I have no Idea how high this should go. The gem you can place is dependent on the "Rarity" of the secondary material of you toolpart. The gem will also determine the level of enchantment you can apply on your tools. The gem will always be dropped when you break your tools. This means that you will never be able to retrieve and upgrade your gems if your tools is unbreakable.
I am still undecided on this part: Gems needs to be activated by upgrading it with an activation gem, which needs to correspond the level of your gem to be applied.
Types of gems:

IDK...

Enchantments/ enhanced Enchantments (wierd name)
Because the functionality of tools in Minecraft is improved/changed by enchantment, it could be confusing to add yet another layer of functionality improvement to the tools. I have decided to let Forgero tools be enchanted like vanilla, but also be enchanted further with additional enchantments which have some more requirements.
Enhanced enchantments
To make it more difficult to add better enchantments, you have to add more powerful gems to your tools. The level of the enchantment will correspond to the level of your gems, which in turn depends on the level of you secondary materials.
Enchantments:

Magnetism: Will make dropped items flow towards you
Patterns: will allow tools to mine more blocks
Auto replant
And many more to come!!


ci: dispatch release note

PR Type

New Feature

Related Links

https://github.com/tier4/autoware.universe/pull/313
https://github.com/tier4/autoware.universe/pull/315
Description

This workflow triggers the repository: TIER4_INTERNAL_LINK to update the spreadsheets for release note.
The timing of this repository dispatch is committing to tier4/main default branch .
Review Procedure

Remarks

Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.

[x] Code follows coding guidelines
[x] Assign PR to reviewer

Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.

[ ] Commits are properly organized and messages are according to the guideline
[ ] Code follows coding guidelines
[ ] (Optional) Unit tests have been written for new behavior
[ ] PR title describes the changes

Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.

[ ] All open points are addressed and tracked via issues or tickets
[ ] Write release notes

CI Checks

Build and test for PR: Required to pass before the merge.
Check spelling: NOT required to pass before the merge. It is up to the reviewer(s). See here if you want to add some words to the spell check dictionary.

This CI has already checked in autoware.universe, so just approval might be ok without thorough checking,

@tkimura4 @1222-takeshi @taikitanaka3
friendly reminder

Thanks!


Scoring is very sensitive/flaky

Normal distributions have small tails, but still, it's disturbing how poorly they work with scoring.
I think we could do a much better job modeling tails, and expect this to help here.
In general, our current scoring work could use a ton of polish. By this I mean the implementation could use improvement, but also, we've barely documented it or anything.

One way of resolving this would be to extend each dist to -MAX_FLOAT and +MAX_FLOAT, and having things only work for this range. I think I like this solution, though we'd have some issues to figure out.


Allow null state

In some cases, I have a empty state in my screen. So I create a abstract class State, and to other classes EmptyState and MyState that implements It.
I'd like to set a null state to avoid creating the set of 3 classes mentioned above.
Thanks!

I believe it is not interesting to have a nullable state. This is very complex to the standard, even considering that the situation that was introduced is pertinent.
Some sacrifices need to be made, one of them is to try to inhibit the maximum of nullable variables in this pattern, even if it costs some boilerplate.


feat: computed package tags

Adds support for adding custom tags to packages when relevant. Users can
specify the label and color of a tag, and to which packages it is
applied.
new ConstructHub(this, "ConstructHub", {
  ...myProps,
  packageTags: [{
    label: 'Official',
    color: '#00FF00',
    condition: TagCondition.field('name').eq('construct-hub'),
  }]
});

The above results in packages with the name of construct-hub receiving the Official tag, which is colored green. Tags can be used in search or just as labels.
TagCondition supports the following logical operators, but more can be
added as needed.
TagCondition.and(...conditions) // &&
TagCondition.or(...conditions) // ||
TagCondition.not(condition) // !
TagCondition.field(key).eq(value) // ===

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

I am a little concerned about developing a mini DSL here, I know i'm a little late to the party, but have we considered just allowing to pass a generic function? I know it comes with some technical difficulties/limitations.

So initially this was an option, but @eladb convinced me it was less than ideal. If JS/TS was our only target then I think it would be a good API to allow passing a function (pkg: object) => boolean that dictates if a tag is applied to a package or not, with JSII though, would users of other languages have to pass a string with this function? Then the type of the argument is string and not (pkg: object) => boolean and even TS users lose typechecking.
I think this DSL is simple enough, and the combinators of !, &&, and || are well known and others probably won't pop up. As for new predicates it is relatively easy to add things like field().contains for string contains and field.includes() for array includes etc.


[TWINFACES-92] Implement

https://alcosi.atlassian.net/browse/TWINFACES-92

Merged from TWINFACES-88


fix: fixes cli output if watch mode will be enabled (no output is ret…

…urned)

Coverage remained the same at 100.0% when pulling 6cf6ddffbecdc5c11d8240bc4e7496d0a1e10310 on fixes-cli into 247a092a743e34ce23077cc35ac95ef65bf03512 on master.


[OKD-Core] Add Node maintenance action

ref https://github.com/kubevirt/web-ui-components/pull/404

I didn't include info about automatically rebuilding a host data after 30minutes as Im not sure thats true for nodes.
I also added Maintenance reason text field as we can specify it in NodeMaintenance CR. But we do not surface that information in UI anywhere - @lizsurette any ideas ? Should it be shown after clicking on Under maintenance status ?

Please correct me if I'm wrong, but my understanding is that the "Start Maintenance" action will only be available to hosts in Metal³, and not nodes?
Without the data rebuilding logic, this modal looks like what I would imagine a "Drain Node" modal would look like that triggers something like kubectl drain $nodename. That's probably fine for OKD, but IIRC draining a node without the data rebuilding logic isn't recommended in Metal³ since moving storage pods immediately could be a very long and expensive operation.
Regardless of that confusion, here's a mockup of how we could show a Maintenance reason for hosts in the UI. I agree that showing it when clicking the Under maintenance status is the best option. If no reason is given, nothing is shown in that area of the popover.

Thanks for the quick, thorough, response, @andybraren ! I especially like the addition of where that maintenance reason would be surfaced since I had a similar question to what @rawagner brought up there...why ask if we don't show it?!

Please correct me if I'm wrong, but my understanding is that the "Start Maintenance" action will only be available to hosts in Metal³, and not nodes?

So I think since putting a Host into Maintenance Mode technically puts a Node into "Unschedulable" there have been discussions about going ahead and allowing a user to just perform this Maintenance action from the Nodes table too. The motivation being that if a user looks to the Nodes table to do this and can't find it then they could be lost. All of this of course still hints at needing to fix the Host Machine Node relationship in the future so this is more of a temporary solution hopefully :)

So I think since putting a Host into Maintenance Mode technically puts a Node into "Unschedulable" there have been discussions about going ahead and allowing a user to just perform this Maintenance action from the Nodes table too. The motivation being that if a user looks to the Nodes table to do this and can't find it then they could be lost. All of this of course still hints at needing to fix the Host Machine Node relationship in the future so this is more of a temporary solution hopefully :)

actually, the temporary solution is the one on the machines screen since it really only puts the node into Unschedulable and the kubevirt (depends on how is it configured) may make the VMs to migrate away and thats it.
This here is the correct longer term solution which calls the node maintenance operator which correctly evicts everything. Not sure about ceph data rebuild though, @MarSik do you know if that happens to that?

Let's continue with follow-up. Basic functionality is there and will be nice to have it in the next release.


mall Change in README

Please mark as invalid and spam, this is an obvious attempt to get a free t-shirt by 'contributing'(hacktoberfest)
This will also ban the user for trying to abuse the system by doing marginal effort


power: Point power type colors to oUF.colors.power instead of PowerBarColors

As per https://github.com/haste/oUF/pull/111#issuecomment-4057139

Clean up your branch so it only has the relevant commit.

I'd probably better apply my changes on a personal branch at my fork. Don't know how to clean the mess so just started over. I'll do a new pull request. Sorry for that


Convenience function to return QualityControl object

User story
As a user I want to be able to directly access the validated QualityControl object for a particular _id or name, or a list of these. Allow returning invalid QC as a dictionary with an optional parameter.
Acceptance criteria

[ ] Function helpers.get_qc(id=""/name="") returns the validated QualityControl object or throws a ValidationError for invalid QC

Sprint Ready Checklist

[ ] 1. Acceptance criteria defined
[ ] 2. Team understands acceptance criteria
[ ] 3. Team has defined solution / steps to satisfy acceptance criteria
[ ] 4. Acceptance criteria is verifiable / testable
[ ] 5. External / 3rd Party dependencies identified
[ ] 6. Ticket is prioritized and sized

Started writing this but not sure how to organize the project dependencies when adding aind-data-schema


Change name of Compliance Recording to Policy Recording.

Change name of Compliance Recording to Policy Recording

Creating a new PR with only relevant changes.


TLC output parser fails for counterexamples of length 1

The TLC output when the invariant is violated already in the initial state (such as this one) will not be parsed correctly by itf.py.
The problem is in trying to match the exact output (which was taken from traces with more states), here

Hey, sorry about this, there are a ton of cases and I didn't get this one! LMK if you'd like my input, althought seems like you've got it figured out.

By the way, there is another location to get traces, from the 'TTrace' files that TLC outputs. Just FYI. (I wish I'd done it that way, in retrospect).

Thanks for that comment, I'll see if it perhaps makes more sense to use the TTrase file

Cool. I'd say it's most likely not worth the effort if this is the 'last' bug in the current impl.

Hey, @danwt : in what cases (for which command) will TLC generate multiple traces? (I see that the function is built to support this, but I do not know how to get multiple traces)
As a side note: for the trace of length 1, the 'TTrace' is not generated.

As a side note: for the trace of length 1, the 'TTrace' is not generated.

hehe that's amazing.

in what cases (for which command) will TLC generate multiple traces?

If you pass -continue! (And if there are multiple possible traces)

It doesn't stop! Maybe there is a special TLC operator you could put in the spec to get some behavior like that, like what Igor mentioned the other day, but I've never used such a thing.

I think literally the only thing continue does is it sets some flag. So TLC probably has some code like
while(!invariantBroken() || continue){
 bfsStep()
 checkInvariant()
}


Null equal condition fix

I found a bug when one of my properties was null and trying to evaluate it in the properties.
My styles looked like this:
  styles = {
    error: {
      backgroundColor: '#ff4136',
      color: '#ffffff',
      padding: '20px 10px',
      fontSize: '1.25rem',
      'error=undefined': {
        display: 'none',
      },
    },
  }

And somehow the error prop came in as null and was throwing an exception when trying to call .toString() on null.
I committed first a failing test, and then the code to make the test pass.

Really appreciate your help @wyze Thanks a lot!

No problem! Keep up the good work here, you are crushing it.


move up to debugpy 1.2.0

Fixes #6312
All relevant tests seem to be passing :)

Visual Studio insertion PR for this payload is at https://devdiv.visualstudio.com/DevDiv/_git/VS/pullrequest/289184


Create CRUD endpoints for UserChatEntity

https://app.clickup.com/t/8693eyuq3

Everything seems to be okay, merging.


PR_SET_CHILD_SUBREAPER is unavailable on this platform

I have a local k3s Kubernetes created by Rancher Desktop on MacBook Pro with M1 chip.
I try to install spark-on-k8s-operator by
helm repo add spark-operator https://googlecloudplatform.github.io/spark-on-k8s-operator
helm install spark spark-operator/spark-operator --namespace spark-operator --create-namespace

However, I got the error for the pod spark-spark-operator-6964986646-5vctk:
++ id -u
+ myuid=0
++ id -g
+ mygid=0
+ set +e
++ getent passwd 0
+ uidentry=root:x:0:0:root:/root:/bin/bash
+ set -e
+ echo 0
+ echo 0
+ echo root:x:0:0:root:/root:/bin/bash
0
0
root:x:0:0:root:/root:/bin/bash
+ [[ -z root:x:0:0:root:/root:/bin/bash ]]
+ exec /usr/bin/tini -s -- /usr/bin/spark-operator -v=2 -logtostderr -namespace= -enable-ui-service=true -ingress-url-format= -controller-threads=10 -resync-interval=30 -enable-batch-scheduler=false -label-selector-filter= -enable-metrics=true -metrics-labels=app_type -metrics-port=10254 -metrics-endpoint=/metrics -metrics-prefix= -enable-resource-quota-enforcement=false
[FATAL tini (1)] PR_SET_CHILD_SUBREAPER is unavailable on this platform. Are you using Linux >= 3.4?

Any idea? Thanks! 😃

I'm having the same issue on colima

This comment explains the root cause of the issue: https://github.com/docker/for-mac/issues/6620#issuecomment-1694380189
It seems that this is triggered by the Spark container image using tini -s in the entrypoint.sh script, e.g. for 3.5.0:
https://github.com/apache/spark-docker/blob/master/3.5.0/scala2.12-java11-ubuntu/entrypoint.sh

If you use colima with rosetta emulation or with an amd profile, it should resolve. I previously had this error. See details at Rosetta 2 emulation
#AMD profile
colima start --profile amd --arch amd --cpu 4 --memory 8 --disk 80

# or rosetta emulation
colima start --arch aarch64 --vm-type=vz --vz-rosetta --cpu 4 --memory 8 --disk 80

/reopen I believe this is still an issue. ghcr.io/googlecloudplatform/spark-operator:v1beta2-1.3.8-3.1.1 is available only as an amd64 image, necessitating emulation on non-amd64 systems. And it seems QEMU 7.4 does not properly emulate a system call or similar.
Is there any reason the project does not publish arm64 images?

/reopen

/reopen


fixing resource idempotence in labels property

resolves #746

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
Non-GitHub Verified Committers
There are 1 commit author(s) whose commits are authored by a non-GitHub verified email address. Chef will have to manually verify that they are authorized to contribute.
Please sign the CLA here.

it seems like i'm authorised... why so Curry? https://supermarket.chef.io/users/dennybaa

LGTM thanks!


create view

Hello everyone,
In that way,can I create a view ?
thanks

Sorry views are not currently supported. It would be nice though!


Honor Sensu client "notification" attribute in events pane

Sensu has the concept of a "notification" field for a check 1 which allows you to override the output of the check command w/ something more meaningful.  Uchiwa doesn't honor this and instead shows the output of the command.

@johntdyer hi there! 👋
We have recently improved the documentation to clarify that the notification attribute is not a part of the [Sensu check definition specification][1], but rather a [custom check definition attribute][2] that happens to be supported by the [sensu-plugin gem][3]. Having said that, I do see some merit in your suggestion that a "user-friendly" description of an issue may be more appropriate to show in the dashboard than the check output. However, this would be a somewhat opinionated change, which we would need to make configurable, at which point we'd be taking Uchiwa in a completely different direction than it is currently headed.
At this time we're going to give this issue the "Customizations" label as part of an ongoing issues triage. We may revisit this idea (and related ideas) as part of a bigger conversation around dashboard customizations.


Publish site: Adding a tag requires hitting return twice

In order to add a tag the return key must be pressed twice. The first time causes the tag to turn red, and the second time appears to add the tag.

This was the result of a different change.


3.1: Partial class support for Razor components

See https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-core-3-1-preview-1/
Add a section for Partial class support for Razor components That I can point to in the what's new in 3.1 guide.

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

ID: be4c4d0c-149c-bde1-c7fa-f082916390ca
Version Independent ID: 9d945996-ad02-bd4b-58ea-c465cc5cc74c
Content: Create and use ASP.NET Core Razor components
Content Source: aspnetcore/blazor/components.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

@guardrex  any chance you could get this done by noon your time tomorrow?

This one? ...
https://docs.microsoft.com/en-us/aspnet/core/blazor/components?view=aspnetcore-3.1#partial-class-support

I'm pretty sure that I can get that done by noon tomorrow. :smile: lol

That was fast!

@guardrex  can you provide a link for
Pass parameters to top-level components
Blazor Server apps can now pass parameters to top-level components during the initial render. Previously you could only pass parameters to a top-level component with RenderMode.Static. With this release, both RenderMode.Server and RenderModel.ServerPrerendered are now supported. Any specified parameter values are serialized as JSON and included in the initial response.
For example, you could prerender a Counter component with a specific current count like this:
@(await Html.RenderComponentAsync(RenderMode.ServerPrerendered, new { Cur

Use this one (version is important, so link to 3.1) ...
https://docs.microsoft.com/en-us/aspnet/core/blazor/components?view=aspnetcore-3.1#integrate-components-into-razor-pages-and-mvc-apps
... there's an existing PR for the components topic. I'd like to make the call out more explicit than what the example there shows. However, it's fairly obvious that the param is passed there as it is.

I added a line to that section to surface it a bit more. That will merge shortly. You can go ahead with that link :point_up: versioned for 3.1.

3.1 becomes the default tomorrow.
Thanks.


Added note for GCC clouds to meeting-settings-in-teams.md

Closes https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/8766.

@get-itips @tseward, I'll appreciate your review here, I'm not 100% convinced of this note.

Maybe "is being rolled out" instead of "is being enabled" ?

Yes, I think that's used more often. Thanks!

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Fix decode_stream.py

@csukuangfj I think the changes has not been made for modified_beam_search. Should I open a PR to fix it ?

@csukuangfj I think the changes has not been made for modified_beam_search. Should I open a PR to fix it ?

Yes, please. Thanks!

@csukuangfj Great, will do by tomorrow


plex-mpv-shim: init at 0.2

Motivation for this change
See #66808, a promising mpv frontend for Plex.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@GrahamcOfBorg build plex-mpv-shim

@averelld can you please rebase and update the package to v1.1.1 (latest)?

Duplicated by #77884.


There exists a need for configuring elements in Grype, such as enabling search of external sources

Due to an open issue at Grype ( https://github.com/anchore/grype/issues/1014 ) I want to configure the Grype server with:
external-sources:
  enable: true
  maven:
    search-upstream-by-sha1: true
    base-url: https://search.maven.org/solrsearch/select

This (probably) entails setting this value to true here: https://github.com/Portshift/grype-server/blob/main/grype-server/pkg/scanner/scanner.go#L146
Supporting configuration of Grype elements would alleviate the problem. I suspect that there are more elements that would benefit from being configurable when I look at #7
Ideally the configuration format would be the same as for Grype itself, but that might not be feasible or convenient. Also, I do not have a full overview over all elements that would benefit from configuration.
My isolated problem can be solved by making SearchMavenUpstream configurable.

Hi @nostra, thanks for the feature request, this is a great idea, we'll try to come up with a plan to make things more configurable.

I think this is still something we want to do, I'll remove the stale flag

/not stale

/not stale


Include character skins in portraits

Tuvior is handling this feature.

Issues #80 #81 cover the two pull requests for this feature. It is in review now.

Released in v9.0.0


[WIP] Support d - to go to $OLDPWD

The shell builtin cd will go to the $OLDPWD upon cd -. Also support
this feature in the directory command d.

If you like this change to zsh, I will implement it in the other shells too.

Yea that would be awesome. I'll merge when you do. Thanks!

I've went ahead and applied the same change to other shells. Thanks for the PR!

:+1:


disqus: Use canonical URL and whitespace clean-up

Fix an issue that would cause Disqus to server different comments for every possible variation of URL (defaulted to window.location.href) including things such as GET parameters, Google translate, localhost development servers and more.
Clean-up white space while we're at it.
See individual commits for more detail.

Hello, is there anything I can do to help this get merged?

@kylemanna Sorry haven't had much time to look at this. I think it might be a breaking change that I'd likely hold off on till I roll out the Gemified version of the theme.
Reason I think it may be a breaker is due to adding the canonical URL instead of letting Disqus determine the page URL itself. I haven't tested it, but if those values are different then it's going to break things for users.
Meaning if they have existing comments for a page and the canonical URL is different their comments will disappear, unless they want to use Disqus' migration tool.
I've been bit by this one a few times when changing things related to permalinks so just want to make sure it doesn't cause a ruckus.

Hi @mmistakes I think you're right.  Some percentage of sites with correct canonical URLs will work better and sites with invalid canonical URLs would require the dev to migrate the Disqus links and correct their canonical URL.
Welcome to close this pull request if you deem it necessary.
That said, it would be nice to work in to your great project at some point as it would have helped keep my Disqus threads more sane if I had it enabled from the get go.

Perhaps a compromise could be to create a flag that is disabled if unset, and initialize the _config.yml to  enable it.
That way people who blindly merge this would have the previous functionality, and new adopters would start off on the right foot.
I can put this together if this is something you'd like to merge.

That sounds like a good way to approach it. As long as it doesn't overly complicate things making it harder to maintain then I say go for it.


TST: Fix compatibility issues with older versions of pandas

What do these changes do?

Resolved compatibility issues between pandas 1.5.2 and newer versions of matplotlib:

The variable name for legend handles in older versions of pandas is legendHandles, while in higher versions it is legend_handles.

Fixed compatibility issues with newer versions of scipy:

The triang attribute's location differs between versions. In older versions of pandas, the corresponding scipy version places triang in scipy.signal, whereas in higher versions it is located in scipy.signal.windows.

Skipped tests in test_plot and test_rolling that are affected by these compatibility issues.

These changes ensure that the project remains functional with both older and newer versions of pandas, matplotlib, and scipy by skipping incompatible tests.

Related issue number

Fixes #xxxx
Check code requirements

[ ] tests added / passed (if needed)
[ ] Ensure all linting tests pass

Fix this by https://github.com/xorbitsai/xorbits/pull/775


Feat/logic wasm querier

💡 Purpose
Wire the logic module into the wasm QueryPlugins through the CustomQuerier to allow querying the logic module from wasm contracts.
🧠 Design
An util LogicQuerier has been introduced in the logic module to ease integration with wasm CustomQuerier by managing the query resolution and the response marshaling. It redefined the Ask request parameters instead of reusing the gRPC QueryServiceAskRequest struct to avoid a strong coupling with the module definition and gain in control in case of breaking change in the module definition.
The Ask response has also been redefined, to ensure a control on how it is serialized to json and avoid surprises on contracts side.
The app define the wasm QueryPlugins containing a CustomQuerier which allow in this implementation to query the logic module Ask request from a wasm contract.
☹ Caveats
By redefining query & response types we introduce duplication which is defendable regarding the gain of control, but it induce a mapping layer bringing a non functional overhead we need to experience.

:tada: This PR is included in version 3.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


SIMSBIOHUB-188

Links to Jira Tickets
-SIMSBIOHUB-188
Description of Changes

Overhauled the Edit Animal modal to be a full screen page instead. Accessed through the Manage Animals button on a survey.
Animals in this view appear listed in the sidebar by their alias. Clicking on one of these items opens an accordion to the various form sections.
Each form section has been adapted into a list of static cards. You can edit or delete cards from the relevant button icons. You can also add another card from the top of the page. Clicking the add or edit buttons brings up a form modal that will send a request on submission of the form.
Deleting any card should prompt a confirm delete modal.
Telemetry devices still work slightly differently than the rest of this page in that device and deployments get added together and deployments can be deleted but devices cannot. It's fairly consistently integrated otherwise.
Currently all sections hit the bulk endpoint in Critterbase (allows multiple sections to be added at once).

Testing Notes

should be able to create and edit all sections
Telemetry section is still in flux and will be moved out in upcoming telemetry UI tickets.

I tested this locally and found a few small things:

when adding a measurement with a count I can trick the validator with 1 1 but it causes an API error
The event date in Mortality events is not marked as required but it validates as such


IO banner styling issues on Firefox

Description
The IO banner styling is not working on Firefox.
Steps to reproduce

Open Firefox
Go to Instant Observability
Notice the broken styling

Expected behavior
It should look more like this:

I can't reproduce this.. what version are you on?

I have been unable to reproduce this either. I recommend we close it unless it's seen again

👍


feat: updated language config file to support shortcut based commenti…

Commenting in ACDL files

Description
Added the feature to use "ctrl/cmd" + "/" shortcut (or any other vscode keyboard shortcut) on selected lines in ACDL files to comment them out.
Motivation and Context
I was facing issues when selecting multiple lines using comment shortcuts to comment all the selected lines. So thought this must be a good life upgrade for the ACDL developers and help then in faster and better development.
Testing

Screenshots (if appropriate)
Types of changes

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

Checklist

[x] ] My code follows the code style of this project
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[x] I have read the README document
[ ] I have added tests to cover my changes
[x] All new and existing tests passed
[x] My commit message follows Conventional Commit Guideline

License

[x] By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Great work @Aaditya-Amzn

Thanks @AndrewKeating-Amzn @tydonelson


Create new Schema (ISO8583-2:1993)

Create new Schema (ISO8583-2:1993)

Coverage remained the same at 93.258% when pulling 397d1be535fc9fc05655fa75c5906b01fe60c1c4 on plehanov:master into ee21a35c3d4c737d8c939bd01bc26475850910fe on m1ome:master.


Add --fail-time option and by default remove all outputs if command fails fast

The most annoying UX for me to use duct "by default" is the fact that while preparing target command invocation, I can make mistakes.  And then duct keeps generating those reports which are inconsueqential and need cleaning (removal) etc. And such reports have no value really.  Hence, by default, I decided that it is not worth keeping them.  If it is desired, user can use this added option to set --fail-time to 0.  But also it might be that command takes awhile to start to only to fail, and for such cases users could raise it also higher and also have logs cleared for any failed command (set to -1).

It is all green now.
I need to get it and a release so I could continue using it.  @asmacdo , feel welcome to leave comments or send a follow up PR if anything to be tuned up.


Update opentelemetry-sdk-testing to 1.38.0

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

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.opentelemetry", artifactId = "opentelemetry-sdk-testing" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "io.opentelemetry", artifactId = "opentelemetry-sdk-testing" }
}]

labels: test-library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #665.


feat: export types, convert to default export

To use the custom format function, it is very helpful to have access to the types provided by the package.
To export the types the module also had to be converted into an ES6 module, which is a breaking change in some cases.

Thanks for your contribution! Unfortunately, as you mentioned above, the conversion to export default ... is a breaking change, as it breaks the module.exports = ... and instead introduces a exports.default = ... in the compiled code.
The export structure might need to be overhauled in the upcoming major release anyways. So, I'll close the PR for now and revisit when its time.


feat: add 640mb option to memory options

Hi all,
According to this Article and some extra research:
You reach maximum S3 read throughput (~90 MB/sec) when you allocate 640MB of memory or more.
Even if your program does not need very much memory, consider allocating 640MB of memory or more to your Lambda function if you need to maximize S3 download throughput. Under the hood, AWS Lambda probably runs your function on a bigger machine with a better network adapter.

I did a bunch of tests with multiple values for memory, and actually, 640 MB is the best option for cost and efficiency. Unfortunately, at the moment, there is no option between 512 MB and 1024 MB. I can set 1024 MB, but this is a waste of memory and money, so I would like to have this option available to avoid remembering to set it to 640 MB manually every time I deploy changes to the lambda.
If I miss something, please let me know.
Cheers.

I add that when upgrading the RAM from 512 to 640, the execution times decreased more than the additional cost of memory, making it a better option if the lambda makes use of S3

Is that a valid size? I just looked at the AWS Lambda pricing, and 640 is not mentioned: https://aws.amazon.com/lambda/pricing/

Apparently there are a couple of rather odd numbers available mentioned in blogs:

https://aws.amazon.com/blogs/developer/configuring-net-garbage-collection-for-amazon-ecs-and-aws-lambda/

https://levelup.gitconnected.com/running-lambda-functions-faster-and-cheaper-416260fbc375

https://joddiy.github.io/2020/09/09/Serverless-Computing/

and probably the blog the author read: https://blog.scanner.dev/serverless-speed-rust-vs-go-java-python-in-aws-lambda-functions/


CypressLover Test 2

Lets go

closing issue

test to reopen

test again

please work

test to readd to board

test

test

test

test

see if comment will add this back to the board

close this

test comment from contributor


IE10 and below errors on use of $meteor.collection

When using the urigo:angular package with IE10 or IE9, I get the error below, when I try to use $meteor.collection. I get no such error(s) when using Chrome or Firefox.
TypeError: Object doesn't support property or method 'stop'
  at Anonymous function (http://<IP_ADDRESS>:3000/packages/urigo_angular.js?4b36953210173c874060f2e4feb315d53f8eca68:1220:11)
  at Anonymous function (http://<IP_ADDRESS>:3000/packages/tracker.js?21f0f4306879f57e10ad3a97efe9ea521c5b5775:277:9)
  at nonreactive (http://<IP_ADDRESS>:3000/packages/tracker.js?21f0f4306879f57e10ad3a97efe9ea521c5b5775:525:5)
  at invalidate (http://<IP_ADDRESS>:3000/packages/tracker.js?21f0f4306879f57e10ad3a97efe9ea521c5b5775:276:7)
  at stop (http://<IP_ADDRESS>:3000/packages/tracker.js?21f0f4306879f57e10ad3a97efe9ea521c5b5775:293:5)
  at Computation (http://<IP_ADDRESS>:3000/packages/tracker.js?21f0f4306879f57e10ad3a97efe9ea521c5b5775:229:7)
  at autorun (http://<IP_ADDRESS>:3000/packages/tracker.js?21f0f4306879f57e10ad3a97efe9ea521c5b5775:499:3)
  at Anonymous function (http://<IP_ADDRESS>:3000/packages/urigo_angular.js?4b36953210173c874060f2e4feb315d53f8eca68:1216:7)
  at Anonymous function (http://<IP_ADDRESS>:3000/client/parties/controllers/partiesList.js?cdbc134beb13cb206b4510912ec221f84b1a5e55:9:17)
  at invoke (http://<IP_ADDRESS>:3000/packages/angularjs_angular.js?f73c7e52641179adbe9af8405d6b6509730db348:4408:9)<div class="ng-scope" ui-view="">

If I comment out the line with $%meteor.collection the error goes away.
See my code snippets, below:
;(function() {
    'use strict'

    angular.module("socially").controller("PartiesListCtrl",
            function ($scope, $meteor, PartiesService, $log) {

                $scope.parties = $meteor.collection(PartiesService.parties);

                $scope.remove = function (party) {
                    $scope.parties.remove(party);
                };

            });
}());

And here is PartiesService:
    angular.module('socially')
        .factory('PartiesService', PartiesService)
    ;

    function PartiesService() {

        var parties = {
            parties: new Mongo.Collection("parties")
        };

        return parties;
    }

The questions are:

Is this a known error with Internet Explorer?
Is there a known fix available?

Thanks.

Might be unrelated, but you don't have to define a new Mongo.Collection("parties") in your Angular code if you made the model file for both client and server like in the tutorial:
// File models/parties.js
Parties = new Mongo.Collection("parties");

This makes the global Parties available also in your Angular code.

@Geen-Henk thanks, and I realise that :) I am trying to not have my collections on the global scope in the browser, but nicely wrapped in Angular services that I can inject as required.
The problem I have is that what works in Chrome and firefox does not work in Internet Explorer 10. IE8, I could understand, but IE10 - we can probably fix that, right?

@pbastowski interesting structure, can you share a Github repo with the code so I can play around with it?

@Urigo This is a different repo, but it has the same problem in IE9 and IE10:
https://github.com/pbastowski/meteor-upload-files
Look in file https://github.com/pbastowski/meteor-upload-files/blob/master/common/file-upload-service.ng.js#L37
If you comment out $meteor.collection, as per below, you no longer get the error. Yes, the app won't work any more, but hopefully this points you in the right direction :)
                images: {}, //$meteor.collection(function () { return Images.find() }),

Does it also happen in a collection without GridFS?
Maybe it's better to reproduce it with a regular collection first?

It also happens with a Mongo.Collection. I have made a small change to show this, please see branch test/meteor-collection

@Urigo To make things easier to test, I made a really simple repo, below, that shows the problem with $meteor.collection() and IE9/10. Please ignore the previous repo.
https://github.com/pbastowski/test-angular-meteor-ie9

Great, I'll try to get on a Windows computer in the weekend and look at the problem, until then, would love help from Windows community members

No need for a windows machine, just grab a free Windows VM from this site: https://www.modern.ie/en-gb/virtualization-tools#downloads :)

@Urigo, I have done some tracing and the problem appears to be with how the AngularMeteorCollection object's __proto__ is modified (see code below), which is not compatible with IE <11, I believe. I am not sure atm how to fix this, but thought I'd share the find. The same applies to AngularMeteorCollection.
var AngularMeteorCollection = function(cursor, collection, $q, $meteorSubscribe, $meteorUtils, $rootScope, $timeout) {
    var self = [];

    self.__proto__ = AngularMeteorCollection.prototype;
    self.__proto__.$q = $q;
    self.__proto__.$meteorSubscribe = $meteorSubscribe;
    self.__proto__.$rootScope = $rootScope;
    self.__proto__.$timeout = $timeout;

    self.$$collection = angular.isDefined(collection) ? collection : $meteorUtils.getCollectionByName(cursor.collection.name);

    return self;
};

var AngularMeteorCollection = function(collection, $q, selector, options) {
    var self = collection.find(selector, options).fetch();

    self.__proto__ = AngularMeteorCollection.prototype;
    self.__proto__.$q = $q;
    self.$$collection = collection;

    return self;
};

@Urigo, for example, the code below works fine in Chrome, but fails in IE10:
Chrome dev console:
function o () { var self = []; self.__proto__ = o.prototype; self.__proto__.x = 123; return self; }
> undefined

a = new o
> []

a
> []

a.x   // I expect to see 123
> 123

IE10 dev console:
>> function o () { var self = []; self.__proto__ = o.prototype; self.__proto__.x = 123; return self; }
>> a = new o
 {
	__proto__ : [object Object]
}
Add to watch
>> a
 {
	__proto__ : [object Object]
}
Add to watch
>> a.x // I expect to see 123, same as in Chrome, but actually nothing gets returned

@pbastowski can you please check this branch :  https://github.com/Urigo/angular-meteor/tree/bugFix/fix-proto-ie
I've just changed the collection, if it works, I'll do the same with object

Forget it, it's not a good solution..  I'm on it

I was just reading through a lot of info on IE and it's bad proto support. Basically, with IE<11 you can't change the proto of an object.
So, just wondering, is the current implementation of AngularMeteorCollection trying to create an Array like object, but extended with it's own properties?

@Urigo I think I have a fix... preparing to push a branch. It appears to work in IE9 and IE10.

Please see:
https://github.com/pbastowski/angular-meteor/commit/44761e669caabb03ecc1bc48aa74656ab12c1a37.
I have updated my image upload repo also, here:
https://github.com/pbastowski/meteor-upload-files/tree/bugfix/IE9-AngularMeteorCollection-proto-missing-methods.
Can you see any problems with my implementation?

Ok, perhaps I spoke too fast about IE9. There is still an issue with adding files in IE9, but IE10 works well, at least for my meteor-upload-files repo.

@pbastowski check out the branch I've sent before, we did some more work on it:
https://github.com/Urigo/angular-meteor/tree/bugFix/fix-proto-ie
We still having issues with Angular Google Maps directive but please check

@urigo Thanks. Just tested with your version and it works, as in I can upload and delete images in my test app in IE10. IE9 is still having an issue, but I need to check if that's maybe with my code.

The IE9 issue is to do with my own code, which is trying to examine a .files property on an input[type=file]. ".files" does not exist in IE<10. So, this specific issue has nothing to do with angular-meteor at all :)
@Urigo, @netanelgilad thanks guys for your help!

Solved in 0.8.4   !!!!
It was a very interesting work and @netanelgilad and I enjoyed it a lot.
Here is a very interesting article about that subject:
http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/#wrappers_direct_property_injection
I've linked directly to the solution we chose but I recommend reading it all


Cannot create a file with a single header at level 2 (without having a level 1)

Describe the bug
Cannot create a file with a single header at level 2 (without having a level 1)
To Reproduce
from mdutils.mdutils import MdUtils
mdFile = MdUtils(file_name='example.md',title='Markdown File Example')
mdFile.new_header(level=2, title='Atx Header 2')
mdFile.create_md_file()

Expected behavior
Markdown file with a level 2 header
Desktop (please complete the following information):

OS: macOS
Version: Python 3.8, mdutils installed throurgh pip

Additional context
Traceback:
Traceback (most recent call last):
  File "test-mdutils.py", line 4, in <module>
    mdFile.new_header(level=2, title='Atx Header 2')
  File "/opt/anaconda3/lib/python3.8/site-packages/mdutils/mdutils.py", line 113, in new_header
    self.__add_new_item_table_of_content(level, title)
  File "/opt/anaconda3/lib/python3.8/site-packages/mdutils/mdutils.py", line 130, in __add_new_item_table_of_content
    curr = curr[-1]
IndexError: list index out of range

If you are okay with the header not being included in the table of contents, a work around to have the code run is to set  add_table_of_contents="n", then the code should run without error (although possibly not with the fully desired behavior).
mdFile.new_header(level=2, title='Atx Header 2', add_table_of_contents="n")


Must an InvestigativeAction always have a ProvenanceRecord among its outputs?

The CASE Ontology Committee had discussed in the past whether InvestigativeActions would always have a ProvenanceRecord among their outputs.  I recall, informally, we had said yes, this is a requirement.  However, we had not encoded this in SHACL or OWL.
I have found a few logistical issues with requiring a ProvenanceRecord as output.  While I don't think these are necessarily counter-arguments, they seem to need clarification if we move towards encoding the generated-ProvenanceRecord expectation.

A ProvenanceRecord must have at least one member.  This is a requirement inherited from uco-core:ContextualCompilation, ProvenanceRecord's superclass.  By my understanding of what CASE had not formally encoded, that ProvenanceRecord should have members that are either (1) inputs to the InvestigativeAction, or (2) other results of the InvestigativeAction.
I do not think uco-action:subaction was considered as part of the discussion, because it had not been exercised in CASE-Examples or the CASE website.[^1]  It is not quite clear how that property is supposed to be used with InvestigativeAction, namely whether any sub-action of an InvestigativeAction is also an InvestigativeAction.  The answer to that question might complicate requiring a ProvenanceRecord as output.

Let's take this example graph, which renders an action that takes a JPEG file as input and uses a (made-up) tool, "ExampleJpegAnalyzer," to analyze the JPEG's contents in a couple ways.  The tool unconditionally calls multiple independent, tool-internal functions as part of its execution, look_up_location, ocr and others.  The ocr function yields a file.  This graph omits some triples for the sake of discussion.
kb:tool-1
	a uco-tool:AnalyticTool ;
	uco-core:name "ExampleJpegAnalyzer" ;
	.

kb:jpeg-i1
	a uco-observable:RasterPicture ;
	.
kb:provenance-record-i1
	a case-investigation:ProvenanceRecord ;
	uco-core:object kb:jpeg-i1 ;
	.

kb:action-1
	a case-investigation:InvestigativeAction ;
	uco-action:instrument kb:tool-1 ;
	uco-action:object
		kb:jpeg-i1 ,
		kb:provenance-record-i1
		;
	uco-action:subaction kb:action-2 ;
	uco-action:result kb:provenance-record-o1 ;
	.

kb:action-2
	a uco-action:Action ;
	uco-core:description "Store any OCR-recognized text in a file." ;
	uco-action:object kb:jpeg-i1 ;
	uco-action:result kb:ocr-text-results-file-1 ;
	.
kb:ocr-text-results-file-1
	a uco-observable:File ;
	.

Question 1: Is kb:action-2 a InvestigativeAction?  If so, and if all InvestigativeActions need to generate a ProvenanceRecord, how do the members of its ProvenanceRecord relate to the parent action's ProvenanceRecord?
Question 2: What are the members of the output ProvenanceRecord, kb:provenance-record-o1?
Question 2.1: Is kb:jpeg-i1 a member, recording that it was seen and/or handled?
Question 2.2:  Is kb:ocr-text-results-file-1 in kb:provenance-record-o1?  Is the answer to this influenced by whether kb:action-2 is or is not a InvestigativeAction?
I intend to take responses to these questions and propose OWL and SHACL encodings to capture the consensus.
[^1]: To date, subaction still has not been exercised in either of those repositories.  It is exercised in CASE-Corpora, and a recent update in testing infrastructure triggered a data validation error in a sketch of mine, which led to this Question post.

The CASE Ontology Committee had discussed in the past whether InvestigativeActions would always have a ProvenanceRecord among their outputs. I recall, informally, we had said yes, this is a requirement. However, we had not encoded this in SHACL or OWL.

Part of the design discussions around InvestigativeAction and why it was created as something distinct from just Action was that it was paired with ProvenanceRecord to form the mechanism for tracking provenance of objects through an investigative process.
It was definitely intended that an InvestigativeAction would always have a ProvenanceRecord among their action:result. I agree that this was never formally codified in the OWL or SHACL.

A ProvenanceRecord must have at least one member. This is a requirement inherited from uco-core:ContextualCompilation, ProvenanceRecord's superclass. By my understanding of what CASE had not formally encoded, that ProvenanceRecord should have members that are either (1) inputs to the InvestigativeAction, or (2) other results of the InvestigativeAction.

A ProvenanceRecord would never contain/reference objects that are/were inputs to the InvestigativeAction that produced the ProvenanceRecord. It would only contain objects resulting from the InvestigativeAction. InvestigativeAction1 could have ProvenanceRecord1 in its results and objects referenced within ProvenanceRecord1 (that resulted from InvestigativeAction1) could be used as inputs to InvestigativeAction2 in a way that lets you chain inputs to actions to results which may be inputs to other actions.

I do not think uco-action:subaction was considered as part of the discussion, because it had not been exercised in CASE-Examples or the CASE website.1 It is not quite clear how that property is supposed to be used with InvestigativeAction, namely whether any sub-action of an InvestigativeAction is also an InvestigativeAction. The answer to that question might complicate requiring a ProvenanceRecord as output.

subaction was considered as part of the discussion.
subaction allows complex actions to be described as a single overall Action made up of multiple more atomic subactions.
Consider something like Action="Start the car". This could be thought of as one overall action for some contexts but it likely consists of multiple subactions such as "insert key", "turn key to auxiliary position", and "turn key to start position". Each of those subactions is an independent action itself that can have performer, object, instrument, result, etc property values. The overall "Start the car" Action would reference each of the separate subactions using its action:subaction property and the action:result property could either be a union of the results of the subaction or just a subset of them depending on context.
All of this would also be true for InvestigativeAction except that the ProvenanceRecord for the overall action should likely always be a full union of the contents of the ProvenanceRecords for all of the subactions.
It should be pretty straightforward.
I find it a bit hard to interpret and comment on the example graph since neither action-1 or action-2 specify the core:name of the action (what is the action being performed).
Typically an Action that contains subactions would contain more than a single subaction but I guess that is not a hard requirement. It would just be more common and easier to understand.

Question 1: Is kb:action-2 a InvestigativeAction? If so, and if all InvestigativeActions need to generate a ProvenanceRecord, how do the members of its ProvenanceRecord relate to the parent action's ProvenanceRecord?

Given that InvestigativeAction is defined as "An investigative action is something that may be done or performed within the context of an investigation, typically to examine or analyze evidence or other data." it seems logical that any subaction of an InvestigativeAction should likely also be an InvestigativeAction.
The ProvenanceRecords of the subactions would relate to the ProvenanceRecord of the overall action as described in my comment above (overall ProvenanceRecord would be a union of contents of subaction ProvenanceRecords and likely should include the subaction ProvenanceRecords themselves).

Question 2: What are the members of the output ProvenanceRecord, kb:provenance-record-o1?

That would completely depend on what the actual actions were here which is not clearly specified.
In a simple case as shown in the example where the overall action contained only a single subaction (which as described in the above comment should likely be an InvestigativeAction with its own ProvenanceRecord) and did nothing else besides the subaction then the members of kb:provenance-record-o1 would likely be the ProvenanceRecord resulting from action-2 along with its contents.

Question 2.1: Is kb:jpeg-i1 a member, recording that it was seen and/or handled?

Again, I think that depends on the nature of the actual action in action-1 which is not specified.
If it did not change kb:jpeg-i1 in any way then it should not be included in kb:provenance-record-o1 as it is only an input to action-1 and not an output.
If it did change kb:jpeg-i1 in any way then it should be included in kb:provenance-record-o1 as it is not only an input but also an output.

Question 2.2: Is kb:ocr-text-results-file-1 in kb:provenance-record-o1? Is the answer to this influenced by whether kb:action-2 is or is not a InvestigativeAction?

As described in the above comments, yes it would be in kb:provenance-record-o1 because action-2 should be an InvestigativeAction with its own ProvenanceRecord (let's call it kb:provenance-record-o2). kb:provenance-record-o2 would contain kb:ocr-text-results-file-1 and kb:provenance-record-o1 would contain both kb:provenance-record-o2 and kb:ocr-text-results-file-1.


Document minimum channel sizes for connection ↔ endpoint communication

There is a possible deadlock where the endpoint is blocked on being able to send messages to the connection, but the connection is blocked on being able to send messages to the endpoint.

I don't believe a deadlock is possible, because a Connection must always immediately accept any incoming EndpointEvent.

Is it possible for an unbounded number of ConnectionEvents to be queued in the Connection, if the Endpoint is slow to receive them?  That would be bad.

You're free to stop polling for new ones until there's buffer space available.

What if a Connection is slow, and cannot receive EndpointEvents fast enough?  Or can this be avoided by always polling for ConnectionEvents before polling for incoming packets?

You're free to stop polling for new ones until there's buffer space available.

Will this cause the Connection to buffer an unbounded amount of data internally?  The whole point of using bounded buffers is to limit the total amount of buffered data.

What if a Connection is slow

If you're processing a connection on a separate thread and using bounded channels, you should be prepared to block the endpoint if a connection is unable to make progress. I think this could be alleviated by #636.

Will this cause the Connection to buffer an unbounded amount of data internally? The whole point of using bounded buffers is to limit the total amount of buffered data.

No, the number of endpoint events generated is bounded by the number of connection events received from the endpoint.

Closing because there doesn't appear to be an issue here.


Enable some kind of opcache

Install of MW gives the following warning:
Warning: Could not find APC, XCache or WinCache. Object caching is not enabled.

Note, I saw a description of the usefulness of certain caching methods recently written by Roan Kattouw. Need to find that before we dig into caching.

Parsoid, VE and Flow seem to want memcached installed.

https://www.mediawiki.org/wiki/Memcached
http://memcached.org/downloads
http://www.if-not-true-then-false.com/2010/install-memcached-on-centos-fedora-red-hat/

Possibly relevant: #44

Also look into Varnish.

Varnish is a different beast: content caching. This issue is talking about caching precompiled code (APC, XCache, WinCache, etc) or data caching (memcached, Redis).
With code caching and data caching the up-side is faster page loads. The downside is it's harder to configure. I'm generalizing, of course.
With content caching we've had issues in the past with SMW properties not updating. Of course that was a long time ago when we knew less about the system, so I'm not opposed to looking into it again (we probably need to in order to scale), but I think it's a different issue.


[BEAM-8335] Implemented Capture Size limitation

Capture cache size is calculated as a property from StreamingCacheSinks and
should be implemented by any other sink implementations in the future.
For each capture cache, if it doesn't exist, the size is 0.
If the cache manager doesn't exist or doesn't support capture_size,
the capture size configured in ib.options would not take effect as if
capture cache size stays 0.
Captured data from sources are stored like intermediate PCollections.
The capture cache size does not include intermediate PCollections'
disk usages.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @rohdesamuel
R: @aaltay
Data captured from sources are stored in cache just like intermediate PCollections that are assigned to variables.
The capture_size limit is only applied to disk usage of data captured from sources.
The implementation of getting a capture cache file's size
os.stat(self._path).st_size
The implementation of summing up all capture cache file's sizes
sum([sink.size_in_bytes for _, sink in self._capture_sinks.items()])
Everything else is wiring, logging and testing.

Waiting on merge of https://github.com/apache/beam/pull/11005, then I'll resolve the merge conflicts.

Resolved merge conflicts and force pushed.

Discarded outdated changes from dependency PRs and squashed the empty patch commits.

retest this please

retest this please

retest this please

Run Python PreCommit

Run Python PreCommit

Run Python PreCommit


add an example how to use inside views?

I am new to cake 2.x and I want to use this plugin, but aside from installing there is nothing much that tell you how to use this inside your views, it would be nice if you add an example.

Hi,
The documentation is available from the CakePHP 3 repository: https://holt59.github.io/cakephp3-bootstrap-helpers/
Most of it is compatible with the CakePHP 2 version. Unfortunately, I do not really maintain this repository since the release of CakePHP 3, so I will not have time to add custom documentation.

Also note that except for the BootstrapModalHelper and some minors new methods (e.g. BootstrapHtmlHelper::icon or options (e.g. prepend and append for BootstrapFormHelper::input), you can use standard CakePHP code with these helpers, I have made them such that switching from standard CakePHP should have no impact on your PHP code.

Thanks, I will look into it :+1:


"Leave this groupchat" removes me, but I am back in the room the next I time I load Pàdé

In order to stop the auto-join at startup, try to delete the bookmark created as well. Please note that a bookmark created by the openfire bookmark plugin cannot be delete by Pàdé.


Feature: --dry-run for automations

Would it be possible/desirable to add a --dry-run or similar option which is not interactive but swallows the noise (everything before "Color legend"), outputs the colored rest to STDOUT and then exits? Like so (with colors):
Color legend:
<inverse> Known security vulnerability
<red>     Major update; likely to have breaking changes, high risk
<yellow>  Minor update; changes and additions, moderate risk
<green>   Patch update; bug fixes, low risk
<cyan>    Possibly unreleased git commits; unknown risk

6 gems can be updated.
    name    from       to      group         url
  ⬡ debug   1.9.2   →  1.10.0  :development  https://github.com/ruby/debug/releases/tag/v1.10.0
  ⬡ irb     1.14.2  →  1.14.3                https://github.com/ruby/irb/releases
  ⬡ json    2.9.0   →  2.9.1                 https://github.com/ruby/json/blob/master/CHANGES.md
  ⬡ logger  1.6.3   →  1.6.4                 https://github.com/ruby/logger/releases
  ⬡ psych   5.2.1   →  5.2.2                 https://github.com/ruby/psych/releases
  ⬡ rdoc    6.9.1   →  6.10.0                https://github.com/ruby/rdoc/releases

This could be run daily e.g. by a scheduled CI job, piped through aha and then posted e.g. as an alert on GitLab.

Hmm. If we remove the interactivity, is this just the same as bundle outdated?
I think this is a bit outside the intended scope of this project, but it might be an easy addition. I'm curious to know more about your use case for this vs running bundle outdated. Is it the color output and changelog URLs that you find valuable for your purpose?

Yep, bundle outdated is not coloring and visualizing the update steepness (patch vs minor vs major) plus integrated audit makes a huge difference.
However, there's a simple trick to do this without any changes:
echo -e "\n" | bundle update-interactive | aha >report.html

So I guess, for this rare use case, that's good enough, closing... thanks for your reply!!


Pin outs confusion

There are too many name spaces for pins which is causing my head to explode.  I see gpio, simple numbers, and headers and jacks.
The slik screen on the board, and the wiki page and none of it makes sense to me.
I want to connect the bmp board that came with the kickstarter as it is shown in some of the pictures, within the node usb case.  From what I can barely read it is plugged into to P4, but the pinouts are labeled on the silk screen in a way the disagrees with the schematic.  The picture is of little use as it has the board occluded.  Is there a drawing of which hole is which pin, and by pin I mean the numbers I need use in a program.    Unfortunately that is way more work than I want to spend to get this thing working.
So is there a diagram that shows what lua pin number I should use to reference any or all of the open holes?  Which connections on the schematic go where?  An obvious information to those already in the know, but new comers to this board could use a little help?

Does anyone care?  from what I can read of the schematic those should be labeled 13 and 14, but which pins I should then use is still unclear, and my guessing is not coming up with anything that works.


after deodex is lags

device : xiaomi redmi note 5 (pro )
after deodexed is lags
android 8.1
please fix it , thanks

It's not a deodex problem, use the superr xda tool to fix the problem

yup not an issue with the tool, what would be helpful though is if we could go the other way and turn the compiled dex back to vdex after doing our modifications?

Τhis issue report does not make any sense at all. Btw if you want to optimize any DEX file, just pass it again to dex2oat compiler.


Vendor functools32

I forked and built a functools32 wheel, and override it in Pipfile (Passa is smart enough to pick that without conflicting, yay!). Hopfully this fix #61.

Okay so the functools32 thing is resolved, but packing still does not work because yaspin does not function properly inside a zip. @techalchemy please somehow make it optional?

It is optional ? You don’t need to install it and you can use nospin=True

It’s been optional since you asked the first time

Btw vistir already points at an lru_cache backport so I think we functionally have two now


Allow Connect server to be disabled in Helm chart deployment

This PR introduces a connect.create value (defaulting to true) to allow Helm to deploy the Kubernetes operator without also deploying 1Password Connect (as discussed in #125).
Corresponding flow control is introduced throughout to disable other components not needed by the operator when it is being deployed standalone, a fail condition in case both components are disabled, and an update to the NOTES.txt file for this configuration.
(I also did some housecleaning in the README based on my Markdown linter in a separate commit for clarity. 🧹)
This is a draft PR and has not yet been tested. 😅
Resolves #125.

My team is interested in deploying the operator standalone too. Is it possible to prioritize this? It looks like the requested changes are resolved.

@priscilasolis we tested the fixes from this PR, with the goal of using multiple standalone operators side by side. If that's your use case as well, you will soon notice that the fix indeed allows starting 1 operator standalone, but that spinning up a second causes an issue where both try to acquire the same lock. This is something that still needs to be fixed.

@Matthiasvanderhallen Is this issue something that can be fixed inside the Helm charts? If not, I suggest supporting for now the deployment of a single operator, as it is initially the case.
My use case is using a single operator per cluster, but there are no official charts that support just the operator deployment.

@priscilasolis I don't know, I'll let someone from 1password itself answer that question.
I think we have more or less the same use case.

This looks good to me! Let's get it merged 🚀

@priscilasolis we tested the fixes from this PR, with the goal of using multiple standalone operators side by side. If that's your use case as well, you will soon notice that the fix indeed allows starting 1 operator standalone, but that spinning up a second causes an issue where both try to acquire the same lock. This is something that still needs to be fixed.

I think we can address that as a separate issue. Would you mind opening an issue for that?


Add the wiki

If time allows, it would be great to have the wiki here as well. It might make sense to convert https://github.com/doo/CrashRpt/tree/master/wiki to a proper GitHuib wiki. What do you think?

I have converted the files to Github Markdown. There might be few issues where not all the formats have changed. I would be happy to send it over. I cannot do a PR for wiki I suppose.

Great, guess the owner of this repo should chime in here...

Hello guys, that's a good idea.
The wiki repo is here now: https://github.com/QbProg/crashrpt2.wiki.git , I'm adding you as contributors

Will upload the wiki first thing in the morning. As I mentioned earlier. Maybe some of the formattings hasn't changed as I used a library to convert it to Github Markdown. We can always fix it over time I suppose.


Are these detection dataset with corruptions available to public ?

hey, you can find code that applies the corruptions which were used for the test data here and code that applies the style transfers used for the training data here


Add rotate document option

Ported to the new codebase with caching support.

@thestinger
I'll port all reasonable leftover commits from the old codebase to the new one in the coming weeks.
Do you wan't me to replace the loader with a viewmodel or do you plan on sticking to loaders?

I'd like to get rid of loaders as long as the replacement doesn't make the code more complex.