Isolate .local (i.e. pip) installations for each environment

Feature description
Currently, if I pip install a package into a conda env from the command line, the packages get added to my private .local space. However, if I have a second environment which does the same thing, THOSE get added to the .local space as well. This creates a situation where the pip packages from BOTH environments are now available in BOTH environments.
The real kicker is that if the second environment required different versions of the pip packages, it goes ahead and updates the .local, leaving the first environment in a broken state.
This happens very much behind the scenes and users have no idea what happened to their first environment since they "didn't touch it".
We should isolate the pip installed packages so that there is no cross-contamination between environments.
Value and/or benefit
Clean, isolated environments that pip can't break and happy users :)
Anything else?
No response

A hack that could be added into a notebook to load a given venv on top of conda-store
python .... create venv

import sys
sys.path.append(venv python path)
import os
os.environ['PATH'] = venv bin path + os.environ['PATH']

Also other things that we mentioned is completely disabling pip usage within the jupyterlab notebook. With the pip environment variable.

Short-term -- disallow pip installation in JupyterLab/terminal, point folks to using pip through conda-store + docs
long-term - implement/document the hack Chris mentioned above for development use-cases

Discussed this last week with @costrouc, I will push a PR this afternoon

I discussed this last week with @costrouc; I will push a PR this afternoon. There is two env variables that will be included in the jupyterlab (user) pod, that will block usage of pip in an environment

I only see on env var in the PR?

Documentation for developing packages on nebari now that the pip option is disabled: https://github.com/nebari-dev/nebari-docs/issues/411


When exceed MaxPollIntervalMs, then all API's calls other than .Consume makes the application freeze.

Description
Hi,
When MaxPollIntervalMs is exceed all subsequent calls to the consumer, which isn't consume, makes the application freeze.
I'm catching the message from the LogHandler - this is a separate thread and all exceptions from this are swallowed silent.
https://github.com/confluentinc/confluent-kafka-dotnet/blob/0af2aad7fbfdd1704292bd9ea22d020818eadd61/src/Confluent.Kafka/Consumer.cs#L156
Note the consumer are able to keep getting messages - but they can't be committed manually and when using auto commit the background job isn't either able to commit.
Confluent.Kafka nuget version: 1.8.2
Apache Kafka Version: 3.1.0
.NET version: Tested with both 6 and 3.1
Operating system: Locally Windows, Kafka docker container in WSL
How to reproduce
I have created a small demo program.
I'm publishing messages AFTER each consume. Hence by this I know that the messages consumed are not in any local cache but actually consumed from Kafka.
When I run this I see that messages are able to keep being consumed after MaxPollIntervalMs - but when looking in Kafka the consumer group doesn't have any members and the lag keep increasing.
using Confluent.Kafka;
using Confluent.Kafka.Admin;
using UnSubscribe;

const string bootstrapServers = "localhost:9093";
const string topicName = "test-foo";
var sessionTimeoutMs = TimeSpan.FromSeconds(6);
var maxPollIntervalMs = sessionTimeoutMs.Add(TimeSpan.FromMilliseconds(1));

using (var adminClient = new AdminClientBuilder(new AdminClientConfig { BootstrapServers = bootstrapServers }).Build())
{
    try
    {
        await adminClient.CreateTopicsAsync(new[]
        {
            new TopicSpecification{Name =topicName, ReplicationFactor = 1, NumPartitions = 5}
        });
    }
    catch (Exception e)
    {
        Console.WriteLine(e);
    }

}

using var producer = new ProducerBuilder<string, string>(new ProducerConfig
{
    BootstrapServers = bootstrapServers
}).Build();

var message = new Message<string, string>
{
    Value = "Something"
};
var dr = await producer.ProduceAsync(topicName, message);
Console.WriteLine($"-- Published -- Topic: {dr.Topic}, Partition: {dr.Partition.Value}, Offset: {dr.Offset.Value}");

var consumerConfig = new ConsumerConfig
{
    BootstrapServers = bootstrapServers,
    GroupId = "foo",
    MaxPollIntervalMs = (int)maxPollIntervalMs.TotalMilliseconds,
    SessionTimeoutMs = (int)sessionTimeoutMs.TotalMilliseconds,
    PartitionAssignmentStrategy = PartitionAssignmentStrategy.CooperativeSticky,
    AutoOffsetReset = AutoOffsetReset.Earliest
};

var count = 0;

var maxPolled = 0;

var consumer = new ConsumerBuilder<Ignore, string>(consumerConfig)
       .SetLogHandler(((consumer1, message) =>
       {
           if (message.Facility.Equals("MAXPOLL"))
           {
               Console.WriteLine("Consumer has exceed max poll");
               maxPolled = 1;
           }

           Console.WriteLine($"Message: {message}, from consumer: {consumer1.MemberId}");
       }))
       .Build();

consumer.Subscribe(topicName);

while (true)
{
    var cr = consumer.Consume(TimeSpan.FromSeconds(10));

    if (cr == null)
    {
        continue;
    }

    Console.WriteLine($"-- Consumed -- Topic: {cr.Topic}, Partition: {cr.Partition.Value}, Offset: {cr.Offset.Value}");

    Console.WriteLine("Begin await");
    if (count == 0)
    {
        Console.WriteLine("-- Killing consumer -- ");
        await Task.Delay(maxPollIntervalMs.Add(TimeSpan.FromSeconds(5)));
    }
    else
    {
        await Task.Delay(maxPollIntervalMs.Subtract(TimeSpan.FromSeconds(2)));
    }

    dr = await producer.ProduceAsync(topicName, message);
    Console.WriteLine($"-- Published -- Topic: {dr.Topic}, Partition: {dr.Partition.Value}, Offset: {dr.Offset.Value}");

    Console.WriteLine($"Count: {count}");
    Console.WriteLine("Finish await");
    count++;
}

To handle this and trigger a resubscription I throw a exception when MAXPOLL messages has been received. This is done in below code snippet.
However when closing or disposing the consumer the application freeze. I have debugged it down to when calling underlying C++ library. Example here when calling close
https://github.com/confluentinc/confluent-kafka-dotnet/blob/0af2aad7fbfdd1704292bd9ea22d020818eadd61/src/Confluent.Kafka/Impl/SafeKafkaHandle.cs#L731
I have tested with other API's like consumer.Subscription or consumer.Assignment - all the same the application freezes.
var count = 0;

while (true)
{

    var maxPolled = 0;

    var consumer = new ConsumerBuilder<Ignore, string>(consumerConfig)
           .SetLogHandler(((consumer1, message) =>
           {
               if (message.Facility.Equals("MAXPOLL"))
               {
                   Console.WriteLine("Consumer has exceed max poll");
                   maxPolled = 1;
               }

               Console.WriteLine($"Message: {message}, from consumer: {consumer1.MemberId}");
           }))
           .Build();

    consumer.Subscribe(topicName);

    try
    {
        while (true)
        {
            if (maxPolled == 1)
            {
                throw new Exception("Max poll has been done");
            }

            var cr = consumer.Consume(TimeSpan.FromSeconds(10));

            if (cr == null)
            {
                continue;
            }

            Console.WriteLine($"-- Consumed -- Topic: {cr.Topic}, Partition: {cr.Partition.Value}, Offset: {cr.Offset.Value}");

            if (count == 0)
            {
                Console.WriteLine("-- Killing consumer -- ");
                await Task.Delay(maxPollIntervalMs.Add(TimeSpan.FromSeconds(5)));
            }
            else
            {
                await Task.Delay(maxPollIntervalMs.Subtract(TimeSpan.FromSeconds(2)));
            }

            dr = await producer.ProduceAsync(topicName, message);
            Console.WriteLine($"-- Published -- Topic: {dr.Topic}, Partition: {dr.Partition.Value}, Offset: {dr.Offset.Value}");

            Console.WriteLine($"Count: {count}");

            count++;
        }
    }
    catch (Exception e)
    {
        Console.WriteLine(e);
    }
    finally
    {
        consumer.Close();
        consumer.Dispose();
        Console.WriteLine("Starting closing");
    }

}

I would expect that some exception are thrown or the consumer are able to re-subscribe when calling consume again.
Checklist

[ x] A complete (i.e. we can run it), minimal program demonstrating the problem. No need to supply a project file.
[ x] Confluent.Kafka nuget version.
[ x] Apache Kafka version.
[ x] Client configuration.
[ x] Operating system.
[ x] Provide broker log excerpts. - There are none
[ x] Critical issue.

I think next steps is to try and isolate i.e. do the bare minimum with the consumer and see if the problem still occurs.  in particular 1. don't await anything. 2. get rid of the producer code. If the issue goes away, add things back and see what makes it occur.
If the issue still presents with the minimal code, feel free to open a PR with an integration test that should pass but doesn't.

Hi @mhowlett
I now simplified it even more, and I am now able to toggle the error on and of.
If one from within the LogHandler calls anything on the consumer, like .MemberId, then the thread will freeze. The side effect is, that any later calls to poll from the consumer doesn't throw a ConsumeException as expected specifying MaxPollInterval exceeded.
Below is a minimal program to reproduce with comments (some messages on the topic are injected before start)
using Confluent.Kafka;

const string bootstrapServers = "localhost:9093";
const string topicName = "test-foo";
var sessionTimeoutMs = TimeSpan.FromSeconds(6);
var maxPollIntervalMs = sessionTimeoutMs.Add(TimeSpan.FromMilliseconds(1));

var consumerConfig = new ConsumerConfig
{
    BootstrapServers = bootstrapServers,
    GroupId = Guid.NewGuid().ToString(),
    MaxPollIntervalMs = (int)maxPollIntervalMs.TotalMilliseconds,
    SessionTimeoutMs = (int)sessionTimeoutMs.TotalMilliseconds,
    PartitionAssignmentStrategy = PartitionAssignmentStrategy.CooperativeSticky,
    AutoOffsetReset = AutoOffsetReset.Earliest
};

var count = 0;
var maxPolled = 0;

var consumer = new ConsumerBuilder<Ignore, string>(consumerConfig)
       .SetLogHandler(((consumer1, message) =>
       {
           if (message.Facility.Equals("MAXPOLL"))
           {
               Console.WriteLine("Consumer has exceed max poll");
               maxPolled = 1;
           }
           // Calling anything from within here makes the thread freeze
           // and then any exception will not be thrown when the consumer poll
           var memberId = consumer1.MemberId;
       }))
       .Build();

consumer.Subscribe(topicName);

