[BUG] cdk-graph-plugin diagram release build only works on linux-x64

Describe the bug
cdk-graph-plugin-diagram is broken due to environment issues with the sharp dependencies.
The sharp package requires pre-built dependencies based on environment - which for the CI release build is linux-x64, resulting in broken functionality on macOs and other non-linux-x64 environments.
https://sharp.pixelplumbing.com/install#prebuilt-binaries
Expected Behavior
Sharp bundled dependency should work cross platform
Current Behavior
Sharp bundled dependency ONLY works on linux-x64 (which is CI release platform)
Reproduction Steps
Use the cdk-graph-diagram-plugin on macOs
Possible Solution
https://github.com/lovell/sharp-libvips
Additional Information/Context
No response
PDK version used
0.12.27
What languages are you seeing this issue on?
Typescript
Environment details (OS name and version, etc.)
macos

Getting npm ERR! 415 Unsupported Media Type - PUT https://registry.npmjs.org/@aws-prototyping-sdk%2fcdk-graph-plugin-diagram - Hard link is not allowed during npm publishing.


Exact matching unquote

Partially closes me-and/Cygwin-fzf#2

...apparently GitHub thinks making the ruby branch instead be master means I want to close all the pull requests relating to it. And it won't let me reopen them, either.
sigh

Merged this manually into master.


onSuccessHandler is not a function

I'm getting this error after the onSuccess runs.
metadata is undefined even though I have selectAccount: true
token does have value
Uncaught TypeError: onSuccessHandler is not a function              link-initialize.js?_=1467893467014:2
myApp.config([
'plaidLinkProvider',
    function(plaidLinkProvider) {
        plaidLinkProvider.init({
            selectAccount: true,
            clientName: 'My App',
            env: 'tartan',
            key: 'test_key',
            product: 'auth'
        });
    }
])

.controller('mainPlaidCtrl', [
    '$scope',
    'plaidLink',
    'PlaidService',

    function($scope, plaidLink, PlaidService) {
        var plaidService = PlaidService;
        $scope.token = '';
        $scope.plaidIsLoaded = plaidLink.isLoaded;

        plaidLink.create({
            onSuccess: function(token, metadata) {
                $scope.token = token;
                console.log('metadata', metadata);
                console.log('token', token);
                var plaidSuccessObject = {};
                    plaidSuccessObject.public_token = token;
                    // plaidSuccessObject.account_id = metadata.account_id;
                    plaidService.sendToken(plaidSuccessObject);

            },
            onExit: function() {
                console.log('user closed');
            }
        });

        $scope.openPlaid = function() {
            plaidLink.open();
        };
    }
]);

<link<EMAIL_ADDRESS>data-semver="3.2.0" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" />

<link href="https://netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">

<script src="/assets/vendors/angular-plaid-link/src/angular-plaid-link.js"></script>

< body >
< script src="https://cdn.plaid.com/link/stable/link-initialize.js">
< script type="text/javascript" src="/assets/scripts/plaidexample.js">
< /body >

This issue was resolved when I added @mpk2 changes  https://github.com/csbarnes/angular-plaid-link/pull/2/commits/dd7993e2ed20d745aa92a96cccf49e016cfbdd9b

Still waiting on this as well. Right now I've just made the manual changes, but that breaks when I move projects to different hardware.


 The function successively generates permutations
of its input  until it finds one that is sorted. It is not considered useful for sorting,
but may be used for educational purposes, to contrast it with more efficient algorithms.

#4   issue
@AnirudhDaya @4N1Z  verify the PR

Hey pal, the code works great. But needs documentation like

Complexities

requested changes are made


Autoflake removes imports that are used as the string bound of a type variable

This works great:
from typing import Any

x: 'Any' = 2

But this doesn't work:
from typing import Any, TypeVar

T = TypeVar('T', bound='Any')

def f(x: T):
    pass

String annotations are sometimes required here when Any is used with a generic type that is conditionally imported as illustrated in #76. Such an annotation must be a string, which means that Any must be a  string too. Please consider treating the bound of a TypeVar as an annotation.

Running pyflakes on your example code also finds that typing.Any is unused. Since autoflake relies on pyflakes, I suspect this is a pyflakes issue -- maybe report this there?

@PeterJCLaw Thanks, done!


On KaiOS, make different Win screen layout

~When playing on the small screen & you win, sometimes you only see buttons at the bottom.
Make it scroll to the top so you get that nice graphics and time records!~
Turns out, we are scrolling to the top.
It seems like on KaiOS, scrollTo(0,0) it 0,0 on the screen, not the document, so the top few pixels are hidden behind URL bar. This is not a issue if user is in full screen mode.

Thought about it more.
I think the better approach is to put critical informations in side of 240 x 240 pixels in the middle.

Make timer logo half the size
two buttons should be in one line horizontally

I lie. It was just our scrollTo function being funky.
I'm going to close this.


RELEASE.md: Document release process

New versions
1- How to build and test a new version
2- Update CHANGELOG.md
3- Build a new VERSION file
4- Post release documentation/draft. Show off new features/changes.
Release Candidates
1- Testing process
2- Deadline to test

Done. See https://github.com/zsh-users/antigen/wiki/Release-process


gms is running but not healthy (quick start datahub)

I have tried two method to start datahub, but there always had the problem
`Unable to run quickstart - the following issues were detected:

datahub-gms is running but not healthy
`

or
[root@localhost etc]# docker ps CONTAINER ID        IMAGE                                   COMMAND                  CREATED             STATUS                     PORTS                                              NAMES 166a2a279629        acryldata/acryl-datahub-actions:head    "/bin/sh -c 'docke..."   13 hours ago        Up 3 minutes                                                                  datahub_datahub-actions_1 adda466a62e3        linkedin/datahub-gms:head               "/bin/sh -c /datah..."   13 hours ago        Up 3 minutes (unhealthy)   <IP_ADDRESS>:8080->8080/tcp                             datahub-gms
i can see it's a "gms mem limit" problem but i can't find any way to solve it.

to help troubleshooting efforts,
what does running docker logs datahub-gms say?

to help troubleshooting efforts, what does running docker logs datahub-gms say?
thank you and say this：

echo
grep -q ://
NEO4J_HOST=http://
[[ ! -z '' ]]
[[ -z '' ]]
ELASTICSEARCH_AUTH_HEADER='Accept: /'
[[ '' == true ]]
ELASTICSEARCH_PROTOCOL=http
WAIT_FOR_EBEAN=
[[ '' != true ]]
[[ '' == ebean ]]
[[ -z '' ]]
WAIT_FOR_EBEAN=' -wait tcp://mysql:3306 '
WAIT_FOR_CASSANDRA=
[[ '' == cassandra ]]
WAIT_FOR_KAFKA=
[[ '' != true ]]
++ echo broker:29092
++ sed 's/,/ -wait tcp:///g'
WAIT_FOR_KAFKA=' -wait tcp://broker:29092 '
WAIT_FOR_NEO4J=
[[ elasticsearch != elasticsearch ]]
OTEL_AGENT=
[[ '' == true ]]
PROMETHEUS_AGENT=
[[ '' == true ]]
COMMON='
-wait tcp://mysql:3306            -wait tcp://broker:29092           -timeout 240s     java -Xms1g -Xmx1g                -jar /jetty-runner.jar     --jar jetty-util.jar     --jar jetty-jmx.jar     --config /datahub/datahub-gms/scripts/jetty.xml     /datahub/datahub-gms/bin/war.war'
[[ '' != true ]]
exec dockerize -wait http://elasticsearch:9200 -wait-http-header 'Accept: /' -wait tcp://mysql:3306 -wait tcp://broker:29092 -timeout 240s java -Xms1g -Xmx1g -jar /jetty-runner.jar --jar jetty-util.jar --jar jetty-jmx.jar --config /datahub/datahub-gms/scripts/jetty.xml /datahub/datahub-gms/bin/war.war
2022/05/06 06:40:45 Waiting for: http://elasticsearch:9200
2022/05/06 06:40:45 Waiting for: tcp://mysql:3306
2022/05/06 06:40:45 Waiting for: tcp://broker:29092
2022/05/06 06:40:45 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:45 Connected to tcp://mysql:3306
2022/05/06 06:40:45 Received 200 from http://elasticsearch:9200
2022/05/06 06:40:46 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:47 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:48 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:49 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:50 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:51 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:52 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:53 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:54 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:55 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:56 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:57 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:58 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:59 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:00 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:01 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:02 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:03 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:04 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:05 Connected to tcp://broker:29092
2022-05-06 06:41:06.261:INFO::main: Logging initialized @742ms to org.eclipse.jetty.util.log.StdErrLog
WARNING: jetty-runner is deprecated.
See Jetty Documentation for startup options
https://www.eclipse.org/jetty/documentation/
2022-05-06 06:41:06.305:INFO:oejr.Runner:main: Runner
2022-05-06 06:41:06.564:INFO:oeju.TypeUtil:main: JVM Runtime does not support Modules
2022-05-06 06:41:06.702:INFO:oejs.Server:main: jetty-9.4.20.v20190813; built: 2019-08-13T21:28:18.144Z; git: 84700530e645e812b336747464d6fbbf370c9a20; jvm 1.8.0_302-b08
2022-05-06 06:41:07.545:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@50cbc42f{/,null,UNAVAILABLE}{file:///datahub/datahub-gms/bin/war.war}
java.util.zip.ZipException: invalid entry CRC (expected 0x784cbf6c but got 0x87b34093)
at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:394)
at java.util.zip.ZipInputStream.read(ZipInputStream.java:196)
at java.util.jar.JarInputStream.read(JarInputStream.java:207)
at org.eclipse.jetty.util.IO.copy(IO.java:172)
at org.eclipse.jetty.util.IO.copy(IO.java:122)
at org.eclipse.jetty.util.resource.JarResource.copyTo(JarResource.java:218)
at org.eclipse.jetty.webapp.WebInfConfiguration.unpack(WebInfConfiguration.java:636)
at org.eclipse.jetty.webapp.WebInfConfiguration.preConfigure(WebInfConfiguration.java:140)
at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:488)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:523)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:106)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:106)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:407)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:106)
at org.eclipse.jetty.server.Server.doStart(Server.java:371)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at org.eclipse.jetty.runner.Runner.run(Runner.java:520)
at org.eclipse.jetty.runner.Runner.main(Runner.java:565)
2022-05-06 06:41:07.603:INFO:oejs.AbstractConnector:main: Started ServerConnector@39a054a5{HTTP/1.1,[http/1.1]}{<IP_ADDRESS>:8080}
2022-05-06 06:41:07.604:INFO:oejs.Server:main: Started @2089ms

