Use wireguard(with cndp) as the client to connect to the wireguard server supported by the normal Linux kernel?

Excuse me, can I use WireGuard CNDP as the client to connect to the wireguard server supported by the normal Linux kernel?

Example:
Wireguard cndp<———->normal WireGuard server.
I am currently testing in this way and cannot receive any data packets on the server.

I believe this works, but the person that can help is out of the office 27-28 and most likely will not reply till next week.
I am sure he tested this type of setup. Make sure the MAC addresses are correct for the Linux server or place the Linux server interface into promiscuous mode e.g. 'ifconfig eth0 promisc' this step is not normally required, but just to eliminate the MAC addresses.

I used ubuntu server 22.04.2 for my tests.
The kernel version is 5.15.0-60-generic.,
libbpf is v0.6.1,
Apart from setting the promiscuous mode of the NIC, what else should I pay attention to?

debug:
2023-06-27T14:48:04Z DEBUG wireguard_rs::wireguard::workers] TUN worker, IP packet of 84 bytes (MTU = 1280)
[2023-06-27T14:48:04Z DEBUG wireguard_rs::wireguard::workers] TUN worker, router returned Err(NoCryptoKeyRoute)
[2023-06-27T14:48:05Z DEBUG wireguard_rs::wireguard::workers] TUN worker, IP packet of 84 bytes (MTU = 1280)
[2023-06-27T14:48:05Z DEBUG wireguard_rs::wireguard::workers] TUN worker, router returned Err(NoCryptoKeyRoute)

Hi @liuzhen111  - I verified that it works wireguard cndp <--> linux normal wireguard. Does wireguard default (without cndp) <--> linux normal wireguard and wireguard cndp <--> wireguard cndp work for you ? I ran wireguard cndp using ./src/platform/linux/cndp/cndprustwg.sh. Did you set ethtool rules for wireguard cndp for the required wg endpoint interface to send/recv packets to a specific qid ?

@manojgop   Hello, the network topology  is:
Server A(with cndp) <--> Server B(without cndp)
I have used ethtool to queue the specified traffic as follows on Server A:
ethtool -U ens6f1 flow-type udp4  src-ip <IP_ADDRESS>  dst-ip <IP_ADDRESS>    action 1  loc 1
ethtool -U ens6f1 flow-type udp4  src-ip <IP_ADDRESS>  dst-ip <IP_ADDRESS>    action 2  loc 2
<IP_ADDRESS> is an intel x710 network adapter on ServerA (ubuntu 20).
<IP_ADDRESS> is the ip address of a remote server B using a kvm VM (ubuntu 20).

Need more information. Can you share output of sudo wg on both systems . Also the contents of fwd.jsonc file used with CNDP

@manojgop  Hello brother, I have sent relevant configuration files to your email address<EMAIL_ADDRESS>sudo wg output information display is normal.

[fwd.txt](https://github.com/CloudNativeDataPlane/cndp/files/11950243/fwd.txt)
@manojgop

@manojgop Hello brother, I have sent relevant configuration files to your email address<EMAIL_ADDRESS>sudo wg output information display is normal.

Some email attachment got blocked. Just to confirm - Did you set the private keys in local wg interface ? Below is the configuration in my setup with CNDP wireguard and Linux kernel wireguard
Endpoint 1 (CNDP Wireguard)
=============================

$ sudo wg
interface: rsuwg0
  public key: Gj/rmlfLyAtS/4RK9oq6WB6gDyKcQmgiKYwosIqJ9HA=
  private key: (hidden)

peer: DV/f0jntATrrng/D7jVmqBz6IFlHWjPT/QsmhDut5Es=
  endpoint: <IP_ADDRESS>:5500
  allowed ips: <IP_ADDRESS>/32

$ip addr show enp134s0
5: enp134s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 xdp/id:654 qdisc mq state UP group default qlen 1000
    link/ether 40:a6:b7:78:3f:ec brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 scope global enp134s0
       valid_lft forever preferred_lft forever
    inet6 fe80::42a6:b7ff:fe78:3fec/64 scope link
       valid_lft forever preferred_lft forever

ethtool rules
sudo ethtool -N enp134s0 flow-type udp4 src-ip <IP_ADDRESS> dst-ip <IP_ADDRESS> action 23
sudo ethtool -N enp134s0 flow-type udp4 src-ip <IP_ADDRESS> dst-ip <IP_ADDRESS> action 33

Endpoint 2 (Linux Kernel Wireguard)
=====================================
$ sudo wg
interface: wg0
  public key: DV/f0jntATrrng/D7jVmqBz6IFlHWjPT/QsmhDut5Es=
  private key: (hidden)
  listening port: 5500

peer: Gj/rmlfLyAtS/4RK9oq6WB6gDyKcQmgiKYwosIqJ9HA=
  endpoint: <IP_ADDRESS>:5400
  allowed ips: <IP_ADDRESS>/32

$ip addr show enp134s0
136: enp134s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 40:a6:b7:68:95:d4 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 scope global enp134s0
       valid_lft forever preferred_lft forever

ethtool rules
sudo ethtool -N enp134s0 flow-type udp4 src-ip <IP_ADDRESS> dst-ip <IP_ADDRESS> action 23
sudo ethtool -N enp134s0 flow-type udp4 src-ip <IP_ADDRESS> dst-ip <IP_ADDRESS> action 33

#!/bin/bash
SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2019-2021 Intel Corporation.
Run this script as sudo
Usage: ./cndprustwg.sh [debug|release] [cndp-packet|cndp-ping|wireguard-rs].
Wireguard CNDP Root folder
WG_ROOT="/var/by/wireguard-rs"
Build type (debug/release). Use release by default.
BUILD=${1:-release}
Build type (debug/release). Use release by default.
EXE=${2:-wireguard-rs}
Set private key file.
Private/Public key should be generated once before running this script
using following commands.
1) Private key -> "sudo wg genkey > rsuwgprivate"
2) Public key  -> "wg pubkey < rsuwgprivate > rsuwgpublic"
PRIVATE_KEY="/etc/private-key"
Wireguard MTU size.
WG_MTU=1280
Wirguard interface local ip.
WG_LOCAL_IP=<IP_ADDRESS>
Wireguard local listen port.
WG_LOCAL_LISTEN_PORT=5400
Wirguard interface remote peer ip.
WG_PEER_IP=<IP_ADDRESS>
Wireguard remote peer listen port.
WG_PEER_LISTEN_PORT=8899
Wireguard remote peer endpoint ip.
WG_PEER_ENDPOINT_IP=<IP_ADDRESS>
Wireguard remote peer endpoint.
WG_PEER_ENDPOINT=$WG_PEER_ENDPOINT_IP:$WG_PEER_LISTEN_PORT
Peer public key (base64 encoded)
WG_PEER_PUBLIC_KEY="we1jHCODRo0Dr9B57pxxJV+Kkb5v8n6zWyoGI3fptkw="
Delete existing interface
sudo ip link del rsuwg0
Wait for interface to go down.
sleep 3
Copy wg_cndp.toml file to target directory containing the executable.
cp $WG_ROOT/src/platform/linux/cndp/wg_cndp.toml $WG_ROOT/target/$BUILD/wg_cndp.toml
Start and configure wireguard
if [ "$BUILD" == "debug" ]; then
RUST_LOG_VAL=debug
else
RUST_LOG_VAL=info
fi
Check the binary to execute
if [ "$EXE" == "cndp-ping" ]; then
RUST_EXE=cndp-ping
ARGS="--disable-drop-privileges --device rsuwg0 --local $WG_LOCAL_IP --remote $WG_PEER_IP --interval 1000"
elif [ "$EXE" == "cndp-packet" ]; then
RUST_EXE=cndp-packet
TRAFFIC_GEN_MAC=f8:f2:1e:33:52:e1
MODE=${3:-send}
if [ "$MODE" == "send" ]; then
ARGS="--disable-drop-privileges --device rsuwg0 --traffic-gen-mac $TRAFFIC_GEN_MAC --send"
else
ARGS="--disable-drop-privileges --device rsuwg0 --traffic-gen-mac $TRAFFIC_GEN_MAC"
fi
else
RUST_EXE=wireguard-rs
ARGS="--disable-drop-privileges rsuwg0"
fi
RUN="sudo -E LD_LIBRARY_PATH=$LD_LIBRARY_PATH RUST_LOG=$RUST_LOG_VAL which cargo run --bin $RUST_EXE"
#RUN="sudo -E LD_LIBRARY_PATH=$LD_LIBRARY_PATH RUST_LOG=$RUST_LOG_VAL which cargo run --bin $RUST_EXE"
if [ "$BUILD" == "debug" ]; then
$RUN -- $ARGS
else
$RUN --release -- $ARGS
fi
Wait for interface to come up.
sleep 3
Set wireguard interface ip addr.
sudo ip addr add $WG_LOCAL_IP/24 dev rsuwg0
Set private key in wg interface.
sudo wg set rsuwg0 private-key $PRIVATE_KEY
Set MTU.
sudo ip link set mtu $WG_MTU dev rsuwg0
Set listening port.
sudo wg set rsuwg0 listen-port $WG_LOCAL_LISTEN_PORT
Set remote peer public key, wireguard ip, endpoint and listen port.
if [ "$EXE" == "cndp-packet" ]; then
WG_PEER_IP1=<IP_ADDRESS> # Remote IP used by packet generator.
ALLOWED_IPS=$WG_PEER_IP/32,$WG_PEER_IP1/32
else
ALLOWED_IPS=$WG_PEER_IP/32
fi
#sudo wg set rsuwg0 peer $WG_PEER_PUBLIC_KEY allowed-ips $ALLOWED_IPS endpoint $WG_PEER_ENDPOINT
sudo wg set rsuwg0 peer $WG_PEER_PUBLIC_KEY allowed-ips <IP_ADDRESS>/0 endpoint $WG_PEER_ENDPOINT
Enable wireguard interface.
sudo ip link set rsuwg0 up
Wait for interface to come up.
sleep 3
stty sane

@manojgop yes，i set the private keys in local wg interface.
PRIVATE_KEY="/etc/private-key"
……
sudo wg set rsuwg0 private-key $PRIVATE_KEY
# Set MTU.
sudo ip link set mtu $WG_MTU dev rsuwg0

@manojgop The problem has been resolved, the server port cannot be modified, and only 5500 can be used

@manojgop The problem has been resolved, the server port cannot be modified, and only 5500 can be used

You could modify the script cndprustwg.sh to use the required port

@manojgop I modified the cndprustwg.sh file before:
WG_PEER_LISTEN_PORT=8899;
but actually can not connect.
Then just revert to port 5500 and it can connect successfully.
Is it necessary to modify the port to 8899 when applying patch before cargo build?

@manojgop Hello, the server has been shut down for a few hours and restarted. The configuration has not changed, but it cannot be connected again, which is very strange.