while (true)
{
    var cr = consumer.Consume(TimeSpan.FromSeconds(10));

    if (cr == null) { continue; }

    Console.WriteLine($"-- Consumed -- Topic: {cr.Topic}, Partition: {cr.Partition.Value}, Offset: {cr.Offset.Value}");

    Console.WriteLine("Begin await");
    if (count == 0)
    {
        Console.WriteLine("-- Killing consumer -- ");
        Thread.Sleep(maxPollIntervalMs.Add(TimeSpan.FromSeconds(500)));
    }
    else
    {
        Console.WriteLine("-- Call assignment - THIS MAKES IT FREEZE");
        var assignment = consumer.Assignment;
        Console.WriteLine("-- Done call assignment");
    }

    Console.WriteLine($"Count: {count}");
    Console.WriteLine("Finish await");
    count++;
}

I also made a PR with a Integrations test, which I would expect should pass - currently the Timeout isn't even triggered.
https://github.com/confluentinc/confluent-kafka-dotnet/pull/1781


Update from ng 11 to 12 fails running npx @angular/cli@12 update

🐞 Bug report
Command (mark with an x)

[ ] new
[ ] build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc
[x] update from 11 to 12

Is this a regression?

 Yes, the previous version in which this bug was not present was: Update from 10 to 11
Description
Try to follow the steps at https://update.angular.io/?l=2&v=11.0-12.0 (not using windows)
🔬 Minimal Reproduction
Trying to run npx @angular/cli@12 update @angular/core@12 @angular/cli@12
🔥 Exception or Error

internal/modules/cjs/loader.js:905
  throw err;
  ^

