PySCF CPHF MO gradients differ from PySCFAD MO gradients

Hello,
I was comparing the MO gradients obtained from the CPHF code in pyscf/hessian/rhf.py with those computed from PySCFAD. I'm seeing substantial differences between the two. Here is  the script I used for computing the HOMO gradient for water using PySCF:
from pyscf import gto, scf
from pyscf import hessian
from pyscf.hessian import rhf
import numpy as np

mol = gto.Mole(atom="""
    O        0.00000000       0.00000000      -0.07579169
    H        0.00000000      -0.86681005       0.60143455
    H        0.00000000       0.86681005       0.60143455
    """)
mol.basis = '3-21g'
mol.build()

mf = scf.RHF(mol)
mf.conv_tol = 1e-9
mf.kernel()

mf_h = mf.Hessian()
H1 = hessian.rhf.make_h1(mf_h,
        mf.mo_coeff,
        mf.mo_occ)

#Output MO gradients
mo1, mo_e1 = hessian.rhf.solve_mo1(mf,
        mf.mo_energy,
        mf.mo_coeff,
        mf.mo_occ,
        H1,
        None)

C1 = np.asarray(mo1)

#HOMO
C1 = C1[:, :, :, -1]

np.save("C1_cphf.npy", C1)

and here is the script I used for computing the HOMO gradient with PySCFAD:
from pyscfad import gto, scf
from jax import jacfwd
import numpy as np

mol = gto.Mole(atom="""
    O        0.00000000       0.00000000      -0.07579169
    H        0.00000000      -0.86681005       0.60143455
    H        0.00000000       0.86681005       0.60143455
    """)
mol.basis = '3-21g'
mol.build()

homo_idx = 4
def mo_coeff(mol):
    mf_scf = scf.RHF(mol)
    mf_scf.conv_tol = 1e-9
    mf_scf.kernel()
    return mf_scf.mo_coeff[:, homo_idx]

grad = jacfwd(mo_coeff)(mol)

#Transpose so it has the same shape as PySCF MO grad
mo_grad = grad.coords.transpose(1, 2, 0)

np.save("C1_pyscfad.npy", mo_grad)

Plotting the output from these two codes gives:

I believe the problem lies in pyscf/scf/cphf.py.  The comment at line 90 of this file (C^1_{ij} = -1/2 S1) corresponds to equation 41-42 in this paper from Gerratt and Mills (https://doi.org/10.1063/1.1670299). For occupied orbitals i ne j, this poses a contradiction with Equation 40a in the paper:
u^1_ij = (F^1_ij - e^0_j * S^1_ij)/(e^0_j - e^0_i)               (i ne j; i,j=1, 2...,m)  40a

If you switch the orbital indices i and j in this equation, you see that, barring a degeneracy, u^1_ij will not be equal to u^1_ji, even for real orbitals. I believe that Equation 42 should thus only be used to set the u^1 values for i = j, where i and j are both occupied orbital indices. Instead, after solving for the occupied-virtual block values of u^1 using Equation 40b in the paper, you can "go back" and use Equation 40a to calculate u^1_ij for pairs of occupied orbitals i ne j. This can be done because Equation 50 in Gerratt and Mills demonstrates that there are no unknown quantities on the right-hand side of Equation 40a after the occupied-virtual block u^1 values have been calculated.
The fix in the code is pretty simple, as the numerator for Equation 40a for all pairs of orbitals has been calculated at line 135 of the existing CPHF code. I have a fork at https://github.com/jstoppelman/pyscf/blob/cphf/pyscf/scf/cphf.py that handles the few remaining parts. The agreement between PySCF and PySCFAD does look much better with this procedure:

However, there would still be a problem with this procedure in the event of an orbital degeneracy between a pair of occupied orbitals. Hopefully my comments are clear enough above, please let me know if there are any other problems spotted!

This difference is due to the normalization convention. The first order orbitals in PySCF are use canonical orbitals.
PySCFAD utilizes canonical orbitals everywhere.


Fix threading issue for sending values on subjects

There is a bug in the two subjects CurrentValueSubject and PassthroughSubject that the sending of new values is not synchronised. Right now this is only adding the tests to verify but I am working on implementing a fix as well, if you have input how it should be fixed please let me know.

Hi, @FranzBusch , I've created a pr to your branch and I think it will fix this, take a look when you have time!

@luoxiu The CI failed, these are the same failures that I saw locally when trying to fix it. It is either that the new test is green and the synchronous backpressure one is red or the other way round.

Ci succeeded on mac but failed on linux……
Hey, @FranzBusch , can you fix the conflicting issue? I've updated the travis's conf, let's start a new round of testing to see what will happen.

Sure will do!

@luoxiu We could probably add a new test target FailedTests, so that one can submit new test cases without breaking CI.

Merged through #36. created #37. Thank you.


ci: reploy teaser image with newest lib version

#1445  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @krzema12 and the rest of your teammates on  Graphite


Suggestion: Open as tab

Besides opening as split and vertical split, what about open as tab?
btw: great plugin! using it for django

@pogopaule Thanks to @pogopaule this has been implemented now 👍


Crashing with Realm

right after added the forms library beta 23 from nuget, it crashed with realm object messaging "Missing compiler required member 'Microsoft.CShar.RuntimeBinder.CSharArgumentInfo.Create'

fixed by adding Microsoft.CSharp dependency. but still don't know why it happened


Crash after high load

Expected behaviour
Stable work with many actions.
Actual behaviour
After try make many actions (join, say, receive events, etc), app crashed.
0|twitch-bot  | You have triggered an unhandledRejection, you may have forgotten to catch a Promise rejection:
0|twitch-bot  | Error: Timeout error encountered [Chat] [TwitchJS]
0|twitch-bot  |     at TimeoutError.ChatError (/node_modules/twitch-js/src/Chat/Errors.js:5:34)

All wrapped in async\await and 100% catched.
Steps to reproduce
Make many actions: (join, say, receive events, etc)
Your environment

Operating system(s): OSX
TwitchJS version: <IP_ADDRESS>-beta.14
NodeJS version: 8

Do you have a log/history of the "actions" performed before the timeout?

@marcandrews
/.pm2/logs/twitch-bot-error.log last 10 lines:
0|twitch-b | You have triggered an unhandledRejection, you may have forgotten to catch a Promise rejection:
0|twitch-b | Error: Timeout error encountered [Chat] [TwitchJS]
0|twitch-b |     at TimeoutError.ChatError (/node_modules/twitch-js/src/Chat/Errors.js:5:34)
0|twitch-b |     at new TimeoutError (/node_modules/twitch-js/src/Chat/Errors.js:36:34)
0|twitch-b |     at Chat.join (/node_modules/twitch-js/src/Chat/index.js:323:9)
0|twitch-b |     at /node_modules/twitch-js/src/Chat/index.js:255:48
0|twitch-b |     at Array.map (<anonymous>)
0|twitch-b |     at /node_modules/twitch-js/src/Chat/index.js:255:28
0|twitch-b |     at <anonymous>
0|twitch-b |     at process._tickDomainCallback (internal/process/next_tick.js:228:7)

/.pm2/logs/twitch-bot-out.log last 10 lines:
0|twitch-b | Join to channel #xxx
0|twitch-b | Join to channel #xxx
0|twitch-b | Join to channel #xxx
0|twitch-b | Join to channel #xxx
0|twitch-b | Join to channel #xxx
0|twitch-b | Join to channel #xxx
0|twitch-b | Join to channel #xxx
0|twitch-b | Join to channel #xxx
0|twitch-b | Join to channel #xxx

Are you joining channels sequentially or in parallel?

@marcandrews ~ 10 concurrent requests, this is the maximum load

@marcandrews is it possible that due to Queue there is a deviation of promises due to timeout?

@Fyzu, I think you are correct.
The fix will require some rework. We will have to return a promise from the Queue#push that resolves when processing starts. This promise needs to bubble up through Client#send and Chat#join so that there, we only start to the timeout after Queue#push resolves.
Unfortunately, I'm a little busy with other projects at the moment. Can you join in sequence in the meantime?

Yes, i will do it as it will be time

Resolve it #156


Cannot push to two separate repositories

Is this a BUG REPORT or FEATURE REQUEST?:
bug
Description
I am trying to push my image to two different remote repositories (Docker Hub and Google). I created two different executions, each with their own repository value, as such:
<execution>
                        <id>push-image-docker</id>
                        <goals>
                            <goal>push</goal>
                        </goals>
                        <configuration>
                            <googleContainerRegistryEnabled>false</googleContainerRegistryEnabled>
                            <repository>docker.io/PROJ/tasks</repository>
                            <tag>latest</tag>
                        </configuration>
                    </execution>
                    <execution>
                        <id>push-image-google</id>
                        <goals>
                            <goal>push</goal>
                        </goals>
                        <configuration>
                            <googleContainerRegistryEnabled>true</googleContainerRegistryEnabled>
                            <repository>gcr.io/PROJ/textrecruit/tasks</repository>
                            <tag>latest</tag>
                        </configuration>
                    </execution>

This doesn't seem to work - it only pushes to one repo.
How to reproduce
See above
What do you expect
I expect two pushes, each to their own repo.
What happened instead
See above
Software:

docker version: 18.06.1-ce
Spotify's dockerfile-maven version: 1.4.4

So it looks like it works fine when running mvn deploy but does not work with mvn dockerfile:build

The ‘push’ goal is bound to the ‘deploy’ phase, so I think what you are seeing makes sense.


Linux distribution choice when creating Kontena Master

Hi,
I just started using Kontena. It seems great, however I would like to ask why there is no choice of distribution when creating Kontena Master? I create it with CLI:
kontena upcloud master create ...
It automatically creates a new upcloud instance for me and puts CoreOS on it. Would be great if one could choose the distribution (like Ubuntu)
Thanks!

The reason why we're limiting the automatic provisioning support (for now at least) to CoreOS is mainly resources. All the distros require somewhat different configs. And when you add to the mix the variations on different cloud provider environments (networking for example) you'd get pretty big matrix of possible distro/environmment combinations. And then add to the mix also different versions of distros and you'll end up in three dimensional matrix. :)
There's also some technical reason why we've chosen CoreOS as the default. CoreOS has really nice auto-update functionality and it's probably the most stable docker setup out-of-box. What we really want to provide for users is something that really works out-of-box and no tuning required.
I'm not saying this cannot or should not be done. If you check out the provisioning plugin code it is actually pretty straight-forward to enhance those. You could create a proper cloud-init.yml for the desired distro and then have the plugin to prompt the desired distro. Then some logic to select correct image etc.. PR's are welcome. :)

Let's (re-)open feature request issues on specific plugin repos (kontena-plugin-xyz) as these kind of issues have to be dealt on plugin level.


results not reproducable

As you can see this python library is flawed as I could not reproduce the figure.
Please fix it immediately.
Sincerely,
your colleague.

Dear @xiaziyna,
It's clear that there is some confusion here about the purpose of the library.  Perhaps you should ask your husband or father for some assistance?
Evidlo

I asked them but they told me it's best if I just don't use a computer
anymore and thus I am writing this message via carrier pigeon.
On Wed, 6 Jul 2022 at 17:48, Evan Widloski @.***> wrote:

Dear @xiaziyna https://github.com/xiaziyna,
It's clear that there is some confusion here about the purpose of the
library. Perhaps you should ask your husband or father for some assistance?
Evidlo
—
Reply to this email directly, view it on GitHub
https://github.com/Evidlo/expsweep/issues/1#issuecomment-1176830945, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AS66JNBZ4LWBRO6Q2IZPTX3VSYELJANCNFSM5225ZJBA
.
You are receiving this because you were mentioned.Message ID:
@.***>


what is SRC

Apologies if this is obvious, but I'm trying to understand what the SRC is. Is it the IP address of my docker host (<IP_ADDRESS>), or the IP assigned to the container? If it is the later, this address is not routable. If it is the former, I seem to be getting an error (see below). Appreciate any guidance.
Docker host IP: <IP_ADDRESS>
MQTT server (also container): <IP_ADDRESS>:1883
  juicepassproxy:
    build: ./juicepassproxy
    hostname: juicepassproxy
    container_name: juicepassproxy
    restart: unless-stopped
    logging:
      driver: json-file
    ports:
      - 8051:8051/udp
    networks:
      public:
    environment:
      - JUICEBOX_LOCAL_IP=<IP_ADDRESS>
      - SRC=<IP_ADDRESS>
      - MQTT_HOST=<IP_ADDRESS>
      - DEBUG=true
    volumes:
      - /etc/localtime:/etc/localtime:ro

From debug:
juicepassproxy      | 11/08/23 19:25:34: COMMAND: python /juicepassproxy/juicepassproxy.py --src <IP_ADDRESS>:8051 --dst <IP_ADDRESS>:8051 --host <IP_ADDRESS> --port 1883 --discovery-prefix homeassistant --name JuiceBox --debug
...
juicepassproxy      | 2023-11-08 19:25:35,037 DEBUG      Starting UDP proxy...
juicepassproxy      | 2023-11-08 19:25:35,037 DEBUG      Src: <IP_ADDRESS>:8051
juicepassproxy      | 2023-11-08 19:25:35,037 DEBUG      Dst: <IP_ADDRESS>:8051
juicepassproxy      | Traceback (most recent call last):
juicepassproxy      |   File "/juicepassproxy/juicepassproxy.py", line 221, in <module>
juicepassproxy      |     main()
juicepassproxy      |   File "/juicepassproxy/juicepassproxy.py", line 218, in main
juicepassproxy      |     pyproxy.udp_proxy(args.src, args.dst)
juicepassproxy      |   File "/juicepassproxy/pyproxy/pyproxy.py", line 43, in udp_proxy
juicepassproxy      |     proxy_socket.bind(ip_to_tuple(src))
juicepassproxy      | OSError: [Errno 99] Cannot assign requested address

any reason you are using 8051  as port ?

SRC should be the IP and port of the host machine

I used port 8051 as this is what was listed:
telnet <IP_ADDRESS> 2000
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS>.
Escape character is '^]'.
[2023-11-08 | 19:06:17: Ready]
> list
list
! # Type  Info
# 0 FILE  webapp/index.html-<IP_ADDRESS> (1995, 0)
# 1 UDPC  juicenet-udp-prod4-usa.enelx.com:8051 (19405)

Funny enough, overnight we had a power outage. Now when I log into the Jukebox:
telnet <IP_ADDRESS> 2000
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS>.
Escape character is '^]'.
[2023-11-09 | 12:05:26: Ready]
> list
list
! # Type  Info
# 0 FILE  webapp/index.html-<IP_ADDRESS> (1995, 0)
# 1 UDPC  jbv1.emotorwerks.com:8042 (1952)

It appears that it has chosen a different server and port!

That's interesting.
and make it more difficult to spoof the DNS....
the FW rules might be the best option filtering with the src IP for base the rule of.

jbv1.emotorwerks.com

jbv1.emotorwerks.com is an alias for switcher-us-prod-cs.cloudapp.net.
switcher-us-prod-cs.cloudapp.net has address <IP_ADDRESS>

juicenet-udp-prod4-usa.enelx.com

juicenet-udp-prod4-usa.enelx.com is an alias for juicenet-udp-prod4-usa.awspub.enel.com.
juicenet-udp-prod4-usa.awspub.enel.com has address <IP_ADDRESS>

juicenet-udp-prod3-usa.enelx.com

juicenet-udp-prod3-usa.enelx.com is an alias for juicenet-udp-prod3-usa.awspub.enel.com.
juicenet-udp-prod3-usa.awspub.enel.com has address <IP_ADDRESS>

juicenet-udp-prod2-usa.enelx.com

juicenet-udp-prod2-usa.enelx.com is an alias for juicenet-udp-prod2-usa.awspub.enel.com.
juicenet-udp-prod2-usa.awspub.enel.com has address <IP_ADDRESS>

A couple of notes. I have added 5x DNS rewrite rules to my AdGuard Home:
jbv1.emotorwerks.com
juicenet-udp-prod1-usa.enelx.com
juicenet-udp-prod2-usa.enelx.com
juicenet-udp-prod3-usa.enelx.com
juicenet-udp-prod4-usa.enelx.com
It would be more elegant if I was able to use FW rules, but it does not appear the my Unifi router has the ability to create such a rule.
With regards to SRC, when I use the following docker-compose config, I get the error below. It appears that it is choking on the SRC IP:
  juicepassproxy:
    build: ./juicepassproxy
    hostname: juicepassproxy
    container_name: juicepassproxy
    restart: unless-stopped
    logging:
      driver: json-file
#     network_mode: host
    ports:
      - 8042:8042/udp
    networks:
      public:
    environment:
      - JUICEBOX_LOCAL_IP=<IP_ADDRESS>
      - SRC=<IP_ADDRESS>
      - MQTT_HOST=<IP_ADDRESS>
      - DEBUG=true
    volumes:
      - /etc/localtime:/etc/localtime:ro

If instead I use host network_mode, it works. Not ideal, but I'll live with it unless someone has any pointers?
  juicepassproxy:
    build: ./juicepassproxy
    hostname: juicepassproxy
    container_name: juicepassproxy
    restart: unless-stopped
    logging:
      driver: json-file
    network_mode: host
    environment:
      - JUICEBOX_LOCAL_IP=<IP_ADDRESS>
      - SRC=<IP_ADDRESS>
      - MQTT_HOST=<IP_ADDRESS>
      - DEBUG=true
    volumes:
      - /etc/localtime:/etc/localtime:ro

DEBUG OUTPUT:
juicepassproxy      | 11/09/23 12:00:37: SRC: <IP_ADDRESS>
juicepassproxy      | 11/09/23 12:00:37: DST: <IP_ADDRESS>
juicepassproxy      | 11/09/23 12:00:37: ENELX_SERVER: jbv1.emotorwerks.com
juicepassproxy      | 11/09/23 12:00:37: ENELX_PORT: 8042
juicepassproxy      | 11/09/23 12:00:37: MQTT_HOST: <IP_ADDRESS>
juicepassproxy      | 11/09/23 12:00:37: MQTT_PORT: 1883
juicepassproxy      | 11/09/23 12:00:37: MQTT_DISCOVERY_PREFIX: homeassistant
juicepassproxy      | 11/09/23 12:00:37: DEVICE_NAME: JuiceBox
juicepassproxy      | 11/09/23 12:00:37: DEBUG: true
juicepassproxy      | 11/09/23 12:00:37: COMMAND: python /juicepassproxy/juicepassproxy.py --src <IP_ADDRESS>:8042 --dst <IP_ADDRESS>:8042 --host <IP_ADDRESS> --port 1883 --discovery-prefix homeassistant --name JuiceBox --debug
juicepassproxy      | 2023-11-09 12:00:38,172 INFO       config_topic: homeassistant/sensor/JuiceBox/JuiceBox-Status/config
juicepassproxy      | 2023-11-09 12:00:38,172 INFO       state_topic: hmd/sensor/JuiceBox/JuiceBox-Status/state
juicepassproxy      | 2023-11-09 12:00:38,172 DEBUG      Creating mqtt client(None) for {mqtt_settings.host}:{mqtt_settings.port}
juicepassproxy      | 2023-11-09 12:00:38,172 DEBUG      Connecting to <IP_ADDRESS>:1883 without SSL
juicepassproxy      | 2023-11-09 12:00:38,176 INFO       config_topic: homeassistant/sensor/JuiceBox/JuiceBox-Current/config
juicepassproxy      | 2023-11-09 12:00:38,176 INFO       state_topic: hmd/sensor/JuiceBox/JuiceBox-Current/state
juicepassproxy      | 2023-11-09 12:00:38,176 DEBUG      Creating mqtt client(None) for {mqtt_settings.host}:{mqtt_settings.port}
juicepassproxy      | 2023-11-09 12:00:38,176 DEBUG      Connecting to <IP_ADDRESS>:1883 without SSL
juicepassproxy      | 2023-11-09 12:00:38,177 INFO       config_topic: homeassistant/sensor/JuiceBox/JuiceBox-Frequency/config
juicepassproxy      | 2023-11-09 12:00:38,177 INFO       state_topic: hmd/sensor/JuiceBox/JuiceBox-Frequency/state
juicepassproxy      | 2023-11-09 12:00:38,177 DEBUG      Creating mqtt client(None) for {mqtt_settings.host}:{mqtt_settings.port}
juicepassproxy      | 2023-11-09 12:00:38,177 DEBUG      Connecting to <IP_ADDRESS>:1883 without SSL
juicepassproxy      | 2023-11-09 12:00:38,178 INFO       config_topic: homeassistant/sensor/JuiceBox/JuiceBox-Power--Lifetime-/config
juicepassproxy      | 2023-11-09 12:00:38,179 INFO       state_topic: hmd/sensor/JuiceBox/JuiceBox-Power--Lifetime-/state
juicepassproxy      | 2023-11-09 12:00:38,179 DEBUG      Creating mqtt client(None) for {mqtt_settings.host}:{mqtt_settings.port}
juicepassproxy      | 2023-11-09 12:00:38,179 DEBUG      Connecting to <IP_ADDRESS>:1883 without SSL
juicepassproxy      | 2023-11-09 12:00:38,180 INFO       config_topic: homeassistant/sensor/JuiceBox/JuiceBox-Power--Session-/config
juicepassproxy      | 2023-11-09 12:00:38,180 INFO       state_topic: hmd/sensor/JuiceBox/JuiceBox-Power--Session-/state
juicepassproxy      | 2023-11-09 12:00:38,180 DEBUG      Creating mqtt client(None) for {mqtt_settings.host}:{mqtt_settings.port}
juicepassproxy      | 2023-11-09 12:00:38,180 DEBUG      Connecting to <IP_ADDRESS>:1883 without SSL
juicepassproxy      | 2023-11-09 12:00:38,182 INFO       config_topic: homeassistant/sensor/JuiceBox/JuiceBox-Temperature/config
juicepassproxy      | 2023-11-09 12:00:38,182 INFO       state_topic: hmd/sensor/JuiceBox/JuiceBox-Temperature/state
juicepassproxy      | 2023-11-09 12:00:38,182 DEBUG      Creating mqtt client(None) for {mqtt_settings.host}:{mqtt_settings.port}
juicepassproxy      | 2023-11-09 12:00:38,182 DEBUG      Connecting to <IP_ADDRESS>:1883 without SSL
juicepassproxy      | 2023-11-09 12:00:38,184 INFO       config_topic: homeassistant/sensor/JuiceBox/JuiceBox-Voltage/config
juicepassproxy      | 2023-11-09 12:00:38,184 INFO       state_topic: hmd/sensor/JuiceBox/JuiceBox-Voltage/state
juicepassproxy      | 2023-11-09 12:00:38,184 DEBUG      Creating mqtt client(None) for {mqtt_settings.host}:{mqtt_settings.port}
juicepassproxy      | 2023-11-09 12:00:38,184 DEBUG      Connecting to <IP_ADDRESS>:1883 without SSL
juicepassproxy      | 2023-11-09 12:00:38,185 DEBUG      Starting UDP proxy...
juicepassproxy      | 2023-11-09 12:00:38,185 DEBUG      Src: <IP_ADDRESS>:8042
juicepassproxy      | 2023-11-09 12:00:38,186 DEBUG      Dst: <IP_ADDRESS>:8042
juicepassproxy      | Traceback (most recent call last):
juicepassproxy      |   File "/juicepassproxy/juicepassproxy.py", line 221, in <module>
juicepassproxy      |     main()
juicepassproxy      |   File "/juicepassproxy/juicepassproxy.py", line 218, in main
juicepassproxy      |     pyproxy.udp_proxy(args.src, args.dst)
juicepassproxy      |   File "/juicepassproxy/pyproxy/pyproxy.py", line 43, in udp_proxy
juicepassproxy      |     proxy_socket.bind(ip_to_tuple(src))
juicepassproxy      | OSError: [Errno 99] Cannot assign requested address
juicepassproxy      | 2023-11-09 12:00:38,203 DEBUG      Shutting down MQTT client
juicepassproxy      | 2023-11-09 12:00:38,203 DEBUG      Shutting down MQTT client
juicepassproxy      | 2023-11-09 12:00:38,203 DEBUG      Shutting down MQTT client
juicepassproxy      | 2023-11-09 12:00:38,203 DEBUG      Shutting down MQTT client
juicepassproxy      | 2023-11-09 12:00:38,203 DEBUG      Shutting down MQTT client
juicepassproxy      | 2023-11-09 12:00:38,203 DEBUG      Shutting down MQTT client
juicepassproxy      | 2023-11-09 12:00:38,203 DEBUG      Shutting down MQTT client

