2.0.15 not working on raspberry

I upgraded from 2.0.14 to 2.0.15 on my Raspberry Pi. According to syslog, everything is running OK, but DNS requests do not get forwarded anymore: if I do a nslookup, the request gets a timeout. Reverting back to 2.0.14 makes everything work normally again.
I do not know which debug info you need, please let me know how to support.

try compile with last commit 9135efc

I am currently using the pre-build ARM package. Building gives me a load of errors on missing GitHub packages, probably as I am not familiar with building GO packages...

Reply to this email directly, view it on GitHub https://github.com/jedisct1/dnscrypt-proxy/issues/480#issuecomment-395385509, or mute the thread https://github.com/notifications/unsubscribe-auth/ABP50J6ZgHkRXC18dSPwD8L6wjLVkok9ks5t6QyXgaJpZM4UeGOG.

if u want you can try my build https://transfer.sh/iOyeL/9135efc.zip just replace binary with my build dont frget to uninstall old binary

Tried your build, same result: not working. Reverted back to 2.0.14

Op 7 jun. 2018, om 13:48 heeft poentodewo<EMAIL_ADDRESS>het volgende geschreven:
if u want you can try my build https://transfer.sh/iOyeL/9135efc.zip https://transfer.sh/iOyeL/9135efc.zip just replace binary with my build dont frget to uninstall old binary
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/jedisct1/dnscrypt-proxy/issues/480#issuecomment-395392183, or mute the thread https://github.com/notifications/unsubscribe-auth/ABP50HxL1X0zaFqCmBqWSCavO-sqAiTDks5t6RMFgaJpZM4UeGOG.

that strange ._.