Error: Cannot find module<EMAIL_ADDRESS>    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: `node ./bin/postinstall/script.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-02-11T13_29_53_949Z-debug.log
Install for [ '@angular/cli@12' ] failed with code 1

Extract from npm log
5231 silly postinstall<EMAIL_ADDRESS>5232 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>5233 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle false
5234 verbose lifecycle<EMAIL_ADDRESS>PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/root/.npm/_npx/8175/lib/node_modules/@angular/cli/node_modules/.bin:/root/.npm/_npx/8175/lib/node_modules/.bin:/workspaces/my-project/node_modules/.bin:/root/.vscode-server/bin/f80445acd5a3dadef24aa209168452a3d97cc326/bin/remote-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.local/bin:/root/.local/bin
5235 verbose lifecycle<EMAIL_ADDRESS>CWD: /root/.npm/_npx/8175/lib/node_modules/@angular/cli
5236 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'node ./bin/postinstall/script.js' ]
5237 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
5238 info lifecycle<EMAIL_ADDRESS>Failed to exec postinstall script
5239 timing action:postinstall Completed in 146ms
5240 verbose unlock done using /root/.npm/_locks/staging-5a86bcc16c941898.lock for /root/.npm/_npx/8175/lib/node_modules/.staging
5241 timing stage:rollbackFailedOptional Completed in 1062ms
5242 timing stage:runTopLevelLifecycles Completed in 19494ms
5243 verbose stack Error<EMAIL_ADDRESS>postinstall: `node ./bin/postinstall/script.js`
5243 verbose stack Exit status 1
5243 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
5243 verbose stack     at EventEmitter.emit (events.js:400:28)
5243 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
5243 verbose stack     at ChildProcess.emit (events.js:400:28)
5243 verbose stack     at maybeClose (internal/child_process.js:1058:16)
5243 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:293:5)
5244 verbose pkgid<EMAIL_ADDRESS>5245 verbose cwd /workspaces/my-project
5246 verbose Linux <IP_ADDRESS>-microsoft-standard-WSL2
5247 verbose argv "/usr/bin/node" "/usr/lib/node_modules/npm/bin/npm-cli.js" "install" "@angular/cli@12" "--global" "--prefix" "/root/.npm/_npx/8175" "--loglevel" "error" "--json"
5248 verbose node v14.18.3
5249 verbose npm  v6.14.15
5250 error code ELIFECYCLE
5251 error errno 1
5252 error<EMAIL_ADDRESS>postinstall: `node ./bin/postinstall/script.js`
5252 error Exit status 1
5253 error Failed at the<EMAIL_ADDRESS>postinstall script.
5253 error This is probably not a problem with npm. There is likely additional logging output above.
5254 verbose exit [ 1, true ]

🌍 Your Environment

Angular CLI: 11.2.7
Node: 14.18.3
OS: linux x64

Angular: 11.2.8
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: No

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1102.7
@angular-devkit/build-angular   0.1102.7
@angular-devkit/core            11.2.7
@angular-devkit/schematics      11.2.7
@angular/cdk                    11.2.7
@angular/cli                    11.2.7
@angular/material               11.2.7
@schematics/angular             11.2.7
@schematics/update              0.1102.7
ng-packagr                      11.2.4
rxjs                            6.6.7
typescript                      4.0.7

Anything else relevant?
It's running in an devcontainer
FROM mcr.microsoft.com/vscode/devcontainers/base:0-focal

RUN echo 'set show-all-if-ambiguous on' >> /etc/inputrc
RUN echo '"\\e[Z": menu-complete' >> /etc/inputrc

ENV \
		DOTNET_RUNNING_IN_CONTAINER=true \
		DOTNET_USE_POLLING_FILE_WATCHER=true \
		NUGET_XMLDOC_MODE=skip

RUN apt-get update \
	&& apt-get install -y wget pandoc

RUN wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
	&& dpkg -i packages-microsoft-prod.deb

RUN apt-get update \
	&& apt-get install -y apt-transport-https

RUN apt-get update \
	&& apt-get install -y dotnet-sdk-6.0 \
	&& dotnet help \
	&& dotnet tool install --global dotnet-ef

RUN apt-get update \
	&& apt-get install -y curl

RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -

RUN apt-get install -y nodejs

RUN apt-get install -y build-essential

RUN npm i -g @angular/cli@^11

Can you try to run the below command instead
ng @angular/cli update @angular/core@12 @angular/cli@12

Can you try to run the below command instead
ng @angular/cli update @angular/core@12 @angular/cli@12

This command won't work but

ng update @angular/core@12 @angular/cli@12

does.

Opps sorry I did mean ng update @angular/core@12 @angular/cli@12.
Closing as it seems that the issue has been resolved.

Yeah, well the original problem isn't solved.  npx @angular/cli@12 update @angular/core@12 @angular/cli@12 still won't work.
The reason of the issue is, that either the bug should be fixed or the steps of https://update.angular.io should be adjusted to use ng update instead of npx @angular/cli@12 update

@MBAatEJOT, yeah we should correct that.

Docs PR: https://github.com/angular/angular-update-guide/pull/177


Lost wbnb send to bsc throught terra bridge

I have used the Terra Bridge to send wBnb to my Binance Smart Chain Metamask account. When including the address I copied and pasted my Metamask account and I have not received the funds. When I see the details it says that my funds have been transferred to this account:
https://finder.terra.money/columbus-5/address/terra1g6llg3zed35nd3mh9zx6n64tfw3z67w2c48tn2 3
terra1g6llg3zed35nd3mh9zx6n64tfw3z67w2c48tn2
But not to my Metamask account. Instead, what I see is that the address I wanted to send the funds to appear to be the MEMO of the transaction
The tx hash is
752F263393B71FB1486DC0E596D862AE057CF8AAD05408AA8780DC1255D3A507
Please, I would really appreciate your support on this
Thanks a lot

how?

You will need a bech 13 files to fix it.. I can send you the link all you
have to do is to follow the link till you get to synchronize and then you
click on it
On Fri, Feb 18, 2022 at 4:09 AM Petardopy @.***> wrote:

how?
—
Reply to this email directly, view it on GitHub
https://github.com/terra-money/bridge-web-app/issues/120#issuecomment-1044424895,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW3Q3WGZ5ANGHL4DDJWJS5DU3YZHRANCNFSM5OVDVTWQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

On Fri, Feb 18, 2022 at 4:43 AM Ellipal Suites @.***>
wrote:

You will need a bech 13 files to fix it.. I can send you the link all you
have to do is to follow the link till you get to synchronize and then you
click on it
On Fri, Feb 18, 2022 at 4:09 AM Petardopy @.***>
wrote:

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

Hello @Petardopy , Talk to a Anchor Protocol Dev on the Live support page. So that your transaction can be looked into. Thank you. CLICK HERE

Hello @Petardopy   , You should talk to a Terra money Dev on the Live support page. So that your transaction can be looked into. Thank you. CLICK HERE

Have you been able to rectify this issue?

I have used the Terra Bridge to send wBnb to my Binance Smart Chain Metamask account. When including the address I copied and pasted my Metamask account and I have not received the funds. When I see the details it says that my funds have been transferred to this account:
https://finder.terra.money/columbus-5/address/terra1g6llg3zed35nd3mh9zx6n64tfw3z67w2c48tn2 3
terra1g6llg3zed35nd3mh9zx6n64tfw3z67w2c48tn2
But not to my Metamask account. Instead, what I see is that the address I wanted to send the funds to appear to be the MEMO of the transaction
The tx hash is
752F263393B71FB1486DC0E596D862AE057CF8AAD05408AA8780DC1255D3A507
Please, I would really appreciate your support on this
Thanks a lot

I’ll have to refer you to the official support page with the ticket ID LUN7548
Please reach out to Terra Ecosystems Support Team using the livechat page, the best team of dev will assist you on the issue immediately.


Avoid potential front-running exploit

This tracks (validator pubkey, withdrawal credentials) tuples in the deposit contract to ensure that for any single validator pubkey the contract will only accept a single withdrawal credentials.  If a later transaction is sent with (validator pubkey, withdrawal credentials') it will be rejected.

I'm not sure what front-running exploit is trying to be avoided here, but here's one that is introduced by the additions suggested in this PR:
Since the deposit contract doesn't do any signature verification, a front-running agent can look at pending transactions to the deposit contract and create a transaction with the same public key but different withdrawal credentials. The contract will now reject the transaction with the real credentials since the public key is already present, effectively allowing malicious agents to block valid entries to the merkle tree.
This is not possible in the current bytecode, since such frontruns do not have any effect (their signatures are wrong and their entries will be rejected in the process_deposit function).

Details of the exploit are at https://hackmd.io/bCZjQnOyRBqxyHKxKnTz0Q?view
And yes there is the possibility of attacking this but it would cost the attacker 1 Ether, which they may or may not be able to get back but certainly would be locked in the short to medium term, and would still result in the valid deposit being rejected rather than stolen.  So it's a step in the right direction.
It looks like it should be possible to verify the signature in deposit(), which would avoid this issue.  Do you concur?

That sounds more like a way to shoot yourself in the foot rather than an exploit. Wouldn't it suffice to clearly communicate to validators that there is no way of changing the withdrawal credentials after they have been set?

If the validator and staker are separate (possibly non-trusting) entities then this can be exploited.  The general point, though, is that the following statement does not hold true for the validator contract without this change:

If the deposit contract is given a deposit with specific withdrawal credentials it should result in either the deposited amount being withdrawable by those credentials or the deposit being rejected.

Making that statement hold would require BLS signature verification, as you noted before.

In what situation does this not hold, with the proposed patch?

So you can actually avoid front-running without passing the full private key without making changes to the deposit contract. It uses the a

Sally the staker has a BLS private and public key
Derrick the delegate has a BLS private and public key
Derrick sends his public key to Sally. Sally combines it with her public key to create the public signing key for the validator.
Sally sends the deposit data D (including the combined key) to Derrick.
Derrick signs D with his half of the key and sends it back to Sally
Sally signs D and creates an aggregate of the signature that can be verified by the combined key.
Sally sends D along with the 32 eth to the deposit contract
After successful confirmation in the deposit contract, Sally sends her half of the private key to Derrick to do active validation

Only half of the private key was every transmit on the wire, so exposure of the full key to a monitoring attacker is not a risk

@djrtwo I would suggest that is a workaround rather than a fix.  The issue still exists within the contract, and anyone who is unaware of it would remain vulnerable.

It is a method to trustlessly ensure your withdrawal credentials are as you want them while at the same time fully delegating your signing key to a delegate without exposing the full signing privkey in transit.
The proposed change to the deposit contract still does not solve for the scenario in which a staker wants to trustlessly define their withdrawal credentials without sending a private key on the wire.

Sorry I'm unsure of why the proposed change does not meet the requirement, could you point out the specific issue?


Loading Indicator cannot be seen on initial page load

When a loading indicator is loaded onto a page with no conditional rendering it cannot be seen

Hi @MI6-613  could you provide more context or a code snippet please? This will enable us to test the issue more easily :)
Normally the New issue process generates a ticket template that provides headings for screenshots/steps to replicate/etc. - was that not your experience?


Replace gulp-ruby-sass by gulp-sass (node-sass).

Hello, a small proposal to use the node version of sass instead to hold ruby gem dependency.
Nice generator :thumbsup:!
Greetings

Hello @psander-com.
Thank you for your pull request.
I used the ruby version because I've found it easier to handle the scss imports with. I will have a look at this, since it would remove the requirement to have ruby installed. I will give you feedback soon.


attach debugger to celery workers

I'm trying to develop operators with interdependencies due to xcom. As such, I need to run them in the context of a dag in order for them to make sense. I would like to run the code with a debugger attached for breakpoints and etc. I've been using the celery image because it closely mirrors production. Unfortunately, at least in pycharm, I'm having a ton of difficulty actually getting a debugger attached. My workflow has been to bring up the compose in pycharm attached to the worker, then using the restful api to kick off a dag. Unfortunately, I can't seem to trip breakpoints.
Do you recommend working outside of the celery context for this sort of work? If so, how do you recommend attaching a debugger to whatever is executing the operator code?

Hi @puckel, @jakubvedral, @melchoir55 - the issue is that PyCharm passes the entire Airflow command to the entrypoint script, whereas the docker-airflow entrypoint only wants the airflow subcommand (e.g. scheduler) passed. For example, when you run an Airflow docker-compose script and want to override the scheduler to debug it, PyCharm runs this:
/usr/local/bin/docker-compose -f /Users/myuser/dev/data/docker-airflow/docker-compose.yml -f /Users/myuser/Library/Caches/PyCharm2019.3/tmp/docker-compose.override.108.yml up --exit-code-from scheduler --abort-on-container-exit scheduler
And when you dig in to the docker-compose.override.108.yml file, it sends this as the CMD. Here's that file:
version: "2.1"
services:
  scheduler:
    command:
    - "python"
    - "-u"
    - "/opt/.pycharm_helpers/pydev/pydevd.py"
    - "--multiprocess"
    - "--qt-support=auto"
    - "--port"
    - "51994"
    - "--file"
    - "/usr/local/bin/airflow"
    - "scheduler"
    environment:
      PYTHONPATH: "/opt/project:/opt/.pycharm_helpers/pycharm_matplotlib_backend:/opt/.pycharm_helpers/pycharm_display:/opt/.pycharm_helpers/third_party/thriftpy:/opt/.pycharm_helpers/pydev:/Users/myuser/Library/Caches/PyCharm2019.3/cythonExtensions"
      PYTHONIOENCODING: "UTF-8"
      IDE_PROJECT_ROOTS: "/opt/project"
      IPYTHONENABLE: "True"
      PYTHONDONTWRITEBYTECODE: "1"
      LOAD_EX: "n"
      PYDEVD_LOAD_VALUES_ASYNC: "True"
      PYTHONUNBUFFERED: "1"
      LIBRARY_ROOTS: "/Users/myuser/Library/Caches/PyCharm2019.3/remote_sources/1007075957/1107771722:/Users/myuser/Library/Caches/PyCharm2019.3/remote_sources/1007075957/201544331:/Users/myuser/Library/Caches/PyCharm2019.3/remote_sources/1007075957/724150857:/Users/myuser/Library/Caches/PyCharm2019.3/remote_sources/1007075957/-154863933:/Users/myuser/Library/Caches/PyCharm2019.3/remote_sources/1007075957/-2006528493:/Users/myuser/Library/Caches/PyCharm2019.3/remote_sources/1007075957/1797547020:/Users/myuser/Library/Caches/PyCharm2019.3/remote_sources/1007075957/-1227933812:/Users/myuser/Library/Caches/PyCharm2019.3/remote_sources/1007075957/-125940560:/Users/myuser/Library/Caches/PyCharm2019.3/python_stubs/1007075957:/Applications/PyCharm.app/Contents/plugins/python/helpers/python-skeletons:/Applications/PyCharm.app/Contents/plugins/python/helpers/typeshed/stdlib/2:/Applications/PyCharm.app/Contents/plugins/python/helpers/typeshed/stdlib/2and3:/Applications/PyCharm.app/Contents/plugins/python/helpers/typeshed/third_party/2:/Applications/PyCharm.app/Contents/plugins/python/helpers/typeshed/third_party/2and3"
      EXECUTOR: "Celery"
      PYCHARM_HOSTED: "1"
      PYCHARM_DISPLAY_PORT: "63342"
    ports:
    - "<IP_ADDRESS>:51994:51994"
    stdin_open: true
    volumes:
    - "/Users/myuser/dev/data/docker-airflow/vigil-airflow:/opt/project:rw"
    volumes_from:
    - "container:dffa60cfc6831757f8c6d398ca577f14aedb7be1edabd72cdf6ccce840ef725a:ro"
    working_dir: "/opt/project"

Essentially, you'd need to refactor the entrypoint script to accept an actual command instead of an option for airflow. I'm happy to create a PR for this - though since it could well break airflow for other users, it might be cleaner to give users an option to pick the right entrypoint script when launching the container.

Maybe the Debug Executor is what you are looking for.
See: https://airflow.apache.org/docs/1.10.10/executor/debug.html


Exposing Modernizr as a module

This changes allows the following code.
import Modernizr from 'modernizr';

if (!Modernizr.promises) {
    ...
}

This is a great idea, thanks for contributing! :+1:

NP, thanks for merging!


Daily task indicator changes

Is it possible to add some other daily tasks like a farming notification, miscellania updates, collecting sand from bert and maybe other daily task options

We already have issues open for these


Manager: Add replica eviction support for node and disk

https://github.com/rancher/longhorn/issues/292
Overview:
Eviction mode would give users the ability to work on scheduled maintenance without impact the volumes.
Pre-requirement:

The eviction can only be called if the scheduling was disabled.
During the eviction process, the scheduling cannot be re-enabled.

Description:
The eviction would result in all the replicas on the node or disk being moved to other nodes/disks.
Design:

If the volume is not in the healthy state, the detection of evicting would be skipped.
The volume of the replica which being moved will temporarily increase replica count by one. The rebuilding process should be triggered then, and the new replica will be automatically scheduled to another suitable place.
2.1. There can be multiple volumes in the replica moving process at the same time, but only one replica for each volume can be moved at any given time, even there are multiple disk/nodes are being evicted.
If there is no space on other nodes/disks to fit the new replica, the volume will report unable to schedule error, but keep functioning. The user can choose to stop evicting for the nodes/disks at this point or clean up more spaces for the replicas.
If the user chooses to stop evicting when one volume is unable to schedule, the evicting for that volume would be canceled, and the replica would remain at the disk, and the replica count for the volume would be automatically restored back to the original setting.
If the new replica has been successfully rebuilt, the volume would have replica count + 1 healthy replicas. After the new replica has been confirmed by Longhorn engine, the controller would restore the replica count to the original setting, then destroy the replica on the node/disk that being evicted. The controller will make sure that at any given time, the healthy replica counts won't be below the original replica count.
After one replica has been successfully moved, the controller would repeat this process for the other replicas of the volume. Until there is no replica needs to be moved.

Additional requirement:
Make sure to cover the case of disk replacement/node replacement.

I think we need @smallteeths to help adding buttons for Eviction and Cancel Eviction for disks and nodes from UI.

This issue has been in Review for 13 days. What's blocking this issue moving to Merged?

This issue has been in Review for 13 days. What's blocking this issue moving to Merged?

I think it's because of this part. I will sync with @shuo-wu about it later today.

@smallteeths , could you help to update the UI part, which adding 'Eviction Requested' 'true' or 'false' options next to the 'Scheduling' on the 'Node' page? Thanks.

From the UI, we just found it doesn't return the error message to the UI. I will move this to implement to fix this part.

With the fix available on Longhorn master, the scenario from https://github.com/longhorn/longhorn/issues/1400 doesn't get address if the setting Soft anti-affinity is disabled. (Which is disabled by default).

Verified on Longhorn Master - 09/8/2020
Validation - Pass
Test cases executed from https://rancher.atlassian.net/wiki/spaces/LON/pages/721092760/Replica+eviction+from+node+and+disk

The tests test_node_eviction, test_node_eviction_multiple_volume, test_node_eviction_no_schedulable_node, test_node_eviction_soft_anti_affinity have been passing since more than 5 nightly test run.


Component filter

Add a search box to filter components in the sidebar

This is a lot harder than expected... due to the fact that it's a two-tiered list (component and scenario) there technically needs to be two filters and the top one needs to have knowledge of the bottom one.

There could be a select element to choose searching from components or scenarios(default).

the top one needs to have knowledge of the bottom one

Maybe we don't need this?

I think I have an idea of how to accomplish it with a directive... I'll play around with it more sometime later in the week.


Upgrade to latest docker-machine RC

Two days ago RC3 of docker-machine has been released. Changes:
https://github.com/docker/machine/releases/tag/v0.3.0-rc3

LGTM. Awesome. Thanks!
Before merging, can you sign your work?. We're working to make this easier.
 Thanks @jehrhardt. Merging.


Router default basepath gets lost after one call to server renderer

Calling ReactDOMServer.renderToString second time without having basepath attribute on Router, throws an error - replace of undefined.
https://codesandbox.io/s/ykq5z2k7p9
As a result, I have an express server providing SSR, but I only get first response out, all subsequent requests result in an error.
The source of the error is 'basepath' getting lost when passed down to stripSlashes.
Everything is fixed by providing basepath="/" to Router.

see https://github.com/reach/router/issues/27

Truly, didn't think about digging into closed issues.


Error: Processing fasta assembly inputs not successful.

./Prepare_fasta.sh: line 25: hCoV-19_India_AP-CCMB-GC41_2020|EPI_ISL_528809|2020-05-29.fa: Invalid argument
I am getting this error in the first step
i.e

python /media/varun/Data_Vol_3/GHRU/Tools/MicroGMT/sequence_to_vcf.py -r /media/varun/Data_Vol_3/GHRU/Tools/MicroGMT/NC_045512_source_files/NC_045512.fa -i assembly -fs hCoV-19IndiaAP-CCMB-GC412020EPI_ISL_5288092020-05-29.fasta -o out

Hello,
It looks like your fasta headers have "|" which couldn't be recognized. Could you try to replace "|" by "" or something else using "sed 's/|//g' hCoV-19IndiaAP-CCMB-GC412020EPI_ISL_5288092020-05-29.fasta > name_of_new_file"?

Hello,
It looks like your fasta headers have "|" which couldn't be recognized. Could you try to replace "|" by underline or something else using command like
sed 's/\|/_/g' hCoV-19IndiaAP-CCMB-GC412020EPI_ISL_5288092020-05-29.fasta > name_of_new_file?

Thanks it worked.


Feature: Add ability to quickly turn on/off syncing

Feature: Add ability to quickly turn on/off syncing for Presence using right click and menu selection on the icon once its minimized to the quick access status area

Turn Off/On Sync added to right click context menu in 2.0.85


Kmesh authorization: reset the connection when auth policy changes from allow to deny

What type of PR is this?
/kind enhancement

What this PR does / why we need it:
Reset the connection when auth policy changes from allow to deny
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

SO if a connection is established, and then if it should be denied by authorizationPolicy, but we will reply on xdp to rest the connection later when a packet received on the server side.
So my question is: if no packet sent after connecion established, then we can not close the connection right?
And if client shut down violently , is there a bpf map leak

if no packet sent after connecion established, then we can not close the connection right?
Yes, since server socket's RST is set to 1, when client sends a package to server, the connection will be shutdown

if client shut down violently , is there a bpf map leak
This is a good question, @bitcoffeeiux maybe we should change the type of map_of_auth  from BPF_MAP_TYPE_HASH to BPF_MAP_TYPE_LRUHASH？


RPCClient Error

Trying to use discord-rpc (with transport: 'ipc'), but getting this error:
TypeError: Transport is not a constructor
    at new RPCClient (Client.js:67)
    ...

in src/Client.js:67. I checked both Client.js and transports/IPC.js but nothing seems off 🤔

can you post some code, i can't reproduce this

let Configuration = {
      appClient: '385946204649029653',
        largeImageKey: 'barrel_idle',
        smallImageKey: 'radwolf_live_staging'
    };

    console.log('Update: Discord RPC');

    const clientID = Configuration.appClient;
    const client = new DRPC.Client({ transport: 'ipc' });
    // where "DRPC" is require('discord-rpc')

    client.on('ready', () => {
      console.log('ye ready')

      client.setActivity({
        details: `Browsing through ${Global.page}`,
        state: Global.User.Status`,
        largeImageKey: Configuration.largeImageKey,
        smallImageKey: Configuration.smallImageKey,
        largeImageText: `Barrel`,
        smallImageText: `Radwolf Live`,
        instance: false,
      });
    });

    client.login(clientID);

