x/net/http2: Transport interop issue against Apache mod_h2?

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

go version go1.6.3 linux/amd64

What operating system and processor architecture are you using (go env)?

GOARCH="amd64"
GOBIN="/home/songgao/gopath/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/songgao/gopath"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

What did you do?

// main.go
package main

import (
	"io"
	"log"
	"net/http"
	"os"
	"time"
)

func main() {
	c := &http.Client{
		Timeout: 4 * time.Second,
	}
	log.Println("about to get ...")
	resp, err := c.Get("https://wohlford.co")
	if err != nil {
		log.Fatal(err)
	}
	io.Copy(os.Stdout, resp.Body)
}

songgao at Song-ThinkPad in /tmp
$ GODEBUG=http2debug=2 go run main.go
2016/07/27 16:09:12 about to get ...
2016/07/27 16:09:12 http2: Transport failed to get client conn for wohlford.co:443: http2: no cached connection was available
2016/07/27 16:09:13 http2: Transport creating client conn to <IP_ADDRESS>:443
2016/07/27 16:09:13 http2: Framer 0xc8203762c0: wrote SETTINGS len=18, settings: ENABLE_PUSH=0, INITIAL_WINDOW_SIZE=4194304, MAX_HEADER_LIST_SIZE=10485760
2016/07/27 16:09:13 http2: Framer 0xc8203762c0: wrote WINDOW_UPDATE len=4 (conn) incr=1073741824
2016/07/27 16:09:16 Get https://wohlford.co: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
exit status 1

songgao at Song-ThinkPad in /tmp
$ GODEBUG=http2client=0 go run main.go
2016/07/27 16:09:23 about to get ...
<!DOCTYPE html>

  <meta charset=utf-8 />
  <title>Wohlford & Co.</title>

What did you expect to see?
Falls back to HTTP/1.1 or errors

What did you see instead?
Hangs until timeout

Just tried above code with go1.6 and HTTP/2 works fine. So it seems to be something introduced in (go1.6, go1.6.3].

Ubuntu 14.04.4 LTS (amd64)
Apache 2.4.23
OpenSSL 1.0.2h
Nghttp2 1.13.0
/etc/apache2/sites-enabled/wohlford.co.conf:
<VirtualHost <IP_ADDRESS>:80 [2001:470:c50c::1]:80>
  SuexecUserGroup "#2566" "#2129"
  ServerName wohlford.co
  ServerAlias www.wohlford.co
  DocumentRoot /home/wohlford.co/web

  ErrorLog /var/log/virtualmin/wohlford.co_error_log
  CustomLog /var/log/virtualmin/wohlford.co_access_log combined

  # HTTP/2
  <IfModule mod_http2.c>
    Protocols h2 h2c http/1.1
  </IfModule>

  # Cache
  <IfModule mod_cache_disk.c>
    CacheEnable disk /
    <IfModule mod_headers.c>
      Header setifempty Cache-Control "max-age=1" env=GATEWAY_INTERFACE
    </IfModule>
  </IfModule>

  # Enable Page Optimizations
  <IfModule pagespeed_module>
    ModPagespeed On
    ModPagespeedRewriteLevel CoreFilters
    #ModPagespeedEnableFilters add_instrumentation
    ModPagespeedEnableFilters insert_ga
    ModPagespeedAnalyticsID UA-1898639-5
    ModPagespeedEnableFilters inline_images
    <ModPagespeedIf spdy>
      ModPagespeedDisableFilters inline_images
    </ModPagespeedIf>
  </IfModule>

  <IfModule mod_rewrite.c>
    # Enable Rewrite Engine
    RewriteEngine on
    RewriteOptions InheritDown

    # Disable TRACE and TRACK
    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
    RewriteRule .* - [F,NS]

    # Redirect all queries to wohlford.co
    RewriteCond %{HTTPS} !=on
    RewriteCond %{HTTP_HOST} !=wohlford.co [NC]
    RewriteRule ^/(.*) http://wohlford.co/$1 [R=301,L]

    # Redirect all encrypted queries to https://wohlford.co
    RewriteCond %{HTTPS} ==on
    RewriteCond %{HTTP_HOST} !=wohlford.co [NC]
    RewriteRule ^/(.*) https://wohlford.co/$1 [R=301,L]

    # Prevent Hotlinking
    RewriteCond %{HTTP_REFERER} !://wohlford.co/ [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteRule .\.(?:gif|jpe?g|png|bmp|ico|mov|mp4|wmv|mpe?g|mp3|ogg|swf|flv|pdf|docx?|xslx?|pptx?|zip|rar|gz|tgz|bz2|tbz|sitx?)$ - [F,L]
  </IfModule>

  <IfModule mod_ssl.c>
    <If "-T %{SSL_CIPHER}">
      <IfModule mod_headers.c>
        # Enable HSTS
        Header always set Strict-Transport-Security "max-age=15552000"

        # Public Key Pinning (HPKP)
        Header always set Public-Key-Pins "pin-sha256=\"V+sq7PzGY76Xm5KCr1c4UbSfQXAfRZjSbKIKhZEUI1s=\"; pin-sha256=\"AWBnEHm13/KDq7NWvRdWy+ESYII86+7Z20WO/G32ROs=\"; pin-sha256=\"ImP7Nf6Xq6zC1loswY5OMcem5s2M2p1i+qxV12bspG8=\"; max-age=15552000"
      </IfModule>
    </If>
    <ElseIf "-f '/home/wohlford.co/ssl.ca'">
      <IfModule mod_rewrite.c>
        # Switch to HTTPS if UA asks
        RewriteCond %{HTTP:Upgrade-Insecure-Requests} 1
        RewriteRule ^ https://wohlford.co%{REQUEST_URI} [R,L]

        RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)\ HTTP/ [NC]
        RewriteRule ^/?(wp-admin/|wp-login\.php) https://wohlford.co%{REQUEST_URI}%{QUERY_STRING} [R=301,QSA,L]
      </IfModule>
    </ElseIf>
  </IfModule>

  ScriptAlias /cgi-bin/ /home/wohlford.co/cgi-bin/
  <Directory /home/wohlford.co/cgi-bin>
    Require all granted
    Options None
    AllowOverride None Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
  </Directory>

  <Directory /home/wohlford.co/web/stats>
    AuthName "wohlford.co statistics"
    AuthType Basic
    AuthUserFile /home/wohlford.co/.stats-htpasswd
    Require valid-user
    <Files .stats-htpasswd>
      Deny from all
    </Files>
    Options None
    AllowOverride AuthConfig Limit Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
  </Directory>

  <Directory /home/wohlford.co/web>
    Require all granted
    Options +MultiViews +SymLinksIfOwnerMatch +ExecCGI
    AllowOverride AuthConfig Limit Nonfatal=Override Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
    AllowOverrideList Header RequestHeader SetEnvIf SetEnvIfNoCase \
      RewriteEngine RewriteOptions RewriteBase RewriteCond RewriteRule \
      Redirect RedirectTemp RedirectPermanent RedirectMatch \
      DefaultIcon AddDescription AddIcon AddIconByEncoding AddIconByType

    # WordPress Rewriting
#    RewriteBase /
#    RewriteCond %{REQUEST_FILENAME} !-f
#    RewriteCond %{REQUEST_FILENAME} !-d
#    RewriteRule . /index.php [L]

    <IfModule mod_fcgid.c>
      AddHandler fcgid-script .php
      AddHandler fcgid-script .php5.6
      AddHandler fcgid-script .php7.0
      AddType application/x-httpd-php .php
      FCGIWrapper /home/wohlford.co/fcgi-bin/php7.0.fcgi .php
      FCGIWrapper /home/wohlford.co/fcgi-bin/php5.6.fcgi .php5.6
      FCGIWrapper /home/wohlford.co/fcgi-bin/php7.0.fcgi .php7.0
    </IfModule>
  </Directory>

  <IfModule mod_fcgid.c>
    RemoveHandler .php
    RemoveHandler .php5.6
    RemoveHandler .php7.0
    IPCCommTimeout 20
    FcgidMaxRequestLen<PHONE_NUMBER>
  </IfModule>
</VirtualHost>
<VirtualHost <IP_ADDRESS>:443 [2001:470:c50c::1]:443>
  SuexecUserGroup "#2566" "#2129"
  ServerName wohlford.co
  ServerAlias www.wohlford.co
  DocumentRoot /home/wohlford.co/web

  ErrorLog /var/log/virtualmin/wohlford.co_error_log
  CustomLog /var/log/virtualmin/wohlford.co_access_log combined

  SSLEngine on
  SSLCertificateFile      /home/wohlford.co/ssl.cert
  SSLCertificateKeyFile   /home/wohlford.co/ssl.key
  SSLCertificateChainFile /home/wohlford.co/ssl.ca
  SSLCACertificateFile    /etc/ssl/certs/StartCom_Ltd.-ca.pem

  # HTTP/2
  <IfModule mod_http2.c>
    Protocols h2 h2c http/1.1
  </IfModule>

  # Cache
  <IfModule mod_cache_disk.c>
    CacheEnable disk /
    <IfModule mod_headers.c>
      Header setifempty Cache-Control "max-age=1" env=GATEWAY_INTERFACE
    </IfModule>
  </IfModule>

  # Enable Page Optimizations
  <IfModule pagespeed_module>
    ModPagespeed On
    ModPagespeedRewriteLevel CoreFilters
    #ModPagespeedEnableFilters add_instrumentation
    ModPagespeedEnableFilters insert_ga
    ModPagespeedAnalyticsID UA-1898639-5
    ModPagespeedEnableFilters inline_images
    <ModPagespeedIf spdy>
      ModPagespeedDisableFilters inline_images
    </ModPagespeedIf>
  </IfModule>

  <IfModule mod_rewrite.c>
    # Enable Rewrite Engine
    RewriteEngine on
    RewriteOptions InheritDown

    # Disable TRACE and TRACK
    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
    RewriteRule .* - [F,NS]

    # Redirect all queries to wohlford.co
    RewriteCond %{HTTPS} !=on
    RewriteCond %{HTTP_HOST} !=wohlford.co [NC]
    RewriteRule ^/(.*) http://wohlford.co/$1 [R=301,L]

    # Redirect all encrypted queries to https://wohlford.co
    RewriteCond %{HTTPS} ==on
    RewriteCond %{HTTP_HOST} !=wohlford.co [NC]
    RewriteRule ^/(.*) https://wohlford.co/$1 [R=301,L]

    # Prevent Hotlinking
    RewriteCond %{HTTP_REFERER} !://wohlford.co/ [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteRule .\.(?:gif|jpe?g|png|bmp|ico|mov|mp4|wmv|mpe?g|mp3|ogg|swf|flv|pdf|docx?|xslx?|pptx?|zip|rar|gz|tgz|bz2|tbz|sitx?)$ - [F,L]
  </IfModule>

  <IfModule mod_ssl.c>
    <If "-T %{SSL_CIPHER}">
      <IfModule mod_headers.c>
        # Enable HSTS
        Header always set Strict-Transport-Security "max-age=15552000"

        # Public Key Pinning (HPKP)
        Header always set Public-Key-Pins "pin-sha256=\"V+sq7PzGY76Xm5KCr1c4UbSfQXAfRZjSbKIKhZEUI1s=\"; pin-sha256=\"AWBnEHm13/KDq7NWvRdWy+ESYII86+7Z20WO/G32ROs=\"; pin-sha256=\"ImP7Nf6Xq6zC1loswY5OMcem5s2M2p1i+qxV12bspG8=\"; max-age=15552000"
      </IfModule>
    </If>
    <ElseIf "-f '/home/wohlford.co/ssl.ca'">
      <IfModule mod_rewrite.c>
        # Switch to HTTPS if UA asks
        RewriteCond %{HTTP:Upgrade-Insecure-Requests} 1
        RewriteRule ^ https://wohlford.co%{REQUEST_URI} [R,L]

        RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)\  There's no great way to distinguish between an interop problem (if that's what it is... some bug on either side, or both), or an actual slow response hitting your timeout. Falling back h2 to h1 whenever an h2 response was legitimately slow doesn't work. Especially for general http retry reasons. (non-idempotent methods, etc)