This is what my system looks like with your executable:
root@meter:/usr/src/dnscrypt-proxy # systemctl status -l dnscrypt-proxy.service
● dnscrypt-proxy.service - DNSCrypt client proxy
   Loaded: loaded (/etc/systemd/system/dnscrypt-proxy.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-06-07 14:03:12 CEST; 20s ago
     Docs: https://github.com/jedisct1/dnscrypt-proxy/wiki
 Main PID: 24868 (dnscrypt-proxy)
   CGroup: /system.slice/dnscrypt-proxy.service
           └─24868 /usr/bin/dnscrypt-proxy --config /etc/dnscrypt-proxy/dnscrypt-proxy.toml

Jun 07 14:03:12 meter systemd[1]: Started DNSCrypt client proxy.
Jun 07 14:03:12 meter dnscrypt-proxy[24868]: [2018-06-07 14:03:12] [NOTICE] Source [/var/cache/dnscrypt-proxy/public-resolvers.md] loaded
Jun 07 14:03:12 meter dnscrypt-proxy[24868]: [2018-06-07 14:03:12] [NOTICE] dnscrypt-proxy 2.0.15
Jun 07 14:03:12 meter dnscrypt-proxy[24868]: [2018-06-07 14:03:12] [NOTICE] Wiring systemd TCP socket #0
Jun 07 14:03:12 meter dnscrypt-proxy[24868]: [2018-06-07 14:03:12] [NOTICE] [dnscrypt.nl-ns0] OK (crypto v1) - rtt: 16ms
Jun 07 14:03:13 meter dnscrypt-proxy[24868]: [2018-06-07 14:03:13] [NOTICE] [soltysiak] OK (crypto v1) - rtt: 29ms
Jun 07 14:03:13 meter dnscrypt-proxy[24868]: [2018-06-07 14:03:13] [NOTICE] Server with the lowest initial latency: dnscrypt.nl-ns0 (rtt: 16ms)
Jun 07 14:03:13 meter dnscrypt-proxy[24868]: [2018-06-07 14:03:13] [NOTICE] dnscrypt-proxy is ready - live servers: 2
root@meter:/usr/src/dnscrypt-proxy # nslookup nos.nl
;; connection timed out; no servers could be reached

Reverting back to 2.0.14 gives:
systemctl status -l dnscrypt-proxy.service
● dnscrypt-proxy.service - DNSCrypt client proxy
   Loaded: loaded (/etc/systemd/system/dnscrypt-proxy.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-06-07 14:06:34 CEST; 4s ago
     Docs: https://github.com/jedisct1/dnscrypt-proxy/wiki
 Main PID: 25263 (dnscrypt-proxy)
   CGroup: /system.slice/dnscrypt-proxy.service
           └─25263 /usr/bin/dnscrypt-proxy --config /etc/dnscrypt-proxy/dnscrypt-proxy.toml

Jun 07 14:06:34 meter systemd[1]: Started DNSCrypt client proxy.
Jun 07 14:06:34 meter dnscrypt-proxy[25263]: [2018-06-07 14:06:34] [NOTICE] Source [/var/cache/dnscrypt-proxy/public-resolvers.md] loaded
Jun 07 14:06:34 meter dnscrypt-proxy[25263]: [2018-06-07 14:06:34] [NOTICE] dnscrypt-proxy 2.0.14
Jun 07 14:06:34 meter dnscrypt-proxy[25263]: [2018-06-07 14:06:34] [NOTICE] Wiring systemd TCP socket #0
Jun 07 14:06:34 meter dnscrypt-proxy[25263]: [2018-06-07 14:06:34] [NOTICE] Wiring systemd UDP socket #1
Jun 07 14:06:34 meter dnscrypt-proxy[25263]: [2018-06-07 14:06:34] [NOTICE] [dnscrypt.nl-ns0] OK (crypto v1) - rtt: 15ms
Jun 07 14:06:34 meter dnscrypt-proxy[25263]: [2018-06-07 14:06:34] [NOTICE] [soltysiak] OK (crypto v1) - rtt: 33ms
Jun 07 14:06:34 meter dnscrypt-proxy[25263]: [2018-06-07 14:06:34] [NOTICE] Server with the lowest initial latency: dnscrypt.nl-ns0 (rtt: 15ms)
Jun 07 14:06:34 meter dnscrypt-proxy[25263]: [2018-06-07 14:06:34] [NOTICE] dnscrypt-proxy is ready - live servers: 2
root@meter:/usr/src/dnscrypt-proxy # nslookup nos.nl
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
Name:	nos.nl
Address: <IP_ADDRESS>
Name:	nos.nl
Address: <IP_ADDRESS>

@klara31 i dont have any issue with nslookup maybe @jedisct1 can explain

Jun 07 14:03:12 meter systemd[1]: Started DNSCrypt client proxy.
Jun 07 14:03:12 meter dnscrypt-proxy[24868]: [2018-06-07 14:03:12] [NOTICE] Source [/var/cache/dnscrypt-proxy/public-resolvers.md] loaded
Jun 07 14:03:12 meter dnscrypt-proxy[24868]: [2018-06-07 14:03:12] [NOTICE] dnscrypt-proxy 2.0.15
Jun 07 14:03:12 meter dnscrypt-proxy[24868]: [2018-06-07 14:03:12] [NOTICE] Wiring systemd TCP socket #0

Looks like the systemd UDP socket is missing.

That's my conclusion as well, but what's causing that?! The only thing I update, is the executable...

Same problem on Fedora 28. Like @klara31 I only updated the executable. After reverting to v. 2.0.14 al is well again.

This is probably due to this change to the systemd socket activation module: https://github.com/coreos/go-systemd/commit/65cc0ad826177f0ec9f0ee87c1bc5718b0d8ec97
Any systemd person know how to make this work again?

@klara31 can you try to extract dnscrypt to /opt ? and see what happen

I'm having this issue as well after upgrading to v2.0.15. Gave me quite some headaches.

The workaround is simple: disable systemd sockets, and put the IP addresses in listen_addresses instead.

I meet the same problem. Although starting socket causes UDP port listening on <IP_ADDRESS>:53. The service seems cannot connect to that port.
So I did the workaround given by @jedisct1 :

systemctl disable dnscrypt-proxy.socket.
systemctl stop dnscrypt-proxy.socket.
Add "<IP_ADDRESS>:53" to listen_addresses.
Comment Requires=dnscrypt-proxy.socket in /lib/systemd/system/dnscrypt-proxy.service.
systemctl restart dnscrypt-proxy

btw in my raspbian dnscrypt is on /opt then only run
as i know

sudo ./dnscrypt-proxy -service install -> this will create systemd in /etc/systemd and auto start if system off until you uninstall dnscrypt
sudo ./dnscrypt-proxy -service start/stop > to trigger
sudo ./dnscrypt-proxy -service restart > to restart you dont need systemctl restart dnscrypt proxy
i dont make any change in dnscrypt-proxy.service or dnscrypt-proxy.socket because systemd will auto create i have test on 16.04

I added the following to my dnscrypt-proxy.service...
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
and place a comment on Requires=dnscrypt-proxy.socket
It is working fine...
systemd[1]: Started DNSCrypt-proxy client.
dnscrypt-proxy[17782]: [2018-06-08 21:32:57] [NOTICE] dnscrypt-proxy 2.0.15
dnscrypt-proxy[17782]: [2018-06-08 21:32:57] [NOTICE] Loading the set of cloaking rules from [cloaking-rules.txt]
dnscrypt-proxy[17782]: [2018-06-08 21:32:57] [NOTICE] Now listening to <IP_ADDRESS>:53 [UDP]
dnscrypt-proxy[17782]: [2018-06-08 21:32:57] [NOTICE] Now listening to <IP_ADDRESS>:53 [TCP]
dnscrypt-proxy[17782]: [2018-06-08 21:32:57] [NOTICE] ******** OK (crypto v2) - rtt: 17ms
dnscrypt-proxy[17782]: [2018-06-08 21:32:57] [NOTICE] Server with the lowest initial latency: *****
dnscrypt-proxy[17782]: [2018-06-08 21:32:57] [NOTICE] dnscrypt-proxy is ready - live servers: *****

This is probably due to this change to the systemd socket activation module: coreos/go-systemd@65cc0ad
Any systemd person know how to make this work again?

If that's the cause for breakage then I think it should be reported to go-systemd devs.

So what would a complete (preferrably working) dnscrypt-proxy.service file look like?

I added the following to my dnscrypt-proxy.service...

CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
Thanks - that worked! Great!

So what would a complete (preferrably working) dnscrypt-proxy.service file look like?

This is how mine looks like:
[Unit]
Description=DNSCrypt-proxy client
Documentation=https://github.com/jedisct1/dnscrypt-proxy/wiki

## Use systemd sockets. Disable on TCP_NODELAY fail. Then define ip address in dnscrypt-proxy.toml.
# Requires=dnscrypt-proxy.socket

## Start service after the network is online.
## Requires a wait service such as NetworkManager or systemd-networkd.
## Verify using:
## systemctl is-enabled NetworkManager-wait-online.service systemd-networkd-wait-online.service
## Then enable:
## systemctl enable NetworkManager-wait-online.service
## Or alternatively:
## systemctl enable systemd-networkd-wait-online.service
After=network-online.target
Wants=network-online.target

## DNSCrypt-proxy provides and requires name resolution.
Before=nss-lookup.target
Wants=nss-lookup.target

[Service]
## Set O_NONBLOCK flag for socket unit.
NonBlocking=true

## Execute dnscrypt-proxy with configuration file.
#ExecStart=/usr/bin/firejail /usr/bin/dnscrypt-proxy --config /etc/dnscrypt-proxy/dnscrypt-proxy.toml
ExecStart=/usr/bin/dnscrypt-proxy --config /etc/dnscrypt-proxy/dnscrypt-proxy.toml

## Make /home, /root and /run/user read only.
ProtectHome=yes

## Make Linux control groups read only.
ProtectControlGroups=yes

## Deny explicit module loading.
ProtectKernelModules=yes

## Run dnscrypt-proxy as unprivileged user with
## temporary assigned UID/GID. See man:systemd.exec
## for more info. Requires systemd 232+.
DynamicUser=yes
#CacheDirectory=dnscrypt-proxy
LogsDirectory=dnscrypt-proxy
RuntimeDirectory=dnscrypt-proxy

#CapabilityBoundingSet=~CAP_SYS_ADM
#CapabilityBoundingSet=ipc_lock net_bind_service setgid setuid sys_chroot
#CapabilityBoundingSet=
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE

NoNewPrivileges=true

# Entire file system hierarchy is mounted read-only
ProtectSystem=strict

# Kernel variables accessible through /proc, /sys will be made read-only
ProtectKernelTunables=true

MemoryDenyWriteExecute=true

SystemCallFilter=~@aio @chown @clock @cpu-emulation @ipc @keyring @memlock @module @mount @obsolete @privileged @raw-io @reboot @setuid @swap @resources @sync @timer
SystemCallFilter=fchownat
SystemCallArchitectures=native

# Sets up new file system namespace and mounts private /tmp and /var/tmp directories inside it
PrivateTmp=true
PrivateDevices=true
RestrictRealtime=true
RemoveIPC=true
KeyringMode=private

ReadWritePaths=/etc/dnscrypt-proxy /var/log/dnscrypt-proxy
#/var/cache/dnscrypt-proxy
#ReadOnlyPaths=/usr/bin/dnscrypt-proxy

#LogsDirectoryMode=0644

[Install]
## Install socket unit.
Also=dnscrypt-proxy.socket

## Create symlink for systemd to pull in the unit when starting multi-user.target
## Can be found in /etc/systemd/system/multi-user.target.wants/
WantedBy=multi-user.target

Suggestions how to improve it are welcome :-)

This is how mine looks like:

I have entered the listen_address in dnscrypt-proxy.toml and used your dnscrypt-proxy.service. It
fails..
systemctl status -l dnscrypt-proxy.service
● dnscrypt-proxy.service - DNSCrypt-proxy client
   Loaded: loaded (/etc/systemd/system/dnscrypt-proxy.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2018-06-08 14:25:34 CEST; 4s ago
     Docs: https://github.com/jedisct1/dnscrypt-proxy/wiki
  Process: 8802 ExecStart=/usr/bin/dnscrypt-proxy --config /etc/dnscrypt-proxy/dnscrypt-proxy.toml (code=exited, status=226/NAMESPACE)
 Main PID: 8802 (code=exited, status=226/NAMESPACE)

Jun 08 14:25:34 meter systemd[1]: Started DNSCrypt-proxy client.
Jun 08 14:25:34 meter systemd[1]: dnscrypt-proxy.service: Main process exited, code=exited, status=226/NAMESPACE
Jun 08 14:25:34 meter systemd[1]: dnscrypt-proxy.service: Unit entered failed state.
Jun 08 14:25:34 meter systemd[1]: dnscrypt-proxy.service: Failed with result 'exit-code'.

Syslog gives a bit more information:
Jun  8 14:25:14 meter systemd[1]: [/etc/systemd/system/dnscrypt-proxy.service:45] Unknown lvalue 'LogsDirectory' in section 'Service'
Jun  8 14:25:14 meter systemd[1]: [/etc/systemd/system/dnscrypt-proxy.service:65] Don't know system call group, ignoring: @aio
Jun  8 14:25:14 meter systemd[1]: [/etc/systemd/system/dnscrypt-proxy.service:65] Don't know system call group, ignoring: @chown
Jun  8 14:25:14 meter systemd[1]: [/etc/systemd/system/dnscrypt-proxy.service:65] Don't know system call group, ignoring: @memlock
Jun  8 14:25:14 meter systemd[1]: [/etc/systemd/system/dnscrypt-proxy.service:65] Don't know system call group, ignoring: @reboot
Jun  8 14:25:14 meter systemd[1]: [/etc/systemd/system/dnscrypt-proxy.service:65] Don't know system call group, ignoring: @setuid
Jun  8 14:25:14 meter systemd[1]: [/etc/systemd/system/dnscrypt-proxy.service:65] Don't know system call group, ignoring: @swap
Jun  8 14:25:14 meter systemd[1]: [/etc/systemd/system/dnscrypt-proxy.service:65] Don't know system call group, ignoring: @sync
Jun  8 14:25:14 meter systemd[1]: [/etc/systemd/system/dnscrypt-proxy.service:65] Don't know system call group, ignoring: @timer
Jun  8 14:25:14 meter systemd[1]: [/etc/systemd/system/dnscrypt-proxy.service:73] Unknown lvalue 'RemoveIPC' in section 'Service'
Jun  8 14:25:14 meter systemd[1]: [/etc/systemd/system/dnscrypt-proxy.service:74] Unknown lvalue 'KeyringMode' in section 'Service'

@Rosanna4 They intentionally removed the parameter because it was unsafe. So the actual issue is probably in the way dnscrypt-proxy uses it.

I am running Raspbian Stretch with standard provided systemd, version 232

Op 8 jun. 2018, om 16:09 heeft curiosity-seeker<EMAIL_ADDRESS>het volgende geschreven:
@klara31 https://github.com/klara31 : What version of systemd are you running? Sandboxing https://www.freedesktop.org/software/systemd/man/systemd.exec.html in systemd is only available in newer versions. That your system doesn't know the syscall groups suggests that your version is older.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/jedisct1/dnscrypt-proxy/issues/480#issuecomment-395772422, or mute the thread https://github.com/notifications/unsubscribe-auth/ABP50K3IMmoif5KmwzX64nPf4zW3UIvtks5t6oWFgaJpZM4UeGOG.

Sorry, I was not very precise. Systemd has been supporting sandboxing for some years but new features have been added in newer versions. I'm not sure when the system call sets were introduced. I'm on v. 238 here.
I don't know if executing systemd-analyze syscall-filter which lists all system calls in those groups works in your version. You could add them one by one. If you're interested I can present that list to you.

If PrivateDevices=yes or PrivateUsers=yes is enabled, you will get the generic error: ¨ listen udp <IP_ADDRESS>:53: bind: permission denied¨ etc. Even then when CapabilityBoundingSet=CAP_NET_BIND_SERVICE and AmbientCapabilities=CAP_NET_BIND_SERVICE are set.

Not confirmed for Fedora 28. It's running completely error-free.

I have no problems with 2.0.15 on the Raspberry Pi.
pi@pihole:~ $ sudo systemctl status -l dnscrypt-proxy.service ● dnscrypt-proxy.service - Encrypted/authenticated DNS proxy    Loaded: loaded (/etc/systemd/system/dnscrypt-proxy.service; enabled; vendor preset: enabled)    Active: active (running) since Mon 2018-06-11 13:45:37 CEST; 1min 9s ago  Main PID: 5207 (dnscrypt-proxy)    CGroup: /system.slice/dnscrypt-proxy.service            └─5207 /opt/dnsproxy/dnscrypt-proxy/dnscrypt-proxy
[2018-06-11 13:45:37] [NOTICE] Source [public-resolvers.md] loaded [2018-06-11 13:45:37] [NOTICE] dnscrypt-proxy 2.0.15 [2018-06-11 13:45:37] [NOTICE] Now listening to <IP_ADDRESS>:54 [UDP] [2018-06-11 13:45:37] [NOTICE] Now listening to <IP_ADDRESS>:54 [TCP] [2018-06-11 13:45:38] [NOTICE] [cloudflare] OK (DoH) - rtt: 22ms [2018-06-11 13:45:38] [NOTICE] Server with the lowest initial latency: cloudflare (rtt: 22ms) [2018-06-11 13:45:38] [NOTICE] dnscrypt-proxy is ready - live servers: 1
`[Unit]
Description=Encrypted/authenticated DNS proxy
ConditionFileIsExecutable=/opt/dnsproxy/dnscrypt-proxy/dnscrypt-proxy
[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/opt/dnsproxy/dnscrypt-proxy/dnscrypt-proxy
WorkingDirectory=/opt/dnsproxy/dnscrypt-proxy
Restart=always
RestartSec=120
EnvironmentFile=-/etc/sysconfig/dnscrypt-proxy
[Install]
WantedBy=multi-user.target`

I just can't get it to work without dnscrypt-proxy.socket. I have entered the address from dnscrypt-proxy.socket into the listen_address in dnscrypt-proxy.toml. When starting the service, it fails.
What am I forgetting or doing wrong?

@klara31 What error message do you get when you are starting it from the command line?

@jedisct1 what exactly do you want me to test? If I am starting from the command line dnscrypt-proxy -config /etc/dnscrypt-proxy/dnscrypt-proxy.toml, there is no output whatsoever...

If there is no output whatsoever, it means that you changed the configuration file to not display any log, and redirect them to some file instead.

OK, my dnscrypt-proxy.toml had the # before log_file removed, causing all log information to be written to the log file. When I put the # back, the log is dumped to screen. Is this behaviour intentionally?
Anyway: starting from the command line generates the following:
[2018-06-13 07:58:59] [NOTICE] Source [/var/cache/dnscrypt-proxy/public-resolvers.md] loaded
[2018-06-13 07:59:00] [NOTICE] dnscrypt-proxy 2.0.15
[2018-06-13 07:59:00] [NOTICE] Now listening to <IP_ADDRESS>:41 [UDP]
[2018-06-13 07:59:00] [NOTICE] Now listening to <IP_ADDRESS>:41 [TCP]
[2018-06-13 07:59:00] [NOTICE] [dnscrypt.nl-ns0] OK (crypto v1) - rtt: 15ms
[2018-06-13 07:59:00] [NOTICE] [soltysiak] OK (crypto v1) - rtt: 33ms
[2018-06-13 07:59:00] [NOTICE] Server with the lowest initial latency: dnscrypt.nl-ns0 (rtt: 15ms)
[2018-06-13 07:59:00] [NOTICE] dnscrypt-proxy is ready - live servers: 2

which is the same for 2.0.15. When started by hand, it's working correctly. When started by systemd, it's not (see dump above in the 7th post, where only a TCP socket is opened).

@klara31 So the problem is your systemd file.
If you remove all the custom systemd files related to dnscrypt-proxy and just install it with dnscrypt-proxy -service install, it will probably work.

If you remove all the custom systemd files related to dnscrypt-proxy and just install it with dnscrypt-proxy -service install, it will probably work.

I have updated my dnscrypt-proxy.toml file to the latest version and updated it with the settings I had. I noticed that the new file had a lot more options. Deleted systemd files and reinstalled the service. It is working now with 2.0.15

I've opened help request in upstream. Maybe someone will offer help there.

I think I have found a solution for the socket activation problem:
First of all remove NonBlocking=true from dnscrypt-proxy.socket. It belongs in the service file, not in the socket! I also choose another port than 53 because that one is probably already in use for caching.
Secondly the socket and dnscrypt-proxy should both listen to the same ports.
Therefore you need to specify the listening ports in the socket as well as in dnscrypt-proxy.toml.
I know it has been told otherwise, but you can check for yourself. When enabling the socket the service will be started by systemd automatically.
cat /lib/systemd/system/dnscrypt-proxy.socket
[Unit]
Description=DNSCrypt-proxy socket
Documentation=https://github.com/jedisct1/dnscrypt-proxy/wiki
Before=nss-lookup.target
Wants=nss-lookup.target
[Socket]
ListenStream=[::1]:5353 #you can also use <IP_ADDRESS>:5353 but not both together!
ListenDatagram=[::1]:5353
[Install]
WantedBy=sockets.target
In the dnscrypt-proxy.toml file I have:
listen_addresses = ['<IP_ADDRESS>:53', '[::1]:53']
For the advanced users - here is my
dnscrypt-proxy.service.txt
Maybe needless to say - but that one is for security freaks, using DynamicUser=yes already is very safe!

First of all remove NonBlocking=true from dnscrypt-proxy.socket. It belongs in the service file, not in the socket!

Well, I'm not seeing anybody has it wrong here.
Your solution doesn't make sense. There are two potential reasons for using socket activation:

running dnscrypt-proxy without CAP_NET_BIND
starting dnscrypt-proxy only when actual traffic comes to it

Listening on different ports is redundant. You will be better off updating to current git master which has fix for this issue or disabling socket activation completely.

Thanks Rosanna4 for reacting!
You are right Rosanna4 about using CAP_NET_BIND in the service file of course. I forgot to uncomment it, it is indeed not necessary when using the socket activation. AmbientCapabilities=CAP_NET_BIND_SERVICE is still necessary. BTW I am not pretending to be an expert, I am only posting working solutions here. If you have another solution I am glad to here it.
So in my service file I set: #CapabilityBoundingSet=CAP_NET_BIND_SERVICE or remove it.
And my solution still works of course.
Today I will be very busy and I will leave it to others to find alternative working solutions involving socket activation. I will have a look at git later on, thanks.

I have again updated my example files.
@Rosanna4
I have used git and I have no problems with IPv4, congratulations! Great work, thanks.
Unfortunately with this solution I cannot get IPv6 to work with listen_addresses = [] in dnscrypt-proxy.toml. When I revert back to my own solution, I get a 100% on internet.nl. Hmm, I am probably overseeing something. My listening port in the socket has been changed to 53, following your advice that listening on different ports is redundant. Does someone has IPv6 with latest solution from git?

@hanvinke
You need to do below as described by @jedisct1:
systemctl disable dnscrypt-proxy.socket
systemctl stop dnscrypt-proxy.socket
systemctl restart dnscrypt-proxy

@omegaprimedirective
Thanks, probably forgot that. But I also had to remove the networkconnection and add it agian in NM. Now internet connection is up again now, but still IPv6 fails. With an empty listen-address in toml and
Listen: [::1]:53 (Stream)
[::1]:53 (Datagram)
<IP_ADDRESS>:53 (Stream)
<IP_ADDRESS>:53 (Datagram)
When visiting internet.nl and starting the test I get always the message: Modern addresses not reachable (IPv6) . With listen_addresses =['<IP_ADDRESS>:53'] in the toml (see above) I have a 100%.
Maybe you have more luck, I hope so. What is your score with listen_addresses = [] in toml?

@hanvinke Your setup is confusing me a bit. In the systemd section you have:
[Socket]
ListenStream=<IP_ADDRESS>:5353
ListenDatagram=<IP_ADDRESS>:5353

but  your dnscrypt-proxy.toml has listen_addresses = ['<IP_ADDRESS>:53', '[::1]:53']
Shouldn't these point to the same address:port?

Sorry, for my late comment.
In my dnscrypt-proxy.toml I indeed have listen_addresses = ['<IP_ADDRESS>:53', '[::1]:53']
And in my socket file I have
[Socket]
ListenStream=[::1]:5353
ListenDatagram=[::1]:5353
ListenStream=<IP_ADDRESS>:5353
ListenDatagram=<IP_ADDRESS>:5353
This works a 100% for me under Ubuntu 18.04 LTS

I think the reason why some configurations are unreliable (at least for me) is because of port 53 is probably hardcoded for listening to the internal cache. As long as I put listen_addresses =['<IP_ADDRESS>:53'] in the toml and another listeningaddress in the socket it is fine.
It is like the old days with version 1 with external cache. So basically the listening ports in the socket can be anything but 53.

@hanvinke I guess you are running your configuration without dnsmasq? I am running dnscrypt-proxy next to pi-hole. On my system, dnsmasq is listening on <IP_ADDRESS>:53 and requests are forwarded to <IP_ADDRESS>:41
Hope I have summarised it correctly ;)

Unfortunately I only tested with the build-in cache with cache = true in the toml. I do not have tested it with external cache solutions, like dnsmasq.
Also unfortunately - I must apologize to everyone- my socket solution with freebind=yes was not working as it should. The reason is that the socket service still used the old settings, even after a reboot! But sudo systemctl show dnscrypt-proxy.service and sudo systemctl show dnscrypt-proxy.socket told me the service wasn´t using the the new settings for the socket at all.

@klara31
I don´t know why I did not test this earlier:
[Socket]
ListenStream=[::1]:53
ListenDatagram=[::1]:53
And in the toml: completely comment all listen_addresses, so no listen addresses at all:
#listen_addresses =[]
To be sure, after commenting I did:
systemctl stop dnscrypt-proxy.socket
systemctl disable dnscrypt-proxy.socket
systemctl disable dnscrypt-proxy.service
systemctl enable dnscrypt-proxy.service
reboot


Ugoira Error

Prerequisites

[x] Did you read FAQ section in readme.md?
[x] Did you test with the latest releases or commit ?
[x] Did you search for existing issues in Issues?

Description
processing ugoira to animated gif...
Start encoding L:\Pixiv\モモの水道水 (482367)\91008556_ugoira1920x1080 - ゴルドバァン♡.gif
Failed when converting, ffmpeg command used: ffmpeg -y -i "C:/Users/USER~1/AppData/Local/Temp/ugoira2webm3r8bzbky/i.ffconcat" -filter_complex "[0:v]split[a][b];[a]palettegen=stats_mode=diff[p];[b][p]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" "C:/Users/USER~1/AppData/Local/Temp/ugoira2webm3r8bzbky/temp.gif"
Traceback (most recent call last):
File "shutil.pyc", line 806, in move
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:/Users/USER~1/AppData/Local/Temp/ugoira2webm3r8bzbky/temp.gif' -> 'L:\Pixiv\モモの水道水 (482367)\91008556_ugoira1920x1080 - ゴルドバァン♡.gif'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "PixivImageHandler.pyc", line 329, in process_image
File "PixivDownloadHandler.pyc", line 364, in handle_ugoira
File "PixivHelper.pyc", line 930, in ugoira2gif
File "PixivHelper.pyc", line 1012, in ugoira2webm
File "shutil.pyc", line 826, in move
File "shutil.pyc", line 435, in copy2
File "shutil.pyc", line 264, in copyfile
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/USER~1/AppData/Local/Temp/ugoira2webm3r8bzbky/temp.gif'
Error at process_image(): 91008556
Exception: (<class 'FileNotFoundError'>, FileNotFoundError(2, 'No such file or directory'), <traceback object at 0x0415B7A8>)
Dumping html to: Error medium page for image 91008556.html
Stuff happened, trying again after 2 second (1)
Steps to Reproduce

Download by member ID: 482367
[Second Step]
[and so on...]

Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
Log file: [Attach the pixivutil.log file in the application folder, recommended to delete the old file, reproduce the issue, and upload the newly generated file here]
Versions
You can get this information from executing PixivUtil2.py --help.
Latest version available in https://github.com/Nandaka/PixivUtil2/releases

looks like folder access permission or something else deleting the temp folder access? I tried to download the same image 91008556 and it successfully converted.
Check if the temp folder C:/Users/USER~1/AppData/Local/Temp/ugoira2webm3r8bzbky exists?

It does not exist. Instead I see this folder: ugoira2webmskl9345a

ugoira2webmskl9345a

the folder will be automatically created with random name using python function.
https://github.com/Nandaka/PixivUtil2/blob/master/PixivHelper.py#L961
any antivirus or something else blocking the access?

 Same error.

even using latest version? https://github.com/Nandaka/PixivUtil2/releases/tag/v20211020
also, can you check it is created in the correct folder: C:/Users/USER1/AppData/Local/Temp/ugoira2webm3r8bzbky/ or C:/Users/USER~1/AppData/Local/Temp/ugoira2webm3r8bzbky

Log file: [Attach the pixivutil.log file in the application folder, recommended to delete the old file, reproduce the issue, and upload the newly generated file here]
also upload the log file?

The folder is never created. And yes I'm on the newest version.
pixivutil.log

just asking, you have the ffmpeg.exe in the same folder as the application, right?

Yes.

can you update the ffmpeg? looks like it is because the gif conversion is failed, that's why it cannot find the generated file.
Alternatively, you can try to convert to webp/webm.

Updated ffmpeg. Same issue.

can you try to convert to other format?

I tried all of them one by one by changing the config file. All of them failed.

updated checking and temp folder generation, if it still failed,
https://github.com/Nandaka/PixivUtil2/releases/tag/v20211030
also this is my ffmpeg.exe https://www.mediafire.com/file/jn5nskve330diw3/ffmpeg-20201220.7z/file


Switch to the "old" key path expression syntax nodes.

The new Swift parser uses a revamped set of syntax nodes for key paths that better match the language. However, the C++ parser does not produce anything like these syntax nodes, so switch to an "old" keypath node style for now.

https://github.com/apple/swift-syntax/pull/865
@swift-ci please smoke test

https://github.com/apple/swift-syntax/pull/865
@swift-ci please smoke test

https://github.com/apple/swift-syntax/pull/865
@swift-ci please clean smoke test Linux


Text out of order with pdfminer 20201018

Bug report

A description of the bug

I am trying to convert the pdf version of this Arpanet Directory to text, so that I can process the table called HOST ACRONYMS AND NETWORK LIASONS. But in several places the text out of order. And out of order in ways that don't have a discernible (to me) pattern. I am new to this, so I might be missing something obvious.

Steps to reproduce the bug. Try to minimize the number of steps needed.

I used this code to output to a file:
from io import StringIO

from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfparser import PDFParser

output_string = StringIO()
with open('arpanet-directory_host-acronyms-1978.pdf', 'rb') as in_file:
    parser = PDFParser(in_file)
    doc = PDFDocument(parser)
    rsrcmgr = PDFResourceManager()
    device = TextConverter(rsrcmgr, output_string, laparams=LAParams())
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    for page in PDFPage.create_pages(doc):
        interpreter.process_page(page)

with open('arpanet_dir_raw.txt', 'w') as f:
    f.write(output_string.getvalue())

The original pdf is attached, as is the output. The issues are apparent on the first page. Below the table header, the output text is this
ACCAT - TIP

2/35

TIP

ARPA

AFWL

0/48

AFSC

SERVER ,
Limited

Compare this to the original and you'll note that the names and addresses from the rightmost column of the table are missing. At first I thought maybe they would all appear below all the other data, but no. The very next entry reads
AFWL - TIP

2/48

TIP

AFSC

Maull , Roy ( MAULL@BBN - TENEX )

showing that not all the names get pushed to the bottom. Some of the names get included in line with the rest of the entry, some do not. The one's that do not appear in line usually seem to appear at the bottom of each page, which is also where the addresses are, but I'm not sure how consistent this is.
But this isn't everything. Refer again to the first snippet of output text and compare the order of AFSC and SERVER, Limited. They are backwards. There doesn't seem to be a pattern here though, either. Find the next instance of "Space , \nLimited" and you'll see that the order is correct.
Attachments:
pdf
arpanet-directory_host-acronyms-1978.pdf
output
arpanet-directory-full_raw.txt

I am also facing the same issue

Also running into this


Updating pie charts doesn't animate

Adjusted basic example in this fiddle.
I'm opening a new issue but I suspect this is the same problem as reported in #591.
It seems that dynamically updating the series doesn't fire the animation. This also applies if the entire series is overwritten, appended, sliced or any other array action.
Expected Behaviour
The pie chart should animate when the data series is adjusted.
To reproduce: Click Add Points to Random Series and note that the animation does not fire.
Current Behaviour
The pie chart does not animate.
Your Environment
Using forked version of basic example in above fiddle. Local version is 1.1.0. Also tried with 1.0.0 to same effect.

Thanks for the example. Could you check if this behaviour works without highcharts-ng?


How to prevent Parse from saving PFObject children's?

I'm facing a very common issue with Parse and iOS.
I have a class POST with the following structure:

text(String)
Image (PFFile)
LikesUsers (Array of String)
LikesCount (Int)
From (Pointer to User who posted it)

Any user (Logged in) can like a post. I'm just incrementing the likes LikesCount and the add Objectid of the user to the array of LikesUsers
The user2 likes user1's post.
PostObject.incrementKey("Likes")
PostObject.addObject((PFUser.currentUser()?.objectId)!, forKey: "LikesUsers")
PostObject.saveEventually()

The issue is here. Parse can't save the PostObject as long as it has a pointer to another user : User1 (the user who posted the post).

User cannot be saved unless they have been authenticated via logIn or signUp

So I would like to know how to prevent Parse from saving the PFObject children (Pointer to the user). even I went through all my code and I'm sure I'm not trying to make any changes on this User. I don't know why it's dirty.

Hey @genius50, sorry it took a while to get back to you here.
Unfortunately, there isn't a way currently to prevent saving a children object currently.
Though, it sounds absolutely like it should work just as fine in your case, so let's debug this together.
Since you are saving a users objectId and not the object itself - it shouldn't save a children here, but what could happen is that user2 is not yet fully authenticated.
If you are integrating via CocoaPods or have source code locally you can place a breakpoint on this line while debugging and confirm whether you have a dirty change on your user object (this will trigger for every object, but you can filter that further manually).
Finally, what would help tremendously in identifying the root cause and fixing it - a good repro project or a code snippet.
Let me know how it goes and we will find the source of the problem together.

Hello there !
Thanks for your response, I've almost Identified the problem, in my code I'm trying to save the Users locally using pinInBackgroundWithName("LocalContacts")
So here where the problem comes from ! I'm just keeping the users info on the LocalStore, I'm making some changes on it and saving them back locally using pinInBackgroundWithName("LocalContacts")
But when trying to retrieve the posts, with the Users, and Trying to like a post, it takes the data from the User who are saved locally. How to resolve that, do you have any idea ?

Thanks for clarifying.
Unfortunately, we don't have a mechanism in place to disable saving child objects, meaning that if you don't want to save these objects to the server - you would probably want to convert them to plain JSON Objects (aka dictionaries/arrays/strings/numbers) and use that for saving.
I would advise against using PFUser class in general for offline local-only users, since the intended use case is to use it with server-side authentication. You would benefit from using a plain subclass of a PFObject in this case.
Let me know if this solution works for you.

Thanks,
Finally I've managed to avoid the problem. I just made things different, I had to keep the Parse Users as they used to be on the server, without any local change, and everything work just fine.


feat: create new command to format the asyncapi document

Closes: #1419
Related: #1508

Added new command  to format the Asyncapi document [ Done ]
Test cases to verify the command [ Done Added test cases]

@Souvikns a new command has already introduced https://github.com/asyncapi/cli/pull/1549 via this MR, that is asyncapi format that change one format to another format.  I think we can use asyncapi pretty <asyncapi.yml> command to format the asyncapi document

Thanks for the name change @AayushSaini101
Is adding a JSON AsyncAPI document prettifier also within the scope of this pr?

Added json support also @catosaurusrex2003  thanks : )

