net: "cannot unmarshal DNS message" for SRV lookup

$ go version
go version go1.13.1 darwin/amd64

Does this issue reproduce with the latest release?
Yep.

I compiled the following program and executed the resultant program on an AWS EC2 instance passing the URI specified by the package vendor's documentation.
package main

import (
	"context"
	"flag"
	"log"
	"time"

	"go.mongodb.org/mongo-driver/mongo"
	"go.mongodb.org/mongo-driver/mongo/options"
	"go.mongodb.org/mongo-driver/mongo/readpref"
)

func main() {
	uri := flag.String("uri", "mongodb://localhost:27017", "URI of the mongo server of interest")
	flag.Parse()
	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
	defer cancel()
	client, err := mongo.Connect(ctx, options.Client().ApplyURI(*uri))
	if err != nil {
		log.Fatalf("connection error: %s", err)
	}
	if err := client.Ping(ctx, readpref.Primary()); err != nil {
		log.Fatalf("pinging error: %s", err)
	}
	log.Println("exiting")
}

Compiled on my MacBook Pro using different go versions, all the way to gotip version
go version devel +ccb95b6492 Fri Feb 21 05:04:06 2020 +0000 darwin/amd64

Compiled using  GOOS=linux GOARCH=amd64 go build . since I'm building for an Ubuntu 18.04 EC2 instance.
I then scped the binary to the remote machine.
What did you expect to see?
Using the mongo client binary to connect succeeds with proper DNS resolution. So, I expected that...
What did you see instead?
After sshing to the remote box I executed
./mongoConnectTest -uri=mongodb+srv://$USER:$PASSWORD@$HOST/$TESTDB
and received the following error.
2020/02/21 17:28:56 connection error: error parsing uri: lookup $HOST on <IP_ADDRESS>:53: cannot unmarshal DNS message

Notes
I'm using a DNS seedlist provided by an SRV record to access a cluster of machines exposing a mongo interface to me. The documentation for that DNS resolution process by which a list of hostname:port pairs and connection options are acquired is here.
This problem seems related to net's inability to parse the resolved DNS entries. So, I've included the relevant DNS records below.
 IN SRV

;; ANSWER SECTION:
_mongodb._tcp.staging-vduzy.mongodb.net. 60 IN SRV 0 0 27017 staging-shard-00-02-vduzy.mongodb.net.
_mongodb._tcp.staging-vduzy.mongodb.net. 60 IN SRV 0 0 27017 staging-shard-00-00-vduzy.mongodb.net.
_mongodb._tcp.staging-vduzy.mongodb.net. 60 IN SRV 0 0 27017 staging-shard-00-01-vduzy.mongodb.net.

	IN	TXT

;; ANSWER SECTION:
staging-vduzy.mongodb.net. 60	IN	TXT	"authSource=admin&replicaSet=Staging-shard-0"

;; Query time: 23 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Fri Feb 21 17:40:15 UTC 2020
;; MSG SIZE  rcvd: 110

Thanks for the detailed report. I think this has been seen previously at #10622 and #24870.
From the documentation for "go.mongodb.org/mongo-driver/mongo":

Potential DNS Issues
Building with Go 1.11+ and using connection strings with the "mongodb+srv"[1] scheme is incompatible with some DNS servers in the wild due to the change introduced in https://github.com/golang/go/issues/10622. If you receive an error with the message "cannot unmarshal DNS message" while running an operation, we suggest you use a different DNS server.

https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo?tab=doc
It seems like closing this issue in favor of #24870 seems reasonable. Do you agree?

Also #36718 is related.

@toothrot Thanks for getting back to me. I should have included the version of the mongo client library that I was using.
➜   cat go.sum | grep mongo
go.mongodb.org/mongo-driver v1.1.3 h1:++7u8r9adKhGR+I79NfEtYrk2ktjenErXM99PSufIoI=
go.mongodb.org/mongo-driver v1.1.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=

I think the issue may be related to this package. I'm going to run a couple of tests in the next few days and will update if I discover anything.

@toothrot I believe we have another user experiencing this issue with the mongo-driver library using Go1.14. The last comment in #36718 mentions reverting #10622 when the trees open up. Can you give a sense of when this might be fixed? I'm not familiar with the language development process and code freezes.
Also, my understanding is that the revert will temporarily solve this issue and #24870 will update the code to correctly follow RFC 6762. Is this correct?

Was facing the same issue with mongo-driver using Go1.14. Using a loong mongo connection string(without srv) is a temporary fix.

@toothrot @divjotarora @wolf00 I failed to update the results of my tests. I actually managed to get the original code to work using a connection URI string of the form<EMAIL_ADDRESS>by including the root CA certificates in my final Docker image (/etc/ssl/certs/ca-certificate.crt)....
@wolf00 My build was using go1.13 but I don't think anything relevant changed between 1.13 and 1.14. Check to make sure it's not a certificate issue for you, too.,

@johnrichardrinehart Thanks for the update. Any ideas why adding the CA certs fixed the DNS issue?

Actually, no. I'm having a hard time, looking through the go source, figuring how that would have fixed anything. It's been a while, but I remember that my binary (outside of a docker image) was able to use the mongo+srv URI string, while inside of a docker image (built on top of alpine) I was unable to use it. The solution ended up being that I needed to copy in the certificates from my build layer. But, yeah, I'm not seeing from the DNS resolution source how that would have helped at all.

Ah, I remember now. The connection string defaults to TLS/SSL being true. So, it's not a golang issue. It's an issue at the the mongo-go-driver level.
Also, see [this](https://github.com/mongodb/mongo-go-driver/blob/43ee3ce267935c44fc99b2a6a9fd714004f8b9cc/mongo/client_examples_test.go#L139{

@johnrichardrinehart I'm happy to continue this discussion elsewhere, but you're right that using an SRV URI internally sets TLS to true. I'm not seeing lack of certs would result in an DNS resolution error though. That part of the code only calls net.LookupSRV and net.LookupTXT. The cannot unmarshal DNS message error comes from the Go stdlib.

@divjotarora I agree. The issue seems unrelated to TLS certificates. However, I've done some more testing and TLS certificates are, indeed, necessary for my use case: I'm connecting to a Mongo Atlas cluster which requires TLS/SSL - so, if they aren't available (Docker image built on FROM scratch) then I'm unable to connect to my Atlas cluster.
I've ran 3 more tests which I think will shed some light on the issue, although I'm still confused as to the root problem. The first two tests fail (in different ways) and the last test succeeds.

Test 1 executes a binary on an EC2 instance, compiled using go1.14.2 (I tested with a few versions... the results are insensitive to go1.13 vs. go1.14).
Test 2 executes a docker image built using the same go and mongo-driver versions on scratch (without TLS certificates)
Test 3 executes a docker image built using the same go and mongo driver versions on scratch including TLS certificates.

The OS details (for Test 1) are:
ubuntu@some-machine:~/dnstest$ uname -a
Linux ip-172-31-46-120 4.15.0-1057-aws #59-Ubuntu SMP Wed Dec 4 10:02:00 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
ubuntu@some-machine:~/dnstest$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.3 LTS
Release:	18.04
Codename:	bionic

The problem may be related to the mongo-driver and not the stdlib, but since I obtained different results between tests 1 and 2 (which I would think should perform identically) I thought I would post my results for discussion, here.
I can run other tests as desired.
All tests use source code within one directory whose contents are:
ubuntu@some-machine:~$ tree dnstest
dnstest
├── Dockerfile
├── Dockerfile_withTLS
├── dnstest
├── go.mod
├── go.sum
└── main.go

Their contents are, respectively,

 Dockerfile
FROM golang:1.14.2
ENV GOPATH=/go
ARG BUILDDIR=/build
COPY . $BUILDDIR
WORKDIR $BUILDDIR
RUN go get .
RUN CGO_ENABLED=0 go build -ldflags '-extldflags "-static"' -a -o dnstest .

FROM scratch
COPY --from=0 /build/dnstest /dnstest
ENTRYPOINT ["/dnstest"]

 Dockerfile_withTLS (only different in the 2nd-to-last line)
FROM golang:1.14.2
ENV GOPATH=/go
ARG BUILDDIR=/build
COPY . $BUILDDIR
WORKDIR $BUILDDIR
RUN go get .
RUN CGO_ENABLED=0 go build -ldflags '-extldflags "-static"' -a -o dnstest .

FROM scratch
COPY --from=0 /build/dnstest /dnstest
COPY --from=0 /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
ENTRYPOINT ["/dnstest"]

 go.mod
module dnstest

go 1.14

require go.mongodb.org/mongo-driver v1.3.2

 go.sum
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs=
github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk=
github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28=
github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo=
github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk=
github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw=
github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360=
github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg=
github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE=
github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8=
github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/klauspost/compress v1.9.5 h1:U+CaK85mrNNb4k8BNOfgJtJ/gr6kswUCFj6miSzVC6M=
github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c h1:u40Z8hqBAAQyv+vATcGgV0YCnDjqSL7/q/JyPhhJSPk=
github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc h1:n+nNi93yXLkJvKwXNP9d55HC7lGK4H/SRcwB5IaUZLo=
github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
go.mongodb.org/mongo-driver v1.3.2 h1:IYppNjEV/C+/3VPbhHVxQ4t04eVW0cLp0/pNdW++6Ug=
go.mongodb.org/mongo-driver v1.3.2/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5 h1:8dUaAV7K4uHsF56JQWkprecIQKdPHtR9jCHF5nB8uzc=
golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

 main.go
package main

import (
	"context"
	"flag"
	"log"
	"time"

	"go.mongodb.org/mongo-driver/mongo"
	"go.mongodb.org/mongo-driver/mongo/options"
	"go.mongodb.org/mongo-driver/mongo/readpref"
	"go.mongodb.org/mongo-driver/version"
)

func main() {
	uri := flag.String("uri", "mongodb://localhost:27017", "URI of the mongo server of interest")
	flag.Parse()

	log.Printf("mongo-go-driver version: %s", version.Driver)

	opts := options.Client().ApplyURI(*uri)
	if err := opts.Validate(); err != nil {
		log.Fatalf("invalid options: %s", err)
	}

	ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
	defer cancel()
	client, err := mongo.Connect(ctx, opts)
	if err != nil {
		log.Fatalf("connection error: %s", err)
	}

	if err := client.Ping(ctx, readpref.Primary()); err != nil {
		log.Fatalf("pinging error: %s", err)
	}
	log.Println("success... exiting")
}

Test 1 (Native Binary)
Setup/Input

CGO_ENABLED=0 go build -ldflags '-extldflags "-static"' -a -o dnstest . (statically linked to imitate the Dockerized tests, later)
./dnstest<EMAIL_ADDRESS>
Result/Output (credentials redacted)
ubuntu@some-machine:~/dnstest$ ./dnstest<EMAIL_ADDRESS>2020/04/17 20:30:48 mongo-go-driver version: v1.3.2
2020/04/17 20:30:48 invalid options: error parsing uri: lookup staging.vduzy.mongodb.net on <IP_ADDRESS>:53: cannot unmarshal DNS message

Test 2 (Dockerized without TLS certificates)
Setup/Input

docker build -t dnstest:latest .

Result/Output
ubuntu@some-machine:~/dnstest$ docker run dnstest:latest<EMAIL_ADDRESS>2020/04/17 20:34:14 mongo-go-driver version: v1.3.2
2020/04/17 20:34:15 pinging error: context deadline exceeded

Test 3 (Dockerized with TLS certificates)
Setup/Input

docker build -t dnstest_tls:latest -f ./Dockerfile_withTLS .

Result/Output
ubuntu@some-machine:~/dnstest$ sudo docker run dnstest_tls:latest
<EMAIL_ADDRESS>2020/04/17 20:37:02 mongo-go-driver version: v1.3.2
2020/04/17 20:37:02 exiting

I am experiencing the same issue with mongodump 4.2 on Ubuntu 18.04 AWS EC2 instance.
# lsb_release -a
No LSB modules are available.
 IN SRV

;; ANSWER SECTION:
_mongodb._tcp.mycluster.abcd.mongodb.net. 60 IN	SRV 0 0 27017 mycluster-shard-00-01.abcd.mongodb.net.
_mongodb._tcp.mycluster.abcd.mongodb.net. 60 IN	SRV 0 0 27017 mycluster-shard-00-02.abcd.mongodb.net.
_mongodb._tcp.mycluster.abcd.mongodb.net. 60 IN	SRV 0 0 27017 mycluster-shard-00-00.abcd.mongodb.net.

;; Query time: 11 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Mon Nov 16 13:12:10 UTC 2020
;; MSG SIZE  rcvd: 192

If I add <IP_ADDRESS> as first DNS server, then it works!

This doesn't sound like a golang issue, then. It just seems like a DNS issue. Note that net.Dial reads /etc/resolve.conf.
@ismailyenigul It looks like your DNS resolution using dig worked *befure you prepended <IP_ADDRESS> to /resolve.conf. Is that true? If so, then I'm confused.

It seems something wrong between  Ubuntu 18.04 systemd and mongodump go library version.

Were you having DNS issues (traceroute/dig/ping) before you applied your DNS change to resolve.conf?

I'm having same issue with SRV lookups proxied from systemd-resolved to consul.
drill/dig work just fine:
drill srv private.cms.service.consul
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 30360
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; cms.service.consul.  IN      SRV

;; ANSWER SECTION:
cms.service.consul.     0       IN      SRV     1 1 7075 staging.node.dc1.consul.

No, all good with that tools. Only mongodump does not work.

I'm currently facing that issue in a WSL2 environment using Go 1.18 beta 2.
The package<EMAIL_ADDRESS>is trying to send an HTTP request to management.azure.com using a (*net/http.Client) and fails with the following error.
error(*net.DNSError) *{
                Err: "cannot unmarshal DNS message",
                Name: "management.azure.com",
                Server: "<IP_ADDRESS>:53",
                IsTimeout: false,
                IsTemporary: false,
                IsNotFound: false,},}

