Is there any CRD or yaml files to deploy the operator itself

Hi,
Right now going through the code it seems we need to run make install to deploy the operator.
Is there a way to deploy the CustomResourceDefinition used by the operator and the Deployment of the operator itself via yaml files which are applied to k8s directly using kubectl apply -f.
This way we can use it in any k8s cluster without having to clone the repo and making the installer available locally.

https://github.com/apache/pulsar/tree/master/deployment/kubernetes/helm/pulsar

Please refer to here

Actually I was looking for a simple yaml file to deploy this operator using command like:
kubectl apply -f k8s/vault-operator.yaml
I have created a simple one which I am attaching
https://gist.github.com/sjmittal/35197d02e2d5138813982f138be5a9b6
This deploys the operators pod in the desired namespace. It picks the image from skybig/pulsar-operator:latest.
I see the pod status as running but when I view the logs I get this repeated error message like:
E0608 05:50:02.753885       1 reflector.go:134] pkg/mod/k8s.io/client-go@v0.0.0-20190228174230-b40b2a5939e4/tools/cache/reflector.go:95: Failed to list *unstructured.Unstructured: the server could not find the requested resource
Please let me know if this message is to be ignored or needs to be fixed or is fixed.

You created YAML with an error ： https://gist.github.com/sjmittal/35197d02e2d5138813982f138be5a9b6

If you don't want to use helm，you can use kubectl apply -f  like this:

kubectl apply -f chart/templates/crds/pulsar_operator_crd.yaml

kubectl apply -f chart/templates/pulsar_operator_rbac.yaml

kubectl apply -f chart/templates/pulsar_operator_deployment.yaml

So the combined yaml I have created actually contains the three yamls mentioned above.
Can you please let me know what is the error in the YAML I have created.
This YAML gets applied correctly by k8s and operator is deployed.
So what may be causing the error in the operator logs?

Your YAML information is incomplete, please check it again, it is inconsistent with THE YAML in the project

I have check the yamls you have suggested.
The YAML information I have using is pretty standard and minimal and I am able to deploy other go based operators built using OperatorSDK.
One thing here is that the CRD is cluster scoped. There seems some issues logged related to this issue on operator-sdk.
eg: https://github.com/operator-framework/operator-sdk/issues/1858
Is it something like this operator is using some older version of OperatorSDK?
I am trying to understand what part of my YAML are inconsistent with project YAMLs,
Could you please help me in understanding these:
1.
          env:
            - name: WATCH_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: OPERATOR_NAME
              value: "pulsar-operator"

Since I am deploying the operator in namespace: operators-ec-core then do I need the WATCH_NAMESPACE property set to metadata.namespace because the the pulsar cluster will be deployed in default namespace?
What if I need the operator to watch all namespaces? Then what value should I provide here.
Also what is the purpose of POD_NAME?

The only other issue then can be with pulsar_operator_rbac.yaml, I will check that.
Is there any obvious inconsistency you see with my provided YAML?

 env:
            - name: WATCH_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace

I forgot to delete it.
The main differences are in pulsar_operator_rbac.yaml and pulsar_operator_crds.yaml

I need permission to operate PulsarCluster, a CRD resource

Please use chart to install it directly. I have passed the test

Is there a slack or community channel I can join?
I cannot use helm because right now this operator is getting installed from some other framework.
Looks like I cannot remove WATCH_NAMESPACE so I have set this as:
            - name: WATCH_NAMESPACE
              value: "*"

Also in my YAML I have added the CRD and also I have a standard rbac with ServiceAccount and  ClusterRoleBinding with permission as name: cluster-admin.

cluster-admin   I am not sure that I have operation permissions for PulsarCluster.      WATCH_NAMESPACE  This parameter is not set and is not used in the operator.

I am now using chart/templates/pulsar_operator_rbac.yaml and I get same error as before.
So issue is not with rbac.
Note that the cluster-admin ClusterRole exists by default in your Kubernetes cluster, and allows superuser operations in all of the cluster resources. So if I assign this cluster role instead, it should have all the permission.
Note that so far I have not created any instance of pulsarclusters. I have just deployed the operator. These are the logs which operator generates.
Hope this helps.

Please check the operator-sdk issue https://github.com/operator-framework/operator-sdk/issues/1858.
The issue is happening because CRD is cluster scoped whereas operator is namespace scoped.
This issue was fixed in https://github.com/redhat-developer/build/pull/73.
Perhaps updating to latest sdk version will help with this issue.

ok，I'll keep an eye on that.

Also check this:
https://github.com/operator-framework/operator-sdk/pull/2601/
Can we move to a later version of sdk and rebuild this operator's image to see if these errors are fixed?

If you have time, you can bring up MR to fix it

Unfortunately I am not much knowledgeable about go. I am using this operator from a java based framework.
For now I am ignoring the error
 Failed to list *unstructured.Unstructured: the server could not find the requested resource
However now when I do try to add a CR I get this error:
https://pastebin.com/0YLYFHav
Looks like error is around:
 "error": "an empty namespace may not be set during creation",
However I have not defined any namespace and my operator and the CR are all created in default namespace.
Here is the definition of my CR:
https://pastebin.com/DifED5tV

Also please check comment
https://github.com/operator-framework/operator-sdk/issues/1858#issuecomment-530952613
Looks like "requested resources not found" issue happened with more recent versions of k8s
So please check with latest version of k8s.
Maybe "empty namespace" issue is also related to recent versions of k8s.

Is it still a problem for you to deploy Pulsar Operators completely by using Yaml in the Chart directory?
Can you try it?

I'll test and fix it later with the Yaml you wrote.

@sky-big  I did finally deploy the operator completely using YAML as per charts directory.
Note that operator does deploy correctly except for those pesky logs of
Failed to list *unstructured.Unstructured: the server could not find the requested resource
But when I try to deploy the pulsar cluster CR (pastebins attached above) I get into the error which is something like:
"error": "an empty namespace may not be set during creation",
If possible, we can try to upgrade this operator to latest operator sdk version. This will anyway be helpful even if this issue is not caused due to that.
Please see if we can have the discussion on slack channel created as a response of this operator.
https://app.slack.com/client/T5Z3B324U/CTESFK98C
I would prefer to use the operator against helm charts to deploy pulsar cluster.

https://app.slack.com/client/TSK90ANQK/CSYV5L9FG, I used slack before.

Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.9", GitCommit:"a17149e1a189050796ced469dbd78d380f2ed5ef", GitTreeState:"clean", BuildDate:"2020-04-16T11:44:51Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.10", GitCommit:"575467a0eaf3ca1f20eb86215b3bde40a5ae617a", GitTreeState:"clean", BuildDate:"2019-12-11T12:32:32Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}

I can deploy successfully in this version of Kubernetes, and the operator is deployed in default Namespace

I am not able to join that channel.
I was able to join this channel for pulsar operator: https://app.slack.com/client/T5Z3B324U/CTESFK98C
Would be nice to see you around.
I think my Kubernetes version is 1.18, I will again check deploying the operator.
I think difference at my end is mostly that my pulsar operator is in a named namespace.

Pulsar slack channel at https://apache-pulsar.slack.com/
You can self-register at https://apache-pulsar.herokuapp.com/

Yes I am in that channel. I had left a message for you @sky-big

Yes I am in that channel. I had left a message for you @sky-big

OK

#12  Fix it.   @sjmittal

So with the changes I am able to deploy operator (for now I have set the scope as Namespaced for my CRDs), without any pesky log messages.
However when I deploy the CR I get this error:
    "logger": "controller_pulsarcluster",
    "msg": "Reconciling PulsarCluster Zookeeper Error",
    "Request.Namespace": "myco-test",
    "Request.Name": "datastream",
    "error": "poddisruptionbudgets.policy \"datastream-zookeeper-poddisruptionbudget\" already exists",

I had stripped down your CRD and right now my CRD is as followed:
https://gist.github.com/sjmittal/6dbaeeb9edc9d08a95ef666ecc60f04c
Also my CR is very basic:
apiVersion: pulsar.apache.org/v1alpha1
kind: PulsarCluster
metadata:
  name: ""
spec:
  bookie:
    storageClassName: fast
    journalStorageCapacity: 1
    ledgersStorageCapacity: 1
    size: 1
  broker:
    size: 1
  proxy:
    size: 1
  zookeeper:
    size: 1
  manager:
    enable: true

Any idea on what I should be looking at.

datastream-zookeeper-poddisruptionbudget  Resources are already in that NS, so you need to clean up NS or get a new NS.


Updated the documentation for eventId and routing key

Updated the documentation for adding the event-id to the output and generating routing key based on event type and configuration.

Updated documentation for publish


Enable look_one_level_down during training as well

This allows the look_one_level_down argument to be used even during training, e.g. for cross-validation: https://github.com/MouseLand/cellpose/issues/220#issuecomment-831144620

looks great, thanks for doing this so quickly :)
could you remove the ignore warnings line? I'd prefer to keep them on

I have turned the warnings back on. (However, the same warning is then always written between the steps of the progress bar).


Extension causing hang on save with "Getting code actions from 'ast-grep VSCode:....."

Per the title, after installing the extension and setting up a config for my project saving files hangs on code actions. sg-grep works fine on the command line and the linting works fine in the editor. Only saving is the problem. There is no useful output in the output panel, only
[Info  - 1:33:30 PM] file opened!
Parsing doc.
Publishing init diagnostics.

Would you mind having a reproduction repo so I can have a look? thanks!

I set   "source.fixAll": "never in edit.codeActionsOnSave in settings and that seems to have fixed it. I don't have a minimal reproduction at the moment.

Oops I guess I spoke too soon. That appeared to fix it but did not. It's still happening. I'll see if I can figure out a minimal reproduction.