debug:
[2023-07-05T07:07:41Z DEBUG wireguard_rs::wireguard::router::peer] no key encryption key available
[2023-07-05T07:07:41Z DEBUG wireguard_rs::wireguard::router::peer] request new key
[2023-07-05T07:07:41Z DEBUG wireguard_rs::wireguard::workers] TUN worker, router returned Ok(())
[2023-07-05T07:07:42Z DEBUG wireguard_rs::wireguard::timers] Handshake for PeerHandle(format: TODO) did not complete after 5 seconds, retrying (try 0)
[2023-07-05T07:07:42Z DEBUG wireguard_rs::wireguard::workers] wireguard(5e4e70f5) : handshake worker, new handshake requested for PeerHandle(format: TODO)
[2023-07-05T07:07:42Z DEBUG wireguard_rs::wireguard::handshake::noise] create initiation
[2023-07-05T07:07:43Z DEBUG wireguard_rs::wireguard::workers] TUN worker, IP packet of 84 bytes (MTU = 1420)
[2023-07-05T07:07:43Z DEBUG wireguard_rs::wireguard::router::peer] no key encryption key available
[2023-07-05T07:07:43Z DEBUG wireguard_rs::wireguard::router::peer] request new key
[2023-07-05T07:07:43Z DEBUG wireguard_rs::wireguard::workers] TUN worker, router returned Ok(())
[2023-07-05T07:07:44Z DEBUG wireguard_rs::wireguard::workers] TUN worker, IP packet of 84 bytes (MTU = 1420)

@manojgop I have compressed the relevant configuration files into a zip file. Could you please help me check if there are any issues? Thank you

Could you check if the traffic is hitting the required queue --> watch -n1 -d "sudo ethtool -S ens6f1 | grep packets | column"

@manojgop

ethtool -U ens6f1 flow-type udp4  src-ip <IP_ADDRESS>      dst-ip <IP_ADDRESS>     action 1  loc 1
ethtool -U ens6f1 flow-type udp4  src-ip <IP_ADDRESS>      dst-ip <IP_ADDRESS>     action 2  loc 2
tx-1.packets: 0  And rx-1.packets: 0

So looks like no packets reaching queue 1

Yes, I'm also very strange. Also, I would like to ask if there were any settings errors in the configuration file in the zip package in yesterday's email?

@manojgop Hello, what is the operating system version and kernel version you used for testing?

tail -f /var/log/syslog

The current test result is that the data packet was not sent out through queue 1.
As a result, Wireguard was unable to connect successfully, and the debug :"wireguard::router::peer] no key encryption key available".

Once you ping remote wireguard interface IP, it'll request a new key. As you can see in following logs you can see "no key encryption key available" and then "request new key".
    Finished dev [optimized + debuginfo] target(s) in 45.61s
     Running `target/debug/wireguard-rs --disable-drop-privileges rsuwg0`
[2023-07-07T05:35:23Z INFO  wireguard_rs] Starting rsuwg0 WireGuard device.
[2023-07-07T05:35:23Z DEBUG wireguard_rs::wireguard::workers] wireguard(757399cf) : handshake worker, started
[2023-07-07T05:35:23Z DEBUG wireguard_rs::wireguard::workers] wireguard(757399cf) : handshake worker, started
[2023-07-07T05:35:23Z DEBUG wireguard_rs::wireguard::workers] wireguard(757399cf) : handshake worker, started
[2023-07-07T05:35:23Z DEBUG wireguard_rs::wireguard::workers] wireguard(757399cf) : handshake worker, started
[2023-07-07T05:35:23Z DEBUG wireguard_rs::platform::linux::tun] netlink, fetch event (fd = 5)
[2023-07-07T05:35:24Z DEBUG wireguard_rs::platform::linux::tun] netlink, received message (80 bytes)
[2023-07-07T05:35:24Z DEBUG wireguard_rs::configuration::uapi] UAPI, Result of operation: Err(IOError)
[2023-07-07T05:35:24Z DEBUG wireguard_rs::configuration::uapi] UAPI, Set operation
[2023-07-07T05:35:24Z INFO  wireguard_rs::configuration::config] configuration, set private key
[2023-07-07T05:35:24Z DEBUG wireguard_rs::wireguard::router::device] Clear sending keys
[2023-07-07T05:35:24Z DEBUG wireguard_rs::configuration::uapi] UAPI, Result of operation: Ok(())
[2023-07-07T05:35:24Z DEBUG wireguard_rs::platform::linux::tun] netlink, received message (1372 bytes)
[2023-07-07T05:35:24Z INFO  wireguard_rs] Tun down
[2023-07-07T05:35:24Z INFO  wireguard_rs::configuration::config] configuration, set device down
[2023-07-07T05:35:24Z DEBUG wireguard_rs::platform::linux::tun] netlink, fetch event (fd = 5)
[2023-07-07T05:35:25Z DEBUG wireguard_rs::configuration::uapi] UAPI, Result of operation: Err(IOError)
[2023-07-07T05:35:25Z DEBUG wireguard_rs::configuration::uapi] UAPI, Set operation
[2023-07-07T05:35:25Z DEBUG wireguard_rs::configuration::uapi] UAPI, Result of operation: Ok(())
[2023-07-07T05:35:25Z DEBUG wireguard_rs::configuration::uapi] UAPI, Result of operation: Err(IOError)
[2023-07-07T05:35:25Z DEBUG wireguard_rs::configuration::uapi] UAPI, Set operation
[2023-07-07T05:35:25Z DEBUG wireguard_rs::configuration::uapi] UAPI, Result of operation: Ok(())
[2023-07-07T05:35:25Z DEBUG wireguard_rs::platform::linux::tun] netlink, received message (1376 bytes)
[2023-07-07T05:35:25Z INFO  wireguard_rs] Tun up (mtu = 1420)
[2023-07-07T05:35:25Z INFO  wireguard_rs::configuration::config] configuration, set device up
[2023-07-07T05:35:25Z INFO  wireguard_rs::platform::linux::cndp::udp] Wireguard called bind at port 5400
[2023-07-07T05:35:25Z DEBUG wireguard_rs::wireguard::workers] TUN worker, IP packet of 1 bytes (MTU = 0)
manoj@qct-4:~/wireguard/cndp/wireguard-rs$ [2023-07-07T05:35:26Z DEBUG wireguard_rs::platform::linux::cndp::udp] netdev = enp134s0
[2023-07-07T05:35:26Z DEBUG wireguard_rs::platform::linux::cndp::udp] ipv4_addr = Some(<IP_ADDRESS>)
[2023-07-07T05:35:26Z DEBUG wireguard_rs::platform::linux::cndp::udp] src_mac = Some(40:a6:b7:78:3f:ec)
[2023-07-07T05:35:26Z DEBUG wireguard_rs::platform::linux::tun] netlink, fetch event (fd = 5)
[2023-07-07T05:35:26Z DEBUG wireguard_rs::platform::linux::tun] netlink, received message (72 bytes)
[2023-07-07T05:35:26Z DEBUG wireguard_rs::platform::linux::tun] netlink, received message (1396 bytes)
[2023-07-07T05:35:26Z DEBUG wireguard_rs::platform::linux::tun] netlink, received message (1408 bytes)
[2023-07-07T05:35:29Z DEBUG wireguard_rs::wireguard::workers] TUN worker, IP packet of 48 bytes (MTU = 1420)
[2023-07-07T05:35:29Z DEBUG wireguard_rs::wireguard::workers] TUN worker, router returned Err(NoCryptoKeyRoute)
[2023-07-07T05:35:38Z DEBUG wireguard_rs::wireguard::workers] TUN worker, IP packet of 48 bytes (MTU = 1420)
[2023-07-07T05:35:38Z DEBUG wireguard_rs::wireguard::workers] TUN worker, router returned Err(NoCryptoKeyRoute)
[2023-07-07T05:35:48Z DEBUG wireguard_rs::wireguard::workers] TUN worker, IP packet of 84 bytes (MTU = 1420)
[2023-07-07T05:35:48Z DEBUG wireguard_rs::wireguard::router::peer] no key encryption key available
[2023-07-07T05:35:48Z DEBUG wireguard_rs::wireguard::router::peer] request new key
[2023-07-07T05:35:48Z DEBUG wireguard_rs::wireguard::workers] TUN worker, router returned Ok(())
[2023-07-07T05:35:48Z DEBUG wireguard_rs::wireguard::workers] wireguard(757399cf) : handshake worker, new handshake requested for PeerHandle(format: TODO)
[2023-07-07T05:35:48Z DEBUG wireguard_rs::wireguard::handshake::noise] create initiation
[2023-07-07T05:35:48Z DEBUG wireguard_rs::platform::linux::cndp::udp] iface_name: enp134s0, dst_ipv4 = <IP_ADDRESS>
[2023-07-07T05:35:48Z DEBUG wireguard_rs::platform::linux::tun] netlink, received message (1396 bytes)
[2023-07-07T05:35:48Z DEBUG wireguard_rs::platform::linux::cndp::packet] Sent ARP request
[2023-07-07T05:35:48Z DEBUG wireguard_rs::platform::linux::cndp::packet] Received ARP reply
[2023-07-07T05:35:48Z DEBUG wireguard_rs::platform::linux::tun] netlink, received message (1396 bytes)
[2023-07-07T05:35:48Z DEBUG wireguard_rs::platform::linux::cndp::udp] dst mac from ARP = 40:a6:b7:68:95:d4
[2023-07-07T05:35:48Z DEBUG wireguard_rs::platform::linux::cndp::udp] stored dst mac in map
[2023-07-07T05:35:48Z DEBUG wireguard_rs::platform::linux::cndp::udp] Read bulk 1 UDP Packets at time<PHONE_NUMBER>096391
[2023-07-07T05:35:48Z DEBUG wireguard_rs::platform::linux::cndp::udp] Read cndp_ethernet_packet = CndpPacket [
                                src_mac: Some(40:a6:b7:68:95:d4), dst_mac: Some(40:a6:b7:78:3f:ec),
                                src_ip: Some(<IP_ADDRESS>), dst_ip: Some(<IP_ADDRESS>),
                                src_port: Some(5500), dst_port: Some(5400)
                               ]

Yes. But according to the "sudo wg "command, there are public key 。

Currently, I am using Ubuntu 22 for testing,  the kernel version 5.15.0-60-generic
， it has the same issue as when using Ubuntu 20.
root@ubuntu-22:~/driver/i40e-2.22.20/src# ethtool -i ens6f1
driver: i40e
version: 2.22.20
firmware-version: 8.15 0x800096c1 20.0.17
expansion-rom-version:
bus-info: 0000:02:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
root@ubuntu-22:~/driver/i40e-2.22.20/src# uname -r
5.15.0-60-generic

Both ends will derive session keys from public keys using wireguard handshake protocol.

My system has Ubuntu 22.04 and 5.11.0-18-generic kernel

thanks you!
Is the network card driver using the built-in kernel or manually installed network card driver?
If it is manually installed, what is the network card driver version?
Is the source code address of wireguard cndp the following one?
Git clone https://github.com/WireGuard/wireguard-rs.git

Can you send me a copy of the configuration file you are currently using.
Including: cndprustwg.sh, fwd.jsonc, wg_ Cndp.toml
My email is<EMAIL_ADDRESS>thank you

The network adapter uses the kernel driver, and there are errors in syslog:
root@ubuntu-22:/var/by# ethtool -i ens6f1
driver: i40e
version: 5.15.0-60-generic
firmware-version: 8.15 0x800096c1 20.0.17
expansion-rom-version:
bus-info: 0000:02:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes

tailf -f /var/log/syslog
Jul  7 06:41:21 ubuntu-22 kernel: [ 9642.826694] i40e 0000:02:00.1: Registered XDP mem model MEM_TYPE_XSK_BUFF_POOL on Rx ring 1
Jul  7 06:41:21 ubuntu-22 kernel: [ 9642.826990] i40e 0000:02:00.1: Failed to allocate some buffers on AF_XDP ZC enabled Rx ring 1 (pf_q 1)
Jul  7 06:41:21 ubuntu-22 kernel: [ 9642.913722] i40e 0000:02:00.1: Registered XDP mem model MEM_TYPE_XSK_BUFF_POOL on Rx ring 2
Jul  7 06:41:21 ubuntu-22 kernel: [ 9642.913925] i40e 0000:02:00.1: Failed to allocate some buffers on AF_XDP ZC enabled Rx ring 2 (pf_q 2)
Jul  7 06:41:22 ubuntu-22 kernel: [ 9643.656189] device rsuwg0 entered promiscuous mode
Jul  7 06:41:22 ubuntu-22 kernel: [ 9643.738008] i40e 0000:02:00.1: VSI seid 389 XDP Tx ring 0 disable timeout
Jul  7 06:41:23 ubuntu-22 kernel: [ 9644.262780] i40e 0000:02:00.1: Registered XDP mem model MEM_TYPE_XSK_BUFF_POOL on Rx ring 1
Jul  7 06:41:23 ubuntu-22 kernel: [ 9644.263070] i40e 0000:02:00.1: Failed to allocate some buffers on AF_XDP ZC enabled Rx ring 1 (pf_q 1)
Jul  7 06:41:23 ubuntu-22 kernel: [ 9644.333777] i40e 0000:02:00.1: Registered XDP mem model MEM_TYPE_XSK_BUFF_POOL on Rx ring 2
Jul  7 06:41:23 ubuntu-22 kernel: [ 9644.334063] i40e 0000:02:00.1: Failed to allocate some buffers on AF_XDP ZC enabled Rx ring 2 (pf_q 2)

Can you send me a copy of the configuration file you are currently using. Including: cndprustwg.sh, fwd.jsonc, wg_ Cndp.toml My email is<EMAIL_ADDRESS>thank you

wg_cndp_config.zip

The errors above are not really errors but information messages. I am assuming these messages appear each time you start the application, if not then maybe we have an issue. If they are happening while running the application then you may not have enough buffers allocated.
Buffers can be consumed for Rx and Tx AF_XDP rings, plus they can be on the CQ/FQ rings and mempool cache, plus the application could be holding onto a large number of buffers as well. Find out how big the Rx/Tx/FQ/CQ rings times the number of AF_XDP sockets are in size than double or triple the number of mbufs.
But if these message only appear at startup, but not while running then you do not have a problem with the number of buffers. Running the AF_XDP sample application could help determine if things are really working, but the WG example is not.

I switched the ethtool -N rule to:
sudo ethtool -U ens6f1 flow-type udp4  src-ip <IP_ADDRESS>     dst-ip <IP_ADDRESS>     action 2  loc 1
sudo ethtool -U ens6f1 flow-type udp4  src-ip <IP_ADDRESS>      dst-ip <IP_ADDRESS>     action 1  loc 2
but:

Still only queue 2 has packets on it, which is very surprising

Please make sure you have removed all of the old rules, which I assume you have done already.
I have had some problems in the past with drivers not really supporting all of the ethtool configuration options, but normally I would get an error when setting the rules and that does not seem to be the problem here.
If you configure ethtool to only send packets to 1 using something like sudo ethtool -N ens6f1 flow-type udp4 dst-port 5678 action 1 pick a dst-port that works or just redirect all udp4 packets to 1 and see if they are being sent to 1.
I did not see the CNDP .jsonc file you are using, please post it here as sending things via email can get blocked.

@KeithWiles
fwd.jsonc.zip

I reset ethtool as follows:
sudo ethtool -K ens6f1 ntuple off
sudo ethtool -K ens6f1 ntuple on
sudo ethtool -N ens6f1 flow-type udp4   action 1 loc 1

I would change to the following, just to increase the number of mbufs for each port. It may not be this problem, but I think it needs to be more.
    "umems": {
        "umem0": {
            "bufcnt": 64, // <--
            "bufsz": 2,
            "mtype": "2MB",
            "regions": [
                32, // <--
                32 // <--
            ],
            "rxdesc": 0,
            "txdesc": 0,
            "description": "UMEM Description 0"
        }
    }

In the above ethtool output you have packets on RX-1 and TX-2. Meaning a unidirectional traffic are being received on rx-1 and sent to tx-2. Are you sending traffic in the other direction?

@KeithWiles Server B is linux normal wireguard(without cndp)

"umems": {
    "umem0": {
        "bufcnt": 64,
        "bufsz": 2,
        "mtype": "2MB",
        "regions": [
            32,
            32
        ],
        "rxdesc": 0,
        "txdesc": 0,
        "description": "UMEM Description 0"
    }
},

Just modified the configuration here according to your above, but it still doesn't connect.
One night before, I accidentally connected once, and the only connection was successful.
At that time, only port 5500 can be used to connect to server B. If port 8899 or other ports are used, the connection fails.
Then, the server shuts down for one night, only to be disconnected the next day

在上面的 ethtool 输出中，您在 RX-1 和 TX-2 上有数据包。这意味着 rx-1 上接收单向流量并将其发送到 tx-2。您是否向另一个方向发送流量？

At that point, I was just using the ping command
ping  <IP_ADDRESS>

I assume ARP resolves to the correct IP and MAC addresses on both machines after the ping command?

Setup a ping between the two machines to run continuously, then try WG and see if that helps. Assuming the two machines are ping correctly.

Setup a ping between the two machines to run continuously, then try WG and see if that helps. Assuming the two machines are ping correctly. Ping from both machines at the same time. Just having one should work, but just to verify traffic is moving between the two machines while trying the WG application.

I just tested it. It's good. After the "./cndprustwg.sh "command is executed.
Then ping each other from both ends at the same time, and you can ping each other.

After about 20 packets, they can't ping each other again.
Re-execute./cndprustwg.sh and ping each other again for a short time.

Does the ARP entries age out after it stops? arp -n

yes ，

When ping is aborted, it is displayed here
<IP_ADDRESS>   (incomplete)   ens6f1

I see, this means something is deleting the ARP entries or they are arging out some how.

The problem has been resolved with a replacement of the peer server and now ping is fine.

@manojgop Now the two servers can be used normally in the same LAN.
Now I want to use the wireguard (with cndp) on the public network, can you support it?
Or do the two servers have to be on the same subnet?

I see, this means something is deleting the ARP entries or they are arging out some how.

thank you very much!

@KeithWiles  thank you very much!

@manojgop
Now the two servers can be used normally in the same LAN.
Now I want to use the wireguard (with cndp) on the public network, can it  support?
Or do the two servers have to be on the same subnet?


format: cargo fmt and clippy

Cargo fmt and clippy as well as add ci check for linting

Thanks, can you fix the conflicts with main.rs (after I merged your previous PR).

rebased to fix conflicts


No such file or directory

Describe the bug
Passing output 'Download failed -> 127
vd.sh: line 77: /Users/l/Library/Application: No such file or directory' to Reveal File in Finder
On both video and audio downloads
To Reproduce
Steps to reproduce the behavior:
Install Alfred Workflow
Install FFMpeg via terminal "brew install ffmpeg"
Expected behavior
Workflow should work
Desktop (please complete the following information):

OS: MacOS Ventura 13.0 (22A380)

I have the same issue, please see the image below:


[Ionic 4 Beta8] - Navigation animation not the same speed for ion-content and footer

When we go forward and backward the  ion-content the slide animation is slower then the footer.
The footer slides to full width first.

Please, can you open the issue following the issue template? It’s hard to tell what the behavior your are expecting, and why the current one is wrong. Screenshot or even a video can help to solve the issue. Closing for the moment.

Hope this helps ?


use fast unmarshalJson code in etcd/client

from https://github.com/coreos/go-etcd/pull/218
ugorji codec is a preferred choice.
It is critical for latency requirement in k8s scenario. We plan to let k8s use etcd/client instead of go-etcd, so this needs to be improved.
/cc @fgrzadkowski @bcwaldon

/subscribe

We should reevalute if ugorij code is still the best. We've seen in some place that ffjson can now be faster. We should reevaluate it and use the better one.

cc @eparis probably want to cc Jan


use tortoise data for

related: https://github.com/spacemeshos/go-spacemesh/issues/4927
this change eliminates database lookups on ballot validation path, with an exception of when lru cache is not sufficient to hold
vrf nonces and activations. in that case we will have to load them from db, that can be optimized later by fitting more in lru cache https://github.com/spacemeshos/go-spacemesh/pull/4935 or reusing tortoise dataset as well

fetcher will be asked for ballots only if we don't have them in memory
reference ballots for eligibility validation will be fetched from tortoise

bors merge


3.5rc1 Clear Recent Files returns out of bounds error

Godot version
3.5rc1
System information
Windows 11
Issue description
If you try to Clear Recent Files in the script editor you get an out of bonds error and the list isn't cleared.

editor/plugins/script_editor_plugin.cpp:486 - Index p_idx = 1 is out of bounds (rc.size() = 1)
It doesn't matter how many files are listed. In 3.4.4, 3.5b5 and 4.0a8 it's working as intendet.
Steps to reproduce
Open any script and click "Clear Recent Files"
Minimal reproduction project
No response

#61102 backported #57330. It contains a breaking change that makes PopupMenu's default ID 0-based instead of 1-based.

Indeed. It was discussed on Rocket.Chat that this wouldn't break compat but obviously this does, it's probably best to revert for 3.5 as it will break all user code.

Or maybe only the PopupMenu change should be reverted? The OptionButton change seem relatively safe to me.

Yeah I think this change is not meant to be there, it was done in #57330 to fix a regression from #54647, which is not being backported.

Sorry for that. Wasn’t sure if I should backport PopupMenu changes too or only OptionButton ones. Should have discussed this better. Also, that’s why a commit should never contain two (or more) distinct changes.

Fixed by #61181.


Hide version if set to empty string

When the version string is empty, automatically set the HideVersion setting to
true. This fixes #524.

@nthnca awesome, thank you! Do you mind adding a test? This is good otherwise.

@nthnca Ping! Test, please?


Dynamically read version from git metadata

⚠ This is a deprecrated setup, but it works (will log a warning though).
The correct approach is described here: https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata But I haven't used it yet.

Thanks for the fix! I will look into that during the weekend.


EasyXDM fails when large unicode text (Japanese) is being used on IE7

on IE7 if you are using EasyXDM Flash Transport, it fails to transfer large unicode text.
This is because... unicode characters such as Japanese use 2 byte characters rather than single byte ASCII characters. Because of this even though we break the messages into multiple chunks of 40000 each (refer to The solution is in https://github.com/oyvindkinsey/easyXDM/blob/master/src/flash/net.easyxdm.flash/Main.as maxMessageLength value
), the final bytes transferred will be more than 40000.
And since Action Script's LocalConnection.send supports only upto 40KB... the chunks fail to transfer data
You might want to change maxMessageLength  from 40000 to lesser i.e. about 35000 or provide a method to dynamically assume somewhere less than 40000.

In theory all of the characters could be multi-byte characters, and so just using 35000 isn't a viable option.
We would have to actually get the bytecount and then use this, but this also means that we would need to reliably be able to split multibyte strings based on a bytecount, pass these through localconnection and then reassemble the string.
Maybe someone with more AS experience (and more time) could take a look at this?


Application crashes on exit with v0.5.0

The latest release (v0.5.0) introduces additional checks designed to prevent resource leaks that will cause an application to crash unless some explicit changes are made. This can be easily reproduced with the sample code included in the README file of the Microsoft.ML.OnnxRuntimeGenAI package.
Executing this code as is will result in a crash when the application exits after displaying the following message:
Error: Shutdown must be called before process exit, please check the documentation for the proper API to call to ensure clean shutdown.