$ dig management.azure.com <IP_ADDRESS>

; <<>> DiG 9.16.1-Ubuntu <<>> management.azure.com <IP_ADDRESS>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 813
;; flags: qr rd ad; QUERY: 1, ANSWER: 7, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;management.azure.com.          IN      A

;; ANSWER SECTION:
management.azure.com.   0       IN      CNAME   management.privatelink.azure.com.
management.privatelink.azure.com. 0 IN  CNAME   arm-frontdoor-prod.trafficmanager.net.
arm-frontdoor-prod.trafficmanager.net. 0 IN CNAME germanywestcentral.management.azure.com.
germanywestcentral.management.azure.com. 0 IN CNAME arm-frontdoor-germanywestcentral.trafficmanager.net.
arm-frontdoor-germanywestcentral.trafficmanager.net. 0 IN CNAME germanywestcentral.cs.management.azure.com.
germanywestcentral.cs.management.azure.com. 0 IN CNAME rpfd-germanywestcentral.cloudapp.net.
rpfd-germanywestcentral.cloudapp.net. 0 IN A    <IP_ADDRESS>

;; Query time: 10 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Sun Mar 06 15:13:43 CET 2022
;; MSG SIZE  rcvd: 632

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25454
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;<IP_ADDRESS>.                  IN      A

;; ANSWER SECTION:
<IP_ADDRESS>.           0       IN      A       <IP_ADDRESS>

;; Query time: 0 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Sun Mar 06 15:13:43 CET 2022
;; MSG SIZE  rcvd: 58

I suspect the problem isn't specific to the aforementioned domain.
Switching the primary DNS server to <IP_ADDRESS> inside /etc/resolv.conf solves the issue.

For MongoDB Atlas
  serverAPIOptions := options.ServerAPI(options.ServerAPIVersion1)   clientOptions := options.Client().     ApplyURI("mongodb://username:password@prefix0.mongodb.net:27017,prefix1.mongodb.net:27017,prefix2.mongodb.net:27017/?retryWrites=true&w=majority&replicaSet=atlas-zhqegh-shard-0&tls=true").     SetServerAPIOptions(serverAPIOptions)   ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)   defer cancel()   client, err := mongo.Connect(ctx, clientOptions)   if err != nil {     log.Fatal(err)   }
To clarify the MongoDB Atlas replicaSet and hosts you can for instance utilize MongoDB Compass: just connect to the cluster and you will see all that data.

just got the same problem after updating my golang to go version go1.17.11 linux/amd64
	_, srv, err := net.LookupSRV("cloud", "dist", "ergo.services")
	if err != nil {
		fmt.Println("SRVVVV", srv)
		return nil, err
	}

gives me
lookup ergo.services on <IP_ADDRESS>:53: cannot unmarshal DNS message

at the same time if i checkout SRV records using dig it shows correct result
❯❯❯❯ dig srv _cloud._dist.ergo.services

; <<>> DiG 9.18.3 <<>> srv _cloud._dist.ergo.services
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51027
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_cloud._dist.ergo.services.    IN      SRV

;; ANSWER SECTION:
_cloud._dist.ergo.services. 1600 IN     SRV     10 10 4411 cloud01.ergo.services.
_cloud._dist.ergo.services. 1600 IN     SRV     10 10 4411 cloud02.ergo.services.
_cloud._dist.ergo.services. 1600 IN     SRV     10 10 4411 cloud03.ergo.services.

;; Query time: 2 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>) (UDP)
;; WHEN: Sun Jun 26 16:36:18 CEST 2022
;; MSG SIZE  rcvd: 133

For anyone still got this error, it's happen when you're using DNS from shared network like coffee shop or mobile phone hotspot. I suggest to use an other "deep" DNS server.
As my experiences, I suggest to use WARP from <IP_ADDRESS> on MAC Ventura.
In almost cases, it's work. iCloud Relay maybe the problem.

Providing a bit more interesting details (just in case).
This Python code is working with "any" DNS:
import srvlookup #pip install srvlookup
import sys
import dns.resolver #pip install dnspython

host = None

if len(sys.argv) > 1 :
   host = sys.argv[1]

if host :
   services = srvlookup.lookup("mongodb", domain=host)
   for i in services:
       print("%s:%i" % (i.hostname, i.port))
   for txtrecord in dns.resolver.query(host, 'TXT'):
       print("%s: %s" % ( host, txtrecord))
else:
   print("No host specified")

Here is the Golang code created based on that Python code (which seems to be more kind of picky about the DNS server):
package main

import (
	"fmt"
	"net"
	"os"
)

func main() {
	// Get the hostname from the command line argument
	host := os.Args[1]

	// Look up the SRV records for the hostname
	_, addrs, err := net.LookupSRV("mongodb", "tcp", host)
	if err != nil {
		fmt.Println(err)
		return
	}

	// Print the SRV records
	for _, addr := range addrs {
		fmt.Printf("%s:%d\n", addr.Target, addr.Port)
	}

	// Look up the TXT records for the hostname
	txts, err := net.LookupTXT(host)
	if err != nil {
		fmt.Println(err)
		return
	}

	// Print the TXT records
	for _, txt := range txts {
		fmt.Printf("%s: %s\n", host, txt)
	}
}

The Python code was taken from this article.

r := &net.Resolver{
    PreferGo: true,
    Dial: func(ctx context.Context, network, address string) (net.Conn, error) {
        d := net.Dialer{
            Timeout: time.Millisecond * time.Duration(10000),
        }
        return d.DialContext(ctx, network, "<IP_ADDRESS>:53")
    },
}
_, srvs, err := r.LookupSRV(context.Background(), service, "tcp", host)

I have to point to Google DNS manually when using tethered hotspot sharing from iPhone (but Wi-Fi hotspot sharing works)

As of https://go.dev/cl/570156 this is now fixed.


sfdx : Jenkinks :  Invalid plugin. sfdx only supports plugins with a namespace.

I'm running sfdx on an amazon EC2 machine, and when running sfdx in Jenkins context, I'm getting the following errors. It both happening when I'm running something complex like
/usr/local/bin/sfdx force:auth:jwt:grant -u peter@xxxxx -a cpq-dev-main --clientid xxxxxxx --jwtkeyfile /keys/cpq/dev-main.key
or something simple like
/usr/local/bin/sfdx force
or
sfdx update
These commands are running without any problems when logged into the same machine on the terminal (as ec2-user ), so I think the error is happening when sfdx wants to update itself from Jenkins. Any ideas? Should be some user or permission issue, but i can't figure it out :( Thanks!
This is the output from Jenkins:
[SFDX CPQ DEV-MAIN] $ /bin/sh -xe /tmp/jenkins3514512082226085389.sh
+ /usr/local/bin/sfdx force
Installing required plugins for force... ▸    Invalid plugin. sfdx only supports plugins with a namespace.
Build step 'Execute shell' marked build as failure
Finished: FAILURE