/rtm


Installation via rails-asset seems to be broken

This might be related to error #303 in that the latest version (0.18.0) via rails-assets seems to be broken as well. Installing any version past 0.15.2 results in the pipeline breaking reporting javscript asset could not be found after adding //= require react-date-picker to my application.js
This is my application.js
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require react
//= require react_ujs
//= require components
//= require moment
//= require react-date-picker
//= require_tree .

Yup looks like the same problem.

Closing as dupe of #303


fix(Range): progress style

When specifying a non-zero value (including positive or negative numbers), the range progress bar style has issues, as shown on the left side of the following picture. The version on the right has been fixed.

Thanks 😊


Add release badge

Pull Request Test Coverage Report for Build 253390583

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 75.794%

Totals

Change from base Build 252852090:
0.0%

Covered Lines:
191

Relevant Lines:
252

💛  - Coveralls


The wave animation being too smart on certain device

When I run my app with the Wave loading animation on my mom's phone (running Android 8.1), the animation works perfectly. But when I run it on my phone (Android 5.1), the animation is faster, which kind of irritates me.

this has not happened to me yet but I recommend you generate the APK then install it on your phone.


ClientModel: Simplified SCM LRO Types

In this approach, clients create public subtypes of ResultValueOperation.  These operation types are considered the same as other subclients and hold all protocol methods relevant to the operation -- i.e. if you have to pass an operation ID to the method, it lives on the LRO subclient -- since you can't call it until after calling the method to start the operation.  These subclients evolve like any other with regard to the addition of convenience methods in subsequent versions.

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel


Whats different between the unity and non unity version?

What are the differences?

Unity requires a special folder structure for native plugins. Each of the native libraries has own import settings, and .bundle is used instead of .dylib for MacOS.


Will there be a multilingual version of pretrain model?

There's no current plans for one, although I suspect it might be something you could achieve with a fine-tune.

There's no current plans for one, although I suspect it might be something you could achieve with a fine-tune.目前没有相关计划，不过我怀疑这可能是可以通过微调实现的功能。

After reviewing the data of the tokenizer, it is essentially only Latin script-based text. Therefore, for non-Latin script languages (such as Chinese, Japanese, etc.), continuing pre-training is roughly equivalent to starting training from scratch.
Starting from scratch to pre-train basic language abilities might exceed the capabilities and computational power of most end-users.

Agreed, there would be a lot of benefit to the community from a multilingual pre-trained model with a multi-language tokenizer. Simply  finetuning doesn't work

In a multilingual world you cannot call a model "Modern" if its not designed to support multiple languages.

There's no current plans for one, although I suspect it might be something you could achieve with a fine-tune.

I made some attempts: on the basis of the original model, I first expanded the tokenizer's vocabulary to include information on multilingual (mainly Chinese, Japanese, and Korean) tokens, and then performed secondary pre-training with approximately 1 billion tokens of corpus (5GB of pure text). In terms of results, the model trained did not actually learn the information of non-Latin-based languages.
So, unless there was some mistake in my operation or a bug in the current version of the Hugging Face Transformers library, I believe that mere "fine-tuning" to this extent of secondary training is not sufficient to achieve support for multiple languages. A fully pre-trained official multilingual version is needed.


Started to initialize PEB structure

I started to initialize fields of PEB structure in InitTebPeb(), do not merge, this is work in progress

It seems that PEB_LDR_DATA structure fields are initialized in void PeEmulation::InitLdrModuleList()

peb.Ldr = (PPEB_LDR_DATA)m_LdrBase;
peb.ProcessHeap = (PVOID)m_HeapBase; // this is initialized to 0x0000000010000000
peb.ProcessParameters = EmuProcessParameters;
peb.InheritedAddressSpace = NtCurrentPeb()->InheritedAddressSpace; // apparently this is always getting initialized with 0
peb.ReadImageFileExecOptions = NtCurrentPeb()->ReadImageFileExecOptions;
peb.BeingDebugged = NtCurrentPeb()->BeingDebugged;
peb.BitField = NtCurrentPeb()->BitField;
peb.Mutant = NtCurrentPeb()->Mutant;
InitLdrModuleList(); // need to initialize this structure inside that method
peb.ImageBaseAddress = NtCurrentPeb()->ImageBaseAddress;
// struct _RTL_USER_PROCESS_PARAMETERS* ProcessParameters; Perhaps should also add a method for initialization of this struct
peb.SubSystemData = NtCurrentPeb()->SubSystemData;
peb.ProcessHeap = NtCurrentPeb()->ProcessHeap; // // this is intialized to 0x000002413f480000. Which one to keep?
peb.FastPebLock = NtCurrentPeb()->FastPebLock;

Which peb.ProcessHeap should i keep? This field gets overwritten in peb.ProcessHeap = NtCurrentPeb()->ProcessHeap;  but the values are different. It seems that first time it's initialized with heap base address, but next time it's getting initialized with simple address of ProcessHeap. Is there a big difference and do we really need it???

so we need to use dynamic addr of heap peb.ProcessHeap = NtCurrentPeb()->ProcessHeap; // this is intialized to 0x000002413f480000. Which one to keep? to prevent detection of pevisor and also u need to emulate Heap structure for avoiding of debugger detection by heap

so we need to use dynamic addr of heap peb.ProcessHeap = NtCurrentPeb()->ProcessHeap; // this is intialized to 0x000002413f480000. Which one to keep? to prevent detection of pevisor and also u need to emulate Heap structure for avoiding of debugger detection by heap