I'll work on a preparing a Docker container with mod_h2 so I can reproduce this, unless somebody already has one.
@songgao, do you have a minimal repro?

@bradfitz I see hanging request with my go 1.6.2. In order to check against my local test server, how do i disable the cert verification? :-D

@icing, you can write code like:
import (
   "crypto/tls"
   "net/http"

   "golang.org/x/net/http2"
)

func main() {
    c := &http.Client{
        Transport: &http2.Transport{
              TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
        },
    }
    res, err := c.Get("https://localhost:1234/foo.txt")
    if err != nil { log.Fatal(err) }
    res.Write(os.Stdout)
}

And if you run it with GODEBUG=http2debug=2 set in your environment, it will dump out lots of information to stderr.
Thanks for looking!
I'll investigate more when I'm home.

@bradfitz thanks!
I think you are running into the issue fixed in [v1.5.12] (https://github.com/icing/mod_h2/releases/tag/v1.5.12):
when the client waits on a SETTINGS ACK without anything else going on, it might get stuck in h2's output buffers.
As nghttp and curl always open stream 1 without waiting for the ack, this was not noticed. Have to add go tests some day...

Perhaps Go could send a dummy OPTIONS request if no settings response is
heard after an RTT or so? That should force a flush on the mod_h2 side?
On Jul 29, 2016 11:12 AM, "Stefan Eissing"<EMAIL_ADDRESS>wrote:

@bradfitz https://github.com/bradfitz thanks!
I think you are running into the issue fixed in v1.5.12
https://github.com/icing/mod_h2/releases/tag/v1.5.12:
when the client waits on a SETTINGS ACK without anything else going on, it
might get stuck in h2's output buffers.
As nghttp and curl always open stream 1 without waiting for the ack, this
was not noticed. Have to add go tests some day...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/16519#issuecomment-236132685, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAKPb3toD6l9yBNM8XkTrxk1s-MMv8fks5qacQLgaJpZM4JWt--
.

Or send the first request right away? Save your client 2 RTT..

@bradfitz Thanks for the explanation. I don't have a minimal repro yet; sorry!

So, out of curiosity, I was wondering why go1.6 works with the same server. Does go1.6 always open stream 1 without waiting for the ack like nghttp/curl? If so, was the reason for changing that "compliance with standard"?

@songgao, Go 1.6 had a bug where HTTP/2 was enabled by default on all HTTP clients except the default one, embarrassingly. It was a bug introduced almost immediately before Go 1.6 was released, in the process of fixing a different bug, embarrassingly. It was fixed in Go 1.6.2 (Go 1.6.1 was a security-only release).
So you weren't using Go's http2 stack with Go 1.6 probably.
@icing, yeah, I suppose I could do that too. But would a PING frame force a flush of your buffers? That might be lower-risk at this stage of our release, which is just around the corner.

If I understand my code, only a request will bring it out of that embarrassing state of not flushing its buffers then. It could be any request, really. Maybe insert a dummy one? Sorry about that.

Started adding go tests into my test suite. Seeing other interop issues, e.g. where Apache sends response HEADER + DATA (eof set) and the go client hangs. No flow involved. And go on http1 works fine.
Does it makes sense to test with 1.6.2? Will have a closer look next week...

If I understand my code, only a request will bring it out of that embarrassing state of not flushing its buffers then. It could be any request, really. Maybe insert a dummy one? Sorry about that.

I thought about sending a dummy OPTIONS request, but then I found it was easier to just not wait for the peer's settings & settings ACK instead. I hacked that up on the plane ride home. It might be too late for Go 1.7.

Started adding go tests into my test suite. Seeing other interop issues, e.g. where Apache sends response HEADER + DATA (eof set) and the go client hangs. No flow involved. And go on http1 works fine.

File a new Go bug and post details? I need to setup mod_h2 interop tests on my side too, but do share any Go snippet you find that hangs.

Does it makes sense to test with 1.6.2? Will have a closer look next week...

I've been tracking this issue and I'm afraid some of the technical details are over me head. Pardon if I ask questions that don't really make all that much sense. ;-)
The original symptom came up with my use of keybase.io. It would validate my identity on my website over https, but not http. I mentioned it to @maxtaco. I believe he followed up with @songgao, and now there's this issue on GitHub.  I love open source! :-)
If I follow everything above, it breaks when using http2. I've disabled my http2 module in apache and restarted the daemon. So why can't I still validate?
Works: https://wohlford.co/.well-known/keybase.txt
Doesn't work: http://wohlford.co/.well-known/keybase.txt
I'm thinking there is something else going on here besides h2/h2c issues. Don't want us to miss that if true.

Thanks for looking into it @wohlford (Also thanks @bradfitz for the fantastic explanation!)
Jason, I think this thread is more for Go's net/http package. Let's move the Keybase related discussion to https://github.com/keybase/client/pull/3656 :D

@bradfitz Thanks for the fix! Any chance the patch will make it into go1.7?

@songgao, it's pretty late in the cycle, but it's pretty crappy for users as-is so we probably should. I verified that this makes Go work with the latest Debian squeeze apache2, which doesn't yet have the upstream mod_h2 fix yet.
@adg, @broady, @quentinmit, @ianlancetaylor... thoughts?

My vote is to put it in 1.7. It's pretty annoying if we enable HTTP2 by default and we can't interoperate with Apache.

Where do we draw the line for these changes?

There aren't many http2 implementations. I think it's pretty bad for users if they don't interop, even if it's temporary.
Plus I think the proposed change is how we want things anyway.

OK
On 1 August 2016 at 11:04, Brad Fitzpatrick<EMAIL_ADDRESS>wrote:

There aren't many http2 implementations. I think it's pretty bad for users
if they don't interop, even if it's temporary.
Plus I think the proposed change is how we want things anyway.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/16519#issuecomment-236468794, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIDilY_qLW_iKJhrySnVHIKOYone3RO2ks5qbUYJgaJpZM4JWt--
.

Thanks for getting this in before 1.7 release!

Thanks for the quick fix!


Fix so the compiler can infer msg_send! return type

Currently, due to a quirk in Rust's type inference interacting with the structure of the msg_send! macro, a () return type will be inferred when the compiler cannot otherwise determine the return type. This behavior is expected to change, and in the future could resolve to a ! return type, which results in undefined behavior.
Linting has previously been added for this in rust-lang/rust#39216, but it did not catch these cases due to SSheldon/rust-objc#62. objc has been fixed to stop hiding these errors as of version 0.2.7, and they are now compile errors.
This change fixes these errors and allows compiling with the latest version of objc.

@bors-servo r+


Fixes, that validation layers do work for VK_KHR_display under Linux

At the moment, if VK_KHR_display extension is used, the validation layers do crash.
The fixes in this pull request do solve the problem.
Tested on i.MX8 using Linux OS.

Changes look good -- perhaps rearrange the patches to fix the scripts upfront and then not have WIP states?

Okay, fixed the commit history.

👍 good to go, I think.

LGTM too.

Pushed changes to Master -- thanks Norbert!
commit 6f2ed666809272002a31b3b4f8adf6581cb41819
Author: Norbert Nopper<EMAIL_ADDRESS>Date:   Fri Nov 25 07:55:13 2016 +0100
layers: Complete support for VK_KHR_Display ext

Fixed using display extension only crash.
Added vkGetDisplayPlaneCapabilitiesKHR.
Fixes, that unique objects works for display extension.

Change-Id: I66727a430b9d55bfa40fdddc884f40c91aa29f11


JGMTx: when signin txs elaborate the full hex ready to be broadcasted

Whats would be the seedsigner signin behaviour:

Scan for an unsigned tx.
Review and sign the tx.
Shows the qr of the signed Tx hex ready to be broadcasted.

Having this functionality will make a lot more flexible the use of the seedsigner. It could be activated by a check in the menu option or creating a new possibility under "scan psbt".
Assumptions:
A lot of people (like me) just want to use a signin device to not expose a private key on an internet connected device. A simple one-key-wallet is what a lot of people would use; multisig is something absolutely interesting and useful, but only few people want to manage that.
Creating a simple flow for the " Just Give Me the damned Tx" or JGMTx will permit to be compatible with  an absurd amount of software that could act as "coordinator" on every platform. Isn't that standardization?
My personal problem with seedsigner:
I have an old librebooted thinkpad and use sparrow as a view-only wallet. But my old thinkpad doesnt have a camera for scanning qr.
Clearly solutions could be a lot:

Buy a camera for the thinkpad.
Use the smartphone as external camera connecting it with some hacky and buggy solution.

But imagine if I could do JGMTx in this way:

Create the unsigned Tx on sparrow on my thinkpad.
Scan the qr with the seedsigner.
Review and sign the Tx.
Scan from seedsigner the full signed Tx hex on my android phone and broadcast it.

More simple and KISS. More flexible for a lot of people living in country where could be difficult have access to a pc with camera or a high-powerful smartphone to run bloated softwares like bluewallet.

I like the concept in that it is consistent with SeedSigner as a kind of Swiss Army Knife for bitcoin. What is missing is a simple QR encoding & decoding desktop/mobile app that could translate pasted hex into a parse-able animated QR set, and then intake an animated QR set and dump it to copy/paste-able text. Given that we're a volunteer project this may require someone that is passionate about the concept to pick up the ball and run with it.

I hope I will be able to contribute more, I'm trying to learn :).
From seedsigner-os what is missing is the ability to elaborate and export the full tx signed (and not the sign). For example, I think the HW foundation passport is able to shows the signed tx as the last qr, like in the video: https://www.youtube.com/watch?v=whtsRLmvkf4 (I dont have it, so i'm not 100% sure of what I'm saying).
Simple bitcoin wallet doesnt works with seedsigner (tested and reported here https://github.com/nbd-wtf/obw/issues/47), but I think it would only require to show the signed tx for seedsigner to become compatible (and speedup compatibility with a lot of other software wallets).
I really love seedsigner and only want it to become even more flexible to interact with :).

I like the concept in that it is consistent with SeedSigner as a kind of Swiss Army Knife for bitcoin. What is missing is a simple QR encoding & decoding desktop/mobile app that could translate pasted hex into a parse-able animated QR set, and then intake an animated QR set and dump it to copy/paste-able text. Given that we're a volunteer project this may require someone that is passionate about the concept to pick up the ball and run with it.

I made such a tool for testing purposes with my seedsigner, (both simple and animated QR), I can polish it and make it more distributable (it is actually just a python script using PyQt) if there are some needs.

Thank you for this message. What I like about this approach is that this kind of desktop tool could make SeedSigner immediately compatible with other additional wallets. From a security perspective, I think it makes sense that our project does not publish the tool -- too much of a security concern for us to make the signer software AND software that is installed on your desktop/laptop computer. Is your work available currently in a repo?

Is your work available currently in a repo?

I'll make one, just made the tool Saturday for play with miniscript stuff with my seedsigner...
I will ping you there so you can have a look

you can check here
quite basic for now, a lot to be done

Took a peek and it looks like a great start! Do you think you'll be able to implement the UR standard for animated QR codes?

Took a peek and it looks like a great start! Do you think you'll be able to implement the UR standard for animated QR codes?

yes, of course, just list what you think must be done, I'll try to handle that


[bug] cursor wrong place

How you can see, are the cursor on the wrong place.

The bug happens only when you reply to a exist mail, not by a draft and also not by a new mail.
Behavior goes away when you write on the next line.
(hope you understand what I mean)

Related issue here.

Thanks, have look some issues back but oversee it obviously. Will close this later.

Will leave the other issue open.


Change ip address to be inside the vbox allowed range

sdn-cockpit on  master via ⍱ v2.2.19 ➜ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/focal64' version '20211026.0.0' is up to date...
==> default: Clearing any previously set network interfaces...
The IP address configured for the host-only network is not within the
allowed ranges. Please update the address used to be within the allowed
ranges and run the command again.
Address: <IP_ADDRESS>
Ranges: <IP_ADDRESS>/21
Valid ranges can be modified in the /etc/vbox/networks.conf file. For
more information including valid format see:
https://www.virtualbox.org/manual/ch06.html#network_hostonly

Can confirm bug and fix :+1:
$ vboxmanage --version
6.1.28r147628
$ vagrant --version
Vagrant 2.2.19

Thank you for bringing this to our attention and providing a fix 👍


How to disable the appearance of buffer text?

Hi!
I did try to see if there was a similar issue that was already open/resolved. I also read the documentation. So I apologize if I did misread something.
While I am editing my init.lua file, for some reason, I am getting completions of the kind Text:

I do not have cmp-buffer installed (I think that is supposed to be the purpose of cmp-buffer, which I do not want).
Thanks!

You might want to look at sumneko's lua-language-server (I assumed that's what you are using above) to try stop it from returning those completion results. cmp here just displays what LSP returns (I believe).