The same issue is described here by another developer:
https://wipdeveloper.com/2017/06/22/salesforce-dx-jenkins-jenkinsfile/
(Jenkins and Windows)

Plugins are stored in the user's directory. I'm assuming that is why you are seeing "Installing required plugins for force.."  even though they are installed for your ec2 user. I would try to run that command while logged into the jenkins user.
As for "Invalid plugin. sfdx only supports plugins with a namespace.", that is usually from an invalid or old salesforcedx plugin. Can you run the command with SFDX_DEBUG=1 and print out sfdx version and env?

Hi Thomas, thanks for your reply!
What is happening is definitely an update cycle in my Jenkins context:
+ export SFDX_DEBUG=1
+ SFDX_DEBUG=1
+ /usr/local/bin/sfdx force
Executing /var/lib/jenkins/.local/share/sfdx/cli/bin/sfdx
sfdx-cli/5.7.6-d42cf65 (linux-amd64) go1.7.5 /var/lib/jenkins/.local/share/sfdx/cli/bin/sfdx cmd: force
Installing required plugins for force...2017/07/18 08:29:57 running npm from /var/lib/jenkins/.local/share/sfdx/plugins: /var/lib/jenkins/.local/share/sfdx/cli/lib/node /var/lib/jenkins/.local/share/sfdx/cli/lib/npm/cli.js install salesforcedx --loglevel=info
npm info it worked if it ends with ok
npm info using<EMAIL_ADDRESS>npm info using<EMAIL_ADDRESS>.
.
.
npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>/var/lib/jenkins/.local/share/sfdx/plugins
└──<EMAIL_ADDRESS>
npm WARN enoent ENOENT: no such file or directory, open '/var/lib/jenkins/.local/share/sfdx/plugins/package.json'
npm WARN plugins No description
npm WARN plugins No repository field.
npm WARN plugins No README data
npm WARN plugins No license field.
npm info ok
 ▸    Invalid plugin. sfdx only supports plugins with a namespace.
Invalid plugin. sfdx only supports plugins with a namespace.

The very same log is showed when I'm running it from terminal using sfdx update (but without the final error).
Now I'll try to set up a Jenkins instance on my desktop machine and see, if it works.
thanks,

Hi Thomas, thanks for your reply!
What is happening is definitely an update cycle error in my Jenkins home directory:
+ export SFDX_DEBUG=1
+ SFDX_DEBUG=1
+ /usr/local/bin/sfdx force
Executing /var/lib/jenkins/.local/share/sfdx/cli/bin/sfdx
sfdx-cli/5.7.6-d42cf65 (linux-amd64) go1.7.5 /var/lib/jenkins/.local/share/sfdx/cli/bin/sfdx cmd: force
Installing required plugins for force...2017/07/18 08:29:57 running npm from /var/lib/jenkins/.local/share/sfdx/plugins: /var/lib/jenkins/.local/share/sfdx/cli/lib/node /var/lib/jenkins/.local/share/sfdx/cli/lib/npm/cli.js install salesforcedx --loglevel=info
npm info it worked if it ends with ok
npm info using<EMAIL_ADDRESS>npm info using<EMAIL_ADDRESS>.
.
.
npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>/var/lib/jenkins/.local/share/sfdx/plugins
└──<EMAIL_ADDRESS>
npm WARN enoent ENOENT: no such file or directory, open '/var/lib/jenkins/.local/share/sfdx/plugins/package.json'
npm WARN plugins No description
npm WARN plugins No repository field.
npm WARN plugins No README data
npm WARN plugins No license field.
npm info ok
 ▸    Invalid plugin. sfdx only supports plugins with a namespace.
Invalid plugin. sfdx only supports plugins with a namespace.

/home/ubuntu/.go_workspace/src/github.com/heroku/cli/plugins.go:322 (0x4178d7)
/home/ubuntu/.go_workspace/src/github.com/heroku/cli/plugins.go:413 (0x41862e)
/home/ubuntu/.go_workspace/src/github.com/heroku/cli/start.go:139 (0x41b2a2)
/home/ubuntu/.go_workspace/src/github.com/heroku/cli/start.go:78 (0x41a492)
/home/ubuntu/.go_workspace/src/github.com/heroku/cli/main.go:22 (0x41194a)
/usr/local/go/src/runtime/proc.go:183 (0x4517a4)
/usr/local/go/src/runtime/asm_amd64.s:2086 (0x47fb31)

Maybe the problem is somewhere on Heroku CLI tool's side (which is maybe somehow the base for SFDX..?) ?
The very same log is showed when I'm running it from terminal (as ec2-user) using sfdx update (but without the final error).
The versions are the same for both users:
sfdx-cli/5.7.6-d42cf65 (linux-amd64) go1.7.5 /home/ec2-user/.local/share/sfdx/cli/bin/sfdx cmd: version
sfdx-cli/5.7.6-d42cf65 (linux-amd64) go1.7.5 sfdxstable

sfdx-cli/5.7.6-d42cf65 (linux-amd64) go1.7.5 /var/lib/jenkins/.local/share/sfdx/cli/bin/sfdx cmd: version
sfdx-cli/5.7.6-d42cf65 (linux-amd64) go1.7.5 sfdxstable

Now I'll try to set up a Jenkins instance on my desktop machine and see, if it works.
thanks,

@tempflip any luck solving this? I`m facing the same error?

Any luck on this issue please?

@ajaylankipalle It got resolved for me when i got the salesforce dx which was correct for my platform.

@gt2985, thank you for your reply. How to get the correct sfdx for my platform? Mine is Windows 10


[Bug]: transformImport did not import styles.

Version
System:
    OS: macOS 14.4.1
    CPU: (8) x64 Apple M1
    Memory: 26.24 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Browsers:
    Chrome: 123.0.6312.123
    Safari: 17.4.1
  npmPackages:
    @rsbuild/core: ^0.6.1 => 0.6.1
    @rsbuild/plugin-react: ^0.6.1 => 0.6.1

Details
rsbuild.config.ts
import { defineConfig } from '@rsbuild/core';
import { pluginReact } from '@rsbuild/plugin-react';

export default defineConfig({
  source: {
    transformImport: [
      {
        libraryName: '@alifd/next',
        libraryDirectory: 'es',
        style: true,
      },
      {
        libraryName: '@formily/next',
        libraryDirectory: 'esm',
        style: true,
      },
    ],
  },
  plugins: [pluginReact()],
});

I used transformImport to configure modular import, but the styles were not imported on demand. As you can see, the input box below lacks styling.

Reproduce link
https://github.com/TopGrd/rsbuild-transformImport
Reproduce Steps

pnpm i
pnpm dev

https://github.com/alibaba/formily/blob/5f9411f415d1e50b0e2cc180fad4e9040d81cab0/packages/next/package.json#L17
the cause might be **/*/style.js is not matching esm/input/style.js by rspack's treeshaking implementation.
when i changed it to **/style.js, the  styles are back.
will transfer the issue to rspack for help tomorrow.


Vim plug

Replace Neobundle with Vim-Plug
Problems until now:

[ ] A substitute for NeoBundleCheck
[x] vimproc make on windows
[x] vim bootstrap update (can besolved with a python3 branch on vim_bootsttrap_updater)

+1

Great job @cassiobotaro 🍺
So, vim-plug has options to upgrade and automatic install and some options in the faq.
We can live without NeoBundleCheck.
About vimproc, we can write a solution in viml or use your solution (i need to test and i'm so sorry for windows users).

https://github.com/avelino/vim-bootstrap-updater/pull/6 can help to finnish this PR.

What's missing in this issue?

Now, only doc new plugin manager. I will do it in this week.

I can not wait for this PR to be merged! 😃

My tests it worked, did you manage to test @lerrua

🚀


Figure out top level folder on TUI

Currently top level folder is required for Create tab, and in transfer:  Top Level Folder and Custom. Under the hood the relevant selection boxes change the working top level folder which effects all of these, though at the moment it is only found on the Top Level Folder tab.
This can be resolved in (at least) two possible ways:

Have a single point like 'Set Top Level Folder' that sets the the top level folder for all. The only time this would be ignored is the transfer all version on the transfer tab. However, this is probably quite confusing.

Have separate selection boxes for each. This makes sense for the two tranfer tabs. I think it is also okay to add this to the create tab, although it might be a little redundant as typically people will be making this in the rawdata folder.  It would either be on the main page on in a generel 'Create Settings' page of which 'Template Settings' could be a section.

now added separately to custom tab, and forcing create in rawdata only because not sure what to do. Learning towards separate select boxes for each use-case.

Went for separate boxes in the send, the implementation in tui/interface.py is a little ugly but it is much more flexible / less confusing for the user.


Expand selection not working.

VSCode Version:1.35.1
OS Version: macOS Mojave 10.14.5

Steps to Reproduce:

Generate .ts file and write code below.

class User{
    private name: string;
}
// here

Place cursor to here and use Expand selection.

Expand selection is not working anymore.

Does this issue occur when all extensions are disabled?: Yes

I already check it and other computer also has same problem.
when use expand selection in last line then expand selection not working anymore.

I was able to reproduce this on Windows.
Looks like tsserver crashes after placing cursor on last (empty) line in file and pressing Shift + Alt + Left.
Last line in tsserver.log is
Info 185  [15:23:8.340] request:
    {"seq":32,"type":"request","command":"selectionRange","arguments":{"file":"<filename>","locations":[{"line":48,"offset":1}]}}

and there are no more log messages even for other operations (rename, go to definition, intellisense etc.) for other .ts and .js files in project. (Expand selection still works on package.json)


Segfault on install - Node 0.6.1 -  OSX 10.7.2

Tried to install NPM via curl:
akihabara@Akihabara ~/src: curl http://npmjs.org/install.sh | sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7184  100  7184    0     0  13429      0 --:--:-- --:--:-- --:--:-- 93298
tar=/usr/bin/tar
version:
bsdtar 2.8.3 - libarchive 2.8.3
fetching: http://registry.npmjs.org/npm/-/npm-1.0.106.tgz
npm-install-82872.sh: line 276: 82903 Segmentation fault: 11  "$node" node_modules/semver/bin/semver -v "$node_version" -r "$req"
You need node  to run this program.
node --version reports: v0.6.1
Please upgrade node before continuing.
It failed

Node is installed:
akihabara@Akihabara ~/src: node -v
v0.6.1

There's something deeply wrong with your node install.  Please update to the most recent, 0.6.4.

No pure-js program should ever be able to make node segfault.
Can you run any scripts with node, even the hello-world examples?
Please report this issue on the node mailing list.  It's not an npm bug.

FYI, I have the same issue. Installed Node 0.6.5 from source and get a segfault when running npm. But it turns out I cannot load any node module in the current working directory. I can load node standard library modules, though (http, fs, etc...)
Anyway, so I can confirm this is not an issue with npm.


Proxy-option for openssl-ocsp stapling

Greetings!
This PR adds the missing proxy functionality for the openssl 'ocsp_log' call.
See issue: https://github.com/dehydrated-io/dehydrated/issues/838
What does it do?
It checks if a proxy is set in the environment variables and uses it for the ocsp-call if so.
- Rath

wouldn't it be easier/cleaner to use the -proxy option to openssl-ocsp?

Greetings!
I thought so too - but It seems not all OpenSSL packages have this functionality implemented.
That's probably why the problem occurs in the first place..
Per example when using OpenSSL '1.1.1n-0+deb11u4' one gets the following error:
ERROR: Error while fetching OCSP information: ocsp: Unrecognized flag proxy
- Rath

good point! Looks like -proxy was added about two years ago, so your change will work in more places.
https://github.com/openssl/openssl/commit/88d96983d881254d0bcb36d79b32aac08339e0d3

It seems there is an issue with my solution.
'set -u' currently stops the scripts execution if the environmental proxy-variables are unset.
I'll test it and add a fix to the PR.
- Rath


Problem with IE11 and current (5.4) Sunstone ?

Author Name: Sebastian Mangelkramer (Sebastian Mangelkramer)
Original Redmine Issue: 5311, https://dev.opennebula.org/issues/5311
Original Date: 2017-08-11
Original Assignee: Abel Coronado

Hi dear OpenNebula Dev-Team,
just mailed with Jaime cause a problem at one of our current OpenNebula installations.
Problem is, that the customer is not able to open the Sunstone with Internet Explorer Version 11.
(In our tests we ensured that in IE11 the compatibility mode was not enabled).
Regarding to the documentation IE11 is supported (http://docs.opennebula.org/5.4/deployment/sunstone_setup/sunstone.html) ?
Is this function really supported with IE11?
We did a bit research and found following information: https://kangax.github.io/compat-table/es6/
Best regards,
Sebastian

Original Redmine Comment
Author Name: Sebastian Mangelkramer (Sebastian Mangelkramer)
Original Date: 2017-08-31T11:54:12Z

Hi Jaime,
dont know if it`s correct to assing this to you - but you asked me to open a bug-report.
Sorry if this bugs you J
Also if there's anything we can do for you - let me know.
Best,
Sebastian