So if i get this right, we should go with my solution and use NtCurrentPeb()->ProcessHeap; instead of peb.ProcessHeap = (PVOID)m_HeapBase;. Right? Just to clarify

so we need to use dynamic addr of heap peb.ProcessHeap = NtCurrentPeb()->ProcessHeap; // this is intialized to 0x000002413f480000. Which one to keep? to prevent detection of pevisor and also u need to emulate Heap structure for avoiding of debugger detection by heap

So if i get this right, we should go with my solution and use NtCurrentPeb()->ProcessHeap; instead of peb.ProcessHeap = (PVOID)m_HeapBase;. Right? Just to clarify

Yeah, but for errorless and bugless code check all places which using static m_HeapBase or peb.ProcessHeap

so we need to use dynamic addr of heap peb.ProcessHeap = NtCurrentPeb()->ProcessHeap; // this is intialized to 0x000002413f480000. Which one to keep? to prevent detection of pevisor and also u need to emulate Heap structure for avoiding of debugger detection by heap

So if i get this right, we should go with my solution and use NtCurrentPeb()->ProcessHeap; instead of peb.ProcessHeap = (PVOID)m_HeapBase;. Right? Just to clarify

Yeah, but for errorless and bugless code check all places which using static m_HeapBase or peb.ProcessHeap

Gotcha

Hmm, it seems that i forgot to initialize fields inside unions, need to fix it


Add test interrupting conflict resolution

https://issues.jboss.org/browse/ISPN-9032
https://issues.jboss.org/browse/ISPN-9014
https://issues.jboss.org/browse/ISPN-9009
https://issues.jboss.org/browse/ISPN-9089

@danberindei Updated so that CR restarts if a non SuspectException Throwable is thrown during a segment request. During these changes it was necessary to change the approach of ClusterCacheStatus, so we now make use of the ConflictResolution class, instead of ConflictData, to control CR request and retries.

I added a few minor comments, but unfortunately I'm also seeing a new query test failure:
https://ci.infinispan.org/job/Infinispan/job/PR-5902/14/testReport/junit/org.infinispan.query.blackbox/ClusteredCacheWithAffinityIndexManagerTest/testConditionalRemoveFromBackup/

I found quite a few other ClusteredCacheWithAffinityIndexManagerTest/testConditionalRemoveFromBackup failures in CI (ssh ci -C "find /var/lib/jenkins/jobs/Infinispan/branches -name build.xml | xargs sudo grep 'ClusteredCacheWithAffinityIndexManagerTest'"), and it almost always fails on my machine (https://issues.jboss.org/browse/ISPN-8160), so I think it's safe to ignore it.

Integrated, thanks Ryan!


Fixed Issue #10248

Issue Reference
#10248

Checked and found that the multiselect is working fine now. Please check the video for reference.
Video
https://github.com/user-attachments/assets/92d1c081-0c19-4dfc-a984-a687629aa74e


Update nano1.md

Since typeof return a string, the line 160 return nothing and the game card stay empty. Fixed it! :)

@Arienlys thank you for the fix! Merging :+1:


Querying different fields on the same object in +layout and +page causes values to disappear in browser

Describe the bug
It sounds similar to this issue https://github.com/HoudiniGraphql/houdini/issues/1020 but I am not using fragments, and even if i disable masking it doesn't seem to help.
If you run a query on an object in both +layout and +page then the values will be removed from the browser for the +page query.
Severity
serious, but I can work around it
Steps to Reproduce the Bug
query in +layout
query LayoutQuery {
  tenant {
    id
    featureFlags
  }
}

query in +page
query PageQuery {
  tenant {
    id
    name
  }
}

Both queries are run, but nothing is displayed in the in the page component:
<script lang="ts">
  export let data;
  $: ({ PageQuery } = data);
</script>

{$PageQuery?.data?.contact?.id}

Reproduction
No response

Is it a typo the {$PageQuery?.data?.contact?.id}? Shouldn't it be something with tenant?
Could you check {$PageQuery?.data}?

ahh yes, I'm very sorry - I didn't catch that copy and paste mistake in my final minified test before leaving the office. So correcting that to tenant fixes showing the id in the template, but my actually use case was slightly different and involves custom load functions.
I am waiting for the data to be loading in the load function so I can initialize superforms with the data. My +page.ts looks like this:
import { load_PageQuery } from "$houdini";
import { formSchema } from "$lib/form-schemas/formSchema.schema";
import { waitForData } from "$lib/utils/graphql.util";
import { superValidate } from "sveltekit-superforms/server";

export const load = async (event) => {
  const { PageQuery } = await load_PageQuery({ event });

  const { tenant } = (await waitForData(PageQuery)) ?? {};

  const form = await superValidate(tenant, formSchema);

  return { form };
};

We had written a waitForData helper that was waiting for the query to resolve, like this:
import type { GraphQLObject, GraphQLVariables, QueryStore } from "$houdini";

export const waitForData = async <Data extends GraphQLObject, Input extends GraphQLVariables>(
  store: QueryStore<Data, Input>
) => {
  return await new Promise<Data | null>((resolve) => {
    store.subscribe(({ data }) => resolve(data));
  });
};

This had been working fine, but when adding the +layout queries of the same object, subscribing to the +page query would first return source cache and tenant null and then return source network and tenant with correct data. Since we were resolving the first time it returned something, we resolved with null. I have now updated the function to look like this:
export const waitForData = async <Data extends GraphQLObject, Input extends GraphQLVariables>(
  store: QueryStore<Data, Input>
) => {
  return await new Promise<Data | null>((resolve) => {
    store.subscribe(({ data, source, fetching }) => {
      console.log(data, source);
      if (
        !fetching &&
        ((source === "cache" && data && Object.keys(data).every((key) => data[key])) ||
          source === "network")
      ) {
        resolve(data);
      }
    });
  });
};

Which has "fixed" my use-case, but feels quite hacky. Is there a better way to wait for data in load functions to ease working with superforms?

You could check out the blocking param.
const { PageQuery } = await load_PageQuery({ event, blocking: true });

That doesn't seem to have any effect.

ahh but I have defaultPartial enabled, maybe I should try disabling that to see if it has any effect

That doesn't seem to have any effect.

A "real await" should happen with blocking: true, and you should have something in result
const result = await load_PageQuery({ event, blocking: true });

Yes, that's what I had. I just tried with disabling deafultPartial and that did the trick.
Here with partial + blocking set to true:
{contact: {…}} 'network' 'CustomerLayout'
{contact: null} 'cache' 'CustomerPrivacy'
{contact: {…}} 'cache' 'CustomerPrivacy'
{contact: {…}} 'network' 'CustomerPrivacy'

And here with partial set to false and blocking set to true:
{contact: {…}} 'network' 'CustomerLayout'
{contact: {…}} 'network' 'CustomerPrivacy'

So I guess the issue is "solved" here, but maybe it is worth updating the docs regarding the usage of defaultPartial and blocking together so that confusion can be avoided in the future?


Crashes Youtube App shortly after opening

Device: iPhone 11 Pro Max, iOS 13.5
Bundle version: 16.19.6
Exception type: NSInvalidArgumentException
Reason: -[YTPlayerPIPController initWithPlayerView:delegate:]: unrecognized selector sent to instance 0x28328bf40
Note: This issue can not be reproduced on iOS 14+

Fixed, but it is a known issue that native PiP doesn't work yet on iOS 13 and lower. Check Compat.xm for development progress.


[CL Incentives] Implement setIncentiveRecords and getIncentiveRecords

Closes: #4274
What is the purpose of the change
This PR implements a more portable version of state reads/writes relating to incentive records with the primary goal of making it simpler to abstract this logic into a separate module in the future. Specifically, it changes incentive records to work based off of pool Ids instead of as a field under pool objects.
Brief Changelog

Implement set/get functions for incentive records that do not depend on pool objects
Remove the PoolIncentives field from CL pools

Testing and Verifying

The new functions/logic are tested in incentives_test.go

Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? (no)
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? (no)
How is the feature or change documented? (not documented)

Note that this PR was approved in #4283 but preemptively merged. Should merge this directly to main after #4231 is merged.


[WIP] Added wikitext-2 dataset.

Codecov Report

Merging #62 into master will decrease coverage by 1.3%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master      #62      +/-   ##
==========================================
- Coverage     100%   98.69%   -1.31%
==========================================
  Files          13       14       +1
  Lines         596      612      +16
==========================================
+ Hits          596      604       +8
- Misses          0        8       +8

Impacted Files
Coverage Δ

lineflow/datasets/__init__.py
100% <100%> (ø)
:arrow_up:

lineflow/datasets/wikitext.py
46.66% <46.66%> (ø)

Continue to review full report at Codecov.

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


secrets: Define Secret type

This is a breaking change.
Migrate SimpleSecret and VersionedSecret from string to Secret.
Also some test improvements:

Close tmp files after writing to make sure the writes are flushed to
the disk
Delete the tmp directories after tests
Reduce the sleep time on TestSecretFileIsUpdated as we flushed the
writes now

cc @andizzle

LGTM!


[Bug]: T8420 RangeError

