x/build: freebsd-amd64-10_3 trybot took over 20 minutes

From https://go-review.googlesource.com/c/go/+/214079/1#message-7f31aa619ce56c7e7101472dd62cdc6402837b34, a CL on release-branch.go1.12 branch, the freebsd-amd64-10_3 builder took 23~ minutes. All others finished in 10 minutes or under.

Building Go toolchain1 using /tmp/workdir/go1.4.

Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for freebsd/amd64.
---
Installed Go for freebsd/amd64 in /tmp/workdir/go
Installed commands in /tmp/workdir/go/bin

##### Testing packages.
ok  	archive/tar	0.037s
ok  	archive/zip	0.731s
ok  	bufio	0.089s
ok  	bytes	0.878s
ok  	compress/bzip2	0.122s
ok  	compress/flate	0.827s
ok  	compress/gzip	0.140s
ok  	compress/lzw	0.080s
ok  	compress/zlib	0.518s
ok  	container/heap	0.013s
ok  	container/list	0.003s
ok  	container/ring	0.016s
ok  	context	1.007s
ok  	crypto	0.004s
ok  	crypto/aes	0.023s
ok  	crypto/cipher	0.186s
ok  	crypto/des	0.015s
ok  	crypto/dsa	0.007s
ok  	crypto/ecdsa	0.114s
ok  	crypto/elliptic	0.531s
ok  	crypto/hmac	0.008s
ok  	crypto/internal/subtle	0.003s
ok  	crypto/md5	0.005s
ok  	crypto/rand	0.033s
ok  	crypto/rc4	0.050s
ok  	crypto/rsa	0.083s
ok  	crypto/sha1	0.004s
ok  	crypto/sha256	0.005s
ok  	crypto/sha512	0.004s
ok  	crypto/subtle	0.004s
ok  	crypto/tls	0.796s
ok  	crypto/x509	1.967s
ok  	database/sql	0.764s
ok  	database/sql/driver	0.003s
ok  	debug/dwarf	0.009s
ok  	debug/elf	0.031s
ok  	debug/gosym	2.065s
ok  	debug/macho	0.007s
ok  	debug/pe	0.009s
ok  	debug/plan9obj	0.003s
ok  	encoding/ascii85	0.006s
ok  	encoding/asn1	0.006s
ok  	encoding/base32	0.025s
ok  	encoding/base64	0.009s
ok  	encoding/binary	0.006s
ok  	encoding/csv	0.058s
ok  	encoding/gob	0.030s
ok  	encoding/hex	0.049s
ok  	encoding/json	0.362s
ok  	encoding/pem	0.013s
ok  	encoding/xml	0.027s
ok  	errors	0.045s
ok  	expvar	0.004s
ok  	flag	0.004s
ok  	fmt	0.075s
ok  	go/ast	0.010s
ok  	go/build	0.139s
ok  	go/constant	0.006s
ok  	go/doc	0.036s
ok  	go/format	0.007s
ok  	go/importer	0.184s
ok  	go/internal/gccgoimporter	0.008s
ok  	go/internal/gcimporter	1.230s
ok  	go/internal/srcimporter	2.759s
ok  	go/parser	0.023s
ok  	go/printer	0.357s
ok  	go/scanner	0.009s
ok  	go/token	0.029s
ok  	go/types	0.812s
ok  	hash	0.015s
ok  	hash/adler32	0.010s
ok  	hash/crc32	0.006s
ok  	hash/crc64	0.004s
ok  	hash/fnv	0.005s
ok  	html	0.004s
ok  	html/template	0.038s
ok  	image	0.071s
ok  	image/color	0.026s
ok  	image/draw	0.062s
ok  	image/gif	0.415s
ok  	image/jpeg	0.233s
ok  	image/png	0.114s
ok  	index/suffixarray	0.007s
ok  	internal/cpu	0.008s
ok  	internal/fmtsort	0.005s
ok  	internal/poll	0.021s
ok  	internal/singleflight	0.053s
ok  	internal/trace	1.229s
ok  	internal/x/crypto/chacha20poly1305	0.082s
ok  	internal/x/crypto/cryptobyte	0.006s
ok  	internal/x/crypto/curve25519	0.021s
ok  	internal/x/crypto/hkdf	0.004s
ok  	internal/x/crypto/internal/chacha20	0.052s
ok  	internal/x/crypto/poly1305	0.032s
ok  	internal/x/net/dns/dnsmessage	0.057s
ok  	internal/x/net/http/httpguts	0.005s
ok  	internal/x/net/http/httpproxy	0.006s
ok  	internal/x/net/http2/hpack	0.005s
ok  	internal/x/net/idna	0.038s
ok  	internal/x/net/nettest	0.712s
ok  	internal/x/net/route	0.009s
ok  	internal/x/text/transform	0.008s
ok  	internal/x/text/unicode/norm	0.004s
ok  	internal/xcoff	0.012s
ok  	io	0.040s
ok  	io/ioutil	0.005s
ok  	log	0.027s
ok  	log/syslog	1.248s
ok  	math	0.025s
ok  	math/big	1.780s
ok  	math/bits	0.008s
ok  	math/cmplx	0.005s
ok  	math/rand	0.255s
ok  	mime	0.008s
ok  	mime/multipart	0.370s
ok  	mime/quotedprintable	0.150s
ok  	net	11.158s
ok  	net/http	5.827s
ok  	net/http/cgi	0.239s
ok  	net/http/cookiejar	0.026s
ok  	net/http/fcgi	0.007s
ok  	net/http/httptest	0.072s
ok  	net/http/httptrace	0.004s
ok  	net/http/httputil	0.044s
ok  	net/http/internal	0.008s
ok  	net/http/pprof	2.107s
ok  	net/internal/socktest	0.005s
ok  	net/mail	0.007s
ok  	net/rpc	0.028s
ok  	net/rpc/jsonrpc	0.008s
ok  	net/smtp	0.012s
ok  	net/textproto	0.009s
ok  	net/url	0.013s
ok  	os	0.680s
ok  	os/exec	0.619s
ok  	os/signal	4.578s
ok  	os/user	0.005s
ok  	path	0.011s
ok  	path/filepath	0.057s
ok  	plugin	0.031s
ok  	reflect	0.131s
ok  	regexp	0.091s
ok  	regexp/syntax	0.577s
ok  	runtime	28.229s
ok  	runtime/debug	0.157s
ok  	runtime/internal/atomic	0.128s
ok  	runtime/internal/math	0.004s
ok  	runtime/internal/sys	0.048s
ok  	runtime/pprof	6.778s
ok  	runtime/pprof/internal/profile	0.003s
ok  	runtime/trace	3.081s
ok  	sort	0.081s
ok  	strconv	0.332s
ok  	strings	2.262s
ok  	sync	0.312s
ok  	sync/atomic	0.033s
ok  	syscall	0.021s
ok  	testing	1.461s
ok  	testing/quick	0.119s
ok  	text/scanner	0.029s
ok  	text/tabwriter	0.010s
ok  	text/template	0.264s
ok  	text/template/parse	0.183s
ok  	time	2.721s
ok  	unicode	0.008s
ok  	unicode/utf16	0.005s
ok  	unicode/utf8	0.007s
ok  	cmd/addr2line	1.098s
ok  	cmd/api	0.022s
ok  	cmd/asm/internal/asm	0.374s
ok  	cmd/asm/internal/lex	0.004s
ok  	cmd/compile	0.007s
ok  	cmd/compile/internal/gc	21.958s
ok  	cmd/compile/internal/ssa	0.486s
ok  	cmd/compile/internal/syntax	0.008s
ok  	cmd/compile/internal/test	0.050s [no tests to run]
ok  	cmd/compile/internal/types	0.005s
ok  	cmd/cover	2.260s
ok  	cmd/doc	0.150s
ok  	cmd/fix	2.946s
ok  	cmd/go	69.743s
ok  	cmd/go/internal/cache	1.476s
ok  	cmd/go/internal/dirhash	0.007s
ok  	cmd/go/internal/generate	0.012s
ok  	cmd/go/internal/get	0.014s
ok  	cmd/go/internal/imports	0.007s
ok  	cmd/go/internal/load	0.009s
ok  	cmd/go/internal/lockedfile	0.022s
ok  	cmd/go/internal/lockedfile/internal/filelock	0.032s
ok  	cmd/go/internal/modconv	0.019s
ok  	cmd/go/internal/modfetch	0.020s
ok  	cmd/go/internal/modfetch/codehost	0.016s
ok  	cmd/go/internal/modfile	0.008s
ok  	cmd/go/internal/modload	0.014s
ok  	cmd/go/internal/module	0.010s
ok  	cmd/go/internal/mvs	0.007s
ok  	cmd/go/internal/par	0.031s
ok  	cmd/go/internal/search	0.008s
ok  	cmd/go/internal/semver	0.004s
ok  	cmd/go/internal/txtar	0.004s
ok  	cmd/go/internal/web2	0.005s
ok  	cmd/go/internal/work	0.012s
ok  	cmd/gofmt	0.107s
ok  	cmd/internal/buildid	0.283s
ok  	cmd/internal/dwarf	0.004s
ok  	cmd/internal/edit	0.003s
ok  	cmd/internal/goobj	0.269s
ok  	cmd/internal/obj	0.008s
ok  	cmd/internal/obj/arm64	0.039s
ok  	cmd/internal/obj/x86	0.203s
ok  	cmd/internal/objabi	0.003s
ok  	cmd/internal/src	0.010s
ok  	cmd/internal/test2json	0.108s
ok  	cmd/link	5.678s
ok  	cmd/link/internal/ld	2.255s
ok  	cmd/link/internal/sym	0.007s
ok  	cmd/nm	1.877s
ok  	cmd/objdump	2.327s
ok  	cmd/pack	2.616s
ok  	cmd/trace	0.030s
ok  	cmd/vet	8.094s

##### os/user with tag osusergo
ok  	os/user	0.003s

##### GOMAXPROCS=2 runtime -cpu=1,2,4 -quick
ok  	runtime	67.254s

##### moved GOROOT
ok  	fmt	0.075s

##### Testing without libgcc.
ok  	crypto/x509	0.666s
ok  	net	0.011s
ok  	os/user	0.006s

##### sync -cpu=10
ok  	sync	0.301s

##### Testing race detector
ok  	runtime/race	35.506s
ok  	flag	1.107s
ok  	net	1.175s
ok  	os	1.076s
ok  	os/exec	3.079s
ok  	encoding/gob	1.045s
PASS
scatter = 0x60c790
hello from C
sqrt is: 0
ok  	_/tmp/workdir/go/misc/cgo/test	4.825s
ok  	flag	1.032s
ok  	os/exec	3.184s

##### ../misc/cgo/stdio

##### ../misc/cgo/life

##### ../misc/cgo/test
PASS
ok  	_/tmp/workdir/go/misc/cgo/test	1.567s
PASS
ok  	_/tmp/workdir/go/misc/cgo/test	1.927s
PASS
ok  	_/tmp/workdir/go/misc/cgo/test	1.517s
PASS
ok  	_/tmp/workdir/go/misc/cgo/testtls	0.019s
PASS
ok  	_/tmp/workdir/go/misc/cgo/testtls	0.006s
PASS
ok  	_/tmp/workdir/go/misc/cgo/testtls	0.005s
PASS
ok  	_/tmp/workdir/go/misc/cgo/nocgo	0.003s
PASS
ok  	_/tmp/workdir/go/misc/cgo/nocgo	0.005s
PASS
ok  	_/tmp/workdir/go/misc/cgo/nocgo	0.007s
PASS
ok  	_/tmp/workdir/go/misc/cgo/test	1.758s
PASS
ok  	_/tmp/workdir/go/misc/cgo/test	1.576s