It could also help mention that It's attempted with Angular CLI (webpack), however I had it working for a few.

i don't know how angular does stuff with babel but i assume its probably turning things into es5, in which case you're transforming my code and thats out of the scope of my support

Seems like the issue. Had to change target in tsconfig.json


feat: Semantic naming for Cortex Engines

Goals
Modify engines name:

onnxruntime
llama-cpp
tensorrt-llm

#
Name
Supported Formats
Version
Status

1
onnxruntime
ONNX
0.0.1
Incompatible

2
llama-cpp
GGUF
0.0.1
Ready

3
tensorrt-llm
TensorRT Engines
0.0.1
Incompatible

For the Repos, rename as follow:

Old Repo name
New Repo name

janhq/cortex.tensorrt-llm
janhq/tensorrt-llm-engine

janhq/cortex.llamacpp
janhq/llamacpp-engine

janhq/cortex.onnx
janhq/onnxruntime-engine

Final decision: https://github.com/janhq/cortex.cpp/issues/1168#issuecomment-2390468411
Related ticket: #1168

Thanks for re-opening this feat @hiento09

Hey @0xSage, @dan-homebrew, regarding renaming the repositories for cortexcpp engines, I would like to propose the following approach:
Given that:

Jan and cortex.cpp are pulling the engine from the cortex.llamacpp release, in which:

Jan specifies a specific version
cortex.cpp, by default, does not specify a particular version and will pull the latest release with the current naming format defined by cortex.llamacpp

Problem:

When we rename the repository, the download URL will change
The file name we are attaching in the release also needs to change to map to the new naming
With the current logic of cortex.cpp, if the user is using an older version and checks for downloading engines, it will crash and fail (since we haven't released the renamed version of cortex.cpp yet).
After a certain period of 30-60 days (the GitHub homepage doesn’t mention it, but we encountered this issue when renaming tensorrt-llm to cortex.tensorrtllm, and Jan app couldn’t pull the file from the release of this repo anymore, though it worked initially because GitHub's docs say they will help redirect the URL if we still request the old domain).

Solution:

The current engine repos don't have many stars or external contributors, they are handled internally by our dev team, so I propose we create a new repo
Migrate all git commits to the new repo to keep the history
Set up a new CI and develop independently from the old repo
Until we release new versions of Jan app and cortex.cpp fully switching to pulling engines from the new repo, we will archive the old engine repos

This method seems safer and better for both us and the users
What do you think? cc @louis-jan @vansangpfiev @namchuai

@hiento09 totally agree, as discussed, I'm scared that there could be a Jan hotfix that requires a quick action with very minimal changes (patch the fix only). Renaming the engine repositories immediately means Jan should also apply some irrelevant changes aside from the hotfix then.

@0xSage , the name of the engine inside cortex.cpp has been updated and is now displayed according to upstream. In this discussion https://github.com/janhq/cortex.cpp/issues/1168, @dan-homebrew also mentioned renaming the engines repo, which is why we have this ticket and the solution I mentioned above.

dumb question @dan-homebrew  can we just not rename the repos.
On Thu, Oct 24, 2024 at 4:12 PM hiento09 @.***> wrote:

@0xSage https://github.com/0xSage , the name of the engine inside
cortex.cpp has been updated and is now displayed according to upstream. In
this discussion #1168 https://github.com/janhq/cortex.cpp/issues/1168,
@dan-homebrew https://github.com/dan-homebrew also mentioned renaming
the engines repo, which is why we have this ticket and the solution I
mentioned above.
—
Reply to this email directly, view it on GitHub
https://github.com/janhq/cortex.cpp/issues/1528#issuecomment-2434593112,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQVWFCAVBV6G7BI4G2LKAELZ5CTXLAVCNFSM6AAAAABQLODVAOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZUGU4TGMJRGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

@hiento09 @vansangpfiev @louis-jan @namchuai FYI, let's hold off on the Semantic rename for now, at least until Jan is completely refactored into Cortex.
This doesn't deliver much immediate business value, and will be very painful - let's KIV.


Convert this project into a Unity Package Manager package

This would allow people to import this only by adding a dependency in the manifest.json file. Unfortunately, currently UPM doesn't seem to support examples, so the scenes would have to go.

You can have your example scenes in a separate branch.

https://medium.com/openupm/how-to-maintain-upm-package-part-1-7b4daf88d4c4

"You can include a list of samples (scene + assets) to demonstrate the package usage."

It seems like UPM actually supports examples, and more importantly, examples with scenes. I'm wondering what the OpenUPM is, and is it officially supported by Unity, or what? Doesn't seem to be, but I don't know.
More: https://medium.com/openupm

Closing this issue, because I feel like this project isn't suitable to be a package - it isn't "plug-and-play"-y enough, and it would be very difficult to make it that way.


Review 1 "General"

General

Add kind of normalization to documentation (Min-max feature scaling). I'm not sure whether other normalizations make sense, but if so, maybe implement them too.
Unclear return type of the main function
test.jl in src/ directory seems to be a leftover
depends heavily on the CairoMakie plotting backend. I'm not sure if this is good or bad, and maybe making it work for others by using the Plots.jl functionality only is out of scope for this project, but I think it should be added to the readme.

Linked to #8 General

discussion:
should we add it to the readme or using Plot.jl?
@yunseopark-kaist @moritz155 @marius-ui


"Unable to load DLL 'turbojpeg' - OS X

I am getting this error on line -
TJCompressor compressor = new TJCompressor();
I have copied turbojpeg.dll file from the source project to bin/nuget folder. Does not work. Is there any additional step required to use this wrapper on OS X?

Did you add a reference to /runtime.osx.10.10-x64.Quamotion.TurboJpegWrapper? .dll files don't work on macOS; you need .dylib files and that package contains the dylib files.

Sorry, didn't get the fact that you're using Mono. I've never tested this on Mono, but if this configuration works for you, no need to change it :)

.NET core on OS X High Sierra. Using VS for mac.

Fixed via #6 .


Deprecated repository

This repo should be marked as deprecated:
https://github.blog/2017-11-08-archiving-repositories/

agreed
cc @Sophie-Xie


java.lang.NoClassDefFoundError: Could not initialize class org.camunda.bpm.model.dmn.Dmn

I am using a bpmn and a dmn diagram to evaluate some decisions in my application.
My Bpmn:  Recommendation_prioritizationv3.zip
My dmn:
prioritization.zip
However, whenever my dmn job worker is activated I get the following two errors:
Could you please help me with the issue?
2021-12-22 05:55:57.977  WARN 5116 --- [pool-4-thread-2] c.e.P.jobworkers.DmnRepository           : Failed to parse decision: prioritization.dmn
java.lang.NoClassDefFoundError: Could not initialize class org.camunda.bpm.model.dmn.Dmn
at com.example.PrioritizationRecommendation.jobworkers.DmnRepository.readDmnFile(DmnRepository.java:64) ~[classes/:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[na:na]
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) ~[na:na]
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) ~[na:na]
at com.example.PrioritizationRecommendation.jobworkers.DmnRepository.scanDirectory(DmnRepository.java:54) ~[classes/:na]
at com.example.PrioritizationRecommendation.jobworkers.DmnRepository.findDecisionById(DmnRepository.java:40) ~[classes/:na]
at com.example.PrioritizationRecommendation.jobworkers.DmnJobHandler.findDecisionForTask(DmnJobHandler.java:55) ~[classes/:na]
at com.example.PrioritizationRecommendation.jobworkers.DmnJobHandler.handle(DmnJobHandler.java:37) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at io.camunda.zeebe.spring.client.bean.MethodInfo.invoke(MethodInfo.java:32) ~[spring-zeebe-1.1.0.jar:1.1.0]
at io.camunda.zeebe.spring.client.config.processor.ZeebeWorkerPostProcessor.lambda$null$1(ZeebeWorkerPostProcessor.java:58) ~[spring-zeebe-1.1.0.jar:1.1.0]
at io.camunda.zeebe.client.impl.worker.JobRunnableFactory.executeJob(JobRunnableFactory.java:44) ~[zeebe-client-java-1.1.0.jar:1.1.0]
at io.camunda.zeebe.client.impl.worker.JobRunnableFactory.lambda$create$0(JobRunnableFactory.java:39) ~[zeebe-client-java-1.1.0.jar:1.1.0]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]
2021-12-22 05:55:57.978  WARN 5116 --- [pool-4-thread-2] io.camunda.zeebe.client.job.worker       : Worker camunda-dmn-worker failed to handle job with key<PHONE_NUMBER>750561 of type DMN, sending fail command to broker
java.lang.RuntimeException: No decision found with id: 'prioritization'
at com.example.PrioritizationRecommendation.jobworkers.DmnJobHandler.findDecisionForTask(DmnJobHandler.java:57) ~[classes/:na]
at com.example.PrioritizationRecommendation.jobworkers.DmnJobHandler.handle(DmnJobHandler.java:37) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at io.camunda.zeebe.spring.client.bean.MethodInfo.invoke(MethodInfo.java:32) ~[spring-zeebe-1.1.0.jar:1.1.0]
at io.camunda.zeebe.spring.client.config.processor.ZeebeWorkerPostProcessor.lambda$null$1(ZeebeWorkerPostProcessor.java:58) ~[spring-zeebe-1.1.0.jar:1.1.0]
at io.camunda.zeebe.client.impl.worker.JobRunnableFactory.executeJob(JobRunnableFactory.java:44) ~[zeebe-client-java-1.1.0.jar:1.1.0]
at io.camunda.zeebe.client.impl.worker.JobRunnableFactory.lambda$create$0(JobRunnableFactory.java:39) ~[zeebe-client-java-1.1.0.jar:1.1.0]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]