What happened?
Hi,
thanks for the great plugin!
When I try to stream I just get this error and then the plugin restarts. Turning the light on and off works fine.
Is this a known bug or is there anything I can do to fix this?
Please let me know if you need more information. Remote access for debugging or a remote session would also be possible.
Device Type
Floodlight (Supported)
Plugin Version
beta (Best Effort)
HomeBridge Version
other (UnSupported)
NodeJS Version
v16 (Supported)
Operating System
Docker (UnSupported)
Relevant log output
[2/22/2022, 7:29:21 PM] [homebridge-eufy-security] Child bridge process ended
[2/22/2022, 7:29:21 PM] [homebridge-eufy-security] Process Ended. Code: 1, Signal: null
[2/22/2022, 7:29:28 PM] [homebridge-eufy-security] Restarting Process...
[2/22/2022, 7:29:28 PM] [homebridge-eufy-security] Launched child bridge with PID 7895
[2/22/2022, 7:29:29 PM] Registering platform 'homebridge-eufy-security.EufySecurity'
[2/22/2022, 7:29:29 PM] [homebridge-eufy-security] Loaded homebridge-eufy-security v1.1.1-beta.26 child bridge successfully
[2/22/2022, 7:29:29 PM] Loaded 4 cached accessories from cachedAccessories.0E1850091DDE.
[2/22/2022, 7:29:29 PM] [EufySecurity-1.1.1-beta.26] INFO:  enableDetailedLogging on
[2/22/2022, 7:29:29 PM] [EufySecurity-1.1.1-beta.26] INFO:  Country set: DE
[2/22/2022, 7:29:29 PM] [EufySecurity-1.1.1-beta.26] INFO:  Finished initializing Eufy Security Platform
[2/22/2022, 7:29:29 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Loading accessory from cache: Gartenhütte
[2/22/2022, 7:29:29 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Loading accessory from cache: Carport
[2/22/2022, 7:29:29 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Loading accessory from cache: Gartenhütte
[2/22/2022, 7:29:29 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Loading accessory from cache: Carport
[2/22/2022, 7:29:29 PM] [EufySecurity-1.1.1-beta.26] DEBUG: discoveringDevices
[2/22/2022, 7:29:29 PM] Homebridge v1.4.0 (HAP v0.10.0) (homebridge-eufy-security) is running on port 36605.
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: EufyClient connected true
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: PollingInterval: 30
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Refresh data from cloud and schedule next refresh.
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: CameraMaxLivestreamDuration: 30
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Found 2 stations.
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Found Station T8420N6021040XXX Gartenhütte FLOODLIGHT { value: '<IP_ADDRESS>', timestamp:<PHONE_NUMBER>000 }
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Found Station T8420N6021040XXX Carport FLOODLIGHT { value: '<IP_ADDRESS>', timestamp:<PHONE_NUMBER>000 }
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Found 2 devices.
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Found device T8420N6021040XXX Gartenhütte FLOODLIGHT
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Found device T8420N6021040XXX Carport FLOODLIGHT
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: This device is not a station. Generating a new UUID to avoid any duplicate issue
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte UUID: 810c50fe-d303-448e-bc6e-XXXXXXXXXXXX
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] WARN:  Gartenhütte looks station but it's not could imply some errors Type: 3
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte Constructed Station
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] INFO:  Restoring existing accessory from cache: Gartenhütte
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: This device is not a station. Generating a new UUID to avoid any duplicate issue
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport UUID: 9251e658-da11-4297-86f8-XXXXXXXXXXXX
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] WARN:  Carport looks station but it's not could imply some errors Type: 3
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport Constructed Station
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] INFO:  Restoring existing accessory from cache: Carport
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte UUID: bbabfa2e-19ee-4464-8669-XXXXXXXXXXXX
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] WARN:  Gartenhütte has no battery
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte Constructed Camera
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte has a camera
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] WARN:  Gartenhütte Looks like not compatible with isEnabled or this has been disabled within configuration
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] WARN:  Gartenhütte Looks like not compatible with isMotionDetectionEnabled or this has been disabled within configuration
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte has a DeviceLight, so append switchLightService characteristic to him.
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] INFO:  Restoring existing accessory from cache: Gartenhütte
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport UUID: 4a47bd10-3456-4893-9ddc-XXXXXXXXXXXX
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] WARN:  Carport has no battery
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport Constructed Camera
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport has a camera
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] WARN:  Carport Looks like not compatible with isEnabled or this has been disabled within configuration
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] WARN:  Carport Looks like not compatible with isMotionDetectionEnabled or this has been disabled within configuration
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport has a DeviceLight, so append switchLightService characteristic to him.
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] INFO:  Restoring existing accessory from cache: Carport
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte ON handleRawPropertyChange: { type: 1151, value: '0', modified:<PHONE_NUMBER>923 }
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte ON SecuritySystemCurrentState: 0
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte ON handlePropertyChange: { name: 'currentMode', value: { value: 0, timestamp:<PHONE_NUMBER>923 } }
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte Property Changes: light { value: false, timestamp:<PHONE_NUMBER>923 }
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte Property Changes: lightSettingsBrightnessManual { value: 22, timestamp:<PHONE_NUMBER>923 }
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte Property Changes: lightSettingsEnable { value: true, timestamp:<PHONE_NUMBER>923 }
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte Property Changes: lightSettingsMotionTriggered { value: true, timestamp:<PHONE_NUMBER>923 }
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte Property Changes: lightSettingsMotionTriggeredTimer { value: 30, timestamp:<PHONE_NUMBER>923 }
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte Property Changes: lightSettingsBrightnessMotion { value: 22, timestamp:<PHONE_NUMBER>923 }
[2/22/2022, 7:29:31 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte Property Changes: lightSettingsBrightnessSchedule { value: 22, timestamp:<PHONE_NUMBER>923 }
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport ON handleRawPropertyChange: { type: 1151, value: '0', modified:<PHONE_NUMBER>034 }
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport ON SecuritySystemCurrentState: 0
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport ON handlePropertyChange: { name: 'currentMode', value: { value: 0, timestamp:<PHONE_NUMBER>034 } }
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport Property Changes: light { value: false, timestamp:<PHONE_NUMBER>034 }
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport Property Changes: lightSettingsBrightnessManual { value: 22, timestamp:<PHONE_NUMBER>034 }
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport Property Changes: lightSettingsEnable { value: true, timestamp:<PHONE_NUMBER>034 }
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport Property Changes: lightSettingsMotionTriggered { value: true, timestamp:<PHONE_NUMBER>034 }
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport Property Changes: lightSettingsMotionTriggeredTimer { value: 30, timestamp:<PHONE_NUMBER>034 }
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport Property Changes: lightSettingsBrightnessMotion { value: 22, timestamp:<PHONE_NUMBER>034 }
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport Property Changes: lightSettingsBrightnessSchedule { value: 22, timestamp:<PHONE_NUMBER>034 }
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Push Connected!
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Gartenhütte Property Changes: pictureUrl {
  value: 'https://cdn-eu.eufylife.com/thumb/2022/02/22/station/T8420N602104058B/5TK3KxNw8qdDXXXX.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=XXXXXXXXXXXXXXXXXXXX%2F20220222%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20220222T182932Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  timestamp:<PHONE_NUMBER>000
}
[2/22/2022, 7:29:32 PM] [EufySecurity-1.1.1-beta.26] DEBUG: Carport Property Changes: pictureUrl {
  value: 'https://cdn-eu.eufylife.com/thumb/2022/02/22/station/T8420N60210406E8/GlZdqFmQSL0AXXXX.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=XXXXXXXXXXXXXXXXXXXX%2F20220222%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20220222T182932Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  timestamp:<PHONE_NUMBER>000
}
[2/22/2022, 7:29:33 PM] [EufySecurity-1.1.1-beta.26] DEBUG: isLiveStreaming: false
RangeError: The argument 'size' is invalid. Received -128
    at Function.alloc (node:buffer:360:3)
    at stringWithLength (/homebridge/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:28:30)
    at buildIntCommandPayload (/homebridge/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:123:70)
    at P2PClientProtocol.sendCommandWithInt (/homebridge/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:427:47)
    at Station.startLivestream (/homebridge/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/http/station.ts:2916:39)
    at EufySecurity.startStationLivestream (/homebridge/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/eufysecurity.ts:651:21)
    at /homebridge/node_modules/homebridge-eufy-security/src/accessories/streamingDelegate.ts:411:38
    at new Promise (<anonymous>)
    at StreamingDelegate.getLocalLiveStream (/homebridge/node_modules/homebridge-eufy-security/src/accessories/streamingDelegate.ts:408:16)
    at StreamingDelegate.startStream (/homebridge/node_modules/homebridge-eufy-security/src/accessories/streamingDelegate.ts:434:39)
[2/22/2022, 7:29:34 PM] [homebridge-eufy-security] Child bridge process ended
[2/22/2022, 7:29:34 PM] [homebridge-eufy-security] Process Ended. Code: 1, Signal: null
[2/22/2022, 7:29:41 PM] [homebridge-eufy-security] Restarting Process...
[2/22/2022, 7:29:41 PM] [homebridge-eufy-security] Launched child bridge with PID 8124
[2/22/2022, 7:29:42 PM] Registering platform 'homebridge-eufy-security.EufySecurity'
[2/22/2022, 7:29:42 PM] [homebridge-eufy-security] Loaded homebridge-eufy-security v1.1.1-beta.26 child bridge successfully
[2/22/2022, 7:29:42 PM] Loaded 4 cached accessories from cachedAccessories.0E185009XXXX.

hey, Is your HB server are in the same network than your camera ?

Hey, thanks for your reply - it was not, I'm usingen an IoT network without any restrictions between hb and my cameras. I just changed the network so I can now confirm both cameras and homebridge are in the same network. I also deleted the cached devices and the debug log reports the correct new IP addresses for both cameras. Unfortunately the error message remains the same.

@Carnego So basically the error originates from the client library as far as I can see in the logs.

I just tested the ioBroker plugin from bropat and I can confirm that the error message is identical. I will open an issue for the client library, thanks for your support.

The reference is this issue on bropats github
https://github.com/bropat/eufy-security-client/issues/127


History tab - nothing happens when I finish selecting all fields

@NoamGaash Again, same issue as #854, would you like me to close?

Nice catch! Thank you, let's close as duplicate :pray: :clap:


Use realtimeSinceStartup instead of deltaTime.

I can't get the correct time using Time.deltaTime by variable frame rate.
It is recommended to use Time.realtimeSinceStartup excluding the case when changing Time.timeScale.

Good contribution! thanks


GetOneRandom() panic when table empty

(An assumption) when the count for a given table is empty, the call to rand.Int64n panics. See persistence/PostgresPersistence.go: line 785. I think it just needs a a quick exit since the table is empty.

Fixed in new release v1.2.6


Run Time Issue

Decrease the runtime so as to make the programs faster.

Runtime decreased by 30%

Improved Runtime by compiling moduleLibrary only on demand. Improvement in runtime by about 20%

Runtime for packageSafety unable to be optimised.

Couldn't find healthy alternative.

Cython not helping for packageSafety


fix(AuthActions): Button text typo

Thanks for the MR. We can't have commits that start with uppercased letter, so you would need to change it to button text typo


Percentage Values

Is it possible to use percentage values where you are including the % symbol in the html?
If i use a % symbol and then try to set the cell as data-t="n" is caused the cell to display "NaN"
If I do not add data-t="n" excel treats the cell as a text field.
Here is a code pen showing the problem I am currently experiencing
https://codepen.io/coxy121/pen/KKPNPoa

A workaround for this problem is
Using a hidden column for exporting percentage to excel.

        Some percentage

        23%

        0.253

In the above example, 2nd td will be displayed and 3rd td will be hidden on the browser  and the opposite in the exported excel. The exported excel will recognise the value as  percentage.
Otherwise, you have to use data-t as string(which is the default value for data-t).


Add Zeta Alpha partner page

Description
Add a page for Zeta Alpha in the partner section.

@frejonb - Thank you for your submission. Once you have been added as a partner, if you could provide the info requested here: https://github.com/opensearch-project/project-website/issues/new?assignees=&labels=enhancement%2C+untriaged&projects=&template=partner_information.md&title=, we can get your custom partner page built.

@pajuric sure here it is https://github.com/opensearch-project/project-website/issues/1936


[Staging -> 1.0-dev verity read-only root] Support dm-verity read-only roots for Mariner images and ISOs

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system Documentation to follow later.
[x] Ready to merge

Summary

Read-only root and dm-verity: This is the culmination of several PRs which have been merged into a staging branch:

#479
#480
#481
#483
#484
#543

This feature will enable dm-verity based read-only root file systems which can detect, and optionally repair modifications to files on the root file system. This supports both basic resilience to corruption as well as a number of additional security features.
There are several supporting changes made to the tooling to support this feature. The intent is to leave the commits in this PR un-squashed and use a traditional merge commit instead.
Change Log

#479
#480
#481
#483
#484
#543

Does this affect the toolchain?

NO
Test Methodology
Local builds and testing via hyper-v

NOTE: A rebase will be required before merging, but some on-going work benefits from stability in the staging branch for now.
NOTE: The intent is to do a traditional merge, rather than a squash-merge to preserve the granularity of the changes.

NOTE: A rebase will be required before merging, but some on-going work benefits from stability in the staging branch for now.
NOTE: The intent is to do a traditional merge, rather than a squash-merge to preserve the granularity of the changes.

Added two bug fix commits to end (handle rootfs with no kernel, and don't call parted to set the empty flag (happens when ignoring dmroot flag)

Added two bug fix commits to end (handle rootfs with no kernel, and don't call parted to set the empty flag (happens when ignoring dmroot flag)


Build ARM images

Build an ARM image for the CSP and provide experimental builds of the CSI driver.

ARM images are dependent on upstream UBI base images being switched to UBI-8 (currently on 7). Further, some HPE CSI Driver sidecars are proprietary and we'll most likely not see any ARM images coming from HPE. The open source images (node and controller) will be provided as-is from this project during the next release cycle.

Experimental work #30

https://datamattsson.tumblr.com/post/689609124839899136/does-arm-have-a-leg-with-hpe-csi-driver

Multi-arch builds will be part of the CSP going forward, #40. The HPE CSI Driver will have ARM images in the next release hopefully.


Add 'zabbix trigger' monitor

⚠⚠⚠ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules:
https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma
Tick the checkbox if you understand [x]:

[x] I have read and understand the pull request rules.

Description
I want to add a 'Zabbix Trigger' Monitor, which will query the API of a Zabbix Server and get the status of a trigger.
Why? I use uptime-kuma as a simple 'customer-side' status page. In the background there is more complex monitoring using Zabbix.
It would be nice to use the existing data & triggers from zabbix and show them in uptime-kuma, to get the true overview into the status page and not only part of the monitoring.
Type of change
Please delete any options that are not relevant.

New feature (non-breaking change which adds functionality)

If I understand it, you meant this monitor will query the Zabbix API in a fixed interval like another monitors do.
If yes, it is OK to be added.
You can add a new monitor type here:
https://github.com/louislam/uptime-kuma/tree/master/server/monitor-types
Here is the tailscale monitor for your reference:
https://github.com/louislam/uptime-kuma/pull/3178
I am still working on 2.0.0,  this pr may be expected in 2.2.0.

Let me know if assistance is needed, this would be incredible for me as I use Zabbix for our admins, and uptime kuma for our customers status pages.

Please add translation for en.json only. Other languages should be added through Weblate.


The name is_final requires historical Bitcoin knoweldge to understand

I never know why we used the term 'final', as in Sequence::is_final. Yesterday @llfourn suggested it might be because the sequence number in the original Bitcoin code was intended to be incremented in order to replace a transaction, so once the sequence number got to u64::MAX it could no longer be increased, hence it was 'final'.
Two issues:

Do we even need to provide this public method Sequence::is_final?
If we do need to provide it can we come up with a more descriptive name for what ever use case there is for this method?

The actual semantics of it seems to be disables_absolute_locktime.

Sequence numbers are for relative locktimes, not absolute locktimes.
The modern semantics of finality is that setting this flag disables RBF (though there are murmers about ignoring the flag in the near future..). I think "final" continues to be a reasonable word for this, even ignoring the fact that this is a widely used and understood term in the Bitcoin developer community.

Sequence numbers are for relative locktimes, not absolute locktimes.

I wish this were the case but it's not. The 0xFFFFFFFF sequence value is for disabling absolute locktimes. In particular if all seqence numbers in a tx are set to that value then the lock_time field is ignored (bitcoin wiki reference).

The modern semantics of finality is that setting this flag disables RBF (though there are murmers about ignoring the flag in the near future..). I think "final" continues to be a reasonable word for this, even ignoring the fact that this is a widely used and understood term in the Bitcoin developer community.

According to BIP125 there are two values that disable RBF though: 0xFFFFFFFE and 0xFFFFFFFF why should only the latter be called final?

Heh, I knew the context so is_final didn't seem too strange to me but now that you bring it up I believe it makes sense to rename it. However using a method for appropriate semantics is better: is_rbf(), enables_absolute_locktime()... Then final should not be needed. If there's a very specific niche case for needing it people can just use x == Sequence::MAX

I wish this were the case but it's not. The 0xFFFFFFFF sequence value is for disabling absolute locktimes. In particular if all seqence numbers in a tx are set to that value then the lock_time field is ignored (bitcoin wiki reference).

lol TIL.
I'm fine with adding more descriptive names but i do think we should have is_final because it's a one-ilner and people familiar with Bitcoin will be expecting it.

lol TIL.

Hopefully we can design an API so that we'll only need to know this stuff once, when writing the code, and then the API will hold our hands..

Do we a agree that is_final is a name that is left over from the now defunct use of sequence numbers where a tx could be replaced by one with a higher sequence number? If so then docs explaining this would have been sufficient to avoid the trouble @tcharding went through with me to explain this to me. I think an alias method disables_absolute_locktime which is the current semantics of that value would be helpful too.

I'm fine with adding more descriptive names but i do think we should have is_final because it's a one-ilner and people familiar with Bitcoin will be expecting it.

@LLFourn my interpretation from this comment is that @apoelstra would ack the addition of a more descriptively name method that calls is_final() - with some nice docs explaining the history of 'final' I'd say.

ACK thanks @tcharding!

I'll throw it on my todo list

Hell, I added 'good first issue' to see if it magically gets done for me :)

Actually this is !enables_absolute_lock_time() (which ironically calls !final()). Since we have it there already I suggest we just deprecate final and move the body of is_final into enables_absolue_lock_time and negate it.


Expose link_to_output as switch and not as enum

It woud be better to expose the option link_to_output as a switch in Z2M.
Beqause it is easyer to handle this in Home Assistant.
I have try it to change the external converter from
features.push(exposes.enum('link_to_output', exposes.access.ALL,
        getSortedList(inputLinkList)).withEndpoint(epName));

to
features.push(exposes.switch().withState('link_to_output', false, '', exposes.access.ALL, 'ON', 'OFF').withEndpoint(epName));

With this it works but it comes not right in the frontend of Z2M and Home Assistant.
In Z2M it comes in the fronted under the state but without the endpointname.
In Home Assistant it comes as switch.friendly_name and not as switch.friendly_name_link_to_output_l2
Can you help to write the converter right?
Thanks.

It is difficult to change this option because it is hard-coded in the Z2M web interface.

Ahh ok thanks for your answer.
I have found a solution.
I have changed the auto discovery from zigbee2mqtt to homeassistant in the device option with this:
homeassistant:
    link_to_output_l2:
      type: switch
      options: null
      payload_off: 'no'
      payload_on: 'yes'

Now i have a switch in homeassistant.


Advice needed for submitUserMessage

Hi DeepChatTeam!
I'm struggling to get submitUserMessage to work. Basically it doesn't seem to do anything at all and I'm not sure why.
So I made a very simple example to show what I'm doing:
import {DeepChat as DeepChatCore} from 'deep-chat';
import {DeepChat} from 'deep-chat-react';
import {useEffect, useRef, useState} from "react";
import './style.css';

export const App = () => {
  const [buttonmsg, setButtonmsg] = useState("")

  const deepChatRef: React.RefObject<DeepChatCore> = useRef(null);

  useEffect(() => {
    if (deepChatRef && buttonmsg != "") {
      deepChatRef.current.submitUserMessage({text: buttonmsg})
    }
  }, [buttonmsg])

  return (

Deep Chat

      <DeepChat
        ref={deepChatRef}
        demo={true}
        style={{ borderRadius: '10px' }}
        textInput={{ placeholder: { text: 'Welcome to the demo!' } }}
      />

      <button onClick={() => setButtonmsg("Hi this is a message submitted by a button!")}>Click me!</button>

  );
};

In my real world code the message even seems to be sent to the back-end but the response is not shown at all. In my simple example it is not visible as well.
Maybe I'm doing something horribly wrong so I would be glad if you could give me an advice!
Thanks!

Hi @ki-zeitalter.
The problem appears to stem from the fact that you are updating your React state, which causes a re-render of the component - which also re-renders the Deep Chat component. So in essence, the method does work fine, however Deep Chat is re-rendered directly after it is updated, hence it looks like nothing is happening. You will also sometimes see that Deep Chat does not refresh, that is because it has lost the reference to the original component.
I have fixed your setup to reflect this:
export default function App() {
  const deepChatRef: React.RefObject<DeepChatCore> = useRef(null);

  function submit(text: string) {
    if (deepChatRef.current ) {
      deepChatRef.current.submitUserMessage({text})
    }
  }

  return (

Deep Chat

      <DeepChat
        ref={deepChatRef}
        demo={true}
        textInput={{ placeholder: { text: 'Welcome to the demo!' } }}
      />
      <button onClick={() => submit("Hi this is a message submitted by a button!")}>Click me!</button>

  );
}

Long story short, you should try not to use useState in the same component that Deep Chat is being used in.
I have outlined alternative solutions in the following comment. You can also find other alternative solutions in the same issue
The Deep Chat Playground is actually using localStorage to persist messages and selected configuration. You can check the code here. Another solution is the use of sessionStorage for temporary storage.
Hopefully this helps you. Thanks.


upgrade: update minreq.sysvmtemplate.version to the latest template version

Description
This PR fixes the value set for minreq.sysvmtemplate.version when upgrading to 4.17. Because of the value being hard-coded to 4.16.0 at  https://github.com/apache/cloudstack/blob/main/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41610to41700.java#L73 it doesn't pick the right value, i.e., 4.16.1

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[X] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?
Upgrade from 4.16 to 4.17 and validate the global setting minreq.sysvmtemplate.version value

@blueorangutan package

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 3095

@blueorangutan test

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-3840)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 33094 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6227-t3840-kvm-centos7.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File


Add lake to the nix package of lean

This commits add lake to the nix version of lean.
This fixes TODO: Add Lake in nix/bootstrap.nix.
While lake isn't used to build lean packages on nix, it is still used by the lean4 extension of vscode when opening projects with multiple files.
This mean vscode on nix currently doesn't work with multi-file projects. This isn't a big deal on most distributions because one can just install lean with lake included through elan, but elan doesn't work on NixOS.
I added a new flake input because currently git submodules don't work well with nix flakes.
I created a demo lean 4 project repository to test this patch; you can clone it to check that it does indeed work.

This is supposed to work out of the box, and it does for me using nix shell .#lean-dev -c code .. I'm inclined to drop vscode-dev in favor of that as it's always out of date and the inability to install additional extensions means it's mostly just a toy demo.

but elan doesn't work on NixOS

It certainly does, it's in Nixpkgs.

but elan doesn't work on NixOS

It certainly does, it's in Nixpkgs.

My bad, I wrongly assumed it wouldn't work since most package manager don't work on NixOS.
This makes this patch less important, but it's still nice having pure nix development environments (and it seems to have been planned anyway, since there was a TODO: add Lake in bootstrap.nix).

The TODO will be resolved when Nix gains proper support for submodules. We should not have independent pinned commits of Lake in both .gitmodules and flake.lock. The only real advantage of adding Lake is that the CI can test it. For users of the Nix setup, the Lake adapter included in lean-dev is sufficient.

The TODO will be resolved when Nix gains proper support for submodules. We should not have independent pinned commits of Lake in both .gitmodules and flake.lock. The only real advantage of adding Lake is that the CI can test it. For users of the Nix setup, the Lake adapter included in lean-dev is sufficient.

Got it, closing this then


Add support to display pronouns

This adds the command pronouns, which allows you to both declare your pronouns and to set your own pronouns.
Example usage:
pronouns she her hers
pronouns xey xem
pronouns he they
pronouns @duck

Please fix formatting with go fmt, the other issues are insignificant or my fault lol

@CodeLongAndProsper90 I would have the syntax for setting pronouns stay the usual he/him syntax instead of a new he him syntax :)