##### ../misc/cgo/testgodefs

##### ../misc/cgo/testso

##### ../misc/cgo/testsovar

##### ../misc/cgo/testcarchive
PASS

##### ../misc/cgo/testcshared
PASS

##### ../misc/cgo/errors
PASS

##### ../doc/progs
        6.85 real        19.08 user         8.40 sys

##### ../doc/articles/wiki
PASS
./test.bash: line 14: 27980 Terminated              ./final-test.bin

##### ../doc/codewalk
        1.64 real         1.89 user         0.62 sys

##### ../test/bench/go1
testing: warning: no tests to run
PASS
ok  	_/tmp/workdir/go/test/bench/go1	1.644s

##### ../test

All tests passed.

This may or may not be a separate issue, but many linux trybots have been taking upwards of 20, 30, up to 1.5 hours to complete recently. E.g., from https://go-review.googlesource.com/c/tools/+/214717/6#message-b0f0c1ccf6bca7c56b71540fc1f1216998891fd7:

The freebsd-amd64-10_3 builder is long gone (removed in CL 246639), so this specific issue can be closed. (The general tracking issue for TryBot speed is #17104.)


Debug error

I believe I installed everything in the pre-reqs but when I hit F5 on my function I get "Attachnig to process with CustomPipeName is only available with PowerShell 6.2 and higher (currect session is 5.1.17763.316). [Open launch.json] [cancel] from Visual Studio Code. I installed PowerShell 6.2 but maybe I need to reboot or install the Non-VS 2019 .NET Core 2.2 SDK?

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

ID: 8e0c8d77-40f9-aee0-0e9c-fa83be6f4ee3
Version Independent ID: 77bc47cc-1abb-5b78-2f80-5e03d67d374a
Content: Create your first PowerShell function with Azure Functions
Content Source: articles/azure-functions/functions-create-first-function-powershell.md
Service: azure-functions
GitHub Login: @joeyaiello
Microsoft Alias: jaiello, glenga

Rebooted and hit F5 to debug and get Timed out waiting for the PowerShell extension to start. [Open launch.json] [Cancel]

Went back to run.ps1 and had a PowerShell not started error, opened the extension page, closed it and hit F5 now I get the same error about CustomPipeName again.

Hi @eschrader Thank you for your feedback! We will review and update as appropriate.

I am seeing this with ps core 6.2
Application started. Press Ctrl+C to shut down.

Http Functions:

        HttpTrigger: [GET,POST] http://localhost:7071/api/HttpTrigger

[01/05/2019 15:54:39] dotnet process with Id=4132 started
[01/05/2019 15:54:39] Adding dependency download request to powershell language worker
[01/05/2019 15:54:39] Error:
[01/05/2019 15:54:39]   An assembly specified in the application dependencies manifest (Microsoft.Azure.Functions.PowerShellWorker.deps.json) was not found:
[01/05/2019 15:54:39] Language Worker Process exited.
[01/05/2019 15:54:39] dotnet exited with code -2147450740
 Error:.
[01/05/2019 15:54:39]     package: 'Microsoft.Management.Infrastructure', version: '1.0.0'
[01/05/2019 15:54:39]     path: 'runtimes/win10-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll'
[01/05/2019 15:54:39] Starting language worker process:dotnet  "C:\ProgramData\chocolatey\lib\azure-functions-core-tools\tools\workers\powershell\Microsoft.Azure.Functions.PowerShellWorker.dll" --host <IP_ADDRESS> --port
64248 --workerId c58f6cc9-7920-44a4-a214-c00e5276f024 --requestId 2b219c91-4e97-4513-aaa2-1f06d54e3144 --grpcMaxMessageLength 134217728
[01/05/2019 15:54:39] dotnet process with Id=17652 started
[01/05/2019 15:54:39] Adding dependency download request to powershell language worker
[01/05/2019 15:54:39] Error:
[01/05/2019 15:54:39]   An assembly specified in the application dependencies manifest (Microsoft.Azure.Functions.PowerShellWorker.deps.json) was not found:[01/05/2019 15:54:39] Language Worker Process exited.

[01/05/2019 15:54:39] dotnet exited with code -2147450740
 Error:.
[01/05/2019 15:54:39]     package: 'Microsoft.Management.Infrastructure', version: '1.0.0'
[01/05/2019 15:54:39]     path: 'runtimes/win10-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll'
[01/05/2019 15:54:44] Host lock lease acquired by instance ID '0000000000000000000000009E62BF8D'.

@eschrader This will be corrected when  PowerShell 6.2 is installed. Installed powershell 6.2 from doc and configure in Visual Studio code as follow.
File-->>Preferences->> Settings

Still getting
An assembly specified in the application dependencies manifest (Microsoft.Azure.Functions.PowerShellWorker.deps.json) was not found:
[5/05/2019 2:52:06 PM] Language Worker Process exited.
[5/05/2019 2:52:06 PM] dotnet exited with code -2147450740
 Error:.
[5/05/2019 2:52:06 PM]     package: 'Microsoft.Management.Infrastructure', version: '1.0.0'

etc after following all steps above

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

@DixitArora-MSFT  - it is not the case that this issue is solved with 6.2 installed and VS Code configured as per your comment - please see the comments directly above and below yours

Can confirm this is still thoroughly broken

@DixitArora-MSFT Please reopen. I have upgraded and run the instructions three times now since May. This does not work.
[28/09/2019 8:05:44 AM] Error:
[28/09/2019 8:05:44 AM]   An assembly specified in the application dependencies manifest (Microsoft.Azure.Functions.PowerShellWorker.deps.json) was not found:
[28/09/2019 8:05:44 AM]     package: 'Microsoft.Management.Infrastructure', version: '1.0.0'
[28/09/2019 8:05:44 AM] Language Worker Process exited.
[28/09/2019 8:05:44 AM]     path: 'runtimes/win10-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll'
[28/09/2019 8:05:44 AM] dotnet exited with code -2147450740                                                              Error:.
[28/09/2019 8:05:44 AM] Starting language worker process:dotnet  "C:\ProgramData\chocolatey\lib\azure-functions-core-tools\tools\workers\powershell\Microsoft.Azure.Functions.PowerShellWorker.dll" --host <IP_ADDRESS> --port 52664 --workerId 7d531334-36b9-48fe-a376-88365bc8aa4b --requestId 878309cd-3607-4a96-9c04-641c1d6ca2d7 --grpcMaxMessageLength 134217728
[28/09/2019 8:05:44 AM] dotnet process with Id=4968 started
[28/09/2019 8:05:44 AM] Adding dependency download request to powershell language worker
[28/09/2019 8:05:44 AM] Error:
[28/09/2019 8:05:44 AM]   An assembly specified in the application dependencies manifest (Microsoft.Azure.Functions.PowerShellWorker.deps.json) was not found:
[28/09/2019 8:05:44 AM]     package: 'Microsoft.Management.Infrastructure', version: '1.0.0'
[28/09/2019 8:05:44 AM]     path: 'runtimes/win10-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll'
[28/09/2019 8:05:44 AM] Language Worker Process exited.
[28/09/2019 8:05:44 AM] dotnet exited with code -2147450740

I figured out the missing dependency bug. It was because at some stage Functions Core Tools has been installed using Chocolatey. Uninstalling and reinstalling with NPM fixed that problem:
npm uninstall -g azure-functions-core-tools
choco uninstall azure-functions-core-tools
npm install -g azure-functions-core-tools

Now I still can't debug in VSCode. I get the errors:
Could not attach to process with CustomPipeName: 'AzureFunctionsPSWorker'
and
Unable to find project root. Expecting to find one of host.json, local.settings.json in project root.
even though both of those file exist in the Project root.

@DanielLarsenNZ  I have assigned this to content author for further review and update.

I am having the same issue with receiving the error "Could not attach to process with CustomPipeName: 'AzureFunctionsPSWorker'.. The Wait-Debugger not working.  I am using PS 6.2 and VS Code is configured as shown in black screen shots above. I followed these instructions:

I can confirm that solution proposed by @tkerkman  works. Thanks for your magic, sir!

I can confirm that solution proposed by @tkerkman works. Thanks for your magic, sir!

Which version of .NET CORE 2.2 on that link are you guys installing?

Visual Studio 2017 SDK
Visual Studio 2019 SDK
Runtime

just installed .NET Core 2.2 Runtime and the problem solved

I have got powershell 7 preview 6 , .Net Core 3.x and still get the same error :/ This was working previously with me.

From this link https://dotnet.microsoft.com/download/visual-studio-sdks
it says .NET Core 2.2 is end of life
Does powershell function app still depend on .Net Core 2.2 or not?
Can it use .Net core 3.1 instead?

.NET Core 2.2 does seem to be required to get the extension to run and debug successfully. I'm checking with the PowerShell folks and will update this article as soon as I get confirmation.
Thanks to folks who have reported this, and sorry for the long delay in getting it fixed 😦
#reassign:ggailey777

Hi, Just adding several months later I am following the tutorial here: https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-vs-code?pivots=programming-language-powershell
I too had to install .NET Core 2.2 along with 3.1 which was already installed.
The prerequisites for the article say .NET Core SDK 2.2+
I would think .NET Core 3.1 counts as "+" and the prereqs in the article should state 2.2 is explicitly required.

I would think .NET Core 3.1 counts as "+" and the prereqs in the article should state 2.2 is explicitly required.

Agreed, I have wasted hours this morning trying to bend time and space working through getting the hello world example working

Sorry for the inconvenience. I'm checking on the .NET Core version issue.

I'm getting the same Could not attach to process with CustomPipeName: 'AzureFunctionsPSWorker' error when I press F5 with my function created using the VS Code Extension. I've tried uninstalling and re-installing the SDKs on my computer as well as the functions extension in VS Code.
dotnet --list-sdks

2.1.810 [C:\Program Files\dotnet\sdk]
2.2.207 [C:\Program Files\dotnet\sdk]
3.1.402 [C:\Program Files\dotnet\sdk]

$PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.0.3
PSEdition                      Core
GitCommitId                    7.0.3
OS                             Microsoft Windows 10.0.19041
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

func --version

3.0.2931

#reassign:@stefanushinardi

To close on this issue. It looks like both .NET 3.0 and .NET 2.1 SDKs were required for debugging PS apps in the Visual Studio quickstart (which has since been moved). If you are still having issues with debugging, please open a new issues from the article feedback. Thanks for your patience everyone! #please-close

To close on this issue. It looks like both .NET 3.0 and .NET 2.1 SDKs were required for debugging PS apps in the Visual Studio quickstart (which has since been moved). If you are still having issues with debugging, please open a new issues from the article feedback. Thanks for your patience everyone! #please-close


Move Tool

I would love to be able to select multiple frames and get to move all of them simultaneously within the canvas.  Right now I'm only able to move one at a time, and I might not get them lined up correctly.
Thanks again!!

I could reuse the SHIFT / CTRL modifiers to target all frames/all layers/both, as we do in some other tools (Paint all, Rotate, Flip). SHIFT + Move already has a secret feature attached to it, but it can be remapped to ALT + Move.

Will try to play with this before v0.5 :)

