Separate services and procedures types, give each procedure form its own type

Before we change how you construct services, I wanted to change how the procedure types worked so that we could individually type each procedure form. That's what this PR is.
Procedure types are now in router/procedures.ts, and service types and the builder for services is now in router/services.ts. I gave each procedure type (upload, rpc, etc.) its own type, and then made Procedure use those types. I think this might technically break the TS stress test, but the actual constructed type works, it's just TS complains that it may not work, which is strange.

ok yeah TS is unhappy, blegh. tempted to just modify the test so that it passes (remove the last three procedures) because we're going to be getting rid of this limitation anyways

I think we will want to build to the end state to know we can get there before removing the stress tests. This is clearly a tricky problem and I'm afraid we need to know a direction works completely before we commit to it, rather than introducing changes that require us to undo tests.

I think we will want to build to the end state to know we can get there before removing the stress tests.

Oh yeah I meant to mention that it's probably best if we wait to merge until we have a whole stack going, whoops

Closing this PR and making the other one the main one


Update palette on existing instance

Is your feature request related to a problem? Please describe.
As described in #19 we are using redux to allow color selections. We have specific collections of color sets that we are using as palette. Currently there is no option in the API reference that would allow a change of the palette within an exisitng instance, as our redux state could constantly change, the palette would be outdated.
Describe the solution you'd like
A public method that allows to update the color palette.
I actually tried this:
https://github.com/easylogic/codemirror-colorpicker/blob/master/src/colorpicker/BaseColorPicker.js#L288-L290
But it did not appear to work as expected.

@hcomnetworkers
It has no feature for updating palette.
I think I need to add this function separately.

please refer to https://easylogic.github.io/codemirror-colorpicker/1/api.html#callback-for-show-and-hide.
i released v1.9.22

I am sorry, we might had a small miss communication / bad speech in that issue.
I want to replace the whole color palettes of a color picker.
Not only the colors of the current active one.

@hcomnetworkers
ok, I understood.
I will implement and talk to you.

@hcomnetworkers
I fixed this issue and released v1.9.31
Please refer to https://easylogic.github.io/codemirror-colorpicker/1/api.html#set-all-colors-in-whole-palette


Incorrectly finds QR codes and returns malformed data

Several issues have come with with the library incorrectly locating QR codes where there aren't any, returning malformed data (often manifesting as Chinese characters).
This is an central issue to track these issue on. I've been able to reproduce the error with this image
.
We'll use this image to try to catch the issue (thinking we're not correctly detecting error correction levels).

Hey @mikkiek @kundan52 @videroCat @kazzkiq have consolidated all your issues about incorrectly finding codes and returning malformed data here. Hoping that with a repro case it'll be easy to track down but we'll see 🤞

This has been fixed and is being published as 1.0.6). Thanks for the reports all!

Tested locally and it works perfectly, thanks!


Cannot add node to cluster: could not retrieve cluster information

Environmental Info:
K3s Version:
k3s version v1.28.6+k3s2 (c9f49a3b)
go version go1.20.13
Node(s) CPU architecture, OS, and Version:
all amd64 Ubuntu Linux 5.15.0-91-generic
Cluster Configuration:
3 servers with embeded etcd.
Describe the bug:
Cannot add another server node to cluster.
Steps To Reproduce:

Install K3s on first node

curl -sfL https://get.k3s.io | \
	sh -s - server \
    --cluster-init --token=<token> node-ip=<IP_ADDRESS>

install k3s on second node

curl -sfL https://get.k3s.io | \
	sh -s - server \
    --cluster-init --token=<token> --node-ip=<IP_ADDRESS> --server=https://<IP_ADDRESS>:6443

Expected behavior:
The second node joins the cluster.
Actual behavior:
k3s service on second node exited.
Additional context / logs:
Log on second node:
{"level":"warn","ts":"2024-02-20T12:10:48.263257+0800","caller":"etcdserver/cluster_util.go:79","msg":"failed to get cluster response","address":"https://<IP_ADDRESS>:2380/members","error":"Get \"https://<IP_ADDRESS>:2380/members","error":"Get \"https://<IP_ADDRESS>:2380/members\": EOF"}
time="2024-02-20T12:10:48+08:00" level=fatal msg="etcd cluster join failed: cannot fetch cluster info from peer urls: could not retrieve cluster information from the given URLs"