There's no precedent set in devzat, and I think it's clearer to document it as a space delimited command, keeping with the command-line-esque style

True! What if we had support for both? To account for the CLI style and also the conventional style?

On Thu, Feb 10, 2022 at 04:18:50PM -0800, Ishan Goel wrote:

True! What if we had support for both? To account for the CLI style and also the conventional style?
I think that if we kept the spacing, we could do
she|xey her|xem hers|xeirs so that devzat can actually be aware of
pronoun tenses, so (for example), you could say "Catherine has paused
her notifications" or "xey will get your message when xey're back".
she|xey/her|xem/hers|xeirs is a little more cluttered.

👍


Consumer' object is not iterable

I get this when I try to use the example for consumers in the README.md

    async with Consumer(stream_name="test_stream", endpoint_url=aws_endpoint) as consumer:
        while True:
            async for item in consumer:
                print(item)

ERROR
 for item in consumer:
 TypeError: 'Consumer' object is not iterable

Found the issue. This is cased by a breaking change in aiobotocore==1.0.0 . When I rolled back to aiobotocore==0.12.0 everything worked. This is due to https://github.com/aio-libs/aiobotocore/releases/tag/1.0.0.

#15 fixed with 0.5.0 release thnx~


[ConstExpr] Move our memory representation to support a global heap.