Nested env

Change Summary

new env_nested_delimiter option in Config class
optional _env_nested_delimiter kwarg in init BaseSettings
patched EnvSettingsSource
Depending on env_nested_delimiter trying to find env variables with that delimiter and split those variable into nested dicts. Merge those dicts if they have same nesting structure.
So lets say we have

class A(BaseSettings):
    foo: str

class B(BaseSettings):
    bar: A

class C(BaseSettings):
    baz: B

now we are able to fill the A.foo with env variable like
BAZ__BAR__FOO='hello'
Related issue number
#2304 #2232
Checklist

[ ] Unit tests for the changes exist
[ ] Tests pass on CI and coverage remains at 100%
[ ] Documentation reflects the changes where applicable
[ ] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)
[ ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

Exactly what I was looking for! I believe that pydantic is already doing an excellent job ; removing boiler plate code thanks to this PR will help us centralize settings configuration.
I can help if needed (doc, testing, ...)
cc @daviskirk, because https://github.com/daviskirk/climatecontrol#pydantic seems to have this already implemented.

@MadJlzz it is nice to hear that it was useful for you. Sorry for disappearing for almost a moth... I cleaned up code and logic a bit. Added some docs and tests. I think this PR is now ready for submission. And of course It would be great to have some help if needed.

please review

please update

please review

please update.

Thank you for review. Did changes that you been asking for. Improved and redesigned explode_env_vars a bit.
Please review

Thanks so much for this, I'm really looking forward to using it.
I've made some changes to the logic to avoid a few errors I found. Please let me know if you have any and feedback or want to make any more changes, otherwie I'll merge over the next few days.

Thanks so much for this, I've actually merged now as I want to include this in v1.9 and I want to get a pre-release version of v1.9 out today.
If you want to make any changes to this, feel free to create new PR.

That is awesome. Thank you for review and help. I can use a pre-release version in some projects, and will be glad to help with bugs if needed.


Build a shared library from C++

@adammurdoch commented on Mon May 22 2017
Similar to #2 , add support for building a shared library binary from C++ source, with the same assumptions.
Implementation:

Declare API dependencies.
Reuse build logic from base plugin.

Test coverage:

[x] Empty project with no source, headers or dependencies.
[ ] ~Incremental build and compile work for source, header and dependency changes.~ (Split out to https://github.com/gradle/gradle-native/issues/113)
[x] Implementation headers are not visible to consumers.
[x] Honours changes to build dir, these are visible to consumers.
[x] Honours changes to task output locations, these are visible to consumers.
[x] Stale outputs are removed when source files are removed or renamed.

Left over test coverage can be reviewed as part of https://github.com/gradle/gradle/pull/2800.


Handle all exceptions so that none are shown to the user

This PR adds except statements around the main command function to catch any and all exceptions and output the correct error code and message. Additional exceptions and error codes are added for new types of errors. Any exception thrown by a library will be caught and converted into the correct type of exception so that the correct message and code can be returned. This change makes it so that users using the command line tool should never see a backtrace.
This removes from the main commands.py file handling of exceptions. Instead those functions (which are intended for use as a library in other software) will throw the exceptions and the caller can handle them.

utACK, seems to work with Ledger.


Model Inheritance

A School model inherits from Community, and communities can be part_of other communities:
class School < Community
end

class Community
  include Neo4j::ActiveNode
  has_many :out, :part_of, model_class: Community
end

The below code only creates the relationship correctly if school.rb explicitly includes  has_many :out, :part_of, model_class: Community
School.create(name: name, part_of: [ivy_league])

like this:
class School < Community
  has_many :out, :part_of, model_class: Community
end

This is definitely due to the code I introduced to tweak what Brian added earlier. You take a small performance hit when you mix declared properties and association names, so my PR tried to identify nodes that are not being initialized with known association names. It needs to initialize the variable when inherited. Lemme see if I can do this quickly but if not, I can take care of it in the morning.

Will merge in the morning if all passes.

Cool :smile: So for best performance would you recommend not mixing properties and associations? Something like:
school = School.create(name: name)
school.part_of << ivy_league

Yes, definitely. When you mix associations and node properties, not only do you take a performance hit when it splits the one params hash into separate hashes, but it uses the = operator to create relationships. This is an n+1 query: it wipes out existing relationships, then it creates new ones. It's a fast process since it doesn't return anything from the DB and the query itself is very efficient, but it's still slower than <<.

This is merged in, fixed now. Made me realize there are probably a few other bugs related to inheritance that I'm going to check now.

Working on this end :+1: thanks for the tip, btw! I'll keep poking around, see if I find anything

@subvertallchris: Came across another potential inheritance bug:
class Person
  include Neo4j::ActiveNode
  has_many :out, :communities, type: "PART_OF"
  has_many :out, :schools
end

class Community
  include Neo4j::ActiveNode
  has_many :out, :communities, type: "PART_OF"
end

class School < Community
end

Adding a person to a school via a form:
= form_for current_person do |f|
  = f.collection_select :schools, School.all, :id, :name, { prompt: true, selected: current_person.schools.map(&:id) }

correctly adds the selected schools to current_person.schools, but current_person.communities returns an empty array

Could you message me in the Gitter room? I have so many questions. gitter.im/neo4jrb/neo4j


Allow setting custom storage engine per atom

Closes #27
This is my shot at implementing a custom engine per atom. My particular use case: using one store in localStorage and the other in sessionStorage.

size-limit fails; either increase the limit or try to compact the code

Update limit to track the current progress in diff.

Looks good. Rebase to new main, write test, and we can merge it.

I have just noticed, that I forgot about persistentMap; I think we should add the custom storage there too, since it also uses the PersistentOptions type

I tried to merge it and fix persistentMap but I found that you're changing only storageEngine. But we need also to change eventEngine.
Maybe we need another API for that.


Doesn't detect new line characters.

Image

As you can see in the image, I want each sentence to go to the next line similar to the textbox, but it gets attached to the previous sentence and forms a paragraph. The truncation is working perfectly, but I want it to look something like this:
My name is Karan
I am a developer
I love programming and K-Dramas... See More
How can I achieve this?
Code
const readMoreEllipsis = (

      ...{' '}

        {showButtonText}

  );

  if (isTruncated) {
    return (
      <TruncateMarkup lines={lines} ellipsis={readMoreEllipsis}>

{text}

      </TruncateMarkup>
    );
  }

  return (

      {text}

        {hideButtonText}

  );

Hey @Karansidds, can you post what textProps and text variables contain in your example? I'd like to see how the new lines are achieved here. Or, ideally, if you could create a repro app using codesandbox, that would be great too!


Add support to Fn::ImportValue in the CloudFormation parsing

At the moment, moto supports Ref, Fn::FindInMap, Fn::GetAtt, Fn::If, and Fn::Join.
More information on Fn::ImportValue: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html

In order to implement this fully, moto will need to implement Export for Outputs (I don't think it does now, please correct me if I am wrong).
CloudFormation docs: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html

Added with #975


refactor!: make it mandatory to pass globalConfig to the Runtime constructor

Summary
This PR makes it mandatory to pass globalConfig to the Runtime constructor.
Test plan
Green CI.

https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.4


workflow detect-releases.yml not updated README.md properly

Describe the bug
workflow detect-releases.yml not updated README.md properly. Versions numbers are replaced by empty value.
To Reproduce
run detect-releases.yml  on a new release
Expected behavior
template_README.md should update stable, latest and IBC versions and write onto README.md
Container logs
action log
Versions (please complete the following information):

detect-releases.yml

Additional context
Add any other context about the problem here.

envsubst expects variables to be exported, variables defined within the action script are not available for substitution unless they:

are exported
are passed to the command, ex VAR=val envsubst < input.file > output.file

fixed on 5dd1cfbd599dc0b31c71f54e2a01be5b2e87316d by exporting all required variables.


fixes: #262; nearest without overlapping chromosomes

I'm not sure what a good way of solving this would be? This kinda works. In that it doesn't output a working PyRanges. It however does output a valid dataframe from the PyRanges.
Example of how this breaks pyranges
import pyranges

f1 = pyranges.from_dict({'Chromosome': ['chr1', 'chr2'], 'Start': [3, 8], 'End': [6, 9]})
f2 = pyranges.from_dict({'Chromosome': ['chr1'], 'Start': [1], 'End': [2]})

print("--------")

print(f1.nearest(f2).Distance)

Which gives a keyerror, as not each chromosome non-NA values...

This is great. I'll look at it Monday :)

Thanks. running the tests now :D

It seems like the columns are promoted to float in this case:
>>> df
    Chromosome     Start       End Strand     Start_b       End_b Strand_b   Distance
0         chr1   6817713   6817813      +   7721048.0   7721148.0        -   903236.0
1         chr1  12415814  12415914      +  11640019.0  11640119.0        -   775696.0
2         chr1  20655161  20655261      +  26458615.0  26458715.0        +  5803355.0
3         chr1  37846510  37846610      +  34188591.0  34188691.0        -  3657820.0
4         chr1  40120478  40120578      +  43419983.0  43420083.0        -  3299406.0
..         ...       ...       ...    ...         ...         ...      ...        ...
995       chrY  31149300  31149400      -         NaN         NaN      NaN        NaN
996       chrY  28945476  28945576      -         NaN         NaN      NaN        NaN
997       chrY  54327866  54327966      -         NaN         NaN      NaN        NaN
998       chrY  29072224  29072324      -         NaN         NaN      NaN        NaN
999       chrY   1344728   1344828      -         NaN         NaN      NaN        NaN

[1000 rows x 8 columns]
>>> df.dtypes
Chromosome    category
Start            int32
End              int32
Strand        category
Start_b        float64
End_b          float64
Strand_b      category
Distance       float64
dtype: object

Also, this behavior is not backward-compatible, so it should be hidden behind a flag at least :)
But how about making a utility function in this case?
import pyranges as pr
gr = pr.random()
gr2 = pr.random()["chr1"]
r = gr.nearest(gr2)
df = r.df
chroms_missing = set(gr.chromosomes).difference(gr2.chromosomes)
n = gr.nearest(gr2)
missing_gr = pr.concat([gr[c] for c in chroms_missing])
missing_gr_double = missing_gr.join(missing_gr)

double_columns = [c for c in missing_gr_double.columns if c.endswith("_b")]

missing_gr_double.Start_b = -1
missing_gr_double.End_b = -1
missing_gr_double.Strand_b = "."

result = pr.concat([n,  missing_gr_double])

print(result)
+--------------+-----------+-----------+--------------+-----------+-----------+--------------+------------+
| Chromosome   | Start     | End       | Strand       | Start_b   | End_b     | Strand_b     | Distance   |
| (category)   | (int32)   | (int32)   | (category)   | (int32)   | (int32)   | (category)   | (int64)    |
|--------------+-----------+-----------+--------------+-----------+-----------+--------------+------------|
| chr1         | 7858971   | 7859071   | +            | 10659285  | 10659385  | -            | 2800215.0  |
| chr1         | 21834837  | 21834937  | +            | 17095296  | 17095396  | +            | 4739442.0  |
| chr1         | 29847189  | 29847289  | +            | 28424716  | 28424816  | -            | 1422374.0  |
| chr1         | 46475675  | 46475775  | +            | 46685800  | 46685900  | -            | 210026.0   |
| ...          | ...       | ...       | ...          | ...       | ...       | ...          | ...        |
| chrY         | 31391174  | 31391274  | -            | -1        | -1        | .            | nan        |
| chrY         | 48979589  | 48979689  | -            | -1        | -1        | .            | nan        |
| chrY         | 12148238  | 12148338  | -            | -1        | -1        | .            | nan        |
| chrY         | 970043    | 970143    | -            | -1        | -1        | .            | nan        |
+--------------+-----------+-----------+--------------+-----------+-----------+--------------+------------+
Stranded PyRanges object has 1,000 rows and 8 columns from 24 chromosomes.
For printing, the PyRanges was sorted on Chromosome and Strand.

The utility function seems nice. I don't mind using it (and skipping the PR). For me it was mainly very unexpected that I would lose out on some ranges because they didn't overlap with the query. And I can imagine it's unexpected for others as well.
I will add a flag and see if I can use pandas.NA instead of having the column turn into floats. It might take some time though :smile:

That is the reason for pyranges removing those entries; to avoid having to
promote columns to floats.
If you find a solution feel free to ping me and I'll help you create a PR.
On Tue, Apr 19, 2022 at 3:22 PM Maarten-vd-Sande @.***>
wrote:

The utility function seems nice. I don't mind using it (and skipping the
PR). For me it was mainly very unexpected that I would lose out on some
ranges because they didn't overlap with the query. And I can imagine it's
unexpected for others as well.
I will add a flag and see if I can use pandas.NA instead of having the
column turn into floats. It might take some time though 😄
—
Reply to this email directly, view it on GitHub
https://github.com/biocore-ntnu/pyranges/pull/263#issuecomment-1102644656,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHURURFQUX4OB54WMKR7KDVF2XPRANCNFSM5SPT3OMA
.
You are receiving this because you commented.Message ID:
@.***>

@endrebak sorry I've been swamped with other stuff so I don't think I have time to work on this. Thanks for your help earlier with the previous solution :pray:


One Hot Encoder: Drop one redundant feature by default

Our one hot encoder creates a feature for every level of the original categorical feature:
from evalml.pipelines import OneHotEncoder
import pandas as pd
df = pd.DataFrame({"category": ["a", "b"], "number": [4,5 ]})
OneHotEncoder().fit_transform(df).to_dataframe()

The category_a and category_b columns are completely collinear, which makes one redundant. This could have adverse effects on estimator fitting. I think we should drop one by default.
FYI @rpeck

💯 % we should drop the negative-case column.
If we do the OHE ourselves first, then sklearn hopefully won't expand them. As Freddy said, you can think of this as generating two columns that have perfect collinearity.
There are two problems I see with expanding a binary into two columns rather than one:

Like other forms of feature collinearity it messes up lots of things in interpretability, because the effect of the one original source column is divided between the two OHE columns. Freddy's new  SHAP rollups address this, obviously, but things like Feature Importance and Partial Dependence plots will still have the issue.
Tree models like Random Forest and GBM randomly sample their input features. The source column in this case will be randomly sampled twice as often as it really should be, so it can have an outsized impact on the model.

@freddyaboulton Q: The dataframe above for the OHE columns shows them as floats. Is this really true?

@rpeck Yes!

@freddyaboulton Whatthe? That's weird. I've never seen anything but true booleans, or 0/1 integers. I wonder how the tree models actually handle this. It has a bad smell to me.

Third Law of Code: Thou Shalt Not Make == Comparisons With Floats

(ok, unless it's with Math.NaN)

@dsherry @freddyaboulton Looks like we have support for it via our drop parameter but only takes into consideration user input and isn't used by our impl so this issue just tracks setting the default for drop to something other than None?
https://github.com/alteryx/evalml/blob/91775ffc26c47205adc0fb255832d828ead6e7c9/evalml/pipelines/components/transformers/encoders/onehot_encoder.py#L28
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html
We could either go with first or if_binary, not sure what the right call is.

Was reading into this a bit and found this link: https://inmachineswetrust.com/posts/drop-first-columns/
Key takeaways:

Dropping columns is only required when creating an OLS model without regularization (I believe linear regressor falls into this category: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html, https://scikit-learn.org/stable/modules/linear_model.html#ordinary-least-squares)
Dropping one-hot encoded columns changes a linear regression model's parameters and predictions, affecting the model returned. Yet, it's difficult for me to determine whether this for the better or not.

RE @rpeck's first comment: "Like other forms of feature collinearity it messes up lots of things in interpretability, because the effect of the one original source column is divided between the two OHE columns. Freddy's new SHAP rollups address this, obviously, but things like Feature Importance and Partial Dependence plots will still have the issue."
This makes sense for binary cases, but in the case where we have multiple categories, dropping one col will still have this issue.
Perhaps we shouldn't do this by default, but should update make_pipeline to create a OHE with first as the parameter if the estimator is a linear regressor?
Alas, I don't have a strong grasp at the underlying math to make the judgement so I'd love to hear your thoughts, @freddyaboulton @rpeck @dsherry

Post-discussion with @freddyaboulton @rpeck @dsherry @chukarsten @jeremyliweishih

We will only do this for binary cases.
A "nice-to-have" is to use, in the binary case, is the minority class, but otherwise just choosing one of the two categories should suffice.

@angela97lin sounds good RE default behavior. Another nice to have: ability to override that default behavior via the component params

@dsherry If I'm understanding correctly, since we're updating the default value of drop (a parameter), users will have the ability to override this by setting the component parameter manually?

Dug around to see what was necessary to implement this. In particular, I was curious how difficult it would be to always remove the minority class in the binary case.
The result of that digging is:

With scikit-learn, it is quite difficult to select which category to remove. From the documentation, this seems feasible via the array option for the drop parameter (https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html). However, after trying it out, it requires that an index value is specified for every column. Hence, the following, which is trying to remove the category specified at index 0 for column 0 and no other values for columns 1 and 2 errors:

import pandas as pd
import numpy as np
from sklearn.preprocessing import OneHotEncoder

X = pd.DataFrame({'col_1': ["a", "b", "b", "a", "b"],
                      'col_2': ["a", "b", "a", "c", "b"],
                      'col_3': ["a", "a", "a", "a", "a"]})

indices_to_drop = np.array([0, None, None])

ohe = OneHotEncoder(drop=indices_to_drop)
ohe.fit(X)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-4-a099fa2fc4a7> in <module>
----> 1 ohe.fit(X)

~/Desktop/venv/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py in fit(self, X, y)
    417         self._fit(X, handle_unknown=self.handle_unknown,
    418                   force_all_finite='allow-nan')
--> 419         self.drop_idx_ = self._compute_drop_idx()
    420         return self
    421

~/Desktop/venv/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py in _compute_drop_idx(self)
    394                                 ["Category: {}, Feature: {}".format(c, v)
    395                                     for c, v in missing_drops])))