@egecnr thank you for reporting.
Please share more details about your environment. It seems that you don't use the pre-built JAR or Docker image. Instead, I see a custom package name.
Does this failure occur if you use the pre-built JAR or the Docker image?

@saig0  thank you for your response.
that is correct I have added the classes manually and used your docker compose file for the containers.
I will try to use the pre-built JAR and and inform you about the outcome.

Dear @saig0  I have tried both the pre-built jar and Docker image and in both cases I did not have a parsing error when I started them up. Instead I have received these logs :
2022-01-10 14:35:37.155  INFO 1 --- [           main] io.zeebe.dmn.DmnApplication              : Starting DmnApplication using Java 11.0.11 on d1fa93384b4a with PID 1 (/app/classes started by root in /)
2022-01-10 14:35:37.160 DEBUG 1 --- [           main] io.zeebe.dmn.DmnApplication              : Running with Spring Boot v2.6.0, Spring v5.3.13
2022-01-10 14:35:37.160  INFO 1 --- [           main] io.zeebe.dmn.DmnApplication              : No active profile set, falling back to default profiles: default
2022-01-10 14:35:40.588  INFO 1 --- [           main] io.zeebe.dmn.DmnRepository               : Scan directory: /usr/share/zeebe/dmn-repo
2022-01-10 14:35:41.080  INFO 1 --- [           main] io.zeebe.dmn.DmnRepository               : Found decision with id 'prioritization' in file: /usr/share/zeebe/dmn-repo/prioritization.dmn
2022-01-10 14:35:42.760  INFO 1 --- [           main] io.zeebe.dmn.DmnApplication              : Started DmnApplication in 6.32 seconds (JVM running for 6.995)
However, when the time comes to look into dmn  to receive some decisions in my application, that doesn't seem to work anymore. I believe that I can not call the worker when I try the pre-built jar or docker image solution. The interesting part is, manually added code was identical to this repository so I could not figure out why the worker's methods aren't invoked.
Even though there are no errors showing up both in my application and dmn worker side, camunda platform shows the following error:

If you need additional information about my project environment or anything else please let me know.
Could you help me identify the reason why it doesn't work when I use pre-built JAR or Docker image?
Thank you for your help once again.

Could you help me identify the reason why it doesn't work when I use pre-built JAR or Docker image?

I will try. For me, it's working. Let's root cause the differences.
Please share your BPMN process, your DMN decision, and the commands that you use to create your process instance.

Even though there are no errors showing up both in my application and dmn worker side, camunda platform shows the following error:

The process instance reports an incident. I guess that there is an issue with an input or output variable mapping.
It may be an output mapping on a task. It expects a variable with the name "result" but it is not present.
The BPMN process should help to analyze it.

My BPMN: Recommendation_prioritizationv3 (1).zip
My DMN: prioritization (1).zip
This is how I simply start the process by sending a message

@egecnr I checked your DMN. The input of the decision table has the type string but all input entries are written without double quotes. Please note that strings must be wrapped in double quotes.
The second issue is that the input expression uses Groovy as expression language. By default, the DMN worker doesn't ship Groovy.
Does it work if you fix the two issues?

Hello @saig0 ,
After the implementation of the solutions you suggested, dmn worker started giving me solutions half the time. However, sometimes it gets stuck with the result variable not being present.

if I add the result variable manually with mock values, I 50% of the time receive the correct input. Other times decisionResult simply copies the mock value of the result. I am probably doing something wrong with result and decisionResult variable.
Example of the expected outcome that sometimes happens:

Example of the outcome when I make a result variable myself: 0 is the mock value i put for result. When the dmn doesnt work properly decisionResult happens to have the same value

I am a bit confused about what is happening here. However, I am glad that it finally gives me output even if its partially correct.
If you need more information in order to investigate this issue, please let me know. Thank you for your help


Fix editor crash when saving a scene containing an inherited scene instance.

Fixes #26694 by adding check for target scene's parent scene when instance scene.

I have commit the code changed now

Thanks!


Error when trying to build scripts/grafana - source missing CMakeLists.txt

root@server:/# cd /src/pcm/scripts/grafana/build
root@server:/src/pcm/scripts/grafana/build# cmake .. && make -j$(nproc) pcm-sensor-server

CMake Error: The source directory "/src/pcm/scripts/grafana" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

@MarkovaMaria can you look into this?

Issue is related to misleading instructions. Build step should be performed in PCM root folder.
So, if you are located in grafana folder, need to go up:
$ pwd
/pcm/scripts/grafana
$ cd ../..
$ pwd
/pcm
$ mkdir build && cd build
 $ cmake .. && make -j$(nproc) pcm-sensor-server
...
[100%] Built target pcm-sensor-server

Please use this approach. I'll work on documentation update.

resolved


Missing displayName for styled-component 4.xx

For latest styled-component v4 and latest enzyme version, in test cases, if we pass the Component Instance on props, when make snapshots by enzyme-to-json and enzyme-adapter-react-16, the displayName will missing.
For the styled-component 3.x version, it works well for same enzyme version. Only happens for the new styled-component 4.x version. So the new changes on 4.x caused this issue, but not sure which part should fix it.
There is a relevant issue I created on enzyme, https://github.com/airbnb/enzyme/issues/2090
Please help check and give some proper fixing, thanks!
Used<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>and setup "enzyme-to-json/serializer" for snapshotSerializers.
Here are the code sample
it('render small app', () => {
        const result = shallow(
            <SmallApp
                company="Supercell"
                i18n={mockI18n}
            />
        );
        expect(result).toMatchSnapshot();
    });

The simple version of SmallApp is
class SmallApp extends React.PureComponent<{
    name?: string | React.Node,
}> {
    render() {
        const {
            name,

        } = this.props;

        let nameEl;
        if (name == null) {
            nameEl = <div />;
        } else {
            nameEl = (
                <Text ellipsis style={{ color: colors.brand.bigStone }}>
                    {name}
                </Text>
            );
        }
        return (
            <SmallEntity name={nameEl}/>
        );
    }
}

The Text component is styled component,
const Text = styled.div`
    color: inherit;
    text-overflow: ${(props: TextProps) => (props.ellipsis ? 'ellipsis' : 'inherit')};
    overflow: ${(props: TextProps) => (props.ellipsis ? 'hidden' : 'inherit')};
`;