Before we only tracked memory objects on a per-stack-frame basis, which
was sufficient for alloc_stack, but was not enough to track arrays and
strings (properly).  Moving to a global heap model simplifies things and
supports this generality.  NFC.

@swift-ci please test tensorflow

@swift-ci please test tensorflow

Verified, this is a much better way to do it, thanks again for the suggestion.


flt_scale and out_sdl2 do not work together

see vifino/sled#7 for more information.

Could you rebase your changes on master so we get a clean commit? You can force push to your fork to update this PR.

After some git voodoo (rebase and reset --hard and push --force) this is now only one commit.

Nice! If you would address the remaining comments (out_sdl2, other modules and keeping the multiplication-outside-of-loop), then this is ready to go.

Actually, I'll just merge it now, I'll do the changes I suggested.
Many thanks!


[BUG] Export does not adhere to timezone of Date object

🐛 Bug Report
I have a JavaScript Date object which is set to "Wed Mar 01 2023 12:54:19 GMT-0500 (Eastern Standard Time)".
When exporting this to Excel using ExcelJS, I end up with "3/1/2023 5:54:19 PM".
It is apparently converting the time portion to UTC, but I need to keep it in the local time.
Is this expected behavior?  If so, any workarounds?
Lib version: 4.3.0
Steps To Reproduce
In this case, columns is an array of objects with a header and a key property.
data is an array of objects, which contain a Date object.  It's this Date object that is changing the time.
    const workbook = new ExcelJS.Workbook();
    const sheet = workbook.addWorksheet();
    sheet.columns = columns;
    sheet.addRows(data);

      const fileType =
        'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
      workbook.xlsx.writeBuffer().then((x) => {
        const blob = new Blob([x], { type: fileType });
        FileSaver.saveAs(blob, `${fileName}.xlsx`, {autoBom: false});
      });

The expected behaviour:
The timezone information stored in the Date object should be represented in Excel after the export.  It should not alter the time.

I am closing this as I found a workaround.  Converting the field to a string instead of a Date and using toLocaleDateString / toLocaleTimeString.  This maintains the proper time when exported.
      const newReport = this.report.map(r => {
        const { callDateTime, ...rest } = r;
        return {
          ...rest,
          dateTimeField: `${callDateTime.toLocaleDateString()} ${callDateTime.toLocaleTimeString()}`
        };
      });


warnings with PHP7.1.0

in the keccak64() function, on line 123, I'm getting warnings of "A non-numeric value encountered".
I understand that $temp is padded with 0's on line 120.
I'm testing it with randomly generated strings and the hashed results match https://emn178.github.io/online-tools/sha3_512.html's results.    So, it's definitely not broken functionality or anything.   I'm just curious if it is something that needs fixing.

you can see the warnings here when you press execute: http://sandbox.onlinephpfunctions.com/code/2cff38a76f78065f77fb435fa46a9d27c52b6b64

calling: echo SHA3::hash("abcde", 512);

Warning:  A non-numeric value encountered in [...][...] on line 123

Warning:  A non-numeric value encountered in [...][...] on line 123
1d7c3aa6ee17da5f4aeb78be968aa38476dbee54842e1ae2856f4c9a5cd04d45dc75c2902182b07c130ed582d476995b502b8777ccf69f60574471600386639b

Ok, the folks over in ##php said this is the fix:
123: $temp[$rsiz - 1] = chr(ord($temp[$rsiz - 1]) | 0x80);

I just noticed the exact same thing today using PHP 7.1. Please apply the fix.


Windows Mixed Reality for SteamVR

What's the Product's Name?
Windows Mixed Reality for SteamVR
Describe the product in a single sentence.
Windows Mixed Reality for SteamVR was/is a compatibility layer for Windows Mixed Reality that allows Windows Mixed Reality headsets to run SteamVR and use SteamVR games and apps.
When was the product launched? Provide a specific date, if possible.
November 15th, 2017
When was the product discontinued? Provide a specific date, if possible.
Deprecated on December 21st, 2023, discontinued on Nov 1st, 2026 (2027 for commercial licenses), incompatible with a future release of Windows (likely Windows 12).
What type of product was it? App, Service, OS, or Hardware?
App

see #104


FaustJS / NextJS ES Module issue

Good morning,
I'm trying to troubleshoot an issue. Installing next-gravity-forms on a website running Faust.JS and Next.JS and having issues:
Error: require() of ES Module<EMAIL_ADDRESS>from<EMAIL_ADDRESS>not supported.
utils-Dg7UrSha.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules.
Instead rename utils-Dg7UrSha.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in<EMAIL_ADDRESS>to treat all .js files as CommonJS (using .mjs for all ES modules instead).
I followed the instructions. No luck. I also installed fix-esm which didn't work for me either. I did do a straight-up installation of your example and it worked fine. That tells me that the issue must be because I have FaustJS installed also. I use FaustJS to connect to a WordPress backend.
Have you come across this in anyway and have a solution. I'd really like to use next-gravity-forms because I've run into a roadblock using Formik and 'wp-graphql-gravity-forms' for a file upload button.
Faust.js v3.0.3
Next.js 14.2.5
<EMAIL_ADDRESS>

I am having the same issue, let me know if you find a solution

Good Afternoon, This should be fixed in 2.1.3 could you check?


Hard code values for deprecated environment variables

Related to https://github.com/neurobagel/recipes/issues/30

We are removing support for the following variables:

NB_GRAPH_ADDRESS
NB_GRAPH_PORT
NB_API_PORT (used in Dockerfile) - need to remove this?

Not planned for now as these environment variables may still be useful in development scenarios (the Docker Compose recipe currently will just create them with hardcoded values).


Remove babel

Hi Ryan,
I introduced babel in raneto-core, now I kind of regret it, sorry :)
Since you upgraded to node 4, now we have native classes, so I removed babel with minor tweaks, I hope you like the change :)

I just updated the branch. git didn't pick up a file move.
This version should be easier to review.


fby3.5: rf: Set Average Mode for INA233

Summary:

Set 64 average times for the MFR_ADC_CONFIG of INA233

Test Plan:
Build code: Pass
Signed-off-by: Irene<EMAIL_ADDRESS>

Force push this branch to fix the clang-format issue.


[VS Code] Sign-in failed.

Hey,
I can't login to VS Live Share. After I paste my Code into the info bar I'm just getting the "Sign-in failed" message. I'm using Github as authentication provider.
The logs just says POST https://insiders.liveshare.vsengsaas.visualstudio.com/auth/token => An error occurred while sending therequest.
vsshare.zip
Thanks in advance :)

@Chuxel  It's

`Ubuntu

16.04.3 LTSwithGNOME` as desktop environment

@Chuxel yep you are absolutely right. I'm using a self-compiled version of curl because the 16.04 Version was not supporting http2 which I needed :|
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.0.2g zlib/1.2.8 nghttp2/1.7.1
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy

I think it's safe to close this issue. I'll follow #212 for further informations :)
Thanks!

  It would be interesting to know if you compiled curl with that support if the issue goes away.

@Chuxel can confirm it works when adding the Kerberos feature to curl (--with-gssapi + libkrb5-dev package) I've updated curl to 7.60 but it also works with any other version. I'm now able to use live share :grinning:
Thanks a lot !!
curl 7.60.0 (x86_64-pc-linux-gnu) libcurl/7.60.0 OpenSSL/1.0.2g zlib/1.2.8 nghttp2/1.7.1
Release-Date: 2018-05-16
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy


Appstudio update test-component-pac-xmni

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-xmni-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
30 seconds
init

✅ Succeeded
40 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
5 minutes
clair-scan

✅ Succeeded
49 seconds
sanity-inspect-image

✅ Succeeded
49 seconds
deprecated-base-image-check

✅ Succeeded
50 seconds
sbom-json-check

✅ Succeeded
24 seconds
sanity-optional-label-check

✅ Succeeded
23 seconds
sanity-label-check

✅ Succeeded
2 minutes
show-summary

Pipelines as Code CI/test-component-pac-xmni-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
21 seconds
init

✅ Succeeded
19 seconds
clone-repository

✅ Succeeded
34 seconds
build-container

✅ Succeeded
37 seconds
deprecated-base-image-check

✅ Succeeded
36 seconds
sanity-inspect-image

✅ Succeeded
57 seconds
clamav-scan

✅ Succeeded
22 seconds
clair-scan

✅ Succeeded
24 seconds
sbom-json-check

✅ Succeeded
12 seconds
sanity-label-check

✅ Succeeded
11 seconds
sanity-optional-label-check

✅ Succeeded
10 seconds
show-summary