--> 396                 raise ValueError(msg)
    397             return np.array(drop_indices, dtype=object)
    398

ValueError: The following categories were supposed to be dropped, but were not found in the training data.
Category: 0, Feature: 0
Category: 1, Feature: None
Category: 2, Feature: None

I believe this is also half of what this issue points out: https://github.com/scikit-learn/scikit-learn/issues/16511
An alternative we can do to support this is to manually keep track of which columns and what values we want to drop during fitting. Pass the data to scikit-learn. Then, prune out the columns that we stored and specified we wanted to drop. However, this requires some logic handling to determine the original (feature, value) from the transformed column name. (We have this logic in get_feature_names but that helps us connect the column names assuming nothing should be dropped...)
All of this is to say, maybe just using the default scikit-learn if_binary will suffice for now, and we can file a separate issue to always use the minority class. Honestly also in favor of moving away from scikit-learn's OHE implementation given how much we've had to work around it.


Fix Formatting

From Ms. Kolker:

[please fix] formatting on home page - make picture smaller so that visitors can see that there is text below.  and reduce font on text so it fits inside the boxes

The Contact page is the biggest offender.

Oh alright, we will consider that.
On Tue, Nov 17, 2015 at 1:53 PM, Eric Roberts<EMAIL_ADDRESS>wrote:

The Contact page is the biggest offender.
[image: screenshot 2015-11-17 at 1 52 42 pm]
https://cloud.githubusercontent.com/assets/1761259/11221320/854b4fde-8d32-11e5-8478-879b7292a7e7.png
—
Reply to this email directly or view it on GitHub
https://github.com/mhsengineering/mhsengineering.github.io/issues/2#issuecomment-157469435
.

--
Best Regards,
Loving Members of the Board
--
This email and any attached information (“email”) is confidential and
intended solely for the use of the individual or entity to whom they are
addressed in the body of the email. This email may contain information that
is privileged, confidential and prohibited from disclosure or unauthorized
use under applicable law.  If you are not the intended recipient or person
responsible for delivering this email to the intended recipient, you have
received this communication in error, and any review, use, disclosure,
dissemination, forwarding, printing, copying, distribution or taking any
action in reliance on this email is strictly prohibited.  If you have
received this email in error please immediately notify the system manager,
sender or the Morris School District by telephone or email and permanently
delete the original email and remove all copies from your system.

The Contact page has been fixed (commit fa2ab8030544247b2c131c2d688e8d0922c78a0c) but other formatting issues still remain.

are there any remaining formatting issues on the current site or can we close this?


Add PointerEnter and PointerLeave EventListeners

This adds support for a pointer entering and leaving. This does work but I'm marking this as a draft because this doesn't run inside of the event.needs_focus() check but I don't fully understand what that is.

event.needs_focus() basically is to check if the event is a keyboard event.

event.needs_focus() basically is to check if the event is a keyboard event.

Ok. In that case the way it is should work fine


Add 'run as a service at startup' options

Depending on the timeframe it takes to integrate this into Moode (if ever it happens), I'll be adding instructions to configure this as a service at startup very soon.

Done!


Add Cognito plugin

It would be awesome if a Cognito example could be provided, since this is AWS native.
Currently I am struggling how to read additional attributes. provided by Cognito. Perhaps you can point me into the right direction.
Thx :)

I will look into this. Personally, I'm not very familiar with Cognito. Pull requests are always welcome, too.  😄

AWS Cognito should be added soon. As far as I can tell, this branch should be working as is https://github.com/Widen/cloudfront-auth/tree/cognito
I would like to test a bit more before merging into master.

Will have a look. Thanks!

I've used integration with Cognito to protect the CloudFront distribution and everything works fine. I believe that you can merge this changes into master.

I've just given the Cognito branch a try however am getting the error:
{"code":"BadRequest","message":"The server did not understand the operation that was requested.","type":"client"}

Assuming I might have done something wrong with the callback / setup however


When I enter "get_scale.py," it shows "killed."

Hello, thank you for making great code.
I have a question about a problem that occurs when I run the code.
When I enter the command "get_scale.py," a strange warning appears, and then the process gets killed.
Do you have any idea about this issue?

Thank you for supporting!

Hi, this is caused by CPU out of memory. How many masks are there for each image? What is the image size? You may need to downsample the images during mask extraction.

180 images and I did downsample to 4
Is there anything I can do more? 🥲
2024년 6월 19일 (수) 오후 5:28, Jumpat @.***>님이 작성:

Hi, this is caused by CPU out of memory. How many masks are there for each
image? What is the image size? You may need to downsample the images during
mask extraction.
—
Reply to this email directly, view it on GitHub
https://github.com/Jumpat/SegAnyGAussians/issues/75#issuecomment-2178076619,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQQTE35K7SMZAG5DIK57B6TZIE6KFAVCNFSM6AAAAABJRKVFACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZYGA3TMNRRHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

(How many masks are there for each image?) << How can I check this? and I took pictures with my iphone11

The get_scale.py will load all masks into CPU memory at once:
https://github.com/Jumpat/SegAnyGAussians/blob/ca2ec1416b93f4ddc99383b4c05e6a2bb3734954/get_scale.py#L100-L107
You can change it to load the mask when needed here:
https://github.com/Jumpat/SegAnyGAussians/blob/ca2ec1416b93f4ddc99383b4c05e6a2bb3734954/get_scale.py#L124
e.g.: corresponding_masks = torch.load(..., map_location="cpu").float()

Besides, you are likely to meet CUDA OOM when you start training, some extra modifications are also required: https://github.com/Jumpat/SegAnyGAussians/issues/65#issuecomment-2160447443

Or convert to float type when the mask is required:
diff --git a/get_scale.py b/get_scale.py
--- a/get_scale.py	(revision c1fb52d48db849bfcf69aba999941e772c1825b2)
+++ b/get_scale.py	(date<PHONE_NUMBER>843)
@@ -99,12 +99,12 @@
     images_masks = {}
     for i, image_path in tqdm(enumerate(sorted(os.listdir(os.path.join(dataset.source_path, 'images'))))):
         # print(image_path)
-        image = cv2.imread(os.path.join(os.path.join(dataset.source_path, 'images'), image_path))
-        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
+        # image = cv2.imread(os.path.join(os.path.join(dataset.source_path, 'images'), image_path))
+        # image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
         masks = torch.load(os.path.join(os.path.join(dataset.source_path, 'sam_masks'), image_path.replace('jpg', 'pt').replace('JPG', 'pt').replace('png', 'pt')))
         # N_mask, C

-        images_masks[image_path.split('.')[0]] = masks.cpu().float()
+        images_masks[image_path.split('.')[0]] = masks.cpu()

     OUTPUT_DIR = os.path.join(args.image_root, 'mask_scales')
@@ -121,7 +121,7 @@
         depth = rendered_pkg['depth']

         # plt.imshow(depth.detach().cpu().squeeze().numpy())
-        corresponding_masks = images_masks[view.image_name]
+        corresponding_masks = images_masks[view.image_name].float()

         # generate_grid_index(depth.squeeze())[50, 1]

Thank you for kind explanation!
I changed like this:
corresponding_masks = torch.load(os.path.join(dataset.source_path, 'sam_masks', view.image_name.replace('jpg', 'pt').replace('JPG', 'pt').replace('png', 'pt')), map_location="cpu").float()
I'm sorry, I'm quite new to this field and still very inexperienced.
I wrote it like this with the help of GPT. Is this correct?

Thank you for kind explanation!
I changed like this: corresponding_masks = torch.load(os.path.join(dataset.source_path, 'sam_masks', view.image_name.replace('jpg', 'pt').replace('JPG', 'pt').replace('png', 'pt')), map_location="cpu").float()
I'm sorry, I'm quite new to this field and still very inexperienced.
I wrote it like this with the help of GPT. Is this correct?

Try this: https://github.com/Jumpat/SegAnyGAussians/issues/75#issuecomment-2178848839

I changed like this

But still have problems

Also I changed down sample to 8

I added the # on lines 102 and 103, but the result is still the same 😭

How many memory do you have?
I tested on a scene with 251 images in 1920×1080, without any resizing. It consumes about 45 GB memory during the version mentioned at #75 (comment) running.

I added the # on lines 102 and 103, but the result is still the same 😭

ahh I tested on 180 images and size is 2160 x 3840 😅

hi I finally solved this problem resizing images thank you so much!
but I have another problem 😭
Do you know about this error?

I finally solved the problems thank you! and I try to run GUI, but have some questions
Can the GUI be run on Ubuntu WSL?
I tried it currently, but I get the following error:

Hi, there are too many images and they are too large.
The GUI error is caused by PCA decomposition. I wonder the shape of eigenvalues and see_chosen. What is your PyTorch version?

version is 2.0.1 and How can I know about eigenvalues and see_chosen?

You may need cudatoolkit=11.6 and pytorch=1.12.1
In the update of PyTorch the function may have been changed.
To see the shape about eigenvalues and sem_chosen, you can print(xxx.shape) before the error is raised.

version is 2.0.1 and How can I know about eigenvalues and see_chosen?

I am using 2.0.1 too. Try this:
Index: saga_gui.py
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/saga_gui.py b/saga_gui.py
--- a/saga_gui.py	(revision ca2ec1416b93f4ddc99383b4c05e6a2bb3734954)
+++ b/saga_gui.py	(date<PHONE_NUMBER>363)
@@ -549,10 +549,9 @@
         mean = torch.mean(X, dim=0)
         X = X - mean
         covariance_matrix = (1 / n) * torch.matmul(X.T, X).float()  # An old torch bug: matmul float32->float16,