juicenet-udp-prod1-usa.enelx.com do not exist ......
and  dont put SRC , let the container determine it , specially if you use bridge ..... the container will not have access to the IP you are entering as SRC.... ==> the error you get


Yocto Fetch fail from downloads.apache.org/couchdb/source/3.1.1/

I am using couchdb in my yocto image for Raspberry Pi 4.
I am using master branch "2db0d68f5335a6152f26c27a105fa8f84eb64311" revision number in the meta-erlang repository. And my preferred version in the local.conf file has been set below:
PREFERRED_VERSION_erlang = "22.3"
PREFERRED_VERSION_erlang-native = "22.3"

I started to get the fetch fail. Because we are fetching the version from the following link: https://downloads.apache.org/couchdb/source/3.1.1/apache-couchdb-3.1.1.tar.gz
Unfortunately, the 3.1.1 source has been removed. Therefore, I got the fetch failure. Could you please provide the 3.1.1 source again for the following link: https://downloads.apache.org/couchdb/source/3.1.1/apache-couchdb-3.1.1.tar.gz
Below is the error I got:
ERROR: couchdb-3.1.1-r0 do_fetch: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; unset _PYTHON_SYSCONFIGDATA_NAME; export PATH="build/tmp/sysroots-uninative/x86_64-linux/usr/bin:layers/poky/scripts:build/tmp/work/aarch64-poky-linux/couchdb/3.1.1-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux:build/tmp/work/aarch64-poky-linux/couchdb/3.1.1-r0/recipe-sysroot/usr/bin/crossscripts:build/tmp/work/aarch64-poky-linux/couchdb/3.1.1-r0/recipe-sysroot-native/usr/sbin:build/tmp/work/aarch64-poky-linux/couchdb/3.1.1-r0/recipe-sysroot-native/usr/bin:build/tmp/work/aarch64-poky-linux/couchdb/3.1.1-r0/recipe-sysroot-native/sbin:build/tmp/work/aarch64-poky-linux/couchdb/3.1.1-r0/recipe-sysroot-native/bin:layers/poky/bitbake/bin:build/tmp/hosttools"; export HOME="/var/jenkins_home"; /usr/bin/env wget -t 2 -T 30 --passive-ftp --no-check-certificate -P build/downloads 'https://downloads.apache.org/couchdb/source/3.1.1/apache-couchdb-3.1.1.tar.gz' --progress=dot -v failed with exit code 8, output:
--2021-12-13 11:50:05--  https://downloads.apache.org/couchdb/source/3.1.1/apache-couchdb-3.1.1.tar.gz
Resolving downloads.apache.org (downloads.apache.org)... <IP_ADDRESS>, <IP_ADDRESS>, 2a01:4f9:3a:2c57::2, ...
Connecting to downloads.apache.org (downloads.apache.org)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2021-12-13 11:50:05 ERROR 404: Not Found.

ERROR: couchdb-3.1.1-r0 do_fetch: Fetcher failure for URL: 'https://downloads.apache.org/couchdb/source/3.1.1/apache-couchdb-3.1.1.tar.gz'. Unable to fetch URL from any source.

Hello @gookcedemir thanks for the report.
So, I believe you are using dunfell branch. Could you check if this works to you: https://github.com/meta-erlang/meta-erlang/pull/141 it is a couchdb version update as the upstream couchdb has removed the 3.1.1 version from their downloads repository.
I think they did that because the version 3.1.2 fixes a security issue.
Is the version 3.1.2 a feasibly option ?

Thank you @joaohf,
Currently, I am using zeus and unfortunately even the recipe (meta-erlang/recipes-database/couchdb/couchdb_3.1.1.bb) has been removed. Could you please add 3.1.2 bb support to zeus as well.
Please also update the dunfell, following releases until honister (hardknott and gatesgarth) to 3.1.2 because all those are using 3.1.1. Therefore, all other branches will have fetching issue and only honister is currently supporting available source.

Alright, the meta-erlang zeus branch didn't have the couchdb. Now it has:
Adding couchdb for Zeus: https://github.com/meta-erlang/meta-erlang/pull/144
I didn't validate it yet. I'm planning to do soon.
Updates for other branches:
https://github.com/meta-erlang/meta-erlang/pull/143
https://github.com/meta-erlang/meta-erlang/pull/142
https://github.com/meta-erlang/meta-erlang/pull/141

Closing now, feel free to reopen if need.


Multiple task versioning

According to https://docs.microsoft.com/en-us/vsts/extend/develop/build-task-schema?view=vsts if you want multiple versions of the same task, you simply need to change the layout of your task.  I have been looking for examples of this within this repo but can't see any.
The powershell task has multiple versions, but looking at the task in this repo, it does not adhere to the format outlined in the link above.
Is the powershell task doing something special?  Is the information in the link above correct?

That's because tasks in this repo are no market place extensions.  Per the readme, they are in the box tasks.  They are ingested the same way tasks are uploaded via tfx-cli.
Ultimately, tasks "installed" in the build backend either via extensions (think of it as a vehicle / installer into backend) or directly via api / tfx-cli.  An extension carrying multiple versions is a vehicle to an append only backend.

This is a better question for vsts-task-lib


feat(preflights): add arp filtering related preflights

What this PR does / why we need it:
~Keeping the PR in draft mode as we try to create sysctl specifc preflights instead:~

https://github.com/replicatedhq/troubleshoot/issues/1674
https://github.com/replicatedhq/troubleshoot/issues/1675

Changes have been merged, I'll work on releasing troubleshoot and testing the spec.
Docs for reference - https://www.kernel.org/doc/html/latest/networking/ip-sysctl.html
Which issue(s) this PR fixes:
https://app.shortcut.com/replicated/story/114999/add-preflights-for-arp-filter-and-arp-ignore-kernel-parameters
Does this PR require a test?

Simple spec change, but run a test locally:
root@node0:/replicatedhq/embedded-cluster# output/bin/embedded-cluster install run-preflights --no-prompt --license local-dev/Joao.yaml
✔  Host files materialized!
✔  Host preflights succeeded!
Host preflights completed successfully
root@node0:/replicatedhq/embedded-cluster# sysctl net.ipv4.conf.default.arp_filter=1
net.ipv4.conf.default.arp_filter = 1
root@node0:/replicatedhq/embedded-cluster# sysctl net.ipv4.conf.default.arp_ignore=1
net.ipv4.conf.default.arp_ignore = 1
root@node0:/replicatedhq/embedded-cluster# sysctl net.ipv4.conf.all.arp_filter=1
net.ipv4.conf.all.arp_filter = 1
root@node0:/replicatedhq/embedded-cluster# sysctl net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_ignore = 1
root@node0:/replicatedhq/embedded-cluster# output/bin/embedded-cluster install run-preflights --no-prompt --license local-dev/Joao.yaml
✔  Host files materialized!
✗  4 host preflights failed

 •  ARP filtering is enabled by default for newly created interfaces on the host. Disable it by editing `/etc/sysctl.conf` and adding the line
    `net.ipv4.conf.default.arp_filter=0` followed by running `sudo sysctl -p`.
 •  ARP ignore is enabled by default for newly created interfaces on the host. Disable it by editing `/etc/sysctl.conf` and adding the line
    `net.ipv4.conf.default.arp_ignore=0` followed by running `sudo sysctl -p`.
 •  ARP filtering is enabled for all interfaces on the host. Disable it by editing `/etc/sysctl.conf` and adding the line
    `net.ipv4.conf.all.arp_filter=0` followed by running `sudo sysctl -p`.
 •  ARP ignore is enabled for all interfaces on the host. Disable it by editing `/etc/sysctl.conf` and adding the line
    `net.ipv4.conf.all.arp_ignore=0` followed by running `sudo sysctl -p`.

Please address these issues and try again.

Does this PR require a release note?

Adds preflight checks for the `arp_ignore` and `arp_filter` kernel parameters

Does this PR require documentation?
NONE

@ricardomaraschini we're keeping this on pause while we look into:

https://github.com/replicatedhq/troubleshoot/issues/1674
https://github.com/replicatedhq/troubleshoot/issues/1675

But yeah, if we end up going with this PR we should use the collector you introduced.

@ricardomaraschini we're keeping this on pause while we look into:

Create a sysctl host collector troubleshoot#1674
Create a sysctl host analyzer troubleshoot#1675

But yeah, if we end up going with this PR we should use the collector you introduced.

Oh, nice. In the end we would migrate this (and mine) to use the new collector and analyzer. Thanks.

@ajp-io I've updated the spec, feel free to 👀 the preflight text and push any changes that you deem worth. I'll work on updating troubleshoot and test the spec next week.