Using shift now moves all frames from the current layer.
Using ctrl moves frames from all the layers at the current index.
Using ctrl+shift moves all frames in all layers.

That's great!  This will be an awesome addition.
On Sep 1, 2015 5:54 PM, "Julian Descottes"<EMAIL_ADDRESS>wrote:

Using shift now moves all frames from the current layer.
Using ctrl moves frames from all the layers at the current index.
Using ctrl+shift moves all frames in all layers.
—
Reply to this email directly or view it on GitHub
https://github.com/juliandescottes/piskel/issues/256#issuecomment-136885427
.

Released with v<IP_ADDRESS>

Hey Julian-
I hope all is well. I have a question, and I'm unable to find answers on
the web. I've saved a Piskel file on my PC, and now I'm trying to open it
on a Mac, with no luck. Is this not possible?
Thanks again for such great software!
Best regards -
Brian Pippin
On Nov 16, 2015 6:00 PM, "Julian Descottes"<EMAIL_ADDRESS>wrote:

Released with v<IP_ADDRESS>
—
Reply to this email directly or view it on GitHub
https://github.com/juliandescottes/piskel/issues/256#issuecomment-157213373
.

Hi, this should be possible but I'd need more details about what you are trying to achieve:

are you using web or desktop versions on PC/Mac
if desktop version, which version on each
how are you saving your piskel ? Piskel account gallery ? As a .piskel file? If it's as a file, please zip it and attach it here

In theory if you are still able to open your save on Windows, there's no reason it can't be opened on a Mac.
That being said, can you please open a separate issue for this new question rather than commenting on this issue which is already closed :)


feat: Use new goproxy in makefile #804

Ⅰ. Describe what this PR did
Use the new GOPROXY to ensure code compilation succeeds.
Ⅱ. Does this pull request fix one issue?

fixes #804
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.lei.lu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (acd80d2) 38.07% compared to head (94c293b) 38.07%.
Report is 5 commits behind head on main.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #805   +/-   ##
=======================================
  Coverage   38.07%   38.07%
=======================================
  Files          61       61
  Lines       10391    10391
=======================================
  Hits         3956     3956
  Misses       6136     6136
  Partials      299      299


Deprecation warning

Just got this warning. Though I'd let you know :)
Detected that custom integration 'google_keep_sync' sets option flow config_entry explicitly, which is deprecated at custom_components/google_keep_sync/config_flow.py, line 52: self.config_entry = config_entry. This will stop working in Home Assistant 2025.12, please report it to the author of the 'google_keep_sync' custom integration

Thank you! I'll look into it.


Use token to check out reference action

This commit updates the GitHub Aciton used to generate reference documentation to use the token of the puppet-release-bot GitHub user to check out code. This should enable the action to push to the protected main branch, which it was unable to before.

I was unsure about how to properly test this out in my namespace since some of the protected branch features are only available to GitHub Enterprise subscribers.


vscode extension provides wrong color in indicator when class has ! prefix

UnoCSS version
0.51.12
Describe the bug
It seems that the vscode extension is showing wrong color in the little indicator, when the ! prefix is added to a unocss class:

vs

Both applies the right styling, although when the important prefix is present, the vscode extension seems to use a default color for the indicator.
Reproduction
I think the previous images can describe the problem clearly, although if more information is needed, please let me know!
System Info
Windows 10, 16GB RAM, i7 6th Gen, WSL2 Ubuntu, Chrome, React + ViteJS
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

I'm also facing the same problem.

@H41D4x this is a problem with the capturing group for capturing CSS variables. It was also capturing the !important generated by UnoCSS. I have just opened a PR, it will be solved soon. Thank you for raising the bug!

@vargasmesh Thank you so much!! This is great news!! 🙌🏻 Since I found Unocss, I never looked back, it really delivers the best development experience. Btw, I am sorry, but should I close the issue now? I am not really aware of how the process typically goes 😅 Thank you so much once again!

@H41D4x indeed, Unocss is amazing and the tools make it so easy to use it.
About the issue, when the PR is merged, it will close automatically. You will receive a notification about it being closed too.


Hacktoberfest banner is not responsive

Description
Hacktoberfest banner in hacktoberfest.html is not reponsive in small screen. Only half of the banner is visible in mobile screen.
Screenshots

@imyoungsparda i would like to contribute to this , can you please assign me

I would love to contribute in this Can u assign this to me?

Go for it! For support join our discord community: https://discord.com/servers/codein-community-831388874118660156


Phoenix 6653 Add upgrade tests based on HBase snapshots

Work is still in progress

There is a separate PR for pre 4.10 upgrade https://github.com/apache/phoenix/pull/1474
But I'd like to trigger a test run here with these 2. I will rebase Phoenix 6653 to the master.