Yes, indeed it is. I thought cmp could actually filter this, since sumneko's lua-language-server does not clarify how to deal with it.

When you configure lua-language-server, set the option Lua.completion.workspaceWord to false.

It seems to solved. Thank you.

Perfect, thanks!


FormatNumericToString will errantly convert -0 to +0 then back to -0 before calling ToRaw[Precision|Fixed]

The FormatNumericToString will do the following if x is negative-zero:
1. If x is negative-zero, then
    a. Let isNegative be true.
    b. Set x to 0.
2. Else,
   ...
3. If isNegative, then
    a. Let x be -x.

So x will be set to 0 in step 1b, then back to -0 in step 3a. This seems to break the assumptions of the AOs x is later used in, e.g. ToRawPrecision and ToRawFixed state that x "must be a finite non-negative mathematical value".
Should step 3 be a substep of step 2?

Good catch :)
#129


CakePHP 4.3, Bootstrap 3

Changes for CakePHP4.3

Thanks for the PR. I don't see any changes in the main code except for styles, what are the main changes you made for 4.3?

In the main code the change has been the removal of the Bootstrap*Helper aliases.
Also the final closing php tag has been removed.
Updated composer.json so it can be installed on cakephp 4.3.
And the tests have been corrected, and some that were missing have been added, so that they all run correctly.


ci/etc: make eqy an optional dependency

Why make the default install it vs making the default to skip it?

@gadfort, the default is to install only if creating a docker image. For local installs the default is to skip.

Ahh, okay. Thanks for clarifying


Misleading metrics destination

The overview section at the top of the page states the following:
"Metrics are sent to the metrics database in Azure Monitor. Log data is sent to your Log Analytics workspace."
However, it seems that both metrics and logs are sent to the Log Analytics workspace (quoted from here):
"Container insights includes a predefined set of metrics and inventory items collected that are written as log data in your Log Analytics workspace"
The reason this distinction is important is because some customers care what ends up in a particular Log Analytics workspace.  For example, logs are allowed but metrics aren't.
The implication seems to be that unlike other PaaS services, you cannot make use of metrics without also using Log Analytics (and paying the costs of ingestion and retention).  Is that the case?

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

ID: 904cd110-891f-fd34-3abd-aab316e0042f
Version Independent ID: 9c20689b-6d40-0def-0d1a-204b4b9c3b92
Content: Overview of Container insights in Azure Monitor - Azure Monitor
Content Source: articles/azure-monitor/containers/container-insights-overview.md
Service: azure-monitor
Sub-service: containers
GitHub Login: @bwren
Microsoft Alias: bwren

@timwebster9
Thanks for your feedback! We will investigate and update as appropriate.

@timwebster9, thank you for the feedback. You are correct, the line should have been "Metrics and Log data are sent to your Log Analytics workspace.". If you enable any kind of insights, the target of telemetry collected is always LA workspace.
Without enabling the Azure Monitor Insights (VM insights, Container insights etc.), Azure platform already offers monitoring solutions which can be utilized. For example, for all kind of resources the "Monitoring" resource menu has "Metrics" to review metric information of the resource. These are stored in Azure Monitor Metric DB by default and can also be optionally forwarded to a LA workspace using the Diagnostic Settings.
The insights solution adds additional monitoring on top of what is available by default, with the added capability of curated visualizations experience.
If you are only interested in the metrics without storing them in "Log Analytics workspace", you could also review the offering from "Azure Monitor managed service for Prometheus". They are options to enable it with and without enabling container insights.

@timwebster9, we will now proceed to close this thread as we have not heard back from you. If there are further questions regarding this matter, please tag me in your reply and reopen the issue. We will gladly continue the discussion.


bash: printf: `C': invalid format character error in bash terminal

Type: Bug
I am running VS Code on a Windows host with a WSL (Ubuntu) remote session. I am seeing the error "bash: printf: `C': invalid format character" in bash terminals inside the IDE. I don't get the error every time, but I'm seeing it frequently for various commands and tools. When I get the error, the command also seems to hang until I kill it. I also do not get the error if I go and run the same command in a Windows Terminal bash shell from the same folder and same user inside my WSL environment.
I noticed the error started happening after the July 2022 update. There was a new feature automatically enabled that does some kind of shell integration and decorates command lines with a default/success/error icon. I am suspicious if this is causing the new error. I have not seen the error when having the decorators disabled.
I can include more information, logs, settings, environment, etc. if needed but I am not sure what else is relevant. Below is the information from the generated issue report.
 Simple test case:
$ date +%m
bash: printf: `m': invalid format character
$ $SHELL
$ date +%m
08

Getting a similar issue on Mac with the latest July update.  Glad to know it's not just me.

Yes disabling shell integration will fix this until we have resolved it terminal.integrated.shellIntegration.enabled

/duplicate https://github.com/microsoft/vscode/issues/157226

Getting this error when executing a statement including the following expression date +'%Y%m%d-%H%M'.


Question: LSD / LCP check network timeout: is the user allowed to read the book?

Hello Cyrille, just checking with you (I have not tested this myself yet, and I do not know where to look in the codebase): what happens in case of network timeout / "airplane mode" (wifi off)? As per the LCP specs. the user should be able to read the book even if on the server-side, the LCP license is expired/returned, and even if the initial register LSD interaction fails.

Currently it will work because I have not forced the renew of lcp license each time I click on view button

Closing this answered question.


x/crypto/ssh PublicKeys example is failing with key type ssh-rsa not in PubkeyAcceptedAlgorithms error on sshd

What version of Go are you using (go version)?

$ go version
go version go1.16.6 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/fengye87/.cache/go-build"
GOENV="/home/fengye87/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/fengye87/go/1.16.6/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/fengye87/go/1.16.6"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/fengye87/.goenv/versions/1.16.6"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/fengye87/.goenv/versions/1.16.6/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16.6"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/fengye87/workspace/demo/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build2394764193=/tmp/go-build -gno-record-gcc-switches"

What did you do?

The x/crypto/ssh PublicKeys example is failing. The client side error is ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain. But the key works perfectly with ssh -i command. There's a sshd error message says userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth].
The key I'm using is generated using plain ssh-keygen. Since ssh -i can work, my guess is that pub.Type() may not be a valid value in this case?
What did you expect to see?
The example should work as expected
What did you see instead?
The example is not working

What version of openssh do you have installed?
#46569 #37278

@toothrot
local:
$ rpm -qa | grep openssh
openssh-server-7.4p1-21.el7.x86_64
openssh-clients-7.4p1-21.el7.x86_64
openssh-7.4p1-21.el7.x86_64

remote:
$ rpm -qa | grep openssh
openssh-8.6p1-3.fc34.x86_64
openssh-clients-8.6p1-3.fc34.x86_64
openssh-server-8.6p1-3.fc34.x86_64

After looking at #37278, I believe this is a dup. I'm closing this. Thanks for the help.


Remove quality dashboard from tekton-ci. Quality dashboard is onboarded in RHTAP, so no need this config

/lgtm
/approve


Passing images + Statistical measures about each image

I'm working on a project where I would like to reinforce the robustness of a classification CNN by adding some statistical measures about the images.

@J-Mourad can you elaborate what exactly do you want to be added ?

This issue appears to be stale, so I'm closing it. If you think it should remain open, feel free to reopen it.

This issue appears to be stale, so I'm closing it. If you think it should remain open, feel free to reopen it.


Letter & rune mappings: make static

Consider https://crates.io/crates/phf, seems to be common enough for creating static maps.

Seems there is limitation with macro of phf -> cant be used with enums. Will need to think of this again.


Dockerfile founding error

Description:
I am setting up docker-compose: I provide different Dockerfiles (different directories). When docker-compose up dev start up then it throws me error:
ERROR: Cannot locate specified Dockerfile: Dockerfile
Here is full configs:
https://gist.github.com/zombiQWERTY/5cd9c8d0430fe5cd2fae2a28044ebc2d
Steps to reproduce the issue:

docker-compose up dev with my configs and folder tree

Describe the results you received:
ERROR: Cannot locate specified Dockerfile: Dockerfile
Describe the results you expected:
Normal behaviour
Output of docker version:
Docker version 1.12.1, build 6f9534c

Output of docker info:
docker info
Containers: 20
 Running: 0
 Paused: 0
 Stopped: 20
Images: 159
Server Version: 1.12.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 171
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null bridge host overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.20-moby
Operating System: Alpine Linux v3.4
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 993.1 MiB
Name: moby
ID: PMLU:XKDQ:EJBW:LN5E:LEPU:QSF5:DOW3:DIW3:PCBI:QFSK:VQ6N:TKG6
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 16
 Goroutines: 28
 System Time: 2016-10-23T20:22:56.07710922Z
 EventsListeners: 1
No Proxy: *.local, 169.254/16
Registry: https://index.docker.io/v1/
Insecure Registries:
 <IP_ADDRESS>/8

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

Is Docker/dev/Dockerfile a file or a directory? Perhaps you need to specify Docker/dev instead?
If that doesn't help (haven't tested) can you open this issue in the docker-compose issue tracker? This issue tracker is for Docker, not docker-compose. https://github.com/docker/compose/issues

Sorry for my mistake. And specfying Docker/dev also not working


Cannot replace "Files explorer" to "Files" (Alternative solution in the comment)

Description
I sideloaded the app as indicated in the instruction and then activated the thing to switch to "files". However, when I open a folder on my desktop, it still opens as in "File explorer". Also when I press Windows + E, it still opens "File Explorer"
Steps To Reproduce

Launch the sideload version of the app.
Press the "settings" icon on the top right and navigate to the "experimental" tab.
Toggle "On" the "Default File Manager" option.
Try to open any folder on the desktop and press "Windows + E"

Expected behavior
The "Files" app open.
Files Version
Version: <IP_ADDRESS> OS Version: 10.0.19042.1586
Windows Version
20H2
Relevant Assets/Logs
debug.log

After searching for a bit, I managed to find a way to do it, since the automatic way does not work. This is following the instruction on this exact page: https://files-community.github.io/docs/#/articles/replace-file-explorer
Note that the website automatically redirects you to the new version of the website. However, I managed to screenshot the page before the redirect happens and I followed the instructions.
How to do it:

Open the registry editor
Create a backup of the registry. Make sure to store the backup in your desktop folder so that you can access it in the event that Files won't open.
Navigate to HKEY_CURRENT_USER\SOFTWARE\Classes\Directory.
Create a key named shell and set the default key value to openinfiles.
Create a key named openinfiles under shell.
Create a key named command under openinfiles and set the default key value to: C:\Users\<YOURUSERNAME>\Appdata\Local\Microsoft\WindowsApp\files.exe -Directory %1.

I hope this help. I will still keep the bug open as the automatic function in the app doesn't work but this is an alternative.

The app function does work and should do what you have just listed. It likely windows blocking it in some way. Especially if the unsetasdefault.reg script doesnt work either.

The app function does work and should do what you have just listed. It likely windows blocking it in some way. Especially if the unsetasdefault.reg script doesnt work either.

@Josh-65 Is there any way to check if Windows blocked it ?

I dont think there an "windows has blocked this" message other than what the logs say in files. but it seem a small amount of people carnt use it for no apparent reason as far as i know. in those cases the reg script work for them.

Then I'll gives this link: https://raw.githubusercontent.com/files-community/files-community.github.io/main/data/SetFilesAsDefault.zip
This link is a file that was in the website I mentioned in my first comment. I cannot garantee it'll work since I went the manual way.
I cannot really help more than that. It didn't work for me using the button directly in the app so I searched for an alternative way and found this way that worked so for the technicalities, I'm gonna let you people work on this. If you need any files / logs that could help, I'll do my best.

Did you try the scripts before manualy doing it?

I said it, I went the manual way. But the manual way described worked so I guess this automatic way based on the manual would too, but I cannot say yes or no and I'll not search further than this since my own problem has been resolved.

In that case i will close this and anyone linked to this can still see solutions.


Automatically tweet about pipeline releases

It would be nice if we can make use of the GitHub web hook to detect new pipeline releases and automatically tweet about them. Should be relatively easy if we use https://twitteroauth.com/ (can have https://github.com/abraham/twitteroauth as a git submodule).
Cool features would be:

[x] Usernames and passwords stored in a config file as with the other stuff already
[x] A check to make sure that it's a pipeline (ignore other listed repos)
[x] Fire only on releases and not other events
[x] Skip pre-releases and release candidates
[x] Link to the release page
[ ] Check for existing tweets linking to the same URL??
[x] Add in some information about the pipeline (use description?)
[ ] Link to the main nf-core website
[ ] Have a list of available templates so that it's not the same message every time
[ ] Emoji 😀

Any other ideas..?

What passwords do you want to store in a config file? Just for a nf-core twitter account?

Yup! We already have a setup for this where we save the GitHub hook key so that we know that the we hook payloads are authentic: https://github.com/nf-core/nf-co.re/blob/master/config_example.ini

I see. I just got some internal security alarm bells going off when I read the first point. But I guess the damage would be quite small if those keys would be stolen.

[ ] Post a different groot gif with each release

The tweets work really well now - been running for weeks now, so I think we can close this :-) If @MaxUlysse is eager, find a random groot gif generator and add it in a different issue ;-)


Can you provide more details on how to override configuration

Can  you provide details on how to override configuration?  At the bottom of the readme it says the config can be changed by setting the environment variable  path.conf=/path/to/my/config/.
Am I setting this in the kubernetes yaml like this:
spec:    containers:      env:        - name: path.conf           value: /path/to/my/config'
And how to I map the value from the container to some file on the VM?

you cannot map single value, you need map whole configuration file. How you can mount some file from the VM inside container: https://kubernetes.io/docs/concepts/storage/volumes/#hostpath

Thank you @zetaab!

Sorry for bumping a closed issue, but does this path.conf work in Kubernetes via the env array?
There is an old issue on kubernetes which states that you cannot use env variables with dots in them: https://github.com/kubernetes/kubernetes/issues/2707#issuecomment-310650995
And it does seem so when I try with e.g. path.repovariable :
The Deployment "es-master" is invalid: spec.template.spec.containers[0].env[9].name:
Invalid  value: "path.repo": a valid C identifier must start with alphabetic character
or '_', followed by a string of alphanumeric characters or '_' (e.g. 'my_name',
 or 'MY_NAME',  or 'MyName', regex used for validation is '[A-Za-z_][A-Za-z0-9_]*')

So what people are doing is passing those params with -E straight into elasticsearch:
    command: ["bin/elasticsearch"]
    args: ["-Ehttp.host=<IP_ADDRESS>", "-Etransport.host=<IP_ADDRESS>"]

If I understand correctly, this is not an option for an image that is used in this repo, since' it usess a wrapper run.shscript. So the only option(?) would be to mount configmap as volume under `/elasticsearch/config``
Or am I missing something?


fix(host-deployer): detect UEFI supported not correct

What this PR does / why we need it:

[x] Smoke testing completed

Does this PR need to be backport to the previous release branch?:

release/3.7
release/3.6

/area host
/cc @swordqiu

/lgtm

/approve


Simplify Function Pointer Manipulations

There are a number of places within the CFS Projects where the usage of Function Pointers is somewhat obfuscated by the inclusion of redundant operators. Removing those operators can improve the clarity of the code.
The redundancies are based on code that, when written, did not properly base itself on the following aspects of Function Pointers in the C programming language.

Function names decay into Function Pointers in the same way
that Array names decay into pointers to their first elements,
which means that an & operator is redundant when setting a
pointer to point at a function. For the classical example of
this, see most qsort examples, where no & is applied to
the comparison function when passing it as the last argument,
which has type ''pointer to function...''

The function call operator (''args'') operates on a
function pointer -- so every function call you see actually
is invoking the above decay semantics. This means that
the * operator is ''not'' needed when calling a function
via a function pointer. Happily, this also often means that
you also do not need an extra level (or two?!) of parentheses
to asure that the * is applied to the function pointer and
not to the return value.

Calling a function pointed to by a structure member is a
very common operation, and with the above in mind, note that
there is no parsing or evaluation order ambiguity; no extra
parentheses are required to assure that . and -> and the
function call operator are evaluated in the proper order.

My task -- embodied in this ticket -- is to seek out cases in
the CFE source code where redundant operations are applied
to function pointers (at assignment sites ''and'' at call sites),
and provide recommended changes to improve clarity.
Specific examples will accumulate in the Comments below.
Ticket to be closed when my scan of the project is complete,
and all call sites have been resolved (whether the resolution
is to improve them now, file a ticket for later improvement,
or where we will be leaving the code unchanged).
''(This also makes the code robust against the rare but troublesome
case where an external function changed from a function to
a function pointer ... we may never do this, but it is always
good to foster good code hygene.)''

Imported from trac issue 112.  Created by glimes on 2015-09-09T12:21:56, last modified: 2019-04-01T16:47:08

https://github.com/nasa/cFE/blob/e80aae94e0f56b868657daba965c590766a4dc57/modules/es/fsw/src/cfe_es_apps.c#L942
Possibly use static analysis to identify all function pointer use and scrub.  Noticed again in CFE-40 code review.


[Request] Make it possible to flip the arrows when opening the drop-down menu.

If you use onTap, you can't flip the arrow when you select something other than a menu item.

You can use iconOnClick now to show different icon when menu open.


Install fails: SyntaxError: multiple exception types must be parenthesized