@ajp-io addressed your review and have run this locally:
root@node0:/replicatedhq/embedded-cluster# output/bin/embedded-cluster install run-preflights --no-prompt --license local-dev/Joao.yaml
✔  Host files materialized!
✔  Host preflights succeeded!
Host preflights completed successfully
root@node0:/replicatedhq/embedded-cluster# sysctl net.ipv4.conf.default.arp_filter=1
net.ipv4.conf.default.arp_filter = 1
root@node0:/replicatedhq/embedded-cluster# sysctl net.ipv4.conf.default.arp_ignore=1
net.ipv4.conf.default.arp_ignore = 1
root@node0:/replicatedhq/embedded-cluster# sysctl net.ipv4.conf.all.arp_filter=1
net.ipv4.conf.all.arp_filter = 1
root@node0:/replicatedhq/embedded-cluster# sysctl net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_ignore = 1
root@node0:/replicatedhq/embedded-cluster# output/bin/embedded-cluster install run-preflights --no-prompt --license local-dev/Joao.yaml
✔  Host files materialized!
✗  4 host preflights failed

 •  ARP filtering is enabled by default for newly created interfaces on the host. Disable it by editing `/etc/sysctl.conf` and adding the line
    `net.ipv4.conf.default.arp_filter=0` followed by running `sudo sysctl -p`.
 •  ARP ignore is enabled by default for newly created interfaces on the host. Disable it by editing `/etc/sysctl.conf` and adding the line
    `net.ipv4.conf.default.arp_ignore=0` followed by running `sudo sysctl -p`.
 •  ARP filtering is enabled for all interfaces on the host. Disable it by editing `/etc/sysctl.conf` and adding the line
    `net.ipv4.conf.all.arp_filter=0` followed by running `sudo sysctl -p`.
 •  ARP ignore is enabled for all interfaces on the host. Disable it by editing `/etc/sysctl.conf` and adding the line
    `net.ipv4.conf.all.arp_ignore=0` followed by running `sudo sysctl -p`.

Please address these issues and try again.

I left a comment on an outdated comment, which means you might not see it. Here it is https://github.com/replicatedhq/embedded-cluster/pull/1454#discussion_r1838652695

@ajp-io addressed via https://github.com/replicatedhq/embedded-cluster/pull/1454/commits/37354815ccc7786fe9c34fa11c1c5652bb0010d0

lgth, though I don't know if you need an engineer's review too


[T4A7][W11-B3]Wong Kang Fei

ready for review

@kfwong it seems like you have a good grasp of TDD :+1:  keep up the good work
Some comments added. Please ack & close the PR after reading comments.


Autofocus issue on Firefox

Using the autofocus tag for text fields on Firefox does render properly. The placeholder text overlays with the actual text.

Textbox code

I have the same issue on Firefox. It works on chrome

Still having this issue with latest Firefox release (43.0.4).
No problems in Chrome.

@StewartSG will try and take a look

duplicate of #1762


Migrate html webpack plugin to 2.8.1

i also took the liberty of fixing some smaller imperfections

thanks for the feedback, @gdi2290! i changed the files accordingly.


Changing of view title to generic names

Views are currently named XY, XZ etc, maybe remaining it to something generic like Top, Bottom and side view will be helpful for remembering purpose.

I've started this by adding Top, Side, Front to the side views already. However we might want to consider changing it everywhere... There is a task for this already here: https://github.com/simlu/voxelshop/issues/25
So I'm closing this as duplicate. Please continue discussion there!


fix typo to enable garbd start on boot

change garbd start from "enabled=on" to "enabled=yes"

:+1: Merge if tests pass (which I see no earthly reason why they wouldn't)


Add menu option for key bindings

Closes #302
Add an entry in the main LSP menu for key bindings.

Many thanks!


Suppressed rules are still syntax highlighted

Extracted from #77:

Suppressed rules still gets highlighted:

It looks like intentional behavior from SARIF extension but I need to dig deeper. I think we can push this PR and then fixed mentioned issue separately.

IMHO, since those are suppressed, highlighting them will only cause additional distraction. I would change it. Also maybe the violation could be striked-through so we have consistent UI with Cloud.

May be worth looking how SARIF does this for it's own "Mark as fixed" mechanism. There highlighting is removed and rule is crossed-out in the panel.


PageRootProvider should support factory configurations and different implementations

currently, there is a service interface PageRootProvider with a single implementation com.adobe.acs.commons.wcm.impl.PageRootProviderImpl. the latter has a singleton configuration for setting a list of regex patterns for detecting the page root.
this is too inflexible if multiple applications from different providers are deployed to a single AEM instance. each application may have a different pattern for detecting the root path, and for each application a distinct set of configurations may be deployed because they are maintained by different teams. using factory configurations solves this problem, so each application can have it's own set of regex patterns configured.
additionally this would allow alternative implementations for detecting the page root path. in wcm.io for example the page root path is detected by using the "inner-most" Sling Context-Aware Configuration root path, so there is not need to declare this twice.
my proposal would be something like this:

create a new interface like RootPathStrategy which is not intended to be used by applications directly, but only to provide different strategies to the RootPathProvider. it has only one method for mapping Resource to root path (String)
a default implementation exists like the current implementation of PageRootProviderImpl which allows configuration via a list of regex strings. but this can be configured multiple times by osgi factory configurations.
if multiple implementations of RootPathStrategy exist the first wins in service ranking order that has a non-null answer for given resource
for backward compatibility the PID com.adobe.acs.commons.wcm.impl.PageRootProviderImpl should still be supported for providing the regex configurations

/cc @HitmanInWis thoughts?

Seems like a great idea.  Would be happy to review a PR if someone wants to put one together.  Otherwise, its possible we might be able to do something like this at the next HS2 Solutions hackathon in a couple months.

Hi all.
I wasn't aware of this thread. Thanks, @stefanseifert to brought it to my attention.
I believe #1087 will only fullfill the 2nd and 4rd requirements:

a default implementation exists like the current implementation of PageRootProviderImpl which allows configuration via a list of regex strings. but this can be configured multiple times by osgi factory configurations.
for backward compatibility the PID com.adobe.acs.commons.wcm.impl.PageRootProviderImpl should still be supported for providing the regex configurations

Best regards,
Daniel.

Seems like #1087 is a good start on this, and once that is pulled in this issue can remain to add support for different "strategies" (other than path regex) if that is still desired.

@stefanseifert, what are your thoughts about the changes made by PR 1088 and PR 1089? Are they good enough?
@HitmanInWis , I apologize for my newbie question, but how do I apply a label to [1087]? Do I need to request a special permission for that?
Thanks!

the PRs are a step in the right directy, but i still would prefer to introduce an interface like described in my initial post to allow different implementations than only regex.
i'm thinking for example about implementations that detects root path by getting configuration context paths from Sling Context-Aware Configuration, or by detecting the root by finding a page with a certain AEM template.

I agree with @stefanseifert that his suggestion would be a further improvement, but I think that PR 1088 and PR 1089 stand on their own as a useful feature and thus can move forward as-is unless someone wants to make further modifications to those PRs.  The remaining functinoality (different implementations than regex) can still be added as a new feature later.
As for "apply a label to 1087" I'm not sure - probably more a question for justinedelson or davidjgonzalez but 1087 should probably remain open if PRs 1088 and 1089 go without the extra functionality requested by stefanseifert.

Thanks for your answers, @stefanseifert and @HitmanInWis!
stefanseifert, because I always prefer small and incremental changes in development and my primary goal with PR 1088 and 1089 was to reuse PageRootProvider in our client's multisites/apps, I would agree with HitmanInWis, treat them independently of 1087 and keep this opened for the remaining changes.
Does it make sense for you?

this is fine from my side - we only should try to avoid introducing new configuration we need to deprecate later like {{com.adobe.acs.commons.wcm.impl.PageRootProviderImpl}}. but if we find a new name for the interface if it is introduced later we can keep your factory configuration class.

Agreed!
I had only "deprecated" PageRootProviderImpl to warn users about the new config behavior (single config vs multiple/factory config), while preserving backward compatibility.


Added type class to support zipping a Coproduct with a constant ('zipConst' method)

Current coverage is 73.93% (diff: 75.00%)

Merging #628 into master will decrease coverage by 0.33%

@@             master       #628   diff @@
==========================================
  Files            68         68
  Lines          3556       3579    +23
  Methods        2899       2894     -5
  Messages          0          0
  Branches        131        137     +6
==========================================
+ Hits           2641       2646     +5
- Misses          915        933    +18
  Partials          0          0

Powered by Codecov. Last update a275828...c3a6c32

This is great stuff! Thanks :-)
For consistency with the existing zipConst on HList would you mind swapping the order of the resulting pairs, ie. to (<coproduct element type>, <type of constant>).

Thanks Miles - these are my first pull requests, and I appreciate your patience and advice.

LGTM ... many thanks! Merging ... :-)


gcloud beta emulators pubsub start fails with concurrently

Description
A program fails when I run it with concurrently.
$ concurrently "gcloud beta emulators pubsub start"

My stack trace:
[0] Executing: /Users/jean/.local/google-cloud-sdk/platform/pubsub-emulator/bin/cloud-pubsub-emulator --host=::1 --port=8598
[0] [pubsub] This is the Google Pub/Sub fake.
[0] [pubsub] Implementation may be incomplete or differ from the real system.
[0] [pubsub] déc. 13, 2024 11:02:01 AM com.google.cloud.pubsub.testing.v1.Main main
[0] [pubsub] INFOS: IAM integration is disabled. IAM policy methods and ACL checks are not supported
[0] [pubsub] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
[0] [pubsub] SLF4J: Defaulting to no-operation (NOP) logger implementation
[0] [pubsub] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[0] [pubsub] Exception in thread "main" java.io.IOException: Failed to bind to address /0:0:0:0:0:0:0:1:0
[0] [pubsub]    at io.grpc.netty.NettyServer.start(NettyServer.java:333)
[0] [pubsub]    at io.grpc.internal.ServerImpl.start(ServerImpl.java:185)
[0] [pubsub]    at io.grpc.internal.ServerImpl.start(ServerImpl.java:94)
[0] [pubsub]    at io.gapi.emulators.grpc.GrpcServer.start(GrpcServer.java:169)
[0] [pubsub]    at com.google.cloud.pubsub.testing.v1.Main.main(Main.java:223)
[0] [pubsub] Caused by: java.net.SocketException: Protocol family unavailable
[0] [pubsub]    at sun.nio.ch.Net.bind0(Native Method)
[0] [pubsub]    at sun.nio.ch.Net.bind(Net.java:438)
[0] [pubsub]    at sun.nio.ch.Net.bind(Net.java:430)
[0] [pubsub]    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:225)
[0] [pubsub]    at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:141)
[0] [pubsub]    at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:561)
[0] [pubsub]    at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1281)
[0] [pubsub]    at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:600)
[0] [pubsub]    at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:579)
[0] [pubsub]    at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:922)
[0] [pubsub]    at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:259)
[0] [pubsub]    at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:380)
[0] [pubsub]    at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
[0] [pubsub]    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
[0] [pubsub]    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
[0] [pubsub]    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
[0] [pubsub]    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
[0] [pubsub]    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
[0] [pubsub]    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[0] [pubsub]    at java.lang.Thread.run(Thread.java:750)

Expected Behavior
I expect this program to not fail, I can run it on my machine with no problem.
$ gcloud beta emulators pubsub start
Executing: /Users/jean/.local/google-cloud-sdk/platform/pubsub-emulator/bin/cloud-pubsub-emulator --host=::1 --port=8647
[pubsub] This is the Google Pub/Sub fake.
[pubsub] Implementation may be incomplete or differ from the real system.
[pubsub] déc. 13, 2024 11:02:31 AM com.google.cloud.pubsub.testing.v1.Main main
[pubsub] INFOS: IAM integration is disabled. IAM policy methods and ACL checks are not supported
[pubsub] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
[pubsub] SLF4J: Defaulting to no-operation (NOP) logger implementation
[pubsub] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[pubsub] déc. 13, 2024 11:02:31 AM com.google.cloud.pubsub.testing.v1.Main main
[pubsub] INFOS: Server started, listening on 8647