(We've had offline discussions about this with Richard, so some context may not be immediately apparent from the patch)
You have uncovered two different additional problems here.
One is that moveChildLinkConnection doesn't handle namespace mapping.
Your current solution here is incorrect, because it manipulates the pre-upgrade default namespace system tables, even though by this point it has already been moved to the NS (and upgraded).
The correct solution would be to replace both  TableName.valueOf(SYSTEM_CATALOG_NAME) and TableName.valueOf(SYSTEM_CHILD_LINK_NAME) with the right namespace aware method from SchmaUtil which preforms the '.' -> ':' replacement as needed.  (it is also much simpler)
This bugfix may even be split into a separate dependent ticket, if you prefer.
We should also check if we have other similar bugs in the upgrade code.
The other problem is that moveChildLinkConnection creates a the HBase Connection from a vanilla Configuration object (reading from hbase-site.xml), which doesn't get necessary Config changes that were set by BaseTest/minicluster.
Simply copying the ZK quorum from the CQSI connection may get the test to pass, but is not the right way.
We should clone the Configuration object from CQSI,  apply the necessary  the changes to the clone, and use that for creating the HBaseConnection.

Thank you @stoty for the review and the suggestions, I've updated the log msgs, and added more detail to the commit message.

Thank you @stoty for the reviews,
I close this PR and merge the other 2 separately.


Switch from uglify-es to terser

uglify-es has been unmaintained for quite a while now. I've been following terser for a while now and it has now been officially renamed to that and has an official package in npm. It is continued by two of the biggest contributors of uglify-es. I suggest using terser instead of uglify-es from now on. And a new release including it would be nice. :)

https://github.com/ember-cli/broccoli-uglify-sourcemap/issues/69


system.exe has stopped working (can't read majsoul log)

Like Issue #39, I was trying to review a Majsoul log, but this happened with two different log files. Then a window pop-up "System.exe has stopped working"
22:29:32.971615 src\main.rs:506 converting to mjai events...
22:29:32.972468 src\main.rs:600 players: 大型犬, 夜室泥霸霸, Rhdimer, catcat
22:29:32.972665 src\main.rs:601 target: catcat
22:29:32.972911 src\main.rs:602 review has started, this may take several minutes...
22:29:33.414583 src\review.rs:238       reviewing kyoku=0 honba=0 junme=0 (0.31%)
22:29:33.904226 src\review.rs:238       reviewing kyoku=0 honba=0 junme=0 (0.51%)
22:29:34.381490 src\review.rs:238       reviewing kyoku=0 honba=0 junme=0 (0.72%)
22:29:34.860264 src\review.rs:238       reviewing kyoku=0 honba=0 junme=1 (0.82%)
22:29:35.339958 src\review.rs:400       review entry created: Agree (0/0/1, 100.000)
22:29:35.340575 src\review.rs:238       reviewing kyoku=0 honba=0 junme=1 (1.13%)
22:29:35.819750 src\review.rs:238       reviewing kyoku=0 honba=0 junme=1 (1.34%)
22:29:36.294420 src\review.rs:238       reviewing kyoku=0 honba=0 junme=1 (1.54%)
22:29:36.777391 src\review.rs:238       reviewing kyoku=0 honba=0 junme=2 (1.65%)
Assertion failed: tehai_bit.count_hai(hai-5) >= tehai_state.get_aka_in_side(hai/10 - 1), file tehai_ana.cpp, line 263
Assertion failed: tehai_bit.count_hai(hai-5) >= tehai_state.get_aka_in_side(hai/10 - 1), file tehai_ana.cpp, line 263

log:
{
    "ver": "2.3",
    "ref": "211208-5a32132a-c2a3-4cfc-ac85-850837491101",
    "log": [ [ [ 0, 0, 0 ],
        [ 25000, 25000, 25000, 25000 ],
        [ 18 ],
        [],
        [ 11, 12, 16, 17, 22, 23, 24, 26, 27, 32, 36, 43, 47 ],
        [ 47, 45, 16, 29, 17, 32, 41, 22, 27, 47 ],
        [ 43, 32, 12, 11, 29, 60, 60, 36, 45, 22 ],
        [ 12, 18, 23, 23, 27, 28, 29, 31, 35, 35, 38, 38, 42 ],
        [ 26, 39, 25, 28, 27, 13, 36, 37, 15 ],
        [ 31, 42, 18, 12, 39, 29, 13, 25, 60 ],
        [ 12, 52, 31, 33, 34, 53, 36, 39, 41, 42, 44, 44, 46 ],
        [ 11, 18, 45, 21, 32, 46, 45, 15, "45p4545", 46 ],
        [ 60, 12, 18, 60, 52, 39, 42, 60, 41 ],
        [ 11, 13, 14, 14, 19, 21, 24, 25, 28, 31, 33, 34, 42 ],
        [ 46, 42, 24, 13, 19, 25, 43, 22, 11 ],
        [ 31, 28, 21, 11, 33, "r34", 60, 60, 60 ],
        [ "和了", [ -4000, -2000, 9000, -2000 ],
        [ 2, 2, 2, "Mangan 2000-4000点", "Half Flush(2飜)", "Green Dragon(1飜)", "White Dragon(1飜)", "Red Five(1飜)" ] ] ],
        [ [ 1, 0, 0 ],
        [ 21000, 23000, 34000, 22000 ],
        [ 41 ],
        [],
        [ 11, 12, 51, 15, 16, 16, 21, 24, 26, 31, 42, 43, 44 ],
        [ 45, 37, 34, 39, 18, 47, 18, 13, 14, 43 ],
        [ 31, 21, 43, 60, 45, 60, 37, 34, 26, 24 ],
        [ 13, 14, 16, 17, 17, 18, 23, 25, 29, 33, 37, 42, 46 ],
        [ 46, 27, 12, 13, 27, 39, "46p4646", 29, 39, 19 ],
        [ 42, 29, 37, 33, 23, 60, 25, 60, 60, 27 ],
        [ 12, 16, 22, 29, 31, 34, 35, 37, 38, 38, 42, 47, 47 ],
        [ 13, 23, 45, 14, 11, 36, "47p4747", 36, 12, 17, 32 ],
        [ 29, 16, 60, 31, 60, 42, 34, 36, 60, 60, 60 ],
        [ 15, 23, 24, 25, 26, 31, 32, 32, 33, 36, 41, 43, 46 ],
        [ 29, 33, 19, 26, 21, 33, 28, 36, 43, 37, 32 ],
        [ 15, 36, 60, 29, 43, 60, 46, 60, 60, 60, 41 ],
        [ "和了", [ -1000, 0, 1000, 0 ],
        [ 2, 0, 2, "30符1飜1000点", "Red Dragon(1飜)" ] ] ],
        [ [ 2, 0, 0 ],
        [ 20000, 23000, 35000, 22000 ],
        [ 46, 27 ],
        [ 34, 21 ],
        [ 11, 17, 17, 21, 21, 22, 26, 27, 32, 34, 37, 42, 47 ],
        [ 12, 28, 24, 37, 15, 13, 15, 22, 19, 26, 28, 45, 42, 17, 18, 38, 13 ],
        [ 42, 37, 47, 60, 60, 24, 60, 34, 32, 19, 21, 60, 60, 21, 60, 60, 60 ],
        [ 14, 51, 52, 26, 31, 32, 34, 35, 36, 36, 43, 44, 45 ],
        [ 15, 27, 46, 33, 29, 16, 47, 41, 25, 28, 14, 38, 45, 12, 43, 36 ],
        [ 43, 44, 60, 45, 60, 31, 60, 60, 15, "r32", 60, 60, 60, 60, 60 ],
        [ 19, 22, 28, 32, 34, 35, 36, 38, 41, 43, 44, 45, 46 ],
        [ 47, 29, 44, 23, 37, 35, 19, 44, 23, 14, 37, 53, 24, 13, 33, 16 ],
        [ 22, 28, 32, 60, 19, 46, 60, 29, 60, 41, 47, 14, 60, 45, 43, 13 ],
        [ 11, 13, 14, 17, 18, 22, 23, 23, 25, 29, 33, 33, 46 ],
        [ 18, 26, 39, "p232323", 29, 11, 41, 42, 39, 25, 43, 19, "c242526", 21, 18, "1818p18", 38, 16 ],
        [ 29, 46, 60, 11, 60, 60, 60, 60, 60, 22, 60, 60, 14, 60, 13, 17, "1818k1818", 38 ],
        [ "和了", [ -3000, 13000, -6000, -3000 ],
        [ 1, 1, 1, "Haneman 3000-6000点", "All Simples(1飜)", "Fully Concealed Hand(1飜)", "Riichi(1飜)", "Dora(1飜)", "Red Five(2飜)", "Ura Dora(1飜)" ] ] ],
        [ [ 3, 0, 0 ],
        [ 17000, 35000, 29000, 19000 ],
        [ 29 ],
        [],
        [ 11, 11, 24, 25, 27, 29, 29, 31, 33, 38, 41, 41, 46 ],
        [ 23, 31, "p414141", 21, 34, 26, "29p2929", 27, 18, 47, 45, 33 ],
        [ 38, 46, 33, 27, 60, 60, 21, 60, 60, 60, 60, 60 ],
        [ 13, 15, 16, 24, 28, 37, 39, 41, 43, 43, 45, 45, 46 ],
        [ "43p4343", "c383739", 22, 44, "45p4545", 32, 39, 14, 17, 12, 25, 18, 27, 33 ],
        [ 28, 24, 13, 41, 22, 15, 16, 60, 60, 60, 60, 60, 60, 44 ],
        [ 11, 14, 18, 21, 28, 29, 34, 37, 44, 46, 47, 47, 47 ],
        [ 24, 23, 28, 13, 38, 15, 17, 19, 12, 44, 32, 27, 19 ],
        [ 11, 44, 46, 18, 34, 38, 37, 29, 19, 60, 21, 28, 28 ],
        [ 14, 15, 16, 17, 19, 21, 23, 24, 26, 28, 31, 35, 36 ],
        [ 43, 41, 36, 45, 42, 17, 19, 35, "17p1717", 22, 52, 38, 12, 11 ],
        [ 60, 31, 35, 41, 45, 42, 28, 60, 21, 19, 19, 60, 60, 60 ],
        [ "和了", [ 1300, 0, 0, -1300 ],
        [ 0, 3, 0, "40符1飜1300点", "Prevalent Wind(1飜)" ] ] ],
        [ [ 4, 0, 0 ],
        [ 18300, 35000, 29000, 17700 ],
        [ 28 ],
        [],
        [ 51, 18, 18, 21, 21, 24, 24, 25, 27, 33, 34, 36, 39 ],
        [ 41, 34, 42, 33, 39, 36, 26, 19, 17, 32, 42, 16, 45, 22, 14 ],
        [ 60, 39, 33, 60, 60, 42, 60, 27, 60, 60, 60, 60, 60, 60, 60 ],
        [ 18, 23, 24, 26, 32, 33, 33, 38, 41, 42, 43, 44, 46 ],
        [ 35, 47, 22, 36, 23, 26, 31, 29, 45, 17, 31, 21, 14, 39 ],
        [ 18, 26, 41, 43, 44, 46, 47, 42, 60, 60, 29, 38, 26, 60 ],
        [ 12, 13, 13, 14, 19, 23, 26, 27, 28, 29, 39, 44, 46 ],
        [ 43, 43, 16, "p434343", 32, 53, 15, 16, 15, 37, 28, 16, 18 ],
        [ 44, 39, 19, 46, 60, 23, 12, 26, 53, 60, 60, 60, 60 ],
        [ 12, 15, 17, 27, 29, 37, 37, 38, 42, 43, 45, 45, 47 ],
        [ 11, "c393738", 41, 13, 38, 21, 44, 14, "45p4545", 28, 34, 32, 19, 25 ],
        [ 43, 37, 60, 15, 17, 38, 60, 60, 42, 21, 60, 60, 60, 60 ],
        [ "和了", [ -2000, 0, 2000, 0 ],
        [ 2, 0, 2, "30符2飜2000点", "Seat Wind(1飜)", "Dora(1飜)" ] ] ],
        [ [ 5, 0, 0 ],
        [ 16300, 35000, 31000, 17700 ],
        [ 23 ],
        [ 22 ],
        [ 12, 15, 15, 17, 19, 21, 22, 25, 27, 35, 45, 46, 47 ],
        [ 44, 42, 23, 18, 44, 34, 46, 31, 19, 12, 38, 36, 19, 21, 28, 41 ],
        [ 60, 60, 47, 46, 45, 44, 60, 12, 60, 60, 60, 31, 60, 60, "r25", 60 ],
        [ 12, 13, 51, 18, 18, 19, 31, 34, 35, 42, 42, 44, 47 ],
        [ 47, 46, "p424242", "p474747", 34, 12, 11, 15, 52, 39, 41, 33, 37, 13, 41, 39, 31 ],
        [ 44, 31, 34, 35, 60, 46, 19, 12, 60, 60, 60, 60, 60, 60, 60, 60, 60 ],
        [ 14, 16, 21, 22, 24, 29, 53, 35, 36, 36, 39, 44, 45 ],
        [ 13, 43, 36, 26, 32, 17, 45, "c121314", "c522426", 14, 25, 23, 17, 11, 11, 43, 29 ],
        [ 44, 60, 39, 29, 45, 21, 60, 32, 22, 60, 60, 60, 60, 60, 60, 60, 60 ],
        [ 11, 13, 16, 25, 26, 27, 27, 28, 28, 29, 34, 43, 47 ],
        [ 37, 32, 24, 32, 29, 38, 17, 16, 23, 42, "c252426", 46, 14, 33, 26, 39 ],
        [ 34, 60, 16, 43, 32, 47, 60, 60, 13, 60, 11, 60, 60, 37, 33, 38 ],
        [ "和了", [ 4900, 0, -3900, 0 ],
        [ 0, 2, 0, "30符3飜3900点", "Pinfu(1飜)", "Riichi(1飜)", "Ura Dora(1飜)" ] ] ],
        [ [ 6, 0, 0 ],
        [ 20200, 35000, 27100, 17700 ],
        [ 39, 44, 15 ],
        [],
        [ 13, 23, 24, 27, 28, 29, 35, 41, 42, 42, 43, 44, 46 ],
        [ 45, 14, 47, "42p4242", 23, 26, 35, 14, 25, 31, 17, 43, 37, 18, 32, 13, 31 ],
        [ 35, 43, 14, 13, 45, 41, 60, 60, 44, 60, 60, 47, 60, 43, 60, 60, 60 ],
        [ 12, 17, 18, 21, 21, 22, 24, 25, 26, 27, 32, 47, 47 ],
        [ 45, "2121p21", 14, 41, 45, "4545p45", 53, 39, 47, 21, 38, 16, 11, 33, "m47474747", 28, 29, 19, 16, 39, 13 ],
        [ 32, 12, 60, 60, 17, 18, 60, 60, 22, "2121k2121", 60, 60, 60, 60, 0, 60, 60, 60, 60, 60, 60 ],
        [ 13, 15, 15, 17, 21, 26, 29, 31, 34, 37, 41, 42, 43 ],
        [ 45, 25, 11, 26, 37, 28, 32, 22, 36, 32, 38, 12, 34, 33, 44, 36, 37, 46, 41, 36 ],
        [ 43, 21, 29, 11, 42, 45, 41, 31, 22, 28, 13, 60, 38, 17, 60, "r25", 60, 60, 60, 60 ],
        [ 11, 14, 16, 18, 19, 22, 22, 24, 24, 28, 33, 38, 46 ],
        [ 46, 31, 19, 34, 33, 52, 43, 17, 42, 34, 12, 44, 18, 16, 23, 29 ],
        [ 11, 28, 38, 14, 18, 16, 60, 60, 34, 60, 60, 31, 42, 44, 16, 60 ],
        [ "Ryuukyoku", [ -1500, 1500, 1500, -1500 ] ] ],
        [ [ 6, 1, 1 ],
        [ 18700, 36500, 27600, 16200 ],
        [ 29 ],
        [],
        [ 11, 13, 15, 17, 19, 23, 28, 29, 35, 37, 42, 43, 47 ],
        [ 47, 19, 18, "47p4747" ],
        [ 43, 23, 42, 28 ],
        [ 12, 13, 16, 18, 24, 26, 26, 27, 31, 36, 39, 42, 44 ],
        [ 27, 45, 16 ],
        [ 31, 44, 42 ],
        [ 12, 14, 19, 19, 23, 28, 31, 32, 33, 36, 36, 41, 44 ],
        [ 45, 25, 47, 18 ],
        [ 44, 45, 41, 47 ],
        [ 13, 22, 24, 25, 26, 27, 29, 35, 37, 41, 41, 44, 44 ],
        [ "p444444", 22, "p414141" ],
        [ 13, 35, 37 ],
        [ "和了", [ -2300, 0, 0, 3300 ],
        [ 3, 0, 3, "30符2飜2000点", "Half Flush(2飜)" ] ] ],
        [ [ 7, 0, 0 ],
        [ 16400, 36500, 27600, 19500 ],
        [ 29 ],
        [],
        [ 11, 11, 16, 19, 27, 38, 39, 39, 43, 43, 44, 46, 47 ],
        [ 41, "1111p11", 26, 28, 29, "p434343", 22, 29, 39, 33, 32, 42, 14 ],
        [ 16, 38, 60, 27, 28, 41, 60, 46, 19, 60, 60, 44, 60 ],
        [ 11, 25, 27, 29, 33, 37, 38, 38, 41, 43, 44, 45, 45 ],
        [ 32, "p383838", "45p4545", 12, 22, 41, "41p4141", 15, 17, 47, 23, 37, 17, 14, 26 ],
        [ 11, 29, 27, 60, 25, 22, 44, 43, 15, 17, 60, 47, 60, 60, 60 ],
        [ 12, 13, 14, 15, 19, 19, 25, 33, 34, 35, 37, 46, 47 ],
        [ 28, 23, 31, 24, 31, 31, 12, 17, 44, 24, 27, 13, 23, 42 ],
        [ 47, 46, 60, 28, 60, 60, 37, 19, 19, 44, 17, 24, 27, 60 ],
        [ 12, 51, 16, 17, 18, 21, 24, 24, 26, 27, 28, 32, 34 ],
        [ 45, 34, 18, 36, 42, 41, 43, 46, 23, 16, 38, "c171618", 44, 45, 31 ],
        [ 21, 45, 12, 34, 60, 60, 60, 60, 24, 32, 60, 18, 60, 60, 60 ],
        [ "和了", [ 0, 3900, 0, -3900 ],
        [ 1, 3, 1, "30符3飜3900点", "Half Flush(2飜)", "White Dragon(1飜)" ] ] ] ],
    "ratingc": "PF4",
    "rule": { "disp": "Silver Room South", "aka53": 1, "aka52": 1, "aka51": 1 },
    "lobby": 0,
    "dan": [ "Adept III", "Adept I", "Adept I", "Adept III" ],
    "rate": [ 526, 464, 445, 437 ],
    "sx": [ "M", "F", "F", "F" ],
    "name": [ "大型犬", "夜室泥霸霸", "Rhdimer", "catcat" ],
    "sc": [ 16400, -13.6, 40400, 30.4, 27600, 7.6, 15600, -24.4 ],
    "title": [ "Silver Room South", "12/7/2021, 2:58:41 PM" ]
}

troubleshot had my solution
I can't read, sorry.


Disable auto-paginate when getting repo list

This is an effort to fix issue #1268:
https://github.com/coreinfrastructure/best-practices-badge/issues/1268
It's failing to start a project on a user with a large
number of GitHub repos. If that is the cause of the problem, as seems
highly plausible, then limiting the number of repo records
we download from GitHub will resolve the problem.
Note: this commit does not fix the corresponding tests.
Signed-off-by: David A. Wheeler<EMAIL_ADDRESS>

The tests are expected to fail - this is just a PR to show the idea, we can then fix the tests.

@jdossett - thoughts?

I think limiting to 30 will cause a lot of confusion. I would at least do 100 or 200, and then mention that it is only the first x hundred that are being shown. Another option would be to add retry logic, since GitHub will probably deliver things quickly the second time.

User mikesamuel only has 80 repos, and he's the user who's reporting that the problem occurs intermittently.  So if this is the problem, then the max needs to be lower than 80.
To be clear: I am NOT certain that the number of repos is what is triggering the problem in the first place.  The problem is intermittent, and of course that's the worst kind of problem.  Especially since I haven't been able to reproduce the problem at all :-(.
The first step was to see how hard it would be to enforce a limit.  This PR shows it's easy.  Whether or not we should do this is another matter.
I will say that "too many repos" is a plausible hypothesis.  GitHub's REST API produces a huge amount of data for each repo, so the request for mikesamuel's 80 repos produces 465487 bytes (almost 6K/repo, though there's some fixed stuff regardless of the number of repos).  I bet GitHub does not try to stream the JSON (it's possible but extra work in Rails), and if so, GitHub has to completely create that in memory (likely multiple times) and then transmit it, which causes a multi-second delay when things are fine.
If the problem is all the baggage, we might make things better by using GitHub's GraphQL API, but that's a completely different API.

I think limiting to 30 will cause a lot of confusion.

Perhaps the UI could show "Max: NUMBER" to hint at the max length?  I don't have any problem having some limit, but I agree that < 100 is a rather low limit.
I haven't tweaked the tests to match because it's not clear we should go this way.  Discussion welcome.

The largest per-page value we can set is 100 per pagination, and it's not clear to me that we really want to fire off multiple requests just to get the repo list.
It's probably wise to set a maximum no matter what, even though the only impact is that a user can hurt himself if he has "too many" repos (whatever that means).  A maximum would mean that a user with a massive number of repos could still get a badge.
I just had an interesting thought: It's possible that our forcing auto-pagination might be causing the problem.  It might be sequentially requesting groups of 30 (the default size), and each of those induces a delay.  Enough delays could cause a real problem.

@jdossett has a good idea - sort by "pushed" using:
https://api.github.com/user/repos?sort=pushed
That way, the repos most recently pushed to will be on the list.  That almost certainly will capture the projects that someone would want for a badge.
An alternative would be to make a request using GraphQL, but that's a completely different API that would require a different approach, and while we could request much less info, it's not clear that the response from GitHub will be faster (because it has to process the GraphQL query). Sorting by "pushed" is way easier to implement and should provide what we want.

I'd love a better approach, but timeouts when trying to start a badge are really bad.  This seems like the most plausible way to resolve the problem given other constraints.

@dankohn @jdossett - This is an unexpected problem.  I record VCR cassettes and commit them, but the tests don't find matching entries in those cassettes later.
Here's a similar problem I have locally when I run "rails test" (without recording) after I run one  DRIVER=chrome GITHUB_PASSWORD='(real pass)' rails t ...
================================================================================
An HTTP request has been made that VCR does not know how to handle:
  GET https://api.github.com/repos/ciitest/test-repo/languages?client_id=3e90194c70b57b71188e&client_secret=d2e3f002838f611a514b84a1727bf6e500a67d2b&per_page=100

VCR is currently using the following cassette:
  - /home/dwheeler/best-practices-badge/test/vcr_cassettes/unit_test_github_basic_detective.yml
    - :record => :once
    - :match_requests_on => [:method, :uri]

Under the current configuration VCR can not find a suitable HTTP interaction
to replay and is prevented from recording new requests. There are a few ways
you can deal with this:

  * If you're surprised VCR is raising this error
    and want insight about how VCR attempted to handle the request,
    you can use the debug_logger configuration option to log more details [1].
  * You can use the :new_episodes record mode to allow VCR to
    record this new request to the existing cassette [2].
  * If you want VCR to ignore this request (and others like it), you can
    set an `ignore_request` callback [3].
  * The current record mode (:once) does not allow new requests to be recorded
    to a previously recorded cassette. You can delete the cassette file and re-run
    your tests to allow the cassette to be recorded with this request [4].
  * The cassette contains 1 HTTP interaction that has not been
    played back. If your request is non-deterministic, you may need to
    change your :match_requests_on cassette option to be more lenient
    or use a custom request matcher to allow it to match [5].

[1] https://www.relishapp.com/vcr/vcr/v/4-0-0/docs/configuration/debug-logging
[2] https://www.relishapp.com/vcr/vcr/v/4-0-0/docs/record-modes/new-episodes
[3] https://www.relishapp.com/vcr/vcr/v/4-0-0/docs/configuration/ignore-request
[4] https://www.relishapp.com/vcr/vcr/v/4-0-0/docs/record-modes/once
[5] https://www.relishapp.com/vcr/vcr/v/4-0-0/docs/request-matching
================================================================================

    app/lib/github_basic_detective.rb:164:in `block in analyze'
    app/lib/github_basic_detective.rb:88:in `match'
    app/lib/github_basic_detective.rb:88:in `analyze'
    test/unit/lib/github_basic_detective_test.rb:22:in `block (2 levels) in <class:GithubBasicDetectiveTest>'
    test/unit/lib/github_basic_detective_test.rb:20:in `block in <class:GithubBasicDetectiveTest>'

That shouldn't happen, but obviously it is.
My current suspicions are looking at this part of the report:

The cassette contains 1 HTTP interaction that has not been
played back. If your request is non-deterministic, you may need to
change your :match_requests_on cassette option to be more lenient
or use a custom request matcher to allow it to match.

When I get a chance that's where I plan to start investigating.
That said, if you have any thoughts I'd love to hear them.

I may also want to use :new_episodes record mode to allow VCR to add requests to existing cassettes.

Solved!  We need to modify the VCR configuration to use new_episodes.

The test problems are solved!  Once I modified the VCR configuration to use :new_episodes, life is good.  All seems to work now, so I intend to push this change to master.
We do not know that this will resolve our timeout problems.  However, intentionally limiting the amount of data we read from external sources is almost always a good idea to help protect ourselves, so it's a reasonable thing to do no matter what.
Since we can't reproduce the problem, I'm focusing on fixing the "most likely cause".  That's never ideal, I'd much rather reproduce before fixing.  However, the timeouts occur on "create new project", and the only interesting activity at that point that I can find is downloading the user's repo list.  We don't try to create a new project entry until after this point, for example.  Given that we lack a good reproducibility mechanism, and that we really need to fix this problem I think this branch is our best bet.

Any thoughts?  Seem okay?  I think Jason Dossett's idea to sort by "pushed" greatly reduces the likelihood of problems... we will now prioritize the repos the user has recently been committing to, and the project they want badged is extremely likely to be in that list.


Release KubeOne 1.2.1

Scheduled to happen: Tuesday, 2021-03-23
Before Release

[x] Write and publish the changelog (#1292, #1293)

Release

[x] Create and push a new tag
[x] Ensure that the release job has succeeded
(watch https://public-prow.loodse.com/?job=post-kubeone-release)

After Release

[x] Update the release's description on the GitHub Releases page to replace
the automatically generated description with the changelog

Action Items

/assign

/close


Add styles to Bar in Progress component

I noticed I couldn't change the bar color on the progress component without altering the actual component
<ProgressPrimitive.Indicator
  className="h-full w-full flex-1 bg-primary transition-all"
  style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
/>

like this
<ProgressPrimitive.Indicator
  className="h-full w-full flex-1 bg-[#6160DC] transition-all"
  style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
/>

So to add styles to my bar I created a property barClassName and passed it as a prop to the component
const Progress = React.forwardRef<
  React.ElementRef<typeof ProgressPrimitive.Root>,
  React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>
>(({ className, value, barClassName, ...props }, ref) => (
  <ProgressPrimitive.Root
    ref={ref}
    className={cn(
      "relative h-4 w-full overflow-hidden rounded-full bg-secondary",
      className,
    )}
    {...props}
  >
    <ProgressPrimitive.Indicator
      className={cn(
        "h-full w-full flex-1 bg-primary transition-all",
        barClassName,
      )}
      style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
    />
  </ProgressPrimitive.Root>
));

I also created an issue to add this to the radix primitive but if it isn't accepted, I was hoping you could create a workaround that will allow us to pass a barClassName or similar property to the component

I changed it to look like this so I won't have to update radix itself
interface ExtraProps {
  barClassName?: string;
}

const Progress = React.forwardRef<
  React.ElementRef<typeof ProgressPrimitive.Root>,
  React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root> & ExtraProps
>(({ className, value, barClassName, ...props }, ref) => (
  <ProgressPrimitive.Root
    ref={ref}
    className={cn(
      "relative h-4 w-full overflow-hidden rounded-full bg-secondary",
      className,
    )}
    {...props}
  >
    <ProgressPrimitive.Indicator
      className={cn(
        "h-full w-full flex-1 bg-primary transition-all",
        barClassName,
      )}
      style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
    />
  </ProgressPrimitive.Root>
));

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.

@shadcn the issue wasn't reviewed (to the best of my knowledge)

@Judge-Paul Agreed. Reopening this. (note: I know it says I closed but it was done via an action - sorry about that.

any update on this? ran into the same thing

I changed it to look like this so I won't have to update the radix files
interface ExtraProps {
  barClassName?: string;
}

const Progress = React.forwardRef<
  React.ElementRef<typeof ProgressPrimitive.Root>,
  React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root> & ExtraProps
>(({ className, value, barClassName, ...props }, ref) => (
  <ProgressPrimitive.Root
    ref={ref}
    className={cn(
      "relative h-4 w-full overflow-hidden rounded-full bg-secondary",
      className,
    )}
    {...props}
  >
    <ProgressPrimitive.Indicator
      className={cn(
        "h-full w-full flex-1 bg-primary transition-all",
        barClassName,
      )}
      style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
    />
  </ProgressPrimitive.Root>
));

@cdeck95 you can just use this component, I doubt it's getting added any time soon

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


[$1000] Opening search using the keyboard shortcut (ctrl+k) while options for adding payment method are visible, options overlap with search.

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

Action Performed:

navigate to settings ->payments
Click on "Add payment method"
Press (ctrl+k) on the keyboard

Expected Result:
options for adding payment method should not appear (Overlap) on search page
Actual Result:
options for adding payment method appear (Overlap) on search page
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] MacOS / Chrome / Safari

Version Number: 1.2.66-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/217110696-562f947d-3279-494e-935d-3bc19be503cd.mp4
https://user-images.githubusercontent.com/43996225/217110709-1b91dd72-e077-4701-9b34-5f537b3813f0.mp4
Expensify/Expensify Issue URL:
Issue reported by: @Harshdeepjoshi
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1675711618695179
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0106757eb17dcdb76c
Upwork Job ID:<PHONE_NUMBER>154911232
Last Price Increase: 2023-02-06

Triggered auto assignment to @puneetlath (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Job added to Upwork: https://www.upwork.com/jobs/~0106757eb17dcdb76c

Current assignee @puneetlath is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @aimane-chnaif (External)

Current assignee @puneetlath is eligible for the External assigner, not assigning anyone new.

Proposal
RCA
When a stack navigator route is opened, it does not unmount the previous stack navigator route. Instead, the previous route remains open. In this case, the Popover component of the previous route has a z-Index of 99999 which is higher than the z-index of the new stack navigator screen. Since there is no click involved in opening the search screen and popover menu has a z-index too high, the popover menu keeps on showing up even when the search page is opened.
Solutions
There can be multiple solutions here depending on the testing effort we want to put into this.

We can add another KeyboardShortcut listener for CMD+K in the BasePaymentsPage where when called, it will set the shouldShowAddPaymentMenu to false. This will cause the popup to close whenever the shortcut is pressed. This is the most failsafe approach as it will not impact any other place.
z-Index of the popover can be decreased such that when the new screen opens, the popover menu stays behind it. We'll decrease the z-index for popover only (not the modal). This will require more QA effort to make sure that we did not break anything elsewhere.

Proposal
Problem
This issue occurs for all the modals i.e. all modals stay open when any keyboard shortcuts are triggered.
Solution
We should close all the modals/popovers before opening any new modals or navigating to new routes by calling Navigation.dismissModal(). Currently, the places I can think of are before navigating to Search, New Group & Shortcut Modal.
Will post code solution soon.

Looks like something related to react-navigation may have been mentioned in this issue discussion.
As a reminder, please make sure that all proposals are not workarounds and that any and all attempt to fix the issue holistically have been made before proceeding with a solution. Proposals to change our DeprecatedCustomActions.js files should not be accepted.
Feel free to drop a note in #expensify-open-source with any questions.

Proposal
Yes, it is indeed happening to all modal, except for FAB. We already have a fix only for FAB and we can use that by moving the part of the logic to the modal component instead. The logic that we need move to the modal component is when the screen focus is changed, we then close the modal. We can't move the drawer state logic from FAB because not all modal is inside a drawer navigator, so that logic is still there on the FAB component.
https://github.com/Expensify/App/blob/26fdacee7e13cb4c9f1d563ac224658c3d65b25b/src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.js#L80-L108
diff --git a/src/components/Modal/BaseModal.js b/src/components/Modal/BaseModal.js
index 1b58579f93..c3bf01e25e 100644
--- a/src/components/Modal/BaseModal.js
+++ b/src/components/Modal/BaseModal.js
@@ -10,9 +10,13 @@ import {propTypes as modalPropTypes, defaultProps as modalDefaultProps} from './
 import * as Modal from '../../libs/actions/Modal';
 import getModalStyles from '../../styles/getModalStyles';
 import variables from '../../styles/variables';
+import compose from '../../libs/compose';
+import withNavigationFocus, {withNavigationFocusPropTypes} from '../withNavigationFocus';
+import withNavigationFallback from '../withNavigationFallback';

 const propTypes = {
     ...modalPropTypes,
+    ...withNavigationFocusPropTypes,

     /** The ref to the modal container */
     forwardedRef: PropTypes.func,
@@ -31,6 +35,13 @@ class BaseModal extends PureComponent {
     }

     componentDidUpdate(prevProps) {
+        if (this.didScreenBecomeInactive(prevProps)) {
+            // Hide popover manually when other pages are opened using shortcut key
+            if (this.props.isVisible) {
+                this.props.onClose();
+            }
+        }
+
         if (prevProps.isVisible === this.props.isVisible) {
             return;
         }
@@ -43,6 +54,22 @@ class BaseModal extends PureComponent {
         this.hideModal(this.props.isVisible);
     }

+    /**
+     * Check if page status changed from active to inactive.
+     * Used to close already opened popover when open any other pages (i.e. Press Command + K on web).
+     *
+     * @param {Object} prevProps
+     * @return {Boolean}
+     */
+    didScreenBecomeInactive(prevProps) {
+        // When any other page is opened over the page
+        if (!this.props.isFocused && prevProps.isFocused) {
+            return true;
+        }
+
+        return false;
+    }
+
     /**
      * Hides modal
      * @param {Boolean} [callHideCallback=true] Should we call the onModalHide callback
@@ -166,7 +193,10 @@ class BaseModal extends PureComponent {
 BaseModal.propTypes = propTypes;
 BaseModal.defaultProps = defaultProps;

-export default React.forwardRef((props, ref) => (
+export default compose(
+    withNavigationFallback,
+    withNavigationFocus,
+)(React.forwardRef((props, ref) => (
     // eslint-disable-next-line react/jsx-props-no-spreading
     <BaseModal {...props} forwardedRef={ref} />
-));
+)));
diff --git a/src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.js b/src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.js
index 6fe0447ef4..c999e68275 100644
--- a/src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.js
+++ b/src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.js
@@ -99,11 +99,6 @@ class FloatingActionButtonAndPopover extends React.Component {
             return true;
         }

-        // When any other page is opened over LHN
-        if (!this.props.isFocused && prevProps.isFocused) {
-            return true;
-        }
-
         return false;
     }

However, it does not cover the case for keyboard shortcut modal. When open the keyboard shortcut from Settings > About and we press ctrl+k for example, the keyboard shortcut modal will not be closed because the screen focus where the keyboard shortcut modal resides does not change. That is because KeyboardShortcutModal is placed inside SidebarScreen component.
When we open Settings > About, the sidebar screen isFocused will be changed to false already and when we open another page from the shortcut, the focus state will not be changed. So, we need to manually hide the keyboard shortcut modal when the new group/chat shortcut is executed.
https://github.com/Expensify/App/blob/26fdacee7e13cb4c9f1d563ac224658c3d65b25b/src/pages/home/sidebar/SidebarScreen/BaseSidebarScreen.js#L50-L69
diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.js b/src/libs/Navigation/AppNavigator/AuthScreens.js
index 58fae5f8b4..bf44befe49 100644
--- a/src/libs/Navigation/AppNavigator/AuthScreens.js
+++ b/src/libs/Navigation/AppNavigator/AuthScreens.js
@@ -30,6 +30,7 @@ import defaultScreenOptions from './defaultScreenOptions';
 import * as App from '../../actions/App';
 import * as Download from '../../actions/Download';
 import * as Session from '../../actions/Session';
+import * as KeyboardShortcutsActions from '../../actions/KeyboardShortcuts';

 let currentUserEmail;
 Onyx.connect({
@@ -114,9 +115,11 @@ class AuthScreens extends React.Component {
         // based on the key modifiers pressed and the operating system
         this.unsubscribeSearchShortcut = KeyboardShortcut.subscribe(searchShortcutConfig.shortcutKey, () => {
             Navigation.navigate(ROUTES.SEARCH);
+            KeyboardShortcutsActions.hideKeyboardShortcutModal();
         }, searchShortcutConfig.descriptionKey, searchShortcutConfig.modifiers, true);
         this.unsubscribeGroupShortcut = KeyboardShortcut.subscribe(groupShortcutConfig.shortcutKey, () => {
             Navigation.navigate(ROUTES.NEW_GROUP);
+            KeyboardShortcutsActions.hideKeyboardShortcutModal();
         }, groupShortcutConfig.descriptionKey, groupShortcutConfig.modifiers, true);
     }

Result
https://user-images.githubusercontent.com/50919443/217141687-9473ba52-5227-4767-a463-b5130aa88582.mov

Proposal
Problem
When a popover menus are opened,  triggering the search with keyboard shortcuts keep them opened.
Solution
Attach Keyboard listeners to close the popover menu once the keyboard is triggered.
Changes will be made to src/components/PopoverMenu/index.js.
So joining @allroundexperts   proposal while adding more customization.

Then a method to remove the listeners:

Screen
https://user-images.githubusercontent.com/41970812/217148373-62656def-b5be-42b5-9abe-196ee9d42c92.mov

Proposal
Problem:
Modals stay open when any keyboard shortcuts are triggered.
Root Cause: In the AuthScreens.js file, the code is missing to dismiss the previously opened modal in the keyboard shortcut listeners.

Solution: Navigation.dismissModal() needs to add on below place in AuthScreens.js file, in order to close old modal when new modal arise.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Press Ctrl+K on keyboard when any popover modal shows. Search page opens but it's behind popover and not active until popover is closed manually.
What is the root cause of that problem?
There are 3 keyboard shortcuts to open new page: Search, New group, Shortcut modal.
Since keyboard shortcut works everywhere, this also works when any modal is open.
Modal is always top priority in view hierarchy so new page which is opened later is still behind modal.
We didn't handle this case from the beginning when keyboard shortcut is implemented.
What changes do you think we should make in order to solve the problem?
The solution is to close any popover open which prevents new page being being active.
1. Close any popover when Search page (Ctrl+K) or New group page (Ctrl+Shift+K) is opening
The ideal component to handle this case is PopoverMenu.
There's already existing code of handling ENTER shortcut key in attachKeyboardListener when visible, removeKeyboardListener when invisible.
https://github.com/Expensify/App/blob/39d9b660e387b28688a221b976f0fbf52873cc67/src/components/PopoverMenu/index.js#L59-L75
We can use similar approach for NEW_GROUP, SEARCH shortcuts. So in subscribe callback, just call this.props.onClose() to close modal.
2. Close any popver when Shortcut modal is opening
We can use same approach as 1. but there's already existing flag saved in Onyx so we can use this without subscribing another listener: isShortcutsModalOpen: {key: ONYXKEYS.IS_SHORTCUTS_MODAL_OPEN},
https://github.com/Expensify/App/blob/39d9b660e387b28688a221b976f0fbf52873cc67/src/components/PopoverMenu/index.js#L34-L44
We can catch shortcut modal opened state in componentDidUpdate of PopoverMenu and call this.props.onClose() to close popover.
3. Close shortcut modal when Search page or New group page is opening
SEARCH, NEW_GROUP shortcut key event listeners are added in AuthScreens so we can use this to hide keyboard shortcut modal.
https://github.com/Expensify/App/blob/39d9b660e387b28688a221b976f0fbf52873cc67/src/libs/Navigation/AppNavigator/AuthScreens.js#L116-L121
Just call KeyboardShortcutsActions.hideKeyboarShortcutModal() in subscribe callbacks.
Demo:
https://user-images.githubusercontent.com/108292595/218339553-e1c07362-40ee-43c8-b01f-055f0ed74962.mov

@aimane-chnaif any updates/feedback on the proposals above?

@allroundexperts's proposal is limited to Payments page. It should be general solution. i.e. when click + on composer

@aimane-chnaif Can you please list down the case where this fails in particular? Pressing a + on composer and then opening side menu doesn't seem to cause any problem. Can you please elaborate?

@aimane-chnaif is this a real world scenario? I mean, users on mobile won't be able to use the shortcuts anyway.

@aimane-chnaif Can you please list down the case where this fails in particular? Pressing a + on composer and then opening side menu doesn't seem to cause any problem. Can you please elaborate?

@allroundexperts 👇
https://user-images.githubusercontent.com/96077027/218563477-7db0e9c5-1a09-4f36-9cfe-2f2b1c615448.mov

@aimane-chnaif is this a real world scenario? I mean, users on mobile won't be able to use the shortcuts anyway.

@allroundexperts This is not mobile but web with small width

Exactly. Even on mweb these shortcuts aren't available. Unless someone connects a keyboard with mobile?

@aimane-chnaif is this a real world scenario? I mean, users on mobile won't be able to use the shortcuts anyway.

@allroundexperts This is not mobile but web with small width

Exactly. Even on mweb these shortcuts aren't available. Unless someone connects a keyboard with mobile?

You're hitting mobile screen breakpoint and trying to use keyboard there.

@aimane-chnaif is this a real world scenario? I mean, users on mobile won't be able to use the shortcuts anyway.

@aimane-chnaif Can you please list down the case where this fails in particular? Pressing a + on composer and then opening side menu doesn't seem to cause any problem. Can you please elaborate?

@allroundexperts 👇
https://user-images.githubusercontent.com/96077027/218563477-7db0e9c5-1a09-4f36-9cfe-2f2b1c615448.mov

If this is really a bummer, we can add this shortcut listener to the + popover as well. That will fix it for your mentioned case. We can also move the listener inside the popover component as well to make it more generic. Let me know if this works for you.

Another example:
https://user-images.githubusercontent.com/96077027/218567432-f7bb4278-2304-44ec-a527-a511fe64898d.mov

@aimane-chnaif have you applied my changes correctly? This works with my changes.

 this.unsubscribeSearchShortcut = KeyboardShortcut.subscribe(searchShortcutConfig.shortcutKey, () => {
+            this.hideAddPaymentMenu();
+        }, searchShortcutConfig.descriptionKey, searchShortcutConfig.modifiers, true, true, undefined, false);
+        this.unsubscribeGroupShortcut = KeyboardShortcut.subscribe(groupShortcutConfig.shortcutKey, () => {
+            this.hideAddPaymentMenu();
+        }, groupShortcutConfig.descriptionKey, groupShortcutConfig.modifiers, true, true, undefined, false);
     }

@aimane-chnaif Yea, you're right about this. How about moving this logic inside the popover menu component itself? That will solve it everywhere.

You've actually done something similar here as well:
https://github.com/Expensify/App/pull/12031

@aimane-chnaif Can you make sure withNavigationFallback HOC is being used on BaseModal and put before withNavigationFocus? I think the order also matters.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Opening other pages overlaps with opened modal(s).
What is the root cause of that problem?
We don't hide open modals navigating to other pages.
What changes do you think we should make in order to solve the problem?
Hide open modals on navigation change. The react-navigation listener is not available for all modals so using withNavigation HOC won't work. Instead we will have to manage those events manually by dispatching them here and consuming them here.
To dispatch events we will make use of dispatchEvent (Web Only).
What alternative solutions did you explore? (Optional)

Do nothing. I don't think we should fix this especially since it's related to keyboard navigation (which we are currently holding)

I don't think we should fix this especially since it's related to keyboard navigation

Did you mean it's related to app navigation? If so, I could see that argument. What do you think @aimane-chnaif?

I have an updated proposal which applies to all modals, not only popovers.
Closing modal on navigation state change is not a reliable solution. And apart from shortcut keys, there's no way of changing navigation state while showing modal, and thus, no need to subscribe navigation changes in every modal (for performance and optimization).
Finally I think the solution below is simple and reasonable:
1. Close any popover when Search page (Ctrl+K) or New group page (Ctrl+Shift+K) is opening

define closeModal function as a global variable (/libs/actions/Modal.js is the best place I think)
set onClose value of Modal prop to this variable only when modal is open. Set to null when closed
call closeModal function upon keyboard shortcuts of search, new group (event listeners are defined in AuthScreens.js) -> this calls onClose of Modal -> modal closes

Demo (I understand code diff is not recommended but just for testing purpose)
2. Close any popover when Shortcut modal is opening
This is already done in https://github.com/Expensify/App/pull/13956 but has issue I reported here with the solution.
Alternatively, we can use same approach as in 1. (in shortcut subscribe event listener defined in KeyboardShortcutsModal.js) -> I think this is simpler solution and recommended. cc: @pecanoro
3. Close shortcut modal when Search page or New group page is opening
Shortcut modal is also Modal so this is already done in 1.

@aimane-chnaif Yes, try with the report actions context menu.

Hover over any message
Right click to open the context menu
Press Ctrl+K

I think none of the above solutions handles this case (excluding the overkill solution of dispatching events)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Avoid the popovers from being displayed over the most recently opened modal.
What is the root cause of that problem?
The root cause of the problem is that we don't dismiss those popovers before opening the new modal thus it appears over it.
What changes do you think we should make in order to solve the problem?
We should rename & use the isShortcutsModalOpen key to keep track of the state of all such modals where we want other popovers to be dismissed before opening these modals.

@puneetlath @aimane-chnaif this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

@aimane-chnaif why do you think adding a new ONYK key is not a good/better solution when we already use ONYX keys for something as simple as displaying a particular modal e.g. Keyboard shortcuts modal

Using onyx value to get modal open/closed status is not recommended at all.
We don't guarantee that this weird issue won't happen on all modals.
https://user-images.githubusercontent.com/108292595/220308663-76cfc37b-5491-4b65-b3eb-5b8c61048c9c.mov
2 issues in this video:

Currently open modal is still open after refreshing page or visit same url on another tab on same browser (Is this a bug?)
Some contents of keyboard shortcut modal are hidden until refresh

@situchan yes that looks like a weird bug, but I still don't understand what does that have to do with using onyx or not? Are you saying that using onyx is the cause of this weird issue?

@aimane-chnaif I got your point about the shortcuts modal open key, thanks for explaining.

@priyeshshah11 If we introduce new onyx key for every modal, I am curious what will be key and what will be value?

The new key can be called isClosableModalOrPopoverOpen or some better word than close, the value should simply be a boolean. And yes, you're correct it should be applied to both BaseModal & Popover as per my latest proposal.

What do you mean? Can you share video? Also, don't post proposal similar to previous ones.

I am talking about this

With the new approach a lot of proposals are going to be similar with some differences, so what do you want me to do when I see issues/improvements with current proposals? we're definitely not supposed to edit proposals once posted.

I think @situchan's proposal sounds good too. Let's do it.

📣 @situchan You have been assigned to this job by @puneetlath!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@puneetlath, @aimane-chnaif, @situchan Whoops! This issue is 2 days overdue. Let's get this updated quick!

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.2.77-4 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/15413

If no regressions arise, payment will be issued on 2023-03-09. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@aimane-chnaif / @puneetlath] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@aimane-chnaif / @puneetlath] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ] [@aimane-chnaif / @puneetlath] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ] [@situchan] Propose regression test steps to ensure the same bug will not reach production again.
[ ] [@puneetlath] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

@situchan @Harshdeepjoshi can you please apply to the Upwork job? https://www.upwork.com/jobs/~0106757eb17dcdb76c
@aimane-chnaif can you please help with the checklist?
Thanks!

@Harshdeepjoshi @situchan sent you hiring offers!
@aimane-chnaif paid!

All paid. Thanks everyone!


change event not fired when the input value is empty

change event not fired when the input value is empty
<input type="text change="onchageEvent()" >
the above function is not working for if value is empty

Hi @sadashivm, I have created a plunker to verify this issue, but I haven't found anything wrong in it. You can take a look at https://plnkr.co/edit/qpo05FBWVUkSXLtEPH0W?p=preview.

I have closed this issue, feel free to reopen it if you still have any trouble!


Generating heat map and density visualizations

Hi @hengruizhang98 ,
I just read your work and it seems very interesting. I've been trying to run some experiments myself and I was wondering if there is any existing code that generates figures 5 and 6 in the paper (visualization of the synthetic data's distribution and column-correlation heat maps)?
Thank you!

See the solved isue #11 .


Assertion failed!

Every time i try to open the wallet I get this error.
Assertion Failed!
Program: D:\bulwark-1.2.0 wallet\bin\bulwark-qt.exe
File: main.cpp, Line2871
Expression: !setBlockIndexCandidates.empty()

I have the same Alert, only with ignore is opened the wallet but sink with network failed.
this Alert without sync over 2 days.
I mining to my wallet and now I don't know what about my deposit to my wallet.

@vitalybond I would suggest backing up your actual wallet.dat it is usually stored in %APPDATA%\Bulwark then clearing up all the blockchain data and resync the whole blockchain. Not sure what is causing this issue but at least you would be able to get your mined coins.
So what I would do is:

Copy and store in a secure place your wallet.dat
Then rename the bulwark application data folder freom %APPDATA%\Bulwark to %APPDATA%\Bulwark.bkp
Relaunch bulwark-qt

Thank you very much.
this work.
Thanks.
Regards Vitaly.


Mark the StreamingProxyRedirects and ValidateProxyRedirects features as deprecated

https://github.com/kubernetes/website/pull/28065

please faithfully replicate that PR into zh localization.
All GA/deprecated gates are supposed to be migrated from the first table to the second one.
/hold

I'm closing this due to PR has been open for too long with no updates. Please feel free to reopen when you have interest/time to continue this work.
/close


Subtitle showing name participants that was deleted from Backend

Participant was deleted from Backend but in subtitle chat room still showing his name

that feature is available on backend to backend , and wont be added to sdk anytime soon

fixed on commit 182a43a, and will be added to next release (2.2.10)


Prevents opening Shopkeepers signs when installed

The plugin Shopkeepers allow to make custom entities (including signs) that when clicked open a villager trading GUI. With this mod installed clicking such a sign no longer does anything. I do not expect the mod to support "signs" as they are not villagers but it should not prevent me from clicking the sign.
https://dev.bukkit.org/projects/shopkeepers

I am also having this issue.

Sorry for the delayed response!
I think this is because this mod modifies the behavior of opening the GUI when receiving a TradeOfferPacket, so that it only opens the GUI if you interact with a villager.
This one is to make it consistent with the implementation that encourages packets to be sent from the server side when the cursor is placed on a villager.
However, as you said, it doesn't seem to work well with entities other than villagers.
At the moment, I haven't come up with a very good solution.
I think it might work if you combine the above condition with a condition like "cancel only if the cursor is on a villager," but I'm a bit worried about race conditions. If a packet from the server arrives late after you move the cursor, I think the GUI will open when that packet arrives.


Templates

Is there a list of site templates for wintersmith somewhere that can be used?

Not that i know of, there's the examples folder here and the showcase https://github.com/jnordberg/wintersmith/wiki/Showcase


changes

Thanks @lispwarez
Can you also document the filter you propose? Docs.md
Another option could be to parameterise the filters - use fff[1] or fff[2] if it exists to set interval and samples, then your “now” becomes: max:2:1
Why does the HA supervisor not show your PORT with the current tty filter?

Hey
Im an absolute novice with github so not 100% sure how to be doing all this. I have updated the Docs.md and submitted a new pull request.
Line 49 of Docs.md seems to be an incomplete sentence. Not 100% sure what you were traying to say.
You could add parameters to the filters but I foresee more chance for users to do something wrong and then you will get more ‘bugs’ reported
As for the PORT setting I run my home assistant instance in MS Hyper-V which does not have any USB ports exposed to the VM. If you are forcing the settings to match a device but there is no device available you just cant save the settings and then cant start the addon
From: Johann Kellerman @.>
Sent: Saturday, 29 January 2022 09:55
To: kellerza/sunsynk @.>
Cc: lispwarez @.>; Mention @.>
Subject: Re: [kellerza/sunsynk] changes (PR #6)
Thanks @lispwarez https://github.com/lispwarez
Can you also document the filter you propose? Docs.md
Another option could be to parameterise the filters - use fff[1] or fff[2] if it exists to set interval and samples, then your “now” becomes: max:2:1
Why does the HA supervisor not show your PORT with the current tty filter?
—
Reply to this email directly, view it on GitHub https://github.com/kellerza/sunsynk/pull/6#issuecomment-1024860385 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AEIFKXTW2CTUEU2STIIE4CLUYOMOPANCNFSM5NBIU7ZA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you were mentioned.Message ID: @.***>

To add changes you simply push another commit, so what you did seemed to work.


NewWithForcedVersion not exported?

Hello,
Is there a reason that you NewWithForcedVersion is not exported?
It is very practical to be able to generate fix sizes.

https://github.com/skip2/go-qrcode/pull/34

Merged #34, thanks very much.


Popover location for DonutChart is covering the entire chart

Which package has an issue?
@yamada-ui/react
Package Version
1.7.0
Description
When hovering over DonutChart, the popover goes over the donut chart, covering the entire chart.

Link to Reproduction
https://yamada-ui.com/components/data-display/donut-chart
Steps to Reproduce

Go to '...'
Click on '...'
Scroll down to '...'
See error

Browser
None
Operating System

[ ] macOS
[X] Windows
[ ] Linux
[ ] iPadOS
[ ] iOS
[ ] Android

Do you know how to fix the issue?
None
Are you willing to participate in fixing this issue and create a pull request with the fix?
None
Additional Information
No response

@108yen
Hi, was this possible to fix?

@taroj1205 @108yen
This is acceptable because the developer can change the size of the chart in response to the size of the tooltip.


/less folder is empty when installed through bower

please advise, I need to override some LESS vars before I build the project

I'll add the less back into the ui repo later... unless you want to create a PR, should be quite simple.


ValueError: unsupported pickle protocol: 4

hi, in my machine install python2.7.12 and python3.5. I execute scons as follows:
[1] in python2.7.12 execute scons, run successful
[2] and then, I switch python2.7.12 to python3.5, execute scons, run successful too
[3] and then, I switch python3.5 to python2.7.12, execute scons, run failed, and print message like "ValueError: unsupported pickle protocol: 4"..
I look forward to your reply， thinks!

It's written that way. scons picks the higest available pickle protocol when writing.
PICKLE_PROTOCOL = pickle.HIGHEST_PROTOCOL

That means once you run a Python which supports a higher protocol (4 for 3.3-3.7 and 5 for 3.8), the sconsign file will be forever unreadable by lower Python versions, and you have to remove the sconsign file(s) to proceed with those lower versions.
Whether that's a good idea or not is a question, but that's the way it is.  The notes do say that switching between Python 2 and 3 is not supported.

This isn't a perfect workaround, but for MongoDB we made different sconsign files depending on whether you were working with python3 or not.

On the v4.2 (and newer) branches, where py3 is required: https://github.com/mongodb/mongo/blob/v4.2/SConstruct#L942

On the older branches, where py3 is forbidden: https://github.com/mongodb/mongo/blob/v4.0/SConstruct#L904

That worked pretty well because the version of python is tied to the branch, and switching between those branches is usually a large rebuild anyway, so the loss of state isn't that bad. And once you have done a build on each branch you are "up to date" on both according to each sconsign file.
I imagine a similar trick could be used in a combined py2/3 codebase by just examining the currently running python version. Again, not perfect, but better than it not running at all!

@acmorrow - I did try this initially but (If I remember correctly), it broke many regression tests. That said, it's likely good general solution and if that was the issue worth just fixing the regressions to handle different file names..

It's written that way. scons picks the higest available pickle protocol when writing.
PICKLE_PROTOCOL = pickle.HIGHEST_PROTOCOL

That means once you run a Python which supports a higher protocol (4 for 3.5-3.7 and 5 for 3.8), the sconsign file will be forever unreadable by lower Python versions, and you have to remove the sconsign file(s) to proceed with those lower versions.
Whether that's a good idea or not is a question, but that's the way it is. The notes do say that switching between Python 2 and 3 is not supported.

Thanks for everything, delete the .sconsign.dblite run ok.

I'm having a similar problem, where might I find the .sconsign.dblite file?

It seems now that SCons is always using the highest protocol. This was somehow a recent change, before it was fixed to protocol version 2.
Wouldn't it better to fix it to a certain version and keep it? Now there are problems when switching even between Python 3.7 and 3.8.

It's flipped around a few times.  Before being changed to HIGHEST_PROTOCOL (which introduces the Python 3.8 vs. earlier 3.x problem), it was -2 which is actually the same thing - from the stdlib pickle.py:
        if protocol < 0:
            protocol = HIGHEST_PROTOCOL

Then before that is was 2, but that was from before the Python 3 transition in SCons seriously advanced.
Python 3.8 flipped the default from 3 to 4, and the highest from 4 to 5. We could hard-code it to 4 for now, since that's been available since before the current lowest supported Python version.

Probably the -2 from the previous change was just a mistake.
Anyway, yes, I agree that fixing to 4 could be beneficial. This should be just about changing one line in compat/init.py, right?

Probably the -2 from the previous change was just a mistake.
Anyway, yes, I agree that fixing to 4 could be beneficial. This should be just about changing one line in compat/__init__.py, right?

Yes.

@edobez - you're actually commenting on a related but not the same issue you're having.
This issue is about py27 and pickle protocol 4.
Not PY38/37 and protocol 5


Changes while creating initial cloud backup.

After typing when the "Done" button of the keyboard is pressed, the screen should not go down Just keyboard should go down.

Verified this issue on dev app v1.9.5(334)


Can netcdf support unsigned types in all classic formats?

I am looking at some data from the wonderful and amazing Geostationary Lightning Mapper (GLM) instruments on GOES-16 and GOES-17. Here's something from their data file README:

Unsigned Integer Read: This is an issue that affects multiple instruments on GOES-16, and a pilot
fix is being worked. The classic model for NetCDF does not support unsigned integers larger than
8 bits. Many of the variables in GOES-16 data files are unsigned integers that are either 16-bits or
32-bits. So, until a fix is achieved, we recommend using the following process to convert:
• Retrieve the variable data (using low level routines).
• If there is an attribute “_Unsigned” then cast the variable data to unsigned.
• This step must be completed before applying scale_factor and add_offset values to
convert from scaled integer to science units. For example, when reading the NetCDF
files, one has to MANUALLY read in the event lat/lon as an unsigned integer (using
low level routines), and then manually take care of the scale and offset.

Which made me wonder, how come the classic formats don't support unsigned types? I know that CDF5 does, but how about CDF1 and CDF2?
It seems like this should be pretty easy. The unsigned types are the same sizes as existing types, and we have the API to handle them.

According to https://cdn.earthdata.nasa.gov/conduit/upload/496/ESDS-RFC-011v2.00.pdf only signed integers are supported. And if you would add support for unsigned types you are basically creating a new fileformat or? I do know that as we've written a proprietary tool to read all kinds of netcdf classic files. How would old netcdf libraries handle unsigned variables? Would they crash or error gracefully out?

@t-b good questions!
That document you cite has my name on it, but I don't remember writing it. ;-)
However, it is from 2008 and is out of date, as one might expect. The CDF5 is a new classic format, which allows unsigned types, and is not mentioned in that document.

Why not simply use the existing and time-tested facilities of Netcdf-4 for enhanced support such as unsigned integers?  Where is there any advantage of expanding classic format capabilities?

And I found http://cucis.ece.northwestern.edu/projects/PnetCDF/CDF-5.html which documents the changes of CDF5 vs CDF1/2.
@Dave-Allured Good point! I would be in favour of keeping the classical formats as they are as well.

OK, I believe @t-b and @Dave-Allured have raised some excellent points and CDF1 and CDF2 should be left alone. However, we do need to change our description of classic vs. enhanced model.


Sample weight checks removal from Kmeans predict

Description
check_sample_weights or np_allclose is pretty expensive and have performance impact even if the branch is not taken. Since sklearn dropped support for sample weights in KMeans Predict from 1.5, we can ignore all these expensive checks. Fit continues to support sample_weight though.

Checklist to comply with before moving PR from draft:
PR completeness and readability

[ ] I have reviewed my changes thoroughly before submitting this pull request.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have updated the documentation to reflect the changes or created a separate PR with update and provided its number in the description, if necessary.
[ ] Git commit message contains an appropriate signed-off-by string (see CONTRIBUTING.md for details).
[ ] I have added a respective label(s) to PR if I have a permission for that.
[ ] I have resolved any merge conflicts that might occur with the base branch.

Testing

[ ] The unit tests pass successfully.
[ ] I have run it locally and tested the changes extensively.

Performance

[ ] I have measured performance for affected algorithms using scikit-learn_bench and provided at least summary table with measured data, if performance change is expected.
[ ] I have provided justification why performance has changed or why changes are not expected.

I assume its an extension of this: https://github.com/intel/scikit-learn-intelex/pull/1770#discussion_r1652169125
How is this code being run unless sample_weights is not None, are we just removing a check just for performance purposes?

with this change the predict will dispatch to sklearn for sample_weight != None. We will lose coverage for np_ones for sklearn <1.5. Still working to figure out if this improves perf.

/intelci: run

/intelci: run

/intelci: run

/intelci: run

/intelci: run


Add LS support for the compound statements

Purpose

Adding LS support for the compound statements.
Thus, this PR resolves  https://github.com/ballerina-platform/ballerina-lang/issues/10713

shall we add test cases for this as well?

@nadeeshaan It's already in @Shan1024 's PR