$ pip3 install constraint
Defaulting to user installation because normal site-packages is not writeable
Collecting constraint
  Using cached constraint-0.4.1.tar.gz (48 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [7 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-2gbf7hwm/constraint_ab982014344c4272a250612514a9e3ce/setup.py", line 143
          except OSError, ex:
                 ^^^^^^^^^^^
      SyntaxError: multiple exception types must be parenthesized
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Using Ubuntu 22.04.02 LTS
and python 3.10.

Ah, problem solved, the package name is python-constraint.


Document error display label

Plugin name
azure-webapp-maven-plugin
Expected behavior
The Required of  is false and the default value is west_europe in Description.
Actual behavior
The Required of  is true and the default value is westus in Description.

Steps to reproduce the problem
https://github.com/microsoft/azure-maven-plugins/blob/master/azure-webapp-maven-plugin/README.md#azure-webappdeploy

@Flanker32 Please take a look at this issue.

FIxed in #841


Develop

Coverage increased (+0.3%) to 84.392% when pulling 8988a99cd9ee66dbfc582d5e8e1e714f8d6633e0 on develop into 103c0910f074535d748b0d0420a0c8a217c74a16 on qa.


The serialisation of soc to SoC should not occur in camel case if it is existing at the beginning of a field

Just checking there is an example here - https://github.com/mobilityhouse/ocpp/issues/523 ?


Feat/icon ts conversion

feat typescript

Problem
CI keeps failing in the same manner and I have not been able to reproduce locally even when setting
Things done to make this pass

Setting Icon version number to 18.2.3 ( Worked until recent changes on master)
Setting Icon version number to 19.0.0 ( Worked until recent changes on master)

Things attempted to make this work

yarn config set workspaces-experimental true
removing generated icons in packages/icon/src/react/icons before running build
Changing static from being pulled from base Icon to directly pulling them from packages/icon/src/vars/
Giving each generate Icon uniquely named interfaces
using the same prop interface for all generated Icons
running yarn workspace @pluralsight/ps-design-system-icon run build before build
setting strict mode to true


cilium: improve host-port generated service names

See commit msg.
Closes: #11324

test-me-please

test-me-please

Coverage decreased (-0.02%) to 37.866% when pulling 9033d27b4854551376305ed27f1df1ad01440d83 on pr/fix-host-port-naming into fb8481a2e9e0f006dde144f64b196addc5fe8529 on master.

restart-ginkgo


Can't install backend npm

Os ubuntu 16.04
node 10.9.0
docker 18.06.1-ce, build e68fc7a
yarn 1.9.4
docker-compose  1.22.0, build f46880fe
When I run the yarn installer I get error like this:

/home/bachu/vue_fun/vue-storefront/var/log/install.log

/home/bachu/.npm/_logs/2018-09-01T14_08_11_767Z-debug.log

What I am doing wrong?

Did you find any solution to this?

Any idea for the above issue???

any solutions for this?

any update on this?

facing the same problem.


ARROW-10388: [Java] Fix Spark integration build failure

Please see https://issues.apache.org/jira/browse/ARROW-10388

@github-actions crossbow submit -spark-

The first test (test-conda-python-3.7-spark-branch-3.0) failed because of lacking a library on the class path:
Caused by: java.lang.RuntimeException: No DefaultAllocationManager found on classpath. Can't allocate Arrow buffers. Please consider adding arrow-memory-netty or arrow-memory-unsafe as a dependency.

@liyafan82 I applied a small cleanup patch.  If this looks good and CI is green we should go ahead and merge this and open up a separate JIRA for the allocator issue.

@liyafan82 I applied a small cleanup patch. If this looks good and CI is green we should go ahead and merge this and open up a separate JIRA for the allocator issue.

@emkornfield Sounds reasonable. Thanks.

Merging this, as something is wrong with continuous-integration/travis-ci/pr

I have opened https://issues.apache.org/jira/browse/SPARK-33279 to track the build failure on spark-3.0 branch.


V11 Issue

When used in v11, it prevents placed tiles from being editted. (can select by drawing square around, but not by double-clicking) HUD doesn't come up with right-click, etc

v11 isn't yet supported. See #10


Group dependencies for user-facing pip installation

Summary
Group dependencies into create, plot, vector-search to reduce dependencies needed for default base pip installation. Also, remove the encoding config option for pyspark_ai initialization and use cl100k_base by default.
Per https://python-poetry.org/docs/pyproject/#extras
Testing
Tested locally with virtual environments

@asl3 Thanks for the works! we need to update installation_and_setup.md & README.md as well.

LGTM except we should mention more about plotting in docs


The data issue of the Acceptance rate Average

Dear Team.
We have found issues with the data.
You can see the screenshot, The acceptance rate average is 33.65%, In the line chart below, the acceptance rate in the past 28 days has not exceeded 30%.

@DevOps-zhuang - do you know what may cause this?

Hey @nickhou1983
the average is calculated using:
acceptanceRateAverage.value = cumulativeNumberAcceptances.value / cumulativeNumberSuggestions.value * 100;

where

cumulativeNumberAcceptances is a sum of all total_acceptances_count - "The total number of Copilot code completion suggestions accepted by users."
cumulativeNumberSuggestions is a sum of all total_suggestions_count - "The total number of Copilot code completion suggestions shown to users."

which in your case is: 92254/274183*100 = 33.65
Acceptance chart however is calculated by:
const rate = m.total_lines_suggested !== 0 ? (m.total_lines_accepted / m.total_lines_suggested) * 100 : 0;

where:

total_lines_accepted - "The total number of lines of code completions accepted by users."
total_lines_suggested - "The total number of lines of code completions suggested by Copilot."

based on https://docs.github.com/en/enterprise-cloud@latest/rest/copilot/copilot-usage?apiVersion=2022-11-28
I think we should add ℹ which explains each of the metrics displayed.

I am also encountering an issue with the Abnormal Data:
Total Lines Accepted vs. Total Acceptances Count: It is illogical that the total lines accepted are fewer than the total acceptances count. However, what I actually observe is that the total lines accepted are always 0, and in some cases, they are less than the total acceptances count.
Example JSON:
JSON
{
"day": "2024-09-25",
"total_suggestions_count": 6,
"total_acceptances_count": 3,
"total_lines_suggested": 19,
"total_lines_accepted": 0,
"total_active_users": 2,
"total_chat_acceptances": 0,
"total_chat_turns": 0,
"total_active_chat_users": 0,
"breakdown": [
{
"language": "c#",
"editor": "visual_studio",
"suggestions_count": 6,
"acceptances_count": 3,
"lines_suggested": 19,
"lines_accepted": 0,
"active_users": 2
}
]
}
does anyone know what is the potential cause for the above issue?

I'll try to get this info, however this might get better chances of accepting in the GH product forums.

I think "Acceptance Rate Average" is mislabeled. It's not the average of daily acceptance rates, it's the Acceptance Rate over the 28 day period. Therefore, labeling it "Acceptance Rate" is sufficiently accurate/clear (with the existing subtitle "Over the last 28 days"

@gpaul-idexx would this help?

@karpikpl Personally, I think the content of the first graph should be changed to be based on acceptances, not lines (and leave the label of the chart as is). This gives the user an understanding of the relevant impact of copilot. The 2nd chart which is currently labeled Total Suggestions Count | Total Acceptances Count (whose content should stay the same IMO) would give the user understanding of the absolute impact.
The 3rd chart gives you absolutes about lines.
IMO the content of the current first chart is not that interesting (% of lines accepted). I think number of lines stats make more sense in absolute numbers of lines, rather than ratios. I'm not sure what the rate of lines accepted means to me - that seems more like a way for Github folks to measure Copilot, and less of a way for me to measure the value I get from Copilot.
So, my suggestion is to change the label at the source of this ticket from "Acceptance Rate Average" -> "Acceptance Rate", and to change the content of the Acceptance Rate graph to be based on total_acceptances_count / total_suggestions_count instead of total_lines_accepted / total_lines_suggested

@DevOps-zhuang what do you think about including this in your PR?

@DevOps-zhuang what do you think about including this in your PR?

I will look into it, and it seems some issue are already fixed in my PR, plese check my latest test website by visiting https://copilot-viewer.azurewebsites.net/
and, there is another hidden bug, which introduces unexisting editor/language, I am still struggling with it, not sure it is data issue/logic issues.


unified logging pattern & facilities

Currently salt/log package tries to abstract Logrus and Zap into a common formatted-logger interface (i.e., Infof(msg string, args ...any), etc. ). While logrus is designed as a formatted-logger, uber/zap is specifically designed for efficient structured logging and this kind of abstraction nullifies the major benefit of it.
I propose we remove this abstraction altogether[^1] and assume direct usage of zap within salt and in ODPF applications that use salt. Benefits of doing this:

All the benefits of structured logging (easy to parse logs, easy to search/filter by field values, easy to attach request context with each log, etc.)
Not giving an abstracted formatted-logger will force us to always stick to structured logging.
Assuming zap as the logger of choice allows us to provide certain useful utility abstractions. Few examples:
* A request-logging middleware in mux package that automatically logs request info (method, path, client-ip, etc.) and response info (status, response time, etc.)
* A middleware for injecting request related context (req-id, current user id, the route info, etc.) into req.Context() so that every log in all the subsequent layers automatically add this to every log entry.

[^1]: We can still have some utility functions if we need to (e.g., a helper to inject log context into ctx). But attempting to abstract over logging functionality will not have justifiable benefits.

+1, we can just have helpers over uber/zap


check that auto-scaling based on cpu needs a default cpu requests

Is this a BUG REPORT or FEATURE REQUEST?:
What happened:
autoscaling based on cpu does not work allegedly because there is no default cpu request in the function object
heapster does not collect metrics
What you expected to happen:
metrics to be collected, hpa to work
How to reproduce it (as minimally and precisely as possible):
check https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/
Anything else we need to know?:
Environment:

Kubernetes version (use kubectl version):

1.8

Kubeless version (use kubeless version):
Cloud provider or physical cluster:

AWS using kube-aws

Can confirm that CPU-based autoscaling does not work without some manual changes. HPA requires CPU limits set on pods to start collecting metrics, and there is no option to do that with kubeless. You can set memory limits though, with the --memory option in function deploy.
Before:
➜  /tmp kubectl get hpa --all-namespaces
NAME         REFERENCE               TARGETS           MINPODS   MAXPODS   REPLICAS   AGE
get-python   Deployment/get-python   <unknown> / 10%   3         10        0          9s

After:
➜  /tmp kubectl get hpa --namespace=kubeless
NAME         REFERENCE               TARGETS    MINPODS   MAXPODS   REPLICAS   AGE
get-python   Deployment/get-python   0% / 20%   5         5         5          16m

Please note the change <unknown> -> 0%.
Do manually change this, you need to edit the deployment kubectl edit deployment get-python
And change
    Limits:
      memory:  200M
    Requests:
      memory:  200M

To
    Limits:
      cpu: 200m
      memory:  200M
    Requests:
      cpu: 20m
      memory:  200M

(The above limit section may not exist if you do not deploy your function with --memory)
Once you've changed this, kill all existing pods and they should respawn with the new CPU limits.

Follow up the quick discussion on slack, I suggest we go this way:

introduce --cpu flag in the CLI to configure the cpu limit for function. There is no default setting if user doesn't want to use it.
update autoscaling document with a section of "how to configure autoscaling for cpu-based function"
update autoscale create to check the existence of cpu limit of function if user specifies --metric cpu. If it doesn't exist, print out a warning and link to the document.

I'd recommend failing, rather than just printing a warning. It's quite possible somebody will call autoscale create, then check autoscale list to see if it was created, if you only warn then it will be in the list and they might presume that it will work.

@SomeoneWeird sure. That's what I meant. Not just warning :-)

so i tried to deploy a function with no --cpu flag in which case deployment got created with 0 as CPU limit:
        resources:
          limits:
            cpu: "0"
            memory: 50M
          requests:
            cpu: "0"
            memory: 50M

then ran kubeless autoscale create get-python --max 4 --min 1 --value 50 to create HPA
I tried explicitly setting the CPU limit with --cpu flag as below
kubeless function deploy get-python --cpu 20m --memory 50M --runtime python2.7 --handler helloget.foo --from-file python/helloget.py

in which case deployment limits looks like
        resources:
          limits:
            cpu: 20m
            memory: 50M
          requests:
            cpu: 20m
            memory: 50M

In both the cases there is a default value now. I am going to try with heapster if it works now, or figure what code changes are required.

Only in case when function is deployed with no explicit --cpu and --memory specified for the kubeless function deploy, deployment has no limits set. In which case autoscaling will not work as mentioned in the bug.


Adopting NSIS to build installation package

With help of NSIS you can easy to configure and build installation package for this on Windows, and the program would be easy to uninstall at Control Panel. The package could gain options to let user choose to install either into Program Files folder or as portable mode, also allows user to add file assosiations.

Right now we could produce NSIS generated installer by using the KDE Craft build script, but right now it couldn't do file associations. I'm planning to improve packaging but doesn't have time to work on that right now :)

So first of all, you can add file association in Pineapple, which should be call by command parameters. Then you can add some options in installation interface to call them.

you can add file association in Pineapple, which should be call by command parameters.

Although I can do that, it's not what I'd like to do. Pineapple Pictures is designed to be just an image viewer and nothing beyond that. File association management should be the installer's or package manager's job instead of the main program. Doing such a thing in the installer or a separated program (XnView MP comes with an Associate files with XnViewMP.exe) is okay for me.
Pineapple Pictures is a cross-platform application that also works under Linux/x11 (I use it under KDE), Generally I'd avoid doing platform-specific jobs that are not related to the main purpose of the program in the implementation.
There might be a separate standalone program to help manage file association for Pineapple Pictures, but anyway, for file-association-related issues, we'll track this request in #13.


Fixing typo in setup_package files and adding missing content types

This PR should fix the file not found errors you're getting from the CIs. Let me know if you would rather prefer if I push directly to your branch changes like these.
xref to the astroquery PR: https://github.com/astropy/astroquery/pull/836

@bsipocz Thanks for your fix. Please, feel free to push changes in our branch.
We have to admit that we are quite new working with git, as our primary working tool is svn. So, please, do not hesitate to guide us in these git workflows. Thanks!

@jcsegovia - Sure. If you run into specific question, feel free to ping me and we can chat about it on e.g. gitter (for some weird reason I don't get the notifications from there, so the ping has to be here on GH).


Add Accessibility Label to PhoneInput

I needed to optionally pass through a custom accessibility label to this input, and so extended this component to allow that, while at the same time giving it something useful even if nothing gets passed

Thanks @rililive, and apologies for not updating the Readme, totally forgot last minute


Missing json

Missing json file

not sure what you mean. You need to create a JSON file.

what do i need to put in the json file?

its in the discord in #usage.

omfg om stupep thanks man

Can possibly be closed?


New Duolingo Stories feature added for French makes it HANG

Hello,
For learning French from English, the stories have a new feature.
This new feature appears only after the 40-50th story.
At the 'end' of a story, you get a question if you want to try to write a summary for extra 10xp.
This new feature makes the bot hang/stop.
Should be easy to fix this, when this question arise, just press Skip Exercise.
I can make a PR if you want me to.

Hey there. If you could make a pr I'd appreciate it ;)

I dont think i have run into this, i have set 48 unlocked and i pretty sure my bot never hang. I'll test tonight.

So i leave the bot overnight to test this, hanged in this storie.
Pretty sure its waht you suspected, will apear in the last one, tonight i may be able to fix this.

I think the best strategy here is check for this element then if finded hit the SKIP EXERCISE  button


Not able to login as github user(member) after an upgrade from v1.0.1 to v1.1.0-dev5-rc2

Rancher Version:: v1.1.0-dev5-rc2
**OS and where are the hosts located? (cloud, bare metal, etc):**Ubuntu, Cloud
Environment Type: (Cattle/Kubernetes/Swarm/Mesos): Cattle
Steps to Reproduce:

Create a cattle environment with version 1.0.1
Enable github user as the owner.
Create another environment and give access to user1. Login as user1 in another browser into the new environment.

Upgrade to v1.1.0-dev5-rc2
Results
After upgrade we cannot access rancher with user1 credentials

This was an expected behavior with v1.1.0-dev5-rc2
But since we would have landed in exactly cases like these, the functionality of "required" access Vs "restricted" access was added with following fix:
https://github.com/rancher/rancher/issues/5166
We need to test this scenario again with "rc3".

Tested with upgrade from v1.1.0-dev4 to v1.1.0-dev5-rc3. Able to login as a github user(member).
[Note: The upgrade from v1.0.1 to v1.1.0-dev5 may not be done by users]


Fix typo: respository->repository

Can you please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "respository_typo" git@github.com:liggitt/distribution.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

This will update the existing PR, so DO NOT open a new one.

@liggitt great catch.
LGTM!

LGTM

LGTM!
How did we not notice this...


Dynamic Clients?

I see that there's support for multiple Clients, which is fantastic!
Is there a way to populate the secondary Clients dynamically? In my app, I have a central GraphQL server that has knowledge of other GraphQL servers. So I would like to do a fetch to that initial server to ask for the additional servers that the current user can access, and populate the secondary Clients with the response. Is that possible and if so, any tips on implementing?

This is totally possible. Quick example:
async function main () {
  const result = await fetch('http://...')
  const clientsConfig = await result.json()
  const clients = {}
  for (const config of clientsConfig.clients) {
    clients[config.name] = // create the client
  }
  const defaultClient = clients[clientsConfig.defaultClient]

  const apolloProvider = new VueApollo({
    defaultClient,
    clients,
  })

  // ...
}

main()


Add environment variable options to Spacewalk

Can we add the parameters that spacewalk uses as environment variables as well? So the way it would work that spacewalk would take the environment variables instead of the command line parameters if there is nothing defined in the command line.

@pendulum-chain/product this change makes running a vault client easier and more secure in cloud infrastructure.

Hey team! Please add your planning poker estimate with Zenhub @b-yap @ebma @gianfra-t @TorstenStueber

Apparently there is an env flag in clap so we can just add another macro to the config parameters, like here.

@ebma @prayagd can we move this to Ready or Icebox?

Since I expect this to be a quick one, I'd say we move it to 'ready' and not 'icebox'

@ebma alright. I moved it to the bottom of Ready. Feel free to move up and give higher priority.

@annatekl why has this been moved to Icebox in contradiction to the messages above?

misread, moved back to ready

@ebma does this require runtime upgrade or root transaction?

No it does not.


Passwords in config file are not being encrypted

The passwords in my app.config.json file remain in plain text format after FileSync is run. The command window displays the 'Configuration: credentials encoded.' but this doesn't seem to be happening.

I remember you mentioning this a while back and I tested it out but found no issue. Today I tested it with the default app.config.json file in the filesync dir and I could replicate the issue.
Will investigate.

This only happens when NOT running filesync via the command line (eg filesync.command). This is why I missed it because I'm often specifying a "--config" path via the command line. In my case the file was actually still written out but 1 directory up. So it's a relative path issue.

Good stuff mate. I thought it would be an easy fix.


Reproduce WN18RR results

I am trying to reproduce the results of WN18RR.
I obtain much lower results despite using the predefined configs.
INFO:root:Hits@1:  0.3500
07/26/2018 02:40:17 PM: [ Hits@1:  0.3500 ]
INFO:root:Hits@3:  0.4346
07/26/2018 02:40:17 PM: [ Hits@3:  0.4346 ]
In the paper Hits@1 is 0.413 and Hits@3 0.456
Moreover, in a new paper they are claiming a sota result compared to these lower results which makes this very confusing...
https://arxiv.org/pdf/1802.04394.pdf

Wow this is really confusing, I toyed around with some hyperparas and now I get sota results...
INFO:root:Hits@1:  0.4355
07/26/2018 03:39:47 PM: [ Hits@1:  0.4355 ]
INFO:root:Hits@3:  0.4789
07/26/2018 03:39:47 PM: [ Hits@3:  0.4789 ]
INFO:root:Hits@5:  0.4984
07/26/2018 03:39:47 PM: [ Hits@5:  0.4984 ]
INFO:root:Hits@10:  0.5351
07/26/2018 03:39:47 PM: [ Hits@10:  0.5351 ]

Sorry for the delayed reply. I had not updated the latest hyperparameters to the code. Maybe that's why the initial results were suboptimal. I'll find the correct hyperparameters and update the code.
Thanks for pointing this out!

Hi thanks!
Could you please also comment on the paper I am referencing?
They claim superior performance over your solution but a referencing the numbers of your default configs...

Can you give me the hyperparameters you ran the code with?

Can you give me the hyperparameters you ran the code with?

I have sent you an e-mail with the full config.
However, I would like to know the hyperparas that gave you the results mentioned in the paper.

WN18RR config corrected. Results now reproducing.


SLL needs to start with '99'

In the refactor, the check for initial 99 for SLL was accidentally dropped.
This should be remedied by this fix.

Would be great to add a test for this case as well @johanfrank !


Fix rpc_fundrawtransaction functional test case

Description
This pull request fixes rpc_fundrawtransaction.py functional test case.
Notes
Integrated from Bitcoin core.
$ test/functional/test_runner.py test/functional/rpc_fundrawtransaction.py
Temporary test directory at /tmp/test_runner_20221213_141307
WARNING! The following scripts are not being run: ['wallet_bumpfee_totalfee_deprecation.py', 'rpc_estimatefee.py']. Check the test lists in test_runner.py.
Running Unit Tests for Test Framework Modules
..........
----------------------------------------------------------------------
Ran 10 tests in 0.528s

OK
Remaining jobs: [rpc_fundrawtransaction.py --legacy-wallet, rpc_fundrawtransaction.py --descriptors]
1/2 - rpc_fundrawtransaction.py --descriptors passed, Duration: 17 s
Remaining jobs: [rpc_fundrawtransaction.py --legacy-wallet]
2/2 - rpc_fundrawtransaction.py --legacy-wallet passed, Duration: 80 s

TEST                                      | STATUS    | DURATION

rpc_fundrawtransaction.py --descriptors   | ✓ Passed  | 17 s
rpc_fundrawtransaction.py --legacy-wallet | ✓ Passed  | 80 s

ALL                                       | ✓ Passed  | 97 s (accumulated)
Runtime: 80 s

I see the test cases passes alone but is shaky and failing when running with other tests e.g.
TEST                                      | STATUS    | DURATION

rpc_createmultisig.py                     | ✓ Passed  | 7 s
rpc_fundrawtransaction.py --legacy-wallet | ✓ Passed  | 79 s
rpc_fundrawtransaction.py --descriptors   | ✖ Failed  | 4 s

ALL                                       | ✖ Failed  | 90 s (accumulated)
Runtime: 79 s

still need to analyse this..

It gets interesting - the rpc_fundrawtransaction test is failing in random tests (even with running just test/functional/rpc_fundrawtransaction.py --descriptors) but after adding additional logs it always fails with the same wrong feeDelta value (sometimes 0.00000011 or -0.00000011). To be continued..
Case 1
2022-12-14T09:49:42.482000Z TestFramework (INFO): Test fundrawtxn p2pkh fee
2022-12-14T09:49:42.521000Z TestFramework (INFO): 0.00000142
2022-12-14T09:49:42.521000Z TestFramework (INFO): 0.00000142
2022-12-14T09:49:42.521000Z TestFramework (INFO): feeDelta 0.00000000
2022-12-14T09:49:42.521000Z TestFramework (INFO): fee_tolerance 0.00000002
2022-12-14T09:49:43.523000Z TestFramework (INFO): Test fundrawtxn p2pkh fee with multiple outputs
2022-12-14T09:49:43.573000Z TestFramework (INFO): 0.00000297
2022-12-14T09:49:43.573000Z TestFramework (INFO): 0.00000297
2022-12-14T09:49:43.574000Z TestFramework (INFO): feeDelta 0.00000000
2022-12-14T09:49:43.574000Z TestFramework (INFO): fee_tolerance 0.00000002
2022-12-14T09:49:44.627000Z TestFramework (INFO): 0.00000131
2022-12-14T09:49:44.627000Z TestFramework (INFO): 0.00000131
2022-12-14T09:49:44.627000Z TestFramework (INFO): feeDelta 0.00000000
2022-12-14T09:49:44.627000Z TestFramework (INFO): fee_tolerance 0.00000002
2022-12-14T09:49:45.631000Z TestFramework (INFO): Test fundrawtxn fee with 4-of-5 addresses
2022-12-14T09:49:45.681000Z TestFramework (INFO): 0.00000142
2022-12-14T09:49:45.682000Z TestFramework (INFO): 0.00000131
2022-12-14T09:49:45.682000Z TestFramework (INFO): feeDelta 0.00000011
2022-12-14T09:49:45.682000Z TestFramework (INFO): fee_tolerance 0.00000002
2022-12-14T09:49:45.682000Z TestFramework (ERROR): Assertion failed

Case 2
2022-12-14T09:50:16.965000Z TestFramework (INFO): Test fundrawtxn p2pkh fee with multiple outputs
2022-12-14T09:50:17.016000Z TestFramework (INFO): 0.00000297
2022-12-14T09:50:17.017000Z TestFramework (INFO): 0.00000308
2022-12-14T09:50:17.017000Z TestFramework (INFO): feeDelta -0.00000011
2022-12-14T09:50:17.017000Z TestFramework (INFO): fee_tolerance 0.00000002

Case 3
2022-12-14T09:50:34.900000Z TestFramework (INFO): Test fundrawtxn p2pkh fee with multiple outputs
2022-12-14T09:50:34.939000Z TestFramework (INFO): 0.00000297
2022-12-14T09:50:34.939000Z TestFramework (INFO): 0.00000297
2022-12-14T09:50:34.939000Z TestFramework (INFO): feeDelta 0.00000000
2022-12-14T09:50:34.939000Z TestFramework (INFO): fee_tolerance 0.00000002
2022-12-14T09:50:35.982000Z TestFramework (INFO): 0.00000131
2022-12-14T09:50:35.982000Z TestFramework (INFO): 0.00000142
2022-12-14T09:50:35.982000Z TestFramework (INFO): feeDelta -0.00000011
2022-12-14T09:50:35.982000Z TestFramework (INFO): fee_tolerance 0.00000002

Case 4
2022-12-14T09:50:59.478000Z TestFramework (INFO): Test fundrawtxn p2pkh fee
2022-12-14T09:50:59.504000Z TestFramework (INFO): 0.00000153
2022-12-14T09:50:59.504000Z TestFramework (INFO): 0.00000142
2022-12-14T09:50:59.504000Z TestFramework (INFO): feeDelta 0.00000011
2022-12-14T09:50:59.504000Z TestFramework (INFO): fee_tolerance 0.00000002

Case 5
2022-12-14T09:51:23.057000Z TestFramework (INFO): Test fundrawtxn p2pkh fee with multiple outputs
2022-12-14T09:51:23.103000Z TestFramework (INFO): 0.00000297
2022-12-14T09:51:23.103000Z TestFramework (INFO): 0.00000308
2022-12-14T09:51:23.103000Z TestFramework (INFO): feeDelta -0.00000011
2022-12-14T09:51:23.103000Z TestFramework (INFO): fee_tolerance 0.00000002
2022-12-14T09:51:23.103000Z TestFramework (ERROR): Assertion failed

Fixed by reordering the fee tests to the front. The tests them-self should depend on each other but in this case they do. With the fix 10/10 PASS rate.


Support for Claude models hosted at AWS Bedrock in API channels

例行检查

[x] 我已确认目前没有类似 issue
[x] 我已确认我已升级到最新版本
[x] 我已完整查看过项目 README，已确定现有版本无法满足需求
[x] 我理解并愿意跟进此 issue，协助测试和提供反馈
[x] 我理解并认可上述内容，并理解项目维护者精力有限，不遵循规则的 issue 可能会被无视或直接关闭

功能描述
Provide access to the models hosted at AWS Bedrock using IAM profiles and keys. Since Anthropic doesn't give out many Claude API keys, this is a viable alternative to people wanting Claude.
具体使用的是 LiteLLM 的 OpenAI Proxy Server，参考链接：

LiteLLM - OpenAI Proxy Server
LiteLLM - Supported Models & Providers, Mistral AI API

需求+1

需求+1

Definitely should support this, but I need a key for testing purpose.

Definitely should support this, but I need a key for testing purpose.

我可以提供，但如何联系你呢？

需求+1,现在AWS bedrock 有claude3,使用非常方便,希望可以添加这个功能
Requirement +1, now AWS bedrock has claude3, which is very easy to use. Hope this feature can be added.

Definitely should support this, but I need a key for testing purpose.

Are you working on it? I got key and I'd be glad to dive in

需求+1，AWS的bedrock
功能可以参考llm，https://docs.litellm.ai/docs/providers/bedrock

需求+1，目前开发进度如何，有开发分支吗？我可以协助一起开发

+1

需求+1

需求+1


Is there any library whith wich i can animate a svg with pan/zoom

I have a svg on which i used pan/zoom, and now i tried to make some elements of the svg follow certain paths (i used d3.js in this case, but i used the native , too). Now what happens is that the animated objects either do not respond to zooming (they stay big), or they do not follow the path, they move where the path would normally have been... For illustration I added this screenshot, where I used d3.js for animation (note that the car should be on that little test road, as big as the other cars in the picture):

It does however follow the path and move...
Now my question is if there is any method (to make a svg element follow a given path), that I can use together with svg-pan-zoom, without running into issues.

Please ask your questions that are not directly related to the library on StackOverflow.
If you still think that this is a library issue then please provide a reproducible example


Google API 403

If I leave my app open in a browser for a long period of time (not sure what the exact length of time to trigger is, happens when it was left up overnight), Google's API starts returning 403s for all requests.  There doesn't seem to be a programmatic way to fix this, and worse, no way to detect it except looking at the error console.  All I can do is refresh (which is fine for me, but not so fine for users out in the wild).  Has this been encountered before?  Is there a way to catch these 403s and maybe re-run GoogleMaps.load?

Hey @ryanfields that's a weird one, I've not encountered it myself. No luck googling the issue?

@ryanfields feel free to reopen if this is still an issue, though it seems unlikely it's a direct issue with this package


Selectively enable page scrolling in the gallery animation demo

Only enable page scrolling when the animation demo has been scrolled up to its "row" layout.
Render the selection indicators correctly in "column" layout - only the selected section indicator should be highlighted.
Fixed a ScrollPhysics problem: the applyTo() method implementation[s] didn't work correctly when the ScrollPhysics had a non-null parent.
Fixes #9603

Is there some way we can factor out the parent?.applyTo(ancestor) ?? ancestor incantation?
Also, is there some way we can explicitly check that all the Physics classes we have invented handle being applied to a chain and handle being applied as part of a chain (at the top, middle, and end of the chain)? Because that would be a really valuable test to have...

I've factored parent?.applyTo(ancestor) ?? ancestor into a protected method and added  tests for the ScrollPhysics subcasses.


Windows installation

Are there any way to install XDE on windows 10 without admin rights?
Or maybe smbody have ZIP archive with last XDE version?

Hi! Sorry for the late reply, we don't check this repo for issues. As the issue template suggests, this is not the right place to post issues.

We're looking to keep questions on our forums and bug reports on our main Expo repo -- please choose whichever you feel is more appropriate for your issue:

Post in our community forums (log in with your Expo developer account): https://forums.expo.io/c/help
File a bug on the Expo repo: https://github.com/expo/expo/issues/new
Request a feature on Canny: https://expo.canny.io/feature-requests

Thanks for reporting the issue you found with XDE!


Failed to build on macOS 14 arm64

❯ npm install node-magickwand
npm ERR! code 1
npm ERR! path /Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand
npm ERR! command failed
npm ERR! command sh -c node-pre-gyp install --fallback-to-build && node scripts/gen-es6.js lib/index.mjs
npm ERR! Failed to execute<EMAIL_ADDRESS><EMAIL_ADDRESS>configure --fallback-to-build --module=/Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand/lib/binding/darwin-arm64/node-magickwand.node --module_name=node-magickwand --module_path=/Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand/lib/binding/darwin-arm64 --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1)
npm ERR! node-pre-gyp info it worked if it ends with ok
npm ERR! node-pre-gyp info using<EMAIL_ADDRESS>npm ERR! node-pre-gyp info using<EMAIL_ADDRESS>| darwin | arm64
npm ERR! node-pre-gyp info check checked for "/Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand/lib/binding/darwin-arm64/node-magickwand.node" (not found)
npm ERR! node-pre-gyp http GET https://github.com/mmomtchev/node-magickwand/releases/download/v0.9.7/darwin-arm64.tar.gz
npm ERR! node-pre-gyp ERR! install response status 404 Not Found on https://github.com/mmomtchev/node-magickwand/releases/download/v0.9.7/darwin-arm64.tar.gz
npm ERR! node-pre-gyp WARN Pre-built binaries not installable for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v108 ABI, unknown) (falling back to source compile with node-gyp)
npm ERR! node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/mmomtchev/node-magickwand/releases/download/v0.9.7/darwin-arm64.tar.gz
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using<EMAIL_ADDRESS>npm ERR! gyp info using<EMAIL_ADDRESS>| darwin | arm64
npm ERR! gyp info ok
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using<EMAIL_ADDRESS>npm ERR! gyp info using<EMAIL_ADDRESS>| darwin | arm64
npm ERR! gyp info find Python using Python version 3.11.6 found at<EMAIL_ADDRESS>npm ERR! gyp info spawn<EMAIL_ADDRESS>npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args<EMAIL_ADDRESS>npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args<EMAIL_ADDRESS>npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/jackmatthews/Library/Caches/node-gyp/18.17.1/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/Users/jackmatthews/Library/Caches/node-gyp/18.17.1',
npm ERR! gyp info spawn args<EMAIL_ADDRESS>npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/jackmatthews/Library/Caches/node-gyp/18.17.1/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! WARNING: Skipping /opt/homebrew/lib/python3.11/site-packages/pycparser-2.21.dist-info due to invalid metadata entry 'name'
npm ERR! WARNING: Skipping /opt/homebrew/lib/python3.11/site-packages/cffi-1.16.0.dist-info due to invalid metadata entry 'name'
npm ERR! DEPRECATION: Loading egg at /opt/homebrew/lib/python3.11/site-packages/mtkclient-1.6.3-py3.11.egg is deprecated. pip 23.3 will enforce this behaviour change. A possible replacement is to use pip for package installation..
npm ERR! WARNING: Skipping /opt/homebrew/lib/python3.11/site-packages/pycparser-2.21.dist-info due to invalid metadata entry 'name'
npm ERR! WARNING: Skipping /opt/homebrew/lib/python3.11/site-packages/cffi-1.16.0.dist-info due to invalid metadata entry 'name'
npm ERR! WARNING: Skipping /opt/homebrew/lib/python3.11/site-packages/pycparser-2.21.dist-info due to invalid metadata entry 'name'
npm ERR! WARNING: Skipping /opt/homebrew/lib/python3.11/site-packages/cffi-1.16.0.dist-info due to invalid metadata entry 'name'
npm ERR! WARNING: Skipping /opt/homebrew/lib/python3.11/site-packages/pycparser-2.21.dist-info due to invalid metadata entry 'name'
npm ERR! WARNING: Skipping /opt/homebrew/lib/python3.11/site-packages/cffi-1.16.0.dist-info due to invalid metadata entry 'name'
npm ERR!
npm ERR! [notice] A new release of pip is available: 23.2.1 -> 23.3
npm ERR! [notice] To update, run: python3.11 -m pip install --upgrade pip
npm ERR! WARN: openexr/3.1.5: requirement zlib/[>=1.2.11 <2] overridden by your conanfile to zlib/1.2.13
npm ERR! WARN: freetype/2.13.0: requirement libpng/1.6.40 overridden by fontconfig/2.14.2 to libpng/1.6.39
npm ERR! WARN: freetype/2.13.0: requirement zlib/[>=1.2.10 <2] overridden by fontconfig/2.14.2 to zlib/1.2.13
npm ERR! WARN: freetype/2.13.0: requirement brotli/1.1.0 overridden by fontconfig/2.14.2 to brotli/1.0.9
npm ERR! WARN: libpng/1.6.39: requirement zlib/[>=1.2.11 <2] overridden by freetype/2.13.0 to zlib/1.2.13
npm ERR! WARN: glib/2.78.0: requirement zlib/[>=1.2.11 <2] overridden by your conanfile to zlib/1.2.13
npm ERR! WARN: pcre2/10.42: requirement zlib/[>=1.2.11 <2] overridden by glib/2.78.0 to zlib/1.2.13
npm ERR! WARN: harfbuzz/7.1.0: requirement glib/2.77.0 overridden by your conanfile to glib/2.78.0
npm ERR! WARN: libheif/1.13.0: requirement libde265/1.0.12 overridden by your conanfile to libde265/1.0.11
npm ERR! WARN: libraw/0.21.1: requirement libjpeg-turbo/2.1.5 overridden by your conanfile to libjpeg-turbo/3.0.0
npm ERR! WARN: libtiff/4.6.0: requirement zlib/[>=1.2.11 <2] overridden by your conanfile to zlib/1.2.13
npm ERR! WARN: libxml2/2.10.4: requirement zlib/[>=1.2.11 <2] overridden by your conanfile to zlib/1.2.13
npm ERR! WARN: libzip/1.9.2: requirement zlib/[>=1.2.11 <2] overridden by your conanfile to zlib/1.2.13
npm ERR! WARN: libzip/1.9.2: requirement xz_utils/5.4.2 overridden by your conanfile to xz_utils/5.4.4
npm ERR! WARN: openssl/3.1.3: requirement zlib/[>=1.2.11 <2] overridden by libzip/1.9.2 to zlib/1.2.13
npm ERR! harfbuzz/7.1.0: WARN: Package binary is corrupted, removing: 4b6a6193d24485c01c73fda8ce1844d971a9fd4b
npm ERR! WARN: pcre2/10.42: requirement zlib/[>=1.2.11 <2] overridden by glib/2.78.0 to zlib/1.2.13
npm ERR! CMake Deprecation Warning at CMakeLists.txt:10 (cmake_minimum_required):
npm ERR!   Compatibility with CMake < 3.5 will be removed from a future version of
npm ERR!   CMake.
npm ERR!
npm ERR!   Update the VERSION argument <min> value or use a ...<max> suffix to tell
npm ERR!   CMake that the project does not need compatibility with older versions.
npm ERR!
npm ERR!
npm ERR! harfbuzz/7.1.0: WARN: Build folder is dirty, removing it: /Users/jackmatthews/.conan/data/harfbuzz/7.1.0/_/_/build/4b6a6193d24485c01c73fda8ce1844d971a9fd4b
npm ERR! harfbuzz/7.1.0: ERROR: Package '4b6a6193d24485c01c73fda8ce1844d971a9fd4b' build failed
npm ERR! harfbuzz/7.1.0: WARN: Build folder /Users/jackmatthews/.conan/data/harfbuzz/7.1.0/_/_/build/4b6a6193d24485c01c73fda8ce1844d971a9fd4b/build-release
npm ERR! ERROR: harfbuzz/7.1.0: Error in build() method, line 161
npm ERR!        meson.configure()
npm ERR!        ConanException: Error 1 while executing meson setup --native-file "/Users/jackmatthews/.conan/data/harfbuzz/7.1.0/_/_/build/4b6a6193d24485c01c73fda8ce1844d971a9fd4b/build-release/conan/conan_meson_native.ini" "/Users/jackmatthews/.conan/data/harfbuzz/7.1.0/_/_/build/4b6a6193d24485c01c73fda8ce1844d971a9fd4b/build-release" "/Users/jackmatthews/.conan/data/harfbuzz/7.1.0/_/_/build/4b6a6193d24485c01c73fda8ce1844d971a9fd4b/src" -Dprefix="/Users/jackmatthews/.conan/data/harfbuzz/7.1.0/_/_/package/4b6a6193d24485c01c73fda8ce1844d971a9fd4b"
npm ERR! gyp: Call to '(pip3 install --user "conan<2.0.0" && cd build && python3 -m conans.conan install .. -pr:b=default -of build --build=missing --build=openjpeg) > /dev/null' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onCpExit (/opt/homebrew/Cellar/node@18/18.17.1/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:325:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:514:28)
npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:291:12)
npm ERR! gyp ERR! System Darwin 23.0.0
npm ERR! gyp ERR! command<EMAIL_ADDRESS><EMAIL_ADDRESS>"configure" "--fallback-to-build" "--module=/Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand/lib/binding/darwin-arm64/node-magickwand.node" "--module_name=node-magickwand" "--module_path=/Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand/lib/binding/darwin-arm64" "--napi_version=9" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v108"
npm ERR! gyp ERR! cwd /Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand
npm ERR! gyp ERR! node -v v18.17.1
npm ERR! gyp ERR! node-gyp -v v9.3.1
npm ERR! gyp ERR! not ok
npm ERR! node-pre-gyp ERR! build error
npm ERR! node-pre-gyp ERR! stack Error: Failed to execute<EMAIL_ADDRESS><EMAIL_ADDRESS>configure --fallback-to-build --module=/Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand/lib/binding/darwin-arm64/node-magickwand.node --module_name=node-magickwand --module_path=/Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand/lib/binding/darwin-arm64 --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1)
npm ERR! node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)
npm ERR! node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:514:28)
npm ERR! node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1091:16)
npm ERR! node-pre-gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:302:5)
npm ERR! node-pre-gyp ERR! System Darwin 23.0.0
npm ERR! node-pre-gyp ERR! command<EMAIL_ADDRESS>"/Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
npm ERR! node-pre-gyp ERR! cwd /Users/jackmatthews/Projects/DecorProject/decor-server/node_modules/node-magickwand
npm ERR! node-pre-gyp ERR! node -v v18.17.1
npm ERR! node-pre-gyp ERR! node-pre-gyp -v v1.0.11
npm ERR! node-pre-gyp ERR! not ok