to help troubleshooting efforts, what does running docker logs datahub-gms say?
thank you and say this:

`+ echo

grep -q ://
NEO4J_HOST=http://
[[ ! -z '' ]]
[[ -z '' ]]
ELASTICSEARCH_AUTH_HEADER='Accept: /'
[[ '' == true ]]
ELASTICSEARCH_PROTOCOL=http
WAIT_FOR_EBEAN=
[[ '' != true ]]
[[ '' == ebean ]]
[[ -z '' ]]
WAIT_FOR_EBEAN=' -wait tcp://mysql:3306 '
WAIT_FOR_CASSANDRA=
[[ '' == cassandra ]]
WAIT_FOR_KAFKA=
[[ '' != true ]]
++ echo broker:29092
++ sed 's/,/ -wait tcp:///g'
WAIT_FOR_KAFKA=' -wait tcp://broker:29092 '
WAIT_FOR_NEO4J=
[[ elasticsearch != elasticsearch ]]
OTEL_AGENT=
[[ '' == true ]]
PROMETHEUS_AGENT=
[[ '' == true ]]
COMMON='
-wait tcp://mysql:3306            -wait tcp://broker:29092           -timeout 240s     java -Xms1g -Xmx1g                -jar /jetty-runner.jar     --jar jetty-util.jar     --jar jetty-jmx.jar     --config /datahub/datahub-gms/scripts/jetty.xml     /datahub/datahub-gms/bin/war.war'
[[ '' != true ]]
exec dockerize -wait http://elasticsearch:9200 -wait-http-header 'Accept: /' -wait tcp://mysql:3306 -wait tcp://broker:29092 -timeout 240s java -Xms1g -Xmx1g -jar /jetty-runner.jar --jar jetty-util.jar --jar jetty-jmx.jar --config /datahub/datahub-gms/scripts/jetty.xml /datahub/datahub-gms/bin/war.war
2022/05/06 06:40:45 Waiting for: http://elasticsearch:9200
2022/05/06 06:40:45 Waiting for: tcp://mysql:3306
2022/05/06 06:40:45 Waiting for: tcp://broker:29092
2022/05/06 06:40:45 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:45 Connected to tcp://mysql:3306
2022/05/06 06:40:45 Received 200 from http://elasticsearch:9200
2022/05/06 06:40:46 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:47 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:48 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:49 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:50 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:51 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:52 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:53 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:54 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:55 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:56 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:57 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:58 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:40:59 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:00 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:01 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:02 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:03 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:04 Problem with dial: dial tcp <IP_ADDRESS>:29092: connect: connection refused. Sleeping 1s
2022/05/06 06:41:05 Connected to tcp://broker:29092
2022-05-06 06:41:06.261:INFO::main: Logging initialized @742ms to org.eclipse.jetty.util.log.StdErrLog
WARNING: jetty-runner is deprecated.
See Jetty Documentation for startup options
https://www.eclipse.org/jetty/documentation/
2022-05-06 06:41:06.305:INFO:oejr.Runner:main: Runner
2022-05-06 06:41:06.564:INFO:oeju.TypeUtil:main: JVM Runtime does not support Modules
2022-05-06 06:41:06.702:INFO:oejs.Server:main: jetty-9.4.20.v20190813; built: 2019-08-13T21:28:18.144Z; git: 84700530e645e812b336747464d6fbbf370c9a20; jvm 1.8.0_302-b08
2022-05-06 06:41:07.545:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@50cbc42f{/,null,UNAVAILABLE}{file:///datahub/datahub-gms/bin/war.war}
java.util.zip.ZipException: invalid entry CRC (expected 0x784cbf6c but got 0x87b34093)
at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:394)
at java.util.zip.ZipInputStream.read(ZipInputStream.java:196)
at java.util.jar.JarInputStream.read(JarInputStream.java:207)
at org.eclipse.jetty.util.IO.copy(IO.java:172)
at org.eclipse.jetty.util.IO.copy(IO.java:122)
at org.eclipse.jetty.util.resource.JarResource.copyTo(JarResource.java:218)
at org.eclipse.jetty.webapp.WebInfConfiguration.unpack(WebInfConfiguration.java:636)
at org.eclipse.jetty.webapp.WebInfConfiguration.preConfigure(WebInfConfiguration.java:140)
at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:488)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:523)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:106)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:106)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:407)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:106)
at org.eclipse.jetty.server.Server.doStart(Server.java:371)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at org.eclipse.jetty.runner.Runner.run(Runner.java:520)
at org.eclipse.jetty.runner.Runner.main(Runner.java:565)
2022-05-06 06:41:07.603:INFO:oejs.AbstractConnector:main: Started ServerConnector@39a054a5{HTTP/1.1,[http/1.1]}{<IP_ADDRESS>:8080}
2022-05-06 06:41:07.604:INFO:oejs.Server:main: Started @2089ms
`

gms will attempt to connect to all the data stores. If it does not connect successfully, it will keep waiting for it to come up (and will not become healthy). so the next qn is whether docker logs broker show any issue?
Thanks a lot, but I tried this one command and got so many messages that I couldn't solve the problem.

gms will attempt to connect to all the data stores. If it does not connect successfully, it will keep waiting for it to come up (and will not become healthy). so the next qn is whether docker logs broker show any issue?

gms will attempt to connect to all the data stores. If it does not connect successfully, it will keep waiting for it to come up (and will not become healthy). so the next qn is whether docker logs broker show any issue?

thanks a lot for your replying，i got a information that waiting for a while will solve it. And I don't know if the GMS you said will connect to all the databases, if you have to wait for a while and wait for it to connect, then this problem will be solved.

Hello @looperEit,
What operating system are you using? We have seen the crc entry exception happening in CentOS-based systems but haven’t had success in identifying the root cause nor in replicating the issue.

Hello @looperEit,
What operating system are you using? We have seen the crc entry exception happening in CentOS-based systems but haven’t had success in identifying the root cause nor in replicating the issue.

thanks for your replying, i use the Cent-OS and the version of the datahub is v0.8.33. and it shows that the gms is unhealthy. But when i using the datahub--version 0.8.34 and it work!. so i don't know if it is a version issue？


Error of "Failed-Forbidden" while downloading GIT

When i download the progit book or the Git itself, the download starts and after sometime it stops and its written under the download tab "Failed-Forbidden". Can anyone tell me how i can sort out this issue? I am using Win 10, 64 bit. Waiting for the solution asap.

When i download the progit book or the Git itself, the download starts and after sometime it stops and its written under the download tab "Failed-Forbidden". Can anyone tell me how i can sort out this issue? I am using Win 10, 6 bit.

I tried and downloaded the book without issues;
What link do you exactly click?

it also works for me. can you try with another browser, another machine, and/or using incognito mode?

I tried with Microsoft Edge browser, issue resolved. Thanks to both of you :)


Fixup tests on mac including asset symlinks support

This updates the webpack-asset-relocator-loader to support the tfjs-node build that was failing on MacOS.
The failure was due to shared libraries with .so extensions not begin emitted on mac, and also due to not having support for symlinked assets, as the pathing of the shared library relies on symlinks. Both of these are fixed in the latest webpack-asset-relocator-loader release at https://github.com/zeit/webpack-asset-relocator-loader/commit/23b0dbffce22fbe19f51c292a73f40ba82ab8386.

Codecov Report

Merging #314 into master will increase coverage by 0.33%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #314      +/-   ##
==========================================
+ Coverage   68.37%   68.71%   +0.33%
==========================================
  Files          12       12
  Lines         370      374       +4
==========================================
+ Hits          253      257       +4
  Misses        117      117

Impacted Files
Coverage Δ

src/cli.js
62.87% <100%> (+0.67%)
:arrow_up:

src/index.js
69.73% <100%> (+0.2%)
:arrow_up:

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 bc00462...78201dd. Read the comment docs.


Update CallingConvention.rst

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves #NNNNN, fix apple/llvm-project#MMMMM.

Looks like this PR was created in an error.


Integrate with ServiceCollection

Can you provider more examples about how to use with ASP.NET Core and ServiceCollection and IOptions?
For example,
Program.cs:
builder.Services.AddTypedTableStore<Cars>((car, options) => {
  options.tableName = "Cars";
  options.connectionString: "...";
  options.partitionKeySelector = car.City;
  options.rowKeySelector = car.PlateNo;
});

Hey I've added a guide
https://github.com/madushans/QuickAzTables/blob/main/docs/AspNetIntegration.md
and a bare sample
https://github.com/madushans/QuickAzTables/tree/main/samples/QuickAzTables.AspNetIntegrationBasic

as for IOptions it is up to you if you'd like to use some custom confuguration.
If this is the case, you can use it as below.
 builder
       .Configuration
       .Configure<MyTableSettings>("TableSettings");

 builder.Services.AddSingleton((services) =>
            {
                // this connection string must be specified in appsettings.json
                var connectionString = builder
                                       .Services
                                       .GetService<IOptions<MyTableSettings>>()
                                       ?.ConnectionString;

                if (string.IsNullOrWhiteSpace(connectionString))
                {
                    throw new Exception($"Could not find connection string. ");
                }

                return new TypedTableStore<Car>(tableName: "Cars",
                                                connectionString: connectionString,
                                                partitionKeySelector: c => c.City,
                                                rowKeySelector: c => c.PlateNo);
            });