Environment
MacOS Sonoma, Node v22.8.0, concurrently v9.1.0
Reproduction
First, install gcloud cli.
Then:
$ gcloud components install pubsub-emulator
$ concurrently "gcloud beta emulators pubsub start"

Hey.
I wasn't able to reproduce this, but I'm on Sequoia, instead of Sonoma. Tried both on Node 20 and 22.
Is there a chance that we're on different versions of gcloud, and there was a bug?
$ gcloud --version
Google Cloud SDK 504.0.1
beta 2024.12.19
bq 2.1.11
core 2024.12.19
gcloud-crc32c 1.0.0
gsutil 5.33
pubsub-emulator 0.8.17

That said, the fact that you're seeing a network issue is concerning, there aren't any network calls or env variables within concurrently that could have an effect like that.
Are you able to reproduce it consistently?

I wasn't able to reproduce this issue !
I don't know what happened...


[Models and sounds only]Toei 10-300 Series (10-650F)

I don't know how to assemble this train, so only the BB model and sound.
Also, do not delete the text file with the credits in the sound file.
When assembling, please make it the following length.

5 Doors (Long)
4 Doors (Normal)
2 Doors (Mini)

Note that 3 doors and 1 door are not required for creation.
Note: Straps are not installed to prevent LAG.

Currently, logo marking issues can cause it to look different than the screenshot.

I can make a resource pack of this...

I wanted to do it for preview, but for some reason I can't. And since it also uses sound in the first place, it cannot be reproduced with a resource pack.

hmm the only thing is I'm not sure the Tokyo trains are being added to the mod, I think it was just mtr, nyc subway and under londonground

I modeled it based on K-Train, so I think I can use the same method as when I created Small, but even if I open the java file, I don't know how to assemble it at all.

I think this would be best to be made into a resource pack, as we can't possibly fit all trains around the world into the main mod.


PyJPClassHints API

So one of our long standing (and actually asked for) feature requests is the ability to control the type conversion process.
This thread will cover the plans for and design behind the new type conversion system.

Background
The JPype type conversion system works by matching the types of arguments during method resolution at the C++ layer.  Each Java class has a C++ instance which performs the type checks using canConvertToJava and convertToJava.  Resolution is a two pass process in which each method in the dispatch is checked using canConvertToJava and then if a successful match is found we the call convertToJava to get the result and invoke the call.
Type conversion is done using the following "typeinfo" classes

JPClass - this is a generic conversion for all object instances (and the root of the tree corresponding to all java.lang.Class instances)
JPCharType, JPBooleanType, JPByteType, JPShortType, JPIntType, JPLongType, JPFloatType, JPDoubleType - this are the type conversions for primitives in which each impose special rules so that primitives and boxed types convert properly.
JPArrayClass - this is a specialization that handles the differences between objects and arrays.
JPObjectType - a special typeinfo for java.lang.Object that acts to box primitives and arrays so they fit in generic containers.
JPClassType - a special typeinfo for "java.lang.Class" instances that acts to take Python class wrappers and unpack them when needed.