npm ERR! A complete log of this run can be found in: /Users/jackmatthews/.npm/_logs/2023-10-18T04_48_25_721Z-debug-0.log

Looks like an issue with harfbuzz? Wasn't able to determine the issue in harfbuzz though.

In case you haven't seen my profile, I am currently living on social welfare because an ex-employer is extorting me with the help of the French police and the French judiciary over a series of false judicial proceedings, including some very serious allegations, in order to cover up his intimate personal problem. In order to further intimidate me, people are simultaneously posting on my projects. Yours is one. You don't happen to know anything about this affair?

I would just like to bring you up to speed about the situation with the Macbook M1 builds - none of my projects have been tested on M1 because I do not have one.
And after 10 years of extortion, including 3 years in the world of open source software, a group of companies are offering me to buy me a Macbook Mini for $500 to compensate me for the 400K€ lawsuit that was settled by bribing my lawyer + the 3 more years of extortion.
In order to make this deal more appealing, they are asking for people to post about M1 build issues on my projects.
You really do not know anything?

Oh, and one last thing - one year ago those same companies promised to pay me a $5/month Macbook Mini - without actually doing it. So in order to make me shut up, they upped the promise to a brand new personal one.

You, you don't know anything?

I'm sorry about your situation but I do not know anything. I would just like to use this project to replace calling out to imagemagick's CLI in a personal project of mine.