🤦  and I had forgotten that I had a different setting for that in workspace config. With "source.fixAll": "never" the problem does not occur. It was happening with "source.fixAll.eslint": "explicit", so that's a clue.


Error message is misleading when allocation fails due to not being to allocate cpu/memory.

Rancher Version: Build from master
Steps to reproduce the problem:
Deploy Rancher Scheduler.
Scenario 1:
Start a service with port and memoryReservation/milliCpuReservation when there is not enough memory/cpu.
Containers fails to get created with error message - Failed to allocate instance [container:1i722]: Bad instance [container:1i722] in state [error]: Scheduling failed: host needs ports 8092/tcp available) even though there are hosts with port 8092 available.
Scenario 2:
Start a service with host label affinity and memoryReservation/milliCpuReservation when there is not enough memory/cpu and there are hosts with the specified labels.
Containers fails to get created with error message - Activating (Failed to allocate instance [container:1i456]: Bad instance [container:1i456] in state [error]: Scheduling failed: needs host with label test1: value1
We should be able to provide error message that indicate that we were not able to allocate cpu/memory instead.

Fixed, I think. When I create a service with the following launch config:
{
  "imageUuid": <img>,
   "ports": ["8080:8080"],
   "milliCpuReservation": 2000
}

and I don't have any hosts with 200 cpu available, I get the following error message:
Scheduling failed: No healthy hosts meet the resource constraints: [Resource: cpuReservation, amount: 2000]

That said, if you have a combination of issues where you do have a host with enough cpu but that host doesn't have specified port available, then the message reported will be "host needs port..."

Tested with Rancher server build from master.
Infra catalog - https://github.com/rancher/infra-catalog.git from branch 1.2
Order in which allocator works is - external scheduler. then ports, labels .

When there are no hosts with enough resources but with required host labels  , then we see the "No healthy hosts meet the resource constraints" error message
When there are  hosts with enough resources but no required host labels  , then we see  error message indicating the unavailability of host with required labels.
When there are no hosts with enough resources but with required host ports , then we see the "No healthy hosts meet the resource constraints" error message
When there are  hosts with enough resources but no required host ports, then we see  error message indicating the unavailability of host ports.


Vite middleware not working

⚠ IMPORTANT ⚠ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.

[X] Read the docs.
[X] Use Vite >=2.0. (1.x is no longer supported)
[X] If the issue is related to 1.x -> 2.0 upgrade, read the Migration Guide first.

Describe the bug
Vite server as middleware unable to serve index.html on GET /
Reproduction
In server.ts:
const app = express();
const server = http.createServer(app);
const vite = await createServer({ server: { middlewareMode: true } });
app.use(vite.middlewares);
server.listen(3000);

Visiting localhost:3000 in the browser results in a 404 (Cannot GET /), even though there is a index.html file in the same directory as the server
System Info

vite version: 2.0.0-beta.34
Operating System: osx
Node version: 15.6.0
Package manager (npm/yarn/pnpm) and version: npm 7.4.0

Logs (Optional if provided reproduction)

Run vite or vite build with the --debug flag.
Provide the error log here.

In middleware mode Vite won't serve the index.html. You are supposed to serve it yourself (and make sure to inject the script for vite client).

In middleware mode Vite won't serve the index.html. You are supposed to serve it yourself (and make sure to inject the script for vite client).

Thanks @yyx990803, I'm serving index.html myself now and while the linked css is loading fine with middleware mode, when trying to load /app.ts I'm getting back a 0 length file. Any ideas?

Thanks @yyx990803, I'm serving index.html myself now and while the linked css is loading fine with middleware mode, when trying to load /app.ts I'm getting back a 0 length file. Any ideas?

It's difficult to tell without seeing what you are doing. Check out https://github.com/vitejs/vite/tree/main/packages/playground/ssr as a reference.

It's difficult to tell without seeing what you are doing. Check out https://github.com/vitejs/vite/tree/main/packages/playground/ssr as a reference.

Thanks @yyx990803, I was able to get it working. One limitation that I would note with this approach is that HMR doesn't work properly on index.html -- I see a {type: "full-reload", path: "/index.html"} websocket message but it's not accompanied by a full page refresh.


Promises seem different in Truffle 2 and have stopped working with chai-as-promised.

This might be an ether-pudding issue. Has something changed about the way contract functions are promisified?
Using test-rpc:
var promise = myContract.myMethod({ from: account[0] });
console.log('promise =' + JSON.stringify(promise));

// Output for Truffle 1.0.3
// $ promise = {"isFulfilled":false,"isRejected":false}

// Output for Truffle 2.0.1
// $ promise = {}

Tests using chai-as-promised hang or break on 2.0.1. Just curious . . . Thanks so much for migrations! Awesome!

Confirmed: its a weird chai-plugin/native promises thing where they seem to work in some contexts but not others.  Honestly I don't think it's worth pursuing. Closing, thanks.


Hyper 0.13 support

Update dependencies

hyper 0.13
base64 0.11
uuid 0.8
futures 0.3
hyper-openssl 0.8
hyper-tls 0.4

Change all hyper::service::MakeServices to hyper::service::Service

Add helper method to convert a stream of Bytes (e.g. a hyper::Body) into a Vec<u8>, which is useful for the codegen crate.

Remove client::Service, which is now just hyper::service::Service, removing the client module.

Remove ability to configure DNS threads in HTTP Connector, as it's been removed from Hyper 0.13.

Drop ContextualPayload, and revert to Hyper 0.11 style tuples for Context.

bors r+


Bookmark count on Profile screen does not change

Precondition: User account is created
Steps to reproduce the behavior:

Run Radzima app (UIKit)
Sign in on Profile tab
Add/Remove bookmark on objects
Check count on Profile tab

Actual result:
Bookmark count has not changed.
Expected result:
Bookmark count has changed
NOTE: Bookmark count has changed only after app was restarted
Screenshots

Build 1120
Device: iPhone X
iOS: iOS 15.5

Not relevant according to changed requirements in #603


[11.x] fix chopStart and chopEnd tests

the arrays were using duplicate keys, which meant only the latest defined element was running an assertion.
converted them to indexed arrays, and then adjusted the destructuring to treat the first element as the $subject.

lol, happens to the best of us


ubuntu14.04(windows subsystem) panic: invalid argument

just copy and paste the simple json example2 in ubuntu14.04(windows subsystem)
al123xiaaaa@HASEE-PC:~/jid$ ls -l
total 3584
-rwxrwxrwx 1 al123xiaaaa al123xiaaaa 3044060 Dec  6 23:17 jid_linux_amd64
al123xiaaaa@HASEE-PC:~/jid$ echo '{"info":{"date":"2016-10-23","version":1.0},"users":[{"name":"simeji","uri":"https://github.com/simeji","id":1},{"name":"simeji2","uri":"https://example.com/simeji","id":2},{"name":"simeji3","uri":"https://example.com/simeji3","id":3}],"userCount":3}}'| ./jid_linux_amd64
panic: invalid argument
goroutine 1 [running]:
panic(0x514ee0, 0xc42000a7d0)
/usr/local/Cellar/go/1.7.1/libexec/src/runtime/panic.go:500 +0x1a1
github.com/simeji/jid.(*Engine).Run(0xc4200b6000, 0x0, 0x0)
/Users/ts/go/src/github.com/simeji/jid/engine.go:87 +0x7f3
main.run(0x5babe0, 0xc4200b6000, 0x534000, 0x1)
/Users/ts/go/src/github.com/simeji/jid/cmd/jid/jid.go:36 +0x49
main.main()
/Users/ts/go/src/github.com/simeji/jid/cmd/jid/jid.go:31 +0x10f

What was happen?

Sorry,I haven't solved this problem yet.I'm used jid(amd64) in Ubuntu14.04(Windows Subsystem for Linux).
al123xiaaaa@HASEE-PC:~/jid$ uname -a
Linux HASEE-PC 3.4.0+ #1 PREEMPT Thu Aug 1 17:06:05 CST 2013 x86_64 x86_64 x86_64 GNU/Linux
al123xiaaaa@HASEE-PC:~/jid$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty

jid also crashes for me under Bash WSL. i first installed the latest (just now) x64 release from zip. after that failed, i compiled from source (per 'Build' in README.md). this also fails. the build was quiet.
i executed go test and it passed:
:/mnt/c/projects/go/src/github.com/simeji/jid$ go test PASS ok      github.com/simeji/jid   0.084s
:~$ echo '{"aa":"2AA2","bb":{"aaa":[123,"cccc",[1,2]],"c":321}}'| jid
panic: invalid argument

goroutine 1 [running]:
panic(0x59d340, 0xc82000a850)
        /usr/local/go/src/runtime/panic.go:464 +0x3e6
github.com/simeji/jid.(*Engine).Run(0xc8200da000, 0x0, 0x0)
        /mnt/c/projects/go/src/github.com/simeji/jid/engine.go:91 +0x94
main.run(0x7fef99524490, 0xc8200da000, 0xc820041f00, 0x7fef99524490)
        /mnt/c/projects/go/src/github.com/simeji/jid/cmd/jid/jid.go:59 +0x39
main.main()
        /mnt/c/projects/go/src/github.com/simeji/jid/cmd/jid/jid.go:54 +0x73a

Same problem using WSL

jenciso@TEC1971:~$ echo '{"aa":"2AA2","bb":{"aaa":[123,"cccc",[1,2]],"c":321}}'| jid
panic: invalid argument

goroutine 1 [running]:
panic(0x51fd20, 0xc42000a840)
        /goroot/src/runtime/panic.go:500 +0x1a1
github.com/simeji/jid.(*Engine).Run(0xc4200ba000, 0x0, 0x0)
        /gopath/src/github.com/simeji/jid/engine.go:91 +0x97d
main.run(0x5cac60, 0xc4200ba000, 0xc420037f00, 0x5cac60)
        /go/cmd/jid/jid.go:59 +0x49
main.main()
        /go/cmd/jid/jid.go:54 +0x2ea
jenciso@TEC1971:~$

I upgrade my WSL, but the problem is there yet
jenciso@dellPE:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
jenciso@dellPE:~$ jid --version
jid version v0.7.2
jenciso@dellPE:~$ echo '{"aa":"2AA2","bb":{"aaa":[123,"cccc",[1,2]],"c":321}}'| jid
panic: invalid argument

goroutine 1 [running]:
panic(0x51fd20, 0xc42000a820)
        /goroot/src/runtime/panic.go:500 +0x1a1
github.com/simeji/jid.(*Engine).Run(0xc4200d8000, 0x0, 0x0)
        /gopath/src/github.com/simeji/jid/engine.go:91 +0x97d
main.run(0x5cac60, 0xc4200d8000, 0xc42003bf00, 0x5cac60)
        /go/cmd/jid/jid.go:59 +0x49
main.main()
        /go/cmd/jid/jid.go:54 +0x2ea
jenciso@dellPE:~$

Just run into this Panic as well on WSL.
This traceback points to a problem with the termbox-go dependency.
/gopath/src/github.com/simeji/jid/engine.go:91

==> err := termbox.Init()

And following problems with termbox-go you will find missing support of WSL for

WSL does not current support signal driven IO on tty devices, but we are tracking the work
(https://github.com/Microsoft/WSL/issues/601)

So this is not a nativ jid issue.
It is a pity, because I would like to get this interactive bash jq interpreter to work :)
And not having to switch to https://jqplay.org/ for testing.
(=PA=)

Maybe as a consolation/work-around jid does appear to function correctly using the _amd64 binary in the new in preview Windows Terminal \o/


No Seccomp in Debian

Describe the bug
No Seccomp enabled
grep CONFIG_SECCOMP= /boot/config-$(uname -r)

Seccomp is required for running k8s without docker and should be enable by default for newer Kernel.
To Reproduce

orb create debian:bookworm -a amd64 vm1
ssh vm1@orb
grep CONFIG_SECCOMP= /boot/config-$(uname -r)

Expected behavior
Output return
CONFIG_SECCOMP=y

Diagnostic report (required)
No response
Screenshots and additional context (optional)
No response

seccomp is enabled, but not supported in emulated x86 machines. You can subscribe to #465 for updates, but it's probably not feasible.
You should run amd64 images in an arm64 machine/container engine instead, or use cri-dockerd. I haven't tested it but OrbStack's Kubernetes cluster should also be able to run amd64 images, although the arch labels won't be correct.


RAW is a saved word

What version of gRPC and what language are you using?
c++
What operating system (Linux, Windows,...) and version?
AIX
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc 4.8.5
What did you do?
#include <sys/ioctl>
What did you expect to see?
compileing successully
What did you see instead?
failed to compile due to RAW being a saved word, which fails the enum ApiType.
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?

The issue description is not clear. I simply tried including that header in our tests and it worked. Please re-raise the issue with clear instructions to reproduce.


PROPOSAL: Constructors as parameters or a single key/value object

Is your feature request related to a problem? Please describe.
When creating new Connection adapters for various connection types (see adding Cloudflare D1) we give those classes a default constructor so the user can instantiate an instance of it with whatever metadata is required to setup that connection. For some connections that might be their host, database_name, port and more. For HTTP providers maybe it's api_key, account_id and etc.
Describe the solution you'd like
At the moment a constructor for each of these connection types is arbitrary ordering of whatever it needs – dictated by the class itself. It could be a sufficiently good idea to instead make the constructor for all of the connection types a single property that is a key/value object so that properties could be adequately named.
Today:
constructor(host: string, database: string, port: number) {

}

// ...

MyConnection("https://my.url.com", "db_name", 5000)

Proposal:
constructor(data: {
    host: string,
    database: string,
    port: number
})

// ...

MyConnection({
    host: "https://my.url.com",
    database: "db_name",
    port: 5000
})

It reads more explicit when instantiating a new connection and less arbitrary. Maybe it's a personal preference, too.
Describe alternatives you've considered
No alternatives were thought of.
Additional context
N/A

Proposal accepted!


Fix typos in focus editor group commands (#81)

fix https://github.com/VSpaceCode/vscode-which-key/issues/81

I would remove the word "group" because we call them just "editor" I think.
Also, what's the difference between previous and left in this context?

previous also focus left but in a cycle, meaning it will focus the rightmost window when you're on the leftmost.

meaning it will focus the rightmost window when you're on the leftmost

This seems like a "feature" to me 😅 but let's wait on @stevenguh to see if he has any preference. 👍

These makes sense to me in a first glance. which-key uses the the vscode naming

These makes sense to me in a first glance. which-key uses the the vscode naming


Contribute DSA Sheet Questions

👋 Hello everyone,
Looking for content related to DSA Sheet ( 450 DSA by Love Babbar + Striver Series + DSA Sheet by Apna College ) Questions solution in C++/Python/Java

Is this issue still open? @AkashSingh3031

Is this issue still open? @AkashSingh3031

Yes, You can add solutions of DSA sheet which is not present in the repository


Support Symfony 5 packages

BeHat uses Symfony components as per the package requirements (easy to confirm when checking the composer JSON file).
Given the latest version of Symfony is already available (5.0.1 at the moment) and knowing about the other opened issue to say farewell to unsupported versions of Symfony https://github.com/Behat/Behat/issues/1258 I suggest enabling support for the new version too.
~~ Edit ~~
Please note that I read all the comments on the other issue; I just added this one here because the purpose of the other one is to remove support for unsupported versions of Symfony.
Decouple matters :-)

Adding support for Symfony 5 will require dropping support for PHP < 7.2.
It is possible to write code compatible with Symfony 4.4 and 5.0 at the same time, but only when running on PHP 7.2+ (as it would require having the new typehints in our code to be compatible with the signature of 5.x interfaces, and adding types in child classes is forbidden in PHP 7.1 and older).
@everzet what is the plan to drop these PHP versions in Behat ?

Hello, I have the same issue, I can't update my project to Symfony 5.0 because this is unsupported by behat (console component). Any information about plan for this support ?

me too :(

same problem 😢

@everzet

Adding support for Symfony 5 will require dropping support for PHP < 7.2.
It is possible to write code compatible with Symfony 4.4 and 5.0 at the same time, but only when running on PHP 7.2+ (as it would require having the new typehints in our code to be compatible with the signature of 5.x interfaces, and adding types in child classes is forbidden in PHP 7.1 and older).
@everzet what is the plan to drop these PHP versions in Behat ?

Given PHP <7.2 is no longer supported, it feels wrong for any project to move forward supporting old versions of something (PHP <7.2) rather than new versions of something else (Symfony 5.0).
I realise it's far from being that simple and that maintaining two major versions of Behat would be a burden. However, given it's been well over a year since the last release, it doesn't seem like the community are crying out for bug fixes or new features in 3.5, so perhaps it's a sensible time to make some BC breaks like this one for a 4.0 release?

There is a well crafted PR here: https://github.com/Behat/Behat/pull/1256
Please try it to make it easier for maintainers to review/merge.

v3.6.0 supports Symfony 5, thanks all! 🎉 https://github.com/Behat/Behat/releases/tag/3.6.0


Adds documentation for the money plugin

Hi guys,
This PR adds documentation for the Pest Money plugin: https://github.com/lukeraymonddowning/pest-plugin-money
Kind Regards,
Luke

Fell free to tweet about it.


Ability to move main navigation to bottom of the page

I'm experimenting with so called upside-down home pages for my consulting website.
The main idea is to move the navigation at the bottom of the page to really put the content first.
Would you be interested to enable something like this?
This could be done either by adding a hide_masthead page variable (with the ability to create the navigation from scratch in the footer directory) or through a navigation_position: top|bottom|none|both variable with a predefined bottom nav design.
If you think the use case is too fringe the first solution (hide_masthead variable) has a minimal footprint and would still allow a lot more experimenting without touching the templates.

I think this is something best left out of the theme for now. Ideally I'd use flexbox to lay out elements which makes it painfully easy to change their appearance order.
Taking the current markup of the page:

...

...

...

We could use order as part of flexbox in the CSS:
.masthead { order: 3; }
#main { order: 1; }
.page__footer { order: 2; }

To move the masthead to the bottom of the page... or do whatever else you want.
[ #main ]
[ .page__footer ]
[ .masthead ]

Support for Internet Explorer isn't quite there yet with flexbox so I opt'd not to use it. On my personal site I do and have found it a joy to work with. It's very powerful and has the benefit of not having to mess with the actual page markup if you want to rearrange content.

Sounds good. Thanks for considering it and for the quick reply.


irma app changes email address in all lowercase letters

I noticed with the current irma app 5.7.3, that when I want to register an email address, the address is set into lowercase. This was not the case in the past. Officially uppercase/lowercase matters, but all(?) email routing systems do not make any difference, so I can imagine the choice. But I think you should follow what the user enters and at the comparison/validation level make the choice to compare on lower case. The RFC 2821 - Simple Mail Transfer Protocol: "The local-part of a mailbox  MUST BE treated as case sensitive.  Therefore, SMTP implementations  MUST take care to preserve the case of mailbox local-parts.  Mailbox  domains are not case sensitive.  In particular, for some hosts the  user "smith" is different from the user "Smith".  However, exploiting  the case sensitivity of mailbox local-parts impedes interoperability  and is discouraged."

I do not know enough about the architecture of IRMA, when you have both sites of a verification (IRMA app and server-lib) setup such that all email addresses are mapped to lowercase variant, you are right and that makes the protocol more simple. But the compare/match might be internally done on lowercase any way, and the presentation might be what the user enters. Do not expose implementation details to end user.
I use a not well know feature of google to append to your email address with a tag and use filters. So I like to enter something like<EMAIL_ADDRESS>Nice way to keep track of the registration of an account. But as long as I'm the only one, it is not worth the effort.


Issue with wrapping and Module augmentation cannot introduce new names in the top level scope error

I'm tying to get started with Typescript and bare node.js application. I need to use restify since the only available typings for it is hosted at DT I use typings install dt!restify --save.
Original .d.ts of restify has module declarations as following:
declare module "restify" {
 import http = require('http');
 //...
}

Resulting .d.ts will be wrapped and looks as following:
declare module 'restify' {
module 'restify' {
 import http = require('http');
 //...
}

This apparently causes tcs to throw error TS2665: Module augmentation cannot introduce new names in the top level scope. for each new symbol declared in the module. If I remove the wrap everything works fine.
I use Typescript v1.8.10 (trued with 1.8.9 as well) and VSCode v1.0.0 with typings v0.8.1
What am I doing wrong or how to make typings skip wrapping and just download the file as it?

Should be typings install dt!... --save --ambient


[1.11.2] Mounted directory in new container out of sync with host directory

Seeing some odd behavior, where mounting a directory into a container is bringing in some other unknown directory, and not the one from the host container that I expect:
$ pwd
/vol/elasticsearch

$ ls
config  data  logs

$ docker run -it --rm -v /vol/elasticsearch:/vol/elasticsearch elasticsearch:2.3.3 ls /vol/elasticsearch
config	config2  data  logs

Note the existence of "config2" in the container, but not the host.  The "config2" directory was created at some point by me trying to debug this thing.
The actual failure I'm getting is that elasticsearch is failing to start because inside the config directory, there is an elasticsearch.yml file, which is a normal file on the host, but is inexplicably a directory when mounted:
$ ls -la /vol/elasticsearch/config/
total 8
drwxr-xr-x 3 root root  62 Aug 10 23:26 .
drwxr-xr-x 5 root root  41 Aug  8 22:32 ..
-rw-r--r-- 1 root root 449 Aug 10 16:44 elasticsearch.yml
-rw-r--r-- 1 root root 468 Aug  8 21:48 logging.yml
drwxr-xr-x 2 root root   6 Aug  8 21:53 scripts

$ docker run -it --rm -v /vol/elasticsearch:/vol/elasticsearch elasticsearch:2.3.3 ls -la /vol/elasticsearch/config
total 12
drwxr-xr-x 3 root root 4096 Aug  5 22:01 .
drwxr-xr-x 6 root root 4096 Aug  8 22:29 ..
drwxr-xr-x 2 root root 4096 Aug  5 22:01 elasticsearch.yml

How that elasticsearch.yml file turned into a directory is beyond me.  It could be something weird that the elasticsearch image is doing, but regardless, the mounted volume is just entirely out of sync.
Restarting docker fixed the issue for me while writing up this bug report, but I have also seen it not be fixed on restart:
$ service docker restart
Stopping docker:                                           [  OK  ]
Starting docker:	                                   [  OK  ]

$ docker run -it --rm -v /vol/elasticsearch:/vol/elasticsearch elasticsearch:2.3.3 ls -la /vol/elasticsearch/config
total 8
drwxr-xr-x 3 root root  62 Aug 10 23:26 .
drwxr-xr-x 5 root root  41 Aug  8 22:32 ..
-rw-r--r-- 1 root root 449 Aug 10 16:44 elasticsearch.yml
-rw-r--r-- 1 root root 468 Aug  8 21:48 logging.yml
drwxr-xr-x 2 root root   6 Aug  8 21:53 scripts

Not really sure what "inode"s are, but in reading some other issues, it sounded like this info could be useful:
$ stat -c %i /vol/elasticsearch/config
33554560

$ docker run -it --rm -v /vol/elasticsearch:/vol/elasticsearch elasticsearch:2.3.3 stat -c %i /vol/elasticsearch/config
270154

Possibly related to
#25326
Output of docker version:
Client:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   b9f10c9/1.11.2
 Built:
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   b9f10c9/1.11.2
 Built:
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 2
 Running: 1
 Paused: 0
 Stopped: 1
Images: 4
Server Version: 1.11.2
Storage Driver: devicemapper
 Pool Name: docker-202:1-266559-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 1.432 GB
 Data Space Total: 107.4 GB
 Data Space Available: 4.813 GB
 Metadata Space Used: 3.187 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.144 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.93-RHEL7 (2015-01-28)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null host bridge
Kernel Version: 4.4.15-25.57.amzn1.x86_64
Operating System: Amazon Linux AMI 2016.03
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.956 GiB
Name: crumble
ID: 4QFV:AKU3:QQN2:MM7H:HA53:SGL2:62OK:VABQ:CQCK:6WRP:65LN:QV4A
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/

Additional environment details (AWS, VirtualBox, physical, etc.):

AWS server using Amazon Linux 2016.03 (latest)
Deployed into EC2 Container Service
Using Chef and Opsworks to provision server

Steps to reproduce the issue:
Happens daily, but I can't reproduce on demand.  Will work more on this.  If it is something specific to my environment, it seems likely that it could be happening when Chef runs occasionally, but not sure.
Describe the results you received:
Directory mounted into container has different contents than the host directory, even for a brand new container.
Describe the results you expected:
Expect the directory to have the same contents on the host and container.
Additional information you deem important (e.g. issue happens only occasionally):
The /vol/elasticsearch directory and all its contents are created using Chef, which runs occasionally and examines the directories/files to make sure they are what they should be.

Is this the official elasticsearch image from dockerhub or a custom image?

Can you post the output of docker inspect from that container?

This is the official elasticsearch image, not a custom one.
All my containers are working properly at the moment, but when they break again, I'll paste another docker inspect.  Here is a working container docker inspect:
[
    {
        "Id": "e723b114ca880e193b413356e899830cbb6d89c40a025026ba5314e4b52fda46",
        "Created": "2016-08-10T23:02:53.66367331Z",
        "Path": "/docker-entrypoint.sh",
        "Args": [
            "elasticsearch",
            "-Des.path.conf=/vol/elasticsearch/config"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 31667,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2016-08-11T13:41:02.754331682Z",
            "FinishedAt": "2016-08-10T23:27:41.156453948Z"
        },
        "Image": "sha256:b73e29ee68963373807edf028b7aa732684beb32d32ccef5ac08dff351a312cb",
        "ResolvConfPath": "/var/lib/docker/containers/e723b114ca880e193b413356e899830cbb6d89c40a025026ba5314e4b52fda46/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/e723b114ca880e193b413356e899830cbb6d89c40a025026ba5314e4b52fda46/hostname",
        "HostsPath": "/var/lib/docker/containers/e723b114ca880e193b413356e899830cbb6d89c40a025026ba5314e4b52fda46/hosts",
        "LogPath": "/var/lib/docker/containers/e723b114ca880e193b413356e899830cbb6d89c40a025026ba5314e4b52fda46/e723b114ca880e193b413356e899830cbb6d89c40a025026ba5314e4b52fda46-json.log",
        "Name": "/elasticsearch",
        "RestartCount": 0,
        "Driver": "devicemapper",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/vol/elasticsearch:/vol/elasticsearch"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {
                "9200/tcp": [
                    {
                        "HostIp": "<IP_ADDRESS>",
                        "HostPort": "9200"
                    }
                ],
                "9300/tcp": [
                    {
                        "HostIp": "<IP_ADDRESS>",
                        "HostPort": "9300"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "StorageOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DiskQuota": 0,
            "KernelMemory": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": -1,
            "OomKillDisable": false,
            "PidsLimit": 0,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "BlkioIOps": 0,
            "BlkioBps": 0,
            "SandboxSize": 0
        },
        "GraphDriver": {
            "Name": "devicemapper",
            "Data": {
                "DeviceId": "32",
                "DeviceName": "docker-202:128-67149952-76264fbf5bf31fc296cfa86d787d728fe6674ef33c8e23fd61cde87ad2d3e352",
                "DeviceSize": "10737418240"
            }
        },
        "Mounts": [
            {
                "Name": "ca4f568401f1034330ba3eb00d0f122b64ff7ab4f0ac61675e95c8a44e080125",
                "Source": "/var/lib/docker/volumes/ca4f568401f1034330ba3eb00d0f122b64ff7ab4f0ac61675e95c8a44e080125/_data",
                "Destination": "/usr/share/elasticsearch/data",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Source": "/vol/elasticsearch",
                "Destination": "/vol/elasticsearch",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "e723b114ca88",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "9200/tcp": {},
                "9300/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "ES_HEAP_SIZE=800m",
                "PATH=/usr/share/elasticsearch/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre",
                "JAVA_VERSION=8u91",
                "JAVA_DEBIAN_VERSION=8u91-b14-1~bpo8+1",
                "CA_CERTIFICATES_JAVA_VERSION=20140324",
                "GOSU_VERSION=1.7",
                "ELASTICSEARCH_VERSION=2.3.3",
                "ELASTICSEARCH_REPO_BASE=http://packages.elasticsearch.org/elasticsearch/2.x/debian"
            ],
            "Cmd": [
                "elasticsearch",
                "-Des.path.conf=/vol/elasticsearch/config"
            ],
            "Image": "elasticsearch:2.3.3",
            "Volumes": {
                "/usr/share/elasticsearch/data": {}
            },
            "WorkingDir": "/usr/share/elasticsearch",
            "Entrypoint": [
                "/docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {}
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "72bd14278f0225ee27e7e5b7bb57744d17e26a701fa4cb0d118b59c6e8d74bdd",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "9200/tcp": [
                    {
                        "HostIp": "<IP_ADDRESS>",
                        "HostPort": "9200"
                    }
                ],
                "9300/tcp": [
                    {
                        "HostIp": "<IP_ADDRESS>",
                        "HostPort": "9300"
                    }
                ]
            },
            "SandboxKey": "/var/run/docker/netns/72bd14278f02",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "b25068b33f4e4226ddb5b36e726fb23a4303281361c89708ef52bdaf60efd9b6",
            "Gateway": "<IP_ADDRESS>",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "<IP_ADDRESS>",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:03",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "de71159ef7d73b7273fee201c0ff65c8dec7505d0ddea5c4653f1b8baa557bcd",
                    "EndpointID": "b25068b33f4e4226ddb5b36e726fb23a4303281361c89708ef52bdaf60efd9b6",
                    "Gateway": "<IP_ADDRESS>",
                    "IPAddress": "<IP_ADDRESS>",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:03"
                }
            }
        }
    }
]

When my containers were in their broken state, I had looked at the "Mounts" in docker inspect and didn't notice anything weird.  As mentioned, I'll paste again once they break again.

hmm... looks ok.
Are you sure you are talking to a local daemon?
Is DOCKER_HOST set?

Nothing in DOCKER_HOST:
$ echo $DOCKER_HOST

It's all installed and configured by AWS EC2 Container Service, so should be setup correctly.  And recall that if I restart docker, it usually fixes this issue, so seems to be something weird with where these mounted directories are being sourced from.  Is there some sort of temporary location where the directories get mounted from?  Does it even make any bit of sense that the contents are different from the host?

@seanadkinson If docker can't find the dirs it will create them automatically.
How are these dirs being provisioned on the host? Are they mounted from somewhere?
Assuming you are using systemd for init, what does your systemd unit file look like?

Hi there,
The /vol/elasticsearch directory is an AWS EBS volume.  I'm not familiar with systemd, and don't see any files at /etc/systemd or /lib/systemd/system, which is where I'm reading these files would exist.
The server broke down again this morning.  Here is the current state (same as yesterday):
$ ls -la /vol/elasticsearch/config/
total 8
drwxr-xr-x 3 root root  62 Aug 12 15:27 .
drwxr-xr-x 5 root root  41 Aug  9 15:20 ..
-rw-r--r-- 1 root root 452 Aug 10 16:42 elasticsearch.yml
-rw-r--r-- 1 root root 468 Aug  8 21:48 logging.yml
drwxr-xr-x 2 root root   6 Aug  8 21:53 scripts

$ docker run -it --rm -v /vol/elasticsearch:/vol/elasticsearch elasticsearch:2.3.3 ls -la /vol/elasticsearch/config/
total 12
drwxr-xr-x 3 root root 4096 Aug  5 22:02 .
drwxr-xr-x 6 root root 4096 Aug  8 22:10 ..
drwxr-xr-x 2 root root 4096 Aug  5 22:02 elasticsearch.yml

Perhaps you'd like access to the server?  Send me your public key if so.
Otherwise, is there other debugging steps I should perform before restarting docker?

systemd unit file is in /lib/systemd/system/docker.service

$ cat /lib/systemd/system/docker.service
cat: /lib/systemd/system/docker.service: No such file or directory

Is what kind of buried in my last comment, so I'll mention it again:  If you or someone would like SSH access to this server, send me your public key and I'll send the host information.
It is a test server in a VPC that has no access to anything, so I'm not too concerned about sharing access temporarily.

Going to try upgrading to 1.12, and using overlay2, to see if the issue goes away.

Couldn't actually upgrade to 1.12, but did switch to the overlay filesystem, and unfortunately the issue happened again.
I noticed something a little strange though, which may help pinpoint a root cause here.  After finding the server in a bad state, I had removed the broken elasticsearch docker container, and then when I restarted docker, the container appeared again.  I can't confirm 100%, so I'll wait until this issue happened again to be sure, but here is some output from my terminal history:
$ docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                    PORTS                    NAMES
c6683d2b00f5        logstash:2.3.2        "/docker-entrypoint.s"   24 hours ago        Up 24 hours               <IP_ADDRESS>:5044->5044/tcp   logstash
f498b76e8319        kibana:4.5.3          "/docker-entrypoint.s"   24 hours ago        Up 24 hours               <IP_ADDRESS>:5601->5601/tcp   kibana
026775755e8b        elasticsearch:2.3.5   "/docker-entrypoint.s"   24 hours ago        Exited (1) 24 hours ago                            elasticsearch

$ docker rm elasticsearch
elasticsearch

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
c6683d2b00f5        logstash:2.3.2      "/docker-entrypoint.s"   24 hours ago        Up 24 hours         <IP_ADDRESS>:5044->5044/tcp   logstash
f498b76e8319        kibana:4.5.3        "/docker-entrypoint.s"   24 hours ago        Up 24 hours         <IP_ADDRESS>:5601->5601/tcp   kibana

$ service docker restart
Stopping docker:                                           [  OK  ]
Starting docker:	                                   [  OK  ]

$ docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                      PORTS               NAMES
f5eabf329285        logstash:2.3.2        "/docker-entrypoint.s"   32 hours ago        Exited (0) 14 seconds ago                       logstash
bd6f69351bad        elasticsearch:2.3.5   "/docker-entrypoint.s"   32 hours ago        Exited (0) 14 seconds ago                       elasticsearch
3d2c32dc4158        kibana:4.5.3          "/docker-entrypoint.s"   32 hours ago        Exited (0) 14 seconds ago                       kibana

Indeed, even logstash and kibana have different container ids after the restart.  Would that be expected?
Is there anything else I can do to try and help diagnose?
@thaJeztah Can you remove the status/more-info-needed tag, unless there is more info that I can provide?  Thanks!

If they have different container ID's, that means something else created new ones.

I'm seeing a similar issue. Seems like docker is caching inodes. I've been able to consistently fix this problem by just restarting the docker service, but that's less than ideal.
$ ls /tmp/test
foo

$ mount -t nfs4 -o nfsvers=4.1 my-nfs-server:/ /tmp/test

$ ls /tmp/test
bar

$ docker run -it --rm -v /tmp/test:/var/test jenkins:2.19.2 ls -la /var/test
foo

$ service docker restart

$ docker run -it --rm -v /tmp/test:/var/test jenkins:2.19.2 ls -la /var/test
bar

$ docker version
Client:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   b9f10c9/1.11.2
 Built:
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   b9f10c9/1.11.2
 Built:
 OS/Arch:      linux/amd64

$ cat /etc/system-release
Amazon Linux AMI release 2016.09

Docker does not cache anything, this is all handled at the kernel level.
@merimna Your issue is almost certainly due to unshare -m in your init script.

 Turns out namespaces were preventing my changes from propagating.
I updated my mount command to add the mount in the docker namespace by doing:
nsenter -t $(cat /var/run/docker.pid) -m -- mount -t nfs4 -o nfsvers=4.1 my-nfs-server:/ /tmp/test


Fix documentation to include installing ADB

https://forum.opendatakit.org/t/survey-not-showing-the-files-pushed/22195/26

@wbrunette Please assign this issue to me.

@EstherPhebe I have assigned the issue to you


Menu items not visible in dark mode.

Is the bug present when using the default Obsidian theme?
No
Is the bug present when snippets and plugins are disabled?
No
Minimal theme version
7.3.0
Describe the bug
The menu items and even some buttons were not visible in dark mode color scheme of the e-ink theme,
tested it with all the three background contrast options, same results not visible. I'm not using a e-ink device tho, but i like the theme.
the menu items will appear once i hover the cursor out of the menu list but it will again go invisible once i hover the cursor over the menu box, see the screen grab for better understanding.
screen grab

Debug info
SYSTEM INFO:
Obsidian version: v1.4.16
Installer version: v1.4.13
Operating system: Windows 10 Home Single Language 10.0.19045
Login status: not logged in
Insider build toggle: off
Live preview: on
Legacy editor: off
Base theme: dark
Community theme: Minimal v7.3.2
Snippets enabled: 7
Restricted mode: off
Plugins installed: 5
Plugins enabled: 5
1: Advanced Tables v0.19.1
2: Calendar v1.5.10
3: Minimal Theme Settings v7.3.0
4: Style Settings v1.0.7
5: Typewriter Mode v0.0.2

workspace-tab-header, when "close" icon hover, color not visible
https://github.com/kepano/obsidian-minimal/assets/12285468/b0825631-d2b5-4266-8a0a-e13c2a567bd2
setting button, when button hover, color not visible
https://github.com/kepano/obsidian-minimal/assets/12285468/33682a2c-c4c8-43aa-b523-7b92ae64844a

When the header row is selected, the TOC color appears abnormally


How do you use Timex.Ecto.* as column default value?

How would you define a default value for a Timex.Ecto.* column? I tried the obvious, using Timex.Date.from but it does not work when using mix ecto.migrate because :tzdata is not yet started.
defmodule WPI.Postgres.MyTable do
    use Ecto.Schema
    schema "my_table" do
        field :my_date, Timex.Ecto.DateTimeWithTimezone, default: Timex.Date.from({{2099, 1, 1}, {0, 0, 0}}, "UTC")
    end
end

== Compilation error on file lib/database/postgres.ex ==
** (ArgumentError) argument error
    (stdlib) :ets.lookup(:tzdata_current_release, :release_version)
    lib/tzdata/release_reader.ex:41: Tzdata.ReleaseReader.current_release_from_table/0
    lib/tzdata/release_reader.ex:13: Tzdata.ReleaseReader.simple_lookup/1
    lib/tzdata/release_reader.ex:7: Tzdata.ReleaseReader.zone_and_link_list/0
    lib/tzdata.ex:61: Tzdata.zone_exists?/1
    lib/timezone/timezone.ex:91: Timex.Timezone.get/2
    lib/date/date.ex:321: Timex.Date.from/2
    lib/database/postgres.ex:223: (module)

Is there a workaround or is this not achievable?
I am still using timex 1.X.X.

Add Application.ensure_all_started(:timex) at the top of the module, but you can also use an Erlang datetime time as the default, I believe, that might be worth trying first, that or constructing the DateTime struct manually, especially since it's UTC, the default DateTime value is UTC, so you really just have to set the date fields.
Anyway, those are a few options :)

The erlang datetime struct does not work as default, I get:
** (ArgumentError) invalid default argument `{{2099, 1, 1}, {0, 0, 0}}` for field :my_date of type Timex.Ecto.DateTimeWithTimezone

Although creating the datetime struct directly works great:
%Timex.DateTime{day: 1, month: 1, year: 2099}

Thanks!


remove subtotal row if it exists

When I use the Amazon Order History Reporter plugin it creates a final row in the output CSV that looks something like this:
"=SUBTOTAL(103, A2:A11) & "" items""",,,,,"=SUBTOTAL(109,F2:F11)","=SUBTOTAL(109,G2:G11)","=SUBTOTAL(109,H2:H11)","=SUBTOTAL(109,I2:I11)","=SUBTOTAL(109,J2:J11)","=SUBTOTAL(109,K2:K11)",,

I run this tool just infrequently enough that I always forget I need to remove this line.
This change checks for its existence and removes it from the dataframe of amazon order information

Nice - thank you! I haven't run into this before - but I will get this teested and pushed

I tested this using pipx:
pipx run \
  --spec git+https://github.com/jpjpjp/lunchable-primelunch@tolerate_subtotal_row \
  lunchable-primelunch \
  -f ~/Downloads/amazon_order_history.csv \
  -w 28

:tada: This PR is included in version 1.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

Shoot - there was a failure on the release to PyPI. I'll get this sorted

Alright, everything is resolved now and 1.02 was just published on PyPI


Disable Automatically Replacing the Animator Controller set in the Animator Component

It's irritating when I'm trying to iterate on something and have to keep putting the Animator that I am editing back into the Animator Component each time just to keep making adjustments and compile.

Will adjust so it does not place the generated controller into the Animator controller field. AASEmulator will handle that.


Firewall Rules: Add a "Detail" toggle button in the button bar, to allow more complete rule display

This PR makes a small but crucial change to the display of firewall rules.
At present, for layout purposes, some key information isn't displayed, which really is crucial to the rules. The example I have in mind is that for Floating Rules, you can't see which interfaces the rules apply on, without opening each rule individually in the editor. That's pretty crucial rule information.  But trying to show everything in the table would make the display unusable and ugly. Against this, for many users this info will be needed and many will have wide displays capable of showing full details in a row.  Not everything should be immediately displayed, but the key info needs to be at least easily displayable.
Dilemma.
To overcome this issue, this PR does 2 things.

Adds a neat unobtrusive button for "details", so extra key details or columns can be displayed.
Uses the button so that when toggled, an extra column is displayed (in Floating Rules only) to show the rule interfaces, with useful interface hover info - the most immediate missing information at present.

This (1) solves the immediate problem of interface viewing for Floating Rules, and (2) provides a means for other important data to be expanded upon, or displayed, going forward, without disrupting the clean present display, hence generalising the benefits.
As an aside, I've made a minor change to rename the existing button from "Inspect" to "Statistics".  The main reason being that "Inspect" is actually pretty ambiguous in the context of partial info about rules (does it mean inspect rule details, or inspect the stats?).  "Statistics" is much more immediately obvious and is also very accurate, since activating it displays per-rule statistics.

If the idea is to show interfaces in floating rules, we might consider adding the field by default on the floating tab, when using a large (-lg) screen size.
The current solution only functions partially (or is at least confusing when in inspect mode) and could probably be simplified.
(detail enabled on floating tab, normal view)

(switching to inspect)

detail on lan tab:

... and switching to inspect:

The Inspect vs Statistics choice is probably a matter of taste, we might consider changing it, but in the original context (which I would suggest we keep), it's quite obvious what it's intend is.

Yes, when it switches to inspect/stats, then the detail button could probably lose its 'active' status.  I'll add that to the PR shortly.
The advantage of this is, if a user has a wide display, or at times there is other useful info for rules, we have an elegant way to improve rule detail visibility, without negative effect on the UI for the majority of use. Since rules can have many non-trivial parameters, but the display is limited, this might mean that a selection of other useful parameters (or hoverable  icons representing some) can be made visible in the table, for quick viewing, without compromising the table.
So it's not just the floating rules interface. Its more that that's an obvious use. If the button is acceptable, then I'd like to expose a few more things, I haven't done it yet because it was late at night. I'll do it shortly today.

It's probably better to use css to automatically show/hide options on different screen size, one less button in need to explain and likely easier to integrate as it is. (if the -lg bootstrap tag isn't suitable, there might be options to add an extra viewpoint for even larger screens)

What I discovered on tech UI is some people like a lot of detail, even if it's small, others want big fonts and a way to view to detail. With today's 4k monitors being commonplace on everything from 12 inch (30 cm) to 36 inch (90 cm) diagonals, I don't think window pixel size is always a good guide to what should show.  Although we do specify a particular font size, so maybe its okay? But it also isn't hard to add logic to auto-expose extra columns if the width is > some value.  Or to give the user a (remembered) choice of columns, much like the dashboard has a choice of widgets? Multiple approaches, which do you think would please most, and upset the rest least?

I would just  start with adding the interface field for floating and make sure it's visible on -lg size displays and see how that looks / reacts. small steps, easy for others to try as well.

There are plenty of examples of "accordion" code both bootstrap and css, for that. (Example1 Example2). I'm not sure if the interfaces can be added easily for floating rules, on a small window, without going to 2 lines per rule. But I'll have a go, and come back with whatever I get to. Might take some experimenting as there's a lot to try out.

Can you take a look at this? It's screenshots for 3 sizes (smallest and largest -lg, and smallest -xl), comparing the current layout (on my main router: top row) and the layout I've got so far.
I haven't incorporated the floating interface yet.  It's clear I'll need to create some screen space for that, so this is how I'm doing it. It looks pretty good to me so far, but before I put more time into it, it's worth checking that you like the general direction.  Usefully, there's almost zero change to the original code, as I'm using output buffers + bootstrap classes. Sample screenshots and code snip below.
The compact version also replaces port=* with Port: *  for visual ease. (It worked better than bare * *).
What's immediately visible to me, is the saved horizontal space, without clutter.  Compare the 2 rows.  There are obviously some overflow and underflow issues, which if this is seen positively, I'll sort out, before a second set of screenshots showing updated layout with+without floating rule interfaces.
Sample of code used to generate compact layout in bootstrap:

<?php
            ob_start(); ?>
                 {{ EXISTING CODE TO GENERATE IPADDR COLUMN CONTENT }}
<?php
            $ipaddr_html = ob_get_contents();
            ob_end_flush(); ?>

<?php
            ob_start(); ?>
                 {{ EXISTING CODE TO GENERATE PORT COLUMN CONTENT }}
<?php
            $port_html = ob_get_contents();
            ob_end_flush(); ?>

                        <---- new column
            <?= $ipaddr_html; ?>

            <?= trim($port_html) == '*' ? gettext("Port") . ": *" : $port_html ; ?>

timeout, currently out of scope.


Warning Message on robotframework 7.0

Warning Message on robotframework. Some keywords were deprecated as seen below.
Singular section headers like '*** Test Case ***' are deprecated. Use plural format like '*** Test Cases ***' instead.

The '[Return]' setting is deprecated. Use the 'RETURN' statement instead.

Hi @gtossk2,
We have updated deprecated robot keywords with updated ones.
Verified changes with robotframework 7.0 on Linux.
Please review https://github.com/ARM-software/sbmr-acs/pull/21
Thanks & Regards,
ACS Team


chore: redo typo PR by vitalmotif

Thanks vitalmotif for https://github.com/AztecProtocol/aztec-packages/pull/6072. Our policy is to redo typo changes to dissuade metric farming. This is an automated script.

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
772
772
772

l1_rollup_calldata_gas
6,808
6,808
6,832

l1_rollup_execution_gas
587,289
587,289
587,313

l2_block_processing_time_in_ms
1,494 (+1%)
5,405 (-2%)
10,296 (-2%)

l2_block_building_time_in_ms
19,487
75,997 (-1%)
151,756 (-1%)

l2_block_rollup_simulation_time_in_ms
19,277
75,238 (-1%)
150,261 (-1%)

l2_block_public_tx_process_time_in_ms
8,859 (-1%)
34,826 (-1%)
69,656 (-1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
16,558 (-3%)
30,360 (-3%)

node_database_size_in_bytes
20,762,704
37,429,328

pxe_database_size_in_bytes
29,868
59,425

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
163 (-1%)
47,763
32,254

private-kernel-inner
187 (+1%)
81,070
32,254

private-kernel-ordering
176 (+1%)
58,008
49,589

base-parity
9.14 (-2%)
128
64.0

root-parity
99.7 (-4%)
27,064
64.0

base-rollup
12,055 (-1%)
111,202
957

root-rollup
60.2
11,518
821

public-kernel-app-logic
1,602
62,569
26,341

public-kernel-tail
4,466
168,842
3,953

merge-rollup
3,132 (-2%)
2,760
957

public-kernel-teardown
132 (-2%)
62,569
34,895

public-kernel-setup
144 (+1%)
62,569
34,895

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.9
17.7 (-1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.7
31.8
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.635
0.545 (-1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
52.0
79.8
259
499
979 (-1%)
1,932
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.532 (-1%)
0.493
0.472
0.466
0.465 (-1%)
0.463
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
60.3
120
373 (-1%)
732
1,455 (-1%)
2,905 (-1%)
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
105
208
692
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.532
0.538
0.509 (-1%)
0.505
0.504 (-1%)
0.506 (-1%)
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
66.4

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
108

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.585

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
51,687
537,196

Transaction size based on fee payment method

Metric
native fee payment method
fpc_public fee payment method
fpc_private fee payment method

tx_with_fee_size_in_bytes
897
1,145
1,345

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes
2 new note hashes

tx_pxe_processing_time_ms
1,287 (-1%)
924
3,566 (-1%)

Metric
1 public data writes
2 public data writes
3 public data writes
4 public data writes
5 public data writes
8 public data writes

tx_sequencer_processing_time_ms
888
801 (+1%)
1,449
945 (+1%)
2,226
1,128


add lava docs

adding lava docs (for NIR to Lava and NIR to Lava-dl).

@stevenabreu7 wanna merge this or should we wait a bit?


Create role

Add new relic with PHP integration only for now.
Will need to allow for per environment application names.

Closed by #2


Fix uglify-js special case

Related to https://github.com/zeit/now-builders/issues/903

Codecov Report

Merging #41 into master will decrease coverage by 0.09%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master      #41     +/-   ##
=========================================
- Coverage   89.93%   89.84%   -0.1%
=========================================
  Files          10       10
  Lines         984      975      -9
=========================================
- Hits          885      876      -9
  Misses         99       99

Impacted Files
Coverage Δ

src/utils/special-cases.js
95.16% <100%> (-0.62%)
:arrow_down:

Continue to review full report at Codecov.

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


ListView scrollbars not working when inside a Frame/NavigationView

Describe the bug
I originally reference this PR https://github.com/microsoft/microsoft-ui-xaml/issues/7362 and assumed I was doing something wrong, but upon further inspection is appears that there is still an issue.
Steps to reproduce the bug
Create a blank WinUI3 project and add a MainPage to the MainWindow. Create a NavigationView and a content Frame and add a list view to the content that has enough items to trigger the scrollviewer.
I have added the scrollviewer property settings in each layer as needed:
<Frame
    x:Name="ContentFrame"
    CacheSize="{x:Bind TabNavigationView.MenuItems.Count}"
    ScrollViewer.HorizontalScrollBarVisibility="Auto"
    ScrollViewer.HorizontalScrollMode="Enabled"
    ScrollViewer.VerticalScrollBarVisibility="Visible"
    ScrollViewer.VerticalScrollMode="Enabled">
</Frame>

Expected behavior
ScrollViewer should work as intended and show the vertical scrollbar.
There appears to be a problem when the content is inside a <Frame> from a <NavigationView>
I have tested this using a MainWindow that loads a MainPage and the vertical scrollbars are visible and work as expected. however when using a NavigationView with a Frame to hold the MainPage content, the ScrollViewer does not work as expected.
Screenshots

NuGet package version
WinUI 3 - Windows App SDK 1.5.2: 1.5.240404000
Windows version
Windows 10 (21H2): Build 19044
Additional context
No response

And to clarify further, the Grid setup is the recommended standard:
 <Grid.RowDefinitions>
     <RowDefinition Height="Auto" />
     <RowDefinition Height="*" />
 </Grid.RowDefinitions>

UPDATE
I found the solution was to ensure that the NavagationView grid row also needs to be set to star. I'm guessing this must be passed down to the children inside the Content holder.
I'm closing this issue.


chore(YAML): Add minio spec using cStor

Add YAML spec for Minio-Distributed using 1 rep cStor SC

Signed-off-by: Ranjith R<EMAIL_ADDRESS>

/lgtm


help: Improve documentation on troubleshooting desktop notifications.

Notes:

The test notification doesn't say "Test notification", but I think we should update it, matching mobile (https://github.com/zulip/zulip-mobile/pull/5799). If we think this documentation would be confusing for the current state, we could tweak it to more closely match the notification we currently send.

Current: https://zulip.com/help/desktop-notifications
Updated:

Merged, thanks @alya!


SharePoint incorrectly produces N/A for policy 3.3

🐛 Summary
MS.SHAREPOINT.3.3v1 states the following which is incorrect:

Note: This policy is only applicable if the external sharing slider on the admin center sharing page is set to Anyone or New and existing guests.

To reproduce
Steps to reproduce the behavior:

Sign in to SharePoint admin center, go to Policies > Sharing
Change the external sharing slider to "Existing Guests", "New and existing guests", and "Anyone" and note the checkbox for People who use a verification code must reauthenticate after this many days is displayed in all three options.

Expected behavior

MS.SHAREPOINT.3.3v1 should be revised to be:

Note: This policy is only applicable if the external sharing slider on the admin center sharing page is not set to Only people in your organization.

Rego changes need to be made to reflect above:
# Standard case
tests contain { ... } if {
  SharingCapability in [NEWANDEXISTINGGUESTS, ANYONE, EXISTINGGUESTS]
}

# N/A case
tests contain { ... } if {
  SharingCapability != ONLYPEOPLEINORG
}

Any helpful log output or screenshots
Current policy:

I met with Mitchel and Beth to demonstrate why the policy is only applicable when the external sharing slider is set to Anyone or New and existing guests. Those are the only two settings where Sharepoint enables verification code users. Closing the issue since no changes are necessary.


POST for openid/userinfo is not compatible with OIDC

https://github.com/camaraproject/SimSwap/blob/c317b025fe1fd121cc25219ab9244471fe234c9d/code/API_definitions/MobileConnect/MC_ATP.yaml#L75
Correct me if I'm wrong, but IDY.24 implements OIDC openid/userinfo API, not juts coincidentally uses the same endpoint.
OIDC describe this endpoint as a GET API. Using POST here is incompatible with OIDC and breaks REST design principles ("POST UserInfo" looks like an update/create API).

Link to https://github.com/camaraproject/NumberVerification/issues/35


Problem installing pygraphviz

When I try and run 'pip install -r requirements.txt', it fails with the error: ERROR: Command errored out with exit status 1:      command: /Users/ittd/climatemind-backend/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-install-56vasmf8/pygraphviz/setup.py'"'"'; __file__='"'"'/private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-install-56vasmf8/pygraphviz/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-record-9cpocl9v/install-record.txt --single-version-externally-managed --compile --install-headers /Users/ittd/climatemind-backend/venv/include/site/python3.7/pygraphviz          cwd: /private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-install-56vasmf8/pygraphviz/     Complete output (33 lines):     running install     Trying dpkg     Failed to find dpkg     Trying pkg-config     Package libcgraph was not found in the pkg-config search path.     Perhaps you should add the directory containing 'libcgraph.pc'     to the PKG_CONFIG_PATH environment variable     No package 'libcgraph' found     Traceback (most recent call last):       File "<string>", line 1, in <module>       File "/private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-install-56vasmf8/pygraphviz/setup.py", line 93, in <module>         tests_require=['nose>=1.3.7', 'doctest-ignore-unicode>=0.1.2', 'mock>=2.0.0'],       File "/Users/ittd/climatemind-backend/venv/lib/python3.7/site-packages/setuptools/__init__.py", line 163, in setup         return distutils.core.setup(**attrs)       File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/core.py", line 148, in setup         dist.run_commands()       File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/dist.py", line 966, in run_commands         self.run_command(cmd)       File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/dist.py", line 985, in run_command         cmd_obj.run()       File "/private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-install-56vasmf8/pygraphviz/setup_commands.py", line 44, in modified_run         self.include_path, self.library_path = get_graphviz_dirs()       File "/private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-install-56vasmf8/pygraphviz/setup_extra.py", line 162, in get_graphviz_dirs         include_dirs, library_dirs = _try_configure(include_dirs, library_dirs, _pkg_config)       File "/private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-install-56vasmf8/pygraphviz/setup_extra.py", line 117, in _try_configure         i, l = try_function()       File "/private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-install-56vasmf8/pygraphviz/setup_extra.py", line 72, in _pkg_config         output = S.check_output(['pkg-config', '--libs-only-L', 'libcgraph'])       File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 376, in check_output         **kwargs).stdout       File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 468, in run         output=stdout, stderr=stderr)     subprocess.CalledProcessError: Command '['pkg-config', '--libs-only-L', 'libcgraph']' returned non-zero exit status 1.     ---------------------------------------- ERROR: Command errored out with exit status 1: /Users/ittd/climatemind-backend/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-install-56vasmf8/pygraphviz/setup.py'"'"'; __file__='"'"'/private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-install-56vasmf8/pygraphviz/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/3j/dq8385xs2b3gr_w7yxrqbvjr0000gs/T/pip-record-9cpocl9v/install-record.txt --single-version-externally-managed --compile --install-headers /Users/ittd/climatemind-backend/venv/include/site/python3.7/pygraphviz Check the logs for full command output.
This happens also when I try and run pip install pygraphviz

You don't need pygraphviz to run the app. I suggest looking back to an earlier versions of the repo before visualize.py was added to the knowledge_graph folder.
@ppython I'm thinking it might be good to move the visualize script to a different repo, one that's internal only, especially since the visualize.py script isn't going to be run by the app.

@biotom if you do want to install graphviz and you have a mac, then follow these directions to fix the dependency issue:
I had issues getting pip install pygraphviz to work on my mac. I had to download pygraphviz from the zip file on their website, then unzip and include the special arguments in the install command to include the proper path to the graphviz installed on my mac.
Providing path to graphviz (from the install documentation for pygraphviz):

We tried our best to discover graphviz location automatically, but if you
would like specify specific location for graphviz you may provide additional parameters to specify graphviz location in the setup.py file in the zip or tar file.
include-path= path to graphviz include files
library-path= path to graphviz library files
For example
::
python setup.py install --include-path=/usr/local/Cellar/graphviz/2.38.0/include/graphviz --library-path=/usr/local/Cellar/graphviz/2.38.0/lib

@biotom Try using this state of the repo to work off of for Swagger:
https://github.com/ClimateMind/climatemind-backend/commit/b8d8b3aeda00028b224473a20780264fcac7e262#diff-d7b6a4b835cd70aa17e6993900a57dbe

Thanks, after brew install graphviz, it worked! However, I'm now getting ModuleNotFoundError: No module named 'pandas' when I try and do flask run... @rolandoldengarm is it worth dockerising this now?

Pip install pandas
On Sun, Aug 16, 2020 at 11:49 AM Tom Deadman<EMAIL_ADDRESS>wrote:

External Email
Thanks, after brew install graphviz, it worked! However, I'm now getting ModuleNotFoundError:
No module named 'pandas' when I try and do flask run... @rolandoldengarm
https://github.com/rolandoldengarm is it worth dockerising this now?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ClimateMind/climatemind-backend/issues/22#issuecomment-674562898,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEXL62V72Z7ETPQXWIGVFALSBAS4TANCNFSM4QA572YQ
.

Yes, I've done this- and so has pip install -r requirements.txt

Is some code written import pandas as pd?
Instead of just import pandas as pandas?
On Sun, Aug 16, 2020 at 11:57 AM Tom Deadman<EMAIL_ADDRESS>wrote:

External Email
Yes, I've done this- and so has pip install -r requirements.txt
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ClimateMind/climatemind-backend/issues/22#issuecomment-674563814,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEXL62RODDBUB2J2ZWKSGJDSBAT3JANCNFSM4QA572YQ
.

With the docker container developments, and the fact that installing graphviz fixed this, I think we can close this issue.


"select null as aa,null as bb" is not supported in ClickHouse-Native-JDBC

Environment

OS version: SUSE 12.5
JDK version:1.8
ClickHouse Server version: <IP_ADDRESS>
ClickHouse Native JDBC version:2.5.4

Error logs
Exception in thread "main" java.lang.UnsupportedOperationException: Unknown compression method: 108
at com.github.housepower.jdbc.buffer.CompressedBuffedReader.readCompressedData(CompressedBuffedReader.java:94)
at com.github.housepower.jdbc.buffer.CompressedBuffedReader.readBinary(CompressedBuffedReader.java:50)
at com.github.housepower.jdbc.serde.BinaryDeserializer.readUTF8StringBinary(BinaryDeserializer.java:90)
at com.github.housepower.jdbc.data.Block.readFrom(Block.java:40)
at com.github.housepower.jdbc.protocol.DataResponse.readFrom(DataResponse.java:32)
at com.github.housepower.jdbc.protocol.Response.readFrom(Response.java:33)
at com.github.housepower.jdbc.connect.NativeClient.receiveResponse(NativeClient.java:178)
at com.github.housepower.jdbc.connect.NativeClient.lambda$receiveQuery$0(NativeClient.java:135)
at com.github.housepower.jdbc.stream.ClickHouseQueryResult.consumeDataResponse(ClickHouseQueryResult.java:89)
at com.github.housepower.jdbc.stream.ClickHouseQueryResult.access$100(ClickHouseQueryResult.java:26)
at com.github.housepower.jdbc.stream.ClickHouseQueryResult$1.fill(ClickHouseQueryResult.java:65)
at com.github.housepower.jdbc.stream.ClickHouseQueryResult$1.hasNext(ClickHouseQueryResult.java:55)
at com.github.housepower.jdbc.ClickHouseResultSet.fetchBlock(ClickHouseResultSet.java:439)
at com.github.housepower.jdbc.ClickHouseResultSet.next(ClickHouseResultSet.java:408)
Steps to reproduce
Use the ClickHouse-Native-JDBC (2.5.4) driver to access the ClickHouse database, construct the query "select null as aa,null as bb", and use the ResultSet to store the query result. After the query is executed, the preceding error is reported.
Other descriptions
At first, I used ClickHouse-Native-JDBC 2.2. When I used the “select null as aa” syntax, an error message was displayed, and the error message was " Exception in thread "main" java.sql.SQLException: Unknown data type family:Nothing". Later, when I upgraded to 2.5.4, If one "null as xx" is displayed in the query result, no problem occurs. If multiple "null as xx" are displayed, an error message is displayed, as shown in the Error logs.

I checked the source code and found that the clickhouse-native-jdbc implementation is highly similar to the clickhouse-client which is implemented in C++, while clickhouse-client supports the syntax of "select null as aa,null as bb" well.
Therefore, it is suspected that the bug is caused by clickhouse-native-jdbc.Does the community have any plans for restoration?

Yes, it's buggy in this JDBC client.
SELECT
    NULL AS aa,
    NULL AS bb,
    toTypeName(aa)

Query id: cebfe071-2c24-451c-8a8e-e4229e193c70

┌─aa───┬─bb───┬─toTypeName(NULL)──┐
│ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ Nullable(Nothing) │
└──────┴──────┴───────────────────┘

1 rows in set. Elapsed: 0.003 sec.

I think we may need to add Nothing DataType support in jdbc client.  Do you have an interest in submitting a pr to improve this ?

Yeah, I'm glad to contribute to the community, and I'm trying to fix it right now. Actually, ClickHouse-Native-JDBC already supports the Nothing DataType. However, when the query result is received and parsed, if null is encountered, the byte-by-byte phase is confused. Can you provide some guidance?

@sundy-li Hello,
My problem is that I don't know the encoding rules for every byte in the received packet, so I can't correctly parse and identify the starting position and ending position of the "null as aa" column in the result set.
I have tried a lot but couldn't fix this bug. could you please give us a fix？Thank you very much!

@sundy-li
Thank you very much, the problem is well fixed.

@sundy-li @pan3793
Could the community launch a release package based on the fixed version?
Thank you!

2.6.3 is releasing in progress.

@sundy-li
Thank you, and firmly believe that this driver will become more and more perfect.


UnsatisfiedLinkError Permission denied fatal crash while accessing libCronet.so

Media3 Version
ExoPlayer 2.16.1
Devices that reproduce the issue
Redmi 10 Redmi 10 prime, Redmi Note 9 Pro, Xiaomi 11 Lite NE:
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
No
Reproduction steps
My live streaming SDK, which uses Http3 via CronetDataSource for HLS streaming, works with most clients, but one client's APK raises a security exception when Cronet tries to access play services. I suspect this may be due to the client's security settings during APK creation. However, without access to the APK codebase, I'm limited in addressing this issue.
Reproduce steps :

Create an instance of CronetEngine using CronetEngine.Builder
with CronetEngine.Builder.enableQUIC(true)
Send a request

Expected result
no crash
Actual result
native crash
Media
Fatal Exception: java.lang.UnsatisfiedLinkError: dlopen failed: couldn't map "/data/user_de/0/com.google.android.gms/app_chimera/m/0000006f/CronetDynamite.apk!/lib/arm64-v8a/libcronet.111.0.5563.55.so" segment 1: Permission denied
       at java.lang.Runtime.loadLibrary0(Runtime.java:1077)
       at java.lang.Runtime.loadLibrary0(Runtime.java:998)
       at java.lang.System.loadLibrary(System.java:1661)
       at org.chromium.net.impl.CronetLibraryLoader.a(:com.google.android.gms.dynamite_cronetdynamite<EMAIL_ADDRESS>(190400-0):4)
       at org.chromium.net.impl.CronetUrlRequestContext.(:com.google.android.gms.dynamite_cronetdynamite<EMAIL_ADDRESS>(190400-0):8)
       at org.chromium.net.impl.NativeCronetEngineBuilderImpl.build(:com.google.android.gms.dynamite_cronetdynamite<EMAIL_ADDRESS>(190400-0):2)
       at org.chromium.net.CronetEngine$Builder.build(CronetEngine.java:313)
       at HlsLiveModule.provideCronetEngine(HlsLiveModule.kt:40)
Bug Report

[ ] You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

Hi @Amud,
Could you please check if native Cronet binaries are bundled into your app?  Also, we have a util method CronetUtil.buildCronetEngine which will catch the UnsatisfiedLinkError and avoid the crash.
Hope this answer can help!


Raise ProcessTimeoutError when timeout is reached

Raise ProcessTimeoutError when timeout is reached when waiting for process result.
Changes

Raise ProcessTimeoutError when process takes too long to complete

API Updates
New Features
none
Deprecations
none
Checklist

[x] Unit tests
[x] Documentation

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

9 of 9 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 94.181%

Totals

Change from base Build<PHONE_NUMBER>:
0.05%

Covered Lines:
696

Relevant Lines:
739

💛  - Coveralls


improve operating system name parser

See https://github.com/ManageIQ/manageiq-providers-ibm_power_hmc/issues/78.

Can you add some specs for this - would be nice to see specs showing the different possibilities and I think this method can be unit tested in isolation.

@Fryguy Added some spec to check the operating system is parsed correctly. Is this what you had in mind?