-        eigenvalues, eigenvectors = torch.eig(covariance_matrix, eigenvectors=True)
-        eigenvalues = torch.norm(eigenvalues, dim=1)
-        idx = torch.argsort(-eigenvalues)
-        eigenvectors = eigenvectors[:, idx]
+        eigenvalues, eigenvectors = torch.linalg.eig(covariance_matrix)
+        idx = torch.argsort(-eigenvalues.real)
+        eigenvectors = eigenvectors.real[:, idx]
         proj_mat = eigenvectors[:, 0:n_components]

         return proj_mat

omg thank you! I will try it

Glfw Error 65544: X11: Failed to open display <IP_ADDRESS>:0
Has anyone know about this problem? 😭

This seems not a problem about SAGA. 🥲
Are you running the GUI on a remote server?

I finally run GUI 💅🎉
Thank you everyone 🌸
2024년 6월 20일 (목) 오후 6:41, Jumpat @.***>님이 작성:

This seems not a problem about SAGA. 🥲
Are you running the GUI on a remote server?
—
Reply to this email directly, view it on GitHub
https://github.com/Jumpat/SegAnyGAussians/issues/75#issuecomment-2180253934,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQQTE3ZWKCDP2TWZFLI2IHLZIKPT3AVCNFSM6AAAAABJRKVFACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBQGI2TGOJTGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Great!

Glfw Error 65544: X11: Failed to open display <IP_ADDRESS>:0

Has anyone know about this problem? 😭

Hi, I have the same problem here. Could you please explain how did you solve it? Thanks!

@songyuri
I had same error with you.

how did you fix it?


key: value support of data mapping in non-yaml secrets

Hey,
I just moved from browserpass to gopassbridge and experienced that login/email/username key: value in the body part of the secret doesn't work anymore. A lot of software like Android/IOS/Browserpass/etc pass compatible software uses the naive key: value metadata description.
I've seen gopass json api only provides metadata if the secret is stored in yaml format. I have successfully implemented a very easy key: value parser to fill the data map of the secret datatype if yaml parsing fails.
see https://github.com/notandy/gopass
But yaml is really tightly integrated, I am not sure how cleanly implement the classical approach in parallel. My implementation breaks tests and expectations.
As of #559 the yaml support itself is quite buggy, even though I appreciate the work invested having yaml support in gopass, I would really like seeing the yaml parser dropped and  instead having a basic key: value parser. (which should also be able to parse the yaml key/value entries)

:+1:


better support for icmp

when configuring a flow i can select protocol icmp but none of the codes.
ICMP doesn't really uses port numbers but rather type/codes.

I need to find a way to integrate that cleanly, as it would be 2 fields used only by ICMP. Would the code/subtype be necessary or only the type?

Personally I have never seen a subtype being used in firewall rules, on the other other simple types are everywhere.

also attention should be placed for icmpv4 and icmpv6 as they do differ

Still thinking about how best to implement that, I have not found a satisfying way in the Forms to have a special case for two protocols (ICMP / ICMPv6) that would change how the rest of the form is displayed/interpreted.
For the moment, I'd recommend using the destination port field to store the type.


WaveformDataRequest: adding support for time range and AVAsset.

I'm implementing an interactive waveform view which user can scroll and zoom. As the waveform is zoomed, more details should be loaded.
I like what's currently offered by the WaveformDataRequest but it has limitations:

It supports AVAudioFile only. It'd be great to add support for any AVAsset.
There's no support for setting a time range to load. Because of that, it's not possible to implement a "zoom-in-to-reveal-more-details" feature.

Do you think those features should be offered by AudioKit?
I'm happy to help as much as I can with implementing this but it'd be great to get your guidance.
My first thoughts about API changes:
WaveformDataRequest

// New initializer:
public init(asset: AVAsset) { ... }

// New property:
var timeRange: CMTimeRange { get set }

getData(...) method would not use AVAudioFile. Instead, it would switch to using AVAssetReader. Implementation would be similar to this: FDWaveformRenderOperation.swift
Looking forward to your comments :)

Yes, sounds great. For new features we will ask that tests be written, so familiarize yourself with AudioKit tests. This should be quite straightforward in this case to generate md5s for various zoom levels.

Cool 🙌
I'll work on it this month and post the update here soon.

Cool, just make a pull request when you're ready. I don't think this needs to be an open issue for now. Feel free to comment on here though.

As an update, I did finish a basic implementation of this that was loading waveform of a specific time range.
However, AVAssetReader doesn't seem to be a good match for this task. My implementation is 2-5x times slower than the current one.
I guess this shouldn't came as a surprise as Apple warns about this in their docs:
AVAssetReader is not intended for use with real-time sources, and its performance is not guaranteed for real-time operations.

So, I'll try implement this with Audio Toolbox API which hopefully will be much faster.
I found this detailed blog post which describes a similar problem.
I'll go this way as well 🤞

Cool, thanks for the update!


Enable alpha blending in rendering

Transparency has been disabled.
We want it back !

And you have it !


Switch Wrapped Environment

https://github.com/shapeshift/mobile-app/issues/30 First go at allowing switching the web app the mobile app wraps at runtime. In lieu of any visible components outside of the WebView, I added a small text SS in the top left. Long pressing that makes the unstyled select uri box visible. I also hard coded today's fleek release as a third option. we need to figure out a way to whitelist on.fleek.co urls.

Do we actually need to whitelist the onfleek urls if we instead had 0xdef1 create a release.shapehisft.com environment that is used by operations instead of ephemeral build urls?

No we definitely don't need to whitelist fleek urls. that was just for kicks/to see it work in a 3rd env.


Fixes #67 - Add Go 1.7.4

This PR adds support for Go 1.7.4 :)

Thanks for this, saw a typo but fixed it. LGTM! :+1:


How can I use Proxy to send HTTP requests?

I'm using ngx.thread and lua-resty-http to send multiple request, and I want them all go through a proxy, what is the best way to do that?

@prehawk1999 did u get a solution? I need this feature too.

@prehawk1999 原来是自己人  有没有找到解决方案

@kaporzhu Use low level api: http:connect and http:request， use http:connect to connect proxy, and http:request to perform actual request.

@prehawk1999 that's exactly the way I tried this afternoon. It seems I need to check it again. Thanks for ur help.

@kaporzhu  If the origin server expects only HTTPS few extra steps need to be considered. See RFC2817 https://tools.ietf.org/html/rfc2817. Just 2 cents.

@iriyak thanks for your info :=)  http is enough for my app.

@kaporzhu Good to know that HTTP was sufficient in your use case. :) It wasn't to my use case that required HTTPS and I am going to post a new issue to cope with.

@prehawk1999 can you please post a simple code to show how to perform the request by proxy?
I have the same issue here, and I have tried many times without success, thank you very much  :smile:

Use low level api: http:connect and http:request， use http:connect to connect proxy, and http:request to perform actual request.

@mrleex
The origin server can be connected via HTTP or you need to establish HTTPS connection?

@iriyak
Hi,
Thank you very much for your reply, the HTTP would be enough for my app, but I'm in a private network, and all HTTP request need to be made by a proxy like: http://proxy.oa.com:8080, how can I do that?
Thank you once more for your time

@mrleex Right, give me some while to prepare.
For your information, key points to consider for going through a forwarding proxy include:

The target destination to establish TCP connection becomes the proxy, not the origin
"When making a request to a proxy, other than a CONNECT or server-wide OPTIONS request (as detailed below), a client MUST send the target URI in absolute-form as the request-target." RFC7230 Section 5.3.2
You may not want a cached resource stored by the forwarding proxy

More to come later.

@mrleex When dealing with https proxy, or redirect, details should be manipulate by yourself.
            local res, err = instance.httpc:request(
                  {
                      version = 1.1,
                      method = "CONNECT",
                      headers = req_headers,
                      path = tostring(url_host) .. ":" .. tostring(url_port),
                  }
            )

For example, when proxys https, you should send CONNECT request , and then do httpc:ssl_handshake(nil, url_host, true). The https session will be stored when you use keepalive.
Redirect is a much more simple case, as you should only deal with 3xx requests and resend.

@prehawk1999 thanks for your help, gonna try it

@mrleex Yes, RFC817 Section 5.2 describes the formal specification for establishing a tunneling with CONNECT.
Now that multiple HTTP sessions must be handled in your app it is highly recommended to check res, err and add some error handling logic. While my debugging I have experienced a connection timed out caused by set_timeout(), 400/500/504 by the proxy while establishing a tunnel.
Just 2 cents

https://gist.github.com/vkill/0a35fc705707f93939f1eee6ddcd4a67


Truncate hidden_indexable_content value in document summary

Truncate hidden_indexable_content metadata value in document summary view. This content is the length of the entire document and would take up too much space on the summary page if left
untruncated.

Truncated value examples below, number of lines vary depending on screen width:

Nice work with this, especially testing the special casing :+1:
Maybe we could make this change even simpler? Truncating at 140 will be fine for values of all the metadata across all the Specialist Document Formats. Plus, the less special cases we have in Specialist Publisher, the better. I think it's fine to reduce this PR down to <dd><%= truncate(value, length: 140) %>`. Does that sound reasonable?

Removing the special case makes sense. I'll make that change.

Changed pull request to truncate all metadata values over 140 chars, as suggested.


Unittest failing

I have been able to reproduce the issue with the tests locally.
coverage run -m unittest tests/raggedarray_tests.py

I sometimes (~half of the time) gets the following:
...
Ran 8 tests in 2.495s

OK
python(87689,0x1de2e1e00) malloc: Double free of object 0x1315fa2b0
python(87689,0x1de2e1e00) malloc: *** set a breakpoint in malloc_error_break to debug
zsh: abort      coverage run -m unittest tests/raggedarray_tests.py

and this seems to match the error that we see on the GitHub actions.

Awesome, I'll try to reproduce it as well.

I think I fixed it. Let me create a proper branch and push here.


How to change the cursor color in the indent area?

Could anyone please give a hint on how to change the text cursor color in the indent area?
See the example below. Sometimes I lose the track of cursor when it hides there.