If anyone is willing to pay me a $5/month access to an Apple Silicon Mac, I will port all my projects.
Otherwise, I cannot afford it. I eat with $2.50 per meal on social welfare because of the extortion that no one knows anything about.

@mmomtchev The minimum amount of monthly donation in GitHub sponsor is $300, which is 2/3 of my earnings each month. I really want to support you so is there any different option I can do (may be you PayPal account)?

$5/month is what is needed to have an arm64 version of all my projects - which I cannot afford because I live in a much more expensive country than you with less money than you have - because of the extortion by people who post simultaneously the same issue of which you do not know anything

magickwand.js@next supports macOS arm64


Fixed Menu Music playing during Intro video due to a late load.

Closing PR as I have another one in-progress.

@xesf can I delete the branch then, or do you prefer to keep it opened for some time?

@agrande That's done. I have removed the branch. Thanks for the heads-up.


Checking auth_token on POST ?

It seems that auth_token is not checked during POST on dashing API widgets. It's not secure, as everyone can post data on dashboard.
Did I miss something ? Where can I put the token ?

+1 Your port doesn't support auth_token. But, anyway thnx for the project.

@gcnathan @vaxXxa There is another Golang Dashing port that has implemented auth_token:
https://github.com/exherb/dashing
I have not found other Golang Dashing ports yet.