Then tried to access above endpoint directly from second node by curl -kv https://<IP_ADDRESS>:2380/members:
*   Trying <IP_ADDRESS>:2380...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 2380 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS header, Finished (20):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.2 (OUT), TLS header, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.3 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=etcd-peer
*  start date: Feb 20 03:29:41 2024 GMT
*  expire date: Feb 19 03:29:41 2025 GMT
*  issuer: CN=etcd-peer-ca@1708399781
*  SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* Using Stream ID: 1 (easy handle 0x5609b1ae3e90)
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
> GET /members HTTP/2
> Host: <IP_ADDRESS>:2380
> user-agent: curl/7.81.0
> accept: */*
>
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS alert, bad certificate (554):
* OpenSSL SSL_read: error:0A000412:SSL routines::sslv3 alert bad certificate, errno 0
* Failed receiving HTTP2 data
* OpenSSL SSL_write: SSL_ERROR_ZERO_RETURN, errno 0
* Failed sending HTTP2 data
* Connection #0 to host <IP_ADDRESS> left intact
curl: (56) OpenSSL SSL_read: error:0A000412:SSL routines::sslv3 alert bad certificate, errno 0

It seems the cert of first node has some issue?

Don't specify both --cluster-init and --server  on the second node. Only the first node should initialize the cluster, other nodes join.


Unable to install libindy in ubuntu 18.04

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 68DB5E88
sudo add-apt-repository "deb https://repo.sovrin.org/sdk/deb xenial stable"
sudo apt-get update
sudo apt-get install -y libindy -> Raising error that package not found
sudo apt-get install -y indy-cli -> Raising error that package not found

the tutorial says to use _bionic _ on 18.04, but I cant seem to get that working either.
sudo add-apt-repository "deb https://repo.sovrin.org/sdk/deb xenial stable"  -> sudo add-apt-repository "deb https://repo.sovrin.org/sdk/deb bionic stable"

Which tutorial/instructions are you both following?

Dont know if it's an issue or not, but tried to follow the tutorial for ubuntu 18.04 LTS
https://github.com/hyperledger/indy-sdk#ubuntu-based-distributions-ubuntu-1604-and-1804

I have tried all release channels and they all produce the same error:

W:` Skipping acquire of configured file 'release/binary-amd64/Packages' as repository 'https://repo.sovrin.org/sdk/deb bionic InRelease' doesn't have the component 'release' (component misspelt in sources.list?)

W: Skipping acquire of configured file 'release/i18n/Translation-en' as repository 'https://repo.sovrin.org/sdk/deb bionic InRelease' doesn't have the component 'release' (component misspelt in sources.list?)

W: Skipping acquire of configured file 'release/cnf/Commands-amd64' as repository 'https://repo.sovrin.org/sdk/deb bionic InRelease' doesn't have the component 'release' (component misspelt in sources.list?)

This works (Dockerfile), and installs the stable release of libindy 1.16.0-bionic as expected:
FROM ubuntu:18.04

RUN apt-get update -y && apt-get install -y \
    gnupg \
    ca-certificates

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88
RUN echo "deb https://repo.sovrin.org/sdk/deb bionic stable" >> /etc/apt/sources.list
RUN apt-get update -y && apt-get install -y \
    libindy

I've recently experienced this issue when building a docker image in a new computer setup (i.e. no previous docker cache). It seems that it was complaining for certificate validity:
Err:5 https://repo.sovrin.org/sdk/deb bionic Release
  Certificate verification failed: The certificate is NOT trusted. The certificate chain uses expired certificate.  Could not handshake: Error in the certificate verification. [IP: <IP_ADDRESS> 443]

Installing ca-certificates package before adding sovrin repo (as in @WadeBarnes Dockerfile) was key to solve this problem.

is there any other key?
ubuntu@eduardoito-bionic:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.6 LTS
Release:        18.04
Codename:       bionic
ubuntu@eduardoito-bionic:~$ cat Dockerfile
FROM ubuntu:18.04
RUN apt-get update -y && apt-get install -y
gnupg
ca-certificates
RUN apt-key adv --keyserver keyserver.ubuntu.com:80 --recv-keys CE7709D068DB5E88
RUN echo "deb https://repo.sovrin.org/sdk/deb bionic stable" >> /etc/apt/sources.list
RUN apt-get update -y && apt-get install -y
libindy
ubuntu@eduardoito-bionic:~$ docker build ./
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&target=&ulimits=null&version=1": dial unix /var/run/docker.sock: connect: permission denied
ubuntu@eduardoito-bionic:~$ sudo docker build ./
Sending build context to Docker daemon  19.97kB
Step 1/5 : FROM ubuntu:18.04
---> f5cbed4244ba
Step 2/5 : RUN apt-get update -y && apt-get install -y     gnupg     ca-certificates
---> Using cache
---> 7df744ce49d8
Step 3/5 : RUN apt-key adv --keyserver keyserver.ubuntu.com:80 --recv-keys CE7709D068DB5E88
---> Running in c6736359dd9f
Warning: apt-key output should not be parsed (stdout is not a terminal)
Executing: /tmp/apt-key-gpghome.DrwZiFGoaO/gpg.1.sh --keyserver keyserver.ubuntu.com:80 --recv-keys CE7709D068DB5E88
gpg: keyserver receive failed: No keyserver available
The command '/bin/sh -c apt-key adv --keyserver keyserver.ubuntu.com:80 --recv-keys CE7709D068DB5E88' returned a non-zero code: 2
ubuntu@eduardoito-bionic:~$

@edbkei, That is the correct key.  I just ran the docker build on my machine and it worked without error.

In another way, the key works.
ubuntu@eduardoito-bionic:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88
Executing: /tmp/apt-key-gpghome.0rNYjJjmgU/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88
gpg: key CE7709D068DB5E88: "Sovrin-Repo-Master (Master key for repo.sovring.org<EMAIL_ADDRESS>not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
But when adding repository:
ubuntu@eduardoito-bionic:~$ sudo add-apt-repository "deb https://repo.sovrin.org/sdk/deb (xenial|bionic) {release channel}"
Hit:1 https://download.docker.com/linux/ubuntu bionic InRelease
Hit:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:3 http://nova.clouds.archive.ubuntu.com/ubuntu bionic InRelease
Ign:4 https://repo.sovrin.org/sdk/deb (xenial|bionic) InRelease
Hit:5 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:6 https://repo.sovrin.org/sdk/deb xenial InRelease
Hit:7 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-backports InRelease
Hit:8 https://repo.sovrin.org/sdk/deb bionic InRelease
Err:9 https://repo.sovrin.org/sdk/deb (xenial|bionic) Release
404  Not Found [IP: <IP_ADDRESS> 443]
Reading package lists... Done
E: The repository 'https://repo.sovrin.org/sdk/deb (xenial|bionic) Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Perhaps, it is a syntax error, that I don´t know (but it is the command reference at https://github.com/hyperledger/indy-sdk#ubuntu-based-distributions-ubuntu-1604-and-1804) about Release file not found (??)
because, we see that INDY-SDK is somewhere in:
https://repo.sovrin.org/sdk/deb/

This is your issue deb https://repo.sovrin.org/sdk/deb (xenial|bionic) {release channel}.
With that line you nee to pick one or the other and specify the release channel.  Such asdeb https://repo.sovrin.org/sdk/deb bionic stable

OK, thanks.

Apparentlly, I got the original error. Sorry for disturbing you.
ubuntu@eduardoito-bionic:~$ sudo apt-get install -y libindy
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libindy : Depends: libsodium18 but it is not installable
E: Unable to correct problems, you have held broken packages.
Then, I´ve done some searching. And, I found that: libsodium version is here:
https://download.libsodium.org/libsodium/releases/
And, I´ve not tested yet, but I found the following instruction at:
https://lists.hyperledger.org/g/indy/topic/indy_node_on_ubuntu_18_04/27326643?p=
Perhaps the solution is something like below (but not sure yet):
cd /tmp &&
curl https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz | tar -xz &&
cd /tmp/libsodium-1.0.18 &&
./configure &&
make &&
make install &&
rm -rf /tmp/libsodium-1.0.18

@edbkei, Are you saying that installing libindy using this method (https://github.com/hyperledger/indy-sdk/issues/2476#issuecomment-1029043832) does not work for you?  It works for me consistently without error.

Yes, that´s right. I am using a clean Ubuntu 18.04 from private cloud. I have another Ubuntu 18.04 in VB, that´s worser, I am not able to update with basic apt-get. But, if possible to compile libsodium, it would be OK. At the moment, I am still evaluating. Indeed, I would not need anything about this, I am looking for genesis file containing different number of nodes. I was told that if we increase the number of nodes (beyond the default 4), the performance increases. With 4 nodes, the performance is poor.  Then, my idea is to increase the number of nodes and INDY-SDK is the only option.

If you follow the steps exactly (adding sudo as needed) what errors do you encounter?
Also, is the purpose of this exercise for you to simply install the indy-cli in order to interact with a node pool (indy-node network) you've setup?  If so an easier option would be to use the containerized indy-cli available in von-network; https://github.com/bcgov/von-network/blob/main/docs/Indy-CLI.md.  The containerized indy-cli in von-network also has built-in tools for generating the genesis files for new networks.
Documentation for creating a new indy-node network can be found here; https://github.com/hyperledger/indy-node/blob/master/docs/source/NewNetwork/NewNetwork.md

yes, sudo helped. And, now, it looks good. Glad to receive your references, very precious. Thanks.

@edbkei
Your Problem with uninstallable packages is known....

ubuntu@eduardoito-bionic:~$ sudo apt-get install -y libindy Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:
The following packages have unmet dependencies: libindy : Depends: libsodium18 but it is not installable E: Unable to correct problems, you have held broken packages.

Indy node /plenum depend on fixed versions of packages, but since there are newer version of that packages in the official repos apt is complaining.
Chaining the cmd together like sudo apt install indy-plenum=1.13.0~dev175 python3-libnacl=1.6.1 python3-sortedcontainers=1.5.7 works.
Further information can be found here here

The apt resolver does not consider the possibility that you might want to install something that is not the most recent available version of a package in a given target release; Debian just doesn't support installing anything but the most up to date version of a package for your system.
If you're using different repositories for each version of a (set of) package(s), then you can use pinning to prefer a given origin, or give them a different codename and use apt's -t option to select the target release. Otherwise it's just not possible.

Will close this issue.
Feel free to reopen, if the problem still exists.

First of all, I´m using Ubuntu 18.04, but also I have Ubuntu 20.04.
Unfortunately, there are more dependency problems.
As for your recommendation:
ubuntu@eduardoito-bionic:~/rocksdb$ sudo apt install indy-plenum=1.13.0~dev175 python3-libnacl=1.6.1 python3-sortedcontainers=1.5.7
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '1.13.0~dev175' for 'indy-plenum' was not found
As recommended by https://libraries.io/pypi/indy-plenum:
pip3 install indy-plenum==1.13.0.dev8
:::
Failed building wheel for python-rocksdb
:::
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-hylyicpw/python-rocksdb/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-yjrfbyr3-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-build-hylyicpw/python-rocksdb/
NOTE: Apparently, python-rocksdb missing. Then, according to reference: https://python-rocksdb.readthedocs.io/en/latest/installation.html, Compilation is possible, but it fails at:
pip3 install git+git://github.com/twmht/python-rocksdb.git#egg=python-rocksdb
with:
ubuntu@eduardoito-bionic:~/rocksdb$ sudo apt install indy-plenum=1.13.0~dev175 python3-libnacl=1.6.1 python3-sortedcontainers=1.5.7
Reading package lists... Done
Building dependency tree
Reading state information... Done
and
E: Version '1.13.0~dev175' for 'indy-plenum' was not found
ubuntu@eduardoito-bionic:~/rocksdb$ pip3 install git+git://github.com/twmht/python-rocksdb.git#egg=python-rocksdb
Collecting python-rocksdb from git+git://github.com/twmht/python-rocksdb.git#egg=python-rocksdb
Cloning git://github.com/twmht/python-rocksdb.git to /tmp/pip-build-0b8_rujn/python-rocksdb
fatal: remote error:
The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
Command "git clone -q git://github.com/twmht/python-rocksdb.git /tmp/pip-build-0b8_rujn/python-rocksdb" failed with error code 128 in None

I am not sure why you get the error that the plenum package is not available...
Running  the following under the indy- node 20.04 gitpod image (which is derived from a ubuntu20.04 image) finds the package. It is installable when the other dependend packages are also selected with the version as stated in my last comment.
Maybe some errors in the apt sources?
gitpod /workspace/indy-node (GHARefactoring) $ sudo apt install indy-plenum=1.13.0~dev175
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 indy-plenum : Depends: python3-libnacl (= 1.6.1) but 1.7.1-1 is to be installed
               Depends: python3-sortedcontainers (= 1.5.7) but 2.1.0-2 is to be installed
               Depends: python3-ujson (= 1.33) but 1.35-4build1 is to be installed
E: Unable to correct problems, you have held broken packages.
gitpod /workspace/indy-node (GHARefactoring) $ cat /etc/apt/sources.list
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://archive.ubuntu.com/ubuntu/ focal main restricted
# deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted
# deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu/ focal universe
# deb-src http://archive.ubuntu.com/ubuntu/ focal universe
deb http://archive.ubuntu.com/ubuntu/ focal-updates universe
# deb-src http://archive.ubuntu.com/ubuntu/ focal-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://archive.ubuntu.com/ubuntu/ focal multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ focal multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-updates multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ focal-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu focal partner
# deb-src http://archive.canonical.com/ubuntu focal partner

deb http://security.ubuntu.com/ubuntu/ focal-security main restricted
# deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted
deb http://security.ubuntu.com/ubuntu/ focal-security universe
# deb-src http://security.ubuntu.com/ubuntu/ focal-security universe
deb http://security.ubuntu.com/ubuntu/ focal-security multiverse
# deb-src http://security.ubuntu.com/ubuntu/ focal-security multiverse
deb https://hyperledger.jfrog.io/artifactory/indy focal dev
# deb-src https://hyperledger.jfrog.io/artifactory/indy focal dev
deb http://security.ubuntu.com/ubuntu bionic-security main
# deb-src http://security.ubuntu.com/ubuntu bionic-security main
deb https://repo.sovrin.org/deb bionic master
# deb-src https://repo.sovrin.org/deb bionic master
deb https://repo.sovrin.org/sdk/deb bionic master
# deb-src https://repo.sovrin.org/sdk/deb bionic master

Will close this issue, since it seems to be stalled.

sudo apt install indy-plenum=1.13.0~dev175
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '1.13.0~dev175' for 'indy-plenum' was not found
This happens with Ubuntu 18.04 and 20.04, still.

@edbkei
I am sorry but i am unable to recreate your problem.
Starting with a clean Gitpod docker image (which is based on ubuntu20.04), i am able to find the package AFTER adding the repositories.
gitpod ~ $ history
    2  sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9692C00E657DDE61
    3  sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88
    4  sudo add-apt-repository 'deb  https://hyperledger.jfrog.io/artifactory/indy focal dev' &&     sudo add-apt-repository 'deb http://security.ubuntu.com/ubuntu bionic-security main' &&     sudo add-apt-repository 'deb https://repo.sovrin.org/deb bionic master'  &&     sudo add-apt-repository 'deb https://repo.sovrin.org/sdk/deb bionic master'
    5  sudo apt install indy-plenum=1.13.0~dev175
    6  history

Sure apt is complaining about the fixed versions
Please double check your apt-sources list.
But it is installable after specifying all the versions:
sudo apt install indy-plenum=1.13.0~dev175 python3-libnacl=1.6.1 python3-sortedcontainers=1.5.7 python3-ujson=1.33 python3-pyzmq=18.1.0

This´s worked in my Google Cloud VM, Ubuntu 20.04. Thanks.
FYI,  sudo apt install indy-plenum=1.13.0~dev175 really not works
This is my APT list:
grep -r --include '.list' '^deb ' /etc/apt/ | sed -re 's/^/etc/apt/sources.list((.d/)?|(:)?)//' -e 's/(..list):/[\1] /' -e 's/deb http://ppa.launchpad.net/(.?)/ubuntu ./ppa:\1/'
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal main restricted
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-updates main restricted
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal universe
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-updates universe
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal multiverse
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-updates multiverse
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu focal-security main restricted
deb http://security.ubuntu.com/ubuntu focal-security universe
deb http://security.ubuntu.com/ubuntu focal-security multiverse
deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable
deb https://hyperledger.jfrog.io/artifactory/indy focal dev
deb http://security.ubuntu.com/ubuntu bionic-security main
deb https://repo.sovrin.org/deb bionic master
deb https://repo.sovrin.org/sdk/deb bionic master
[nodesource.list] deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_17.x focal main
[docker.list] deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu   focal stable
[mongodb-org-5.0.list] deb [arch=amd64,arm64] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse
[deadsnakes-ubuntu-ppa-focal.list] ppa:deadsnakes/ppa

Since the main issue here has been resolved (installation problems with libindy) i will close this issue.
@edbkei It seems your problem is more connected to indy-node / indy-plenum and the installation of a new node and not the indy-sdk. I would urge you to look in their repositories and open an issue there if you can't find answers.


Update README.md

little help to  users who have never used processing before and just came from youtube

you also have to install Sound under Sketch > Import Library > Manage Libraries ... > search "Sound" and click install

download processing 4 from https://processing.org/download > open the file with processing > click Keep when prompted to make a sketch folder > go to Sketch > Manage Libraries... > search "sound" > download the default processing sound > Run > change the camera variable to 961 if the camera glitches out

this is what the readme should say as there are more steps than just running it, you might already have the default sounds installed and preferences set even though processing doesnt come with them


[Action] Update admit.yml

environment variable for GITHUB_PR_NUMBER and GITHUB_PR_TARGET_BRANCH is empty before
What type of PR is this：

[y] bug

Which issues of this PR fixes ：
environment variables for pr related is empty before
Problem Summary(Required) ：
set environment for pr related

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Docker iteratechh user

I found (via google) another repository for the OSM docker image :
https://hub.docker.com/r/iteratechh/openspeedmonitor/
is it official in any way ?
could it be someone trying to squat your user on the docker hub ?
Cheers

This is the official image. You will find a latest tag and a tag for each stable version there.
Here you can find a compose file using the official image. The compose file also runs containers for osm detail analysis microservice. That service facilitates interactive analysis of waterfalls resource data. Here you can see that dashboard in action. It loads a while for the data initially because it is implemented with dc.js which needs a little data initialization prior interactive data investigation is possible.
We own the iteratechh account too, but it's OpenSpeedMonitor image it's no longer actively maintained.


Update service-connect-excel-power-bi-datasets.md

With the build version listed in the documentation it will not work as customer requested to update the documentation as many end users complaining about it. Please update the documentation as with the listed minimal requirement will not support to work with this feature.
Please have a look at the Excel document where it says the required build version specified is not supported: https://learn.microsoft.com/en-us/officeupdates/update-history-microsoft365-apps-by-date

@ajburnle

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

That's a good clarification.
#sign-off


How to enter my password?

for example:

I need to enter the password when running a command with sudo.
I need to enter [y/N] when running a command that needs to be confirmed.
...

How can I do this?

Same problem for me, while deploying publish, ShellOut is unable to ask for password.
Using the --deploy flag in Xcode scheme, i get
[info] fatal: could not read Password for<EMAIL_ADDRESS>Device not configured: file /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-1<IP_ADDRESS>/swift/stdlib/public/core/ErrorType.swift, line 20
Running via terminal does nothing. Just gets stuck.

There is a workaround for your password problem, Install sshpass 👇🏻
apt install sshpass
You can use sshpass -p[yourpasswordhere].

Any news...?


crayfish plugin doesnt work in qgis 3.20

I have installed QGIS 3.20 in my computer and wanted to use crayfish plugin for Mesh analysis. When I install the plugin it shows the following error and the plugin does not appearing in the toolbox window.
Couldn't load plugin 'crayfish' due to an error when calling its classFactory() method
AttributeError: module 'time' has no attribute 'clock'
Traceback (most recent call last):
File "C:\AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\crayfish\gui\plot_widget.py", line 38, in
import pyqtgraph
File "C:\PROGRA~1/QGIS32~1.2/apps/qgis/./python\qgis\utils.py", line 799, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
ModuleNotFoundError: No module named 'pyqtgraph'

@Maiyourathaan This repository is to manage QGIS website. The issue you are reporting is a Crayfish plugin issue so should be reported in the plugin issue tracker.


question of datetime-local

It works good  for date type, and can limit the value correctly, but not when the type is datetime-local.

@Ruphi datetime-local contains time input too, so it is out of scope of this project.


Method soft_destroyed? should read attribute soft_delete_column?

Hi, thank you for a cho-iketeru gem.
soft_destroyed? executes SQL, now. But for performance, I think it's better to read attribute soft_delete_column.
I wonder why don't you do?

HI, thanks for a report.
This gem supports dependent delete.
https://github.com/alfa-jpn/kakurenbo-puti#definition-of-the-dependency
So, A resource can't known self destroyed without query.
But, I think it can optimize when a model doesn't use dependent delete.
best regards,


Add the "Sort Imports" back to the context menu options as "Organize Imports"

Regarding microsoft/vscode-python#22058, I don't understand the justification for this change. It was removed without adequate replacement.
I am aware of Organize Imports through the command Shift+Alt+o but why was it not added to the right-click context-menu?
In response to microsoft/vscode-python#20233, it is not redundant. Using Code Actions via Ctrl+. or Source Action... from the right-click context menu does not always provide actions for unsorted imports. I fresh installed vs-code and Python with appropriate extensions, opened one of my Python scripts and unsorted the imports, and attempting to use the above no options were provided to sort imports aside from the command for Organize Imports.
Perhaps I'm being pedantic but I like having the option to sort imports via context-menu when reading many files with many lines of code. Two mouse-clicks versus taking my hand off the mouse to press three keys. Fewer actions are better.
I think this change should be reverted such that "Sort Imports" becomes "Organize Imports".
😊 Added smiley face to take off the edge of this lemony request

Thanks for the feature request! We are going to give the community 60 days from when this issue was created to provide 7 👍 upvotes on the opening comment to gauge general interest in this idea. If there's enough upvotes then we will consider this feature request in our future planning. If there's unfortunately not enough upvotes then we will close this issue.

We have 8 votes now.

This is driving me nuts too

I want to better understand the use case here, in settings you can add:
"[python]": {
        "editor.codeActionsOnSave": {
            "source.organizeImports.isort": "explicit"
        }
    },

This will trigger this automatically on save. Is that not enough?

Imo, it's not enough. It is bad UX
Let the user have a control over the settings. If there's a way to set it explicitly, there should be a way to do it implicitly as well. Just my two cents.
[Hashtag]BringBackOurBelovedMenuOption ✋🏾

An MS developer suggested the removal of a feature and deemed it redundant without justification or replacement.

There was justification, but it was in a meeting about this specific menu item with the wider VS Code team. This decision was not done flippantly or lightly.

I opened an issue to address this absurdly random code change.

Please keep the tone cordial or I will lock this issue. It is not absurd and it was not random. You are welcome to disagree with the decision, but rudeness is not okay.

I'm not sure why I have to provide a Use Case to revert a code change.

The reason we ask for a use case is we have our reasons for removing and any amount of code has a maintenance cost. As such, we are willing to at least discuss this with you, but it is not a "free" thing to bring the feature back. And honestly, this extension is already a bit "expensive" to maintain due to isort itself not being actively maintained, leading us to work around some bugs with isort.
Also note that if you strongly disagree with us not having the menu item, you can always fork this extension to add it back or create your own extension that just adds the menu item and triggers this extension behind the scenes.

I miss a lot the context menu options as well. Please add it again.

@ohaucke  I edited your ✉ ⬆ to come off as more 😃 and less 😠, else it would likely would have ended up being hidden.


Contributor Issue assignee Graph

Things to note during review:

opendatahub-io is a good view of this graph (or any repo(s) that consistently do assignments)
We should consider before turning this query into a materialized view if we want to join on the contributors table to have the login info available off the bat for viewing on a local/private instance
the conversation on pages will definitely move the location of the graph. This location is temporary until we have a good home for it. I have a few visualizations that are close to done and once those are in lets discuss new page break downs
Ctrb_id on the hover is on the side. Currently thats the only way I can see how to do it with the cntb_id not being static (spent multiple hours yesterday trying to figure it out)

@JamesKunstle lmk what you think, ill wait to do any changes on these two until we come to a consensus

@cdolfi Here's a unified response to your responses:
I've become aware of the subtlety of this visualization that I wasn't aware of last night, even looking at the processing steps: this shows new assignment events per contributor per bin, rather than number of issues contributor is assigned to per bin. Is that correct?
If that's the case, then I'd suggest a corresponding title like "Issue Assignment Events" or something - the subtlety has to be squashed because the analysis being done is more interesting than a naive count of something like "In march, Cali had 4 issues assigned to her, and in April those issues were still assigned, so the count is still 4."
I'd also suggest an Info along the lines of:
"Visualizes the number of times an issue was assigned to a contributor, per contributor, per time-bin."
This would clarify that what's being counted isn't the number of issues assigned to each contributor but rather the direct action of an issue being assigned. To me, that isn't immediately obvious when looking at the data without further context."
It's a comms problem way more than an analysis problem, and as always, we're trying to pack all the context into like, 4 words and 20 words for title and info, respectively haha.

@JamesKunstle So this visualization actually does show all issues that are currently assigned to them during that time interval. With the processing steps, it first takes out all the issues created after the time interval and closed before had, therefore only leaving the issues currently open during that time interval (and that has ever been assigned to them in the first place but.. ill get to this later in this comment).  Then it filters out the assignments or unassignments that occurred after the time interval.  Then counts the assignments and unassignments to get the delta even if they were assigned before that time interval.
This comment though did point out to me that I have not taken into account the issues that have never been assigned. This doesnt impact this visualization, but it greatly impacts the other one. Im going to change the query to work for both cases, so this has been extremely important logic for me revisit

@JamesKunstle Updated the query. With the left join (which is necessary to get all the issue values), the query is much slower which makes sense. Once we are locked in on this query and the pr equivalent ill get a materialized view made of it

@cdolfi I need to spend a bit more time with your PR now that I've read your latest comments- I don't think I intuited the nuance of the data initially. Will have all PR reviews for these four PRs in by end of my work day (will certainly be available at the start of your workday tomorrow.)

@JamesKunstle For some reason it is not letting me comment directly on your last one so Ill put it here. The count will never be negative because it is counting all assignments and un assignments up until the end date.
Lines 314-320 take out the issue assignments on issues that where opened after the end date, and the issues closed before the start date. This leaves the df_in_range to only be the issue assignments on issues that are open during the time interval.

lines 258-261: Takes all issue events that are "unassigned" and open during the time interval. Then cuts off any unassignments that have happened after the end date. Then NOTE: it does not cut off the assignments that happened before the time interval

lines 258-261: Takes all issue events that are "unassigned" and open during the time interval. Then cuts off any unassignments that have happened after the end date. NOTE: it does not cut off the assignments that happened before the time interval

It can be though of as a counter. For each assignment there is one more assigned to the contributor, and then for each un-assignment there is one less, so subtracting those two values gives you the number of assignments in that time interval. And this is only including assignments to that specific contributor (line 311).

@JamesKunstle ready for review based on comments

@JamesKunstle For some reason it is not letting me comment directly on your last one so Ill put it here. The count will never be negative because it is counting all assignments and un assignments up until the end date.
Lines 314-320 take out the issue assignments on issues that where opened after the end date, and the issues closed before the start date. This leaves the df_in_range to only be the issue assignments on issues that are open during the time interval.

lines 258-261: Takes all issue events that are "unassigned" and open during the time interval. Then cuts off any unassignments that have happened after the end date. Then NOTE: it does not cut off the assignments that happened before the time interval
lines 258-261: Takes all issue events that are "unassigned" and open during the time interval. Then cuts off any unassignments that have happened after the end date. NOTE: it does not cut off the assignments that happened before the time interval

It can be though of as a counter. For each assignment there is one more assigned to the contributor, and then for each un-assignment there is one less, so subtracting those two values gives you the number of assignments in that time interval. And this is only including assignments to that specific contributor (line 311).
@cdolfi

What happens if an issue, which is open across two time-windows, is assigned to a contributor in the first window and unassigned in the next window?
e.g. For January, issue 1 is opened and assigned to contrib 'A', then in Febuary it's unassigned to 'A' but isn't assigned to anyone else. It also isn't closed in Feb. Wouldn't this lead to a negative count for contributor 'A'? They'd have a single 'unassignment' event for Febuary.
Admittedly, this is a corner case, and perhaps I'm missing something obvious in the data or analysis, but it seems like this is possible.
--
Once this nuance is solved, I want to turn attention back to the Info section, but I want to understand the above situation from your perspective first. I fear that I might come across as too picky with the 'Info' section on some visualizations, but that's only because I'm frequently frustrated with other people's descriptions in similar settings and want our to be very clearly better.

@JamesKunstle For some reason it is not letting me comment directly on your last one so Ill put it here. The count will never be negative because it is counting all assignments and un assignments up until the end date.
Lines 314-320 take out the issue assignments on issues that where opened after the end date, and the issues closed before the start date. This leaves the df_in_range to only be the issue assignments on issues that are open during the time interval.

lines 258-261: Takes all issue events that are "unassigned" and open during the time interval. Then cuts off any unassignments that have happened after the end date. Then NOTE: it does not cut off the assignments that happened before the time interval

^ see note

lines 258-261: Takes all issue events that are "unassigned" and open during the time interval. Then cuts off any unassignments that have happened after the end date. NOTE: it does not cut off the assignments that happened before the time interval

^ see note

It can be though of as a counter. For each assignment there is one more assigned to the contributor, and then for each un-assignment there is one less, so subtracting those two values gives you the number of assignments in that time interval. And this is only including assignments to that specific contributor (line 311).
@cdolfi

What happens if an issue, which is open across two time-windows, is assigned to a contributor in the first window and unassigned in the next window?
e.g. For January, issue 1 is opened and assigned to contrib 'A', then in Febuary it's unassigned to 'A' but isn't assigned to anyone else. It also isn't closed in Feb. Wouldn't this lead to a negative count for contributor 'A'? They'd have a single 'unassignment' event for Febuary.

No, see above. Let me know if you want to hop on a call if it would be easier for me to explain the logic verbally

Admittedly, this is a corner case, and perhaps I'm missing something obvious in the data or analysis, but it seems like this is possible.
-- Once this nuance is solved, I want to turn attention back to the Info section, but I want to understand the above situation from your perspective first. I fear that I might come across as too picky with the 'Info' section on some visualizations, but that's only because I'm frequently frustrated with other people's descriptions in similar settings and want our to be very clearly better.

@cdolfi I read your note and the code thoroughly- I'm okay hopping on a call later but please read my side carefully too, because I'm confused where we're not connecting here.

Here's how the code reads in plain english:
Line 330: "Consider only issue assignment events for a specified contributor"
Line 333: "Only consider issues that were created before the end-date"
Line 336: "Only consider issues that were closed after the start date, or those that haven't ever been closed"
Line 339->341: "Get rows in df_in_range where the event that occurred was 'unassignment' and the action took place before the end-date"
Line 344->346: "Get rows in df_in_range where the event that occurred was 'assignment' and the action took place before the end-date"

With the above reading, it's feasible that a specific contributor could be assigned an issue in time bucket 1, have a df_assigned.shape[0] - df_unassign.shape[0] of exactly 1 for that bucket, and then in bucket 2 which follows bucket 1, be unassigned exactly one issue (that same issue) and have a df_assigned.shape[0] - df_unassign.shape[0] of exactly -1.
Within the same bucket it's obvious that an (assignment+unassignment) pair would contribute to a sum of 0, but I'm saying that it's possible for the value to be negative.

Another example:
In Bin 1, a contributor is assigned 50 issues.(Assignments-Unassignments) is 50 for that bin. Those issues obviously exist within the time range, and are never closed.
In Bin 6, which is 5 bins later than Bin 1, that contributor has done no work, so those 50 issues are unassigned from them. (Assignments - Unassignments) is -50 for that bin.

IMO this is a feature, not a bug, because seeing negative assignments for some bin is interesting in itself.

@cdolfi Okay take-two:
I understand now- the missing piece was not catching the detail "...does not cut off the assignments that happened before the time interval"
I see now that for each successive time-bin, unassignments are matching previously counted assignments, and new assignments without paired unassignments increase the count for that bin.


We should use Android SDK 25 if we want to use build tools 25.0.2

Because of different versions of Android build tools and SDK in thaliConfig (package.json), ThaliTestApp or TeamONE build fails with following message:

* What went wrong:
Execution failed for task ':processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Error: /Users/Lesnik/Workspace/Webstorm/thaliDevelopMerge/persona/cordova/platforms/android/gradlew: Command failed with exit code 1 Error output:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
/Users/Lesnik/Workspace/Webstorm/thaliDevelopMerge/persona/cordova/platforms/android/build/intermediates/res/merged/debug/values-v24/values-v24.xml:3: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.

/Users/Lesnik/Workspace/Webstorm/thaliDevelopMerge/persona/cordova/platforms/android/build/intermediates/res/merged/debug/values-v24/values-v24.xml:4: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.

/Users/Lesnik/Workspace/Webstorm/thaliDevelopMerge/persona/cordova/platforms/android/build/intermediates/res/merged/debug/values-v24/values-v24.xml:3: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.

/Users/Lesnik/Workspace/Webstorm/thaliDevelopMerge/persona/cordova/platforms/android/build/intermediates/res/merged/debug/values-v24/values-v24.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.

Built using merged master_Swift3_migration and master branches.

It's connected with compileSdk parameter

PR #1851


Extra padding at the bottom of code samples on localized pages

Code blocks (both JS and shell) have extra padding at bottom:

Compare with the same page in English:

This may be because the translated pages have:

...

While the en pages have

...

If there's any way to fix this via CSS without changing this in ALL the returned translated pages, we should do so.

bbcbc80 fixes it.


Results in CARLA legacy paper

I have two questions about the results presented in CARLA legacy paper, Table 1.

I assume that for those different tasks (straight, turn, navigation, and dynamic navigation) you have run 100 tests after training and reported the number of successful results. Could you please confirm my understanding? Obviously this is not the case for MP- my question refers to just IL and RL case.

How do you conclude that a certain experiment is successful? Obviously, we can visualize it, but is there any part in code that give us this conclusion?

Thanks,

Yes, i think you are right. This was basically the percentage of succesful episodes considering 25 episodes each. Of course the tests were performed after training.

The experiment is successful if :
The agent reachs the goal in less time than a certain time limit. The agent starts on a certain point A and is directed to reach a certain point B. For this benchmark, a collision is not considered as a reason for failure, the agent can collide and still succeed.

Thanks for your clarification.
I am still a bit confused about the results presented in legacy paper Table 1.
My question is which code has led to those results? driving_benchmark_example --corl2017 or something else?
Thanks.

The codes are on other CARLA organization repositories, we have the reinforcement learning and the imitation learning repos.
All the discussions with respect to benchmarks are moved to a new repo.
https://github.com/carla-simulator/driving-benchmarks


The identifier of the Resources was incorrect

The identifier of the resource for the ListingDataView was incorrect, it had to start with a capital letter in the example to work.

nvm, there is already a PR fixing this. Closed


gettext: 0.21.1 -> 0.22.4

Description of changes
https://savannah.gnu.org/news/?group=gettext
On Linux, gettext requires a working iconv, which breaks the build of xgcc in stage1.5. A workaround is to pass --disable-nls to the derivation of xgcc, then build gettext again in stage3, where a fresh glibc has been built.
On macOS, A patch is added for removing the dependency darwin.apple_sdk.frameworks.CoreServices introduced in https://github.com/autotools-mirror/gettext/commit/1bcf74a9fa6dcf33645f54a854dc49387e76a40b, since gettext is actually a prerequisite for building it (darwin.apple_sdk.frameworks -> pbzx -> xar -> bzip2 -> autoreconfHook -> autoconf -> texinfo -> gettext, or whatever which depends on autoreconfHook). I have no idea how to break the loop. @reckenrode, may I have your help?
Things done

Built on platform(s)

[ ] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build gettext gettext.passthru.tests

msgfmt -o fr.mo ../../../../gcc-13.2.0/libstdc++-v3/po/fr.po
msgfmt: Cannot convert from "ISO-8859-1" to "UTF-8". msgfmt relies on iconv(). This version was built without iconv().
make[4]: *** [Makefile:564: de.mo] Error 1
make[4]: *** Waiting for unfinished jobs....
msgfmt: Cannot convert from "ISO-8859-1" to "UTF-8". msgfmt relies on iconv(). This version was built without iconv().
make[4]: *** [Makefile:564: fr.mo] Error 1
make[4]: Leaving directory '/build/build/x86_64-unknown-linux-gnu/libstdc++-v3/po'
make[3]: *** [Makefile:576: all-recursive] Error 1
make[3]: Leaving directory '/build/build/x86_64-unknown-linux-gnu/libstdc++-v3'
make[2]: *** [Makefile:501: all] Error 2
make[2]: Leaving directory '/build/build/x86_64-unknown-linux-gnu/libstdc++-v3'
make[1]: *** [Makefile:11603: all-target-libstdc++-v3] Error 2
make[1]: Leaving directory '/build/build'
make: *** [Makefile:1042: all] Error 2
error: builder for '/nix/store/73cfjra6khpbazzgvq1a5f7f1qs7aibv-xgcc-13.2.0.drv' failed with exit code 2;
       last 10 log lines:
       > msgfmt: Cannot convert from "ISO-8859-1" to "UTF-8". msgfmt relies on iconv(). This version was built without iconv().
       > make[4]: *** [Makefile:564: fr.mo] Error 1
       > make[4]: Leaving directory '/build/build/x86_64-unknown-linux-gnu/libstdc++-v3/po'
       > make[3]: *** [Makefile:576: all-recursive] Error 1
       > make[3]: Leaving directory '/build/build/x86_64-unknown-linux-gnu/libstdc++-v3'
       > make[2]: *** [Makefile:501: all] Error 2
       > make[2]: Leaving directory '/build/build/x86_64-unknown-linux-gnu/libstdc++-v3'
       > make[1]: *** [Makefile:11603: all-target-libstdc++-v3] Error 2
       > make[1]: Leaving directory '/build/build'
       > make: *** [Makefile:1042: all] Error 2
       For full logs, run 'nix log /nix/store/73cfjra6khpbazzgvq1a5f7f1qs7aibv-xgcc-13.2.0.drv'.
error: 1 dependencies of derivation '/nix/store/x2i8c0mmcnq7fklnxs0gxy1dli08bd6j-bootstrap-stage2-gcc-wrapper-13.2.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/hmi74vblw28343xhl8cbc8p078fy8p65-bootstrap-stage2-stdenv-linux.drv' failed to build

It looks like it’s going to require Darwin bootstrap changes to have gettext use CoreServices. I made some progress tonight, but I’ll need to work on it some more tomorrow.

The following patch allows the Darwin stdenv to eval. I’ll kick off a build overnight, but I wanted to post it for feedback.
The patch breaks the infinite recursion by conditionally linking CoreServices. Early in the bootstrap, CoreServices is not linked. This should be safe because the set of programs is finite. We don’t have to worry about accidentally linking gettext against something that will crash (such as aria2, which motivated the change). At the end of the bootstrap when everything is rebuilt against the final libraries, gettext is linked against CoreServices from a previous stage. That should be safe to do because CoreServices is a system framework.
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index 4f81df001cc0..906edc0b446e 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, libiconv, xz, bash
+{ stdenv, lib, fetchurl, libiconv, xz, bash, darwin
 }:

 # Note: this package is used for bootstrapping fetchurl, and thus
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
     # fix reproducibile output, in particular in the grub2 build
     # https://savannah.gnu.org/bugs/index.php?59658
     ./0001-msginit-Do-not-use-POT-Creation-Date.patch
+  ] ++ lib.optionals (darwin.apple_sdk.frameworks.CoreServices == null) [
     # prevent infinite recursion for the darwin stdenv
     ./0002-Revert-Avoid-crash-on-macOS-14.patch
   ];
@@ -62,6 +63,9 @@ stdenv.mkDerivation rec {
   ++ lib.optionals (!stdenv.isLinux && !stdenv.hostPlatform.isCygwin) [
     # HACK, see #10874 (and 14664)
     libiconv
+  ]
+  ++ lib.optionals (stdenv.isDarwin && darwin.apple_sdk.frameworks.CoreServices != null) [
+    darwin.apple_sdk.frameworks.CoreServices
   ];

   setupHooks = [
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index c94c56daae1c..b4b0cdf3e7a0 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -452,6 +452,9 @@ in

       curl = super.curlMinimal;

+      # Don’t link CoreServices during the bootstrap to prevent an infinite recursion.
+      gettext = super.gettext.override { darwin.apple_sdk.frameworks.CoreServices = null; };
+
       # Disable tests because they use dejagnu, which fails to run.
       libffi = super.libffi.override { doCheck = false; };

@@ -1082,6 +1085,13 @@ in
         inherit (prevStage) fetchurl;
       };

+      # Use CoreServices from the previous stage to avoid an infinite recursion.
+      gettext = super.gettext.override {
+        darwin.apple_sdk.frameworks = {
+          inherit (prevStage.darwin.apple_sdk.frameworks) CoreServices;
+        };
+      };
+
       libyaml = super.libyaml.override {
         inherit (prevStage) fetchFromGitHub;
       };

It took longer than expected, but I can confirm I was able to bootstrap the Darwin stdenv with the above patch on both aarch64- and x86_64-darwin.
$ ./result-aarch64/bin/gettext --version
gettext (GNU gettext-runtime) 0.22.4
Copyright (C) 1995-2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Ulrich Drepper.
$ otool -L ./result-aarch64/bin/gettext
./result-aarch64/bin/gettext:
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1770.255.0)
	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 1122.11.0)
	/nix/store/k36qfqm8qplpp7ay8q7kq3yi17jfb4bk-gettext-0.22.4/lib/libintl.8.dylib (compatibility version 13.0.0, current version 13.0.0)
	/nix/store/nz4fff34byj1jjy1hka717rhpi7ma2i9-libiconv-50/lib/libiconv.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.60.1)
$  otool -L ./result-x86_64/bin/gettext
./result-x86_64/bin/gettext:
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1349.8.0)
	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 775.19.0)
	/nix/store/c8ajzwdwr3drjjri6cyd2jx9prd5jy0v-gettext-0.22.4/lib/libintl.8.dylib (compatibility version 13.0.0, current version 13.0.0)
	/nix/store/jbbxab2nl7hs56rxlr16a64ik1rcm8sn-libiconv-50/lib/libiconv.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2)

I have a few changes I was planning to submit as cleanup for Darwin but haven’t had an opportunity to do so yet. If you’d like to include them, see below. Otherwise, I can cherry-pick them into a separate PR.

https://github.com/reckenrode/nixpkgs/commit/7698dfe7bd27cc1caddbd44f8b19933461ddabb3 - fixes building FontForge with gettext 0.22;
https://github.com/reckenrode/nixpkgs/commit/71b04150a0d71a7b008cb02f8b2c7640cd7676f2 - propagating frameworks from the stdenv breaks overrideSDK;
https://github.com/reckenrode/nixpkgs/commit/ecd4aa5193c9119415ceb63d6375cc2567916e9e - clang 18 compatibility;
https://github.com/reckenrode/nixpkgs/commit/206842a1e33f0b15e47d41ad73bb34774c287584 - add a separate dev output (also needed for Darwin’s bootstrap); and
https://github.com/reckenrode/nixpkgs/commit/3506856ee316d9967e9f466fe42a74b5d6c50893 - only use out on Darwin;

Thinking about it some more, those last two commits are probably required. IIRC propagating CoreServices means it has to be included in the stdenv’s allowedRequisites.

Friendly ping :) Any update on this?

The last attempt to update gettext stalled out due to the needed Darwin changes. Fortunately, https://github.com/NixOS/nixpkgs/pull/346043 should make them all unnecessary. It’s not necessary to propagate frameworks anymore, so no stdenv changes are needed.
The FontForge and clang 18 changes are needed though.

@wegank Are you okay for this to be undrafted and merged (either into staging or into llvm-19 for https://github.com/NixOS/nixpkgs/pull/354107)?

I haven't tested on x86_64-darwin, but feel free to take the commits.

I’ll merge into llvm-19 to minimize risk, since we’ve been doing a lot of Darwin testing there and this would unblock our progress on the bump. Thank you!


docs: Update refresh_token_expires_in value

Why:
Closes:  https://github.com/github/docs/issues/32084

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[x] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline (this link will be available after opening the PR).

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

@gonmmarques Thanks so much for opening a PR with this fix! I'll get this merged 🍏


podspec lint failing with latest Xcode 7 beta 5

There's a problem validating the pod spec for 2.0-beta5 at the moment.
See http://stackoverflow.com/questions/32098766/podspec-lint-failing-with-latest-xcode-beta
If anyone has a solution please leave it here or on SO.
Cheers
Ash

Possibly a related issue, trying to build an app containing Reachability.swift (without using Pods) in Xcode Beta 5 causes a segmentation fault (11) apparently at the initializer:
Snippet of the log:

While type-checking 'init' at /path/removed/for/security/Reachability.swift:85:24

While type-checking declaration 0x7fbffc91a350 at /path/removed/for/security/Reachability.swift:86:9

While type-checking expression at [/path/removed/for/security/Reachability.swift:86:19 - line:86:113] RangeText="SCNetworkReachabilityCreateWithName(nil, (hostname as NSString).UTF8String).takeRetainedValue()"

While type-checking expression at [/path/removed/for/security/Reachability.swift:86:19 - line:86:113] RangeText="SCNetworkReachabilityCreateWithName(nil, (hostname as NSString).UTF8String).takeRetainedValue()"

While type-checking expression at [/path/removed/for/security/Reachability.swift:86:19 - line:86:95] RangeText="SCNetworkReachabilityCreateWithName(nil, (hostname as NSString).UTF8String).t"

Command failed due to signal: Segmentation fault: 11


retis not restarting from preset trajectory number

Hello,
I am trying to restart a retis calculation from the last step by setting also the trajectory number the engine should use. I am trying this with a script that worked well with the nc database file, but somehow fails to get the right trajectory number now. The job starts alright but instead of numbering the saved trajectories from the requested number the counting starts at 1 (and it overwrites the old files). I  am using gromacs as engine.
I copy my script below.
Thanks a lot in advance!!
Gyorgy
import openpathsampling as paths
from openpathsampling.experimental.storage import monkey_patch_all
from openpathsampling.experimental.storage import Storage
paths = monkey_patch_all(paths)
paths.InterfaceSet.simstore = True
os.environ["HDF5_USE_FILE_LOCKING"] = "FALSE"
tag = "retis1"
storage = Storage(tag+".db", mode='a')
engine = storage.engines[0]
engine._traj_num = 76
retis_calc = storage.pathsimulators[0]
retis_calc.restart_at_step(storage.steps[-1])
retis_calc.run(50000)

Hey, is this a copy of #1101
If so, would the quick and dirty solution from this comment work for you, while we swap to RandomStringFilenames for OPS 2.0?

Hey,
Thanks a lot, this indeed does solve my problem!
However, for RETIS I needed to modify this:
num_steps = len(storage.steps)
because repex and path reversal moves don't yield new trajectories therefore, I need to provide the sum of the number of minus and shooting moves only. But otherwise the solution works fine!
Out of curiosity: why setting the trajectory number like this 'engine._traj_num = ...' doesn't work anymore (which used to with the old nc database files)?
Thanks again.
gyorgy

However, for RETIS I needed to modify this: num_steps = len(storage.steps)

The easiest thing here is probably going to be to just manually figure out what the last step number used was. In fact, it doesn't matter whether the trajectory numbers are actually sequential (which is why we switched to random strings); it does matter that they don't repeat. So if the highest from the previous run was 76, and you restart from 100 (or 1000), everything should be fine.

Out of curiosity: why setting the trajectory number like this engine._traj_num = ... doesn't work anymore (which used to with the old nc database files)?

Are you sure this is filetype-related and not OPS version? In #933 we made some major changes to internal structure of the Gromacs engine. That moved the internal location where we track the trajectory number (_traj_num) out of the engine itself and into a separate modular object which sets the filename. The idea is that if you use the random string filenames instead of sequential numbers, there's no concept of a "number" to track. That change is definitely part of the difference that you're seeing. There may be also be something specific for nc files, but I don't immediately know what that would be.

Out of curiosity: why setting the trajectory number like this 'engine._traj_num = ...' doesn't work anymore (which used to with the old nc database files)?

This seems like a side effect of: https://github.com/openpathsampling/openpathsampling/pull/933 , specifically this changed line.

The easiest thing here is probably going to be to just manually figure out what the last step number used was.

For a slightly more rubust solution (in my opinion) you could have a look at the proposed restart_at_step code here (part of #1105 )
I will close this as a duplicate of #1101 to keep our issue tracker clean. Feel free to reopen if you don't agree with this


Trying to understand the API, "encode".

I'm trying to understand the API, in particular the results of "encode()".
I'm using the npm package in NodeJS.
It seems to not return a simple Buffer object, but instead an JS object with a buffer field and offset. markedOffset, limit, littleEndian and noAssert.
What am I doing wrong?

These are ByteBuffer objects.
See also:

ByteBuffer.js API
ProtoBuf.js API
ProtoBuf.js Wiki

That explains it.
Many thanks,
Chris.


reworked addbot cmd and added testclient spawn cmd.

addbot
addtestclient
if arg is not filled it will only spawn one bot/testclient.

Can you please identify yourself on Discord in the #coding section?


github-action-renovate-config-validatorの導入

https://github.com/suzuki-shunsuke/github-action-renovate-config-validator

closed #535


[Experiment] feat(18497): New Feature Requesting for const Parameter

Fixes #18497

The thing we've discussed (offline?) is just having a setting for "all parameters are always const", since in practice it isn't much of a burden to always write code that way. Introducing an actual inline const keyword is unlikely to happen due to this being an area clearly in TC39's domain. https://github.com/microsoft/TypeScript/issues/18497#issuecomment-738941020

One concern related to the name of this setting - there are proposals for "const contexts" of parameters and this name can easily clash with those potential features.
A const context~ would allow literals to be inferred for schema-like arguments:
declare function constIdentity<const T>(a: T): T

const result = constIdentity({ type: 'test' })
//    ^? const result: { type: 'test' }
// whereas without this feature this currently gets inferred to { type: string }

Note that I've obviously just invented some syntax and perhaps this feature would look completely differently (if it ever becomes a thing in the first place) but we can see how it's not that unlikely that const keyword could potentially be somehow involved in such a feature (as it would relate nicely to existing as const)

True, but there’s also const foo = 42; which this is analogous to (prevents reassignment, vs. normal parameter semantics which act like let).  So that potentially confusing overloading of the meaning of const already exists in TS.

I like this idea, but it feels a bit like a lint rule in that I would want to disable it on purpose about 2% of the time. It's a lot like noUnusedParameters or noUnusedLocals, which I also wish were lint rules.

It's a lot like noUnusedParameters or noUnusedLocals, which I also wish were lint rules.

@sandersn Do you think avoiding adding lint-like options would be better? It's just an experiment (from time to time I create experiments to get feedback from the TypeScript team or community), so I'm okay with closing it to reduce the number of PRs.

I'd prefer to close the PR and keep the issue open until we decide on something final there. The semantics of a suggestion often change and the compiler code changes often, meaning that early work usually has to be redone.


layers: fix CMakeLists.txt to support non MSVC win builds

Fix a recent change broke windows builds that don't use the VC IDE or decorate build trees like VC does
Change-Id: I93c8a559c4255408a6fa890b2a3e4d81822d1cea

+1.  Fixed commit message and pushed to Master.


For Easier management

Some Minor design changes along with separating exam info to another file for easier management

I like how you made the code shorter in Examlist.
There are few things you need to change.

Please do not change meta tags information or description.
I personally found the new badges color bit inconsistent . The Github Logo is not needed for now , as it looks bloated.

I would suggest that you , re submit a PR with all the exams included , current one doesn't has comedk , mht etc.
And no major ui changes specially color. Just submit a pr with the Examinfo.ts file and its mapped part.
Thanks for your time and effort on this , very much appreciated , just some changes and we are good to go.

Is this fine?


Remove OpenStack-specific plugins

(same as https://github.com/PyCQA/bandit/pull/311 but excluding commits I wasn't trying to add)

Fixed :smile:


Service Request: Ampache

Reticketed from #52
Ampache seems to have its own HTML5 web player, but it is not used by Owncloud.
Ampache website

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

This ticket is ancient and I'm not sure whether it is still relevant. If anybody is interested in this service, please create a new ticket :+1:


mac address in bridged mode

I'm using --vmnet-mode=bridged, and my debian bookworm guest is able to get an IP that's in the same subnet as the macos(11.7.8) host. While it "works", I see that my router's dhcp server sees both the macos host and the debian guest IPs on the same MAC address. This MAC address is the same as the bridged interface's MAC address on the macos host. Using the arp command, I've verified that other hosts on my network also see the same mac address for both the macos host IP and the debian guest IP. Am I doing something wrong? After some digging, I found that Parallels also had a similar issue with the vmnet framework for a bit before they resolved it. You can see reports here -> https://forum.parallels.com/threads/pd16-on-big-sur-vm-not-using-the-configured-mac-address.351236/

@chetan-reddy can you add more details?

how do you create the guest?
what is the output of ip a in the guest?
what is arp output on the host?

@nirs I was using qemu on macos to run the debian guest , but I've since completely switched over from macos to linux so I can no longer help debug this. Sorry. I'm going to close this issue.


Expose a timestamp as a PAC variable

When processing the result of a pipelinerun, users may want to know the timestamps of the commit/pipelinerun in order to compare the freshness of produced artifacts. It would be nice to have PAC be able to inject a timestamp into the PLR so that it can be used for comparison. Two options are:

The timestamp of the commit. This can be overridden by users when committing so it might not be strictly monotonically increasing with successive commits in a branch
The timestamp of the trigger event. This would be beneficial if the system is under load so tasks might take longer to complete, increasing the discrepancy variability if the timestamp is determined within a task in the triggered pipeline

I think git timestamp is something that would be available to query with the git commit SHA avail as annotation and API query to the vcs provider
unix timestamp of the trigger event sounds good to me as this could be easily used for sequences


MKLDNN can be turned off with env var

Description
MKLDNN can be turned off with USE_MKLDNN env flag
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[ ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] add fallback logic in storagetype to fallback if USE_MKLDNN var set

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

python example/image-classification/benchmark_score.py
INFO:root:batch size  1, dtype float32, images/sec: 18.603268
INFO:root:batch size  2, dtype float32, images/sec: 28.085829
INFO:root:batch size  4, dtype float32, images/sec: 40.856433
INFO:root:batch size  8, dtype float32, images/sec: 47.194993
INFO:root:batch size 16, dtype float32, images/sec: 50.532706
INFO:root:batch size 32, dtype float32, images/sec: 51.747587

USE_MKLDNN=0 python example/image-classification/benchmark_score.py
INFO:root:batch size  1, dtype float32, images/sec: 5.174663
INFO:root:batch size  2, dtype float32, images/sec: 5.668587
INFO:root:batch size  4, dtype float32, images/sec: 5.831225
INFO:root:batch size  8, dtype float32, images/sec: 5.870498
INFO:root:batch size 16, dtype float32, images/sec: 5.856749
INFO:root:batch size 32, dtype float32, images/sec: 5.871009

@taolv @zhennanqin

Maybe the env variable should start with MXNET_, like what we did for other MXNet env variables. Please also add document for it in this page: https://mxnet.incubator.apache.org/faq/env_var.html
Another question, what's the behavior of enabling this variable when MKL-DNN is not compiled into MXNet? Should we give a proper warning or tip for that?

@ZhennanQin there are some fcomputeex ops that are not mkldnn (customop is one example). something I did in another PR (https://github.com/apache/incubator-mxnet/pull/12019) was set an attr on all MKLDNN operators. if we wait for that merge we could then check if the operator is mkldnn and if the flag is set and fallback before calling inferstorage type.

@pengzhao-intel review / approve please

Looks good.
One tip:  Could we add an info message to let the user know the MKLDNN is disabled now by "MXNET_MKLDNN_ENABLED=0" and it can be switched on with env setting again?
I afraid the user will forget this env setting in some bash file and then can't get the correct performance.

No problem. Do you know the best place to put that info? I asked around last week and there doesn't seem to be a consensus.

I look into the code. The message should be in the top level of OP but seem no proper place now.
So, how about waiting the #12019 is merged and then we only need to change InferStorageType where we can write the message too?

Looks fine now even the fallback log is appeared many times :)
The good thing is the user would not miss this important info.
[patric@mlt-skx084 image-classification]$ export MXNET_MKLDNN_ENABLED=0
[patric@mlt-skx084 image-classification]$ python benchmark_score.py
/home/patric/.local/lib/python2.7/site-packages/h5py/__init__.py:34: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
INFO:root:network: alexnet
INFO:root:device: cpu(0)
/home/patric/develop/mxnet-mkldnn-env/python/mxnet/module/base_module.py:66: UserWarning: Data provided by label_shapes don't match names specified by label_names ([] vs. ['softmax_label'])
  warnings.warn(msg)
[23:26:40] src/executor/../operator/../common/utils.h:447:
Storage type fallback detected:
operator = Convolution
input storage types = [default, default, default, ]
output storage types = [default, ]
params = {"num_filter" : 96, "stride" : (4, 4), "kernel" : (11, 11), }
context.dev_mask = cpu
The operator with default storage type will be dispatched for execution. You're seeing this warning message because the operator above is unable to process the given ndarrays with specified storage types, context and parameter. Temporary dense ndarrays are generated in order to execute the operator. This does not affect the correctness of the programme. You can set environment variable MXNET_STORAGE_FALLBACK_LOG_VERBOSE to 0 to suppress this warning.
[23:26:40] src/executor/../operator/../common/utils.h:447:
Storage type fallback detected:
operator = Activation
input storage types = [default, ]
output storage types = [default, ]
params = {"act_type" : relu, }
context.dev_mask = cpu
The operator with default storage type will be dispatched for execution. You're seeing this warning message because the operator above is unable to process the given ndarrays with specified storage types, context and parameter. Temporary dense ndarrays are generated in order to execute the operator. This does not affect the correctness of the programme. You can set environment variable MXNET_STORAGE_FALLBACK_LOG_VERBOSE to 0 to suppress this warning.
[23:26:40] src/executor/../operator/../common/utils.h:447:
Storage type fallback detected:
operator = LRN
input storage types = [default, ]
output storage types = [default, default, ]
params = {"knorm" : 2, "beta" : 0.75, "nsize" : 5, "alpha" : 0.0001, }
context.dev_mask = cpu
The operator with default storage type will be dispatched for execution. You're seeing this warning message because the operator above is unable to process the given ndarrays with specified storage types, context and parameter. Temporary dense ndarrays are generated in order to execute the operator. This does not affect the correctness of the programme. You can set environment variable MXNET_STORAGE_FALLBACK_LOG_VERBOSE to 0 to suppress this warning.
[23:26:40] src/executor/../operator/../common/utils.h:447:
Storage type fallback detected:
operator = Pooling
input storage types = [default, ]
output storage types = [default, default, ]
params = {"stride" : (2, 2), "pool_type" : max, "kernel" : (3, 3), }
context.dev_mask = cpu
The operator with default storage type will be dispatched for execution. You're seeing this warning message because the operator above is unable to process the given ndarrays with specified storage types, context and parameter. Temporary dense ndarrays are generated in order to execute the operator. This does not affect the correctness of the programme. You can set environment variable MXNET_STORAGE_FALLBACK_LOG_VERBOSE to 0 to suppress this warning.
[23:26:40] src/executor/../operator/../common/utils.h:447:
Storage type fallback detected:
operator = Convolution
input storage types = [default, default, default, ]
output storage types = [default, ]
params = {"num_filter" : 256, "pad" : (2, 2), "kernel" : (5, 5), }
context.dev_mask = cpu
The operator with default storage type will be dispatched for execution. You're seeing this warning message because the operator above is unable to process the given ndarrays with specified storage types, context and parameter. Temporary dense ndarrays are generated in order to execute the operator. This does not affect the correctness of the programme. You can set environment variable MXNET_STORAGE_FALLBACK_LOG_VERBOSE to 0 to suppress this warning.
[23:26:40] src/executor/../operator/../common/utils.h:447:
Storage type fallback detected:
operator = Convolution
input storage types = [default, default, default, ]
output storage types = [default, ]
params = {"num_filter" : 384, "pad" : (1, 1), "kernel" : (3, 3), }
context.dev_mask = cpu
The operator with default storage type will be dispatched for execution. You're seeing this warning message because the operator above is unable to process the given ndarrays with specified storage types, context and parameter. Temporary dense ndarrays are generated in order to execute the operator. This does not affect the correctness of the programme. You can set environment variable MXNET_STORAGE_FALLBACK_LOG_VERBOSE to 0 to suppress this warning.
[23:26:40] src/executor/../operator/../common/utils.h:447:
Storage type fallback detected:
operator = Convolution
input storage types = [default, default, default, ]
output storage types = [default, ]
params = {"num_filter" : 256, "pad" : (1, 1), "kernel" : (3, 3), }
context.dev_mask = cpu
The operator with default storage type will be dispatched for execution. You're seeing this warning message because the operator above is unable to process the given ndarrays with specified storage types, context and parameter. Temporary dense ndarrays are generated in order to execute the operator. This does not affect the correctness of the programme. You can set environment variable MXNET_STORAGE_FALLBACK_LOG_VERBOSE to 0 to suppress this warning.
[23:26:40] src/executor/../operator/../common/utils.h:447:
Storage type fallback detected:
operator = FullyConnected
input storage types = [default, default, default, ]
output storage types = [default, ]
params = {"num_hidden" : 4096, }
context.dev_mask = cpu
The operator with default storage type will be dispatched for execution. You're seeing this warning message because the operator above is unable to process the given ndarrays with specified storage types, context and parameter. Temporary dense ndarrays are generated in order to execute the operator. This does not affect the correctness of the programme. You can set environment variable MXNET_STORAGE_FALLBACK_LOG_VERBOSE to 0 to suppress this warning.
[23:26:40] src/executor/../operator/../common/utils.h:447:
Storage type fallback detected:
operator = FullyConnected
input storage types = [default, default, default, ]
output storage types = [default, ]
params = {"num_hidden" : 1000, }
context.dev_mask = cpu
The operator with default storage type will be dispatched for execution. You're seeing this warning message because the operator above is unable to process the given ndarrays with specified storage types, context and parameter. Temporary dense ndarrays are generated in order to execute the operator. This does not affect the correctness of the programme. You can set environment variable MXNET_STORAGE_FALLBACK_LOG_VERBOSE to 0 to suppress this warning.
[23:26:40] src/executor/../common/utils.h:447: MXNET_MKLDNN_ENABLED flag is off. You can re-enable by setting MXNET_MKLDNN_ENABLED=1
INFO:root:batch size  1, dtype float32, images/sec: 82.074852
INFO:root:batch size  2, dtype float32, images/sec: 79.050781
INFO:root:batch size  4, dtype float32, images/sec: 96.430868
INFO:root:batch size  8, dtype float32, images/sec: 110.427058
INFO:root:batch size 16, dtype float32, images/sec: 117.611687
INFO:root:batch size 32, dtype float32, images/sec: 114.142417

moved the log into the fallback code so it should work for gluon / imperative as well. that being said, we should probably clean up the logs in a future cause it's becoming messy.

@eric-haibin-lin <3


Caliper-application should be able to infer the blockchain via the config files

At the moment the caliper-application needs to be passed a -t flag to pick the correct adapter to use.
It would be better if it could inspect the config file to determine this, thereby removing a parameter

This is resolved.


How to prepend rows instead of append?

Hello! So I've been able to almost get it working to make the append button prepend a row, but the main issue is that it scrolls to the bottom row every time, whereas I'd like to configure it to scroll to the top. Is there a built in way to do this?

I'll add an option for the next release, should be easy enough to do.

You can now return Promise<"bottom" | "top" | undefined> from the onRowAppended callback and it will assume the append is happening at the specified location.

Expect to see this in 3.1.0

Thanks so much!


Add support for motor 2.5

Motor 2.5 was released in July. It would be great if odmantic can support it.

please add motor2.5 support, this package is nice, please don't make it obsolete

This still being maintained? Tests appear to pass for < 2.6.0: https://github.com/art049/odmantic/pull/160

looks like package is no longer maintained, so i migrated my project from odmantic to beanie https://roman-right.github.io/beanie/

Done with support for motor 3.0 in 0.5.0 release


Use contentPath instead of content_path

The API docs say content_path, but Connect Server is sending contentPath.
You may want to fix it on the Connect Server side instead, in which case we can close this PR.
I tested against Connect Server v1.5.4.

We've just released Connect v1.5.5 which addresses the content_path bug that you've identified.
Thank you again for finding the bug.
I'll close this PR since it no longer applies.


Governance CCO Dashboard not picking up data from my subscription.

After logging into my subscription, data starts loading into the template but the dashboard is not detecting the resources in my subscription. I cross-checked the policies in my subscription and they were not showing up in the dashboard.
Version - CCO Power BI Governance Dashboard v2.2.pbit
I have worked with Microsoft Power BI Support team, they were not able to give any solution and asked me to raise an issue here,
hoping for a solution soon.

Please, check if the information is already in the dashboard tables or not:
Go to tables:

Filter by subscription and check in information was loaded:

Information is not loaded as can be seen in the below screenshot:

After opening this file using Power BI, it is asking me to connect to my subscription.

After the connection is established, it is trying to load the data as seen below:

Then I can see the template but without any data from my subscription.

hi  josunefon any update on this? Blocking deployment of the dashboard to assist with getting governance reporting going..

@SamratGunner and @crousseau999  As I see nothing is being loaded, just for checking if it's something related with the permissions.

Open an empty Power BI report,

Go to get data

Paste this URL: https://management.azure.com/subscriptions?api-version=2020-01-01

And let me know if you can retrieve a list of the subsctiptions where you have access


Dadaset

Hello. Is REDDIT-MULTI-5K dataset part of REDDIT-MULTI-12K dataset?

Thank you very much for your reply. That is to say, there are 5+11 labels in the two datasets, right?

Yes 5 classes for the 5K dataset; 11 classes for the 12K dataset. The original datasets are proposed by the Deep Graph Kernel Paper.

Yes 5 classes for the 5K dataset; 11 classes for the 12K dataset. The original datasets are proposed by the Deep Graph Kernel Paper.

Thank you very much.

Hi. I want to ask you something about REDDIT-MULTI-12K dataset. The corresponding labels of AskReddit, AdviceAnimals, atheism, aww, IAmA, mildlyinteresting, Showerthoughts, videos, todayilearned, worldnews and TrollXChromosomes are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 ??? I download the dataset from https://ls11-www.cs.tu-dortmund.de/staff/morris/graphkerneldatasets. Thank you very much.


[$250] No popup to open desktop app for 'Try New Expensify' link

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v9.0.60-2
Reproducible in staging?: Y
Reproducible in production?: Y
Issue was found when executing this PR: https://github.com/Expensify/App/pull/52255
Email or phone of affected tester (no customers): applausetester+bp2410d@app;ause.expensifail.com
Issue reported by: Applause Internal Team
Action Performed:
Precondition: user is logged in OD.

OD: Go to Settings > Account
Click on Credit Card Import > Import Card/Bank
Click on Privacy at the bottom
Go back to OD
Click on 'Try New Expensify'

Expected Result:
User is redirected to NewDot application. Popup with suggestion to open desktop app appears.
Actual Result:
User is redirected to NewDot application. No popup with suggestion to open desktop app.
Workaround:
Unknown
Platforms:

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/7735fcf3-75af-4a95-92de-2760f1dfa248

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021859311638145427434
Upwork Job ID:<PHONE_NUMBER>145427434
Last Price Increase: 2024-11-20

Issue OwnerCurrent Issue Owner: @Pujan92

Proposal
Please re-state the problem that we are trying to solve in this issue.
There is no prompt to open in desktop app.
What is the root cause of that problem?
When we open ND from OD, the link will have a transition path. If it's a transition URL, the prompt will be pending by App.beginDeepLinkRedirectAfterTransition().
https://github.com/Expensify/App/blob/67d7299079a14ee9dc22c17a5174209b70e9e61c/src/components/DeeplinkWrapper/index.website.tsx#L19-L31
beginDeepLinkRedirectAfterTransition will only resolved after signOnTransitionToFinishPromise promise is resolved.
https://github.com/Expensify/App/blob/67d7299079a14ee9dc22c17a5174209b70e9e61c/src/libs/actions/App.ts#L501-L503
It will be resolved in setUpPoliciesAndNavigate.
https://github.com/Expensify/App/blob/67d7299079a14ee9dc22c17a5174209b70e9e61c/src/libs/actions/App.ts#L441-L447
setUpPoliciesAndNavigate is called when the AuthScreen is mounted.
https://github.com/Expensify/App/blob/67d7299079a14ee9dc22c17a5174209b70e9e61c/src/libs/Navigation/AppNavigator/AuthScreens.tsx#L303
But as seen from the code above, the promise is only resolved if exitTo param is not empty. Currently, the exitTo param from OD is empty. exitTo=. So, the promise is never resolved.
What changes do you think we should make in order to solve the problem?

Fix the OD to provide the exitTo
OR
I think we should set a fallback to the exitTo when calling navigate. If it's empty, we use HOME.
https://github.com/Expensify/App/blob/67d7299079a14ee9dc22c17a5174209b70e9e61c/src/libs/actions/App.ts#L425
Then remove the check for exitTo.
https://github.com/Expensify/App/blob/67d7299079a14ee9dc22c17a5174209b70e9e61c/src/libs/actions/App.ts#L441
https://github.com/Expensify/App/blob/67d7299079a14ee9dc22c17a5174209b70e9e61c/src/libs/actions/App.ts#L419-L421
Also, when the exitTo is empty, it will show infinite loading

It's because when we navigate to HOME, it won't go anywhere because we are already at HOME, but the transition page is still at the nav stack.
https://github.com/Expensify/App/blob/67d7299079a14ee9dc22c17a5174209b70e9e61c/src/libs/actions/App.ts#L441-L446
So, we need to call Navigation.goBack too, but only if exitTo is empty because when exitTo is available, we already popped it out from LogOutPreviousUserPage. (basically we have 2 places of handling transition)
https://github.com/Expensify/App/blob/67d7299079a14ee9dc22c17a5174209b70e9e61c/src/pages/LogOutPreviousUserPage.tsx#L77-L87
if (!isLoggingInAsNewUser) {
    Navigation.waitForProtectedRoutes()
        .then(() => {
            if (isTransitioning && !exitTo) {
                Navigation.goBack();
            }
            Navigation.navigate(exitTo);
        })
        .then(endSignOnTransition);
}

OR
We can immediately call endSignOnTransition when exitTo isn't available.
https://github.com/Expensify/App/blob/67d7299079a14ee9dc22c17a5174209b70e9e61c/src/libs/actions/App.ts#L419-L421
https://github.com/Expensify/App/blob/67d7299079a14ee9dc22c17a5174209b70e9e61c/src/libs/actions/App.ts#L441-L447
if (!session || !currentUrl?.includes('exitTo')) {
    endSignOnTransition();
    return;
}

if (!isLoggingInAsNewUser && exitTo) {
    Navigation.waitForProtectedRoutes()
        .then(() => {
            Navigation.navigate(exitTo);
        })
        .then(endSignOnTransition);
} else {
    endSignOnTransition();
}

Opened up to the community since we have a proposal

@Pujan92 proposal above when you have a moment.

Let's go with @bernhardoj's proposal, by calling endSignOnTransition when exitTo isn't available.

PR is ready
cc: @Pujan92

BugZero Checklist:

[X] [Contributor] Classify the bug:

Bug classification

Source of bug:

[ ] 1a. Result of the original design (eg. a case wasn't considered)
[X] 1b. Mistake during implementation
[ ] 1c. Backend bug
[ ] 1z. Other:

Where bug was reported:

[ ] 2a. Reported on production
[ ] 2b. Reported on staging (deploy blocker)
[X] 2c. Reported on both staging and production
[ ] 2d. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[ ] 3b. Expensify employee
[ ] 3c. Contributor
[X] 3d. QA
[ ] 3z. Other:

[X] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment: https://github.com/Expensify/App/pull/17452/files#r1889958483

[X] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion: N/A

[X] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

[ ] [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:

Regression Test Proposal

In OD, press on 'Try New Expensify'
Verify when the NewDot opens, there is no infinite loading and there is a popup to open on a desktop

Do we agree 👍 or 👎

Payment summary:

Contributor: $250 @bernhardoj via New Expensify
Reviewer: @Pujan92 $250 via New Expensify

All contributors paid via New Expensify and the payment summary is above, so I'm closing this one.

Requested in ND.

Payment summary:

Contributor: $250 @bernhardoj via New Expensify
Reviewer: @Pujan92 $250 via New Expensify

$250 approved for @Pujan92