Current behavior
Shallow or mount styled-component Component would get <ForwardRef > and <StyledComponent> instead of its correct displayName.
<SmallEntity
  company="Supercell"
  name={
    <ForwardRef
      style={
        Object {
      }
    >
      Supercell
    </ForwardRef>
  }
/>

Expected behavior
Should get correct displayName  in snapshots, not the ForwardRef, expected behavior should be like this, name={<Text ...
<SmallEntity
  company="Supercell"
  name={
    <Text
      style={
        Object {
      }
    >
      Supercell
    </Text>
  }
/>

Your environment
Jest+Enzyme+enzyme-to-json+styled-components
Used<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>and setup "enzyme-to-json/serializer" for snapshotSerializers.
API

[X] shallow
[X] mount

Version

library
version

enzyme
3.8.0

react
16.7.0

react-dom
16.7.0

react-test-renderer

adapter (below)

Adapter

[X] enzyme-adapter-react-16
[ ] enzyme-adapter-react-16.3
[ ] enzyme-adapter-react-16.2
[ ] enzyme-adapter-react-16.1
[ ] enzyme-adapter-react-15
[ ] enzyme-adapter-react-15.4
[ ] enzyme-adapter-react-14
[ ] enzyme-adapter-react-13
[ ] enzyme-adapter-react-helper
[ ] others ( )

Probably related to #2507

@probablyup Thanks, I'll take a look. Please don't close this issue before we finally resolved this bug

@probablyup Created one fixing PR for this, could you help review? Thanks a lot !
The path, https://github.com/styled-components/styled-components/pull/2516

displayName is still missing with:
styled-components: 4.3.2
react 16.9.0
react-dom: 16.9.0

I'm unsure if this is related but I'd like to see a more sensible default displayName for styled-components.
const Root = styled.div``;

In the above case it's currently styled.div, but I'd prefer to see something like Root in the dev tools

@willredington the babel plugin does this for you

@xunuoi this is likely caused by the usage of React.forwardRef in v4+... enzyme has had a lot of issues with that API unfortunately. I'd recommend deep-mounting your tree and just mocking out the components that you don't want to mount that fetch data, etc.


The initialization of BertForTokenClassification,'NoneType' object is not iterable

I met the following error when I try to run the code:
Traceback (most recent call last):
File "train.py", line 152, in
model = BertForTokenClassification.from_pretrained(r"/home/ky01/hzh/bert_model/bert-base-cased",num_labels=len(tag2idx))
File "/home/ky01/.conda/envs/hzh_python/lib/python3.6/site-packages/pytorch_transformers/modeling_utils.py", line 430, in from_pretrained
**kwargs
TypeError: 'NoneType' object is not iterable

I met the following error when I try to run the code:
Traceback (most recent call last):
File "train.py", line 152, in
model = BertForTokenClassification.from_pretrained(r"/home/ky01/hzh/bert_model/bert-base-cased",num_labels=len(tag2idx))
File "/home/ky01/.conda/envs/hzh_python/lib/python3.6/site-packages/pytorch_transformers/modeling_utils.py", line 430, in from_pretrained
**kwargs
TypeError: 'NoneType' object is not iterable

Hi,
I assert that you had downloaded the  pretrianed model then renamed the model files and vocabulary files name as required.
I found that you use absolute address"/home/ky01/hzh/bert_model/bert-base-cased",  what about using relative path instead. Maybe you can fix the problem.
Feel free to leave a comment.

Thank you.I update the pytorch-transformer to version 1.2.0,which also solve the problem

Hi !
I have a problem also when I use these lines of code
model_file_address = '/content/drive/My Drive/Colab Notebooks/bert-base-cased'
model = BertForTokenClassification.from_pretrained(model_file_address,num_labels=len(tag2idx))
The error is
OSError                                   Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/transformers/configuration_utils.py in from_pretrained(cls, pretrained_model_name_or_path, **kwargs)
157             resolved_config_file = cached_path(config_file, cache_dir=cache_dir, force_download=force_download,
--> 158                                                proxies=proxies, resume_download=resume_download)
159             # Load config
3 frames
OSError: file /content/drive/My Drive/Colab Notebooks/bert-base-cased/config.json not found
During handling of the above exception, another exception occurred:
OSError                                   Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/transformers/configuration_utils.py in from_pretrained(cls, pretrained_model_name_or_path, **kwargs)
171                         ', '.join(cls.pretrained_config_archive_map.keys()),
172                         config_file, CONFIG_NAME)
--> 173             raise EnvironmentError(msg)
174
175         except json.JSONDecodeError:
OSError: Model name '/content/drive/My Drive/Colab Notebooks/bert-base-cased' was not found in model name list (bert-base-uncased, bert-large-uncased, bert-base-cased, bert-large-cased, bert-base-multilingual-uncased, bert-base-multilingual-cased, bert-base-chinese, bert-base-german-cased, bert-large-uncased-whole-word-masking, bert-large-cased-whole-word-masking, bert-large-uncased-whole-word-masking-finetuned-squad, bert-large-cased-whole-word-masking-finetuned-squad, bert-base-cased-finetuned-mrpc, bert-base-german-dbmdz-cased, bert-base-german-dbmdz-uncased, bert-base-japanese, bert-base-japanese-whole-word-masking, bert-base-japanese-char, bert-base-japanese-char-whole-word-masking, bert-base-finnish-cased-v1, bert-base-finnish-uncased-v1). We assumed '/content/drive/My Drive/Colab Notebooks/bert-base-cased/config.json' was a path or url to a configuration file named config.json or a directory containing such a file but couldn't find any such file at this path or url.
even in that path the file config does exists!
I did not understand

from where am I supposed to download the prerained model it is not clear to me
could you tell me please?

from where am I supposed to download the prerained model it is not clear to me
could you tell me please?
@Mayar2009

Since this notebook use Pytorch as backend library, we need to download the BERT for Pytorch model first.
Thank you for your suggestion, I had updated my notebook with the required files download address.
To make the model load successfully.

I suppose your model folder is "/content/drive/My Drive/Colab Notebooks/bert-base-cased"
You need to download the model tokenizer file, model config and model weight into the folder, and rename them as required.

# Tokenizer file, vocab.txt
https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-vocab.txt

# Model config, config.json
https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-config.json

# Model weight, pytorch_model.bin
https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-pytorch_model.bin

Feel free to leave a comment if it work for you.
And thank you for your suggestion.

Thanks for your reply!
Actually what I have done before your answer is just installing the pretrained model of bert
https://storage.googleapis.com/bert_models/2018_10_18/cased_L-12_H-768_A-12.zip
unzip it then load its contents to the directory /content/drive/My Drive/Colab Notebooks/bert-base-cased
actually there are 5 files there which are (vocab.txt,  config.json, bert_model.ckpt.data-00000-of-00001, bert_model.ckpt.index, bert_model.ckpt.meta)
and used vocab.text file from there for this line
Manual define vocabulary address, if you download the model in local
vocabulary = "/content/drive/My Drive/Colab Notebooks/bert-base-cased/vocab.txt"
then I tried like metioned in this link
https://github.com/huggingface/transformers#Migrating-from-pytorch-pretrained-bert-to-transformers
just write like this
model_file_address = 'bert-base-cased'  # will load directly from transformer
model = BertForTokenClassification.from_pretrained(model_file_address,num_labels=len(tag2idx))
and the code worked but the truth I did not understand what is going on
because

vocab.txt is loaded from bert github
weights loaded from transformer library
and I did not know if they are supposed to be from the same folder
getting me?

I tried to download these links But I am not so experienced as it is clear
could you please tell me how to do that?
how to download
Tokenizer file, vocab.txt
https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-vocab.txt
Model config, config.json
https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-config.json
Model weight, pytorch_model.bin
https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-pytorch_model.bin

@Mayar2009

About BERT Pytorch model

The library huggingface/transformers,had already transformed all Google BERT model into Pytorch versoin.
You can find all the supported model and their download addresses in modeling_bert.py

About loading BERT model

model = BertForTokenClassification.from_pretrained(model_file_address,num_labels=len(tag2idx))

The first input for the "BertForTokenClassification.from_pretrained()" function is the model name, when the name is in the supported model list, E.g: "bert-base-uncased", "bert-large-uncased"... it will directly load the required files from your local cache folder.
If you didn't have the files in local cache folder, it will auto download the required files into local cache folder
If the name is not the supported model name, the function will treat the input as a manual model folder name. As what I did in the notebook, I firstly downloaded all the required files in a folder, then I pass the folder name to the function, the function can  still load the model
When you load the model with "BertForTokenClassification.from_pretrained()" function, the logger may print warn for some files, don't be worry, if you can load the model successfully, you can ignore it.

from your local cache folder.--> you mean by that the models downloaded by transformers library, yeah?

from your local cache folder.--> you mean by that the models downloaded by transformers library, yeah?

@Mayar2009
Yeah, the transformers will make a cache folder then download the require files for you.
For the default cache file location, check this out Where does the pre-trained bert model gets cached in my system by default

Thank you! you are great!


Rename SelectBest/SelectWorst to SelectMax/SelectMin

Current naming scheme is ambiguous

Addressed by PR "renamed SelectBest/SelectWorst to SelectMin/SelectMax #27".


unmappable characters in comments

Stuff like this: �AS IS�
Causes Error:(4, 56) error: unmappable character for encoding UTF-8
Errors in Android Studio....

Fixed.


Made aesthetic changes and improved the alignment

Changed the navbar layout

Made corners rounded

Improved the alignment of the section 1 to be properly centered

Read the guidelines carefully. make sure you follow and star the repository!


can't set worker option with name variable

"vite-plugin-comlink": "^3.0.2",
`
const workerId = nanoid()
console.log(workerId)
const workerOpt = {
name: workerId
}
return new ComlinkWorker<typeof import('./imgInp.worker')>(new URL("./imgInp.worker.ts", import.meta.url), workerOpt);
when set workerOption like this, will cause this  compile error down below
[vite] Internal server error: JSON5: invalid character 'w' at 1:1
Plugin: comlink
at syntaxError (E:\WebStorm_JS_Workspace\storm-portal-next\node_modules\vite-plugin-comlink\dist\index.js:861:15)
at invalidChar (E:\WebStorm_JS_Workspace\storm-portal-next\node_modules\vite-plugin-comlink\dist\index.js:824:10)
at literal (E:\WebStorm_JS_Workspace\storm-portal-next\node_modules\vite-plugin-comlink\dist\index.js:601:13)
at Object.value (E:\WebStorm_JS_Workspace\storm-portal-next\node_modules\vite-plugin-comlink\dist\index.js:223:9)
at lex (E:\WebStorm_JS_Workspace\storm-portal-next\node_modules\vite-plugin-comlink\dist\index.js:107:39)
at Object.parse2 [as parse] (E:\WebStorm_JS_Workspace\storm-portal-next\node_modules\vite-plugin-comlink\dist\index.js:73:13)
at workerReplacer (E:\WebStorm_JS_Workspace\storm-portal-next\node_modules\vite-plugin-comlink\dist\index.js:2063:38)
at String.replace ()
at TransformContext.transform (E:\WebStorm_JS_Workspace\storm-portal-next\node_modules\vite-plugin-comlink\dist\index.js:2081:14)
at Object.transform (E:\WebStorm_JS_Workspace\storm-portal-next\node_modules\vite\dist\node\chunks\dep-e1fc1d62.js:38961:53)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async doTransform (E:\WebStorm_JS_Workspace\storm-portal-next\node_modules\vite\dist\node\chunks\dep-e1fc1d62.js:55918:29)
`

This is expected! The workeroptions have to be Static! So a simple JS object. This is a Vite limitation that also expands to here.

ok  thanks !  Is there any way to solve this problems?

I looked again into the vite code it is here:
https://github.com/vitejs/vite/blob/main/packages/vite/src/node/plugins/workerImportMetaUrl.ts#L54
I think it could be changed so that only the type field has to be static but thats not that simple.
vite-plugin-comlink uses the same method to get the options https://github.com/mathe42/vite-plugin-comlink/blob/main/src/index.ts#L100
There we also set the type in development to module and check for the custom replacement field.
Both could be done by parsing this part into an AST and modify it - so more cases that are allowed. For me to chnage it first vite has to be changed. And then I will implement it here (when I have time).
I currently don't have time for any of that but feel free to try it yourself!
And I'm not sure for what do you actually need the name field? I can't think about a use case where you need it...

thanks a lot, i will try it myself.
The purpose to do this is help to debug and find the specified worker when more same workers are load to run by different context

Will close this for now!


Add features to bench crate

Allows to disable eigen or nalgebra at compile time.
eigen takes comparably long to compile and nalgebra cause benchmarking for larger n to become slow.
I use it for a couple of benchmarks, but feel free to close if you don't need it upstream.

this looks good to me as well. thanks!


[type: feat] update docker-publish workflow, make it only push image when release

Make sure that:

[x] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Now
~docker-publish workflow run every time new commits merged into master.~ And this workflow can only push image to "ghcr.io", which means that images need pushed to dockerhub manually if there is a new release.
~Additionally, images on ghcr.io use "github.sha" as label.~
This PR
Update as below:

Add new workflow to publish image to dockerhub.
Use "release published" as trigger event.
Use "github.ref_name" instead of "github.sha" in new workflow. ref: get-the-current-pushed-tag-in-github-actions.
~Still use "build-push-action", push images to multi-registries. ref: build-push-action : push-multi-registries~.
Use filter "!github.event.release.prerelease && !github.event.release.draft" to avoid redundant or unnecessary run. ref: RESTful API of releases.

Test
I only create a playground repo, and test in it.
I use this workflow yaml, append a tag (v0.0.1-alpha.8) and release.
You can check job execute summary, image pushed to ghcr.io:

and image pushed to dockerhub:

~### TODO~
~"docker/login-action" need dockerhub username and password:~
      - name: Login to DockerHub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_PASSWORD }}