Take a look at :h guicursor and :h hl-Cursor
I'll close this issue, as it is unrelated to the plugin. If you have more questions, ask in the neovim gitter, or on reddit


Move CI over to GH actions

Travis is slower and has a clunkier integration with github. GH actions also supports way more features and has community plugins.
This also unblocks #1255 to use GH actions to remind people to update changelogs.

Will squash before merging.

cc @dalehamel


Json schema validation multipleof - not working

Using golang version 1.11
have json schema as follow
{
"$id": "table1__1",
"type": "object",
"title": "table1__1",
"$schema": "http://json-schema.org/draft-07/schame#",
"required": [
],
"properties": {
"col2": {
"type": "number",
"default": "",
"multipleOf": .001
}
},
"additionalProperties": false
}
for input json
{
"col2": 2.001
}

Returns error Must be multiple of 0.001

Ok, turns out I should've read the go docs better and used big.Rat instead of big.Float.  big.Float solved most peoples multipleOf issues before, but they are not arbitrary precision as I assumed, whereas big.Rat are as they use fractions.
The solution seems pretty easy so I'll have a fix up soon.


Auro button to support icons

User story
As a developer, I want to be able to add icons to buttons, so I can illustrate additional UX value to my customers.
Outline subtasks or tasks

List specific steps required to deliver this work.

[ ] review the current design proposal
[ ] determine if the proposal can be moved forward in a dev plan

Definition of “Done” (exit criteria)

The story is generally “done” when the user can complete the outlined task, but make sure to define what that is.

This story will be considered complete once the current design proposal in the UI Kit is approved to move forward with a Dev Plan.
Legacy ODS option

Exit criteria
This story will be considered complete once the design has been approved for a dev plan and a new dev story has been created and planned for a release cycle.

Is https://github.com/AlaskaAirlines/ods-button/issues/65 the right UI?


Memory not increasing linearly for Multi-Image Inference

I'm conducting experiments using Mini‑InternVL‑Chat‑4B‑V1‑5 with Multi-Image Inference. Specifically, I'm utilizing the code provided here for multi-round multi-image conversation, but with a single round (a single prompt with multiple images).
In my experiments, I am incrementally increasing the number of images one by one to estimate the GPU memory peak. However, I've noticed that the memory peak does not increase linearly with the number or size of the images used.
It is my understanding that models in version 1.5 have not been explicitly trained on multiple images. Despite this, I'm curious as to why increasing the number of images results in seemingly random increases in memory usage rather than a linear progression.
Experiments on a single A6000 (48Gb) GPU. After 5 images it goes OOM.

Image
Size (Kb)
Peak (Mb)

./imagenet_sample/172005241_e3a4af537e.jpg
41
11522

./imagenet_sample/3949472_7f4ce9a39a.jpg
50
16952

./imagenet_sample/235866094_577a8a0a6e.jpg
44
27134

./imagenet_sample/1299591_20e445f79a.jpg
27
34840

./imagenet_sample/76727094_f20d363734.jpg
38
44878

imagenet_sample.zip

This is reasonable. The memory usage of each image fluctuates within a reasonable range. The theoretical and actual GPU usage values differ due to the operator's implementation and the specific scenario during model inference.


Initial template

Looked at the index file being pushed and it looks good for initial integration with editor controller.

I reviewed the index html for the editor page and it looks great. I resolved the css issue by deleting the conflicting entries and will readd them with the next push.


Change the visibility of the fields of struct Opcode to public

Hi, the fields of struct Opcode is private
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
pub struct Opcode {
    mnemonic: Mnemonic,
    operation: Operation,
}

I can't access mnemonic and operation, could you please change the visibility? Thanks!

Yep, will do!

Fixed in 0.1.19


bug(cdk): 17.0.5 breaks cdkDrag

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
17.0.4
Description
I have two cdkDropList instances (in different components) and connected them to each other via cdkDropListConnectedTo. List a can only move stuff into list b, but not the other way around.
This implementation worked since around Angular (cdk) 11 or 13.
The items are draggable but the  cdkDropListExited event is never triggered. Also on the target list no dragenter event is triggered (not even drag placeholder shows up).
When I downgrade to 17.0.4 (with legacy peer deps) it works just like before. The 17.0.5 release notes don' suggest anything in connection to cdkDrag - what am I missing?
Reproduction
StackBlitz link: I'm currently trying to create a repro - it's not easy since I have a large project with a bunch of components involved.
Steps to reproduce:
1.
2.
Expected Behavior
I expect the drag placeholder to show up and events to fire.
Actual Behavior
as per description
Environment

Angular: 17.1.1
CDK/Material: 17.1.1/since 17.0.5
Browser(s): Chrome, Edge, Safari
Operating System (e.g. Windows, macOS, Ubuntu): macOs 14.1.2, Windows 11

Hmm this does sounds weird. There haven't been any substantial changes in a while on cdk/drag-drop: https://github.com/angular/components/commits/main/src/cdk/drag-drop.

We finally found the problem: there's a bit of a hack that we implemented which fixes some issues we had with nested drag & drop lists. This commit (DomRect instead of ClientRect) then caused our implementation to break (due to swallowed errors in our hack... 🙃)
So in the end, CDK did it's job perfectly fine.


Upgrade to 4.6 leads to kube-apiserver revisions discrepancies between master nodes

I've been upgrading our OKD cluster from 4.5.0-0.okd-2020-10-15-235428 to 4.6.0-0.okd-2021-01-23-132511 (on bare metal). All nodes have been updated and all cluster operators are available, not progressing, and not degraded; except kube-apiserver.
Indeed, one of the controlled pod (kube-apiserver-okdmaster-vm1) is in a crashloop with the following log:
the container kube-apiserver in the pod kube-apiserver-okdmaster-vm1 fails with the following message:
      Message:   Copying system trust bundle
Waiting for port :6443 to be released.
Flag --openshift-config has been deprecated, to be removed
F0130 15:39:27.656230       1 server.go:121] open /etc/kubernetes/static-pod-resources/configmaps/config/config.yaml: no such file or directory
On the host (the source of the config) there is only an empty folder /etc/kubernetes/static-pod-resources/kube-apiserver-pod-159/

I've tried rebooting the node, but it did not help.
The kube-apiserver-operator has a reference to the new 4.6 image via the env variable IMAGE:
❯ oc get -n openshift-kube-apiserver-operator pod/kube-apiserver-operator-5b8884cb97-xprr2 -o json | jq -r '.spec.containers[0].env[0].value'
quay.io/openshift/okd-content@sha256:463bb79c489ba0eb7c49c9696ad7416ff58d8d577c86e22bf3c2b4d0e9a00c7f

It gets properly deployed to kube-apiserver-okdmaster-vm2 and kube-apiserver-okdmaster-vm3 (note the sha)
❯ oc get -n openshift-kube-apiserver pod/kube-apiserver-okdmaster-vm2 -o json | jq -r '.spec.containers[0].image'
quay.io/openshift/okd-content@sha256:463bb79c489ba0eb7c49c9696ad7416ff58d8d577c86e22bf3c2b4d0e9a00c7f
❯ oc get -n openshift-kube-apiserver pod/kube-apiserver-okdmaster-vm3 -o json | jq -r '.spec.containers[0].image'
quay.io/openshift/okd-content@sha256:463bb79c489ba0eb7c49c9696ad7416ff58d8d577c86e22bf3c2b4d0e9a00c7f

but not to kube-apiserver-okdmaster-vm1
❯ oc get -n openshift-kube-apiserver pod/kube-apiserver-okdmaster-vm1 -o json | jq -r '.spec.containers[0].image'
quay.io/openshift/okd-content@sha256:c86892d9863a3821f748204006a12a09bf7d0ff54cb545b60c98886bd9ed6afe

Also, the revision label on the pod kube-apiserver-okdmaster-vm1 (revision: 159) does not match the label on kube-apiserver-okdmaster-vm2 and kube-apiserver-okdmaster-vm3 (revision: 170)
My understanding is that the kube-apiserver cluster operator should upgrade all kube-apiserver pods to the same version and I fail to understand how the one on kube-apiserver-okdmaster-vm1 stays on an old revision.
You can download the must-gather package at https://build.eclipse.org/cbi/must-gather.tar.gz

I managed to get all kube-apiserver to the same revision by forcing a redeployment with
oc patch kubeapiserver cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge

I don't know if it's a bug in the upgrade code or just something on my cluster. I'm closing this one for now. Feel free to get the must-gather data from above. I'll remove it in about a week.
Special thanks to @vrutkovs for his support on the #openshift-users slack channel.


Add link to the openhab webinterface in the instance view

like you did it by the fhem interface

Is RESTful interface always under http://ip:port/rest ?
oder kann es sein "http://ip:port/path/rest" ?

Done


Add some tests

We should really have some tests 🙈

We have a couple of tests now! (https://github.com/GoogleChromeLabs/uach-retrofill/blob/main/test.js). We can continue to add more as we make improvements


abolish an extra goroutine

closes #411

sorry for all the commit spam, i've read a tweet sometime ago that github actions is a fiend to clean git commit history, while i think it's true it's my fault i'm too eepy and couldn't be bothered to run the workflow locally, check up .mod files and not to forgor about running go mod tidy. think this is like your average dark souls bonfire-to-"you died" message cycle but somewhat upside down, fix issue -> commit -> push -> wait for ci to fail -> oh my gosh here we go again.
please review my pr carefully, i am super new to the codebase although i've been using this library for a while and i might've messed up choosing atomic.Value vs atomic.Pointer but the latter looks more messy to me code wise and i don't think there is any sense to keep a pointer to function instead of keeping it straight as a value, maybe someone smarter than me and/or more acquainted with the codebase than me could propose anything. i tried my best to do the best choices and keep the style consistent. maybe you'll find an nit or two but i'm up for fixing them up.


Add purge protection column in table azure_app_configuration

Is your feature request related to a problem? Please describe.
Add purge protection column in table azure_app_configuration
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

The SDK version: v58.0.0+incompatible is being used here, in this version the List/Get API does not contain any attributes which return the Authentication Type.
I have also check with the latest SDK Version: v68.0.0+incompatible which does not support yet. Though the rest API returns purge protection details.
We will revisit this issue once the it support with new SDK version release.