Proper disposal of the OgaHandle instance fixes the issue
Replace
OgaHandle ogaHandle = new OgaHandle();

With this
using OgaHandle ogaHandle = new OgaHandle();

I couldn't find documentation regarding the OgaHandle, nor many examples that use it, considering how essential it seems to be. This impacts applications using the ONNX Connector in Semantic Kernel, which currently is not aware of this new requirement (see https://github.com/microsoft/semantic-kernel/issues/9628).
While making it easier to diagnose resource leaks is always welcome, crashing the application seems a bit heavy handed. Maybe just keep the error messages but remove the forced shutdown?

I remember having a discussion with @RyanUnderhill about whether we should make it std::abort. Maybe we can move the discussion here instead of Teams?

Same occurs on C++.  I can't any reference in the C++ examples.

@sjpritchard Hi! Could you please post the C++ code you're using? The Adapters API are quite new and I don't think it should trigger leaked source check.

@skyline75489 Here it is:
`#pragma once
#include "ort_genai.h"
#include
#include
#include
#include
class RagLanguageModel : public QObject {
Q_OBJECT
public:
explicit RagLanguageModel(QObject* parent = nullptr);
void Generate(QString query, QStringList context);
public slots:
signals:
void Generated(QString text);
private:
std::unique_ptr           model_{nullptr};
std::unique_ptr       tokenizer_{nullptr};
};
`
`
#include "RagLanguageModel.h"
RagLanguageModel::RagLanguageModel(QObject* parent) : QObject{parent} {
model_ = OgaModel::Create("phi-3.5-mini-instruct");
tokenizer_        = OgaTokenizer::Create(*model_);
}
void RagLanguageModel::Generate(QString query, QStringList context) {
QString joined_context = context.join(" ");
auto prompt = QString("<|system|>\n"
                      "You are a helpful question answering bot. "
                      "<|end|>\n"
                      "<|user|>\n"
                      "Context: %1\n"
                      "Question: %2."
                      "<|end|>\n"
                      "<|assistant|>")
                  .arg(joined_context)
                  .arg(query);

auto tokenizer_stream = OgaTokenizerStream::Create(*tokenizer_);
auto sequences        = OgaSequences::Create();
tokenizer_->Encode(prompt.toUtf8().constData(), *sequences);

auto params = OgaGeneratorParams::Create(*model_);
params->SetInputSequences(*sequences);
params->SetSearchOption("max_length", 1024);

try {
    auto        generator = OgaGenerator::Create(*model_, *params);
    while (!generator->IsDone()) {
        generator->ComputeLogits();
        generator->GenerateNextToken();
        size_t         sequence_index  = 0;
        size_t         sequence_length = generator->GetSequenceCount(sequence_index);
        const int32_t* sequence_data   = generator->GetSequenceData(sequence_index);
        int32_t        latest_token    = sequence_data[sequence_length - 1];
        const char*    decoded_chunk   = tokenizer_stream->Decode(latest_token);
        auto           text            = std::string(decoded_chunk);
        emit Generated(QString::fromStdString(text));
    }
} catch (const std::exception& e) {
    qDebug() << "Error:" << e.what();
}

}
`

I encountered the same issue, the onnxruntime-genai.dll crashes when the program closes. It works fine in version 0.4, has problems in version 0.5. I also did an experiment, and found that the application crashes on closing as long as it calls the OgaModelCreate function. This is likely a bug in onnxruntime-genai.dll, and I hope it can be fixed as soon as possible. Thank you

@sjpritchard Are you using DML? Or just CPU?
@RyanUnderhill This also looks like an adapter related crash similar to the DML one.

Same in C# / DirectML / v0.5.2. Using Microsoft.ML.OnnxRuntimeGenAI.Model does not require an OgaHandle. Either the Model constructor should require an OgaHandle or the Model class fully handle init and cleanup of an OgaHandle, which is not the case. Instantiating an OgaHandle and disposing it fixes the error, so for me the workaround in Dispose is
model?.Dispose();
model = null;
var ogaHandle = new Microsoft.ML.OnnxRuntimeGenAI.OgaHandle();
ogaHandle.Dispose();


How to deal with callback after successful login?

I run the example code. However, this example does not specify how to deal with redirection in the correct way.
In my case, after logging in, the web view remains open. When I close it manually, I get an error in the application with the following PlatformException(authorize_and_exchange_code_failed, Failed to authorize: [error: null, description: User cancelled flow], null, null).
Otherwise, when I have specified an address in the redirectUrl parameter that is a deeplink, the webview is closed and the control returns to the mobile app but I still get the error PlatformException(null_intent, Failed to authorize: Null intent received, null, null).
Could I ask for some guidance on how to use this library properly?

You can read the guidance provided in pub.dev.
Inside the example code, it listens to the authentication stream. Once the user logged in, it will redirect the user to the home screen. Based on the error, you probably input the wrong username or password. Can you screen record your login process and show it to me? Maybe that will make it easier for me to understand your issue. There's might be something wrong somewhere inside your code too.

I have created a test application according to the tutorial.
As you can see in the video after entering the correct data the window does not close. On the application side, authenticationStream also does not return a status change as you can see in the logs. After closing the web view there is a Failed to authorize error as you can see in the recording and the keycloakWrapper.login(config) method returns false.
https://github.com/fa-fifi/keycloak-wrapper/assets/5932566/0283ac44-5df2-45d1-b9e3-10c9193ce8d3

Instead of using redirectUrl, can you use bundleIdentifier instead? Remove your redirectUrl and enter your app package inside the bundleIdentifier. Let's see how it goes.

Change your redirectUrl to https://www.keycloak.org/app and let see how it goes first.

I have the same issue and I working on it ,please notify me if there is a solution

@bishoyabdmariam @Peragorn

Insert your app package name inside bundleIdentifier and remove your redirectUrl.
If that doesn't work, re-check your redirectUrl, make sure it is a valid url.

Please try these steps and let me know.

You can't do that because the bundleIdentifier might look like com.example.test_app. The plugin creates a redirectUrl based on the bundleIdentifier, so the following URL will be created: com.example.test_app://login-callback, which is an invalid URL.
If I enter the correct URL it will redirect me to the page in web view. If I enter a URL that is a deep link to the mobile app, then it closes the web view and takes me back to the app but with a login error.
@bishoyabdmariam  I have found a solution, but it is not a fix for the bug we are discussing. I used a different library that allows me to log into Keyclock without having to open Webview.

@Peragorn
I know how bundleIdentifier looks like but have you ever try it and see if it succeed or not? That's what I want to know because I use this package that way. If you tried my first method and failed please let me know. Don't say it won't working without trying. Help me to help you.

Of course, I tried that is why I wrote that it is an invalid URL and keyclock will not register it in the Valid redirect URIs section.

You can't do that because the bundleIdentifier might look like com.example.test_app. The plugin creates a redirectUrl based on the bundleIdentifier, so the following URL will be created: com.example.test_app://login-callback, which is an invalid URL.
If I enter the correct URL it will redirect me to the page in web view. If I enter a URL that is a deep link to the mobile app, then it closes the web view and takes me back to the app but with a login error.
@bishoyabdmariam  I have found a solution, but it is not a fix for the bug we are discussing. I used a different library that allows me to log into Keyclock without having to open Webview.

what is this library ?

@bishoyabdmariam  flutter_keycloak

@Peragorn can you tell me what did you do in scopes ?

I use as scope "offline_access" but generally speaking it depends on the settings on the keyclock side.

E/flutter ( 1911): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'String' is not a subtype of type 'int' of 'index'
I have faced this error how you solved it  ?

No. Try log in on my way. One important note is(when keyclock is host by local env)  do not use localhost or <IP_ADDRESS> as authServerUrl, try something like that http://192.168.x.xxx:8080
      Map conf = {         'resource': KeyCloakConst.clientId,         'realm': KeyCloakConst.realm,         'auth-server-url': KeyCloakConst.authServerUrl,       };       await _flutterKeycloak.login(conf, username, password,           scope: KeyCloakConst.scope);

@Peragorn  it works thankyou but there is still an issue that there is no sign up how should I handle this ?

@fa-fifi have you reached the solution

@Peragorn please tell me how should I handle the sign up proccess ?

You can't do that because the bundleIdentifier might look like com.example.test_app. The plugin creates a redirectUrl based on the bundleIdentifier, so the following URL will be created: com.example.test_app://login-callback, which is an invalid URL.