Each C++ typeinfo implements a list of rules starting from the most specific match to the least with a special check for None (used to match null) at the start. Most conversions are implicit with the exception of casting operations which will produce exact.  There cannot be more than one exact or the type resolution will be unstable.  Once an exact match is found in method resolution, the process of resolving ambiguity terminates and thus no further checks for ambiguity occur.
Currently all customization of this process is done through the customizers.  The customizers can manually change the wrapper of a Java method to accept a new set of arguments (such as sequence matches a list) or can mess with the return type (rarely/never used).    It can also add a Python duck typing which allows for a Java class to be treated as a Python class for the purposes of everything that respects some duck typing API.
What this does not do is allow for all Java methods that take some Java class to accept a Python type concept (specific, inherited, or duck) for the purposes of resolution.  That means that the user can customize some class method to make it more functional, but if there are 20 places either the developer would have to customize all classes which is a pain, or force the user to cast all of them. (see #291)
This presents a problem there are many concepts shared between Java and Python (timedate and file pathes) that are used frequently in Java interfaces.  It is impractical to wrap all of the with a class customizer.  Thus we need a new solution.

Type conversion API
Of course one solution is to extend our current concept of C++ typeinfo structures for each of the concepts we want to use.  This would mean more and more code swept into the C++ layer making an already oversized piece (since this project is about Java/Python) larger.   Pushing the resolution to Java is not really doable as calling Python from Java is too many steps removed.  Thus the only remaining path is to try to push a portion to Python.
The solution needs to be an api that allows for Python code to be called as part of the method binding process that replicates the canConvertToJava and convertToJava.  This is a fairly critical path in terms of speed, thus it can't be a pure call Python executing arbitrary code for an undefined-purpose and come back API.  Instead it should be something were most of the structure is well defined.  Further, we want to minimize the total numbers of trip.  The current API were we go once to try to see if we can convert and a second time to get the actual conversion would just be too burdensome.
Instead we want a one trip API, in which the canConvert just consults a table which the user can add entries into for each of the potential conversion types and then the user defines a short convertToJava  routine.  This routine is only called once if the method is resolved and thus we only pay the conversion cost once when the method is about to be invoked.   As we noted earlier exact is a reserved concept and explicit is not used in method resolution, that means the type of the conversion defined by a user is always implicit.
As with all API additions I prefer it to be as Pythonic as possible so that it is obvious and unobtrusive.  For similar APIs such as Proxy and Customizer we have been using decorators.  This concept would fall pretty naturally into that concept.  Thus we just need to figure out what it is we are trying to confer to the system.
We need to define a few things.

What Java type this conversion (or by inheritance) will apply to.
What condition will be used to trigger the conversion call (specific type, inherited type, or duck type)
How to actually perform the conversion.

Using decorators that would translate to something like
@JTypeConversion("java.nio.file.Path", attr="__fspath__")
def JPathConversion(obj):
     return JClass("java.nio.file.Paths").get(obj.__fspath__)

This covers all the bases.  We specify that all places in the Java API that take a java.nio.file.Path will look to the attribute __fspath__ and if they find it they will call the conversion between paths.  (Okay there needs to be a bit more here to check that deal with relative paths, etc).  Seems pretty simple.

WARNING: During the above example you can see that we called Java code which may itself call more java methods etc, thus we can end up with the user potentially triggering an infinite recursion.  We have a second issue which is more challenging.  When we return to the Python code we don't know if Python is going to steal away control with another thread.  This often leads to really hard bugs to track down.  Thus, the safest thing we can do is make this Python code special.  Before calling it we need to grab a thread lock and disable further user type conversion for the duration.   It is not clear how well this will play with multithreaded code so there will need to be a lot of testing.

Implementation
So like customizers we need a global registery of user defined code which will be assigned to the class when it is created (or added to the class later).  This needs O(1) look up from the class prospective.   The conversions will be independent of the JVM and also must be installable prior to the JVM starting.
To meet all these needs we will have to create a new PyJPClassHints class type in _jpype private module.  It will hold a C++ list for each attribute type (duck), or inheritable type conversion (isinstance) with a Python pointer back to conversion routine.  It will have methods to add a new conversion to the type hints.  When the class is installed it will consult the registery and copy the hints into the class  (allocating them if they do not exist).  Whenever a new conversion is declared it will be placed in the type hints registry where it will end up bound to the class either when it is created or post.
There are still a bunch of details that have to be worked through but work is calling and thus I open the floor to the crickets for comments.


SQL: update xdsl to v0.7.4

This PR updates xdsl to v0.7.0. This contains a renaming for module to builtin.module and a new way of printing and parsing structs. I need some newer features in order to represent Float values in the IR, which is needed for one of the TPC-H queries.

Making this a draft until the newest xdsl version is released properly.

@ingomueller-net this is ready now (xdsl v 0.7.4 is now properly released). Wanna give it another view? The main breaking changes we have is the change in how structs are printed as well as the renaming of modules to builtin.module.


Test other RNGs

It would be good to test how other RNGs works with the APIs.

[ ] AMDGPU.rocrand_rng()
[ ] AMDGPU.gpuarrays_rng()
[ ] Metal.gpuarrays_rng()
[ ] oneAPI.gpuarrays_rng()

We should revisit this now. LuxDeviceUtils now exports a default_device_rng(...), so I would expect all the initializers to work with that.


Carthage support broken

Summary
Adding the lib using Carthage is not working.
Steps to Reproduce
Add the lib to the Cartfile:
github "weichsel/ZIPFoundation" "0.9.12"
Run:
carthage update --cache-builds --no-use-binaries --platform ios
Expected Results
Carthage to fetch the lib
Actual Results
*** Fetching ZIPFoundation
A shell task (/usr/bin/env git fetch --prune --quiet https://github.com/weichsel/ZIPFoundation.git refs/tags/:refs/tags/ +refs/heads/:refs/heads/ (launched in ~/Library/Caches/org.carthage.CarthageKit/dependencies/ZIPFoundation)) failed with exit code 1
Regression & Version
Used since version 0.9.12
Related Link

Most likely related to:
https://github.com/weichsel/ZIPFoundation/issues/253
Should be fixed now - let me know if you still have problems with Carthage integration.

We only support source integration via Carthage as described in the README.
To get the project into your workspace, please refer to https://stackoverflow.com/a/55612781/100848.

@weichsel I’m using it as described on the Readme, I added it more than year w/o issues but since the last update it broke Carthage. Did you test it?

I tested integration via the --no-build option (as described in the README). This works.
Maybe the problem in #253 is causing hash validation issues in your cached checkout. Please wipe the cache and re-integrate via --no-build.

@weichsel thanks, I removed the Carthage cache w/
rm -rf ~/Library/Caches/org.carthage.CarthageKit
and now it works.


feat: Enable connection invites using shortened urls

Summary of Changes
This change enables connections using a url shortener request (see https://github.com/hyperledger/aries-rfcs/tree/main/features/0434-outofband#url-shortening).
To receive invites using a url shortener, I changed the call agent?.oob.parseInvitation(uri) to agent?.oob.parseInvitationShortUrl(uri). They are basically the same, but the second one also has support to short urls.
Related Issues
N/A
Pull Request Checklist
Tick all boxes below to demonstrate that you have completed the respective task. If the item does not apply to your this PR check it anyway to make it apparent that there's nothing to do.

[X] All commits contain a DCO Signed-off-by line (we use the DCO GitHub app to enforce this);
[X] Updated LICENSE-3RD-PARTY.md for any added dependencies or vendored components;
[X] Updated documentation as needed for changed code and new or modified features;
[X] Added sufficient tests so that overall code coverage is not reduced.

If you have any questions to any of the points above, just submit and ask! This checklist is here to help you, not to deter you from contributing!
Pro Tip 🤓

Read our contribution guide at least once; it will save you a few review cycles!
Your PR will likely not be reviewed until all the above boxes are checked and all automated tests have passed.

PR template adapted from the Python attrs project.

Can you help me understand why we need to have an allow list of short URL domains? or am I misunderstanding it? I am wondering if there is another way to identify based on c_i/d_m parameters or some other way.

Can you help me understand why we need to have an allow list of short URL domains? or am I misunderstanding it? I am wondering if there is another way to identify based on c_i/d_m parameters or some other way.

The "url list" was a way I thought to know which ones are redirects and which are short urls. My idea was to, knowing the address I hosted my url shortener, I could tell the application to receive an invite instead of a redirect.
Looking into the code of aries-framework-javascript, on the parseInvitation.ts file, I noted that it checks if its out-of-band (oob) or an connection invitation (c_i, d_m), otherwise it considers an oob invitation from short url. Since the bifold checks if it is an redirect, I can't see other way to check short urls.
Is there any way to improve this solution? I'm out of ideas right now.

@thiagoromanos Roughly paraphrasing @amanji here but he remarked that as per the OOB spec,  if a URL does not have the c_i or _d_m` query params then its a redirect. It looks like AFJ distinguishes between redirects and short URLs. @amanji thoughts on what to do? Opportunity to cleanup some code?
/**
 * Parses URL containing encoded invitation and returns invitation message. Compatible with
 * parsing short Urls
 *
 * @param invitationUrl URL containing encoded invitation
 *
 * @param dependencies Agent dependicies containing fetch
 *
 * @returns OutOfBandInvitation
 */
export const parseInvitationShortUrl = async (
  invitationUrl: string,
  dependencies: AgentDependencies
): Promise<OutOfBandInvitation> => {
  const parsedUrl = parseUrl(invitationUrl).query
  if (parsedUrl['oob']) {
    const outOfBandInvitation = OutOfBandInvitation.fromUrl(invitationUrl)
    return outOfBandInvitation
  } else if (parsedUrl['c_i'] || parsedUrl['d_m']) {
    const invitation = ConnectionInvitationMessage.fromUrl(invitationUrl)
    return convertToNewInvitation(invitation)
  } else {
    try {
      return oobInvitationFromShortUrl(await fetchShortUrl(invitationUrl, dependencies))
    } catch (error) {
      throw new AriesFrameworkError(
        'InvitationUrl is invalid. It needs to contain one, and only one, of the following parameters: `oob`, `c_i` or `d_m`, or be valid shortened URL'
      )
    }
  }
}

@jleach and @cvarjao, I updated the PR with an update that might be better than my previous solution. Knowing that parseInvitationShortUrl will check for connection invites in the GET parameter of the url (c_i, d_m or oob) or shortened urls invites, and if it isn't one of those it throws an error, I used the catch block from handleInvitation to handle redirects. If this also fails, then a BifoldError is thrown.


Add run later option

Add option to run tests at a defined time e.g. in the middle of the night when the agents might be quieter

You can do this by adding a trigger to the submitTests() function


FAB like hangouts app

Hi !!! I would like to have hangout app like FAB and with support for API 8 as well
Can you provide solution or guide me in right direction
Thanks

Fork it and rewrite the code to make it work on API 8.


Native error codes not reaching Java

It is quite possible for AAudio_openStream(), AAudioStream_requestStart() and other AAudio functions to return an error code. These codes should be passed all the way up to the Java code so that the user can be alerted.

This sample has been deprecated/archived (check README for more information on newer samples related to this technology).
As recommended by GitHub, we are closing all issues and pull requests.


Release on Pypi and automate release notes

After the major bugs are fixed, we should probably tag a version 0.1 and release it on pypi so users can easily install it. Also, try to automate the changelog/release notes creation with something like this:
https://github.com/marketplace/actions/release-drafter

Release notes are automated as of #59 and release is generated in github if we follow the commit guidelines.
Now we just need to setup the PyPi release


[ServiceBus] Run black to format the code

addressing issue: https://github.com/azure/azure-sdk-for-python/issues/14512

/azp run python - servicebus - tests

/azp run python - servicebus - tests

/azp run python - servicebus - tests


How to configure log expiration time to avoid unlimited data growth

How to configure log expiration time to avoid unlimited data growth

This is a duplicate of #592
You can do this by setting an environment variable EX_MaximumRetentionDays to 7.
https://github.com/exceptionless/Exceptionless/blob/master/src/Exceptionless.Core/Configuration/AppOptions.cs#L53
Would you mind adding a section for this to the self hosting wiki page?


Perform scrolling prior to Visit completion

Closes https://github.com/hotwired/turbo/issues/400
When processing a Visit, invoke Visit.performScroll() while loading
a response, loading a Snapshot, or executing a same-page anchor
navigation. After in-lining those calls to more appropriate points in
the Visit lifecycle, this commit removes the performScroll() call from
the Visit.render() method.

This is a draft in an attempt to resolve the issues causing https://github.com/hotwired/turbo/issues/400. If these changes fix the issue, I'll create a browser test and upgrade this to Ready for Review.

@srt32 If this change is deemed viable, I'd appreciate if you could double-check to make sure it doesn't undo the fix you shipped in https://github.com/hotwired/turbo/pull/571.

@srt32 since this follows-up the changes you made in https://github.com/hotwired/turbo/pull/571, would you be able to double-check that it doesn't reverse the behavior fixes or introduce new quirks?

This is awesome!
We tested this branch and it fixes all problems we have in our chat app, where we need to scroll to the bottom after Turbo visit😇


Add stack area insert, update stack functions to use Entity

About the PR

Adds the ability to gather stacks by clicking in an area, so you no longer have to spam-click a bunch of individual stack items to gather them
Why / Balance

There are some interactions that cause a lot of small single-stack items to spawn and makes gathering the items require a lot of spam clicking or a lot of extremely precise clicking to gather them. This makes it a bit easier to gather a stack of items.
Technical details

SharedStackSystem and StackComponent had file-scoped namespaces, fixed that
SharedStackSystem functions were updated to use Entity<T> for the most part rather than EntityUid uid, Component comp
References of functions were updated to use the Entity<T> format
OnAfterInteract and OnDoafter added to SharedStackSystem
OnAfterInteract will look for entities around the area you click that have the StackComponent, gather a list that matches the StackTypeId as the item in your hand, and then a do-after will occur based on the amount of items gathered

Media

https://github.com/user-attachments/assets/5f246c9b-6f58-480e-b6e2-72fea4ec7649
Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

SharedStackSystem functions have been updated to use the Entity<T> pattern rather than EntityUid, Comp?.
Changelog

:cl:

add: You can now click to gather stacks of items.

what if i want to place wires bot got it stacked instead?

click again?

The only problem I ran into was with the CraftingTests and the _vvm.GetTypeHandler<StackComponent>().AddPath(nameof(StackComponent.Count), (_, comp) => comp.Count, SetCount); line expecting SetCount to have a signature of (EntityUid, int, StackComponent?) instead of (Entity<StackComponent>, int)
I'm not quite sure how to... make the VVM thing accept Entity<T>? or how I should get rid of it? Since it seems like we don't use _vvm.GetTypeHandler in many other places in the codebase
I solved it by commenting out the lines in the CraftingTests that would throw errors, but like, obviously not the desirable thing to do. So any recommendations on how to solve this would be great.

Still waiting on someone to hopefully give me advice on how to solve this, pretty great QoL feature


Editor listed as an author from ORCID

When an editor is included in the list of people on ORCID it is added to the list of authors in the impact story JSON.
For example, from ORCID (note author and editor fields):
@article{Wilson_2016,doi = {10.1371/journal.pbio.1002415},url = {http://dx.doi.org/10.1371/journal.pbio.1002415},year = 2016,month = {mar},publisher = {Public Library of Science ({PLoS})},volume = {14},number = {3},pages = {e1002415},author = {Adam M. Wilson and Walter Jetz},editor = {Michel Loreau},title = {Remotely Sensed High-Resolution Global Cloud Dynamics for Predicting Ecosystem and Biodiversity Distributions},journal = {{PLOS} Biology}}
And in impact story JSON (note authors fields):
{             "_title": "Remotely Sensed High-Resolution Global Cloud Dynamics for Predicting Ecosystem and Biodiversity Distributions",              "altmetric_id": "6410740",              "altmetric_score": 362.858,              "authors": "Adam M. Wilson, Walter Jetz, Michel Loreau",              "doi": "10.1371/journal.pbio.1002415",              "events_last_week_count": 9,  ...
In my opinion, editors should not be included in the list of authors (unless it is a book, perhaps?).

Yup, great spot.  Will add it to list to fix, and let you know when fixed.  Thanks for telling us, and for the specific example!


Ability to get model metadata

Added new API: getModelMetadata()

What do we have here..

@flatsiedatsie This is mostly for debugging. Another way to get metadata is by using @huggingface/gguf

super useful, thank you


See Also - Bad Link

Dead link in See also
https://docs.microsoft.com/en-us/power-platform/admin/system-settings-dialog-box-service-tab#see-also

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d0443c09-1c18-dccb-5922-c8836f8abeef
Version Independent ID: 658e5c37-517a-69a4-5d28-d7d5ae214d30
Content: System Settings Service tab - Power Platform
Content Source: power-platform/admin/system-settings-dialog-box-service-tab.md
Service: power-platform
Sub-service: admin
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@gmykon
Thanks for bringing this to our attention. The link has been updated.


🔥  remove bg shell from Gruntfile

WIP!
refs TryGhost/Ghost#7427

both Ghost and Ghost-Admin ran the watch command in background, that didn't work
the caller can decide if running the watch command in bg or not
furthermore, the caller can decide if printing stdout/stderr of the background process

see https://github.com/TryGhost/Ghost/pull/8158

Coverage remained the same at 72.653% when pulling f4005f24f194b51cef1f71bd44045deb3b4d148c on kirrg001:1.0.0-dev/remove-bg-shell into 8c800ef504bb185a3f083d8df4ef1d5eb41771d1 on TryGhost:master.

Rebased 👍

Coverage remained the same at 72.653% when pulling 93d1e8bd324cb3d9d85ebe7a712183dae0600852 on kirrg001:1.0.0-dev/remove-bg-shell into e01adb2fa37d2494879c23ee8ad17b63d2d375a5 on TryGhost:master.


Only build the target architecture for OpenSearch Dashboards.

Signed-off-by: dblock<EMAIL_ADDRESS>Description
Use https://github.com/opensearch-project/OpenSearch-Dashboards/pull/795 to only build the target arch for OpenSearch dashboards.
This doesn't work on 1.1 because that PR wasn't backported to 1.1. We have several options:

Backport https://github.com/opensearch-project/OpenSearch-Dashboards/pull/795 to 1.1.
Commit the old build.sh into OpenSearch-Dashboards#1.1, and the new build.sh that comes in this PR into OpenSearch-Dashboards#main. This is ultimately where those scripts need to end up going.
Stop trying to build OpenSearch Dashboards 1.1, move the manifest to 1.2 as part of this PR, and use main. This means we won't be able to build a patch version for 1.1 without backporting 795.
Do an if in the default script based on the version being built (gross).

@kavilla what would you prefer?
Issues Resolved
Closes https://github.com/opensearch-project/opensearch-build/issues/592.
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

So much quicker! Thanks for this!
Ultimately I believe 1 is the best option (and probably should have been done already).

Probably will be difficult to test build bundles because I'm not positive if all plugins incremented.
I agree is rough.
I'm not clear what that looks like.


Improve BFS directory search algo

The algorithm is currently doing a BFS with cwd as the root node.
If the user is a few level deeper away from root directory of the microservice-suite then it never traverses the parent directories
#New implementation.
To check
if path.split(/).includes('node-microservice-suite'):
    cd path.split(/).slice[:path.split(/).findIndex(nms)]/microservices/<service-name>

This has been done.


question IE support

why IE 11 is not supported?
It has to do with SVG support I guess, but IE 11 does have SVG support. Is there a specific SVG feature which is not supported?

See http://stackoverflow.com/questions/27494296/svg-not-showing-in-ie11

No idea .. I'm on a Mac so I never tested on IE 11,
Feel free to fork and send a RR if you could fix this ..
And if you have any questions, I'll be glad to help ..


Light theme URLs too little contrast

Describe the bug
Thanks for providing a light theme.
Unfortunately, I think that the external URLs in edit mode are too translucent with too little contrast to be visible.
Screenshots

Desktop (please complete the following information):

OS: MacOS 11.2
Obsidian Version: 0.11.5

I'll make a fix for it at the weekend. Thanks for telling me.

Has been fixed. da5254a914eda6d1fb4e16395c446b431c59229e


Received HTTP code 403 from proxy after CONNECT

server {
listen 3128;
resolver <IP_ADDRESS>;
proxy_connect;
proxy_connect_allow            all;
proxy_connect_connect_timeout  60s;
proxy_connect_read_timeout     60s;
proxy_connect_send_timeout     60s;
    location / {
            proxy_set_header Host $host;
            #proxy_pass $scheme://$host$request_uri;
            proxy_pass http://$http_host;
    }

}

curl https://www.baidu.com/ -v -x x.x.x.x:3128

Trying x.x.x.x...
TCP_NODELAY set
Connected to x.x.x.x (x.x.x.x) port 3128 (#0)
allocate connect buffer!
Establish HTTP proxy tunnel to www.baidu.com:443

CONNECT www.baidu.com:443 HTTP/1.1
Host: www.baidu.com:443
User-Agent: curl/7.64.1
Proxy-Connection: Keep-Alive

< HTTP/1.1 403 Forbidden
< Server: nginx
< Date: Mon, 26 Apr 2021 07:43:53 GMT
< Content-Type: text/html
< Content-Length: 146
< Connection: keep-alive
<

Received HTTP code 403 from proxy after CONNECT
CONNECT phase completed!
Closing connection 0
curl: (56) Received HTTP code 403 from proxy after CONNECT

nginx_error.log
2021/04/26 15:47:49 [error] 6207#0: *2 proxy_connect: no host in connect host "", client: x.x.x.x, server: , request: "CONNECT www.baidu.com:443 HTTP/1.1", host: "www.baidu.com:443"

自己解决了，每个版本nginx版本要pach的文件是不一样的。


[GSoC] GPU device is not detected inside openvino environment

Hello,
I have been working on the prerequisite task on ESPNet.  I am working inside a virtual environment for openvino. I cloned the model's repo and I am trying to run inference using the pytorch version of the model where i call a script written by the authors for inference, but it gives me the following error:
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
Outside openvino environment, CUDA is detetcted while inside openvino env it is not. I installed all the requirements and followed the instructions for installation in anaconda. I tried a lot with different versions for torch.
Can someone tell me what to do?
Thanks

@Nouran-Muhammad please try to load model on CPU instead. We can not use nvidia GPU in openvino environment because not all users can have this hardware, also installing torch without GPU support significantly reduce the memory required for installing package.
The solution which you need to use is already provided in your error message:
If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU., please add this parameter

Thank you for your reply.
I know i can add this parameter to work on the CPU, but i thought i should use GPU in the notebook.
Thank you.


Include packages projects in upgrader list

This PR adds some packages projects built with Go to the upgrader tool.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


SSL cert change breaks connection for clients who connected before with the older cert

Reinstalled my server and didn't have backups for the SSL cert and private key. The server is running, connects to IRC but I couldn't connect to it from my Electrum 2.3.2 client it until I manually deleted the old SSL data in /electrum-data/certs related to this server.
Server log file was saying:
handshake failure:[SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:581)
Also, foundry server-peer-hash isn't able to connect to it and check server's hash via SSL port.

That's what SSL certs are for...
If you use a self signed cert, the client is going to trust the first cert is sees.
Use a CA signed cert if you don't want to be able to update your server certificate

The "fix" here is to use a different subdomain. I believe the other option might be to get a 3rd party certificate from a CA in the trust store of the OS. Those are treated with priority over the cached certs as far as I recall.
I'll close this issue as "won't fix"


Contributor code of conduct

Nice package! A mini remark: the link to your "contributor code of conduct" broke in the readme

Thanks!
Will be fixed by branch https://github.com/inbo/wateRinfo/tree/onboarding


iOS Camera can no longer auto-focus after using barcode-scanner

Hi everyone,
we are currently struggling with a problem with the ZXing barcode scanner in our iOS app. We have a camera feature in our app to take photos as well as barcode scanner functionality to scan barcodes. As long as one does not scan any barcodes the camera is working fine. When you open the barcode scanner and close it again (doesn't matter if it scanned something or you cancel out) the camera feature in our app is no longer able to auto-focus.  As soon as you quit the app and start it again the camera is working again until one starts the barcode-scanning functionality again.
I've created a small sample project to demonstrate the issue (Tested on iPad3 & iPad Pro):
ZXing_Test.zip

Press "Camera" and zoom in (auto-focus working)
Take a photo or cancel
Press "Barcode scanner"
Scan something or cancel
Press "Camera" again (auto-focus no longer working)

I appreciate someone looking into this.
Thanks & Merry Christmas :)
My Xamarin info
=== Xamarin Studio Business ===
Version 6.1.2 (build 44)
Installation UUID: e21ce1d9-ee81-4584-922d-bad5cc7540d3
Runtime:
Mono 4.6.2 (mono-4.6.0-branch/08fd525) (64-bit)
GTK+ 2.24.23 (Raleigh theme)
Package version: 406020007

=== NuGet ===
Version: <IP_ADDRESS>
=== Xamarin.Profiler ===
Not Installed
=== Xamarin.Android ===
Version: <IP_ADDRESS> (Xamarin Business)
Android SDK: /Users/trutopsfab/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
4.0.3 (API level 15)
4.4   (API level 19)
6.0   (API level 23)
SDK Tools Version: 24.4.1
SDK Platform Tools Version: 23.0.1
SDK Build Tools Version: 23.0.1
Java SDK: /usr
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
=== Xamarin Android Player ===
Not Installed
=== Apple Developer Tools ===
Xcode 8.2.1 (11766.1)
Build 8C1002
=== Xamarin.iOS ===
Version: <IP_ADDRESS> (Xamarin Business)
Hash: e02d272
Branch: xcode8.2
Build date: 2016-12-12 23:00:41-0500
=== Xamarin.Mac ===
Version: <IP_ADDRESS> (Xamarin Business)
=== Build Information ===
Release ID: 601020044
Git revision: 0ccfcd52b95305ebd5b7eca0d88c1017035910ae
Build date: 2016-10-28 15:12:43-04
Xamarin addins: a39a869d8a78d87bdc6775f696c13a4cc9024501
Build lane: monodevelop-lion-cycle8
=== Operating System ===
Mac OS X 10.11.5
Darwin surfer-172-29-56-73-hotspot.internet-for-guests.com 15.5.0 Darwin Kernel Version 15.5.0
Tue Apr 19 18:36:36 PDT 2016
root:xnu-3248.50.21~8/RELEASE_X86_64 x86_64

The problem is related to ZXing changing the camera settings when starting to scan but never resetting them to the state they were before thus destroying the auto-focus for other camera calls. (ZXing forces the camera to use AutoFocusRangeRestriction = AVCaptureAutoFocusRangeRestriction.Near)
Related code in ZXingScannerView.cs (and AVCaptureScannerView.cs respectively):
Line 395:
if (UIDevice.CurrentDevice.CheckSystemVersion (7, 0) && captureDevice.AutoFocusRangeRestrictionSupported)
	captureDevice.AutoFocusRangeRestriction = AVCaptureAutoFocusRangeRestriction.Near;

I will fix that in my local (old) fork but unfortunately the current codebase does only rarely detect a barcode (some other bug?). As soon as that works again I'd be happy to send a pull-request

Hi, I've seen the same behavior and added a workaround like this:
https://gist.github.com/wullink-ps/6f24c01517c4da0a0dc4c905f16466c5
which seems to solve the problem, is there being worked on a fix in a future version? I can imagine this is quite blocking for people who use both qr codes and the camera functionality

This is still an issue


torus: add travis.yml

Fixes #26

Nah, it was go1.5 that failed (because no vendorexperiment by default).
I'm okay with current-go and tip.

@barakmich Sometime go-tip breaks stuff. Then it might block merges. So in general, I would like just to ignore errors on go-tip.

Yep. Makes sense. Hooray CI!

Did you forget to close this issue?


Feature: adding optional sslmode parameter to postgres connection

resolves #2152
Description
added functionality to add 'sslmode' parameter to a postgres profile connection
Checklist

[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have updated the CHANGELOG.md and added information about my change to the "dbt next" section.

hey @drewbanin , I'm not sure why the CLA check is failing, as I signed it, any ideas?

@cla-bot check

Hey @dholleran-lendico, thanks for your contribution! The CLA is a bit of a manual process on our end :)
Could you please resolve the merge conflict and while you're at it, include a link to this PR in the changelog?


Generate kubernetes.json has a very long description

Seems like it slurps the entire readme.md content. I think it should grab the the first section, eg until a new header is detected,
"fabric8/description" : "# Web MVC with Spring-Boot QuickStart\n\nThis example assumes that you have a running openshift v3, and fabric8 v2 using docker.\nFor more info see http://fabric8.io/v2/getStarted.html.\n\nThis example demonstrates how you can use Spring Boot and web mvc with a Java Container\n\nThe quickstart uses Spring Boot to configure a little Spring MVC application that offers a REST service.\n\nWhen the application is running, you can use a web browser to access the REST service, as the screenshot below shows:\n\n\n\n\n### Building this example\n\nThe example comes as source code and pre-built binaries with the fabric8 distribution. \n\nTo try the example you do not need to build from source first. Although building from source allows you to modify the source code, and re-deploy the changes to fabric. See more details on the fabric8 website about the developer workflow.\n\nTo build and run from the source code:\n\n1. Change your working directory to quickstarts/spring-boot/webmvc directory.\n1. Run ./build-and-run.sh to build and run the quickstart.\n\n\n### Using the web console\n\nYou can deploy and run this example from the web console, as follows\n\n1. It is assumed that you have already created a fabric and are logged into a container called root.\n1. Login the web console\n1. Click the Wiki button in the navigation bar\n1. Select quickstarts --> spring-boot --> webmvc\n1. Click the New button in the top right corner\n1. In the Create New Container page, enter mychild in the Container Name field, and click the Create and start container button\n\n## How to try this example\n\n1. Using the hawtio console at http://dockerhost:8484/hawtio, you should now see simple java as a 'pod' under the kubernetes tab http://dockerhost:8484/hawtio/kubernetes/pods?_id=\n1. You can find out the containerId using docker ps - the output should look something like:\n\n\tCONTAINER ID        IMAGE                                                   COMMAND                CREATED             STATUS              PORTS                    NAMES\n\t19d5280bf22e        dockerhost:5000/quickstart/quickstart/springboot-webmvc:2.2-SNAPSHOT   /bin/sh -c 'java $JA   3 days ago          Up 28 minutes                                k8s_quickstart-java-simple-fatjar.6c2fc62f_c6fa4631-588f-11e4-8746-406c8f215ad7.etcd_c6fa4631-588f-11e4-8746-406c8f215ad7_e28ca78b\n\n1. Use docker logs -f <CONTAINER ID> to see what the Spring Boot app is writing to the console, and\nsee that every second it logs another line:\n\n\tHello Fabric8! Here's your random string: NMsq3\n\tHello Fabric8! Here's your random string: wPzMW\n\tHello Fabric8! Here's your random string: tiTpX\n\n1. At this point you have verified that things work but additionally we can find out some more about this container.\nFirst docker inspect <image> to see all the metadata. For instance part of this output reads\n\n....\n     \"Env\": [\n            \"HOME=/\",\n            \"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\n            \"JOLOKIA_VERSION=1.2.2\",\n            \"CLASSPATH=/maven/*:/maven\",\n            \"JAVA_OPTIONS=-javaagent:/opt/jolokia/jolokia.jar=host=<IP_ADDRESS>,port=8778,agentId=$HOSTNAME\",\n            \"MAIN=io.fabric8.quickstarts.java.simple.Main\"\n        ],\n        \"Cmd\": [\n            \"/bin/sh\",\n            \"-c\",\n            \"java $JAVA_OPTIONS -cp $CLASSPATH $MAIN $ARGUMENTS\"\n        ],\n....\n\nwhich shows our java process is started using a Cmd, and that it is uing the io.fabric8.quickstarts.java.simple.Main class to start it, with a classpath of everything in the /maven directory. The JAVA_OPTION start a jolokia agent.\n\n1. Using docker top d356604acb80 we can see simple java process as well as the jolokia agent.\n\n\tPID                 USER                COMMAND\n\t2624                root                /bin/sh -c java $JAVA_OPTIONS -cp $CLASSPATH $MAIN $ARGUMENTS\n\t2643                root                java -javaagent:/opt/jolokia/jolokia.jar=host=<IP_ADDRESS>,port=8778,agentId=$HOSTNAME -cp /maven/*:/maven io.fabric8.quickstarts.java.simple.Main\n\n1. You use NSEnter (https://github.com/jpetazzo/nsenter) to connect to the container using the alias docker-enter <containerId>. We can inspect the file system and see our jars in the /maven directory \n\n\t/maven# ls -l\n\ttotal 412\n\t-rw-r--r-- 1 root root 412739 Oct 20  2014 commons-lang3-3.3.2.jar\n\t-rw-r--r-- 1 root root   4453 Oct 20  2014 java-simple-fatjar-2.0.0-SNAPSHOT.jar\n\nand the jolokia jars in the /opt/jolokia directory\n\n\topt/jolokia# ls -l\n\ttotal 388\n\t-rw-r--r-- 1 root root 389459 Jun 14 17:43 jolokia.jar\n\t-rw-r--r-- 1 root root    871 Oct  8 09:33 jolokia_env.sh\n\n\n## Undeploy this example\n\nThe following information is divided into two sections, whether you are using the command line shell in fabric, or using the web console\n\n### Using the OpenShift Kube command line shell\n\nTo stop and undeploy the example using the OpenShift Kube command line, enter the following commands at the console:\n\n        openshift kube stop quickStartJavaSimpleController\n        openshift kube rm quickStartJavaSimpleController\n\n### Using the web console\n\nTo stop and undeploy the example in fabric8:\n\n1. In the web console, click the Runtime button in the navigation bar.\n1. Select the mychild container in the Containers list, and click the Stop button in the top right corner\n",
"fabric8/iconUrl" :

The readme is from
https://github.com/fabric8io/quickstarts/tree/master/quickstarts/spring-boot/webmvc

Its a bit better now that we have trimmed the readme of the quickstarts to be shorter.

I can see in the code that we also slurp the summary.md, so maybe  for short hand descriptions we should use summary.md, and then include the entire documentation as description, as it does today.

yeah - for completeness we're kinda replicating the AppZip stuff; (readme + summary + icon) inside the OpenShift Template as annotations; so that we've a place to put the summary / readme / icon that the console can use).


(Feature proposal) Ability to specify SDK

We currently have a couple of issues (#636 , #602 and #588) which points back to the fact that it is currently not possible to specify the SDK being used by dotnet-script.
Today we have a csprojtemplate file that looks like this.
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
  <ItemGroup>
  </ItemGroup>
  <Target Name="RecordReferencePaths" AfterTargets="AfterResolveReferences">
    <WriteLinesToFile File="$(OutputPath)/ReferencePaths.txt" Lines="@(ReferencePath)" />
  </Target>
</Project>

Say now that we wanted to spin up a minimal web api in a script.
This would require the project sdk to be set to <Project Sdk="Microsoft.NET.Sdk.Web">, but since that is basically "hardcoded" into the template we currently don't have a way for specifying the SDK.
For this to work not only during execution, but also from the OmniSharp side we would need something that can be read when resolving dependencies (runtime and compilation).
Since <Project Sdk="Microsoft.NET.Sdk"> basically is a way to specify which assemblies from the shared framework to be pulled in, it might make sense to extend upon the #r directive here.
Suggested syntax
#r "sdk:Microsoft.NET.Sdk.Web"

We will then use the given sdk when creating the csproj file used for restore and dependency resolving.
The default would be Microsoft.NET.Sdk as before unless specified in the #r directive
csproj file with #r "sdk:Microsoft.NET.Sdk.Web"
<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
  <ItemGroup>
  </ItemGroup>
  <Target Name="RecordReferencePaths" AfterTargets="AfterResolveReferences">
    <WriteLinesToFile File="$(OutputPath)/ReferencePaths.txt" Lines="@(ReferencePath)" />
  </Target>
</Project>

@filipw Thoughts? 😃

We will include this feature as part of the upcoming release. #694

Closed by #694


Dispose initial sync resources when they finish their job

Describe the bug
According to Comment
When initial sync finishes, these resources:

InitialSyncOrchestrator
InitialSyncOperation
SyncEventEmitter
ModelSyncEventEmitter
ReadyEventEmitter

etc, are going to just sit inside the memory and do nothing. It's better to deallocate these completed instances.

Code has been released as part of Amplify 1.5.4, closing this issue

Code has been released as part of Amplify 1.5.4, closing this issue


View Marimo progress bars in terminal

Description
See any mo.status.progress_bars also in the terminal, like tqdm.
Suggested solution
Not quite sure how this would be implemented :slightly_smiling_face:
Alternative
No response
Additional context
No response

we don't really have a pattern internally with our plugins/utils for displaying for UI vs for the terminal.
you can build this in your own notebook, using mo.running_in_notebook.
You could do something like:
my_list = mo.status.status.progress_bar(list)
if mo.running_in_notebook():
  my_list = tqdm(my_list)

for i in my_list:

(i havent tested the above, so might have some typos)
If you have a good pattern for this, it would be great to bring this back into core (if you are open to contributing it)

Going to close this as the above snippet should solve this


[QUESTION] Add node labels on bottlerocket nodes

Hello all!

[ X ] ✋ I have searched the open/closed issues and my issue is not listed.

Please describe your question here
We need to add node labels to a self managed bottlerocket self managed group,
currently the only way is to use post_userdata variable
https://github.com/aws-ia/terraform-aws-eks-blueprints/blob/main/modules/launch-templates/templates/userdata-bottlerocket.tpl

Is this the correct way?
As this is a common use case maybe worth a dedicated variable?

Thanks for the support in advance!

@cptalex a more detailed example here but yes that is the correct way to assign node labels today. As you may know, you can wrap this in your own terraform module and create variables for it.


"istioctl admin" subcommand for control-plane operations

We have an "istioctl admin" subcommand, but currently it only holds the command to set control plane logging levels.
Move all commands that administer Istio itself to that subcommand.
Move all commands that require access to the control plane to that subcommand.
The design for this work being tracked in this RFC.
The direction of this was approved as part of UX's 2021 roadmap and 1.11 roadmaps.
Moving istioctl proxy-status there, and limiting the functionality in the original, was approved for 1.10 but slipped.

I am closing this due to comments on the closed PR.


RC PR comment pushing to wrong PRs

Examples:

https://github.com/FuelLabs/fuels-ts/pull/1630#issuecomment-1889528065
https://github.com/FuelLabs/fuels-ts/pull/1615#issuecomment-1888782932

Reason:
As our rc workflow is triggered on a push event:
https://github.com/FuelLabs/fuels-ts/blob/b32dc966ed23505946caab6b5f283b4e2989befd/.github/workflows/rc-release.yaml#L3-L6
The ref used to post the PR comment to may be the PR that produced the push.
Solution:
Also generate a release candidate on pull_request events and only generate a PR comment then.

Resolved in #1648


Setup file and wrapper.router not working and Router.push not changing url!

Hello!
Im having a few issues with this library I was hoping i could get some help with. I'm using Vue3 with Quasar running on Vite with Vitest
First off my setup file is set up as below
import {
  VueRouterMock,
  createRouterMock,
  injectRouterMock,
} from 'vue-router-mock';
const { config } = require('@vue/test-utils');
import { vi, beforeEach } from 'vitest';

// create one router per test file
const router = createRouterMock({
  spy: {
    create: (fn) => vi.fn(fn),
    reset: (spy) => spy.mockReset(),
  },
});

beforeEach(() => {
  injectRouterMock(router);
});

// Add properties to the wrapper
config.plugins.VueWrapper.install(VueRouterMock);

However when i call wrapper.router.push('/') then I get TypeError: Cannot read properties of undefined (reading 'push')
Secondly, I have a use case where I want to read query data from the URL in the case of someone copying and pasting a link and my component then handles translating the url into the correct variables to display the component properly.
If i set initialLocation
const router = createRouterMock({
  initialLocation: '/substances?search=1&regulations=Latest&page=1&limit=10',
  spy: {
    create: (fn) => vi.fn(fn),
    reset: (spy) => spy.mockReset(),
  },
})

Then this works great.
However if i do something like:
    await router.push('/substances?search=1&regulations=Latest&regulations=Previous&page=1&limit=10')
    console.log(router.currentRoute);
    const wrapper = mount(RegulationsSelector, { global: {
        plugins: [createTestingPinia({createSpy: vi.fn()})],
      }});

The console.log shows the old route still and my component incorrectly renders with regulations=Latest instead of [Latest, Previous] as i would expect.

Just to be clear, doing the same thing in initialLocation gives me the correct output:

Really not sure what I'm doing wrong in either of these cases, any help would be massively appreciated.

A boiled down repro without Quasar would help, if that's not possible, use the forum, the Discord server or StackOverflow instead

Closing due to inactivity. Please open a new issue with a reference to this one if you can follow up with more information.


Streamlining MacOS arm64 build

Many changes but was able to successfully build/test for py 3.9 3.10 3.11 and 3.12. I deleted local-build.sh and migrated to doing everything in the local-build.yml file to have easier use of environment variables (such as the python version). Another benefit of this is that the 4 versions will build in parallel rather than in series.
https://github.com/jdegenstein/ocp-build-system/actions/runs/7804734797

Thanks for all the work on this @jdegenstein . Would you be able to fix the merge conflicts so that I can merge this?

Maybe we should also leave the local-build.sh script in the repo for people who want to build wheels locally. I have used that script on a RockPro64 to build aarch64 wheels.

Thanks @jdegenstein !

@jmwright thanks for merging, sorry I wasn't able to figure out how to fix the merge conflicts (not sure I have permissions to this repo??)

@jdegenstein No problem. You probably could have rebased your branch on main and pushed that back to your fork (you would normally have to do a force push I think). Merge conflicts are a pain though, at least for me, so I understand having trouble with this one.