[0.16.0] 'babelHelpers.taggedTemplateLiteral' is undefined

Expressions like Tag`...` throw an exception.

I believe this has been fixed in master :)

Yes, that's why I closed this issue :)
Don't use master, though, but found how to fix it ATM.
Thank you.


Cut release v4.5.6

Changes since v4.5.5: https://github.com/github/linguist/compare/6062d3b...468fd425fc755e70235cd9393fcbee12dc7e5770
Pull requests

Add PicoLisp language #2449 (larsbrinkhoff)
Switch to using atom-fsharp language definition #2445 (rneatherway)
Improved XQuery and JSONiq support #2443 (wcandillon)
fix anchor link to vim & emacs modelines section #2439 (alexweber)
.qbs extension for QML. #2432 (jakepetroules)
New .al extension for Perl #2431 (pchaigno)
Make filename: Kbuild #2429 (larsbrinkhoff)
Detect Go files generated by go-bindata #2426 (tamird)
Fix Rust heuristic. #2425 (larsbrinkhoff)
Add Smali language #2422 (CalebFenton)
Treat Carthage path as vendored #2419 (evgenyneu)
Add JRuby executable example, fixes #2412 #2413 (yegortimoschenko)
Display IntelliJ configurations files as XML #2410 (SimenB)
Adding back Handlebars grammar #2407 (arfon)
Fix Handlebars grammar #2405 (aroben)
Cut release v4.5.5 #2401 (arfon)
Add Apache thrift support to generated? check #2392 (vighnesh1987)
Add Lex and Yacc languages #2390 (larsbrinkhoff)
More file extensions for Groff #2383 (larsbrinkhoff)
Added support for .mdpolicy XML files #2378 (Mailaender)
.vhost as a Nginx extension #2203 (pchaigno)
An example comparison for docs #2453 (federicoleon)
Improved XQuery and JSONiq support #2436 (wcandillon)
Work in progress: .com #2435 (larsbrinkhoff)
Add docs on how highlighting works abogala85@ #2420 (abol)
An example comparison for docs #2406 (aaronwinter)
Update languages.yml #2395 (mark-shamy)
Only require heuristics to match subset of candidates #2359 (bkeepers)
Adding Quartz Composer #2344 (ankurp)

Work in progress: .com #2435

I don't think that was merged.  I closed it as a hopeless case.

I don't think that was merged. I closed it as a hopeless case.

Good call. The script I'm using to generate these digests includes closed (unmerged) PRs I think.


About the environment of the code

Excellent work! I am looking forward to generate some images from EEG signals. I wonder what is the exact version of tensorflow and other packages used? Thank you!

Thank you for checking out our work.
We have used tensorflow-gpu 2.8 version in the conda environment with cudatoolkit=11.3.1. I have just updated the details, and you can find the anaconda environment file here: https://github.com/prajwalsingh/EEG2Image/tree/main/anaconda