Hi @Peragorn 👋
You should insert com.example:test_app:/* instead of com.example.test_app://login-callback into the valid redirect URI and use my plugin as usual using bundleIdentifier instead of setting your own custom redirect URI. You should also set the same URI for valid post logout redirect URI.
@bishoyabdmariam Can u try my suggestion and see if it works?

You can't do that because the bundleIdentifier might look like com.example.test_app. The plugin creates a redirectUrl based on the bundleIdentifier, so the following URL will be created: com.example.test_app://login-callback, which is an invalid URL.

Hi @Peragorn 👋
You shouldn't insert '_' (underscore) inside your app's bundleIdentifier. So, in this case, com.example.test_app://login-callback is considered invalid due to the underscore. Rename you app package name, then set your valid redirect URI inside your keycloak admin console as <bundle_identifier>:/* and retry using the bundleIdentifier parameter instead of setting your own custom redirectUrl.
Hope this helps. 🙏

I tried the changes that you made that it opens the webview and there is an error invalid parameter: redirect_uri

@bishoyabdmariam go to your keycloak client's access settings and add <bundle_identifier>:/* into the valid redirect uri.

I have already done that

i'm tested this package, run flutter in macosx. So far it can propup login page, can sign in, and pop up dialog close but application freeze and vscode focus here.

i tried to implement try catch but i cant get any info

@kstan79 Hi, there! 👋
Sorry for the late reply since I don't open my laptop on weekends.
Regarding your issue, I need more time to investigate it but would you mind to open a new issue? This issue that you commenting on is already closed and not related to your problem. Sorry for the inconvenience but i'll try my best to help you.


Gpu instead of Cpu.

Hi,
Can anyone guide me about how can I use GPU instead of CPU?

It will choose GPU automaticly.

why is cuda.available is returning false on my system. I have installed cuda 10.2 toolkit before I have cloned the project.

Your cuda version and pytorch version should match.
For instance, pytorch_1.3.0_cu92 is not suitable for cuda_10.2.
Check (https://pytorch.org/get-started/previous-versions/)[https://pytorch.org/get-started/previous-versions/] for more information.


Add Drupal dev version to CI environment

Try running our code against Drupal minor version release candidates to see if things will break when a new version of Drupal is coming out.

So I took a crack at this, but right now its pretty much impossible due to Drush being borked because Drupal updated major versions of symfony. See details in this issue:
https://github.com/drush-ops/drush/pull/2787

Just to leave my work here in case we want to revisit it at some point:
Updated travis.yml:
https://github.com/jonathangreen/islandora-claw/compare/8.x-1.x...jonathangreen:issue-665
Updated travis_setup_drupal.sh:
https://github.com/jonathangreen/CLAW/compare/issue-665

Here is the travis fail during site install due to drush:
https://travis-ci.org/jonathangreen/islandora-claw/jobs/242069028

It remains an issue that we need a strategy for looking ahead to testing code on alpha (emerging) versions of Drupal. We do have some portions of this set up. We need to document Github Actions approach.


Warning 'util.error: Use console.error instead' polluting the output

Hi,
I was building a gulp task including browserify like this :
gulp.task('scripts', function() {
  browserify('./src/main.js', {debug: true})
      .transform(hbsfy)
      .transform(babelify)
      .bundle()
      .on('error', utils.swallowError)
  	  .pipe(source(conf.paths.js.app))
  	  .pipe(buffer())
  	  .pipe(uglify())
  	  .pipe(gulp.dest(conf.paths.dist));
});

I then added sourcemaps like this :
gulp.task('scripts', function() {
  browserify('./src/main.js', {debug: true})
      .transform(hbsfy)
      .transform(babelify)
      .bundle()
      .on('error', utils.swallowError)
  	  .pipe(source(conf.paths.js.app))
  	  .pipe(buffer())
      .pipe(sourcemaps.init({loadMaps: true}))
  	  .pipe(uglify())
      .pipe(sourcemaps.write('./'))
  	  .pipe(gulp.dest(conf.paths.dist));
});

Which works fine (the sourcemaps is correctly generated) but the prompt output is polluted a lot, as shown below :
[22:31:33] Using gulpfile ~/Projects/website/gulpfile.js
[22:31:33] Starting 'scripts'...
[22:31:33] Finished 'scripts' after 31 ms
util.error: Use console.error instead
WARN: Couldn't figure out mapping for ?:2,0 → 1,454 []
util.error: Use console.error instead
WARN: Couldn't figure out mapping for ?:4,0 → 1,466 []
util.error: Use console.error instead
[...] # Hundreds of lines like the ones above
WARN: Couldn't figure out mapping for ?:171,25 → 1,4579 []
util.error: Use console.error instead
WARN: Couldn't figure out mapping for ?:173,11 → 1,4600 []

Process finished with exit code 0

As you can guess, this makes the prompt really difficult to read.
I've looked around and it seems to happen on the yuidoc plugin too (see here) since one of their dependency (yui) is using util.error which has been deprecated in Node 0.12. I've tried to find the incriminated dependency but it goes quite deep.  Any work around suggestion ? Like filtering the output or something ?
Any idea is very welcomed :)

None of the packages gulp-sourcemaps depends on is using util.error.

Are your dependencies up to date? (run npm update)
Is the error still there if you comment out the plugins between sourcemaps.init and sourcemaps.write?


Sprint 5.1 parimita

Files Changed for data definitions and filter placeholders order for Focus Area Analysis Chart(Issues Addressed and Network Analysis)
uno-cpi\home\views.py (def networkanalysis,def issueaddress)
uno-cpi\home\templates\charts\network.html
uno-cpi\home\templates\charts\issueaddressanalysis.html

merged


Fix retranslation settings

Rename one of the configuration variables, and add another one activateAutoDetect to activate the auto-detection feature (it is now off by default).

@daniel-jones-deepl LGTM! Passing back to you to merge when you have a chance.


style could accept nested media queries

not so certain of this one yet, but we'll see. related to #60

this is live in 2.17.0


Paket fails to build Forge project on a fresh clone

On a fresh repo under Unix system, I always get an error when paket try to build Forge project. I have this problem on my 3 computers (Ubuntu, Fedora, OS X), so perhaps this related to Unix OS.

    Error log (click to expand)

➜  tmpIonide git:(master) dotnet restore
  shasum: /Users/maximemangel/Downloads/tmpIonide/.paket/../paket-files/paket.restore.cached:
  Paket version 5.142.0
  Downloading fsharp/FAKE:800579e69ce35b77345ee21923ddf117168067cd modules/Octokit/Octokit.fsx to /Users/maximemangel/Downloads/tmpIonide/paket-files/build/fsharp/FAKE/modules/Octokit/Octokit.fsx
  Checking for uncommitted changes in /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/ionide/ionide-fsgrammar
  Checking for commits made in detached HEAD state in /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/ionide/ionide-fsgrammar
  Setting /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/ionide/ionide-fsgrammar to e15bff40cf4bc42c82bcbdb2a836e4b944b3ef3e
  Checking for uncommitted changes in /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge
  Checking for commits made in detached HEAD state in /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge
  Setting /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge to deb1adf855d5f59726dbd6ab1cc52e0e2336cfe1
  Running "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/build.sh Build"
  Checking for uncommitted changes in /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp/FsAutoComplete
  Checking for commits made in detached HEAD state in /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp/FsAutoComplete
  Setting /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp/FsAutoComplete to c07a886e8c1d0bbd4b0384f28e5f1ba1fccf12d1
  Running "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp/FsAutoComplete/build.sh LocalRelease"
  Performance:
   - Disk IO: 1 second
   - Average Download Time: 406 milliseconds
   - Number of downloads: 1
   - Runtime: 23 seconds
  Paket failed with
  -> Could not run "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/build.sh Build".
EXEC : error : Checking Paket version (downloading latest stable)... [/Users/maximemangel/Downloads/tmpIonide/src/Ionide.FSharp.fsproj]
     Hash file of version 5.156.5 found in cache.
     Copying version 5.156.5 from cache.
     Done in 1,68 second(s).
     Downloading fsharp/FAKE:b5933798c1944051bf358a460fcdc8ffbd678dfc modules/Octokit/Octokit.fsx to /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/paket-files/fsharp/FAKE/modules/Octokit/Octokit.fsx
     Performance:
      - Disk IO: 1 second
      - Average Download Time: 360 milliseconds
      - Number of downloads: 1
      - Runtime: 1 second
     Building project with version: LocalBuild
     Shortened DependencyGraph for Target Build:
     <== Build
        <== AssemblyInfo
           <== Clean

     The running order is:
       - Clean
       - AssemblyInfo
       - Build
     Running build with 1 worker
     Starting Target: Clean
     Creating /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/temp
     Finished Target: Clean
     Starting Target: AssemblyInfo (==> Clean, Clean)
     Created AssemblyInfo file "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge/AssemblyInfo.fs".
     Created AssemblyInfo file "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.Core/AssemblyInfo.fs".
     Created AssemblyInfo file "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.ProjectSystem/AssemblyInfo.fs".
     Finished Target: AssemblyInfo
     Starting Target: Build (==> AssemblyInfo)
     Building project: /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge/Forge.fsproj
       /Library/Frameworks/Mono.framework/Versions/Current/Commands/msbuild  /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge/Forge.fsproj /t:Rebuild    /p:RestorePackages="False" /p:OutputPath="/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/temp" /p:Configuration="Release" /logger:Fake.MsBuildLogger+ErrorLogger,"/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/packages/FAKE/tools/FakeLib.dll"
     Microsoft (R) Build Engine version <IP_ADDRESS> (xplat-master/67e8006d Thu Mar  8 17:15:24 EST 2018) for Mono
     Copyright (C) Microsoft Corporation. All rights reserved.

     Build started 21/04/2018 22:02:06.
     Project "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge/Forge.fsproj" on node 1 (Rebuild target(s)).
     CoreClean:
       Creating directory "obj/Release/".
     Project "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge/Forge.fsproj" (1) is building "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.Core/Forge.Core.fsproj" (2:2) on node 1 (Clean target(s)).
     CoreClean:
       Creating directory "obj/Release/".
     Project "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.Core/Forge.Core.fsproj" (2:2) is building "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.ProjectSystem/Forge.ProjectSystem.fsproj" (3:3) on node 1 (Clean target(s)).
     CoreClean:
       Creating directory "obj/Release/".
     Done Building Project "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.ProjectSystem/Forge.ProjectSystem.fsproj" (Clean target(s)).
     Done Building Project "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.Core/Forge.Core.fsproj" (Clean target(s)).
     Project "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge/Forge.fsproj" (1) is building "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.Core/Forge.Core.fsproj" (2:3) on node 1 (default targets).
     Project "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.Core/Forge.Core.fsproj" (2:3) is building "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.ProjectSystem/Forge.ProjectSystem.fsproj" (3:5) on node 1 (default targets).
/usr/local/share/dotnet/sdk/2.1.103/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.NETFramework.targets(56,5): error MSB4062: The "GetDependsOnNETStandard" task could not be loaded from the assembly /usr/local/share/dotnet/sdk/2.1.103/Microsoft/Microsoft.NET.Build.Extensions/tools/net46/Microsoft.NET.Build.Extensions.Tasks.dll.  Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.ProjectSystem/Forge.ProjectSystem.fsproj] [/Users/maximemangel/Downloads/tmpIonide/src/Ionide.FSharp.fsproj]
     Done Building Project "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.ProjectSystem/Forge.ProjectSystem.fsproj" (default targets) -- FAILED.
     Done Building Project "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.Core/Forge.Core.fsproj" (default targets) -- FAILED.
     Done Building Project "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge/Forge.fsproj" (Rebuild target(s)) -- FAILED.

     Build FAILED.

     "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge/Forge.fsproj" (Rebuild target) (1) ->
     "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.Core/Forge.Core.fsproj" (default target) (2:3) ->
     "/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.ProjectSystem/Forge.ProjectSystem.fsproj" (default target) (3:5) ->
     (ImplicitlyExpandNETStandardFacades target) ->
/usr/local/share/dotnet/sdk/2.1.103/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.NETFramework.targets(56,5): error MSB4062: The "GetDependsOnNETStandard" task could not be loaded from the assembly /usr/local/share/dotnet/sdk/2.1.103/Microsoft/Microsoft.NET.Build.Extensions/tools/net46/Microsoft.NET.Build.Extensions.Tasks.dll.  Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [/Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge.ProjectSystem/Forge.ProjectSystem.fsproj] [/Users/maximemangel/Downloads/tmpIonide/src/Ionide.FSharp.fsproj]

         0 Warning(s)
         1 Error(s)

     Time Elapsed 00:00:00.82

     ---------------------------------------------------------------------
     Build Time Report
     ---------------------------------------------------------------------
     Target         Duration
     ------         --------
     Clean          00:00:00.0017971
     AssemblyInfo   00:00:00.0242894
     Total:         00:00:01.6280120
     ---------------------------------------------------------------------
     ---------------------------------------------------------------------
     ---------------------------------------------------------------------
     ---------------------------------------------------------------------
     Running build failed.
EXEC : error :  [/Users/maximemangel/Downloads/tmpIonide/src/Ionide.FSharp.fsproj]
     Building /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge/Forge.fsproj failed with exitcode 1.
     Build          Failure
     Status:        Failure
       1) Building /Users/maximemangel/Downloads/tmpIonide/paket-files/github.com/fsharp-editing/Forge/src/Forge/Forge.fsproj failed with exitcode 1.
       2) MSB4062: /usr/local/share/dotnet/sdk/2.1.103/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.NETFramework.targets(56,5): The "GetDependsOnNETStandard" task could not be loaded from the assembly /usr/local/share/dotnet/sdk/2.1.103/Microsoft/Microsoft.NET.Build.Extensions/tools/net46/Microsoft.NET.Build.Extensions.Tasks.dll.  Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
/Users/maximemangel/Downloads/tmpIonide/.paket/Paket.Restore.targets(74,5): error MSB3073: La commande "/Library/Frameworks/Mono.framework/Commands/mono --runtime=v4.0.30319 "/Users/maximemangel/Downloads/tmpIonide/.paket/../paket.exe" restore" s'est arrêtée avec le code 1. [/Users/maximemangel/Downloads/tmpIonide/src/Ionide.FSharp.fsproj]

But if I do it manually then it's working.
➜ tmpIonide git:(master) cd paket-files/github.com/fsharp-editing/Forge
➜  Forge git:(deb1adf) ✗ ./build.sh Build

I am trying to debug this issue because this is really annoying. Like every time I am working on Ionide I need to build a lot of stuff by hand :)
And I don't understand why this is failing when called by paket and not when I am calling the command by myself.

Another, thing is with the current repo architecture when you are updating the dependencies then I need to either delete paket-file or remove all the uncommited changes from the git dependencies repo.
Otherwise, I git this error:
Paket version 5.142.0
Checking for uncommitted changes in /Users/maximemangel/Workspaces/Github/ionide/ionide-vscode-fsharp/paket-files/github.com/fsharp/FsAutoComplete
Performance:
 - Disk IO: 13 milliseconds
 - Runtime: 3 seconds
Paket failed with
-> Checkout to /Users/maximemangel/Workspaces/Github/ionide/ionide-vscode-fsharp/paket-files/github.com/fsharp/FsAutoComplete failed.
   Message: It seems there are uncommitted changes in the repository. The changes must be committed/discarded first.
   Message:

And then after that build again by hand each repo... It isn't hard stuff now that I know that but it is really annoying and believe if a new contributor want to contribute it can discourage them.
Could we use artifacts coming from a CI instead of building the dependencies in the Ionide repo ? What is your current workflow when working on a new FSAC / Forge feature ?
Do you work inside the paket-files repo ? And so rebuild and copy/paste the bin each time into the release folder of Ionide ?

Yes, removing paket-files is known problem for me... But other than that build process just works fine for me on both machines (Windows and Linux). I don't work inside of paket-files repo, but rather in FSAC/Forge repository and then compiled files manually to release folder if i need to test thigns

Except removing paket-files know problem the original issue raised seems fixed with current version of master branch.
Let's close this.


[select-checbox] refactor for mdl and add to catalog

Cool gif

Maybe add more examples , non preselected values could be nice.


AlphaESS Website Change

Alpha ESS have changed from www.alphaess.com to cloud.alphaess.com, this seems to have broken the integration?

Thanks, This was reported already https://github.com/CharlesGillanders/homeassistant-alphaESS/issues/20 and I have made the necessary fix. Details are in that other ticket.

Apologies, completely forgot to look at the closed issues!


HTTP 400 Error -  While creating a promise to call private_query

OrgCheck Information
Version: v1.9.7
Installed on OrgId: 00D5P0000009E37
Current running UserId: 0054a0000019ZDXAA2
Navigation Information
Page: /apex/OrgCheck_Automations_VFP
System Information
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Operating System: Win32
Language: en-US
Error #0: ERROR_HTTP_400
When: While creating a promise to call "private_query".
What:
index: 1357
queryMore: undefined
queryString: SELECT Id, FullName, DefinitionId, MasterLabel, VersionNumber, Metadata, Status, Description, ProcessType FROM Flow WHERE Id = '3014a0000000rHRAAY'
queryUseTooling: true
Stack:
ERROR_HTTP_400: Access Declined
at r.getError (/resource/1659500723000/orgcheck__OrgCheck_JSForce_SR:1:72641)
at /resource/1659500723000/orgcheck__OrgCheck_JSForce_SR:1:71009
at /resource/1659500723000/orgcheck__OrgCheck_JSForce_SR:1:229622
at /resource/1659500723000/orgcheck__OrgCheck_JSForce_SR:1:229650
at MutationObserver.o (/resource/1659500723000/orgcheck__OrgCheck_JSForce_SR:1:104504)

thank you for logging this issue.
This is a duplicate of #74
It has been resolved in Hydrogen version (the next to come soon)
I will let you know when i push the version in your org.


How to improve performance when there are many data items?

Hi Guys,
When I use Column, if there are many data items, the switching will be very slow. Is there any way to improve performance?

Hi - I recommend doing a performance recording and seeing what is happening when you're switching. The column component just does the initial layout of the components and sets up _handleKeys to switch between data items. The switching just changes the getFocused and shouldn't cause any performance issues. You'll need to look at what is happening when an element is focused / unfocused to see if you're doing too much on the main thread.


add close method

add close method to flush any pending events and close streaming connection
prevent new events from being tracked while closing

Current dependencies on/for this PR:

main

PR #83

PR #85   👈

This comment was auto-generated by Graphite.


ReadableStream for CLI

it would be good to be able to get ReadableStream from CLI function call.
let streamResult[]

let res = await process.execute("ipfs", ["add", `${file.path}`])
let reader = res.progress.getReader()  //not necessary be named as "progress", maybe "status"
while (true) {
  const {done, value} = await reader.read();
  if (done) {
     break;
  }

  .... then, push the value chunk to streamResult[]
 }

some vital data of a status like after calling to "ipfs daemon" is needed, currently it won't even return a single line of result, because it stay running, so the call never come back, it only comeback when it is terminated or crashed... actually this could be listed as bug, bcos the Rust code stay waiting there forever for the daemon.

Closed by #1408. Check out https://tauri.studio/en/docs/api/js/modules/shell


Discuss with Tadashi/Kaushik

What is the difference between GP_% and AP_%? (what do the abbreviations mean)

How to recognize MC Prod jobs?

How to assign a share to the tasks, the same way it is done for workqueues?

What is the best way to define selection criteria? They need to be dynamically included in SQLAlchemy or SQL. They need to support:

 IN
 =  (and smaller, bigger, etc)
concatenation via OR/ANDs

What are the states for nrunning and nqueued
nqueued is much higher than nrunning - probably just some testbed effect

How to get site/capacity information?

What is the ATLAS_PANDA.cloudtasks table and how does it relate with the jedi_task table

Link for Kaushik: http://aipanda081/


Pretrained Stylegan v2 Model on clevr and cityscapes dataset

Hi Drew,
I tried reaching out via email.
Is it possible to release the StyleGAN v2 pre-trained weights for clver and cityscapes datasets?
You use these models as your baseline for the GANsformer model but I had trouble replicating StyleGAN v2 fid scored on these models
Thanks,
Krish

Hi Krish, Thank you for your message! I currently don't plan to release the pretrained checkpoints for the varied baselines but note that they all are supported and can be trained by the implementation in the repo! (although I understand that would require the GPUs etc). I'll definitely let you know if I release additional checkpoints!


Conda installation instructions not included in the README

Looks like alphalens is available on conda-forge now.  Should we add installation instructions to the README in this repo, so conda users know that we have them covered?

This sounds like a good idea. @TimShawver Would you like to update the README on a new pull request?

Sure: https://github.com/quantopian/alphalens/pull/280

thank you!


Undo bulk search&replace

Provide the ability to undo an incorrect/accidental bulk search and replace.
As requested:
'One possible future request for Self-service disaster recovery:
A feature to help recover a batch of content from a bad "find & replace" job'

Thinking about a path to do this...
Maybe we version on every "replace" and then add version restore to the bulk tool.


Support export tensor data to image

If we have a tensor or FloatArray containing the image data, we should be able to convert this piece of data to the image (BufferedImage at this moment) in Image Preprocessing DSL or in ImageConverter
Look at the imageToFloatArray function in ImageConverter. We need FloatArrayToImage function.
Also, this function could be added as an Image Preprocessor (analogue of ImageSaver) but could be used in the TensorPreprocessing DSL block.

@zaleslaw such function already exists in examples.dataset.ImagePanelKt#toBufferedImage, probably could be moved to ImageConverter.

Regarding this
Also, this function could be added as an Image Preprocessor (analogue of ImageSaver) but could be used in the TensorPreprocessing DSL block.
Let's move this out to another issue, to speed up release of 0.4


update citation info

Along with #86, we also need to update the author list in citation.cff.
I assume we'll want to include this file in the "update template" action, but I suspect event coordinators will also want to be able to add themselves to the author/citation list for particular events. We'll have to figure out how to best navigate this so everyone always gets proper credit.

@jomey @scottyhq Do we want to continue having an author list in CITATION.cff (i.e. is it useful for Zenodo releases or following repo best practices)? Currently we've got all-contributors being used for contributions to the template, then presumably book/team.yaml has all the individual event/website contributors for a given. We also have a script to generate the CITATION.cff file from the team.yaml - should this be part of an action to get updated when team.yaml is modified?


GitLab : MR not gated after invalidate ICLA records

Steps :

Go to PCC --> Signature --> ICLAs records
Invalidate ICLAs records
Go to GitLab project & create Merge request

Actual Results : Merge request is not gated
Refer Video clip :
https://images.zenhubusercontent.com/194341141/71ee7d1d-1ae8-48af-a3c3-ff80f687d705/mr_not_gated_.mp4

Now MR are gated after invalid ICLA records. Issue is verified on Dev Site
Refer Video clip for more details
https://images.zenhubusercontent.com/194341141/40fac0db-a19e-4ce0-b113-db66c7275e4d/invalidmr.mp4


Library not loaded on Mac

I'm having an issue with the v11.2.2 executable for Mac. Every time I run it I get the following error:
Library not loaded: /usr/local/opt/postgresql<EMAIL_ADDRESS>I had Postgres 16 installed (and had never had 14 on this machine). I've tried the following:

My original  Postgres installation was don using the EDB installer for Mac
I tried using Postgres.app instead
I tried installing Postgres 14 with Homebrew
I tried using the Linux static executable from Postgrest instead of the Mac version (this didn't run at all).

#1-3 above gave me the same error. None of those installers wrote anything to /usr/local/opt. #4 just didn't run. #3 should have addressed the fix mentioned on the Postgrest site (to do a Homebrew install). I secifically ran 'brew install postgresql@14', and in case it helped 'brew services start postgresql@14'.

Will give it a try and report back, thanks.

The end-to-end test worked as well, thanks for the assist.


AzDo comments requirement on builds with integration tests

Implement the recommended approach to integration tests by the AzDo product team by enabling the comment before running tests on a pull request feature. This way a team member can review the code to ensure no changes that would enable security breach are permitted.

[ ] Complete comments validation
[ ] Move secrets to Azure Key Vault

Using Azure Key Vaults will not support special characters specifically the '_'.

Secret names can only contain alphanumeric characters and dashes.
To have environment agnostic support between the variable groups we can hold off for now until the Azure Key Vault team adds this support.

https://feedback.azure.com/forums/906355-azure-key-vault/suggestions/33931111-secret-names-do-not-support-special-characters

The comment validation on non -team PRs will provide the process to prevent potential security threats.


[GSSOC'21]

🚀 Feature
(A clear and concise description of what the feature is.)
Hello,
Standard Template Library is a soul of C++ language.
I have a code that provides basics of vectors, maps and sets in C++.It would be a perfect guide for beginners in competitive programming.
Please assign this to me.
Thankyou.
Have you read the Contributing Guidelines on Pull Requests?
---YES
(Write your answer here.)
Motivation
(Please outline the motivation for the proposal.)
---A quick guide to STL for new programmers.
Pitch
(Please explain why this feature should be implemented and how it would be used.)
---A necessary and sufficient knowledge of STL is required for common programming contests.

/assign

No need of such problems


Add Support for Multiple Filtering Keys for Subquery Broadcast [databricks]

This PR adds support for passing multiple filtering keys to the GpuSubqueryBroadcastExec
contributes to #9259
fixes #10669

build


Get-User search results include all users that have user as a manager as well

When I run Get-User -search msmith I would expect the result to be msmith's details from Snipe. What I am actually getting is that user's details as well as all other users' details that also have msmith as a manager. Is there a way to limit the search to just a particular field in Snipe's user details?
Example: Get-User -search msmith -searchfield username

Fixed in develop, now you can use -username and -email parameters to get specific user


region-syncer: use history buffer to record changed regions

What problem does this PR solve?
History buffer is used to record the changed regions. we can find some lost regions in it if the follwer is isolated in a short time.
What is changed and how it works?
Add a buffer to record the changed regions.
Check List
Tests

Unit test
Integration test

PTAL @disksing @rleungx

LGTM.


How do you log into your youtube account to archive Join button content?

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
I am trying to download content from a Join button exclusive youtube channel and letting tubup know that it's my account, but it's only logged into my archive account. Can't you log it into youtube with cookies in some way?
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

You're asking about tubeup? Why not ask on their tracker?
Or are you asking about yt-dlp?
For yt-dlp: https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp


Getting serviceUrl for any user

ServiceUrls (for each user) need to be saved for proactive messaging purposes. How do I know that the serviceUrl I have saved won't change for the user? Is there a way to guarantee that the serviceUrl I have saved will always work for that user? If not, how do I get a fresh one?

@liangchr ,Whenever a user start having conversation with Bot, Bot sends a activity with service Url for subsequent requests, Service URL is changed based on regions but for all of the tenant service URL is fixed you can save it from activity in json file or Database for further use.


Story with stickers

Hello will that be possible to add someday a way to publish story with vissible stickers example: link sticker

If my project is finished, I am thinking of adding stroy functions.

Fingers crossed! Thanks for immediate response.


Printing to auto-discovered remote CUPS printers - pdftopdf runs twice and applies options twice

I have a CUPS server and a CUPS client, both running the current upstream GIT snapshot of CUPS. Operating system is Ubuntu Cosmic (which will get 18.10 in October) and cups-filters is 1.20.4. cups-browsed is not running for this test.
The CUPS server shares a print queue and I print from the client on this queue, without explicitly creating a print queue on the client. The client has also access to IPP network printers.
I am creating a PDF print job on the client, it is recognized as application/pdf by the client's CUPS. The PPD for the auto-generated (by CUPS), temporary print queue on the client contains several cupsFilter lines dependent on the destination printer. If the destination is a remote CUPS queue, in my case the shared printer on the CUPS server (which understands PDF, PDL list in DNS-SD TXT record contains "application/pdf") a line like
*cupsFilter2: "application/vnd.cups-pdf application/pdf 10 -"

is in the PPD and it gets selected by the client's CUPS when determining the filtering of the job. The client then needs to filter the incoming application/pdf to the application/vnd.cups-pdf requested by the PPD file and for that pdftopdf is called as the only filter.
The server's CUPS daemon then receives the job and recognizes it as application/pdf again (I do not know now whether via *.types files or told by the client). The PPD here is for the physical printer, but the nature of the *.convs rules on the server makes up a filter chain which starts with pdftopdf, so pdftopdf is called twice, once on the client and once on the server.
If an option handled by pdftopdf (like number-up=4) is supplied to the job on the client it gets applied twice, once by the client's pdftopdf and once by the server's.
The problem is now for the client to find out which options are already taken care of by the server, when the client considers the server simply as a driverless IPP printer and does not distinguish whether the server is a CUPS server or an IPP network printer. As CUPS runs pdftopdf for processing jobs a shared CUPS printer supports all of these options (number-up, number-up-layout, page-border, collate, mirror, page-set, fit-to-page, scaling, ...), an IPP network printer some or none of them depending on the printer's sophistication.
A first step to address this is already done as the support of such options is listed in the response which CUPS gives to a get-printer-attributes IPP request of the client (see issue #5340), but the pdftopdf of the client has no access to this info, as a client's filter is not supposed to do an IPP request on the server (am I right?). The only way in the current architecture of CUPS for a filter knowing about the print queue is the PPD file. So there needs to be one of the following two things to be done:

The PPD generator of CUPS has to add all these options to the PPD. If pdftopdf finds such an option in the PPD it does not execute this option by itself as it assumes that the printer (server in our case) will execute it. You call most of these options already "PPD options" in issue #5340.
When CUPS creates a temporary queue for an IPP network printer or remote CUPS printer, it does a get-printer-attributes request for generating the PPD. It should store the original response in a way so that the filters can access it (would also be good for a future removal of the PPD concept).

One of these changes need to be done to avoid

The client's pdftopdf having to somehow recognize whether the server is a CUPS server and in this case not execute the options. Would break with IPP network printers which support some of these options.
The client's pdftopdf has to mark its output with a comment so that a subsequent pdftopdf (in our case the server's) passes the job through unchanged instead of processing it again.

These two are not really IPP-conforming but dirty workarounds.

I won't be able to address this for another month, but basically you need to report support for the application/vnd.cups-pdf MIME media type so that the client doesn't send the PDF as application/pdf.

I think the solution here is to not have the client do any local filtering, e.g.:
*cupsFilter: "application/pdf application/pdf 0 -"

instead of using the application/vnd.cups-pdf media type. Changes will be to ppd-cache.c...

[branch-2.2 b7297655b] Fix shared printing using the IPP Everywhere driver (Issue #5361)
[master fd7190c1c] Fix shared printing using the IPP Everywhere driver (Issue #5361)

I have tested this change and now it works correctly, when the destination IPP printer is a remote CUPS queue on the local machine the input is only turned into PDF if needed, with texttopdf, imagetopdf, ... pdftopdf is not run any more. With a physical printer as destination IPP printer pdftopdf is run as usual.
Thank you very much.
I have applied it to Ubuntu 18.10 now.


Initial implementation of the mintlayer-core API server

The API server plays the role of a server that translates the blockchain data into data retrievable using an http server. This can be used for both a block explorer and a light wallet.
Design details (feel free to critique this):

There are two components, the scanner and the web-server
The scanner communicates with a node instance through RPC (similar to how the wallet works) and updates a storage instance
The web-server communicates with the same database to retrieve data requested by the user. The web-server only delivers restful API access. The frontend is not included and depends on the application.
The aim is to use an SQL server for this process due to the obvious emphasis on scalability through reading, where a single storage node (the master) is needed to update many distributed database instances (slaves)
In this eco-system, there should be exactly one scanner that updates a database (or a cluster of master/slave databases), and as many web-server instances as desirable, where all of them use the slaves (and possibly the master, depending on load-balancing details) to read the blockchain data, where the master gives write access only to the scanner that updates it.

Looks good.
The only thing I would say so far is that we should probably not worry to much about the database architecture for now apart from having two distinct configs - one for the scanner, and the other for the web servers. On a simple installation, they'll both point to the same database, but on a larger install (e.g. at an exchange), they would most likely have their own individual database network topology which we shouldn't care about... as long as each web server can be configured to point to a slave, and the scanner can be pointed to a/the master, then we should be able to work with all cases.

we should probably not worry to much about the database architecture for now apart from having two distinct configs

as long as each web server can be configured to point to a slave, and the scanner can be pointed to a/the master

That's the plan.

Design details (feel free to critique this)

How do lightweight wallets know about new transactions? Periodic polling is inefficient and slow. What happens if something goes wrong with the scanner process? The whole system would stop working properly.
If it were up to me, I would use a simpler design:

A single process that scans the network using the node RPC and caches some information in memory.
WebSocket API for explorers and lightweight wallets.

Any number of such servers can be deployed (for redundancy and scalability).

I'm not sure I understand the full plan. Let's discuss it tomorrow in the daily.

We discussed. Conclusion:

So about websocket for transactions, we have the same problem with the wallet-cli, but we'll come to that problem later and maybe add pub/sub through websocket or otherwise

Pavel's concern was that some transactions should be kept in memory, and hence it's reasonable to combine scanners and web-servers instead of separating them. But this means that transactions will remain only in memory, which is not the desired behavior for the api server. We want to (at least) store stale transactions for a while, which means they have to go to the database.

We discussed. Conclusion...

I would say that the described architecture is good for a web explorer, but not ideal for lightweight wallets where we want real-time updates. IMO the easiest way to get real-time updates is to implement the new API as a single web server/scanner process (and use WebSocket for transport instead of REST).

Done through gitlab.


warnings and delay training

run.py:40: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
config = yaml.load(f)
/home/cvlab/anaconda3/envs/deepfake/lib/python3.7/site-packages/torch/functional.py:478: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at  /croot/pytorch_1675190298929/work/aten/src/ATen/native/TensorShape.cpp:2894.)
return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
Use predefined train-test split.
Training...
/home/cvlab/anaconda3/envs/deepfake/lib/python3.7/site-packages/torch/utils/data/dataloader.py:566: UserWarning: This DataLoader will create 6 worker processes in total. Our suggested max number of worker in current system is 4, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.
cpuset_checked))
/home/cvlab/anaconda3/envs/deepfake/lib/python3.7/site-packages/torchvision/models/_utils.py:209: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and will be removed in 0.15, please use 'weights' instead.
f"The parameter '{pretrained_param}' is deprecated since 0.13 and will be removed in 0.15, "
/home/cvlab/anaconda3/envs/deepfake/lib/python3.7/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or None for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing weights=VGG19_Weights.IMAGENET1K_V1. You can also use weights=VGG19_Weights.DEFAULT to get the most up-to-date weights.
warnings.warn(msg)
0%|                                                    | 0/15 [00:00<?, ?it/s]/home/cvlab/anaconda3/envs/deepfake/lib/python3.7/site-packages/torch/nn/functional.py:4216: UserWarning: Default grid_sample and affine_grid behavior has changed to align_corners=False since 1.3.0. Please specify align_corners=True if the old behavior is desired. See the documentation of grid_sample for details.
"Default grid_sample and affine_grid behavior has changed "
/home/cvlab/anaconda3/envs/deepfake/lib/python3.7/site-packages/torch/nn/functional.py:1960: UserWarning: nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.
warnings.warn("nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.")

I had the same issue, did you manage to fix it?


kubectl wait timeout argument is poorly documented and ill-suited to waiting on multiple resources

This is just a re-submit of https://github.com/kubernetes/kubectl/issues/754 which, despite being confirmed & assigned, was closed as stale without any fix.
What happened:
Run kubectl wait with a selector matching more than one resource and a timeout
What you expected to happen:
The timeout should apply to the wait command, not to the individual resources.
With the timeout applying to resources sequentially, it makes waiting on more than one resource with any kind of timeout basically unusable.
How to reproduce it (as minimally and precisely as possible):

Create a deployment scaled to 2 or more replicas, and a label that can be used to match it
Run: kubectl wait pod --selector=... --timeout=30s
Observe that this runs for N*30s, where N is the number of pods

Anything else we need to know?:
cc @eranreshef the original reporter and @JabusKotze who assigned the prior issue to themselves

/sig cli

Hello,
We have a similar problem, expecting kubectl wait to wait for X seconds in total with "--timeout=Xs", e.g.:
kubectl  wait --for=condition=available --timeout=10m deployment --all

However it waits for X seconds * Number of deployments with not-ready pods. Could you please consider also our scenario in the fix?
Kind Regards,
Vitaly

/remove-lifecycle stale
If anyone is not willing to take it, I can work on that.

/assign

Workaround for those using kubectl or oc before v1.27
You can use timeout before the kubectl wait or oc wait. For example with a timeout of max. 305s (the timeout of the timeout command should be a little larger then the timeout of the kubectl command):
timeout $((300+5)) kubectl wait --for=condition=Ready --all pod --timeout=300s


allow SDP without ssrc to be processed correctly in Edge

Description
My server provides SDP without ssrc and it's absolutely allowed by RFC.
In this case in Edge params.encodings for receive(params) function will not be set.
This causes InvalidAccessError exception to be thrown.
Though if you supply even empty encoding like this [{}] it will make receive work and identify media by port. According to specification it will default to
{
    ssrc: null,
    active: true
}

Purpose
To be able to use simpler SDP without specifying ssrc.

I signed it!


How to use Connection Events for RedisTemplate in  Spring-Data-Redis?

I defined RedisTemplate with LettuceConnectionFactory, but i have no idea to create Connection Events for example in https://github.com/lettuce-io/lettuce-core/wiki/Connection-Events. How to get RedisClient instance with RedisTemplate?

Connection events are published through EventBus that you can access via ClientResouces. Either inject/obtain ClientResources from the application context or make sure to configure LettuceConnectionFactory  with ClientResources so you can get hold of it.

@Bean
public LettuceConnectionFactory redisConnectionFactory() {
    ClientResources clientResources = ClientResources.builder().build();
    clientResources.eventBus().get().subscribe(event -> listenConnectEvent(event));

    LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder()
            .commandTimeout(Duration.ofMillis(idGeneratorConfig.getCommandTimeout()))
            .clientResources(clientResources)
            .build();

    log.warn("IDGeneratorConfig:{}", idGeneratorConfig);
    return new LettuceConnectionFactory(new RedisStandaloneConfiguration(idGeneratorConfig.getHost(), idGeneratorConfig.getPort()), clientConfig);
}


hipSYCL crashes when cl::sycl::device type present in kernel for CUDA backend

Bug summary
hipSYCL crashes when an object of type cl::sycl::device is copy or default constructed inside a kernel.  I don't actually want to use the device object on the device, but have it as a member of a smart pointer class.  Since the device is just a default and copy constructible type, I think it should be able to be copied to the device?
ptxas fatal   : Unresolved extern function '_ZN7hipsycl2rt24runtime_keep_alive_tokenC1Ev'
clang: error: ptxas command failed with exit code 255 (use -v to see invocation)
Ubuntu clang version 13.0.1-2ubuntu2
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-13/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/test-48de89.cu
clang: note: diagnostic msg: /tmp/test-b8067b.cu
clang: note: diagnostic msg: /tmp/test-48de89.sh
clang: note: diagnostic msg:

********************
make: *** [Makefile:32: test-hsc] Error 255

To Reproduce
Here's a minimal example which produces the above crash when run with syclcc -std=c++20 -g -I../../include -o test-hsc test.cpp  --hipsycl-targets='cuda:sm_75'.  I'm using an Nvidia RTX 2080S with CUDA 11.7, Clang 13, and most recent version of hipSYCL.
#include <CL/sycl.hpp>

int main(int argc, char** argv) {
  namespace sycl = cl::sycl;

  sycl::device d;
  d = sycl::device(sycl::gpu_selector());
  sycl::queue q(d);

  q.parallel_for(sycl::range<1>(1), [=](sycl::id<1> id) {
  	                                  cl::sycl::device d2;
  	                                }).wait();

	return 0;
}

Expected behavior
I would expect this to either compile, or to give me an error saying that cl::sycl::device cannot be used in device code.  From my brief check of the spec, I think this code should compile.
Describe your setup
I'm running on an Nvidia RTX 2080S using the following Docker file.
FROM nvidia/cuda:11.7.1-devel-ubuntu22.04

# Update Container
RUN apt-get update -y
RUN apt-get upgrade -y

# Install GCC 11
RUN DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles apt-get -y install tzdata
RUN apt-get install -y software-properties-common
RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test
RUN apt-get update -y
RUN apt-get install -y g++

# Create User
RUN useradd -ms /bin/bash ubuntu && \
    usermod -aG sudo ubuntu && \
    echo 'ubuntu:ubuntu' | chpasswd

# Install some user utilities
RUN apt-get install -y git htop vim tmux sudo

# Install Intel oneAPI
RUN apt-get install -y wget
RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
    | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
RUN echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \
    | tee /etc/apt/sources.list.d/oneAPI.list
RUN apt-get update -y
RUN apt-get install -y intel-basekit
USER ubuntu
WORKDIR /home/ubuntu
RUN echo "" >> .bashrc && echo "source /opt/intel/oneapi/setvars.sh" >> .bashrc
USER root
WORKDIR /root

# Install Intel Graphics Drivers
RUN apt-get install -y curl
RUN curl -fsSL https://repositories.intel.com/graphics/intel-graphics.key | apt-key add -
RUN echo "deb [trusted=yes arch=amd64] https://repositories.intel.com/graphics/ubuntu focal main" > /etc/apt/sources.list.d/intel-graphics.list
RUN apt-get update -y
RUN apt-get install -y intel-opencl-icd intel-level-zero-gpu level-zero level-zero-dev
RUN groupadd render
RUN usermod -aG render ubuntu

# Build and Install hipSYCL and Dependencies
# Install LLVM 13 (required by hipSYCL)
RUN cd $HOME                          && \
    wget https://apt.llvm.org/llvm.sh && \
    chmod +x llvm.sh                  && \
    ./llvm.sh 13                      && \
    apt-get install -y libclang-13-dev clang-tools-13 libomp-13-dev llvm-13-dev lld-13 libc++-13-dev libc++abi-13-dev && \
    rm llvm.sh

# Install Boost (required by hipSYCL)
RUN apt-get install -y libboost-all-dev

# Build and Install hipSYCL
USER ubuntu
WORKDIR /home/ubuntu
RUN cd $HOME      && \
    mkdir -p pkg  && \
    cd pkg        && \
    git clone --depth 1 https://github.com/illuhad/hipSYCL.git hipSYCL-source && \
    mkdir hipSYCL && \
    cd hipSYCL-source    && \
    mkdir build   && \
    cd build      && \
    cmake -DCMAKE_INSTALL_PREFIX=$HOME/pkg/hipSYCL .. && \
    make          && \
    make install  && \
    cd ../..         && \
    rm -rf hipSYCL-source

# Set ENV for hipSYCL
ENV PATH="${PATH}:/home/ubuntu/pkg/hipSYCL/bin"
ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/home/ubuntu/pkg/hipSYCL/lib"
USER root
WORKDIR /root

# Install libfmt
RUN apt-get install -y libfmt-dev

USER ubuntu
WORKDIR /home/ubuntu

Compiled using syclcc -std=c++20 -g -I../../include -o test-hsc test.cpp  --hipsycl-targets='cuda:sm_75'.
Optional additional diagnostic information
ubuntu@533058aa2753:/docker-mount/src/rgri/examples/experimental$ HIPSYCL_DRYRUN=1 make -B test-hsc
syclcc -std=c++20 -g -I../../include -o test-hsc test.cpp  --hipsycl-targets='cuda:sm_75' -lfmt
syclcc warning: No optimization flag was given, optimizations are disabled by default. Performance may be degraded. Compile with e.g. -O2/-O3 to enable optimizations.
/usr/lib/llvm-13/bin/clang++ -I/home/ubuntu/pkg/hipSYCL/bin/../include/ -D__HIPSYCL__ -x cuda --cuda-path=/usr/local/cuda -D__HIPSYCL_ENABLE_CUDA_TARGET__ -fplugin=/home/ubuntu/pkg/hipSYCL/bin/../lib/libhipSYCL_clang.so -D__HIPSYCL_CLANG__ -U__FLOAT128__ -U__SIZEOF_FLOAT128__ -isystem /home/ubuntu/pkg/hipSYCL/bin/../include/hipSYCL/std/hiplike --cuda-gpu-arch=sm_75 -fpass-plugin=/home/ubuntu/pkg/hipSYCL/bin/../lib/libhipSYCL_clang.so -D__HIPSYCL_ENABLE_OMPHOST_TARGET__ -I/usr/include -D_ENABLE_EXTENDED_ALIGNED_STORAGE -std=c++20 -g -I../../include -o test-hsc test.cpp -lfmt -L/home/ubuntu/pkg/hipSYCL/bin/../lib/ -lhipSYCL-rt -Wl,-rpath=/home/ubuntu/pkg/hipSYCL/bin/../lib/ -Wl,-rpath=/usr/local/cuda/lib64 -L/usr/local/cuda/lib64 -lcudart -L/usr/lib/x86_64-linux-gnu -lboost_context -lboost_fiber -Wl,-rpath=/usr/lib/x86_64-linux-gnu

Okay, DPC++ gives me an error saying that cl::sycl::device::device() does not have the SYCL_EXTERNAL attribute, so this is actually an ill-formed program.

Yep, sycl::device is a class that is part of the SYCL runtime interface, so using it in device code would inevitably pull the SYCL runtime library into device code, which cannot work.


We could take inspiration from
https://v4-alpha.getbootstrap.com/examples/blog/

Didn't you fix this already?

I also have unnecessary free space on the left and right, which causes horizontal scrolling.


Double check base64 functions in v0.8

They might be a lil broken

Looks ok. The only changes are related to data pointers, if they were broken, nothing would work. But it does =)


Multiple commands produce .../libRNGestureHandler.a

I've been having issues with using this package in my React Native app. After putting in a Podfile command to fix this issue, I was able to get my app running in my iOS simulator with the package installed. However, I've tried many times to pass it through CI (using Bitrise) and I get the following error each time:
error: Multiple commands produce '/Users/vagrant/Library/Developer/Xcode/DerivedData/sbook-dirdylnvgyvrdqeanixrtpxfsivb/Build/Intermediates.noindex/ArchiveIntermediates/sbook/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/libRNGestureHandler.a'
I googled many other solutions to this problem and none of what I have found works. I would really appreciate help with this in order to upgrade to react-navigation-v3 in my app!

I fixed my issue. I needed to add a flag in my CI settings to stop using the Xcode modern build system.

@zknowles  it's probably a configuration issue - the new build system is better at catching these configuration issues. Switching to legacy build system sounds like a hack. Is there an official solution?

My issue was that I had two references GoogleService-Info.plist in the project / file view. The correct location is in the project root. This error generally means, duplicate configuration.


Fix alerts that cannot be dismissed

To dismiss an alert, the data-dismiss target has to be alert. We run with true somewhere. These occurrences should be replaced with alert instead. There might be other alerts (or dismissables?) that cannot be dismissed as well.
The alerts should have data-dismiss="alert".
An example is when saving the profile on "Min Side".

Seems like we hadn't actually released the new changes to production.


Fix bubblewrap's ability to choose a random emoji

Last one today, I promise! Simple fix.

IIRC I removed any emoji with multiple codepoints from our list, so we should be okay.

yep. https://github.com/crimsobot/crimsoBOT/pull/84


add Default to models

Fix #529. Adds Default to models with all optional properties.

While I very much want the usability, I think this is going to have usability issues similar to what was discussed in previous SDK meetings.   The spec includes fields that are mandatory and therefore, deriving default is probably wrong.
Perhaps we could instead create builders for the models?
Consider the task creation example in the Batch service:
https://github.com/Azure/azure-sdk-for-rust/blob/dd63f968f97a87881ea1a8715c57f57f6a483863/services/svc/batch/examples/create_task.rs#L56-L73
with the model in question, here:
https://github.com/Azure/azure-sdk-for-rust/blob/c0617a366af298157c8fb601a36e710d4d34c656/services/svc/batch/src/package_2018_12_8_0/models.rs#L2037-L2067
Only id and command_line are required, however both of these are provided with Default as empty strings.  As a user, I'd rather not have to specify all of the optional fields as None, or an empty vec, but I think we should make a distinction between required and Default.

Good point, missed that.