with MyTableSettings.cs
public class MyTableSettings {
    public string ConnectionString { get; ;set; }
}

and appsettings.json
{
  "Logging": {
      ....
  },
  "TableSettings": {
    "ConnectionString": "add your connection string here",
     .... other settings ?
  },

 ...
}

Let me know if you need further assistance.


Timeline Sync

Mastodon provides a markers API that could allow for timeline sync in Phanpy and other apps. It'd be great if timeline sync could be added, to sync between devices! I currently use this feature on Ivory (which uses its own API for this, not Mastodon's) and being able to jump between phone/desktop is really neat.
Not even the official web version of Mastodon uses this API yet, so I am not sure how reliable it is, but could be worth giving it a shot?

I'm aware of the markers API, but seen folks commenting on it being reseted on the official web version, e.g.: https://github.com/mastodon/mastodon/issues/19036#issuecomment-1309861792 - so most mobile apps (except Manny iOS, if I'm not mistaken) don't even use this.
For Phanpy, it's unfortunately a little complicated with its unique features like Boosts Carousel (horizontal scrolling) and threads/conversations grouping (chronological order on reverse-chronological order) on the timelines.

@cheeaun oh, got it! Seems such a cool feature it's weird the official Mastodon apps don't use it (and actually break it?). Makes sense to be difficult to do so on Phanpy. I love the way it groups and displays toots, it's really the best I've seen.

@cheeaun I've been digging a bit into the code base and trying to think of a way to load posts in chronological order (from the bottom to the top), so, when I open the app, it will remember which post I was at (ideally fetched from an API, but I believe localStorage would be great for a MVP).
If I understand correctly, this already happens whenever you're scrolling and Auto Refresh is enabled, right?
I'm pinging you more so that you can chime in if you think that's a bad idea and/or technically difficult. I wanna play with it a bit and if I can get something like that working I could open a PR!

@matfantinel hey thanks for looking into this.
From my research, this is actually more complicated 😄 Let me put down my (unordered) thoughts:

Boost carousel's position can't be "marked" ← it's grouped based on paginated response, not a defined position. Solution is probably totally ignore its position and only care about non-carousel posts. But once user disable Boost Carousel in Settings, have to include it back.
Ordering the posts chronologically (oldest to latest) may solve the reverse-chronological threads/conversations grouping, but this is a huge change that's not common in microblogging sites/apps (But it's common for messaging apps).
Before even start anything, storing posts in localStorage or IndexedDB would need to be done first (Phanpy now doesn't do it). I know Pinafore/Semaphore does this, so it's a fully offline-capable client.

Storage is needed to restore posts into the timeline as Mastodon has a limit of 800 items (for Home timeline). For very busy timeline, there will be blanks in between and can't be populated anymore.
Once storage is done, need to figure out how to delete old posts — probably fine as browsers have 5-10MB limit per origin (it'll throw errors)

Timeline maybe need to be recoded to use virtual list for performance (for both CPU and memory usage). Rendering 800+ posts could crash the browser. Virtual list can help optimize the rendering based on defined positions too.
Masto.js finally has Paginator.setDirection (I was waiting for this). Previously it can only go next and not previous.
Markers API seem to work only for Home and Notifications timeline (Phanpy now uses it for Notifications, to sync unread dot). So, will need to figure out a way to make it work on other timelines if users want them.


Choreo's waypoint panel doesn't update in response to new waypoint coordinates

Steps to reproduce:

Place down one waypoint.
Place down another.
Observe the coordinates don't change.
Select one of the coordinates and hit Enter.
Observe the waypoint updates to match that coordinate.

Note: Clicking on the Keep In Rectangle and then clicking another waypoint will then update the coordinates to match that waypoint.
Version: 55f01848c8e689da60e8c7808d1ca508f4c2e75e

Duplicate of #1063.


OSVR HDK: Convert fixed-point values to floats.

This PR does the following:

Converts 16-bit fixed-point values to floats (for both the quaternion and acceleration vector).
Fixes the use of a threading library in the CMake file (this makes it cross-platform). It failed to compile under OS X as it was.

Note that I haven't tested this beyond ensuring it compiles successfully.

Tested on Ubuntu 16.04, works fine!
Thanks for the pr


WFLY-5106 bump EclipseLink version to 2.6.0 and OpenJPA to 2.4.0

Windows Build 2448 is now running using a merge of 8bfbd01ddcacb86580f4c095463cdffacae4a5cf

Linux Build 7401 is now running using a merge of 8bfbd01ddcacb86580f4c095463cdffacae4a5cf

Linux with security manager Build 2263 is now running using a merge of 8bfbd01ddcacb86580f4c095463cdffacae4a5cf

Linux with security manager Build 2263 outcome was SUCCESS using a merge of 8bfbd01ddcacb86580f4c095463cdffacae4a5cf
Summary: Tests passed: 895, ignored: 290 Build time: 0:06:51

Windows Build 2448 outcome was SUCCESS using a merge of 8bfbd01ddcacb86580f4c095463cdffacae4a5cf
Summary: Tests passed: 3100, ignored: 370 Build time: 0:53:35

Linux Build 7401 outcome was FAILURE using a merge of 8bfbd01ddcacb86580f4c095463cdffacae4a5cf
Summary: Execution timeout (new); tests failed: 1 (1 new), passed: 3063, ignored: 370; org.wildfly:wildfly-testsuite-integration-domain Build time: 3:00:37
Build problems:
Failed tests detected
Execution timeout
Process exited with code 137
Failed tests
org.jboss.as.test.clustering.messaging.ClusteredMessagingTestCase.testClusteredTopic: <no details avaliable>


SymbolTable: provide more detailed information about re-defined symbols.

Provide location of new and previous definition of a symbol that
is found out to be re-defined.
Signed-off-by: Henner Zeller<EMAIL_ADDRESS>

Codecov Report

Merging #1315 (c946768) into master (b11bba2) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #1315   +/-   ##
=======================================
  Coverage   92.87%   92.87%
=======================================
  Files         340      340
  Lines       23682    23693   +11
=======================================
+ Hits        21995    22006   +11
  Misses       1687     1687

Impacted Files
Coverage Δ

common/text/text_structure.h
100.00% <ø> (ø)

common/text/text_structure.cc
96.77% <100.00%> (+0.07%)
:arrow_up:

verilog/analysis/symbol_table.cc
98.55% <100.00%> (+<0.01%)
:arrow_up:

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 b11bba2...c946768. Read the comment docs.


'fold' command fails, but able to query for state

I have this same script run on some other batch instances and they seem to work but recent ones seem to have this issue.
I can't see anything that jumps out as why new nodes aren't working. Hoping you can help.
lufah -a '.' fold
Error: FahClient('localhost:7396'):'ClientConnection' object has no attribute 'open'
root@1eaeda48d7f942d393b6be187d4c38d000000H:/mnt/batch/tasks/startup/wd/runner/fclient# lufah -a '.' state
{
  "info": {
    "version": "8.3.18",
    "url": "https://v8-3.foldingathome.org/",
    "os": "linux",
    "os_version": "6.5",
    "cpu": "amd64",
    "cpu_brand": "Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz",
    "cpus": 4,
    "gpus": {},
    "mach_name": "1eaeda48d7f942d393b6be187d4c38d000000H",
    "hostname": "1eaeda48d7f942d393b6be187d4c38d000000H",
    "mode": "Release",
    "revision": "99ae953ee7b1c0b3070161cfcf9150184f76bd96",
    "has_battery": false,
    "on_battery": false,
    "id": "_ZLs1_Sx28zg69MAEEKACtNiSoxvyfYEf1Z3fFXhHMU",
    "account": ""
  },
  "config": {
    //Redacted
  },
  "groups": {
    "": {
      "config": {
        "on_idle": false,
        "on_battery": true,
        "keep_awake": true,
        "paused": true,
        "finish": false,
        "beta": false,
        "key": 0,
        "cpus": 4,
        "gpus": {}
      },
      "wait": "2024-11-24T14:22:00Z"
    }
  },
  "units": []
}

Thanks for the report.
Workaround is to use fahctl fold, which was added in fah v8.4.4.

Another workaround:
uvx --with websockets==12 lufah fold

Another workaround:
uvx --with websockets==12 lufah fold

or
uvx --with websockets==13 lufah fold

This was helpful and got it folding again.  You mentioned 8.4.4, but my versions seem to be 8.3 still.
Will defer to you to close or leave open.

I think I need to either explicitly use websockets legacy api, or switch to their new asyncio classes.

Appreciate your work on this. It's remarkably simplified the management headlessly, enabling my automation and monitoring. I'll keep an eye on the repo.

Please reopen if bug persists.

I ran into this problem too. I am running FAH on several machines 24/7. On my desktop PC i'd like to let FAH finish and then shutdown the PC. Since FAHClient still does not offer this (in my eyes fundamental) functionality I wrote a Python script for this task using lufah. But for weeks my lufah call lufah finish only produces the error from above: Error: FahClient('<IP_ADDRESS>'):'ClientConnection' object has no attribute 'open'
The workarounds mentioned here did not help because I can not install uvx (pip throws errors) and fahctl is still not available either. So what can I do to make this work again?

Update lufah to 0.8.1

I tried but the make file fails while installing the websockets dependency ( ERROR: No matching distribution found for windows-curses; platform_system == "Windows" ) and pip install lufah only installs lufah-0.7.0 :-(

Is this on Windows? windows-curses is only used for lufah top
Did you use git pull to update the repo?
You don't actually need the repo nor make.bat
What about pip install --upgrade lufah ?
I use pipx or uv tool install

Yes I am using lufah on windows 10 64bit right now.  pip install --upgrade lufah only installed 0.7.x sadly...
>pip install --upgrade lufah
Collecting lufah
  Using cached lufah-0.8.1-py3-none-any.whl.metadata (8.0 kB)
Collecting shellingham (from lufah)
  Using cached shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)
Collecting typer-slim (from lufah)
  Using cached typer_slim-0.15.1-py3-none-any.whl.metadata (15 kB)
Requirement already satisfied: websockets>=13.0.1 in c:\users\Ch3wi3\appdata\local\programs\python\python313\lib\site-packages (from lufah) (14.1)
INFO: pip is looking at multiple versions of lufah to determine which version is compatible with other requirements. This could take a while.
Collecting lufah
  Using cached lufah-0.8.0-py3-none-any.whl.metadata (8.1 kB)
  Using cached lufah-0.7.0-py3-none-any.whl.metadata (7.0 kB)
Using cached lufah-0.7.0-py3-none-any.whl (32 kB)
Installing collected packages: lufah
Successfully installed lufah-0.7.0

Odd. Do you have more than one lufah installed?
What python --version ?

I have not tested beyond python 3.12

Can you use 0.7.0 with websockets downgraded to 13.0.1 ?

Can you use lufah 0.7.0 with websockets downgraded to 13.0.1 ? Maybe try
pip uninstall lufah
pip install pipx
pipx ensurepath
pipx install uv
pipx uninstall lufah
uv tool install --with websockets==13.0.1 lufah
lufah --version

Hey thank you very much! I tried your commands and now its working. lufah --version  says I am still running 0.7.0 but now apparently with websockets v13.0.1 because the commands "finsh", "pause" and "fold" are working again.

I reverted the changes that were mentioned here: https://github.com/kbernhagen/lufah/issues/10#issuecomment-2496415097 and my lufah fold commands have resumed working on new nodes.
Appreciate your efforts @kbernhagen.

I’m inclined to remove windows-curses as a required dependency.

I pulled the newest repo changes and ran make install-user on my windows machine. Now it builds correctly and >lufah --version says: 0.8.2.
The folding commands pause, finish and fold are working too.
Thanks for the great work!

At least on macOS, uv and pipx use the same directory for the executable. uv will refuse to overwrite a pipx install. So, just saying you might have two lufah installed. Guess it doesn’t matter if 0.8.2 is running.


<EMAIL_ADDRESS>hash check failed

C:\Windows\system32>scoop install bandizip
Updating Scoop...
Update failed.
Installing 'bandizip' (6.18) [64bit]
BANDIZIP-PORTABLE-GL-64BIT.ZIP (3.6 MB) [=====================================================================] 100%
Checking hash of BANDIZIP-PORTABLE-GL-64BIT.ZIP ... ERROR Hash check failed!
App:         extras/bandizip
URL:         https://dl.bandisoft.com/bandizip/BANDIZIP-PORTABLE-GL-64BIT.ZIP
First bytes: 50 4B 03 04 14 00 02 00
Expected:    db7fbebce4be8076fcf362859d62fbc8af717816b99c2206d40c3cbc948c498d
Actual:      f24b48777e803cdef7ed8e2d084aca8692881f3d1dd0228d7ebc44f6ecd6a838
Please try again or create a new issue by using the following link and paste your console output:
https://github.com/lukesampson/scoop-extras/issues/new?title=bandizip%406.18%3A+hash+check+failed

Update failed  is your issue, sorry


tracker.webtorrent.io seems to invalid

$ ping tracker.webtorrent.io
ping: cannot resolve tracker.webtorrent.io: Unknown host

This might need to be reported on webtorrent.

@rllola yee, my mistake


GlobalActor isolated protocols cannot be mocked

When I try to mock the following protocol it fails to compile
Maybe it would be enough to add the same global actor annotation to the generated mock
@MainActor
@Mockable
protocol TestService2 {
    var prop: Int { get set }
}

final class ExampleTests: XCTestCase {
    func test_mainActorProtocol() {
        let mock = MockTestService2()
/// Call to main actor-isolated initializer 'init(policy:)' in a synchronous nonisolated context
/// Add '@MainActor' to make instance method 'test_mainActorProtocol()' part of global actor 'MainActor'
    }
}

Just ran into this as well. Marking all internal members as @MainActor worked in a pinch, but wouldn't scale with other types of objects where isolation is lost (like extensions, parent class implementations, etc).

I don't see the issue here. You are trying to call a main actor isolated init from a non-async context. That is a compilation error.
You should instead make the test async and await the init:
func test_mainActorProtocol() async {
    let mock = await MockTestService2()
}

or (what I would do) mark the tests of such protocols @MainActor as well:
@MainActor
func test_mainActorProtocol() async {
    let mock = MockTestService2()
}

Sorry, i've messed up the example, here is the correct one:
final class ExampleTests: XCTestCase {
    @MainActor
    func test_mainActorProtocol() {
        let mock = MockTestService2()
// Main actor-isolated property 'given' cannot be used to satisfy nonisolated protocol requirement
// Main actor-isolated property 'when' cannot be used to satisfy nonisolated protocol requirement
// Main actor-isolated property 'verify' cannot be used to satisfy nonisolated protocol requirement
    }
}

It can be fixed by adding @preconcurrency to MockableService conformance in the Mockable lib code:
final class MockTestService2: TestService2, @preconcurrency Mockable.MockableService {

I also have SWIFT_STRICT_CONCURRENCY=Complete configured in the target with this code

Did you add @MainActor manually to the generated mock?

No, it is inferred automatically from TestService2 conformance

I see... nonisolated is missing from the given, when and verify declarations inside the mock. Will prepare a fix for this.

Fixed in 0.1.0 by #64


Saving SHAP plots programmatically in Python

First off, thanks a lot for such an awesome tool!
I think I might be missing something obvious, but I'm trying to save SHAP plots from Python, that I'm displaying with the shap plotting functions. I tried a couple ways:
import matplotlib.pyplot as plt
...
shap.summary_plot(shap_values, final_model_features)
plt.savefig('scratch.png')

and...
import matplotlib.pyplot as plt
...
fig = shap.summary_plot(shap_values, final_model_features)
plt.savefig('scratch.png')

but each just saves a blank image. Is there something obvious I'm missing to programmatically save these awesome plots from Python? Or should I just be re-generating them in matplotlib off the SHAP values matrix to do that? Thanks!

By default summary_plot calls plt.show() to ensure the plot displays.
But if you pass show=False to summary_plot then it won't, and think
that might fix the blank figure issue you are having.
On Thu, Jul 12, 2018 at 7:36 AM Max Epstein<EMAIL_ADDRESS>wrote:

First off, thanks a lot for such an awesome tool!
I think I might be missing something obvious, but I'm trying to save SHAP
plots from Python, that I'm displaying with the shap plotting functions. I
tried a couple ways:
import matplotlib.pyplot as plt
...
shap.summary_plot(shap_values, final_model_features)
plt.savefig('scratch.png')
and...
import matplotlib.pyplot as plt
...
fig = shap.summary_plot(shap_values, final_model_features)
plt.savefig('scratch.png')
but each just saves a blank image. Is there something obvious I'm missing
to programmatically save these awesome plots from Python? Or should I just
be re-generating them in matplotlib off the SHAP values matrix to do that?
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/slundberg/shap/issues/153, or mute the thread
https://github.com/notifications/unsubscribe-auth/ADkTxceFgvnQkAAYwNiea4Tb4u3aLlF2ks5uF17jgaJpZM4VM-FL
.

hey thanks! that did it.

shap.summary_plot(shap_values, X, show=False)
This is not working for me. The plot still shows and plt.savefig only gives blank.

@JoshKoh perhaps you have something like %matplotlib inline in your notebook? That might change things.

Is there a way to store the figure into a variable instead of saving it to file?
Thanks

@hmanz after running shap.summary_plot(shap_values, X, show=False) you can run import matplotlib.pyplot as pl; f = pl.gcf() to get the current figure in the variable f. What you do with it after that depends on matplotlib and not shap.

@slundberg thank you for your great solution! I was able to use that solution for all SHAP plots except for the multiple-sample force-plots since there is no support for matplotlib=True
I was wondering if there is a way to accomplish the same thing for the multiple-sample force-plots?

Multiple-sample force-plots are Javascript/HTML. So in order to save those programmatically you will need to have some kind of browser-like renderer. Those exist but I can't comment on all the details to get them running.

Why that not work for me?
My code just like the follow, @slundberg
the code just come from your official demo ,and i just want to save the demo image
import xgboost
import shap
import matplotlib.pyplot as plt
# load JS visualization code to notebook
shap.initjs()
# train XGBoost model
X,y = shap.datasets.boston()
model = xgboost.train({"learning_rate": 0.01}, xgboost.DMatrix(X, label=y), 100)

# explain the model's predictions using SHAP values
# (same syntax works for LightGBM, CatBoost, and scikit-learn models)
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)

# visualize the first prediction's explanation (use matplotlib=True to avoid Javascript)
# fig = plt.gcf()
# shap._*plot本质上就是调用 plt.show()， 所有我们的思路就是如何在下面的文件进行保存
shap.force_plot(explainer.expected_value, shap_values[0,:], X.iloc[0,:],show=False)
plt.savefig('scratch.png')

@wabc1994 I was able to save your plot by replacing the last two lines with:
shap.force_plot(explainer.expected_value, shap_values[0,:], X.iloc[0,:],show=False,matplotlib=True).savefig('scratch.png')

,show=False,matplotlib=True)
.savefig('scratch.png')

shap.force_plot(explainer.expected_value, shap_values, X,show=False,matplotlib=True).savefig('scratch.png')
I tried the code above and I get this error:
Exception: matplotlib = True is not yet supported for force plots with multiple samples!

plt.savefig worked for me. Thanks!
but.. can't I save it to HTML like I can after running force_plot?
plot = shap.force_plot(...) shap.save_html('explainer.html', plot)

Note that when matplotlib=True is set then you can't save an HTML version because no HTML version exists (it is now a matplotlib figure, which is typically best exported as a PDF not HTML)

shap.force_plot(explainer.expected_value, shap_values[0,:],
X.iloc[0,:],show=False,matplotlib=True)
.savefig('scratch.png')
This works for me. But by specifying "matplotlib" = True, the resolution of the plot was downgraded, and a more serious issue is some parts of the original plot were cropped.  Does anyone know how to solve this?

 Does anyone know how to solve this?

Same with you. Only that I found it occurs in version 0.36.0, but works well in 0.35.0. Hope it will be fixed sooner.

When using plot_image, I can not save image because it does not return anything. I think plotting in shap is quite poor! Does someone have any experiences?

Exception: matplotlib = True is not yet supported for force plots with multiple samples!

The following workaround did the trick for me:
I first exported the interactive chart to HTML, then I saved the HTML file to high-resolution pdf.
Here is the code snippet I used:
f=shap.force_plot(explainer.expected_value, shap_values, X, show=False)
shap.save_html("index.htm", f)

Has anyone been able to save either HTML or PNG file for a decision_plot?  I've been able to do this no problem for some of the other plots but haven't had any luck with this one specifically.

@barrettab  Any luck with the decision plots? Thanks.

Has anyone been able to save either HTML or PNG file for a decision_plot? I've been able to do this no problem for some of the other plots but haven't had any luck with this one specifically.

Any luck with the decision plots? Thanks.

Has anyone been able to save either HTML or PNG file for a decision_plot? I've been able to do this no problem for some of the other plots but haven't had any luck with this one specifically.

Any luck with the decision plots? Thanks.

Yes, I am able to save decision plot as "png" using a simple argument "show=False" in the shap.decision_plot" command. Here is the code I used-
shap.decision_plot(explainer.expected_value, shap_values, show=False)
plt.savefig("decision.png")

Has anyone been able to save either HTML or PNG file for a decision_plot? I've been able to do this no problem for some of the other plots but haven't had any luck with this one specifically.

Any luck with the decision plots? Thanks.

Yes, I am able to save decision plot as "png" using a simple argument "show=False" in the shap.decision_plot" command. Here is the code I used-
shap.decision_plot(explainer.expected_value, shap_values, show=False)
plt.savefig("decision.png")

@singh0777  This is the same code I used to make this work.

If anyone is looking to display image and also save, you can do this:
import matplotlib.pyplot as plt
...
fig=plt.gcf()
shap.summary_plot(shap_values, final_model_features)
fig.savefig('scratch.png')

savefig works, but the labels are all cut off for long feature names.

@hmanz after running shap.summary_plot(shap_values, X, show=False) you can run import matplotlib.pyplot as pl; f = pl.gcf() to get the current figure in the variable f. What you do with it after that depends on matplotlib and not shap.

doesn't work for me
import matplotlib.pyplot as pl
fig, axs = pl.subplots(1, 2, figsize=(22, 20))

shap.summary_plot(shap_values,
                  ......
                  show=False
                  )

axs[0] = pl.gcf()

axs[1].plot([1,2,3], [1,2,3])

Is there any solution for saving force_plot with multiple samples? Given that matplotlib=True is not supported ('0.40.0'), I'm doing plt.savefig('scratch.png'), which results in a blank image.

Looks like is in fact working @AlanConstantine . Isn't that exactly what you would expect?

I make a partial solution. Try to save all images outside and read them inside to merge. Here is a quick demo from https://stackoverflow.com/a/30228308/8625228 .
import sys
from PIL import Image

images = [Image.open(x) for x in ['Test1.jpg', 'Test2.jpg', 'Test3.jpg']]
widths, heights = zip(*(i.size for i in images))

total_width = sum(widths)
max_height = max(heights)

new_im = Image.new('RGB', (total_width, max_height))

x_offset = 0
for im in images:
  new_im.paste(im, (x_offset,0))
  x_offset += im.size[0]

new_im.save('test.jpg')

I can save my force plots with:
shap.force_plot(explainer.expected_value[1], shap_values[1][0,:], top_11.iloc[0,:],show=False,matplotlib=True).savefig('test.png')
But when I include link="logit" as an argument, I get "posx and posy should be finite values" a bunch of times and a blank plot. Does anyone know how to solve this?

Same with you. Only that I found it occurs in version 0.36.0, but works well in 0.35.0. Hope it will be fixed sooner.

I have the same issue. only for XGBoost.
catBoost work well.
Does anyone know how to solve this?

 Does anyone know how to solve this?

Same with you. Only that I found it occurs in version 0.36.0, but works well in 0.35.0. Hope it will be fixed sooner.

 Does anyone know how to solve this?

I have this problem, too

For those still trying to display and save a waterfall plot, this worked for me:
fig = plt.figure()
shap.plots.waterfall(shap_values, show=False)
plt.savefig(f'my_plot.png', bbox_inches='tight')


RTD broken

https://readthedocs.org/projects/open-forcefield-toolkit/builds/21497969/
/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/dist.py:510: SetuptoolsDeprecationWarning: Invalid version: 'stable+10.gf5ec529.dirty'.
!!

        ********************************************************************************
        The version specified is not a valid version according to PEP 440.
        This may not work as expected with newer versions of
        setuptools, pip, and PyPI.

        By 2023-Sep-26, you need to update your project and remove deprecated calls
        or your builds will no longer be supported.

        See https://peps.python.org/pep-0440/ for details.
        ********************************************************************************

!!
  self._validate_version(self.metadata.version)
running install
/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_distutils/cmd.py:66: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` and ``easy_install``.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://github.com/pypa/setuptools/issues/917 for details.
        ********************************************************************************

!!
  self.initialize_options()
running bdist_egg
/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/command/egg_info.py:131: SetuptoolsDeprecationWarning: Invalid version: 'stable+10.gf5ec529.dirty'.
!!

        ********************************************************************************
        Version 'stable+10.gf5ec529.dirty' is not valid according to PEP 440.

        Please make sure to specify a valid version for your package.
        Also note that future releases of setuptools may halt the build process
        if an invalid version is given.

        By 2023-Sep-26, you need to update your project and remove deprecated calls
        or your builds will no longer be supported.

        See https://peps.python.org/pep-0440/ for details.
        ********************************************************************************

!!
  return _normalization.best_effort_version(tagged)
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/checkouts/1679/./setup.py", line 17, in <module>
    setup(
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/__init__.py", line 107, in setup
    return distutils.core.setup(**attrs)
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
    return run_commands(dist)
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
    dist.run_commands()
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
    self.run_command(cmd)
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
    super().run_command(command)
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/command/install.py", line 80, in run
    self.do_egg_install()
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/command/install.py", line 129, in do_egg_install
    self.run_command('bdist_egg')
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
    self.distribution.run_command(command)
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
    super().run_command(command)
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.ensure_finalized()
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 111, in ensure_finalized
    self.finalize_options()
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/command/bdist_egg.py", line 92, in finalize_options
    ei_cmd = self.ei_cmd = self.get_finalized_command("egg_info")
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 305, in get_finalized_command
    cmd_obj.ensure_finalized()
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 111, in ensure_finalized
    self.finalize_options()
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 218, in finalize_options
    parsed_version = packaging.version.Version(self.egg_version)
  File "/home/docs/checkouts/readthedocs.org/user_builds/open-forcefield-toolkit/conda/1679/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__
    raise InvalidVersion(f"Invalid version: '{version}'")
setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'stable-10.gf5ec529.dirty'
Command time: 0s Return: 1

Let's give this one a day to shake out - I did the last OFFTK release a little bit out of order (merged the postrelease PR BEFORE I updated the stable tag) so it may just be that I need to manually change the stable tag back a bit.

There could be something wrong with how RTD is running things, but I suspect it's actually SetupTools providing a wrong version string to something. I'm going to work on this locally to try to isolate the cause.

https://github.com/openforcefield/openff-toolkit/pull/1687 might fix this; it at least fixes PR builds

This appears to have been fixed by me making a release of OFFTK without mangling the step where I update the stable tag 🤦


Create documentation

At the moment we have very little documentation.
We should provide both developer facing and user facing documentation. The develop docs should clearly explain different concepts within the code (eg. the interface for Issuer and how each method should behave), as well as user facing docs that explain how to use cert-manager and explain the Issuer/Certificate concept in a user-friendly way.

We now have documentation for the Issuer resource as well as Certificate. Whilst more obviously can be written, I'm moving this out as a release blocker so we can push ahead with a 0.0.1 release.


Fetch everything using databse ID

From fetch API, only fetch ids.
In Masionary grid, fetch video urls from db
Fetch URL in the viewer component using the databse id

Thanks @alpha2303. This is done


Selection issue on chrome browser

When dynamic load select 2 , its not working first time but second time working fine on chrome . Its working fine on mozila.
you can check here  for variants dropdown.
https://postcardz.com.au/

Is from zoom/scale of screen.
What we discover is that on Windows on devices that has zoom/scale of screen > 100% will encounter this problem...now... seems that use to be on Dell devices. we instruct our employees to zoom out from browser in order to somehow "compensate"


⚠ Turnos 24x7 has degraded performance

In 714265e, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 4445 ms

Resolved: Turnos 24x7 performance has improved in 17ab49d.


fix: install gitlab-runner after docker+machine driver

Description
As pointed out in #703 the GitLab Runner is installed and started before the docker+machine driver. But as the docker+machine driver needs some time for a complete installation (certificates, ...) it might happen that the GitLab Runner already tries to process jobs from GitLab. These jobs will fail.
This PR changes the installation order of the GitLab Runner project and the docker+machine driver. The driver is installed first, the GitLab Runner second. This avoids running a non-working GitLab Runner setup.
⚠ The restart of the GitLab Runner after executing user's post install script has been removed as a restart could possibly loose some jobs being processed by the GitLab Runner. If this is needed by your script, you have to add it there and be aware, that this might cause problems with the first jobs being processed.
Closes #703
Verification

[x] start a job in GitLab then start the only Runner processing this job. The job should succeed.
[x] there are no new errors during startup regarding docker, docker-machine and GitLab Runner

I have no issues with the current main, but swapping the logic is fine to me. @kayman-mk up to you to merge (or not)


PR for "Rework Building a Connector images"

@svrnm I trust your day is going well, mentor. This is the PR for this issue #5358
I also made some changes to the SVG file based on your suggestion. Please look through it when you can.
Thank you so much for always taking the time to review things.
I'm looking forward to your feedback.

@open-telemetry/collector-approvers please take a look!

@Beccamak while we wait for @open-telemetry/collector-approvers to take a look, you can treat this PR as "done" for your outreachy application.

@svrnm Thank you so much. I'll update my contribution.

@Beccamak I prepare your PR for being merge, I just did a mistake myself, will fix it and have it ready then, nothing for you to worry about

@svrnm Wow!!! Thank you so much 🙏 I'm so sorry about the mistake.


Argo CD check failing to collect certain argocd.appset_controller metrics

Steps to reproduce the issue:

Configure Argo CD integration to collect metrics from Argo CD Application Set Controller

Describe the results you received:
These metrics are not collected:

argocd.appset_controller.reconcile.errors.total.*
argocd.appset_controller.runtime.reconcile.total.*

Describe the results you expected:
These metrics are not collected, although these are collected, as expected:

argocd.appset_controller.active.workers
argocd.appset_controller.max.concurrent.reconciles
argocd.appset_controller.reconcile.time_seconds.*

Additional information you deem important (e.g. issue happens only occasionally):
This is caused by the erroneous inclusion of the counter suffix _total in the list of metrics to be collected from the Argo CD ApplicationSet Controller here. As discussed in the documentation, the "_total" suffix must be removed when specifying the name of counter metrics to be collected. As a result, these metrics cannot be collected.
Workaround
In the argo integration config, add the correct metric definitions as extra_metrics:
extra_metrics:
  - controller_runtime_reconcile_errors: "reconcile.errors"
  - controller_runtime_reconcile: "runtime.reconcile"

On our argo instance we were able to get the metrics by using a workaround to tell datadog the correct name, that this issue notes.
argo-cd:
  applicationSet:
    podAnnotations:
      ad.datadoghq.com/applicationset-controller.logs: '[{"service":"argocd","source":"argocd"}]'
      ad.datadoghq.com/applicationset-controller.checks: |
        {
          "argocd": {
            "init_config": {"service": "argocd"},
            "instances": [
              {
                "appset_controller_endpoint": "http://%%host%%:8080/metrics",
                "extra_metrics": [
                   {"controller_runtime_reconcile_errors": "reconcile.errors"},
                   {"controller_runtime_reconcile": "runtime.reconcile"}
                ]
              }
            ]
          }
        }

@brandon-berg , were you wanting to make a PR for this or should I?

I'm not 100% sure what the actual intended behavior was, so I'd like to leave it up to Datadog, or at least hear from them about what they actually want before submitting a PR.

Note this is related to https://github.com/DataDog/integrations-core/pull/15308

Hello 👋  Thanks for flagging! I'll put up a PR to fix this. In the meantime, although inconvenient, your proposed work arounds is what I would have recommended. Apologies there! 🙇

Closing this as it was released with 7.57.0 of the agent.


Add ANSI-C string escape sequence parsing for vars

Resolution to binpash/PaSH#726. On a Ubuntu 24.04 VM with Bash 5.2.21, this passes 52/54 of the compiler tests (all except tr-test.sh), vs only 18/54 without.

That's great, thanks! Could you also add a test that exercises this behavior here?

There aren’t any tests of variable parsing right now (the variable_parse directory has partially implemented tests that aren’t called). I can write a few (including for this) and create another PR.
Separately, command expansion also doesn’t parse escape sequences in ANSI quoted strings, so I can add that (plus a test) as another commit.

Thanks a lot, both of those would be great! Ping me once you have these done so that we can merge them!

Thanks for the commits @BolunThompson! Let me know when it is ready to review and merge!

It should be ready now!
I ended up having to write a new read_vars_file function to handle the specific case of escaped quotes in ANSI-C strings for bash 5.2+. There’s the added bonus of reducing the use of shlex, which speeds up the function (on my system by 3x).

Thanks for the comments! I can create a PR with the necessary changes in pash.

Thanks, looks great!


Plugin not showing in MacOS 10.15

I tried loading the VST following the instructions provided here, but when i try to rescan the plugins via ableton settings, it prompts the "unspecified author" error.
If i try to click "Open anyways" in the "Security & Privacy" window, the error message just stays there and the vst still isn't showing up in the plugin panel
Ableton Live 10 Suite 10.1.4
MacOS Catalina 10.15.4, MacBook Pro (13-inch, 2018, Four Thunderbolt 3 Ports)
Thanks in advance

it prompts the "unspecified author" error.

can you post a screenshot of this? any other details? i haven't seen this error come up on MacOS.
i did all testing on Mojave btw

When i toggle the respective folder button in Ableton, it just prompts the error and it does not disappear when i click on "Open Anyway" from the settings panel. I recorded this strange behaviour, here's a link when you can download it if that can help. After that, there's no trace of any new plugin in the ableton plug-ins > VST3 folder.
I already tried unzipping the zip both with another tool (the unarchiver).
This problem already happened sometimes with other vsts, but once i clicked open anyway they all correctly loaded.
Let me know if you need any more info

@tambdev this seems to be an apple bug. try this workaround: https://www.reddit.com/r/MacOS/comments/dpue7j/2019_macbook_pro_running_catalina_unidentified/f60q1kd/
where it says "Drag and drop the app into the Terminal window right after the above command.", i believe you need to drop the unzipped .vst3 file.

Okay! That actually worked out, but i had to rename the file to trick ableton to think it was a different one (replacing it wasn't enough)
Thank you !


Use shaderCoordinateSystem

For #

Background

Change List

From https://github.com/uber/deck.gl/pull/1951


Panic when using nested setTimeout and when calling clearTimeout()

Getting the below error when using nested setTimeout
panicked at 'already borrowed: BorrowMutError'

Code to reproduce the issue
[dependencies]
quickjs_runtime = "0.4.2"
futures = "0.3"
log = "0.4.11"
simple-logging = "2.0.2"

use futures::executor::block_on;
use log::LevelFilter;
use quickjs_runtime::esruntime::EsRuntime;
use quickjs_runtime::esruntimebuilder::EsRuntimeBuilder;
use quickjs_runtime::esscript::EsScript;
use std::sync::Arc;

async fn test(rt: Arc<EsRuntime>) {
    let res = rt
        .eval(EsScript::new(
            "basics.es",
            r#"
            new Promise((resolve) => {
                setTimeout(() => {
                    console.log('in timeout 1');
                    setTimeout(() => {  // panic
                        console.log('in timeout 2');
                        resolve(true);
                    }, 1000)
                }, 1000);
            });
        "#,
        ))
        .await
        .ok()
        .unwrap();

    let fut = res.get_promise_result();
    let val = fut.await;
    println!("{:?}", val);
}

fn main() {
    simple_logging::log_to_stderr(LevelFilter::Info);
    let rt = EsRuntimeBuilder::new().build();

    block_on(test(rt));
}

Other example js that causes panic
new Promise((resolve) => {
    const timeout = setTimeout(() => {
        console.log('in timeout 1');
        clearTimeout(timeout);  // panic
        resolve(true);
    }, 1000);
});

new Promise((resolve) => {
    const timeout = setTimeout(() => {
        console.log('in timeout 1');
    }, 10000);
    setTimeout(() => {
        console.log('in timeout 2');
        clearTimeout(timeout); // panic
        resolve(true);
    }, 1000);
});

Nice catch! thanks!
The problem was actually in the EventLoop in utils, i published a 0.1.2 version which fixes this, if you are using a quickjs_es_runtime which depends on utils = "0.1" it should update to the fixed version if you do a clean build.
Kind regards

use futures::executor::block_on;
use hirofa_utils::js_utils::Script;
use log::LevelFilter;
use quickjs_runtime::esruntime::EsRuntime;
use quickjs_runtime::esruntimebuilder::EsRuntimeBuilder;
use std::sync::Arc;

async fn test(rt: Arc<EsRuntime>) {
    let res = rt
        .eval(Script::new(
            "basics.es",
            r#"
            new Promise((resolve) => {
                setTimeout(() => {
                    console.log('in timeout 1');
                    setTimeout(() => {
                        console.log('in timeout 2'); // this should get printed in 2 seconds
                        resolve(true);
                    }, 1000); // > 10s works as expected, but < 10s always takes 10 seconds
                }, 1000);
            });
        "#,
        ))
        .await
        .ok()
        .unwrap();

    let fut = res.get_promise_result();
    let val = fut.await;
    println!("{:?}", val);
}

fn main() {
    simple_logging::log_to_stderr(LevelFilter::Info);
    let rt = EsRuntimeBuilder::new().build();
    block_on(test(rt));
}

In the above sample code, the 2nd console.log is getting printed after 10 seconds irrespective of the timeout value. But if the timeout value is more than 10 seconds, then it's waiting as expected.

hmm, that also is an issue with the eventloop not triggering properly, i'll look into it asap

ah, the problem was again in the EventLoop in utils, the deadline for the next run was calculated before actually running the timeout jobs, so the new one was not yet present in the list and thus eventloop fell back to the 10 sec default.. fixed in utils 0.1.3

There seems to be an issue with setInterval from the below code, you could see it prints setInterval func failed: InternalError: stack overflow at every second whenever the setInterval is triggered...
use futures::executor::block_on;
use hirofa_utils::js_utils::Script;
use log::LevelFilter;
use quickjs_runtime::esruntime::EsRuntime;
use quickjs_runtime::esruntimebuilder::EsRuntimeBuilder;
use std::sync::Arc;

async fn test(rt: Arc<EsRuntime>) {
    let res = rt
        .eval(Script::new(
            "basics.es",
            r#"
            setInterval(() => {
                console.log('in setInterval 1');
            }, 1000);
            new Promise((resolve) => {
                setTimeout(() => {
                        resolve(true);
                }, 10000);
            });
        "#,
        ))
        .await
        .ok()
        .unwrap();

    let fut = res.get_promise_result();
    let val = fut.await;
    println!("{:?}", val);
}

fn main() {
    simple_logging::log_to_stderr(LevelFilter::Info);
    let rt = EsRuntimeBuilder::new().build();
    block_on(test(rt));
}

There seems to be an issue with setInterval from the below code, you could see it prints setInterval func failed: InternalError: stack overflow at every second whenever the setInterval is triggered...

I am unable to reproduce this, it works as expected for me but it might be an issue with the stack overflow check in quickjs.
Could you start the runtime with adding this to the builder?
let rt = EsRuntimeBuilder::new().max_stack_size(u64::MAX).build();

The quickjs stack check has a tendancy to overflow (from a negative number to a large positive number) causing it to think the stack is realy large.
I think thats why they added JS_UpdateStackTop() (see https://bellard.org/quickjs/Changelog) but i have not implemented that yet

Setting max_stack_size to u64::MAX works, but it's better not to set to a MAX value as I would like to prevent too many nested function calls.
e.g.
function a(counter) {
    console.log(counter);
    b(++counter);
}
function b(counter) {
    a(++counter);
}
a(1);

The above code causes a crash with fatal runtime error: stack overflow when max_stack_size is set with u64::MAX. Without setting any max_stack_size, it returns a proper error InternalError: stack overflow at    at a (basics.es:3)


Warmhammer api

Hello,
Sorry for writing and issue in the wrong repo but I can't make any issues in the warhammer repo.
I am creating my own age of sigmar mobile app and your api seems exactly what I need. I was wondering where I can get the api key for the warhammer api if it is needed. It seemed to me that it is needed to use the api.
Thank you in advance!
Friendly regards,
Morteeke

Hey there! Thanks for your interest and excited to hear about your project 😊 I've gone ahead and created a discussion post on the Warhammer repository where I'd be happy to answer your questions and help ya out.
https://github.com/brittonhayes/warhammer/discussions/2


Support for annotations on all types

https://github.com/zio/zio-schema/issues/125
Adds def annotations: Chunk[Any] to Schema[A] implemented as a field on concrete Schema

@dmitrykozinets @DamianReeves I'm happy with this implementation. Do you guys want to review it before merging?

Looks good to me!  Thank you @alexvanolst !


[FIX] Issue 6230 Fix: Snyk parser cannot handle Nonetype CVSSv3 / cvssScore

I'm unable to determine the best alternative (None or empty string) for the fields, but Severity can be pulled from the tool's assessment should a Nonetype be present.
CVSSv3 vector is a little more complex.

@P there is files that should not be in the PR :/

Bah, which files? I amended parser.py, test_snyk...py and added some testdata JSON. Which file is added that shouldn't be there? First time here so may be a mistake.

these modifications shouldn't be here

these modifications shouldn't be here

Bah - Absolutely agreed. I didn't change them manually, any idea why they'd be there from GitHub? I must have done something not quite right in the fork process.

come from the merge. just revert this modifications

Thanks for fixing the modifications. Wasn't around yesterday. Noticed unittest was seeking 3 findings after modification, but the test scan I pushed only contains 1. That should resolve unittests.


⚠ Bofrost.es has degraded performance

In bdbb674, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1631 ms

Resolved: Bofrost.es performance has improved in 21071c1 after 38 minutes.


Aarch64 t5x

For future reference, here is the reason why the docker push commands failed for this PR:
https://docs.github.com/en/actions/security-guides/automatic-token-authentication
In short, workflows triggered on a fork runs on a read-only token as a security measure.


Parameters for training HyperNeRF dataset

Hi,
First of all, Thanks for sharing your amazing work :) I noticed that in the paper you didn't present the result from the HyperNeRF dataset, I am curious if you did experiments on HyperNeRF dataset as well. If so, do you happen to have the arguments to train the scene in HyperNeRF. I look forward to your reply, many thanks :)

Hi,
Thanks for the quick reply :)

Hi,
So to reproduce the rendering results of HyperNeRF shown here, I'll have to run MiVOS to re-estimate camera poses and obtain dynamic masks, right? I hope I understand it correctly :)

Hi,
There is no need to re-estimate camera poses for the scenes shown on our homepage because their cameras are roughly correct. You can optionally choose to run MiVOS to mask dynamic parts on them. If using dynamic masks, just remember to use gt_alpha_mask_as_dynamic_mask --gs_with_motion_mask instead of --gt_alpha_mask_as_scene_mask.
For other HyperNerf scenes, a COLMAP estimation is recommended.

Hi,
Thanks for your reply 😀
As for the dynamic mask, what is the intuition of using it? Would it change the result significantly? Maybe I miss this part in the paper but I didn't find the explanation about it though. I look forward to your reply, thanks!

The dynamic masks make the representation more efficient. Since the prior dynamics are provided, control points and MLP only need to model the dynamics of unmasked regions (with --gt_alpha_mask_as_dynamic_mask --gs_with_motion_mask).

Otherwise, the whole scene is treated as dynamic if you do not provide dynamic masks and remove --gs_with_motion_mask, which is a waste.

But you can also add --gs_with_motion_mask and train the model without dynamic masks, in this way the model will learn where is dynamic and where is static accordingly. At this point, a binary loss forcing the mask closer to either 0 or 1 is recommended to sharpen the GS's motion mask and avoid editing artifacts. (If you do not do this, the velocity of motion may be entangled into the values of motion masks of GS)

Hi, There is no need to re-estimate camera poses for the scenes shown on our homepage because their cameras are roughly correct. You can optionally choose to run MiVOS to mask dynamic parts on them. If using dynamic masks, just remember to use gt_alpha_mask_as_dynamic_mask --gs_with_motion_mask instead of --gt_alpha_mask_as_scene_mask. For other HyperNerf scenes, a COLMAP estimation is recommended.

Hi, If only dynamic objects are reconstructed, how is the static part reconstructed? I see the hypernerf shown on your homepage is the complete scenario result, and how should it run the code if you want to reproduce it?


Resolve Cloudpickle incompatibility

BUG REPORT
High Level Description
Cloudpickle requirement can conflict with gym and cause issues with running SMARTS.
SMARTS version
smarts==0.7.0
Steps to reproduce the bug
Environments without python-dev will have this problem.
Resulting and expected behaviour
Python will refuse to run SMARTS because of context conflicts.
Error logs and screenshots
> make sanity-test                                                    scl scenario build --clean scenarios/sumo/loop
Traceback (most recent call last):
  File "/home/mtuck/repos/SMARTS/.venv/lib/python3.8/site-packages/pkg_resources/__init__.py", line 581, in _build_master
    ws.require(__requires__)
  File "/home/mtuck/repos/SMARTS/.venv/lib/python3.8/site-packages/pkg_resources/__init__.py", line 909, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/home/mtuck/repos/SMARTS/.venv/lib/python3.8/site-packages/pkg_resources/__init__.py", line 800, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (cloudpickle 2.1.0 (/home/mtuck/repos/SMARTS/.venv/lib/python3.8/site-packages), Requirement.parse('cloudpickle<1.7.0,>=1.2.0'), {'gym'})

System information

Operating system & Environment [Please note if using Docker]: Ubuntu Server20.04
Number of system cores available: 16
Python version [Please note if using Jupyter]: 3.8
Python packages [e.g. from pip freeze]
SUMO version: 1.10
Date when bug occurred: Nov 29 2022

Included in #1981.


[Feature Request]: Add alert for API Connections in Error state

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Description
To build on @cdomansky's new alert for Logic Apps workflow failures, it would also be good to have an alert for API Connections that are in an Error state.
These API Connections are used within steps within the Logic App and define the credentials that it'll use for connecting to SharePoint or Office 365 etc as. We occasionally find their token expires or similar, causing the Logic App to show an Invalid Connection error on that step and the Logic App workflow will continue to fail until an admin can jump in and re-authorize the credential.
Would be good to pick this state change up before a reliant Logic App kicks off and inevitably fails, which may well only be during an end-of-month reporting cycle or similar.

Hi @SteveBurkettNZ, thank you for your feedback. I believe this is an excellent suggestion that will add value, and we will take it into account for the ALZ pattern when available. Since this regards a workload feature request rather than an ALZ platform feature, I am tagging the AMBA core team for further action.


[Bug] @milkdown/plugin-math is required for @milkdown/plugin-tooltip ？

I want @milkdown/plugin-tooltip . do I need to install @milkdown/plugin-math? Is this wrong?

Are they interdependent?

https://github.com/Saul-Mirone/milkdown/blob/main/packages/plugin-math/src/math-inline/index.ts#L15
https://github.com/Saul-Mirone/milkdown/blob/main/packages/plugin-tooltip/src/utility/input.ts#L43

They have some relationship. The tooltip input component supports to modify value of inline math. But put it as a dependency doesn't make sense to me.
There's a PR to improve this, but it's still being tested: https://github.com/Saul-Mirone/milkdown/pull/301

https://github.com/Saul-Mirone/milkdown/blob/main/packages/preset-gfm/package.json#L34
Maybe @milkdown/preset-gfm is a separate plugin and should depend on dependencies here instead of peerdependencies?

The dependency was removed but it is used in the code, did you forget?
https://github.com/Saul-Mirone/milkdown/blob/main/packages/plugin-tooltip/src/utility/input.ts#L3

I'm working on a feature to make it not a dependency. I think user has to install @milkdown/plugin-math when using @milkdown/plugin-tooltip even though they don't need it doesn't make sense now.

why need math？🤔

For now, the plugin tooltip can support modify inline math. So it needs to use command keys defined in math plugin. That's why it needs to install math plugin. I want it to be optional.

I got it.

I found the following unreasonable (in my opinion).

slash depends on tooltip, tooltip depends on math. when I only need slash, I need to install three dependencies.

code table state. https://codesandbox.io/s/milkdown-theme-nes-forked-semnj?file=/src/index.ts

Slash doesn't dependes on tooltip. And since 5.4.1 you don't need install them all anymore.
Use Ctrl/Cmd + Enter to quit the code block.

but now, clicking image placeholder will not pop up the tooltip of the input link.
https://codesandbox.io/s/milkdown-theme-nes-forked-semnj?file=/src/index.ts:712-754

The image input function is part of the tooltip plugin. If you remove it of course it cannot work.
Use selection button in menu plugin (or something like that) and drag & drop the code block.


Data hashes in logs

Each downloaded file as well as intermittent and resulting files should be hashed and the hashes should be logged.

This is done with 0.4.3.


Stricter paths

Part of #7140
This PR makes our core more strict to how the paths should look like. Nearly all the changes are on tests because we were using any type of path even when production will never use it like that.

Still working on make Windows tests happy :'(. My main problem right now is that / is not an absolute path on Windows... So to get the/a root I need to do Path("").absolute.root. This gets me / on Unix and D:\ (for example) on Windows.
The main problem is that I don't have windows so I need to use CI to debug the problems :'(

Warnings

:warning:
This PR is approved with no milestone set. If merged, it won't appear in the detekt release notes.

  Generated by :no_entry_sign: dangerJS against 23381a17a9a01e9332d093a6bb7793135b11a765


Mobile responsive?

Thanks for publishing this. I was expecting more of a result like https://jelements.netlify.com/app-layout but it seems like vaadin-app-layout is still in an "early" phase. Is a mobile responsive iteration in the pipeline here?

@lkraav Looks like 2.0 is a bit more full-featured. It's responsive, but I have noticed that when the drawer is in overlay mode (mobile device), it does not close on touch/click. Looks like you will have to add an event listener. Luckily, there are events that fire for on-click, and an attribute to let you know if you are in overly mode.

Yep, I feel like this umbrella issue has been addressed.


Quantization (FP8) causing errors

Hi, I'm running llama stack on an ubuntu machine with PA6000 GPU on paperspace; loading the default model.
When I turn off quantization I manage to get the server up and running, when I choose fp8 in build I get the following error in llama stack run:
paperspace@pspz9spk7exu:~$ llama stack run lcl --port 5000
Resolved 8 providers in topological order
  Api.models: routing_table
  Api.inference: router
  Api.shields: routing_table
  Api.safety: router
  Api.memory_banks: routing_table
  Api.memory: router
  Api.agents: meta-reference
  Api.telemetry: meta-reference

initializing model parallel with size 1
initializing ddp with size 1
initializing pipeline with size 1

/home/paperspace/anaconda3/envs/llamastack-lcl/lib/python3.10/site-packages/torch/_init_.py:955: UserWarning: torch.set_default_tensor_type() is deprecated as of PyTorch 2.1, please use torch.set_default_dtype() and torch.set_default_device() as alternatives. (Triggered internally at ../torch/csrc/tensor/python_tensor.cpp:432.)
  _C._set_default_tensor_type(t)
E1008 04:49:31.950000<PHONE_NUMBER>31552 torch/distributed/elastic/multiprocessing/api.py:702] failed (exitcode: -9) local_rank: 0 (pid: 5620) of fn: worker_process_entrypoint (start_method: fork)
E1008 04:49:31.950000<PHONE_NUMBER>31552 torch/distributed/elastic/multiprocessing/api.py:702] Traceback (most recent call last):
E1008 04:49:31.950000<PHONE_NUMBER>31552 torch/distributed/elastic/multiprocessing/api.py:702]   File "/home/paperspace/anaconda3/envs/llamastack-lcl/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py", line 659, in _poll
E1008 04:49:31.950000<PHONE_NUMBER>31552 torch/distributed/elastic/multiprocessing/api.py:702]     self._pc.join(-1)
E1008 04:49:31.950000<PHONE_NUMBER>31552 torch/distributed/elastic/multiprocessing/api.py:702]   File "/home/paperspace/anaconda3/envs/llamastack-lcl/lib/python3.10/site-packages/torch/multiprocessing/spawn.py", line 170, in join
E1008 04:49:31.950000<PHONE_NUMBER>31552 torch/distributed/elastic/multiprocessing/api.py:702]     raise ProcessExitedException(
E1008 04:49:31.950000<PHONE_NUMBER>31552 torch/distributed/elastic/multiprocessing/api.py:702] torch.multiprocessing.spawn.ProcessExitedException: process 0 terminated with signal SIGKILL
Process ForkProcess-1:
Traceback (most recent call last):
  File "/home/paperspace/anaconda3/envs/llamastack-lcl/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/home/paperspace/anaconda3/envs/llamastack-lcl/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/paperspace/anaconda3/envs/llamastack-lcl/lib/python3.10/site-packages/llama_stack/providers/impls/meta_reference/inference/parallel_utils.py", line 175, in launch_dist_group
    elastic_launch(launch_config, entrypoint=worker_process_entrypoint)(
  File "/home/paperspace/anaconda3/envs/llamastack-lcl/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 133, in call
    return launch_agent(self._config, self._entrypoint, list(args))
  File "/home/paperspace/anaconda3/envs/llamastack-lcl/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 264, in launch_agent
    raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
=====================================================
worker_process_entrypoint FAILED
-----------------------------------------------------
Failures:
  <NO_OTHER_FAILURES>
-----------------------------------------------------
Root Cause (first observed failure):
[0]:
  time      : 2024-10-08_04:49:31
  host      : pspz9spk7exu
  rank      : 0 (local_rank: 0)
  exitcode  : -9 (pid: 5620)
  error_file: <N/A>
  traceback : Signal 9 (SIGKILL) received by PID 5620
=====================================================

Can you include the run.yaml? Also, which model were you trying to use?

Absolutely: Model: Llama3.1-8B-Instruct
run.yaml.zip
Removing the fp8 gets this stack to work. let me know if you need more info re the system.

fp8 issues have been fixed. @ShadiCopty can you retry when you get a chance? Please re-open if not fixed.

Hi Ashwin, It's still not working (I used meta reference quantization, and fp8)
/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/init.py:1145: UserWarning: torch.set_default_tensor_type() is deprecated as of PyTorch 2.1, please use torch.set_default_dtype() and torch.set_default_device() as alternatives. (Triggered internally at ../torch/csrc/tensor/python_tensor.cpp:432.)
_C._set_default_tensor_type(t)
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732] failed (exitcode: -9) local_rank: 0 (pid: 3038) of fn: worker_process_entrypoint (start_method: fork)
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732] Traceback (most recent call last):
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732]   File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py", line 687, in _poll
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732]     self._pc.join(-1)
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732]   File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/multiprocessing/spawn.py", line 184, in join
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732]     raise ProcessExitedException(
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732] torch.multiprocessing.spawn.ProcessExitedException: process 0 terminated with signal SIGKILL
Process ForkProcess-1:
Traceback (most recent call last):
File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/llama_stack/providers/impls/meta_reference/inference/parallel_utils.py", line 281, in launch_dist_group
elastic_launch(launch_config, entrypoint=worker_process_entrypoint)(
File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 138, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 269, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
worker_process_entrypoint FAILED
Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time      : 2024-10-23_03:48:27
host      : pspz9spk7exu
rank      : 0 (local_rank: 0)
exitcode  : -9 (pid: 3038)
error_file: <N/A>
traceback : Signal 9 (SIGKILL) received by PID 3038

/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/init.py:1145: UserWarning: torch.set_default_tensor_type() is deprecated as of PyTorch 2.1, please use torch.set_default_dtype() and torch.set_default_device() as alternatives. (Triggered internally at ../torch/csrc/tensor/python_tensor.cpp:432.)
_C._set_default_tensor_type(t)
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732] failed (exitcode: -9) local_rank: 0 (pid: 3038) of fn: worker_process_entrypoint (start_method: fork)
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732] Traceback (most recent call last):
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732]   File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py", line 687, in _poll
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732]     self._pc.join(-1)
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732]   File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/multiprocessing/spawn.py", line 184, in join
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732]     raise ProcessExitedException(
E1023 03:48:27.577000 3035 anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py:732] torch.multiprocessing.spawn.ProcessExitedException: process 0 terminated with signal SIGKILL
Process ForkProcess-1:
Traceback (most recent call last):
File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/llama_stack/providers/impls/meta_reference/inference/parallel_utils.py", line 281, in launch_dist_group
elastic_launch(launch_config, entrypoint=worker_process_entrypoint)(
File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 138, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/home/paperspace/anaconda3/envs/llamastack-mylocal/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 269, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
worker_process_entrypoint FAILED
Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time      : 2024-10-23_03:48:27
host      : pspz9spk7exu
rank      : 0 (local_rank: 0)
exitcode  : -9 (pid: 3038)
error_file: <N/A>
traceback : Signal 9 (SIGKILL) received by PID 3038

@ashwinb still failing, I removed all of the old installation to be sure, and am using the reference-meta-quantized implementation with fp8.


Using the "makeJar" adds gitSHA to the file name

This change allows "makeJar" to create files like "PiwikAndroidSdk-7b8c0e8.jar".
This PR contributes to #31 .
I'm not certain what further steps are necessary @mattab .

:+1:


JWE

How use:
{"alg": "A256KW", "enc": "A256GCM"}

We don't accept questions here. Please read the documentation: https://docs.authlib.org/en/latest/jose/jwe.html


HTML input types

Description
Will cover all input types from common ones like:

Text
Button
Radio
Password
Checkbox

As well as complicated and lesser-used ones like:

Range
Datetime-local
Week
Time
Image
Month
and many more.

Domain
Frontend Dev HTML/CSS/JS
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Width not working (5.2.2, at least for Button)

Hey, I couldn't find a bug report on this, but in the following code, the width keyword does nothing (even though current docs seem to indicate that it should):
import ipywidgets as ipw
print(ipw.__version__) # 5.2.2
ipw.Button(width=20)

Not sure if this is a known bug?

So the way to do this is
import ipywidgets as ipw
b = ipw.Button()
b.layout.width = '20px'

all the top-level layout attributes are regrouped into the layout attribute, which can be assigned globally too
l = Layout(min_width='40px', max_width='160px')
b = Button(layout=l)
s = Slider=(layout=l)