~Here I use "DOCKERHUB_USERNAME" and "DOCKERHUB_PASSWORD", so it need set secrets in settings | Security | Secrets | Actions.~
I use "DOCKERHUB_USER" and "DOCKERHUB_TOKEN" as cwiki - Github Secrets and Tokens said.
Need help
Actually, I'm not very confident whether my PR would work. So I would be very happy if reviewers can help to check.

Codecov Report

Merging #3722 (f7df88d) into master (6f157fa) will decrease coverage by 0.29%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3722      +/-   ##
============================================
- Coverage     64.47%   64.18%   -0.30%
+ Complexity     6031     5991      -40
============================================
  Files           897      897
  Lines         24630    24625       -5
  Branches       2240     2238       -2
============================================
- Hits          15881    15805      -76
- Misses         7344     7404      +60
- Partials       1405     1416      +11

Impacted Files
Coverage Δ

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
68.75% <0.00%> (-31.25%)
:arrow_down:

...controller/ShenyuClientHttpRegistryController.java
77.77% <0.00%> (-22.23%)
:arrow_down:

...java/org/apache/shenyu/common/utils/PathUtils.java
50.00% <0.00%> (-16.67%)
:arrow_down:

...yu/sync/data/http/refresh/AbstractDataRefresh.java
68.96% <0.00%> (-13.80%)
:arrow_down:

...ruptor/RegisterClientServerDisruptorPublisher.java
52.94% <0.00%> (-11.77%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

...che/shenyu/sync/data/http/HttpSyncDataService.java
81.63% <0.00%> (-8.17%)
:arrow_down:

.../apache/shenyu/admin/model/dto/BatchCommonDTO.java
50.00% <0.00%> (-7.15%)
:arrow_down:

...apache/shenyu/admin/model/dto/AuthPathWarpDTO.java
57.14% <0.00%> (-7.15%)
:arrow_down:

...org/apache/shenyu/admin/model/dto/AuthPathDTO.java
58.82% <0.00%> (-5.89%)
:arrow_down:

... and 38 more

Continue to review full report at Codecov.

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

looks good

Hi @skyleaworlder, IMO, we should publish to ghcr.io on every merge, and to docker hub on every release.

Hi @skyleaworlder, IMO, we should publish to ghcr.io on every merge, and to docker hub on every release.

Oh, I see. I will revert it later.

hi @skyleaworlder
these are daily docker images. they are for testing in sub repositories or others.
so i think we keep this strategy. ghrc will sweep the expired images.

yes. i agree with @JooKS-me .
and i prefer to create new flow to do release flow.

Now I use "type released" instead of "published" as trigger event of docker-publish-dockerhub.yml. ("published" would make workflow run very often, because "published" event also contains concepts of several other types) ref: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#webhook-payload-object-40
I have tested this feature about GitHub Actions in my personal repo. ref: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#release

Synchronize the progress, I created an issue to infra, and they gave me permission. I have now added two secrets, DOCKERHUB_TOKEN and DOCKERHUB_USER.
I have test the docker-hub account in https://github.com/apache/shenyu/pull/3753


pkgsStatic.postgresql: fix build

The underlying problem was fixed as a side-effect of 77977286d80c9bfb77cbf80989d41c59d66dccf8, for reasons unknown to me. In the current state, it's enough to disable a few breaking dependencies to make the build pass.
Note, that this builds the full package, including backend. However, the backend is not working, yet: Loading shared modules, which PostgreSQL heavily depends is still broken. Further, all binaries in the default output, even client binaries such as psql, are currently dynamically linked against libpq.so. While the current autoconf based build system doesn't support changing this, this might be possible in the future with meson.
However, not all is bad: Fixing the build allows using the static libpq.a library, which is probably the one thing that most users want from pkgsStatic.postgresql anyway.
Resolves #191920
Note: I also experimented with a meson-based static build, only to then notice that autoconf works with the basics as well. Making the switch to meson eventually should make things better, though: I was able to build a working backend, too, at least enough to run basic test suites for postgresql drivers with this. We can't fully switch to meson as a build system for 16 or 17, yet, because JIT will not work correctly. The meson build system doesn't build the required bitcode files, yet.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Would be good to understand what's wrong with the broken dependencies.  Are they not compatible with being built statically in some fundamental way?  If so, that should be marked in badPlatforms (see e.g. systemd), and then we should use lib.meta.availableOn rather than using an explicit isStatic check, so that platform info for those dependents can have a single source of truth.

The idea was to have a package that builds at least so that you can the libpq.a, correct?
For me, it still fails with
***
ERROR: `xmllint' is missing on your system.
***
make[3]: *** [Makefile:72: postgres-full.xml] Error 1
make[3]: Leaving directory '/build/postgresql-17.2/doc/src/sgml'
make[2]: *** [Makefile:8: all] Error 2
make[2]: Leaving directory '/build/postgresql-17.2/doc/src'
make[1]: *** [Makefile:16: all] Error 2
make[1]: Leaving directory '/build/postgresql-17.2/doc'
make: *** [GNUmakefile:16: world-doc-recurse] Error 2
make: *** Waiting for unfinished jobs....


New tileset

PR updating the tileset:
https://user-images.githubusercontent.com/1263058/200172848-2bd1e8d7-55fa-420c-b867-b7eba9e40836.mp4
There's a weird bug with YSort when sorting things with Y < 0, not sure what's going on here:

trigger format


Documentation / project status

Hi, I am using Quinn for a project and I would also like to add http/3 to both a server and a client written in Rust.
I would like to know if the project is ready (maybe not stable but usable) and if there is any documentation or tutorial or I would have to inspect the source code or the tests to use it
Sorry to write an issue because of this, but I think that at least the lack of a short description in the readme can be considered enough for an issue

Hi @euberdeveloper, thanks for your interest in the project.
Yes, I realize that landing on the repo with no README at all can make one feel the project is not active. I plan to redact one along with the API documentation very soon.
The crate is usable, and it should interoperate decently with most of the other implementations out there.
For the moment, there is no documentation or tutorial. But a good starting point for you would be the examples in examples/. Let me know if I can be of any help if you start trying to implement something.
Opening an Issue is totally justified for this matter. Right now, I'm working on graceful shutdowns, and I should be preparing the crate for a first release just after that. See the v0.1 milestone about this.

Hi, I'm trying to build a server that supports WebTransport clients, which is a use case that might become more popular with the release of WebTransport in Chrome 97.
Good to know that v0.1 isn't far away, keep up the good work!

Hi @Pascualex.
Nice to know you are interested to use this crate for WebTransport. I'll look up for that a bit (I'm not aware of this :sweat_smile:).
If you think this might be useful and have the time to do this, feel free to open a tracking issue.
Thanks for the encouragements :smile:

I believe that no additional work is required to support WebTransport, but I might be wrong.
I just wanted to let you know because there might be more people looking for an HTTP/3 server from this point on 😄.


Provider returns wrong field

What happened?
https://github.com/pulumi/pulumi-java/pull/597
The field deployment contains wrong URN:
urn:pulumi:dev::iac-workshop-lambda-api-gateway::aws-apigateway:index:RestAPI::helloWorldApi
instead of:
urn:pulumi:dev::iac-workshop-lambda-api-gateway::aws-apigateway:index:RestAPI$aws:apigateway/deployment:Deployment
according to schema
Java implementation is unable to deserialize this:
debug: Read response for resource: t=aws-apigateway:index:RestAPI, name=helloWorldApi, urn=urn:pulumi:dev::iac-workshop-lambda-api-gateway::aws-apigateway:index:RestAPI::helloWorldApi, id=, remote=true, data=fields {
      key: "api"
      value {
        struct_value {
          fields {
            key: "4dabf18193072939515e22adb298388d"
            value {
              string_value: "5cf8f73096256a8f31e491e813e4eb8e"
            }
          }
          fields {
            key: "id"
            value {
              string_value: ""
            }
          }
          fields {
            key: "urn"
            value {
              string_value: "urn:pulumi:dev::iac-workshop-lambda-api-gateway::aws-apigateway:index:RestAPI$aws:apigateway/restApi:RestApi::helloWorldApi"
            }
          }
        }
      }
    }
    fields {
      key: "deployment"
      value {
        struct_value {
          fields {
            key: "4dabf18193072939515e22adb298388d"
            value {
              string_value: "5cf8f73096256a8f31e491e813e4eb8e"
            }
          }
          fields {
            key: "urn"
            value {
              string_value: "urn:pulumi:dev::iac-workshop-lambda-api-gateway::aws-apigateway:index:RestAPI::helloWorldApi"
            }
          }
        }
      }
    }
    fields {
      key: "stage"
      value {
        struct_value {
          fields {
            key: "4dabf18193072939515e22adb298388d"
            value {
              string_value: "5cf8f73096256a8f31e491e813e4eb8e"
            }
          }
          fields {
            key: "id"
            value {
              string_value: ""
            }
          }
          fields {
            key: "urn"
            value {
              string_value: "urn:pulumi:dev::iac-workshop-lambda-api-gateway::aws-apigateway:index:RestAPI$aws:apigateway/stage:Stage::helloWorldApi"
            }
          }
        }
      }
    }

Steps to reproduce
https://github.com/pulumi/pulumi-java/pull/597
Expected Behavior
Getting a correct URN.
Actual Behavior
Getting a wrong URN.
Versions used
No response
Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Could you please post the shortest Pulumi program that reproduces this. The link in "Steps to reproduce" is not actionable.
The next step would be to try to rewrite this program to TypeScript and trace what happens then.
I suspect, but would need to confirm, that the Java SDK is not handling resource references correctly in the serde.
This is a type reference in schema expecting that the type of "deployment" property is "Deployment":
     "$ref": "/aws/v5.4.0/schema.json#/resources/aws:apigateway%2Fdeployment:Deployment"

This is a reference to an object (resource) named helloWorldApi in a current stack. From https://pulumi-developer-docs.readthedocs.io/en/latest/providers/implementers-guide.html?highlight=URN#urns it would seem that the type inlined into the URN is unexpecetd (RestAPI instead of Deployment) but perhaps that is OK? SDK should not be validating that perhaps, but treating URNs as opaque. If there is an URN corresponding to this resource in the stack perhaps use it?
urn:pulumi:dev::iac-workshop-lambda-api-gateway::aws-apigateway:index:RestAPI::helloWorldApi

I'm guessing somewhat though, first need a repro I can trace to find out more.

OK the repro is in https://github.com/pulumi/pulumi-java/issues/594 embedded in the issue. Let me try that.

I could not reproduce in TypeScript because the provider does not install (https://github.com/pulumi/pulumi-aws-apigateway/issues/42) but I did reproduce in C#:

using Pulumi;
using Pulumi.Aws.S3;
using Pulumi.Aws.Iam;
using Pulumi.Aws.Lambda;
using Pulumi.AwsApiGateway;
using Pulumi.AwsApiGateway.Inputs;
using System.Collections.Generic;

class MyStack : Stack
{
    public MyStack()
    {

        var role = new Role("lambdaRole", new RoleArgs()
        {
            AssumeRolePolicy = @"

                            {
                              ""Version"": ""2012-10-17"",
                              ""Statement"": [
                                {
                                  ""Effect"": ""Allow"",
                                  ""Principal"": {
                                    ""Service"": ""lambda.amazonaws.com""
                                  },
                                  ""Action"": ""sts:AssumeRole""
                                }
                              ]
                            }
"
        });

        var rpaArgs = new RolePolicyAttachmentArgs()
        {
            Role = role.Name,
            PolicyArn = ManagedPolicy.AWSLambdaBasicExecutionRole.ToString()
        };

        var lambdaBasicExecutionRole = new RolePolicyAttachment(
            "basicExecutionRole", rpaArgs);

        var lambdaFunc = new Function("helloWorldFunction", new FunctionArgs()
        {
            Role = role.Arn,
            Handler = "index.handler",
            Runtime = Runtime.NodeJS12dX,
                Code = new AssetArchive(new Dictionary<string,AssetOrArchive>())
        });

        var restApi = new RestAPI("helloWorldApi", new RestAPIArgs()
        {
            Routes = {
                new RouteArgs()
                {
                    Path = "/",
                    Method = Method.GET,
                    EventHandler = lambdaFunc
                }
            }
        });

        // Create an AWS resource (S3 Bucket)
        var bucket = new Bucket("my-bucket");

        // Export the name of the bucket
        this.BucketName = bucket.Id;
    }

    [Output]
    public Output<string> BucketName { get; set; }
}

Refs:
  <ItemGroup>
    <PackageReference Include="Pulumi" Version="3.*" />
    <PackageReference Include="Pulumi.Aws" Version="5.*" />
    <PackageReference Include="Pulumi.AwsApiGateway" Version="0.0.8" />
  </ItemGroup>

Result:
    error: Running program '/Users/anton/tmp/repro/pulumi-java-594/cs-version/bin/Debug/netcoreapp3.1/test-csharp.dll' failed with an unhandled exception:
    System.InvalidCastException: Unable to cast object of type 'Pulumi.AwsApiGateway.RestAPI' to type 'Pulumi.Aws.ApiGateway.Deployment'.
       at void Pulumi.Serialization.OutputCompletionSource<T>.SetValue(OutputData<object> data)
       at async Task Pulumi.Deployment.CompleteResourceAsync(Resource resource, bool remote, Func<string, Resource> newDependency, ResourceArgs args, ResourceOptions options, ImmutableDictionary<string, IOutputCompletionSource> completionSources)

So it's encouraging we're having this issue in both C# and Java.

Okay. I did not get a chance to test Go yet but it sounds like all of Go/C#/Java have the same idea, that is when parsing a resource reference that's just an URN from the wire, they go ahead and try to parse type out of the URN and construct a value of that type.
So then the issue is indeed somewhere in how this URN got built:
Actual: urn:pulumi:dev::iac-workshop-lambda-api-gateway::aws-apigateway:index:RestAPI::helloWorldApi
Expect: urn:pulumi:dev::iac-workshop-lambda-api-gateway::aws-apigateway:index:Deployment::helloWorldApi

If it helps, this is the exact place where the log "debug: Read response for resource: ..." is from:
https://github.com/pulumi/pulumi-java/blob/cb3c1b15b423e8f20859b9cd5ea88cb47aba7cc9/sdk/java/pulumi/src/main/java/com/pulumi/deployment/internal/DeploymentImpl.java#L1147


posenet 2.0

@rwightman thanks for the great work. Do you have plan to upgrade the posenet to 2.0 as js official repo?

thanks


Prevent email addresses in the logs through ActionMailer/Sidekiq

Context
Now that ActionMailer emails are sent in background jobs, there are log statements exposing email addresses at the time of enqueuing and at the time of executing the job.

Changes proposed in this pull request
Suppress all ActiveJob logging, raise Sidekiq log_level to WARN.
Guidance to review
You can remove the if Rails.env.production? guards from config/initializers/sidekiq.rb and config/initializers/active_job_logger.rb, set  LOGSTASH_ENABLE=true and run rails/sidekiq/clockwork locally.
Link to Trello card
616 - We should not log emails when candidates sign in

I'd prefer to solve this by making sure that the arguments to sidekiq jobs do not contain PII. We can create a separate job that triggers after creation, which sends the email and slack message. That only needs a candidate_id in the args. WDYT?

I agree but we'll need to write our own workers, as ActionMailer jobs pass all arguments to the mailer as arguments for the job. I think we should still merge this in the meantime and when we have these new workers bring back :info log_level for sidekiq.

I'd prefer to solve this by making sure that the arguments to sidekiq jobs do not contain PII. We can create a separate job that triggers after creation, which sends the email and slack message. That only needs a candidate_id in the args. WDYT?

I agree but we'll need to write our own workers, as ActionMailer jobs pass all arguments to the mailer as arguments for the job. I think we should still merge this in the meantime and when we have these new workers bring back :info log_level for sidekiq.

We've decided to change all mailers to accept a candidate, rather than an email address.

Have updated this to pass candidate rather than email_address to the mailers, except during the sign_in_without_account_email flow.


Feature 1137 Create Terraform scripts for ECS backend

Set up AWS infrastructure for the backend
Github Issue Number Here: #1137
What user problem are we solving?
We want to use Terraform for the aws infrastructure so that everything is defined in code. This Terraform code sets up the architecture specified in the diagram below. ALB routes requests to ECS fargate, which houses the Django backend containers. It also sets up ECS with EC2 launch type (g4dn.xlarge) that'll eventually be used for the training workers, but right now they don't do anything yet..
Testing Methodology
cd dlp-terraform/ecs
terraform apply
HTTP GET http://alb-[id].us-east-1.elb.amazonaws.com/api/datasets/default/IRIS/columns gets the proper columns when passed a Bearer token
terraform destroy

@andrewpeng02 AWESOME work on this! Really love the thoroughness here. Love the detailed testing provided. I added a few minor questions/comments. Could you address those and tag me for re-review?
Also, what would be the next steps after this PR?

Next steps are moving the training into the training containers #1136 @karkir0003


Fix Compilation Error in React Native 0.47.0

Any blockers to this? @doronpr @DanielZlotin @rotemmiz
Solves this issue: https://github.com/wix/react-native-newrelic/issues/15

Can confirm this solves https://github.com/wix/react-native-newrelic/issues/15 for me locally


Updating scaledObject annotations does not propagate the to HPA

Report
We need some annotations on our HPA for internal process. And sometimes we need to update them.
Acutally scaledObject annotation are propagated on creation but they are not updated if scaledObject change target only annotiations.
If other change append at same times no there is no problem
Expected Behavior
Even if we update only annotations on scaledObject hpa need to be reconcile.
Actual Behavior
No change append on hpa annotations
Steps to Reproduce the Problem

Create a scaled object with some annotations

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  annotations:
    test: "this-is-a-test"
  labels:
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: 1.0.0
  name: test
spec:
  advanced:
    horizontalPodAutoscalerConfig:
      behavior:
        scaleDown:
          policies:
          - periodSeconds: 60
            type: Percent
            value: 10
          - periodSeconds: 60
            type: Pods
            value: 5
          selectPolicy: Min
          stabilizationWindowSeconds: 1800
        scaleUp:
          policies:
          - periodSeconds: 5
            type: Percent
            value: 100
          - periodSeconds: 5
            type: Pods
            value: 4
          selectPolicy: Max
          stabilizationWindowSeconds: 0
    scalingModifiers: {}
  cooldownPeriod: 300
  maxReplicaCount: 10
  minReplicaCount: 2
  pollingInterval: 30
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: test
  triggers:
  - metadata:
      value: "20"
    metricType: AverageValue
    type: cpu

HPA is created with those annotations
Update scaledObject annotations and deploy it

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  annotations:
    test: "this-is-another-test"
  labels:
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: 1.0.0
  name: test
spec:
  advanced:
    horizontalPodAutoscalerConfig:
      behavior:
        scaleDown:
          policies:
          - periodSeconds: 60
            type: Percent
            value: 10
          - periodSeconds: 60
            type: Pods
            value: 5
          selectPolicy: Min
          stabilizationWindowSeconds: 1800
        scaleUp:
          policies:
          - periodSeconds: 5
            type: Percent
            value: 100
          - periodSeconds: 5
            type: Pods
            value: 4
          selectPolicy: Max
          stabilizationWindowSeconds: 0
    scalingModifiers: {}
  cooldownPeriod: 300
  maxReplicaCount: 10
  minReplicaCount: 2
  pollingInterval: 30
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: test
  triggers:
  - metadata:
      value: "20"
    metricType: AverageValue
    type: cpu

HPA is not updated

Logs from KEDA operator
example

KEDA Version
2.13.0
Kubernetes Version
1.26
Platform
Other
Scaler Details
cpu,prometheus
Anything else?
No response

Hey!
Thanks for reporting! I can replicate the issue.
Are you willing to contribute with the fix?

I think that the issue is just that KEDA doesn't trigger a reconciliation if (generic) annotations or labels change:
https://github.com/kedacore/keda/blob/cd57dd9525dc8c25e95a42524701045bb4fdef14/controllers/keda/scaledobject_controller.go#L129-L136
Do you know if there is any reason for ignoring those changes @zroubalik ?

I think that the issue is just that KEDA doesn't trigger a reconciliation if (generic) annotations or labels change:
https://github.com/kedacore/keda/blob/cd57dd9525dc8c25e95a42524701045bb4fdef14/controllers/keda/scaledobject_controller.go#L129-L136
Do you know if there is any reason for ignoring those changes @zroubalik ?

Yeah, this has been done to reduce the number of reconciliations.