k8s-worker doest not initialise correctly

On mycubietruck, kube-config install runs well (I did not create the 1GB swap file) but when I run kube-config enable-worker:

it asked for the ip of the k8s master, which I provided
It pulled kubernetesonarm/* images
but then it said that job docker.service failed beauce a configured ressource limit was exceeded
and k8s-worker.service failed  because the control process exited with error code

[root@thanos ~]# systemctl status docker -l
* docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/docker.service.d
           `-docker-flannel.conf
   Active: failed (Result: start-limit) since Sun 2015-10-25 00:32:36 CEST; 11h ago
     Docs: https://docs.docker.com
 Main PID: 391 (code=exited, status=0/SUCCESS)

Oct 25 00:32:48 thanos systemd[1]: docker.service: Failed to run 'start-pre' task: No such file or directory
Oct 25 00:32:48 thanos systemd[1]: Failed to start Docker Application Container Engine.
Oct 25 00:32:48 thanos systemd[1]: docker.service: Failed with result 'resources'.
Oct 25 00:32:48 thanos systemd[1]: docker.service: Failed to load environment files: No such file or directory
Oct 25 00:32:48 thanos systemd[1]: docker.service: Failed to run 'start-pre' task: No such file or directory
Oct 25 00:32:48 thanos systemd[1]: Failed to start Docker Application Container Engine.
Oct 25 00:32:48 thanos systemd[1]: docker.service: Failed with result 'resources'.
Oct 25 00:32:48 thanos systemd[1]: docker.service: Start request repeated too quickly.
Oct 25 00:32:48 thanos systemd[1]: Failed to start Docker Application Container Engine.
Oct 25 00:32:48 thanos systemd[1]: docker.service: Failed with result 'start-limit'.

and :
[root@thanos ~]# systemctl status k8s-worker -l
* k8s-worker.service - The Master Components for Kubernetes
   Loaded: loaded (/usr/lib/systemd/system/k8s-worker.service; enabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: exit-code) since Sun 2015-10-25 11:05:55 CET; 4s ago
  Process: 19120 ExecStop=/usr/bin/docker stop k8s-worker k8s-worker-proxy (code=exited, status=1/FAILURE)
  Process: 19109 ExecStartPost=/usr/bin/docker run -d --name=k8s-worker-proxy --net=host --privileged kubernetesonarm/hyperkube /hyperkube proxy --master=http://${K8S_MASTER_IP}:8080 --v=2 (code=exited, status=1/FAILURE)
  Process: 19108 ExecStart=/bin/bash -c source /etc/kubernetes/k8s.conf; exec docker run --name=k8s-worker --net=host -v /var/run/docker.sock:/var/run/docker.sock kubernetesonarm/hyperkube /hyperkube kubelet --pod_infra_container_image=kubernetesonarm/pause --api-servers=http://${K8S_MASTER_IP}:8080 --v=2 --address=<IP_ADDRESS> --enable-server --hostname-override=$(/usr/bin/hostname -i | /usr/bin/awk '{print $1}') --cluster-dns=<IP_ADDRESS> --cluster-domain=cluster.local (code=exited, status=1/FAILURE)
  Process: 19101 ExecStartPre=/usr/bin/docker rm k8s-worker k8s-worker-proxy (code=exited, status=1/FAILURE)
  Process: 19096 ExecStartPre=/usr/bin/docker kill k8s-worker k8s-worker-proxy (code=exited, status=1/FAILURE)
 Main PID: 19108 (code=exited, status=1/FAILURE)

Oct 25 11:05:55 thanos systemd[1]: Failed to start The Master Components for Kubernetes.
Oct 25 11:05:55 thanos systemd[1]: k8s-worker.service: Unit entered failed state.
Oct 25 11:05:55 thanos systemd[1]: k8s-worker.service: Failed with result 'exit-code'.

When I look quickly at the output :

DNS can't be <IP_ADDRESS> in my context
Port 8080 on my k8s master is not opened

btw, when I did kube-config enable-master on my RPI1, there were no special output. So I don't know if it's working well or not. How can I track this ?
Thanks !

About the RPi 1: just type docker ps and systemctl status k8s-master
Why can't <IP_ADDRESS> be your DNS server?
In some cases, docker will fail strangely (resource limit) but come up some secs later
Could you provide the status of flannel? Docker failed because it didn't find the flannel subnet file:
Oct 25 00:32:48 thanos systemd[1]: docker.service: Failed to load environment files: No such file or directory
Oct 25 00:32:48 thanos systemd[1]: docker.service: Failed to run 'start-pre' task: No such file or directory

And I guess that flannel failed because the master is down.
Please test to restart your master and provide output from there.

I said <IP_ADDRESS> does not exist on my LAN ; so unless it has some sense at k8s level, it has no sense for me ;-)
On master:

docker ps does not return anything
k8s-master was stopped and disabled

On worker:
[root@thanos ~]# systemctl status flannel -l
* flannel.service - Flannel Overlay Network for Kubernetes
   Loaded: loaded (/usr/lib/systemd/system/flannel.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2015-10-25 00:32:28 CEST; 17h ago
 Main PID: 615 (docker)
   CGroup: /system.slice/flannel.service
           `-615 /usr/bin/docker -H unix:///var/run/system-docker.sock run --name=k8s-flannel --net=host --privileged -v /dev/net:/dev/net -v /var/lib/flannel:/run/flannel kubernetesonarm/flannel /flanneld --etcd-endpoints=http://<IP_ADDRESS>:4001

Oct 25 16:33:52 thanos docker[615]: E1025 15:33:52.984270 00001 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Oct 25 16:33:53 thanos docker[615]: E1025 15:33:53.986982 00001 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Oct 25 16:33:54 thanos docker[615]: E1025 15:33:54.989621 00001 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Oct 25 16:33:55 thanos docker[615]: E1025 15:33:55.992184 00001 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Oct 25 16:33:56 thanos docker[615]: E1025 15:33:56.994727 00001 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Oct 25 16:33:57 thanos docker[615]: E1025 15:33:57.997252 00001 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Oct 25 16:33:59 thanos docker[615]: E1025 15:33:58.999962 00001 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Oct 25 16:34:00 thanos docker[615]: E1025 15:34:00.002492 00001 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Oct 25 16:34:01 thanos docker[615]: E1025 15:34:01.004956 00001 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Oct 25 16:34:02 thanos docker[615]: E1025 15:34:02.007474 00001 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured

Back on master :
[root@kubepi ~]# systemctl start k8s-master
Job for k8s-master.service failed because the control process exited with error code. See "systemctl status k8s-master.service" and "journalctl -xe" for details.
[root@kubepi ~]# systemctl status k8s-master
* k8s-master.service - The Master Components for Kubernetes
   Loaded: loaded (/usr/lib/systemd/system/k8s-master.service; enabled; vendor preset: disabled)
   Active: activating (start-post) since Sun 2015-10-25 17:35:49 EET; 6s ago
  Process: 4780 ExecStop=/usr/bin/docker stop k8s-master k8s-worker-proxy (code=exited, status=1/FAILURE)
  Process: 4792 ExecStartPre=/usr/bin/docker rm k8s-master k8s-worker-proxy (code=exited, status=1/FAILURE)
  Process: 4786 ExecStartPre=/usr/bin/docker kill k8s-master k8s-worker-proxy (code=exited, status=1/FAILURE)
 Main PID: 4798 (docker);         : 4799 (docker)
   CGroup: /system.slice/k8s-master.service
           |-4798 docker run --name=k8s-master --net=host -v /var/run/docker.sock:/var/run/docker.sock kubernetesonarm/hyperkube /hyperkube kubelet --pod_infra_container_ima...
           `-control
             `-4799 /usr/bin/docker run -d --name=k8s-worker-proxy --net=host --privileged kubernetesonarm/hyperkube /hyperkube proxy --master=http://localhost:8080 --v=2

Oct 25 17:35:50 kubepi docker[4786]: Error response from daemon: no such id: k8s-master
Oct 25 17:35:50 kubepi docker[4786]: Error response from daemon: no such id: k8s-worker-proxy
Oct 25 17:35:50 kubepi docker[4786]: Error: failed to kill containers: [k8s-master k8s-worker-proxy]
Oct 25 17:35:51 kubepi docker[4792]: Error response from daemon: no such id: k8s-master
Oct 25 17:35:52 kubepi docker[4792]: Error response from daemon: no such id: k8s-worker-proxy
Oct 25 17:35:52 kubepi docker[4792]: Error: failed to remove containers: [k8s-master k8s-worker-proxy]
Oct 25 17:35:53 kubepi docker[4799]: Unable to find image 'kubernetesonarm/hyperkube:latest' locally
Oct 25 17:35:53 kubepi docker[4799]: Repository kubernetesonarm/hyperkube already being pulled by another client. Waiting.
Oct 25 17:35:53 kubepi bash[4798]: Unable to find image 'kubernetesonarm/hyperkube:latest' locally
Oct 25 17:35:53 kubepi bash[4798]: Repository kubernetesonarm/hyperkube already being pulled by another client. Waiting.

So, on master, I'm pulling right now the images. I thought I did previously ?! o_O

Hmm seems images were not correctly pulled, I had first:
[root@kubepi ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>              <none>              e2cd940b564c        11 days ago         125.5 MB
<none>              <none>              234f6772e792        11 days ago         86.22 MB

Which became afer pulling again etcd:
[root@kubepi ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
kubernetesonarm/hyperkube   latest              fd5c7305c597        11 days ago         125.5 MB
kubernetesonarm/etcd        latest              cc678c339590        11 days ago         18.2 MB

Will go on and let you know.

I rebooted my RPI1 (master) and Cubie (Worker).
On master side:
[root@kubepi ~]# systemctl status k8s-master
* k8s-master.service - The Master Components for Kubernetes
   Loaded: loaded (/usr/lib/systemd/system/k8s-master.service; enabled; vendor preset: disabled)
   Active: activating (start-pre) since Sun 2015-10-25 17:53:10 EET; 1min 43s ago
  Control: 179 (docker)
   CGroup: /system.slice/k8s-master.service
           `-control
             `-179 /usr/bin/docker kill k8s-master k8s-worker-proxy

Oct 25 17:53:10 kubepi systemd[1]: Starting The Master Components for Kubernetes...
[root@kubepi ~]# systemctl status k8s-master
* k8s-master.service - The Master Components for Kubernetes
   Loaded: loaded (/usr/lib/systemd/system/k8s-master.service; enabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: timeout) since Sun 2015-10-25 17:55:21 EET; 3s ago
  Process: 300 ExecStartPre=/usr/bin/docker rm k8s-master k8s-worker-proxy (code=exited, status=1/FAILURE)
  Process: 179 ExecStartPre=/usr/bin/docker kill k8s-master k8s-worker-proxy (code=exited, status=2)

Oct 25 17:55:21 kubepi docker[300]: Error response from daemon: no such id: k8s-worker-proxy
Oct 25 17:55:21 kubepi docker[300]: Error: failed to remove containers: [k8s-master k8s-worker-proxy]
Oct 25 17:55:21 kubepi systemd[1]: Failed to start The Master Components for Kubernetes.
Oct 25 17:55:21 kubepi systemd[1]: k8s-master.service: Unit entered failed state.
Oct 25 17:55:21 kubepi systemd[1]: k8s-master.service: Failed with result 'timeout'.
[root@kubepi ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@kubepi ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
kubernetesonarm/flannel     latest              323b7a93d03b        11 days ago         90.25 MB
kubernetesonarm/pause       latest              22e22d3123c0        11 days ago         227 kB
kubernetesonarm/hyperkube   latest              fd5c7305c597        11 days ago         125.5 MB
kubernetesonarm/etcd        latest              cc678c339590        11 days ago         18.2 MB

On worker node side, I disabled the node and could see that etcd was not on the worker node.
root@thanos ~]# kube-config disable-node
Removed symlink /etc/systemd/system/multi-user.target.wants/k8s-worker.service.
Removed symlink /etc/systemd/system/multi-user.target.wants/flannel.service.
[root@thanos ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
kubernetesonarm/flannel     latest              323b7a93d03b        11 days ago         90.25 MB
kubernetesonarm/pause       latest              22e22d3123c0        11 days ago         227 kB
kubernetesonarm/hyperkube   latest              fd5c7305c597        11 days ago         125.5 MB
[root@thanos ~]# docker pull kubernetesonarm/etcd
[...]
Status: Downloaded newer image for kubernetesonarm/etcd:latest
[root@thanos ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
kubernetesonarm/flannel     latest              323b7a93d03b        11 days ago         90.25 MB
kubernetesonarm/pause       latest              22e22d3123c0        11 days ago         227 kB
kubernetesonarm/hyperkube   latest              fd5c7305c597        11 days ago         125.5 MB
kubernetesonarm/etcd        latest              cc678c339590        11 days ago         18.2 MB

What is funny as I try to set up a master both on rpi and cubietruck to see if any differences.
On cubietruck:
[root@thanos ~]# kube-config enable-master
Transferring images to system-docker
Copying kubernetesonarm/etcd to system-docker
Created symlink from /etc/systemd/system/multi-user.target.wants/etcd.service to /usr/lib/systemd/system/etcd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/flannel.service to /usr/lib/systemd/system/flannel.service.
Job for etcd.service failed because the control process exited with error code. See "systemctl status etcd.service" and "journalctl -xe" for details.
Job for docker.service failed because a configured resource limit was exceeded. See "systemctl status docker.service" and "journalctl -xe" for details.
Starting the master containers
Created symlink from /etc/systemd/system/multi-user.target.wants/k8s-master.service to /usr/lib/systemd/system/k8s-master.service.
Job for k8s-master.service failed because the control process exited with error code. See "systemctl status k8s-master.service" and "journalctl -xe" for details.
Master Kubernetes services enabled
[root@thanos ~]# systemctl status etcd -l
* etcd.service - Etcd Master Data Store for Kubernetes Apiserver
   Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Sun 2015-10-25 17:03:27 CET; 4min 4s ago
 Main PID: 1897 (code=exited, status=0/SUCCESS)

Oct 25 17:03:26 thanos docker[1897]: 2015/10/25 16:03:26 raft: newRaft ce2a822cea30bfca [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
Oct 25 17:03:26 thanos docker[1897]: 2015/10/25 16:03:26 raft: ce2a822cea30bfca became follower at term 1
Oct 25 17:03:26 thanos docker[1897]: 2015/10/25 16:03:26 etcdserver: added local member ce2a822cea30bfca [http://localhost:2380 http://localhost:7001] to cluster 7e27652122e8b2ae
Oct 25 17:03:26 thanos bash[1898]: Error:  501: All the given peers are not reachable (Tried to connect to each peer twice and failed) [0]
Oct 25 17:03:27 thanos systemd[1]: etcd.service: Control process exited, code=exited status=4
Oct 25 17:03:27 thanos docker[1897]: 2015/10/25 16:03:27 received terminated signal, shutting down...
Oct 25 17:03:27 thanos docker[1938]: k8s-etcd
Oct 25 17:03:27 thanos systemd[1]: Failed to start Etcd Master Data Store for Kubernetes Apiserver.
Oct 25 17:03:27 thanos systemd[1]: etcd.service: Unit entered failed state.
Oct 25 17:03:27 thanos systemd[1]: etcd.service: Failed with result 'exit-code'.
[root@thanos ~]# kube-config disable-node
Removed symlink /etc/systemd/system/multi-user.target.wants/k8s-master.service.
Removed symlink /etc/systemd/system/multi-user.target.wants/etcd.service.
Removed symlink /etc/systemd/system/multi-user.target.wants/flannel.service.
[root@thanos ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
kubernetesonarm/flannel     latest              323b7a93d03b        11 days ago         90.25 MB
kubernetesonarm/pause       latest              22e22d3123c0        11 days ago         227 kB
kubernetesonarm/hyperkube   latest              fd5c7305c597        11 days ago         125.5 MB
kubernetesonarm/etcd        latest              cc678c339590        11 days ago         18.2 MB

Wheras on RPI1:
[root@kubepi ~]# kube-config disable-node
[root@kubepi ~]# kube-config enable-master
Transferring images to system-docker
Copying kubernetesonarm/etcd to system-docker
Copying kubernetesonarm/flannel to system-docker

Can I check what is in system-docker to see if it's normal that in this case both etcd and flannel are copied whereas in first case, only etcd is ?

Nevermind, on master, I can't run it on armv6 due to GOARM v6 vs v7 issue:
[root@kubepi ~]# systemctl status flannel
* flannel.service - Flannel Overlay Network for Kubernetes
   Loaded: loaded (/usr/lib/systemd/system/flannel.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Sun 2015-10-25 18:16:59 EET; 5min ago

Oct 25 18:16:27 kubepi docker[2603]: Error response from daemon: no such id: k8s-flannel
Oct 25 18:16:27 kubepi docker[2603]: Error: failed to kill containers: [k8s-flannel]
Oct 25 18:16:28 kubepi docker[2609]: Error response from daemon: no such id: k8s-flannel
Oct 25 18:16:28 kubepi docker[2609]: Error: failed to remove containers: [k8s-flannel]
Oct 25 18:16:59 kubepi bash[2640]: runtime: this CPU has no VFPv3 floating point hardware, so it cannot run
Oct 25 18:16:59 kubepi bash[2640]: this GOARM=7 binary. Recompile using GOARM=6.
Oct 25 18:16:59 kubepi systemd[1]: flannel.service: Control process exited, code=exited status=1
Oct 25 18:16:59 kubepi systemd[1]: Failed to start Flannel Overlay Network for Kubernetes.
Oct 25 18:16:59 kubepi systemd[1]: flannel.service: Unit entered failed state.
Oct 25 18:16:59 kubepi systemd[1]: flannel.service: Failed with result 'exit-code'.

So I'll stop using my RPI1 so far as master and will focus on Cubietruck as master.

As this issue is going in many directions, not sure we'll get something out of this thread. Maybe it's better to close it and re-start from scratch.

Yeah, it might be best. Try to make a clean SD Card of latest dev branch.


Warning message when an HZ_AUTH environment variable is malformed

See issue #560.

This change is

@Tryneus (aka TrynTryn, or Big Tryn) could you cherry-pick to v1.x.x I am lazy. tks

Cherry-picked into v1.x.x in commit bb16ed7.


63012 scheduler remove doc before update

Cleanup previous replications during update.
In previous version of replicator replication documents were not updatable by
the user after they become "triggered". That ensured that each update to a
replication job necessarily happened via a document deletion first. Then first
update to the document was the creation of a replication job.
That design constraint was erroneously ported forward but is inconsistent with
current replicator behavior, as triggered state is not persisted to the
document anymore. The effect of this is on replication document updates a new
replication job is started by older replication job still stays running.
The fix is to allow document updates, not force user to do deletions first, and
before each update ensure to clean up any replication jobs.
Also clean up un-used VDU check for triggered state.

+1


Change the pathing of Wii mini

Change the pathing of Wii mini modding

I rebased this on top of the new theme changes.
Note I also commented out the images, because they don't exist yet; un-comment it when it is available.


Fix dangling next pointer 2

This is same as pull request 44 but with much cleaner test implementation.

Beautiful thank you ❤


FEATURE REQUEST: Amazon Managed Prometheus (AMP) Coverage

Currently, AMP is not covered by Moto.  For mock unit testing of boto-managed units/specs, as an automation engineer, I want to be able to unit test Amazon Managed Prometheus (AMP) services, specifically the following, to ensure independent unit test coverage of scripts / automation that use AMP:

create_workspace()
create_rule_groups_namespace()
list_workspaces()
describe_workspace()
list_rule_groups_namespaces()
describe_rule_groups_namespace()
... and the related paginators

Expected behavior (in PyTest):
conftest.py
from moto import mock_amp

@pytest.fixture
def aws_credentials():
    """Mocked AWS Credentials for moto."""
    os.environ["AWS_ACCESS_KEY_ID"] = "testing"
    os.environ["AWS_SECRET_ACCESS_KEY"] = "testing"
    os.environ["AWS_SECURITY_TOKEN"] = "testing"
    os.environ["AWS_SESSION_TOKEN"] = "testing"

@pytest.fixture
def amp_client(aws_credentials):
    with mock_amp():
        conn = boto3.client("amp")
        yield conn

... and in test file:
import pytest
import boto3.amp

@pytest.fixture()
def mock_amp_workspace(amp_client):
    workspace = amp_client.create_workspace(
         alias='fake_amp_workspace'
    )
    yield workspace

this looks to be resolved -- will check back in if it is not.  Thank you for the speedy resolve, @bblommers

Happy to help @amp5208!


TypeScript definitions on DefinitelyTyped

I've added type definitions for this package to DefinitelyTyped. Apparently I could not start a PR, because it would conflict with the typings you've already included here.
This one removes the typings as a prerequisite for starting a PR for this branch: https://github.com/DefinitelyTyped/DefinitelyTyped/compare/master...mfal:kadira-storybook

Why use DefinitelyTyped over specifying types in the package.json (as is currently done)? I'm not necessarily arguing against this change, but I'm curious about your reasoning. Including types in a package.json makes it so devs don't have to specify an additional dependency to fetch them.

I agree with @apexskier. Having typings in the repository means that they're versioned alongside with the source, guaranteeing that the typings are consistent with the source. Ideally I would rather not use Definitely Typed and have all typings defined in the package, but I don't see that happening anytime soon.

From a technically point of view you both are right: Keeping the typings along with the source itself is the preferred solution. This is usually the case, if the source is written in TypeScript.
But if it is not, you have to ask yourself: Is it OK for contributors to burden them with typings? Because when you @apexskier say "typings will be guaranteed to be consistent", they have to!
To not burden contributors with concepts of a different programming language, is the main reason for this approach.
BTW: Typings from DefinitelyTyped are also on NPM (npm i @types/kadira-storybook), so you can keep up the deps with your package.json very easily.

Hey @jtmthf, @apexskier!
What do you think about it now?

I'm still not convinced that there's a benefit to separating typings from the source.
If the interface is changed within the source, typings need to be updated. (Assuming there's "official" typescript support, which I think there is for storybook, considering that typings already exist.)
I consider it a lesser burden to update in a single location than having to commit code in a second place (two PRs, two discussions of implementation, two build processes). Having typings in a second place is less explicit, so contributors are less likely to know they're going to break things. It also makes it more likely that bugs will surface later, which will make tracking the breaking commit more difficult.
I recognize that it's an additional burden to contributors who aren't familiar with typescript. Luckily, since this is an open source community people can always ask for help!

When you keep up this strategy, I would at least recommend having a test along with the typings, that does a simple compile check.

The tests are not runnable in the TDD way but contain code that should compile with no errors, usually taken from the documentation samples of the library. - http://definitelytyped.org/guides/contributing.html

You can find one for uuid here.


Create I_Think_THIS_IS_EPIC

hello!!!!

Last 3 events are the best

Last 3 events are the best

Yeah, I think the same.


(Verified) suggestions for more sites

This is not an actual "issue", just a list of websites offering TTS voices that I have already successfully implemented for rendering TTS audio using simple internet requests (similar to the ones already available in this project). No accounts or access keys are needed for these, and the list has now grown to 100 engines/sites (all verified to be working as of today), offering more than 24.000 voices.
This is just in case you are looking for inspiration for more sites/voices to add (and with the certainty that these can actually be accessed using normal requests).
[ 0]: 'GoogleTranslate' [64 voices, 2 parameters] [http://translate.google.com/]
[ 1]: 'Festival' [18 voices, 2 parameters, Festival] [https://www.cstr.ed.ac.uk/projects/festival/]
[ 2]: 'Cerence' [138 voices, 1 parameter, Nuance Vocalizer] [https://codefactoryglobal.com/]
[ 3]: 'Sestek' [24 voices, 2 parameters] [https://ttsdemo.sestek.com/]
[ 4]: 'SpeechGen' [694 voices, 2 parameters, Amazon Polly, Microsoft Azure] [https://speechgen.io]
[ 5]: 'iSpeech' [40 voices, 2 parameters] [http://www.ispeech.org/]
[ 6]: 'VoiceRSS API' [49 voices, 4 parameters] [http://www.voicerss.org/]
[ 7]: 'VoiceRSS WEB' [49 voices, 2 parameters] [https://voicerss.org/]
[ 8]: 'Responsive Voice' [98 voices, 5 parameters] [https://responsivevoice.org/]
[ 9]: 'TextToMP3' [25 voices, 2 parameters] [https://www.texttomp3.online/]
[ 10]: 'Text2Speech' [6 voices, 3 parameters] [https://www.text2speech.org/]
[ 11]: 'IBM Watson' [30 voices, 4 parameters, IBM Watson] [https://www.ibm.com/demos/live/tts-demo/]
[ 12]: 'TTSMP3' [60 voices, 2 parameters, Amazon Polly] [https://www.ttsmp3.com/]
[ 13]: 'InfoRobo' [60 voices, 4 parameters] [https://inforobo.com/]
[ 14]: 'PlayHT' [829 voices, 5 parameters, Amazon Polly, Google Wavenet, IBM Watson, Microsoft Azure] [https://play.ht/]
[ 15]: 'TTSRobotRU' [46 voices, 4 parameters, Yandex] [http://texttospeechrobot.com/]
[ 16]: 'VoxWorker' [2 voices, 4 parameters] [https://voxworker.com/]
[ 17]: 'Acapela' [239 voices, 2 parameters] [https://www.acapela-group.com/]
[ 18]: 'AcapelaDemo' [1 voice, 2 parameters] [https://www.acapela-group.com/]
[ 19]: 'Cepstral' [27 voices, 5 parameters] [https://www.cepstral.com/]
[ 20]: 'ODO' [220 voices, 5 parameters, Espeak, MBROLA] [https://odo.lv/]
[ 21]: 'Cereproc' [134 voices, 2 parameters] [https://www.cereproc.com/]
[ 22]: 'TTSTool' [120 voices, 2 parameters, Amazon Polly, Microsoft Azure] [https://ttstool.com/]
[ 23]: 'TTSOnline' [12 voices, 4 parameters] [https://texttospeech.onl/]
[ 24]: 'Tetyys' [29 voices, 4 parameters, TruVoice, SAPI] [https://tetyys.com/]
[ 25]: 'JTalk' [6 voices, 5 parameters] [http://open-jtalk.sp.nitech.ac.jp/]
[ 26]: 'FliteHTS' [1 voice, 5 parameters, Festival] [http://flite-hts-engine.sp.nitech.ac.jp/]
[ 27]: 'ImTranslator' [11 voices, 3 parameters] [https://text-to-speech.imtranslator.net/]
[ 28]: 'Linguatec' [145 voices, 4 parameters, Nuance Vocalizer] [https://www.linguatec.de/]
[ 29]: 'Alfanum' [25 voices, 4 parameters] [https://www.alfanum.co.rs/]
[ 30]: 'SpeechTech' [15 voices, 2 parameters] [https://www.speechtech.cz/]
[ 31]: 'MelroseLabs' [60 voices, 2 parameters, Amazon Polly] [https://melroselabs.com/]
[ 32]: 'Listnr' [791 voices, 4 parameters, Amazon Polly, Google Wavenet, Microsoft Azure] [https://www.listnr.tech/]
[ 33]: 'ElevenLabs' [44 voices, 2 parameters] [https://beta.elevenlabs.io/]
[ 34]: 'Bhashini' [31 voices, 2 parameters] [https://tts.bhashini.ai/]
[ 35]: 'Oddcast' [288 voices, 3 parameters] [https://www.oddcast.com/]
[ 36]: 'Overdub' [8 voices, 2 parameters] [https://public.lyrebird.ai/]
[ 37]: 'Fasthub' [66 voices, 6 parameters] [https://fasthub.net/]
[ 38]: 'MicMonster' [488 voices, 2 parameters, Microsoft Azure] [https://micmonster.com/]
[ 39]: 'Uberduck' [41 voices, 2 parameters] [https://uberduck.ai/]
[ 40]: 'FakeYou' [3985 voices, 2 parameters] [https://fakeyou.com/]
[ 41]: 'NoteVibes' [181 voices, 2 parameters, Google Wavenet] [https://notevibes.com/]
[ 42]: 'RHVoice' [94 voices, 6 parameters] [https://data2data.ru/tts/]
[ 43]: 'VoiceMod' [21 voices, 3 parameters] [https://tuna.voicemod.net/text-to-speech]
[ 44]: 'BingTranslator' [313 voices, 4 parameters, Microsoft Azure] [https://www.bing.com/translator]
[ 45]: 'VoiceForge' [26 voices, 2 parameters] [https://voiceforge.com/]
[ 46]: 'Streamlabs' [60 voices, 2 parameters] [https://streamlabs.com/]
[ 47]: 'StreamElements' [205 voices, 2 parameters] [https://streamelements.com/]
[ 48]: 'OpenAI' [6 voices, 2 parameters] [https://platform.openai.com/]
[ 49]: 'ModelTalker' [20 voices, 2 parameters] [https://www.modeltalker.org/]
[ 50]: 'ReadTheWords' [15 voices, 2 parameters] [https://www.readthewords.com/]
[ 51]: 'ReadSpeaker' [132 voices, 2 parameters] [https://www.readspeaker.com/]
[ 52]: 'TTSFree' [731 voices, 2 parameters, Google Wavenet, Microsoft Azure] [https://ttsfree.com/]
[ 53]: 'Baidu' [6 voices, 4 parameters] [https://ai.baidu.com/tech/speech/tts_online]
[ 54]: 'VolcTrans' [36 voices, 2 parameters] [https://translate.volcengine.com/]
[ 55]: 'iMyPhone' [2564 voices, 2 parameters] [https://www.imyfone.com/]
[ 56]: 'GLaDOS' [1 voice, 2 parameters] [https://glados.c-net.org/]
[ 57]: 'AudioBot' [484 voices, 2 parameters, Google Wavenet, Microsoft Azure] [https://audio-bot.com/]
[ 58]: 'MP3TTS' [1255 voices, 7 parameters] [https://mp3tts.com/]
[ 59]: 'TextToVoice' [791 voices, 3 parameters, Amazon Polly, Google Wavenet, Microsoft Azure] [https://www.texttovoice.online/]
[ 60]: 'AnyToSpeech' [257 voices, 2 parameters, Google Wavenet] [https://anytospeech.com/]
[ 61]: 'Youdao' [58 voices, 3 parameters] [https://youdao.com/]
[ 62]: 'YoudaoDict' [37 voices, 2 parameters] [http://dict.youdao.com/]
[ 63]: 'SpanishDict' [2 voices, 2 parameters] [https://spanishdict.com/]
[ 64]: 'Yandex' [2 voices, 2 parameters, Yandex] [http://tts.voicetech.yandex.net/tts]
[ 65]: 'Naver' [16 voices, 5 parameters] [https://naver.com/]
[ 66]: 'Speechify' [221 voices, 2 parameters, Google Wavenet, Microsoft Azure, Speechify] [https://speechify.com/]
[ 67]: 'MWSReader' [26 voices, 2 parameters] [https://www.mwsreader.com/]
[ 68]: 'NextUp' [45 voices, 2 parameters, Ivona] [https://nextup.com/]
[ 69]: 'TTSMagic' [150 voices, 2 parameters, Amazon Polly, Google Wavenet, Microsoft Azure] [https://www.ttsmagic.com/]
[ 70]: 'Gesserit' [112 voices, 2 parameters, TikTok] [https://gesserit.co/]
[ 71]: 'Speech2Go' [47 voices, 2 parameters, Amazon Polly] [https://speech2go.online/]
[ 72]: 'TikTok' [112 voices, 2 parameters, TikTok] [https://weilbyte.github.io/tiktok-tts/]
[ 73]: 'Vidnoz' [313 voices, 2 parameters, Microsoft Azure] [https://www.vidnoz.com/]
[ 74]: 'Veed.io' [565 voices, 2 parameters, Microsoft Azure] [https://www.veed.io/]
[ 75]: 'Voicebooking' [428 voices, 2 parameters, Google Wavenet] [https://www.voicebooking.com/]
[ 76]: '101 Soundboards' [4720 voices, 2 parameters] [https://www.101soundboards.com/]
[ 77]: 'Crikk' [313 voices, 2 parameters, Microsoft Azure] [https://crikk.com/text-to-speech/]
[ 78]: 'Aquest' [36 voices, 3 parameters] [https://www.a-quest.com/]
[ 79]: 'Cyzon' [1 voice, 2 parameters, DECTalk] [https://tts.cyzon.us/]
[ 80]: 'SoundOfText' [61 voices, 2 parameters, Google Wavenet] [https://soundoftext.com/]
[ 81]: 'FluxToucan' [12 voices, 4 parameters] [https://flux9665-ims-toucan.hf.space/]
[ 82]: 'WhisperSpeech' [2 voices, 2 parameters] [https://replicate.com/lucataco/whisperspeech-small]
[ 83]: 'HierSpeechPP' [1 voice, 2 parameters] [https://replicate.com/adirik/hierspeechpp]
[ 84]: 'TortoiseTTS' [32 voices, 3 parameters] [https://replicate.com/afiaka87/tortoise-tts]
[ 85]: 'CoquiXTTS' [1 voice, 3 parameters] [https://replicate.com/lucataco/xtts-v2]
[ 86]: 'StyleTTS2' [1 voice, 2 parameters] [https://replicate.com/adirik/styletts2]
[ 87]: 'Talkify' [246 voices, 5 parameters] [https://talkify.net/]
[ 88]: 'Bark' [1 voice, 2 parameters] [https://replicate.com/suno-ai/bark]
[ 89]: 'Google Pico' [6 voices, 4 parameters] [https://android.googlesource.com/]
[ 90]: 'C64 SAM' [1 voice, 3 parameters] [https://discordier.github.io/sam/]
[ 91]: 'Ronan' [5 voices, 6 parameters] [https://www.pouet.net/prod.php?which=15073]
[ 92]: 'Piper' [3 voices, 2 parameters] [https://github.com/rhasspy/piper]
[ 93]: 'Sherpa' [109 voices, 2 parameters] [https://github.com/k2-fsa/sherpa-onnx]
[ 94]: 'EspeakNG' [93 voices, 4 parameters] [https://github.com/espeak-ng/]
[ 95]: 'STSpeech' [2 voices, 3 parameters] [https://www.atariuptodate.de/en/1686/st-speech]
[ 96]: 'GnuSpeech' [5 voices, 4 parameters] [https://en.wikipedia.org/wiki/Gnuspeech]
[ 97]: 'DECTalk' [9 voices, 3 parameters, DECTalk] [https://en.wikipedia.org/wiki/DECtalk]
[ 98]: 'RSynth' [1 voice, 4 parameters] [https://rsynth.sourceforge.net/]
[ 99]: 'Balcon' [14 voices, 4 parameters, SAPI] [https://www.cross-plus-a.com/balabolka.htm]
--> 100 engines, 24026 voices

There are quite a few issues with some of these TTS demo websites:
First, there are some websites that are rate limited (like only 500 characters per IP address per day), like TTSMP3 and Cepstral.
Second, there are websites that require an API key and credits to generate speech, like OpenAI.
Third, Cereproc voices used to be included on this website, however Cereproc contacted Chris to remove the voices from his website.

Of course there are usage restrictions for pretty all of these sites to prevent abuse, which is totally understandable. The same is true however for the current sites being used, as these are all provided for evaluation purposes only.
TTSMP3 has 3000 characters per day, for Cepstral I didn't run into a limit yet but didn't try hard tbh.
All sites listes however can be used without requiring a personalized API key, including OpenAI (which has an inofficial generic API key). But the more people are using these sites for free, the less likely they will be available in future, or will require personal/restricted/paid accounts for sure.
I know about Cereproc contacting Chris and that they do now want to appear here, which I totally respect.

Of course there are usage restrictions for pretty all of these sites to prevent abuse, which is totally understandable. The same is true however for the current sites being used, as these are all provided for evaluation purposes only.
TTSMP3 has 3000 characters per day, for Cepstral I didn't run into a limit yet but didn't try hard tbh.
All sites listes however can be used without requiring a personalized API key, including OpenAI (which has an inofficial generic API key). But the more people are using these sites for free, the less likely they will be available in future, or will require personal/restricted/paid accounts for sure.
I know about Cereproc contacting Chris and that they do now want to appear here, which I totally respect.

For OpenAI, what is the API key?
Or is it private?

It is sort of publicly private :)
There are several OpenAI demo sites that use a static authentication bearer token which can be used from anywhere.
Also, last time I looked, several model/spaces using OpenAI TTS on huggingface.co had tokens/keys filled in, although restrictions for using these also apply here.


#2375 smart filter fix

[x] Breaking change? (if so, please describe the impact and migration path for existing application instances)

Fix smart filter with multiple conditions #2375
Is there anything you'd like reviewers to focus on?
How Has This Been Tested? (put an "x" (case-sensitive!) next to an item)

[ ] No need to
[x] Manually (please, describe, if necessary)
[ ] Unit checks
[ ] Integration checks
[ ] Covered by existing automation

Checklist (put an "x" (case-sensitive!) next to all the items, otherwise the build will fail)

[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation (e.g. ENVIRONMENT VARIABLES)
[x] My changes generate no new warnings (e.g. Sonar is happy)
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged

Check out Contributing and Code of Conduct
A picture of a cute animal (not mandatory but encouraged)

@armenuikafka @Haarolean pls review it works as expected

@anezboretskiy  @Haarolean  thanks for pushing this to master, I have downloaded the new docker image from kafka-ui:master, however, when i have the filter set to "value.Id == "SiR_SG00079XX1.G1" && value.Idx == 1003" then i am still seeing values for value.Idx 1003 and 1006. Is there something I am missing while using the filter ?

@mk-khan nothing has been pushed so far

@Haarolean ok, looking forward this to be merged to master at least. Thanks again

@Haarolean any chance this PR can be merged to master? I needed this filter capability to test some data issues we are having.. appreciate if someone can merge it..

@mk-khan It will get merged the moment review is done

Filter works correctly with 2 conditions in http://pr2400.internal.kafka-ui.provectus.io/

@armenuikafka, I tried to build from the master and still having the same issue. out of two filters only one get applied and the other does not. Could you please let me know if there is other docker image that i can try to make this work on our end.

@mk-khan hey! let's try to check once it will be merged to master. If the issue will be actual after merge, let us know.

@KriKiparoidze let's resolve the conflicts and merge

@mk-khan available as master-labeled docker image

Thank you so much, I will update my build and let you know if any issues.
On Thu, 18 Aug 2022, 10:52 pm Roman Zabaluev, @.***>
wrote:

@mk-khan https://github.com/mk-khan available as master-labeled docker
image
—
Reply to this email directly, view it on GitHub
https://github.com/provectus/kafka-ui/pull/2400#issuecomment-1219455903,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHXH2PYIFDU66EP2RC23IOLVZYWY7ANCNFSM55URZ75Q
.
You are receiving this because you were mentioned.Message ID:
@.***>


Message Type Safety / Issues with BARE serialization format

Right now we use BARE (via serde_bare) to encode messages. This isn't a self-describing format, and so it lacks the ability to detect what I'd probably describe as a form of "schema mismatch" (@SanjoDeundiak described it as a kind of type safety this morning, which also seems like a reasonable way of describing it); basically, situations where the serialized and deserialized records do not store the same data, and as a result deserialization does something bad.
One example where this can happen is when fields are enabled/disabled via #[cfg(...)] annotations. I was going to file this later, but I just got bit by it when it working on errors, which have a cfg for backtraces in my WIP code.
Another example (which may become more common in the future) would be version mismatch — if a field is added in a new version of either Ockam or the user code1.
Unfortunately, if this happens, the main failure modes are either:

Deserialization fails unexpectedly.

The second one of these is... worse, and several of the potential solution are aimed at making it more likely that we detect the garbage data, and have deserialization fail.
Potential Solutions
To kick off discussion, here's a brainstorm of some possible options:

We could use a self-describing2 format, like CBOR, JSON, or something else.
This has the upside of fixing the issue (more or less) completely, to the point where deserialization would often succeed even if the data doesn't totally match (this is great for situations where a field may-or-may-not be present)
However, it has downside of costing performance. I don't know how much, but all things being equal,  a format like BARE that doesn't self-describe just has less work to do when compared to one that self-describes in some manner — it doesn't have to record any meta-information, after all. (That said, all things may not be equal, so it's probably worth measuring, but I would generally suspect this to be an option that comes at some cost)
Despite that, it's probably my (weakly held) preference of these options (hence putting it first 😅). This is because:

I'm usually at least somewhat concerned about sensitive (FSVO "sensitive") code getting confused and being tricked into doing something it doesn't intend to. Confusion when parsing and deserializing is a common type of bug, and can cause fairly serious issues in some cases, so this sounds like the kind of situation that worries me.

Even without that: If this can impact the message types of code using Ockam as a library, I'm worried that it could be... quite surprising, and kind of footgun-ey, to be honest. At the very least, I think we might want some way of protecting them against it... possibly unless the somehow opt-in to using this faster-but-with-caveats serialization option (which might go along with idea number 5).

This morning @SanjoDeundiak suggested encoding some type identification info. I'm not sure what we'd use for this, but there are a few options:

So, the immediately apparent choice might be core::any::TypeId, but we can't use it. It isn't stable, and is allowed to change across platforms, and is getting its internals majorly reworked soon anyway. So, it's basically not an option, I think.
Also, TypeId requires T: 'static, so also doesn't support message that can borrow from the serialized format (e.g. ones with lifetimes). That is, it requires serde::de::DeserializeOwned. Admittedly, I haven't looked, so we may already require this somewhere, intentionally or not (if we do, we should look into fixing it eventually).

Serde passes Serializers various info about the data being serialized — stuff like type, field, and variant names, which is how self-describing formats are implemented.
It likely wouldn't be too expensive to compute a hash of some sort of this information, and use that as a type id, as some kind of "poor mans self-describing format", without the cost of fully self-describing.
I'm unsure how involved this would be, unfortunately it could range from "thin wrapper around serde_bare" to "implement serialization and deserialization for a new serde data model"... My concern is it's closer to the latter, but I could definitely mistaken.

Alternatively, if that is too involved, we could require Deserialize + Serialize + SomeNewTrait where SomeNewTrait generates or otherwise provides the id for us (for example, via a proc macro that provides an id generated by computing some sort of hash of field names/types from the message format).
This avoids recomputing this information at runtime, so is probably better, although it sounds tricky, as we have to (to some extent) reverse-engineer how serde will serialize it, in order to compute the right information

Or... something else. That is to say: this is not an exhaustive list of options, just a few I thought of over the course of a day. It's possible @SanjoDeundiak had something specific in mind.

We could also stick with BARE, and investigate detecting this kind of issue before it happens.

At least in the cfg case, this is possible (but annoying) to detect statically (for example, by performing a build under each cfg option, and inspecting the layout of various serializable types through various rustc flags like rustc -Zprint-type-sizes)

We could probably detect it at runtime in some cases: the version mismatch case would be easy enough by sending a message that contains some version information, but this also doesn't sound particularly robust.

Finally, we could look at a dedicated protocol format. There are a number of these these days — capnproto, flatbuffers, protobufs, etc... and the more modern ones have very impressive performance.
Aside from plausibly good perf3, the main selling point is allowing you to evolve the message format deliberately. The major downside is... it would likely mean giving up serde — they tend not to either support it, and if they do support it, it tends to only be half-supported in an awkward manner.  That's... not ideal — I'm fairly confident most Rust users will want to use serde, so this would probably be a bit frustrating.
That said, it might be worth investigating a bit, since my info here is about a year or two out of date (maybe the situation around serde has improved, for example), and Ockam has different constraints than I did when I last looked.

It's possible there's no good one-size-fits-all option here.

We could get (arbitrarily) fancy with how we pack user vs our own message data (as mentioned above).

This be configurable in some way is also possible; either via a hardcoded list of formats, a bit4 of Rust type-system elbow grease, or something like serde_erased...
My personal inclination would be to say that this is far too much flexibility, and that we're better off making a good choice, but I'll admit to being new enough that I could easily be missing something...

And... certainly other options too that I failed to think of.
Anyway, thoughts?

Caveat / Postscript: I'm still quite new, so it's likely I got missed something or got it wrong, etc. So... please don't hesitate to comment with corrections like:

I've over-complicated one of the options above.
I've misunderstood the problem at hand in some manner.
I've said anything just very incorrect or clearly confused in other ways.
I've missed an obvious option (especially if it solves things for us wonderfully).
Whatever else!

These seem likely to range between "plausible" and "quite likely"  to me, so... I'd love to be set straight rather than than carry on in delusion.

Footnotes
1:  So, as you'll gather from me mentioning it in a few places; it's still a bit unclear whether or not our issues here apply to the Message types that are defined by users of the Ockam libraries...
While writing this, I've been assuming more or less that the answer here is yes (or "probably" anyway). But I couldn't tell definitively that this is the case from the code, and so I could be completely wrong — the situation seems fairly different to me if this issue just applies to the Ockam internals!
2: This is what serde calls formats that store some kind of metadata or schema information about the data they carry hold. Typically field names, record or variant type names, but it can be more involved. (For example: Most text formats are self-describing to some degree, but only some binary formats are).
Also, there's a wide spectrum of various kinds of self-description, as you might be able to gather from some of the things I talk about in the second option above.
3: Well, in theory anyway — In practice perf here would probably depend if we could actually take advantage of zero-copy deserialization that many of them boast (this seems iffy — I suspect doing so would involve a lot of structs getting some new lifetime parameters, to say the least...).
(Also, it requires actually picking a fast one which... likely excludes protobufs, which in the past failed to beat serde_json for me in the past).
4: Probably... more than a bit. That said, there there might be a clever way to expose it in the API such that the user can control how we serialize without too many things needing to become generic.

I don't think we need everywhere, since it will always bring overhead, also in most cases we know what is the message type. But there are examples where we definitely need it. There is LocalMessage idea, which can carry extra info (local_info) and guaranteed to carry metadata that originates on local node. It has binary type, and there are multiple possible structs that could be encoded in that binary (this helps avoiding coupling). In this case if we message was deserialized successfully, this should guarantee it was expected message type. For example there are two types of Secure Channels: regular secure channels that are based on ephemeral key exchange, and when message passes through such channel, struct 1 struct is added to LocalMessage. It carries key exchange name. The second type of Secure Channel are created between two Entities, and possession of Entity's private key is checked during channel creation. When message passes through such channel struct 2 struct is added to LocalMessage. It carries other's Entity id.
The receiver of those messages want to know which Secure Channel was used to pass a message, while with bare it's possible that serialized struct 1 is deserialized successfully as struct 2, and vice versa.
Therefore, this structs also carry random type ids, which are checked during deserialization. This is an example of solution based on Possible Solution 2. above

Ah, yeah, I need to update this as my understanding of the situation has changed a lot since I wrote this, and I don't think this is the best option now.

Another point from the protocol point of view is that we use multiple languages, and will be using more in the future. This means our protocols need to define encoding formats whenever they can be used in different languages.
This means every Rust type which can potentially be encoded needs to come with a portable schema. And the schema should not be implicit.
At the same time nodes which don't need to see contents of a message don't need to decode it. I think what Rust library does is decoding the message when it moves from the transport "routing space" to the local node "routing space", which is not always necessary because the payload type only makes sense within a worker which needs that type. I might be wrong here, but some clarity of when we deal with binary payload and when we deal with typed payload would be useful.
I do like the idea of message carrying some sort of type information like "content-type" so the workers can determine whether they can decode it or not. Although there is an issue with encoding this type information in a wasy that is portable between different implementation nodes.

Thinking on how data formats work with delivery pipelines and multiple different protocols: https://github.com/ockam-network/ockam/pull/2335
What I didn't like about the protocol encoding approach is that we have this protocol name header taking sometimes more space than the data itself. If we use the scopes approach and multiple addresses we might able to narrow down the possible number of formats a single address should handle.
I'm not 100% sure yet how to connect all the dots, but it seems like we almost have enough instruments to make sense of it.


add geography in index

What type of PR is this?

[ ] bug
[ ] feature
[ ] enhancement

What problem(s) does this PR solve?
Issue(s) number:
Description:
How do you solve it?
Special notes for your reviewer, ex. impact of this fix, design document, etc:

https://github.com/vesoft-inc/nebula-docs-cn/issues/2927


[BUG] - Server IP

Describe the bug
Using the ansible var "{{ ansible_default_ipv4.address }}" is problematic since it has some dependencies which do not apply in some setups. e.g. when using additonal nics for the default route or LAN.
To Reproduce
Using "{{ ansible_default_ipv4.address }}" with additional NIC and additonal routes.
Expected behavior
Being able to define the public IP in a single var in the defaults main.yml.
Ansible version
not relevant
Suggestion:
Add the following var in the defaults main.yml and reference is in the whole playbook instead of the var {{ ansible_default_ipv4.address }} directly. This way it's easy to replace the public IP without the requirement to define a lot of vars in the host or group vars, which is overhead just because of the IP.
bbb_public_ip: '{{ ansible_default_ipv4.address }}'
Thanks!

Closed due to inactivity


VA Eastern Shore Team Device View Not working VA1

oy, big day.
Joseph Haymaker in Eastern Shore VA,  called around 3:30.

He said they can not see any data in device status view for any of their farms/gateways, he says Blacksburg team has same issue (Ethan logged this yesterday I see). I can see the devices.
@brianwdavis @saseehav

I forget when he said he installed the sensors (sometime this week, maybe today, idk im dehydrated). Anyway, I could see data wasn't coming into the dashboard. I had him plug his tablet in to the gate way and was walking him through synching it. When he plugged in the tablet he got weird text (no menu, image attached). He tried disconnecting and reconnecting but got same weird text.  Meanwhile, I noticed the gateway started sending old data to the dashboard from May 13, and only from one treatment.  I had him reset everything. Within 30 min it started sending todays data to the dashboard.  @alondrathompson

The set he installed yesterday  (1022431) is sending some spotty data, mostly gateway datastrings.  He was going to go reset but told him to hold off until we get stuff figured out.

@annabirnbaum The weird text is probably due to a baud rate mismatch between the gateway and the serial monitor. The serial monitor should be set to 57600 baud.


Update instructions for running with local backend

the grind command for serving a local backend was changed, from serve-custom-backend to serve-local-backend - this updates the docs accordingly.
Also the Flutter channel has to be specified when running the dart-services backend, this was added accordingly
These issues might benefit from the backlink:
https://github.com/dart-lang/dart-pad/issues/883
https://github.com/dart-lang/dart-pad/issues/1591
https://github.com/dart-lang/dart-pad/issues/1069

[x] I’ve reviewed the contributor guide and applied the relevant portions to this PR.

Contribution guidelines:

See our contributor guide for general expectations for PRs.
Larger or significant changes should be discussed in an issue before creating a PR.
Contributions to our repos should follow the Dart style guide and use dart format.
Most changes should add an entry to the changelog and may need to rev the pubspec package version.
Changes to packages require corresponding tests.

(note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback)

Thank you for your PR @dkbast =)


Cataloging tools FLUPs

draft email to vendors to push back on FLUPS
draft no email to select star and castor

Sent the follow ups, but kept @britt-allen and @ian-r-rose off of the email to minimize email surface area.


Use dedicated GCP project

I'm currently using my own GCP project to house the service account that pulls data from the public BigQuery datasets in the create-db Github workflow.
We should really create a dedicated project for tally. Or at least use a non-personal project.

Here's the terraform code to setup the service account and enable workload identity for Github Actions from the main branch:
resource "google_service_account" "tally_db_creator" {
  project    = var.project_id
  account_id = "tally-db-creator"
}

resource "google_project_iam_member" "tally_db_creator_job_user" {
  project = var.project_id
  member  = "serviceAccount:${google_service_account.tally_db_creator.email}"
  role    = "roles/bigquery.jobUser"
}

module "tally_db_creator_gh_oidc" {
  source              = "terraform-google-modules/github-actions-runners/google//modules/gh-oidc"
  project_id          = var.project_id
  pool_id             = "tally-db-creator"
  provider_id         = "tally-db-creator"
  attribute_condition = "attribute.repository=='jetstack/tally'"
  attribute_mapping = {
    "google.subject"       = "assertion.sub"
    "attribute.actor"      = "assertion.actor"
    "attribute.aud"        = "assertion.aud"
    "attribute.repository" = "assertion.repository"
    "attribute.ref"        = "assertion.ref"
  }
  sa_mapping = {
    (google_service_account.tally_db_creator.account_id) = {
      sa_name   = google_service_account.tally_db_creator.name
      attribute = "attribute.ref/refs/heads/main"
    }
  }
}

We no longer get information from BQ.


Move header and footer bits inside the shell

This means we end up with

  ... Whole site here

I'm not massively happy about this but I need to speak to people with more react experience to fix. For now this will allow @thefoxis to keep the design semantic so we can just pull the two top divs when we figure out the best way to do it.
@ckiss I'll get you to do this for Nodezoo please.

@ckiss Hold till Monday

done by: https://github.com/rjrodger/nodezoo-web/pull/23


display multiple profiles simultaneously

I'd like to keep the results of multiple profile executions to be able to compare them.
Is it possible?
It looks like everytime that I call @profview it closes the previous flamechart and only the last X/X one is available

I'm not even able to do it by opening 2 different vscode windows because vscode does not allow me to open a project twice :-(
thanks!

You can navigate to other profile traces with these buttons

or the Julia: Next/Previous Profile commands.


[MVP-0] Add Spotify API call

Adds:

Basic VS application.
Spotify API call to get recently played music.
Spotify API call to log in / get OAuth token.

Get recently played tracks:
Given a user,
When the user's recently played history is requested.
Then the user's recently played history is produced.

Updated specs:
Feature: Spotify API Calls
Background:
Given a list of users
| user      |
| User1		|
Given a list of listening history
| user  | Song name                           | Time of listening   |
| User1 | The Chain - 2004 Remaster           | 15/02/2021 15:45:30 |
| User1 | I Want To Break Free - Single Remix | 15/02/2021 15:40:01 |
| User1 | Good Vibrations - Remastered        | 15/02/2021 15:30:59 |
| User1 | Dreams - 2004 Remaster              | 15/02/2021 00:05:00 |
| User1 | Stayin Alive                        | 14/02/2021 23:59:59 |
@MVP-0-Add-Spotify-API-Call
Scenario Outline: Get User's listening history
Given a user
And their listening history
When the user's recently played history is requested
Then the user's recently played history is produced


[resolvers list] the list is not up to date

Hello,
The list seems no up to date. I get the following fingerprint for dnscrypt.eu-nl with my dnscrypt-proxy:
72DF:BE14:531F:F2AD:FD0F:BC8B:F711:B93D:799F:E4D0:34EC:D26B:8BF9:FFA9:32E7:2B79

But the official website says and your cve list says:
67C0:0F2C:21C5:5481:45DD:7CB4:6A27:1AF2:EB96:9931:40A3:09B6:2B8D:1653:1185:9C66

Hi,
You are confusing the public key with the certificate fingerprint.
The public key is used to verify the certificates. This is what the CSV file contains, and it is a long-term key, signing many certificates.
The fingerprint identifies the certificate that the client and the server agreed to use. A certificate is only valid for a short period of time -- in order to provide some forward security, the specification recommends a 24 hours TTL. So, the fingerprint changes every 24 hours as well.
It's mostly a diagnostic tool for servers operators. It's not present in any configuration files, since it's constantly changing.


Numeric Prefixed Filenames Cause SASS Parsing Error

Filenames that are prefixed with a numeric value cause a parsing error when generated using the sass processor. For example, the following see the following use cases:
filename: 500.png
Resulting SCSS - Error Message:  expected ':' after $\35 in assignment statement
$\35 00: -0px -582px 178px 139px;
filename: 500-miles.png
Resulting SCSS - Error Message:  expected ':' after $\35 in assignment statement
$\35 00-miles: -0px -582px 178px 139px;
filename: miles-500.png
Resulting SCSS - working as expected
$miles-500: -0px -582px 178px 139px;

I am not sure if this is fixable since sprity uses the filenames as sass variables. As far as I know variables aren't allowed to start with numbers.So either sprity-sass would need to put something in front of the variable name or we just live with the problem.


AttributeError: ClientCookieJar instance has no attribute 'expires_earliest'

Please follow the guide below

Issues submitted without this template format will be ignored.
You will be asked some questions and requested to provide some information, please read them carefully and answer completely.
Do not post screenshots of error messages or code.
Put an x into all the boxes [ ] relevant to your issue (==> [x] no spaces).
Use the Preview tab to see how your issue will actually look like.
Issues about reverse engineering is out of scope and will be closed without response.
Any mention of spam-like actions or spam-related tools/libs/etc is strictly not allowed.

Before submitting an issue, make sure you have:

[x] Updated to the lastest version v1.5.6
[x] Read the README and docs
[x] Searched the bugtracker for similar issues including closed ones
[x] Reviewed the sample code in tests and examples

Which client are you using?

[x] app (instagram_private_api/)
[ ] web (instagram_web_api/)

Purpose of your issue?

[x] Bug report (encountered problems/errors)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections requests more details for particular types of issues, you can remove any section (the contents between the triple ---) not applicable to your issue.

For a bug report, you must include the Python version used, code that will reproduce the error, and the error log/traceback.
Paste the output of python -V here: Python 2.7.14
Code:
https://github.com/ping/instagram_private_api/blob/master/examples/savesettings_logincallback.py
Command: python savesettings_logincallback.py -u "username" -p "password" -settings "test_credentials.json"
Error/Debug Log:
Traceback (most recent call last):
  File "savesettings_logincallback.py", line 105, in <module>
    cookie_expiry = api.cookie_jar.expires_earliest
AttributeError: ClientCookieJar instance has no attribute 'expires_earliest'

Describe your issue
Since the new API update attempting to use expires_earliest attribute results in the above error.

Turns out expires_earliest has been changed to auth_expires.


Hyperspectral scan: nice-to-have features

After an in-person discussion with @cmordi, I have made a list of items that I would like to see in the near but not immediate future.

Add a setting to allow for persistent connection to the spectrometer, even if the program changes between the spectrometer and the spcm. This desire stems from a very serious issue with the Andor software (the spectrometer I use). The moment the software disengages, the temperature of the camera starts rising, and it can take up to 20 minutes to cool back down! Ideally, we would like to swap between spcm and spectrometer, without having to wait in-between.
Allow the user to plot spectra from multiple points on the same figure, instead of opening different figures.
Add a "single acquisition" button, which will take a single spectrum with the current settings on the spot the scan is currently at and display it on a new figure. Any subsequent single spectra taken should also be displayed on the same figure.
For the LF side, add a "LF is loading. Please wait...." pop-up, to make sure the user does not try to use the GUI while the LF application is opening in the background.
For the LF, make sure you do not initialize LF application twice (if it is already running, do not open it again).

Happy to get your input on this @gadamc @cmordi!

After implementing the Andor Spectrometer Controller, this list has changes.
On issue no longer important/fixed:

No. 1 is no longer an issue because I found a way around the problem with Andor. However it might still be relevant for other devices in the future.
No. 4 is no longer an issue because I added the pop-up.

More features I find important to have for the hyperspectral scan.

Plot settings: change spectral region that is being shown, change displayed units (wavelength/frequency/energy), change aggregation method of how the data are plotted (e.g. sum counts, max peak, max peak wavelength etc)
Implement an optimization function for hyper-spectral scans (using the above selected aggregation method)
Currently, hyperspectral plots are not updated when SetColor or Log10 are updated after acquisition.

More features on the Qt3scan GUI:

Implement a Save the yaml button
When swapping back and forth between controllers, the yaml file is not stored. This may cause issues if someone forgets to re-load the proper yaml file. Find way to store the yaml settings for each controller? potentially fixed if we have a save as default yaml file that overwrites the default one is the simplest solution I can see. Alternatively, check 4.
When swapping controllers, the plotted data are lost. Maybe prompting users to save data before changing the controller would be an easy solution. Alternatively, check 4.
Controllers may be instantiated twice when clicked again on the pull-down menu. Either prevent that from happening or accessing controllers via a controller registry would save time. The latter would also fix issues 2 and 3 and is my preferred long-term solution. @gadamc what do you think about the registry?

Hi Vasilis
One thing that Max wanted was to add ability to apply some spectral filters
hyperspectral scans. I could imagine various ways to do this at the
application level independent device. A way to apply a generic filter
function could be a good place to start. With that in place, specific
filters could then be constructed and used. Should solve a handful of use
cases in #1 plot settings.
As for colors and log setting that’s probably an easy fix (I thought I
fixed that though)
Regarding the registry — that could be useful. Another idea may be to make
the hardware controller classes singletons. Then they could retain their
last known settings.

I encourage you to go for it!  But remember to tag the commit history
periodically and update version numbers often.
Another major upgrade I would consider is the tooling. I initially kept it
minimal bc I thought it would be less work for new members to get involved.
But now I think tooling would be overall beneficial to keep code quality
high. Things like using poetry to manage the dependencies and using
pre-commit hooks to run code quality tools like black, isort, pylint, mypy,
autoflake. It would be a painful upgrade for all of that because you’ll
have to fix a lot of poorly written code of mine (sorry). But in the end it
could be worth it. Then GH actions could be used to ensure nobody merges in
bad code. Finally, we could add tests…. Though we couldn’t run hardware
tests via GitHub.
Good luck!
On Tue, Mar 5, 2024 at 09:56 Vasilis @.***> wrote:

After implementing the Andor Spectrometer Controller, this list has
changes.
On issue no longer important/fixed:

No. 1 is no longer an issue because I found a way around the
problem with Andor. However it might still be relevant for other devices in
the future.
No. 4 is no longer an issue because I added the pop-up.

More features I find important to have for the hyperspectral scan.

Plot settings: change spectral region that is being shown, change
displayed units (wavelength/frequency/energy), change aggregation method of
how the data are plotted (e.g. sum counts, max peak, max peak wavelength
etc)
Implement an optimization function for hyper-spectral scans (using
the above selected aggregation method)
Currently, hyperspectral plots are not updated when SetColor or
Log10 are updated after acquisition.

More features on the Qt3scan GUI:

Implement a Save the yaml button
When swapping back and forth between controllers, the yaml file is
not stored. This may cause issues if someone forgets to re-load the proper
yaml file. Find way to store the yaml settings for each controller?
potentially fixed if we have a save as default yaml file that overwrites
the default one is the simplest solution I can see. Alternatively, check 4.
When swapping controllers, the plotted data are lost. Maybe
prompting users to save data before changing the controller would be an
easy solution. Alternatively, check 4.
Controllers may be instantiated twice when clicked again on the
pull-down menu. Either prevent that from happening or accessing controllers
via a controller registry would save time. The latter would also fix issues
2 and 3 and is my preferred long-term solution. @gadamc
https://github.com/gadamc what do you think about the registry?

—
Reply to this email directly, view it on GitHub
https://github.com/qt3uw/qt3-utils/issues/144#issuecomment-1979329159,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGABCNZ5A3RLZ6CPO6YDYWYBMHAVCNFSM6AAAAABDIZHZLSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZZGMZDSMJVHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

ps: don’t forget to graduate. :)
On Tue, Mar 5, 2024 at 19:37 Adam Cox @.***> wrote:

Hi Vasilis
One thing that Max wanted was to add ability to apply some spectral
filters hyperspectral scans. I could imagine various ways to do this at the
application level independent device. A way to apply a generic filter
function could be a good place to start. With that in place, specific
filters could then be constructed and used. Should solve a handful of use
cases in #1 plot settings.
As for colors and log setting that’s probably an easy fix (I thought I
fixed that though)
Regarding the registry — that could be useful. Another idea may be to make
the hardware controller classes singletons. Then they could retain their
last known settings.

I encourage you to go for it!  But remember to tag the commit history
periodically and update version numbers often.
Another major upgrade I would consider is the tooling. I initially kept it
minimal bc I thought it would be less work for new members to get involved.
But now I think tooling would be overall beneficial to keep code quality
high. Things like using poetry to manage the dependencies and using
pre-commit hooks to run code quality tools like black, isort, pylint, mypy,
autoflake. It would be a painful upgrade for all of that because you’ll
have to fix a lot of poorly written code of mine (sorry). But in the end it
could be worth it. Then GH actions could be used to ensure nobody merges in
bad code. Finally, we could add tests…. Though we couldn’t run hardware
tests via GitHub.
Good luck!
On Tue, Mar 5, 2024 at 09:56 Vasilis @.***> wrote:

After implementing the Andor Spectrometer Controller, this list has
changes.
On issue no longer important/fixed:

No. 1 is no longer an issue because I found a way around the
problem with Andor. However it might still be relevant for other devices in
the future.
No. 4 is no longer an issue because I added the pop-up.

More features I find important to have for the hyperspectral scan.

Plot settings: change spectral region that is being shown, change
displayed units (wavelength/frequency/energy), change aggregation method of
how the data are plotted (e.g. sum counts, max peak, max peak wavelength
etc)
Implement an optimization function for hyper-spectral scans (using
the above selected aggregation method)
Currently, hyperspectral plots are not updated when SetColor or
Log10 are updated after acquisition.

More features on the Qt3scan GUI:

Implement a Save the yaml button
When swapping back and forth between controllers, the yaml file is
not stored. This may cause issues if someone forgets to re-load the proper
yaml file. Find way to store the yaml settings for each controller?
potentially fixed if we have a save as default yaml file that overwrites
the default one is the simplest solution I can see. Alternatively, check 4.
When swapping controllers, the plotted data are lost. Maybe
prompting users to save data before changing the controller would be an
easy solution. Alternatively, check 4.
Controllers may be instantiated twice when clicked again on the
pull-down menu. Either prevent that from happening or accessing controllers
via a controller registry would save time. The latter would also fix issues
2 and 3 and is my preferred long-term solution. @gadamc
https://github.com/gadamc what do you think about the registry?

—
Reply to this email directly, view it on GitHub
https://github.com/qt3uw/qt3-utils/issues/144#issuecomment-1979329159,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGABCNZ5A3RLZ6CPO6YDYWYBMHAVCNFSM6AAAAABDIZHZLSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZZGMZDSMJVHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

ps: don’t forget to graduate. :)

hahah I never saw this! Hopefully soon!


Sisyphus stores each radio button as a new key value pair

Hi,
I'm using sisyphus for to build an accessibility checklist which is basically a massive form and I would like to save the form data on each key press.
You can see what I'm getting at here...
https://storage.googleapis.com/a11ypal.com/index.html
When I select a radio button (pass, fail or not applicable) sisyphus saves the following to local storage.
[id=wcagChecklist][name=Accessibility_assessment_tool][id=wcagChecklist_fail_1][name=result_1]
Compared to what is stored in the local storage on the demo page.
sample_formsample_formsample_form_color
Does sisyphus convert the attributes of a form input to a string before saving to the local storage?
The problem is that every selection I make gets stored as a new kay value pair in local storage instead of the just updating the value. So if I select 'not applicable' and then select 'passed' when I refresh 'not applicable' is selected. Local storage seems to show both key value pairs have been stored. Hope that is making sense!
I can't work out what I'm doing wrong with it, each button has a unique id but shares the same name as the other buttons in the fieldset grouping.
My js file includes the following...
$(function() {
var form = $("#wcagChecklist");
$(form).sisyphus({
onSave:function() {
$('#dataPersisted').show().delay(700).fadeOut()},
onRestore: function() {
$('#dataRestored').show().delay(700).fadeOut()},
onRelease: function() {
$('#dataReleased').show().delay(700).fadeOut()}
}
)});
And this is a  sample of the html...
<fieldset class='resultsRadioBtns wcagAResultsRadioBtns' data-number="1">
<legend class="sr-only">Result radio buttons for 1.1.1 – Non-text Content</legend>
<input  tabindex="0" id="wcagChecklist_pass_1" class="passedButton passed wcagAPassed visible" type="radio" name="result_1" value="Passed" aria-checked="false" data-number="1">

Pass

<input tabindex="0" id="wcagChecklist_fail_1" class="failed wcagAFailed visible" type="radio" name="result_1" value="Failed" aria-checked="false" data-number="1">

Fail

<input  tabindex="0" id="wcagChecklist_na_1" class="notApplicable visible wcagANotApplicable" type="radio" name="result_1" value="Not applicable" aria-checked="false" data-number="1">

Not applicable

Comments
<textarea class="form-control bottomSpace commentFocus" id="comments_1" rows="3" data-ng-model="aComment1"></textarea>

</fieldset>

Please help!
Chris

Chris, I didn't dig deep into the issue but don't see anything wrong with your example by the link you provided. All selections I made persisted correctly after I refreshed the page.

Hi, Thanks so much for taking a look, I really appreciate it!
You can reproduce the issue by selecting 'not applicable' for one of the guidelines and then changing the selection to 'passed'. When you refresh the page 'not applicable' is selected. When I look at local storage I can see that both buttons have a key value pair and 'not applicable' seems to trump 'passed'.
When I looked at sisyphus.js demo page I can see only 1 record is stored for the radio buttons, changing the selection updates the value for the record.
Thanks again
Chris

Hi there
Any news to this issue? I can confirm the issue. Can't find some options to define the local storage key.
Like @nedgip said: in the demo page there are using a own key rule, so that this problem will not appear in the demo page. Badly the demo page uses a minified js script, so that showing the effective options is not that easy.
Thanks in advance
Michael

@nedgip I get it. You have to name your multiple-fields with the suffix []. Sadly this []-thing is not documented on the plugin site.
You will get a storage key like this:
[id=bt-form-basic][name=bt-form-basic][id=btc_setting_books_19][name=btc_setting_books[]]
So for working with checkboxes and radios you have additional to edit the source file:
in sisyphus.js edit the line 14, function getElementIdentifier() from:
return '[id=' + el.attr( "id" ) + '][name=' + el.attr( "name" ) + ']';
to:
return el.attr( "name" );
After that your key will look like this:
bt-form-basicbtc_setting_books[]
There was a commit, which adds the id to the identifier, which seems to be a very good idea. So you do this change you will maybe get problems, if you have the same form-/fields-name combo on the same page.
I will test my work, we will see it.

Hi @nedgip @MrJack91 pull request #150 solved this issue and save inputs radio correctly. Now is merged, please download master file sisyphus.min.js again and try it out.
Regards.
@simsalabim this issue now can be closed. 😄


Installed, missing tool dependencies

Hi,
I tried to install DeepTools :

Revision: 5693283f4de2
Owner: bgruening

but it failed because of many Installed, missing tool dependencies as shown below:

How is it possible to fix it?
Best wishes,
Mic

Is this in a Docker container?

No, It is not. What kind of additional information do you need?

Can you give me some kind of error?

It is 15.07

I suspect you need a more recent version. Many of the package_python_2_7* packages from the IUC need that. I recently updated our public Galaxy instance for that reason.
Sent from my iPhone

On 31 May 2016, at 05:52, Michał T. Lorenc<EMAIL_ADDRESS>wrote:
It is 15.07
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


Setup jenkins job for synchronising openjfx

Setup Jenkins job for synchronising the official OpenJFX repository with a repository at AdoptOpenJDK.
The openjdk-jfx repository at AdoptOpenJDK has been created to be kept in sync with the OpenJFX mercurial repository. It is the idea that the git repository can then be used for building and publishing new releases of JavaFX.
We've already managed to setup a similar situation at https://github.com/javafxports/openjdk-jfx. We used the scripts available here to do the initial setup and execute the actual synchronisation process.
For the initial setup step only, the setup.sh script was run as follows:
$ setup.sh jfx jfx open-jfx/jfx-dev/rt

From then on, the update can be called as follows:
$ update-without-modules.sh openjfx/jfx-dev/rt

As I understood, it is possible to setup a jenkins job to execute this synchronisation script.

Hi @tiainen - I'm working through the documentation to hopefully self service on the build farm (with the only blocker being available hosts.  The docs will be in the TSC repo when I'm done.
If you don't see updates there - please do ping me again.

I suspect we should actually pull directly from the OpenJFX folks and we should kill our repo.
Needs some discussion with @johanvos because of OpenJFX 8.

https://adoptopenjdk.net/faq.html#openjfxfaq


Fix exclude with relationships in search

Resolves #7828
[x] Do the tests still pass?[^1]
[x] Does the code comply with the style guide?

[x] Run make lint from the Wagtail root.

[x] For Python changes: Have you added tests to cover the new/fixed behaviour?

hey @Mng-dev-ai  are you still up for working through the feedback above? this PR will also need a rebase as it now has a few conflicts with main.

hey @lb- I think i had a conversation with @gasman in slack about this and there was another issue that needs to be fixed first

Oh ok. Thanks @Mng-dev-ai do you know what issue?
Maybe it's best to close this PR and add some details to the issue for future reference then.

@lb-  here's the slack thread https://wagtailcms.slack.com/archives/C81FGJR2S/p1675424086826109
feel free to close it if you want

@Mng-dev-ai That thread isn't showing up for me - could you copy-and-paste the conversation here please?


Ability to add volumes for any directory in the container

I created a container for the Official Ubuntu and I want to link a folder for use in the container, but the app doesn't provide me a want to do it.
If I install the nginx hello world containers, automatically links a folder... if is possible link folders for other containers?

Thanks for the issue!


Data initalization code should be able to handled archived records

Description
The deploy on 5/26 caused an issue on training where the application was trying to create a user that was marked as deleted and ran into a login_email constraint violation. cause the app to crash
Proposed solution
The initialization code should have a conditional path that if a user with the email already exists then it shouldn't create a new one

We've updated our handling of re-adding archived users; this shouldn't happen again.


Feature: Content moderator can set deadlines

Content moderator should be able to set deadlines for company registrations and presentation requests. Maybe even other deadlines.

I have some general dates here that you might need. 7 september: Start of company registration 4 or 7 october: Start of participant registration

So there should be a start date as well? Not only the end date/deadline? Also, does the start of participant registration means the end of company registration?


Merge query tip queries

Merge query tip queries.  Check for version 8 compatibility.

These are examples of possible outputs:
Version 9:
{
    "epoch": 0,
    "hash": "d2ce9ffa65e9a7a056e18e46be79c4f1390885ab5194afbe64abba7612850681",
    "slot": 914,
    "block": 64,
    "era": "Alonzo",
    "syncProgress": "100.00"
}

Version 8:
{
    "epoch": 0,
    "hash": "d2ce9ffa65e9a7a056e18e46be79c4f1390885ab5194afbe64abba7612850681",
    "slot": 914,
    "block": 64,
    "era": "Mary",
}

Version 7 and earlier:
{
    "hash": "899573caae74be7410fee52f1b65d46f82bd542796d3dca42b94031242dc44d8",
    "slot": 480,
    "block": 24
}

bors merge

bors merge

Minor changes. We should revisit this later and have a think on how to make it more concise.

bors merge

bors merge

bors merge


Using webpack to build as a single file under /dist/

In addition to Babel build at /lib/, I would also prefer a webpack build as a single file at /dist/ for easier consumption. Under "umd" module loading mechanism, it will appears as global.ReduxDevToolsDockMonitor.
For example, the next-gen syntax would looks like:
In devtools.js
var devTools = window.ReduxDevTools.createDevTools(
  <window.ReduxDevToolsDockMonitor toggleVisibilityKey='H'
                                   changePositionKey='Q'>
    <window.ReduxDevToolsLogMonitor />
  </window.ReduxDevToolsDockMonitor>
);

In store.js
var finalCreateStore = Redux.compose(
    devTools.instrument(),
    window.ReduxDevTools.persistState(window.location.href.match(/[?&]debug_session=([^&]+)\b/))
);

Seems like the same as #5.


Control plane machine not coming up

After running make all the ubuntu control plane is not coming up.
calico: 3.25.0; containerd: 1.6.15
Bringing machine 'controlplane' up with 'virtualbox' provider...
==> controlplane: Checking if box 'ubuntu/bionic64' version '20221117.0.0' is up to date...
==> controlplane: Clearing any previously set forwarded ports...
==> controlplane: Clearing any previously set network interfaces...
==> controlplane: Preparing network interfaces based on configuration...
    controlplane: Adapter 1: nat
    controlplane: Adapter 2: hostonly
==> controlplane: Forwarding ports...
    controlplane: 22 (guest) => 2222 (host) (adapter 1)
==> controlplane: Running 'pre-boot' VM customizations...
==> controlplane: Booting VM...
==> controlplane: Waiting for machine to boot. This may take a few minutes...
    controlplane: SSH address: <IP_ADDRESS>:2222
    controlplane: SSH username: vagrant
    controlplane: SSH auth method: private key
    controlplane: Warning: Connection reset. Retrying...
    controlplane: Warning: Connection reset. Retrying...
    controlplane: Warning: Connection reset. Retrying...
    controlplane: Warning: Connection reset. Retrying...
    controlplane: Warning: Connection reset. Retrying...

Steps taken:
Installed vagrant
Installed VirtualBox version 7.0
Clone repo
Run make all
System Configuration:
OS: VirtualBox (Fedora 36) on a Windows-based machine.
RAM: 12GB (can be extended to 16GB, based on the workload)
Expected:
Ubuntu control plane machine to come up and Windows machine to come up for a Kubernetes cluster.

I'd re-try fresh.
I've been testing this setup extensively over last few days and I found that all VM-s get up and provisioned successfully in 1 in 2-3 attempts.  Most often have to do vagrant reload --provision winw1  (rarely  make 2-vagrant-up).

Thanks @mloskot I would have to try that! I changed the ubuntu machine to another type, thinking the machine had issues, but still didn't come up. Just saying.

I have recently run make all quite a lot of times and I haven't noticed such problem with the controlplane node, it usually boots up fairly quick:
Bringing machine 'controlplane' up with 'virtualbox' provider...
==> controlplane: Importing base box 'roboxes/ubuntu2004'...
==> controlplane: Matching MAC address for NAT networking...
==> controlplane: Checking if box 'roboxes/ubuntu2004' version '4.2.14' is up to date...
==> controlplane: Setting the name of the VM: sig-windows-dev-tools_controlplane_1681726008743_81052
==> controlplane: Clearing any previously set network interfaces...
==> controlplane: Preparing network interfaces based on configuration...
    controlplane: Adapter 1: nat
    controlplane: Adapter 2: hostonly
==> controlplane: Forwarding ports...
    controlplane: 22 (guest) => 2222 (host) (adapter 1)
==> controlplane: Running 'pre-boot' VM customizations...
==> controlplane: Booting VM...
==> controlplane: Waiting for machine to boot. This may take a few minutes...
    controlplane: SSH address: <IP_ADDRESS>:2222
    controlplane: SSH username: vagrant
    controlplane: SSH auth method: private key
    controlplane: Warning: Connection reset. Retrying...
    controlplane: Warning: Connection aborted. Retrying...
    controlplane: Warning: Connection reset. Retrying...
    controlplane: Warning: Connection aborted. Retrying...
    controlplane: Warning: Connection reset. Retrying...
    controlplane:
    controlplane: Vagrant insecure key detected. Vagrant will automatically replace
    controlplane: this with a newly generated keypair for better security.
    controlplane:
    controlplane: Inserting generated public key within guest...
    controlplane: Removing insecure key from the guest if it's present...
    controlplane: Key inserted! Disconnecting and reconnecting using new SSH key...
==> controlplane: Machine booted and ready!
...

But, I run it directly on Windows 11 (WSL) as you can see in my detailed notes here

https://github.com/kubernetes-sigs/sig-windows-dev-tools/pull/245#issuecomment-1509712635
https://github.com/kubernetes-sigs/sig-windows-dev-tools/pull/245#issuecomment-1510443360

yes, I can see it, mine is just a completely different environment - I'm running make all on a fedora vm with a Windows 11 main laptop, that's my issue. I haven't retried the steps you talked about earlier tho: https://github.com/kubernetes-sigs/sig-windows-dev-tools/issues/246#issuecomment-1510485774 I'll do that now and let you know if the issue still remains the same, I might end up switching to WSL, I didn't try it earlier because I think someone said it wasn't working earlier - but if you did something to your WSL to make it work, it would be nice to update the readme.

I'm not a virtualization expert, but is it possible there is nested virtualization issue in your environment?

yeah, I enabled nested vt-x/amd-v, it still didn't work.
Although I was able to bring up the machine alone with just vagrant up controlplane but not with other components if I run make all

@mloskot There are just such a whole lot of virtualization issues with fedora, after enabling nested vt-x - here's what I got next after starting from GUI:
sig-windows-dev-tools_controlplane_1681144330551_15000

Cannot enable nested VT-x/AMD-V without nested-paging and unrestricted guest execution!
(VERR_CPUM_INVALID_HWVIRT_CONFIG).

seen something like this before?

No, I haven't. It looks like trying simple Vagtantfile with basic generic Ubuntu and windows images would be a good test, before moving to SWDT

Question: so, you have a Windows machine, on which you have a Fedora 36 in a virtualbox, in which you're trying to spawn a new virtualbox vm, in which the control plane will be created? I'm not sure that would work, I don't know if virtualbox supports nested virtualization in the first place, but if it did, the performance would be pretty low.
You could also try Hyper-V VMs (you should be able to enable it, especially if you have Windows Pro or Enterprise), and you can enable nested virtualization on those VMs.

Correct, that is what I wanted to do initially, but it didn't work - but now I'm running the WSL approach on my windows with @mloskot

Yes, I have switched to your branch and I'll be running both the magefiles and WSL approaches.

@adeniyistephen
FYA, I've just added tester's quickstart to #264
I personally wouldn't bother with WSL. The WSL is used as nothing else than just make distribution for SWDT. I guess, you equally use CygWin or GNU Make from GnuWin32.

Sure, Awesome.

I think this can be closed as replaced by the currently ongoing SWDT CLI sub-project

#278 (see #277 for context)
VirtualBox-based setup is being replaced

/cc @knabben


MM-47250: Add a new section in system console for products

For the MPA, we add a new section which will contain
product specific settings.
https://mattermost.atlassian.net/browse/MM-47250

/release-note-none

@hmhealey - One thing I need help with is - if I start typing "boards" in the system console text box, then the boards section doesn't show up. What do I need to do for it to happen?

@hmhealey - If you are testing something,  you'd also need to set the feature flag BoardsProduct as as true for it to appear. Not sure if it's possible via the GitHub tag UI. You'll need to use the /cloud command for that.

I'm trying to test this locally, and I'm not having the new section show up even with the environment variable set.
I'm also seeing some errors about Boards failing to load though (screenshot), but I don't think that should be related to this code not working

Are you sure you are running this branch (https://github.com/mattermost/mattermost-server/pull/21333) along with your webapp branch? Without that the permissions won't be applied and you won't see it.


Option for no online pay

This adds an option in the council config to set online payment = true/false
Screenshots below show changes with payOnline=false
Offline payment copy based on that used for the current live Oxfordshire application process.
pre-payment before:

pre-payment after:

success before:

success after:

Fixes #263.


#8 Story config

Closes: #8
HEAVY UPDATE to this on 3/3/2021

NEW! Installs ACF pro and removes the free version:
~Installs tw-posts plugin that stores post type configs and custom fields.~
NEW! Leverages acf-json to store settings
Installs custom taxonomy types for tw-programs, tw-story-types, tw-resource-development-tags (note, we'll circle back on adding custom fields for tw-programs later)
Installs External Media without Import (Which will need patching in #28)

To Review:
NOTE if reviewing after 3/3, run npm run refresh before re-reviewing, a lot of db settings change.

[x] checkout the branch
[x] lando start
[x] npm run local (or npm run refresh if you want a fresh db)
[ ] UPDATE: In the admin sidebar, add a Program term, a Story Type term, and a Res Dev term. (should be under Posts as a subnav heading)
[ ] Edit a story and add a Video, Slideshow (appears under Media below the editor)
[ ] Add an external Audio file (Go to Upload New File > Click from an external source without downloading), import file.
[ ] Under Taxonomy, Add a Program, Story type, and ResDev tag (NOTE, you should not be able to add new terms inline)
[ ] Add additional dates, Broadcast, Updated
[ ] Then lower in the sidebar, Add an SEO title, Tweet, and Social Post.
[ ] Publish the story
[ ] Check API response: https://the-world-wp.lndo.site/wp-json/wp/v2/posts

Here's the story mapping spreadsheet for reference: https://docs.google.com/spreadsheets/d/10b6bA1-RHGuNgPtczYhJJWorjS5_kvnsIBscqeJi_Qw/edit#gid=0

Is there a way to only allow existing programs and not allow them to be added loosely on the fly?
Is there a reason there are multiple places to set taxonomy? There are blocks for Category, Tags, Story Type, and Resource Development Tag, which seem to update the blocks in the body. Then there is another Taxonomy block that contains fields for each again, but do not share values and do not update body blocks.

@rpeterman-gp I've done a lot of work on this since your last review. This now leverages acf-json for syncing and term creation should no longer be able to happen in the story editing process. I solved the issue with duplicate ways to add taxonomy terms. I went with adding these via ACF for more control over settings.

Noting we will address the taxonomy UX in a separate ticket #30


Could you explain please why using ternary operator instead of bitwise or?

https://github.com/lemire/simdcomp/blob/master/src/avx512bitpacking.c#L10
https://github.com/lemire/simdcomp/blob/master/src/avx512bitpacking.c#L17
https://github.com/lemire/simdcomp/blob/master/src/avxbitpacking.c#L10

A bitwise OR could be used and would save one instruction (a single or vs cmp + conditional move). Pull request invited.


How does sqlmap get information when none is returned -- DAS BLOG 2

How can sqlmap get the databases and tables when the query result is not returned?

Hi! Sorry but I don't understand what you mean?
Neverlan shutdown the servers because the CTF ended. You can't follow the "writeup" if you want to get the same result. You'll have to ask the admins for the source of das blog 2.

Nevermind, my question was because if you do ';SHOW TABLES;# (valid sqli) it will not give you the result, i ran sqlmap and the query it used was some monster query that created a new user with the name equal to the base64 (i think) of the database then logged into it (i'm highly guessing) anyways i solved this challange with OR 1=FLOOR(RAND()*2);# then spammed that until i got into the admin account :P
a better way would have been 'OR 1=1 LIMIT 1,1` then change 1,1 to iterate through the table


Don't use EVM / CFME in control event definitions

Use Appliance instead (if that's appropriate).
https://bugzilla.redhat.com/show_bug.cgi?id=1481771

@mfeifer I changed EVM / CFME to just Appliance. Not sure if that's OK.

Does this need a migration to alter the existing entries? These won't get edited just by changing these files.

@carbonin TBH I don't know. You may be right, I don't fully understand how things work here.

Gaprindashvili backport details:
$ git log -1
commit f781ce4efd1015056d8fd03ee37d723c73f7bf74
Author: Brandon Dunne<EMAIL_ADDRESS>Date:   Tue Mar 6 09:23:08 2018 -0500

    Merge pull request #15854 from mzazrivec/dont_use_evm_in_event_definitions

    Don't use EVM / CFME in control event definitions
    (cherry picked from commit 47505e30549ff29c6a8075a00417e43b85049348)

    https://bugzilla.redhat.com/show_bug.cgi?id=1553399


Prevent inconsistent ember-cli builds with different extensions

Maybe this is correct place for this issues collection, if not, feel free to close it or redirect me to proper repo.
https://github.com/ember-cli/ember-ajax/issues/428
https://github.com/typed-ember/ember-cli-typescript/issues/724
https://github.com/babel/ember-cli-babel/issues/240

I haven't had a chance to look at this yet, but seems important. If you have free time to provide a failing test, that would very much help me.

@stefanpenner I'm not sure the best way to write a thorough test for this, since the issue is nondeterminism. As far as I know this same issue applies to the core broccoli-filter plugin as well.
If I write a plugin like this:
class MyPlugin extends PersistentFilter {
  constructor(input) {
    super(input, {
      extensions: ['foo', 'bar'],
      targetExtension: 'txt'
    });
  }

  processString(content, relativePath) {
    // Just write the extension of the input file as its content
    return path.extname(relativePath);
  }
}

And then run that over a directory that has both my-file.foo and my-file.bar in it, whether the resulting my-file.txt contains foo or bar depends on the order that files are processed in.
Concretely the way folks are running into this is with addons' app directories being merged together before running through Babel with multiple input extensions. If an addon and the host app both have files in their app tree with the same name, normally the order of the merge ensures that the app's file wins out, but if they have different extensions (i.e. when the addon's is .js but the app's is .ts), then the 'winner' just depends on what order they're processed in.

This might be the underlying reason for https://github.com/emberjs/data/issues/6697

We've worked around this in ember-cli-typescript using broccoli-stew's afterBuild hook, but it's not great (and may have performance implications?). What would a solution here actually look like?

Still an issue today. Does Embroider v2 package format remove this problem?


Fix application code in routing doc

Return bytes instead of strs in the iterable.

Remember to make docs PRs against the latest release branch (2.1.x).

Remember to make docs PRs against the latest release branch (2.1.x).

Cool, I just made another one here.


Modal should cover the whole screen on the Get Backup key screen

Expected Behavior
Would expect the white spaces on the top/bottom to disappear.
Current Behavior

Closing out outdated issues