Renew now on SSL Certificates page gives internal error

I'm on v2.9.15 and have a problem with "renew now" on SSL Certificates tab. I get internal error. Tried with different certs for different proxy hosts. Need more info, then please tell me where to find the needed logs.

Here ist my og about the Error:

......
2022-01-28T14:22:01.024729628Z [1/28/2022] [2:22:01 PM] [SSL      ] › ℹ  info      Renewing SSL certs close to expiry...
2022-01-28T14:22:01.029569645Z [1/28/2022] [2:22:01 PM] [IP Ranges] › ℹ  info      IP Ranges Renewal Timer initialized
2022-01-28T14:22:01.031130541Z [1/28/2022] [2:22:01 PM] [Global   ] › ℹ  info      Backend PID 248 listening on port 3000 ...
2022-01-28T14:22:17.143438076Z QueryBuilder#allowEager method is deprecated. You should use allowGraph instead. allowEager method will be removed in 3.0
2022-01-28T14:22:17.144582592Z QueryBuilder#eager method is deprecated. You should use the withGraphFetched method instead. eager method will be removed in 3.0
2022-01-28T14:22:17.150001473Z QueryBuilder#omit is deprecated. This method will be removed in version 3.0
2022-01-28T14:22:17.151648151Z Model#$omit is deprected and will be removed in 3.0.
2022-01-28T14:22:57.515936923Z [1/28/2022] [2:22:57 PM] [SSL      ] › ℹ  info      Renewing Let'sEncrypt certificates for Cert #10: domain.xx.xy
2022-01-28T14:22:57.515962942Z [1/28/2022] [2:22:57 PM] [SSL      ] › ℹ  info      Command: certbot renew --force-renewal --config "/etc/letsencrypt.ini" --cert-name "npm-10" --preferred-challenges "dns,http" --no-random-sleep-on-renew --disable-hook-validation
2022-01-28T14:22:57.967649739Z [1/28/2022] [2:22:57 PM] [Express  ] › ⚠  warning   Command failed: certbot renew --force-renewal --config "/etc/letsencrypt.ini" --cert-name "npm-10" --preferred-challenges "dns,http" --no-random-sleep-on-renew --disable-hook-validation
2022-01-28T14:22:57.967672762Z Another instance of Certbot is already running.
2022-01-28T14:22:57.967676078Z Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/tmp48pefxkd/log or re-run Certbot with -v for more details.
2022-01-28T14:22:57.967678303Z
2022-01-28T14:26:14.243601235Z [1/28/2022] [2:26:14 PM] [SSL      ] › ✖  error     Error: Command failed: certbot renew --non-interactive --quiet --config "/etc/letsencrypt.ini" --preferred-challenges "dns,http" --disable-hook-validation
2022-01-28T14:26:14.243627765Z Failed to renew certificate npm-11 with error: Some challenges have failed.
2022-01-28T14:26:14.243631812Z All renewals failed. The following certificates could not be renewed:
2022-01-28T14:26:14.243634167Z   /etc/letsencrypt/live/npm-11/fullchain.pem (failure)
2022-01-28T14:26:14.243636241Z 1 renew failure(s), 0 parse failure(s)
2022-01-28T14:26:14.243638555Z
2022-01-28T14:26:14.243640709Z     at ChildProcess.exithandler (node:child_process:397:12)
2022-01-28T14:26:14.243642783Z     at ChildProcess.emit (node:events:390:28)
2022-01-28T14:26:14.243644787Z     at maybeClose (node:internal/child_process:1064:16)
2022-01-28T14:26:14.243646760Z     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)

Hi, I have been solving this too. I don't know why, but some of my certificates cannot be renewed as it outputs "Connection refused" for acme-challenge as shown on the picture.

If this happens, than after each restart of NPM there is stuck processes as shown on the next image, that results in "Another instance of Certbot is already running."

If you kill these processes, than you can create new certificate for these domains and it will work as it should (renew will not work). Then go to your host and assign the new certificate to it. Than you can delete the old one.
After these changes is done, you can try to restart your NPM and see if there is still that processes. If not, than you are OK and you can ensure yourself by issuing renew.
Hope this helps and I am looking forward for this to be fixed. I don't know what cause this, but it happends on all of my 4 NPM installs for only some domains.

where can i find those logs?
in npm/data/logs i find
letsencrypt-requests_access.log
letsencrypt-requests_error.log
letsencrypt-requests.log
but they don't show me any errors like in your posts

where can i find those logs?
in npm/data/logs i find letsencrypt-requests_access.log letsencrypt-requests_error.log letsencrypt-requests.log
but they don't show me any errors like in your posts

I have found this log here: /var/log/letsencrypt/letsencrypt.log

Hi,
I have created a bash script which will fix the error. It creates symbolic links for all required files and optionally deletes the old *.pem files. For me it fixed the problem:
#!/usr/bin/env bash

DELETE_ME=()

for i in $(find . -name "npm-*" -type d); do
	pushd "${i}" &>/dev/null
	RELATIVE_PATH=$(echo "${i}" | sed 's/\.\///g')
	# find all regular (non symbolic link) files
	for t in $(find . -name "*.pem" -type f); do
		# remove ./ path prefix
		FILE_TO_LINK=$(echo "${t}" | sed 's/\.\///g')
		NEW_FILE_NAME=$(echo "${FILE_TO_LINK}" | sed 's/\./1\./g')
		echo "${RELATIVE_PATH}/${FILE_TO_LINK} needs to be linked"
		echo "Moving ${RELATIVE_PATH}/${FILE_TO_LINK} to ${RELATIVE_PATH}/${FILE_TO_LINK}.bak"
		mv "${FILE_TO_LINK}" "${FILE_TO_LINK}".bak
		DELETE_ME+=("${RELATIVE_PATH}/${FILE_TO_LINK}.bak")
		echo "linking ../../archive/${RELATIVE_PATH}/${NEW_FILE_NAME} to ${RELATIVE_PATH}/${FILE_TO_LINK}"
		ln -s ../../archive/"${RELATIVE_PATH}"/"${NEW_FILE_NAME}" "${FILE_TO_LINK}"
		if [[ "$?" == 0 ]]; then
			echo "success"
		else
			echo "failure"
		fi
	done
	popd &>/dev/null
done

if [[ -n ${DELETE_ME} ]]; then
	echo -e "\nOld *.pem files:\n"
	echo "${DELETE_ME[*]}"
	echo "Do you want to delete the old *.pem files? (y/n) "
	read delete

	if [[ "${delete}" == "y" || "${delete}" == "yes" ]]; then
		for y in "${DELETE_ME[@]}"; do
			rm "${y}"
		done
	fi
else
	echo "Nothing to be done."
fi

For anyone experiencing this issue, I was able to fix my setup using the following steps:

Navigate to Proxy Hosts
Edit a Host entry with a bad SSL Cert
Navigate to the SSL Tab
Click on the SSL Certificate field and in the drop down select "Request a new SSL Certificate"
Click Save
Navigate to SSL Certificates
Delete the old Certificate

After doing the above steps for each of my Proxy Hosts, they can be renewed from the GUI.  I'm not sure if Auto-renew will work but I guess I'll find out in a couple months.
I don't know what caused the problem or if it will come back but at least for now it appears to be working.

For anyone experiencing this issue, I was able to fix my setup using the following steps:

Navigate to Proxy Hosts
Edit a Host entry with a bad SSL Cert
Navigate to the SSL Tab
Click on the SSL Certificate field and in the drop down select "Request a new SSL Certificate"
Click Save
Navigate to SSL Certificates
Delete the old Certificate

After doing the above steps for each of my Proxy Hosts, they can be renewed from the GUI. I'm not sure if Auto-renew will work but I guess I'll find out in a couple months.
I don't know what caused the problem or if it will come back but at least for now it appears to be working.

This just create an "Internal error", no new cert.

The same on my side.
Any new suggestions?

I had the same issue and solved it by adding a DNS CAA record for the HOST.MYDOMAIN.TLD and setting letsencrypt.org as an authorized certificate provider (I use EasyDNS).
What made me think of this was an email that letsencrypt had sent some time ago regarding this soon-to-come requirement from DNS providers.
Nginx Proxy Manager v2.7.1
Hope this helps others.

npm 2.10.1.  Out of nowhere expired certs + symlink error on npm startup.  Internal error in GUI.  Godaddy DNS challenge cert
Gh0stRocket script did indeed fix renewal and all existing proxy hosts updated.  Whew.
What's not clear is fix symlink creation is permanent fix or not.  Believe it is...This renewal issue with either npm / certbot really could use some attention.

For me the issue is still there:
Failed to renew certificate npm-1 with error: Some challenges have failed.
Failed to renew certificate npm-2 with error: Some challenges have failed.
Failed to renew certificate npm-3 with error: Some challenges have failed.
Failed to renew certificate npm-4 with error: Some challenges have failed.
All renewals failed. The following certificates could not be renewed:
/etc/letsencrypt/live/npm-1/fullchain.pem (failure)
/etc/letsencrypt/live/npm-2/fullchain.pem (failure)
/etc/letsencrypt/live/npm-3/fullchain.pem (failure)
/etc/letsencrypt/live/npm-4/fullchain.pem (failure)
4 renew failure(s), 0 parse failure(s)
at ChildProcess.exithandler (node:child_process:422:12)
at ChildProcess.emit (node:events:517:28)
at maybeClose (node:internal/child_process:1098:16)
at ChildProcess._handle.onexit (node:internal/child_process:303:5)

I just get internal error in NPM gui when trying to renew wildcard cert (*.domain.ltd)

I encountered the same issue when trying to renew certificates using the NPM GUI. Removing the certificate that failed to renew and requesting new ones resolved the problem for me.

This bug has been around a long time and is really annoying.  The best fix is the one described above by @cptskippy, but that involved manually renewing all of the failed certificates.
@jc21 We would be really grateful if this could be addressed in a future release. Thanks

For anyone experiencing this issue, I was able to fix my setup using the following steps:

Navigate to Proxy Hosts
Edit a Host entry with a bad SSL Cert
Navigate to the SSL Tab
Click on the SSL Certificate field and in the drop down select "Request a new SSL Certificate"
Click Save
Navigate to SSL Certificates
Delete the old Certificate

After doing the above steps for each of my Proxy Hosts, they can be renewed from the GUI. I'm not sure if Auto-renew will work but I guess I'll find out in a couple months.
I don't know what caused the problem or if it will come back but at least for now it appears to be working.

This just create an "Internal error", no new cert.

Same issue for me but following these steps seemed to work. Be nice to see this fixed though so we don't have to do things manually.

For anyone experiencing this issue, I was able to fix my setup using the following steps:
1. Navigate to Proxy Hosts

2. Edit a Host entry with a bad SSL Cert

3. Navigate to the SSL Tab

4. Click on the SSL Certificate field and in the drop down select "Request a new SSL Certificate"

5. Click Save

6. Navigate to SSL Certificates

7. Delete the old Certificate

After doing the above steps for each of my Proxy Hosts, they can be renewed from the GUI. I'm not sure if Auto-renew will work but I guess I'll find out in a couple months.
I don't know what caused the problem or if it will come back but at least for now it appears to be working.

I'm seeing this issue still. I need to pull the logs... which I will do shortly. The suggested fix still produced an 'internal error'.

Every 2-3 month the same procedure for all hosts. It just does not work automatically. I'am really evaluating to give zoraxy a try because this is really annoying.

For anyone experiencing this issue, I was able to fix my setup using the following steps:
1. Navigate to Proxy Hosts

2. Edit a Host entry with a bad SSL Cert

3. Navigate to the SSL Tab

4. Click on the SSL Certificate field and in the drop down select "Request a new SSL Certificate"

5. Click Save

6. Navigate to SSL Certificates

7. Delete the old Certificate

After doing the above steps for each of my Proxy Hosts, they can be renewed from the GUI. I'm not sure if Auto-renew will work but I guess I'll find out in a couple months.
I don't know what caused the problem or if it will come back but at least for now it appears to be working.

I'm seeing this issue still. I need to pull the logs... which I will do shortly. The suggested fix still produced an 'internal error'. In fact, trying to renew the cert and following these instructions above has made it where I'm not longer able to connect to the site due to 'SSL_ERROR_UNRECOGNIZED_NAME_ALERT'
I had to go back and manually assign the old cert to get it up again.
I deleted the working cert and attempted to manually create a new one. Received the following error in the gui.
Error: Command failed: certbot certonly --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name "npm-6" --agree-tos --authenticator webroot --email "xxxxxxxxxxx" --preferred-challenges "dns,http" --domains "xxxxxxxxx" Saving debug log to /tmp/letsencrypt-log/letsencrypt.log Some challenges have failed. Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/letsencrypt-log/letsencrypt.log or re-run Certbot with -v for more details.
at ChildProcess.exithandler (node:child_process:402:12)
at ChildProcess.emit (node:events:513:28)
at maybeClose (node:internal/child_process:1100:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)

Interestingly enough this started working, but I can't tell you why.
I was running certbot -v renew commands in CLI from the docker container and it was throwing errors like....:
"Certbot failed to authenticate some domains "
"Hint: The Certificate Authority failed to download the temporary challenge files created by Certbot. Ensure that the listed domains serve their content from the provided --webroot-path/-w and that files created there can be downloaded from the internet."
So i verified the DNS records again, my port forwarding, etc. Everything seemed good. I basically kept fiddling with nginx until suddenly the renew button from the site settings itself just worked all of a sudden. A previous reboot hadn't helped either. Its a mystery

Hi, I have created a bash script which will fix the error. It creates symbolic links for all required files and optionally deletes the old *.pem files. For me it fixed the problem:
Just go to your /etc/letsencrypt/live directory, create a script and paste the content below.
touch /etc/letsencrypt/live/fix.sh
Make it exectuable:
chmod +x /etc/letsencrypt/live/fix.sh
And run it:
cd /etc/letsencrypt/live/ && ./fix.sh
At the end of the script you will be asked if you want to delete the old files which are no longer needed.
After running the script restart your nginxproxymanager instance.
#!/usr/bin/env bash

DELETE_ME=()

for i in $(find . -name "npm-*" -type d); do
	pushd "${i}" &>/dev/null
	RELATIVE_PATH=$(echo "${i}" | sed 's/\.\///g')
	# find all regular (non symbolic link) files
	for t in $(find . -name "*.pem" -type f); do
		# remove ./ path prefix
		FILE_TO_LINK=$(echo "${t}" | sed 's/\.\///g')
		NEW_FILE_NAME=$(echo "${FILE_TO_LINK}" | sed 's/\./1\./g')
		echo "${RELATIVE_PATH}/${FILE_TO_LINK} needs to be linked"
		echo "Moving ${RELATIVE_PATH}/${FILE_TO_LINK} to ${RELATIVE_PATH}/${FILE_TO_LINK}.bak"
		mv "${FILE_TO_LINK}" "${FILE_TO_LINK}".bak
		DELETE_ME+=("${RELATIVE_PATH}/${FILE_TO_LINK}.bak")
		echo "linking ../../archive/${RELATIVE_PATH}/${NEW_FILE_NAME} to ${RELATIVE_PATH}/${FILE_TO_LINK}"
		ln -s ../../archive/"${RELATIVE_PATH}"/"${NEW_FILE_NAME}" "${FILE_TO_LINK}"
		if [[ "$?" == 0 ]]; then
			echo "success"
		else
			echo "failure"
		fi
	done
	popd &>/dev/null
done

if [[ -n ${DELETE_ME} ]]; then
	echo -e "\nOld *.pem files:\n"
	echo "${DELETE_ME[*]}"
	echo "Do you want to delete the old *.pem files? (y/n) "
	read delete

	if [[ "${delete}" == "y" || "${delete}" == "yes" ]]; then
		for y in "${DELETE_ME[@]}"; do
			rm "${y}"
		done
	fi
else
	echo "Nothing to be done."
fi

This Fixed it! Thanks!

Hi, I have created a bash script which will fix the error. It creates symbolic links for all required files and optionally deletes the old *.pem files. For me it fixed the problem:
Just go to your /etc/letsencrypt/live directory, create a script and paste the content below.
touch /etc/letsencrypt/live/fix.sh
Make it exectuable:
chmod +x /etc/letsencrypt/live/fix.sh
And run it:
cd /etc/letsencrypt/live/ && ./fix.sh
At the end of the script you will be asked if you want to delete the old files which are no longer needed.
After running the script restart your nginxproxymanager instance.
#!/usr/bin/env bash

DELETE_ME=()

for i in $(find . -name "npm-*" -type d); do
	pushd "${i}" &>/dev/null
	RELATIVE_PATH=$(echo "${i}" | sed 's/\.\///g')
	# find all regular (non symbolic link) files
	for t in $(find . -name "*.pem" -type f); do
		# remove ./ path prefix
		FILE_TO_LINK=$(echo "${t}" | sed 's/\.\///g')
		NEW_FILE_NAME=$(echo "${FILE_TO_LINK}" | sed 's/\./1\./g')
		echo "${RELATIVE_PATH}/${FILE_TO_LINK} needs to be linked"
		echo "Moving ${RELATIVE_PATH}/${FILE_TO_LINK} to ${RELATIVE_PATH}/${FILE_TO_LINK}.bak"
		mv "${FILE_TO_LINK}" "${FILE_TO_LINK}".bak
		DELETE_ME+=("${RELATIVE_PATH}/${FILE_TO_LINK}.bak")
		echo "linking ../../archive/${RELATIVE_PATH}/${NEW_FILE_NAME} to ${RELATIVE_PATH}/${FILE_TO_LINK}"
		ln -s ../../archive/"${RELATIVE_PATH}"/"${NEW_FILE_NAME}" "${FILE_TO_LINK}"
		if [[ "$?" == 0 ]]; then
			echo "success"
		else
			echo "failure"
		fi
	done
	popd &>/dev/null
done

if [[ -n ${DELETE_ME} ]]; then
	echo -e "\nOld *.pem files:\n"
	echo "${DELETE_ME[*]}"
	echo "Do you want to delete the old *.pem files? (y/n) "
	read delete

	if [[ "${delete}" == "y" || "${delete}" == "yes" ]]; then
		for y in "${DELETE_ME[@]}"; do
			rm "${y}"
		done
	fi
else
	echo "Nothing to be done."
fi

Be careful when running this script! It made my NGINX proxy manager container crash upon restart!
Please read the script and understand what it does before running it.
It did not work for me in the first place and  because most of my archive/npm-xx folders did not have chain1.pem, privkey1.pem etc. but for some reason, it started with chain2.pem etc. in most of the folders. You need to update the script so it does not point to the chain1.pem etc. but to one that exists or create the links manually, as i did for one folder. If there are symlinks in the live folder that point to a non existing file, proxy manager refuses to start.
After dealing with that, it fixed my issue, thanks!

Experienced this last year and just yesterday. I was able to renew OTHER certificates, and request for new certificates (without challenge).
Problem is resolved by deleting the old certificate and requesting a new one. No changes were made to the docker instance, the DNS of the domain or changes to my network configuration. Just happens out of nowhere, lol.


Run lexer panics if last line is non-empty

If the last line of my Runfile isn't empty, run throws the following error:
panic: Lexer.Next: No rune available

goroutine 1 [running]:
github.com/tekwizely/go-parsing/lexer.(*Lexer).Next(0xc0000cc1e0, 0x521c00)
        /workspace/go/pkg/mod/github.com/tekwizely/go-parsing/lexer@v0.0.0-20190714215300-5be83bb42370/lexer.go:159 +0x102
github.com/tekwizely/run/internal/lexer.lexCmdScriptLine(0xc0000bc020, 0xc0000cc1e0, 0x4f31e0)
        /workspace/run/internal/lexer/lexer.go:690 +0xe4
github.com/tekwizely/run/internal/lexer.(*LexContext).lex(0xc0000bc020, 0xc0000cc1e0, 0x4e91c0)
        /workspace/run/internal/lexer/lexer.go:41 +0x7e
github.com/tekwizely/go-parsing/lexer.(*tokenNexter).hasNext(0xc0000bc040, 0x7f6291d24460)
        /workspace/go/pkg/mod/github.com/tekwizely/go-parsing/lexer@v0.0.0-20190714215300-5be83bb42370/tokennexter.go:55 +0x9d
github.com/tekwizely/go-parsing/lexer.(*tokenNexter).Next(0xc0000bc040, 0x0, 0x0, 0xc0000a43d0, 0xc0000aca20)
        /workspace/go/pkg/mod/github.com/tekwizely/go-parsing/lexer@v0.0.0-20190714215300-5be83bb42370/tokennexter.go:22 +0x2f
github.com/tekwizely/go-parsing/parser.(*Parser).growPeek(0xc0000d0050, 0x1, 0x0)
        /workspace/go/pkg/mod/github.com/tekwizely/go-parsing/parser@v0.0.0-20190714215300-5be83bb42370/parser.go:199 +0x75
github.com/tekwizely/go-parsing/parser.(*Parser).CanPeek(...)
        /workspace/go/pkg/mod/github.com/tekwizely/go-parsing/parser@v0.0.0-20190714215300-5be83bb42370/parser.go:59
github.com/tekwizely/run/internal/parser.expectCmdScript(0xc0000bc080, 0xc0000d0050, 0xc0000a6540, 0x5, 0x0)
        /workspace/run/internal/parser/parser.go:630 +0x41c
github.com/tekwizely/run/internal/parser.tryMatchCmd(0xc0000bc080, 0xc0000d0050, 0xc0000d6000, 0xc0000c6000)
        /workspace/run/internal/parser/parser.go:238 +0x149
github.com/tekwizely/run/internal/parser.parseMain(0xc0000bc080, 0xc0000d0050, 0x4f3240)
        /workspace/run/internal/parser/parser.go:200 +0xa45
github.com/tekwizely/run/internal/parser.(*parseContext).parse(0xc0000bc080, 0xc0000d0050, 0x4ff720)
        /workspace/run/internal/parser/parser.go:46 +0x7f
github.com/tekwizely/go-parsing/parser.(*astNexter).hasNext(0xc0000bc0a0, 0xc0000d0050)
        /workspace/go/pkg/mod/github.com/tekwizely/go-parsing/parser@v0.0.0-20190714215300-5be83bb42370/astnexter.go:58 +0x97
github.com/tekwizely/go-parsing/parser.(*astNexter).Next(0xc0000bc0a0, 0xc0000bc040, 0xc0000a4370, 0x53c700, 0xc0000bc0a0)
        /workspace/go/pkg/mod/github.com/tekwizely/go-parsing/parser@v0.0.0-20190714215300-5be83bb42370/astnexter.go:30 +0x2f
github.com/tekwizely/run/internal/parser.Parse(0xc0000bc020, 0x1e)
        /workspace/run/internal/parser/parser.go:79 +0x133
main.main()
        /workspace/run/main.go:125 +0x507

Hey @chabad360,
This seems like a bug I might have introduced recently, however I am unable to duplicate it locally.
Can you provide a sample runfile that produces the error?
Q: What system are you on?  I'm on a MAC
Q: Can you confirm what file encoding you're using?
Q: Can you confirm what type of line-endings your using?
I'll be happy to try to fix this once I can reproduce it.
Thank you for taking the time to submit an issue.
Also: Thanks for all your support on HN - Much appreciated !

Can you provide a sample Runfile that produces the error?

hello:
	echo "hi"

Q: What system are you on?

uname -sor: Linux 4.14.145+ GNU/Linux

Q: Can you confirm what file encoding you're using?

UTF-8

Q: Can you confirm what type of line-endings you're using?

LF (i.e. \n)
It appears this issue shows up when the file lacks a line ending.

Also: Thanks for all your support on HN - Much appreciated!

You're welcome!

@chabad360 , thanks for the details - I think my editor was adding a trailing newline which is why I couldn't duplicate it.
The fix is in - Please let me know you're still having issues in that regard.
Thanks !
-TW

nope, I've since tested it and it works like a charm!
by the way, I love your codebase (it's so well documented), how long
did this project take?
On 12/18/19, TekWize.ly<EMAIL_ADDRESS>wrote:

@chabad360 , thanks for the details - I think my editor was adding a
trailing newline which is why I couldn't duplicate it.
The fix is in - Please let me know you're still having issues in that
regard.
Thanks !
-TW
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/TekWizely/run/issues/1#issuecomment-567303096

--
Mendel G
<EMAIL_ADDRESS>

nope, I've since tested it and it works like a charm!

Woot !

by the way, I love your codebase (it's so well documented), how long did this project take?

Thanks ! So I just looked into my notes and here are the details:

2018/10/26 : First notes on the idea
2019/07/03 : Local repo created
2019/07/05 : First code commit :
First working prototype, executes named scripts in bash


ENH: stats: use Boost implementation of skewnorm cdf/ppf

Reference issue
Closes gh-15473
Supersedes gh-15486
What does this implement/fix?
gh-15473 reported that our skewnorm.cdf is very slow because it relies on numerical integration. gh-15486 was a PR replacing skewnorm.cdf with a faster alternative, but it fails our existing accuracy tests.
This replaces our skewnorm cdf, sf, ppf, and isf methods with those from Boost. It's faster than main and gh-15486.
x = rng.uniform(-2, 2, size=5000)
%timeit skewnorm.cdf(x, 1.5)
# main: 21.7 s ± 101 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
# gh-15473: 292 ms ± 3.44 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
# this PR: 901 µs ± 2.88 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

I've done some accuracy checks, using a simple mpmath implementation as a reference:

from scipy import stats
from mpmath import mp, npdf, ncdf, quad

mp.dps = 100

def pdf(x, a):
    return 2 * npdf(x) * ncdf(a*x)

@np.vectorize
def cdf(x, a):
    def f(x):
        return pdf(x, a)
    return quad(f, [-np.inf, x])

def relative_error(res, ref):
    return np.float64(abs((res-ref)/ref))

az = np.linspace(-5, 5, 11)
pz = np.logspace(-8, -1, 8)
pz = np.concatenate([pz, [0.5], 1-pz[::-1]])[:, np.newaxis]

xz = stats.skewnorm.ppf(pz, az)

res = stats.skewnorm.cdf(xz, az)
ref = cdf(xz, az)
err = relative_error(res, ref)

res = stats.skewnorm.cdf(xz, az)
err2 = relative_error(res, pz)

There is only notable inaccuracy for positive values of the shape parameter, and only when evaluated in the left tail (tiny CDF).
Additional information
Like gh-15473, Boost also fails our extreme left tail accuracy checks when a > 0, so I've added a condition to resort to the default implementation (numerical integration) in this case.
Without it, the relative error gets very bad in the far left tail:

import matplotlib.pyplot as plt

az = 2 # np.linspace(-5, 5, 11)
pz = np.logspace(-40, -6, 40-6+1)
xz = stats.skewnorm.ppf(pz, az)

res = stats.skewnorm.cdf(xz, az)
ref_tail = cdf(xz, az)
err = relative_error(res, ref_tail)

plt.loglog(pz, err)
plt.xlabel('p')
plt.ylabel('CDF relative error')

With it, the error is controlled well until the CDF ~ 1e-33.

We could also still use some of the ideas from gh-15473. For instance, when a = 1, there is a simple formula that would improve the left tail accuracy that would pass the test, and equation 14 may also be useful in some cases (although it fails the accuracy tests, too). The nice thing with Boost's implementation is that it is really fast, so we can inexpensively estimate the CDF and choose which method to use to refine it based on the approximation.

Does boost implement a fit method for the distributions?

No, and I don't think there's much we can do to improve MLE besides providing a good guess, as there are no closed-form results. Fortunately, there is an analytical solution for method of moments, which would work as a guess for MLE. I can add that.

@tupui I overrode the fit method. If the chosen fit method is MLE (default), it uses method of moments as a guess (unless the user provided guesses, which are respected). If the chosen fit method is method of moments, it returns solutions from formulas.
import numpy as np
from scipy import stats

rng = np.random.default_rng(4609813989115202851)
a, loc, scale = -2, 3.5, 0.5
dist = stats.skewnorm(a, loc, scale)
rvs = dist.rvs(size=100)

stats.skewnorm.fit(rvs)  # 22.9 ms in this PR, 64.9 ms in main
stats.skewnorm.fit(rvs, method="mm")  # 464 µs, >60s in main (never waited for it to finish)

Because this implemented method of moments, I was able to remove skewnorm from the skip lists for those tests.
If you'd prefer for this stuff to be in a separate PR, that's fine. LMK, I can revert.

@tupui I overrode the fit method. If the chosen fit method is method of moments, it returns solutions from formulas. If the chosen fit method is MLE (default), it uses method of moments as a guess, unless the user provided guesses, in which case these are respected.
import numpy as np
from scipy import stats

rng = np.random.default_rng(4609813989115202851)
a, loc, scale = -2, 3.5, 0.5
dist = stats.skewnorm(a, loc, scale)
rvs = dist.rvs(size=100)

stats.skewnorm.fit(rvs)  # 22.9 ms in this PR, 64.9 ms in main
stats.skewnorm.fit(rvs, method="mm")  # 464 µs, >60s in main (never waited for it to finish)

Because this implemented method of moments, I was able to remove skewnorm from the skip lists for those tests.
If you'd prefer for this stuff to be in a separate PR, that's fine, as it's different from the Boost stuff and fairly technical. LMK, I can revert.

Thanks for adding this. It will definitely be useful for me in a use case that requires fitting skewnorm parameters for a large dataset.

it does not bring much penalty to do so.

It was a choice intended to make fit with MLE faster overall, and it does in the examples I've tried.
If you're comfortable merging, feel free. Perhaps @mckib2 can double check the Boost stuff whenever he's available, but it was pretty formulaic and matched the other examples (except that this was the first distribution for which we didn't need all of Boost's parameters because they were just location and scale) so I'm pretty confident.

Ok let's merge and we have plenty of time to iterate if needed.

I did a comparison of MLE fitting before and after this PR using the code below.

import numpy as np
from scipy import stats
from time import perf_counter

rng = np.random.default_rng(4609813989115202851)
qrng = stats.qmc.Halton(6)

times = []
for i in range(1000):
    print(i)
    sample = qrng.random(random_state=qrng)
    sample = stats.qmc.scale(sample, [-3, -3, -3, 1, -1, -1], [3, 3, 3, 5, 1, 1])[0]
    a, loc, scale, size = 10**sample[:4]
    a_sign, loc_sign = np.sign(sample[4:])
    a *= a_sign
    loc *= loc_sign
    size = int(size)

    dist = stats.skewnorm(a, loc, scale)
    rvs = dist.rvs(size=size)

    try:
        tic = perf_counter()
        a2, loc2, scale2 = stats.skewnorm.fit(rvs)
        toc = perf_counter()

        nllf2 = stats.skewnorm.nnlf((a2, loc2, scale2), rvs)
        nllf = stats.skewnorm.nnlf((a, loc, scale), rvs)
        err = abs((nllf2 - nllf)/nllf)

        times.append([toc-tic, err])
        print(toc-tic, err)
    except:
        times.append([np.nan, np.nan])
        print(f"Failure: {stats.skew(rvs)}")

filename = 'skewnorm_fit_time.npz'
np.savez(filename, times=times)

In short, I randomly sampled distribution parameters and RVS size from a (log-scaled) wide range, generated the RVS, and measured the fitting time and "error" (relative difference between NLLF value for original and fitted parameters) 1000 times and plotted the results. (One weakness of this approach is that the RVS are actually drawn from a skew normal distribution itself, but hopefully that is representative of data that is reasonable to fit with a skewnorm distribution.)
Fit time is reduced. Geometric mean of time before is 0.101s , after is 0.055.

I don't see much difference in the distribution of fit "error".

There is one thing that needs to be fixed: whenever the skewness of the sample has magnitude greater than 1, the guess for a is infinite, and this causes fit to fail. I realized that this would happen, but I didn't realize how frequently would occur - more than 10% of the time in the test above. So I think that when sample skewness magnitude is greater than 1 and the method is "mle", we should fall back to the default guess.

Nice analysis 👍👏

@mdhaber  Does scipy have a pre-release or nightly build that I can install to make sure of this enhancement in my code?

@zoj613 yes we do here https://anaconda.org/scipy-wheels-nightly/scipy/files

Thanks @tupui

@mdhaber Boost stuff looks great -- let me know if/when you run into difficulties or where you think things could improve.  We can try to revise in the next iteration of the boost gen


Image labels shouldn't apply to containers

From the discussion here: https://github.com/docker/docker/pull/13476#issuecomment-109363464.
The way labels are implemented today, an image label will apply to all containers created from it.
Removing those 3 lines should be sufficient as we have possibility to query labels using inspect, and also to filter.

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO


active_accounts query optimization

@lukaw3d reported that the latest transaction volume stats weren't up to date:
https://nexus.oasis.io/v1/emerald/blocks
"timestamp":"2024-01-19T17:30:48Z"

https://nexus.oasis.io/v1/emerald/stats/tx_volume?window_size_seconds=86400&window_step_seconds=86400&limit=30&offset=0
"window_end":"2023-11-26T00:00:00Z"

Upon closer inspection, the root cause was that the aggregate stats analyzer query to calculate active_accounts was taking a long time and blocking the calculation of other stats, including the transaction volume. This PR makes the queries more performant by 1) adding an index for consensus, and 2) rewriting the runtime active accounts query per @mitjat 's suggestion so that postgres now uses the existing index on the runtime_related_transactions table.
The index has been added to {mainnet, testnet} x {staging, production} manually, and the existing migrations were edited directly.
Minor change: renames an index to ix_accounts_related_transactions_address for accuracy.
Todo: Consider adding a generous timeout to the query context so that 1) queries will not block each other, 2) timeout errors will show up in the logs.

Added the timeout with a slight tweak. Instead of having a per-query timeout, we have a timeout over a batch of a single computation. This gives us some more flexibility to have expensive stat queries over longer time ranges, e.g. monthly active accounts.
This timeout is set to 3 minutes, and the batch size has been reduced to 100. This means that for each stat computation, the analyzer will run the query as many times as it can until 1) there are no more windows to compute, 2) the 3 minute timeout is hit, 3) the batch has been filled. The successfully computed queries are then applied to the db.
Note: the current parameters allow for an average query time of 180 sec / 100 = 1.8sec per query. If any queries are slower, we will see timeout errors in the logs (assuming we are in catch-up mode).


How to add a babel plugin?

Hello and thank you for this awesome boilerplate.
I am bit a new to react and this entire ecosystem, I've cloned the boilerplate using the branch 3.4, and everything worked great, I've finished setup and clean.
Now I want to use the react-mdl components in my project so following their instructions, I've done the following:
npm install react-mdl --save
In the main app.js file I've added:
import 'react-mdl/extra/material.css';
import 'react-mdl/extra/material.js';

Then in one of my components that I've created trough scaffolding(npm run generate component) I added:
import { Button, Card, CardText } from 'react-mdl';
But when I run the server (npm run start) I get many errors on the command line about Module Parse Failed: unexpected token in the react-mdl files from the node_modules directory.
After some reading I though that I needed to install the babel-plugin-transform-object-rest-spread because it was pointing to lines of code that contained  "...someProp" and I notice on the babel configuration of react-mdl that they use that plugin and is not installed by default on the react-boilerplate so I went ahead and add it to my plugins doing the following:
npm install babel-plugin-transform-object-rest-spread --save-dev
Then I modified in the package json the babel configuration to:
"babel": {
    "presets": [
      [
        "latest",
        {
          "es2015": {
            "modules": false
          }
        }
      ],
      "react",
      "stage-0"
    ],
    "env": {
      "production": {
        "only": [
          "app"
        ],
        "plugins": [
          "transform-react-remove-prop-types",
          "transform-react-constant-elements",
          "transform-react-inline-elements",
          "transform-object-rest-spread" <-- Added this
        ]
      },
      "development": { <-- Added this
        "plugins": [ <-- Added this
          "transform-object-rest-spread" <-- Added this
        ] <-- Added this
      }, <-- Added this
      "test": {
        "plugins": [
          "transform-es2015-modules-commonjs"
        ]
      }
    }
  },

But i am still getting the same error, any ideas what i am doing wrong? Am I on the right path here?
Thank you for your time
Versions

Node/NPM: 6.9.2/ 3.10.9

I needed to install the babel-plugin-transform-object-rest-spread

babel-plugin-transform-object-rest-spread is already installed, it's a part of stage-0 preset, but I don't know what exactly is causing that error.

This question is better suited for StackOverflow. (you can use the react-boilerplate tag there)

I'm having the exact same issue. Can't find a discussion/solution on StackOverflow.
Sorry to handle this here again, but I'm not sure how to solve this.

In my case I was not able to fix it, I'm not sure if it was the library that was not compatible for some reason with the webpack react-boilerplate configuration or the library that i was trying had errors. I had to switch to use another library for material implementation. So far I have not any more problems with libraries I've installed

this question is not answered in SO. I'm having the exact same issue.  @timbrand @LRPalacios what was your resolution?

@brianyang I was not able to fix it, I had to use another library that didn't had any problem with react-boilerplate

@LRPalacios  bumped on here with the exact same problem. I would assume this is due to the node_modules NOT Being parsed by Babel (And it shouldn't be). I would say that this is a react-mdl fault to distribute it's package on a non ES5 way.

Also note that react-mdl is deprecated in preference to material-components-web.


Add Docstrings to Exported Functions and Variables

Add (somewhat basic) docstrings to all exportable functions, consts, and package global variables. This is one small step to getting us a cleaner and more standardized codebase.

Boo I thought you had already merged this in 😭

Those conflicting files are gross

yeah this something the intern said they were going to merge into the other PR, but it never made it in......

So ummm, maybe we close this for now until we have time to look at it again @YrrepNoj ?


Fix existing tests and add new tests

This PR improves the testing and increases the test coverage from 62% to 78%.

It fixes test_parse_util.py which was not running with nosetests before. However, since the ZPar models do not fit in the Travis worker's memory, this test is run on our internal Bamboo CI and skipped on Travis.

It adds test_tree_util.py for two of the functions in tree_util.py that Mike had suggested to add unit tests for.

It adds test_rst_parse.py which tests the segment_and_parse() function in rst_parse.py.  Adding these tests exposed a bug in this function which is now fixed.

It adds another tests to test_discourseparsing.py that Mike had suggested.

Adds a brand new end-to-end test that basically trains a segmenter and RST parser on the RST Discourse Treebank.  Basically, this runs all the steps in the README. This only runs on our internal Bamboo CI since it requires access to the treebank.

It moves try_head_rules.py from tests to under utils and adds a new entry point for it to setup.py.

It uses the full path to crf_test and crf_learn where they are used since otherwise it doesn't work properly in the tests.

Some other minor changes (replacing os.path with pathlib, docstring & comment changes).

Adds some new test data and models.

@aoifecahill you forgot to approve so I can't merge :)


Make utils/fetch_sources.py compatible with Python 3

In addition to the current Python 2 compatibility.

I signed it.


Rename tools/mpp.py to tools/osbuild-mpp, install and package it

Rename the tools/mpp.py script to tools/osbuild-mpp so that when installed it is clearly identifiable as part of osbuild and the name is language independent.
Package it in a new -devel sub-package. I am not sure about the name. The main reason for a new sub-package that maybe we dont want to ship it in RHEL and support it.

Nice to see this become more of a thing. Though what's the benefit of shipping it rather than just keeping it upstream, if it is for development anyway? Maybe the devel suffix has some assumptions (from C land) we want to avoid?

I'm also worried about -devel. Also do we want to ship it into RHEL? The less we ship, the less we support.

I'm also worried about -devel.

Any better ideas? How about -tools or -extra? I look at the Fedora naming guidelines but could not find anything.

Also do we want to ship it into RHEL? The less we ship, the less we support.

I quote from the message above "The main reason for a new sub-package that maybe we dont want to ship it in RHEL and support it." ;)

:see_no_evil: I'm blind, sorry. :( -tools sound good. We may also consider just -mpp but if we want to ship more tools, we might want to go with something more generic.


Fix some build warnings that popped up in Riot iOS.

Just fixed one docstring.

@beatrupp, 2 remarks:

the PR must be against the develop branch
a sign-off, please :)

Hehe, of course... will remember for the future.


Browse job outputs (i.e. results.sh)

[x] #4
[ ] Get log file path from job info
[ ] If previous job check environment variable for directory and glob

Early version implemented in 1.5


[Bug] NFT with an image that does not match the on-chain hash is not being flagged with the "Image Hash Mismatch" overlay

What happened?
I have an NFT that was mistakenly minted with the same image hash of the NFT minted before it, which therefore does not match the hash of the image itself in the URI.
Expect Result: The NFT, in my wallet view, will have a grey bubble over it that says "Image Hash Mismatch".
Actual Result: The NFT looks normal.
The NFT using the wrong hash:
Entrance to Endor
NFT ID: nft1eym5c5ck0yapdqsxwq3mu4uqnaksld9j9urh38lg2j3vlzqv7hkqlmwf57
Image URI: https://qqhbaojbnaludo6ghdrpkuqjstcnkadfqsh3lkrrku5o7c3zdi.arweave.net/hA4QOSFoF0G7x_jji9VIJlMTVAGWEj7WqMVU674t5Gs
Invalid Image Hash on chain: 0x1af9e2e8d989591a37cc88438e653686e437973752f22c7ff84998ed61631e01
The NFT with this correct hash
Washington Square Park
NFT ID:nft1r9dk7ccgs09q2fqnaga2mp33hw452y2f8634udpemfvkjxe5zdyq7a548y
Image URI: https://hvm7rlix4a7zdxryk6frfr2dtjz4zabvq4ho23a6eq35lqd33e.arweave.net/PVn4rRfgP5HeOFeLEsdDmnPMgDWHDu1sHiQ31_cB72U
Valid Image Hash on chain: 0x1af9e2e8d989591a37cc88438e653686e437973752f22c7ff84998ed61631e01

Version
1.4
What platform are you using?
macOS
What ui mode are you using?
GUI
Relevant log output or stacktrace
No response

@wallentx cough

Nice catch. Only occurs with NFT content > the auto-preview size threshold (10 MB currently). When "Show Preview" was clicked, we were proceeding to load the content without validating the hash. The fix ensures that we validate the hash in this case.


minor edit on readme to include instantiation.

merged.
I also need to use a test case in Readme to ensure that readme sample works ;)
thank you for your PR.
I believe Readme is still wrong because it should return only longest match.
I will refactor code soon to reflect changed bahavior.


Helm missing in required packages on Quickstart

Context: I was recently running Kubestellar Quickstart as a k8s workload (release-0.7) on WSL (Ubuntu 16.04). The kubestellar bootstrap script failed on line 89 saying helm command not found. So, I looked into how to install helm ( 👉🏾helm.sh/docs/intro/install).
Recommendation: It is worth adding the helm installer pointer  to the list of required packages for all OS flavors.

@namasl can you open a PR for the require-packages file?

@rubambiza this has been updated on our documentation online - can you confirm and close?

@clubanderson Are you referring to the Quickstart 0.7 release? If so, I don't see the update yet.

No. We make changes to main.


How does this APP work?

Easy. I'm creating a Provision Profile for our app, basically an app structure that installs the app on the iDevice and lets the user access the app.

No, like what is the point of this LOL

Are we planning to do an android app as well?

I would, but I can't say I'm super familiar with Java and Android SDK :/

iOS?

This is iOS...

Android?

What?

@applqpak You can code a website for it, and I can make an app which will display the website.

On Android?

Yes

But what's the point of this app? What does it do?

I have no idea...

Sooo. .. What will thi app do??

No comment provided,

No logic found.

Umm... No app found??

lol


Remove slurm_type

slurm_type is redundant since the "slurm type" is already given by the slurm_compute and slurm_service host groups in the ansible hosts file (those groups are defined in fgci-ansible:/examples/hosts-example so all sites should have them).
This patch also gets rid of the slurm type "submit"; now all nodes that this role is run against become "submit nodes" (i.e. they run munged, and slurm command line tools are available).

This is an error with travis/testing - before this PR we only applied the common.yml - basically we mostly check for syntax errors and that the templating of the config files work.
I'll see if I can add a pre_task in test .yml to create files/munge.key
Seems that ansible 2.2 straight from git does not fail/give return code for the get munge key task failure..
https://travis-ci.org/CSC-IT-Center-for-Science/ansible-role-slurm/jobs/140773377#L4420
https://travis-ci.org/CSC-IT-Center-for-Science/ansible-role-slurm/jobs/140773376#L3587

TASK [ansible-role-slurm : get munge key for distribution to nodes] ************
task path: /ansible-role-slurm/tasks/submit.yml:3
fatal: [localhost]: FAILED! => {"failed": true, "msg": "the file_name '/ansible-role-slurm/tests/files/munge.key' does not exist, or is not readable"}

I've tried before to delegate some tasks to localhost with docker without success so instead I changed the bash script which sets up the ansible things on the CentOS7 docker image to create a munge.key file in commit ab6bfcb8cb62dc97aba528366c2b9431ec4e7a65
I restarted the travis job for this PR, let's see if it goes better.

Ah, now it failed with:
Jun 28 11:52:45 abb963543f96 munged[1224]: munged: Error: Keyfile must be at least 32 bytes
I'll try something larger...

Travis is passing again.
Also fgci-install role uses the slurm_type. I'll make a similar change there too.


Laravel 5.5 - The page has expired due to inactivity in Google Chrome

I have a form which includes {{ csrf_field() }}
When I submit the form in Firefox (v57.0.4) it works fine no issues.
When I submit the same form in Chrome (v63.0.3239.132) i keep getting:
The page has expired due to inactivity. Please refresh and try again.

I've tried to clear cookies/browser cache and it makes no difference. The issue is related to Chrome only  as everything works fine in other browsers such as Firefox and Edge.
In my env file I have the following set:
SESSION_DRIVER=file

What I have noticed is that when I submit the form in Chrome, a new session file seems to be generated each time inside storage\framework\sessions. In fact every time I refresh the page or go to another page a new session file is being generated?
Another thing I've noticed is that if I login to my application in Chrome without selecting the remember me checkbox everything works fine. But if I login with the remember me checkbox selected, I get the above behavior. So the issue is something to do with how the remember me token is stored perhaps?
Note I'm running application on localhost using wamp on windows 10. This issue is only happening in Google Chrome.
Anyone got any tips to fix?

Updated to 5.5 (fresh install) and I get same issue - instead of token mismatch error message i get The page has expired due to inactivity. Please refresh and try again. page displayed which I'm assuming is trying to tell me the same thing.
All other behavior is identical i.e. generating new session file on each page load/refresh but working when login in without checking the remember me checkbox.
It's only happening in Chrome by the way.
Scoured a dozen forums and no one has yet supplied a clear solution to the issue.

I've never heard of this before.
Have you tried on another computer? Sounds like Chrome is not allowing sessions on your domain, and so each page load causes a new session to be enabled. It's likely a config issue with Chrome.

Why does it work though when i sign in without selecting the remember me checkbox. The issue is being caused when I sign in by selecting the remember me checkbox and only in Chrome?

Check your session.php to see if you have anything set like this is true and you're accessing via HTTP or something.
'secure' => env('SESSION_SECURE_COOKIE', false),

This is what I have in session.php:
'driver' => env('SESSION_DRIVER', 'file'),
'lifetime' => env('SESSION_LIFETIME', 120),
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => null,
'table' => 'sessions',
'store' => null,
'lottery' => [2, 100],
'cookie' => env(
    'SESSION_COOKIE',
    str_slug(env('APP_NAME', 'laravel'), '_').'_session'
),
'path' => '/',
'domain' => env('SESSION_DOMAIN', null),
'secure' => env('SESSION_SECURE_COOKIE', false),
'http_only' => true,
'same_site' => null,

and this is what I have in env file:
APP_NAME=xyz-xyz
APP_ENV=local
APP_KEY=base64:LhyBmW6dl3E6ZZ+nwClsmVa7ONHfTkl7Sl1vSxY9f44=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=<IP_ADDRESS>
DB_PORT=3306
DB_DATABASE=xyz
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync

REDIS_HOST=<IP_ADDRESS>
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

Could we have a glimpse at your views ? As for the authentication, are you using a custom solution ?

This is the login view:
 {!! Form::open(['method' => 'POST', 'url' => 'jobseeker/login']) !!}

login->has('email')) has-error @endif">
        Email address *
        {!! Form::email('email', old('email'), ['class' => 'form-control']) !!}
        @if ($errors->login->has('email'))
{{ $errors->login->first('email') }}
 @endif

login->has('password')) has-error @endif">
        Password *
        {!! Form::password('password', ['class' => 'form-control']) !!}
        @if ($errors->login->has('password'))
{{ $errors->login->first('password') }}
 @endif

            {!! Form::checkbox('remember', 'true', true) !!} Keep me signed in

    <button type="submit" class="btn btn-primary pull-right">Sign in</button>

  {!! Form::close() !!}

This is the login controller where I've overridden some of the out of the box methods
public function login(LoginRequest $request)
{

    if ($this->hasTooManyLoginAttempts($request)) {
        $this->fireLockoutEvent($request);

        return $this->sendLockoutResponse($request);
    }

    if ($this->attemptLogin($request)) {
        return $this->sendLoginResponse($request);
    }

    $this->incrementLoginAttempts($request);

    return $this->sendFailedLoginResponse($request);

}

protected function attemptLogin(Request $request)
{

    $user = User::where('email', '=', $request->input('email'))->first();
    if ($user && $user->hasRole('manager'))
       return $this->guard()->attempt($this->credentials($request), $request->filled('remember'));

    return false;
}

protected function guard()
{
    return Auth::guard('manager');
}

The fact it occurs with google chrome, and not firefox etc - means it is somehow browser related and not due to Laravel, Blade or anything else.
If you can supply a demo website, I'd like to try my chrome and firefox against it to replicate.
You should try with a blank Laravel install and confirm that works for you, then slowly add everything back in until you find the cause.
The reality is no one else is experiencing this issue (otherwise we would have 1000's of reports of issues of Laravel not being comptabile with Google Chrome) - but I'm open to the idea is this a strange edge case somehow...

Also try incognito mode, or disable all addons/extensions.

Check to make sure you do not have another application running with the same APP_NAME value
APP_NAME=xyz-xyz
I had this same problem for over a year when I created subdomains of my companies primary domain. This is the session config for the cookie name, which Chrome is only setting on the primary domain instead of per subdomain
'cookie' => env(         'SESSION_COOKIE',         str_slug(env('APP_NAME', 'laravel'), '_').'_session'     ),
By updating the app name, it will alter the cookie name and you should not have this problem anymore

Check to make sure you do not have another application running with the same APP_NAME value
APP_NAME=xyz-xyz
I had this same problem for over a year when I created subdomains of my companies primary domain. This is the session config for the cookie name, which Chrome is only setting on the primary domain instead of per subdomain
'cookie' => env(         'SESSION_COOKIE',         str_slug(env('APP_NAME', 'laravel'), '_').'_session'     ),
By updating the app name, it will alter the cookie name and you should not have this problem anymore

Verify that your config/session.php file contains this line
'domain' => env('SESSION_DOMAIN', null),
Then remove the SESSION_DOMAIN line in your .env file

I have the same issue on laravel 5.5

having the same issue here... working fine on heroku dev server, but locally, cookies is empty..

I have the same issue but maybe with different behavior.
I'm using Laravel 5.5.39 on my local windows 10.
The same app is working fine or production, but showing this message only on the local machines.
I've tried it on both my PC and laptop using google chrome, firefox, and Edge and still showing the same message "The page has expired due to inactivity. Please refresh and try again." when I try to log in.
Also, I tried to use firefox on Virtual Machine Ubuntu to connect to my laptop IP address to make sure that there is no Cookie of browser related issue.
Still No Luck 👎
I noticed the following:
When I open only the home page, three new files get created in storage/framework/sessions
When I click on login link, four new files get created
If I type in username and password, one new file get created

@rmf0938 I was just having the same problem and changing APP_NAME was the solution. Forgot to change from the default of "Laravel".

Pay attention on php.ini mbstring.func_overload parameter. It has to be set to 0. And mbstring.internal_encoding set to UTF-8. In my case that was a problem.

For my part I get the same problem.
In my case I had
   public function index()     {         Session::flush();         return view('home');     }
getting rid off my Session resolve my problem.

Same error here, but in default login page.
I solved changing PHP options to default (maybe be a wrong settings on MAX_INPUT_TIME or
MAX_INPUT_VARS).

Check if you session.php contain this Line.
'domain' => env('SESSION_DOMAIN', null),

if you are working on localhost add SESSION_DOMAIN=YOUR_LOCALHOST_DOMAIN on .env file then as usual php artisan config:cache it will work 💯

@Adam-78 - did you resolve this issue?

In my case, I have got the same error message and then figured out that I have missed adding CSRF token for the form field.
With Laravel 5.6 using Blades templates, it's pretty easy
<form method="POST" action="/profile">
    @csrf
    ...
</form>

It doesn't work, then Refresh the browser cache and now it might work

Hi, I had the same problem but the problem is not in the framework but in the browser. I don't know why but google chrome blocks cookies automatically, in my case.  After allowed cookies the problem was resolved.

As far as I understand the problem stems from CSRF token invalidation due to session expiry.
I found a simple solution for handling this error more or less gracefully.
Use the VerifyCsrfToken::handle() in your application to wrap the parent call to handle in a try-catch block which catches the TokenMismatchException and redirect back with an error message.
You can see a simple example here: VerifyCsrfToken

I had a version of PHP 7.1
I installed version PHP 7.2 and the problem was solved

This is indeed something to do with the session domain in Chrome. I've run into this issue of couple of times running laravel 5.5 through Docker with memcached as the cache_driver.
In Chrome:
CACHE_DRIVER=memcached, SESSION_DOMAIN [not set] fails
CACHE_DRIVER=file, SESSION_DOMAIN [not set] succeeds
CACHE_DRIVER=memcached, SESSION_DOMAIN=MY_DOMAIN succeeds
In firefox:
CACHE_DRIVER=file, SESSION_DOMAIN [not set] succeeds
CACHE_DRIVER=memcached, SESSION_DOMAIN [not set] succeeds
CACHE_DRIVER=memcached, SESSION_DOMAIN=MY_DOMAIN succeeds
FTW:
CACHE_DRIVER=memcached, SESSION_DOMAIN=MY_DOMAIN
.... in my case

I was using localhost for this app (1st one live on my computer)
Defining a new host name and updating APP_URL and SESSION_URL followed by php artisan config:cache solved the issue.

If it's related to cookies then, you should do this below.
https://i.imgur.com/z69i7Vb.png

In my case, mysql in vagrant was stopped with error (Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'). "service mysql restart" was not working. I had look in "sudo cat /var/log/mysql/error.log" and saw: "2235-03-14T13:05:45.511737Z 121 [Warning] Iteration 1: Current time obtained from system is greater than 2038".
Command "date" showed: "Sat Mar 14 13:45:25 UTC 2235". I don't know why it happened. I changed right date and it worked.

As far as I understand the problem stems from CSRF token invalidation due to session expiry.
I found a simple solution for handling this error more or less gracefully.
Use the VerifyCsrfToken::handle() in your application to wrap the parent call to handle in a try-catch block which catches the TokenMismatchException and redirects back with an error message.
You can see a simple example here: VerifyCsrfToken

Thanks a lot this actually solved my problem.

Old topic, but just ran into it on Laravel 5.5 and 5.6. When I changed in config/session.php
'same_site' => "lax",
it worked.


Making Floaty open/close functions accessible for override

As a part of the changes to support Swift 4.2 the open and close functions found inside the Floaty class were switched from being scoped as open to being scoped as public. This breaks any implementations where a developer may have chosen to sub-class the Floaty implementation and override these methods. A potential use case being the one mentioned in #234 where a developer may wish to call the handler of the FloatyItem when only one FloatyItem is present rather than showing that single item and requiring the user to tap it.
import Floaty
class CustomFloaty: Floaty {
  override fun open() {
    if self.items.count == 1 {
      let item = self.items[0]
      item.handler?(item)
    } else {
      super.open()
    }
  }
}

This is my first pull request so I apologize if I am overstepping or going about this the wrong way. I'd like to say thank the maintainers of this library, it has been very useful!

@kciter Would be nice if this could be merged.


Upgrade to pymodbus v3.7.2

Pymodbus introduced some breaking changes in version 3, namely the parameter unit was renamed to slave. The ModbusTcpClient class was moved as well. Finally, slave=0 is a broadcast to all devices and will not work in most cases. I had to use slave=1 instead.

Thanks @sg26565, could you please adjust the README.md here as well (a table still lists the unit-parameter which, as you stated, is now named "slave").

@sg26565  and @olivergregorius any news here?


[core] SetExitKey() bug (with fix)

Please, before submitting a new issue verify and check:

[x] I tested it on latest raylib version from master branch (I checked master and it has the same bug) core.c line 4641
[x] I checked there is no similar issue already reported
[x] My code has no errors or misuse of raylib

Issue description
SetExitKey() didn't work for me: I wanted to disable KEY_ESCAPE.
So I fixed it:
In core.c, function ProcessKeyboard(), the value 256 is used for checking for exit in one place, where it should use CORE.Input.Keyboard.exitKey.
Current code:
if (bufferByteCount == 1) CORE.Input.Keyboard.currentKeyState[256] = 1;> //raylib key: KEY_ESCAPE
Fixed code:
if (bufferByteCount == 1) CORE.Input.Keyboard.currentKeyState[CORE.Input.Keyboard.exitKey] = 1; // default raylib key: KEY_ESCAPE
Environment
I'm cross developing on MacOS/Linux/Window (MSYS).  Although I only tested this bug fix on MacOS so far.
Issue Screenshot
Not applicable
Code Example
See above

@TakUnderhand thanks! fixed!

Thanks for the amazing API of raylib :)


Traditional Chinese Language Price check name is not match

The search name is wrong if I use Traditional Chinese for my game language

The chinese API contains slightly different information (different order). It makes it tricky to match 1-to-1 to english. I suggest only searching by item class until we find a solution.

There are some people working on tanslating the english trade website to Chinese+ English version
Here is the code, hope it can help
https://greasyfork.org/zh-CN/scripts/520190-poe2-trade-繁体/code

Oh, if we can somehow extract a translated metadata.json from there, we would start getting much better results. Nice find

poe2-trade-zh-main.zip
Also , there is one more here
This is a the version that completely traditional chinese


Previous Luci version number is cached after update

After updating Luci Packages the Luci Version displayed is not the installed version but the previous version.
If the cache files are removed manually then the correct version is displayed
.
rm /tmp/luci-modulecache/* /tmp/luci-indexcache
Issue was observed on 17.01.x and 18.06.1
Reference:
https://forum.openwrt.org/t/solved-luci-revision-numbers/17590

Hmmm.
The files in /tmp will not survive flash & reboot, so you can only run into this if you update LuCI and do not reboot.
Maybe "rm those files" should be added into luci-base postinst function.

Not able to reproduce on any version I tested


Questions about distributed training on multiple machines

Hi,
I tried to run the mnist example provided in mxnet on a set of ssh-able machines. I run the program using the following command.
python ../../tools/launch.py -n 2 -H hosts \
python ./train_mnist.py --network mlp --num-epochs 1 --kv-store dist_sync
Everything seems work well. But I have two concerns.

How can I get a global view this distributed process? The log generated by the workers is similar to what I got if I run the same workload under the single machine setting. Even if I set the PS_VERBOSE=1, I can only know that all the servers and workers have registered with the scheduler and can talk with each other. Take the mnist as an example, there are 60000 samples in the training set, how can I know these workers are coorperating together to get the work done instead of running seperately?

FYI, here is the log generated by one of the workers when run the distributed training example.
[19:54:00] src/van.cc:75: Bind to role=worker, ip=<IP_ADDRESS>, port=38145, is_recovery=0
[19:54:24] src/van.cc:281: W[9] is connected to others
INFO:root:start with arguments Namespace(batch_size=64, disp_batches=100, gpus=None, kv_store='dist_sync', load_epoch=None, lr=0.05, lr_factor=0.1, lr_step_epochs='10', model_prefix=None, mom=0.9, monitor=0, network='mlp', num_classes=10, num_epochs=1, num_examples=60000, num_layers=None, optimizer='sgd', test_io=0, top_k=0, wd=0.0001)
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): yann.lecun.com
DEBUG:urllib3.connectionpool:http://yann.lecun.com:80 "GET /exdb/mnist/train-labels-idx1-ubyte.gz HTTP/1.1" 200 28881
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): yann.lecun.com
DEBUG:urllib3.connectionpool:http://yann.lecun.com:80 "GET /exdb/mnist/train-images-idx3-ubyte.gz HTTP/1.1"<PHONE_NUMBER>
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): yann.lecun.com
DEBUG:urllib3.connectionpool:http://yann.lecun.com:80 "GET /exdb/mnist/t10k-labels-idx1-ubyte.gz HTTP/1.1" 200 4542
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): yann.lecun.com
DEBUG:urllib3.connectionpool:http://yann.lecun.com:80 "GET /exdb/mnist/t10k-images-idx3-ubyte.gz HTTP/1.1"<PHONE_NUMBER>
INFO:root:Epoch[0] Batch [100]	Speed: 259.32 samples/sec	accuracy=0.808014
INFO:root:Epoch[0] Batch [200]	Speed: 252.99 samples/sec	accuracy=0.928125
INFO:root:Epoch[0] Batch [300]	Speed: 255.75 samples/sec	accuracy=0.942031
INFO:root:Epoch[0] Batch [400]	Speed: 259.36 samples/sec	accuracy=0.947187
INFO:root:Epoch[0] Batch [500]	Speed: 258.24 samples/sec	accuracy=0.953438
INFO:root:Epoch[0] Batch [600]	Speed: 255.40 samples/sec	accuracy=0.963281
INFO:root:Epoch[0] Batch [700]	Speed: 254.65 samples/sec	accuracy=0.967031
INFO:root:Epoch[0] Batch [800]	Speed: 256.54 samples/sec	accuracy=0.960625
INFO:root:Epoch[0] Batch [900]	Speed: 258.10 samples/sec	accuracy=0.968594
INFO:root:Epoch[0] Train-accuracy=0.972551
INFO:root:Epoch[0] Time cost=233.724
INFO:root:Epoch[0] Validation-accuracy=0.966063
[19:58:44] src/./zmq_van.h:46: W[9] is stopping
[19:58:44] src/van.cc:170: W[9] is stopped

I found that it's quite convienent to run the workload on a set of cpu machines or a set of gpu machines. However, I wonder is there a way to run the workload on a mixed of cpu and gpu workers? For example, there are 5 workers, 2 of them have 2 CPUs on each of them, others have 3 GPUs on each of them. Is that possbile for us to launch the distributed training task on these 5 machines? Could you please give a pointer of how to do that?

Thanks in advance!
Bo

When running in dist_sync mode training would come to a halt if one of the workers or servers is down. So that is a hint. But your observation may still be valid. What information do you think would be useful for diagnostic purposes.

This probably does not answer your question, but I'm curious to know why you want to do this? Are you running in a shared environment?  Even in async mode, there is a marked asymmetry between the rates at which gpus and cpus can process input data.

@madjam Thanks for your comments!

If we consider data parallelism, as each worker works on one partition of the data. If we can monitor the overall data processed by all the workers (represented by the total number of processed batches for example) and also get the progress each worker has made (represented by the local processed batches since the work launched) in the runtime, then it will be more straightforward to show the global view the distributed learning.
To be frank, I am new to deep learning, so the following concerns are mostly hypothetical.
One of the scenario I can come up with is what if there are not enough computation resource for you to do the computation. Although intuitively, the more GPUs we have the quicker the learning process, but we always have a limited number of GPU. Under this circumstances, if we can leverage the computation capacity of the idle CPU cluster in our system, we will get extra performance gain.
Another concern would be is that possible some of the computation is processed faster on CPU? I know that computation like matrix multiplication will be extremely fast if we use GPU. But I am not sure that is always the case for all kinds of computation in deep learning algorithms.
Do these two concerns make sense to you?

Module.fit lets your supply callbacks that will be invoked when events of interest such as batch end, epoch end occur. You can supply a logging call back to have it print out stats.
Operations that consume lots of FLOPS are better run on GPUs, assuming you have them available. In some cases the discrepancy in training times (between CPU and GPU) is so big that you probably are better off waiting for a GPU to become available. You could conceivably use a cluster of CPUs if you are not training the entire network i.e. taking a pre-trained model and fine tuning it with new labeled data. I do think your questions/concerns are valid. It is just that CPUs and GPUs are optimized for different types of workloads.

@madjam Thanks for comments! That helps a lot.


Fix session delivery logic to always use the delivery queue

Goal
Streamline session delivery, ensuring requests are sent on the API client delivery queue.
Changeset
SessionTracker

Moved the event handling for entering/leaving the foreground here
Separated starting a session manually from automatic session tracking logic
Removed delivery logic

Notifier

Manually starts a new session in the start() method
Calls new session tracker event hooks

SessionTrackingApiClient

Moved all of the logic for delivering sessions here

Tests

Added new unit test cases for starting sessions manually vs auto-capture to ensure sessions are only recorded when shouldAutoCaptureSessions is true.
Refactored integration test cases for starting sessions and automatic session tracking to test the default behavior without setting shouldAutoCaptureSessions

Discussion

This changeset removes the logic in BugsnagConfiguration to start a session if no session has ever been started in the setter for shouldAutoCaptureSessions because of a possible race condition. The inline docs are updated accordingly, but is this behavior needed?

Alternative Approaches

I considered only doing the SessionTrackingApiClient change, however the larger changeset makes the flow easier to follow and removes the timer logic. This is still a possibility if reviewing a smaller changeset is preferable.

Review

For the submitter, initial self-review:

[x] Commented on code changes inline explain the reasoning behind the approach
[x] Reviewed the test cases added for completeness and possible points for discussion
[ ] A changelog entry was added for the goal of this pull request
[x] Check the scope of the changeset - is everything in the diff required for the pull request?
This pull request is ready for:

[x] Initial review of the intended approach, not yet feature complete
[x] Structural review of the classes, functions, and properties modified
[x] Final review

For the pull request reviewer(s), this changeset has been reviewed for:

[ ] Consistency across platforms for structures or concepts added or modified
[ ] Consistency between the changeset and the goal stated above
[ ] Internal consistency with the rest of the library - is there any overlap between existing interfaces and any which have been added?
[ ] Usage friction - is the proposed change in usage cumbersome or complicated?
[ ] Performance and complexity - are there any cases of unexpected O(n^3) when iterating, recursing, flat mapping, etc?
[ ] Concurrency concerns - if components are accessed asynchronously, what issues will arise
[ ] Thoroughness of added tests and any missing edge cases
[ ] Idiomatic use of the language

I think the review feedback has been addressed:

Added logging to the unlikely error cases
Documented the main thread-based hooks
Added tests for the handled/unhandled event counts in report payloads


[loc] Adding language - Indonesian to transifex VS Code project

We expect at least three language contributors sign up and product team sign off before adding new language.
Please vote by adding your transifex account name here.

https://www.transifex.com/user/profile/simplyeazy/

https://www.transifex.com/user/profile/ananmaneki/

https://www.transifex.com/user/profile/mcseptian/

@simplyeazy @askareija @mcseptian , thank you for your interest of contributing! I have enabled language Indonesian (id) in transifex for project vscode-editor, vscode-extension and vscode-workbench. Please check. Let me know if you see any problem.

@michelkaporin , let me know if need to enable this language for vscode-setup.

@danyeh yes, this needs to be added also to vscode-setup.

Indonesian enabled for vscode-setup. Close this issue (request) for now.


Adds storage packing for timestamp/executed, stores the timestamp of …

…execution, refactors the erc20 interface to include camel case (fixes https://github.com/EkuboProtocol/governance/issues/10)

cc @enitrat can you review this?


[CINFRA-XXX] Refactor Log Supervision Agency Code

Scope & Purpose
Applies the same simplifications that were used for Replicated State on Replicated Logs.

[ ] :hankey: Bugfix
[ ] :pizza: New feature
[ ] :fire: Performance improvement
[x] :hammer: Refactoring/simplification

Obsolete

Obsolete


Move Apifox.Apifox 2.2.23 to Ruihu.Apifox 2.2.23

Microsoft Reviewers: Open in CodeFlow

[Policy] Reset Feedback

[Policy] Approved


Don't Merge! PR real time test for webhook case

Docs Build status updates of commit 5f77b96:
:clock10: Pending: waiting for processors (35 builds ahead of you)
:warning: Docs Build is busy, currently there are 35 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 5f77b96:
:clock10: Full build: the average full build time is 10 min(s) 48 sec(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit 5f77b96:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-conceptual/testing.md
:warning:Warning
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)
Details

docs-ref-conceptual/testing.md

[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.
[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.
[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Incomplete sentence in docs

In the page, "The Fail trait", the following sentence seems to be unfinished:
It has both a backtrace and a cause method, allowing users to get

Thanks, fixed this!


[RESTEASY-2503] Throw ViolationException for EJBs with just parameter violations

Issue: https://issues.redhat.com/browse/RESTEASY-2503
This is the cherry-pick of https://github.com/resteasy/Resteasy/pull/2324 into 3.6.1.SPx branch for EAP 7.2.z

Thanks, @gaol. I just changed the @Since annotations to 3.6.1.SP9.


[firebase_auth] linking credential to anonymous user

Calling:
(await _auth.currentUser())
  .linkWithCredential(
    EmailAuthProvider.getCredential(
        email: email,
        password: password,
      ))

on anonymous user case error:
PlatformException(ERROR_USER_TOKEN_EXPIRED, The user's credential is no longer valid. The user must sign in again., null)

flutter: 1.12.13+hotfix.9
firebase_core: ^0.4.4+3
firebase_auth: ^0.15.5+3
cloud_functions: ^0.4.2+3
cloud_firestore: ^0.13.4+2

Hi @adworzynski
can you please provide your flutter doctor -v and flutter run --verbose?
Thank you

[√] Flutter (Channel stable, v1.12.13+hotfix.9, on Microsoft Windows [Version 10.0.18363.720], locale pl-PL)
• Flutter version 1.12.13+hotfix.9 at C:\Users\Adam\AppData\Local\flutter\flutter
• Framework revision f139b11009 (2 weeks ago), 2020-03-30 13:57:30 -0700
• Engine revision af51afceb8
• Dart version 2.7.2
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at C:\Users\Adam\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.3
• Java binary at: C:\Users\Adam\AppData\Local\Java\java\bin\java
• Java version OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/setup/#android-setup for detailed instructions).
[√] IntelliJ IDEA Ultimate Edition (version 2019.3)
• IntelliJ at C:\Users\Adam\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\193.6911.18
• Flutter plugin version 44.0.3
• Dart plugin version 193.6494.35
[√] Connected device (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)
! Doctor found issues in 2 categories.

[+1240 ms] I/BiChannelGoogleApi(16998): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzaq@efe5620
[ +423 ms] D/FirebaseAuth(16998): Notifying id token listeners about a sign-out event.
[        ] D/FirebaseAuth(16998): Notifying auth state listeners about a sign-out event.
[  +10 ms] E/flutter (16998): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(ERROR_USER_TOKEN_EXPIRED, The user's credential is no longer valid. The user must sign in again., null)
[        ] E/flutter (16998): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
[        ] E/flutter (16998): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33)
[        ] E/flutter (16998):
[        ] E/flutter (16998): #2      MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:349:48)
[   +1 ms] E/flutter (16998): #3      MethodChannelFirebaseAuth.linkWithCredential (package:firebase_auth_platform_interface/src/method_channel_firebase_auth.dart:224:23)
[        ] E/flutter (16998): #4      FirebaseUser.linkWithCredential (package:firebase_auth/src/firebase_user.dart:66:10)
[        ] E/flutter (16998): #5      _AuthenticatedUser.enroll (package:flutter_application/widgets/firebase/firebase_user.dart:66:10)
[        ] E/flutter (16998):
[        ] E/flutter (16998): #6      _RegistrationState.build. (package:flutter_application/views/account/registration.dart:73:50)
[        ] E/flutter (16998): #7      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:706:14)
[        ] E/flutter (16998): #8      _InkResponseState.build. (package:flutter/src/material/ink_well.dart:789:36)
[        ] E/flutter (16998): #9      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
[        ] E/flutter (16998): #10     TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:486:11)
[        ] E/flutter (16998): #11     BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:264:5)
[        ] E/flutter (16998): #12     BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:236:7)
[        ] E/flutter (16998): #13     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
[        ] E/flutter (16998): #14     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:222:20)
[        ] E/flutter (16998): #15     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
[        ] E/flutter (16998): #16     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
[        ] E/flutter (16998): #17     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
[        ] E/flutter (16998): #18     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
[        ] E/flutter (16998): #19     _rootRunUnary (dart:async/zone.dart:1138:13)
[        ] E/flutter (16998): #20     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
[        ] E/flutter (16998): #21     _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)
[        ] E/flutter (16998): #22     _invoke1 (dart:ui/hooks.dart:273:10)
[        ] E/flutter (16998): #23     _dispatchPointerDataPacket (dart:ui/hooks.dart:182:5)
[        ] E/flutter (16998):

Hey @adworzynski no biggie but in future please try to add log outputs in code blocks, github assumes anything with #number is an issue and links this issue with many others which can make it difficult to triage. I've updated your comment above.
Are you still having problems with your original issue? - thanks!

Yes, I've upgraded to firebase_auth: 0.16.0, but still the same issue appears.

Hi @adworzynski
Tto better address the issue, would be helpful
if you could post a minimal code sample to reproduce the problem
Thank you

I'm just calling:
FirebaseAuth.instance.signInAnonymously();
And after that (after filling enrollment form, up to 20 seconds later)
(await FirebaseAuth.instance.currentUser())
          .linkWithCredential(EmailAuthProvider.getCredential(
            email: email,
            password: password,
          ))

At the top of my application I have StreamBuilder with stream:
FirebaseAuth.instance.onAuthStateChanged.map(_toUser)

Hey 👋
Our rework of the Auth, Core & Firestore plugins as part of the FlutterFire roadmap was published over a week ago with a ton of fixes and new features.
As part of this we introduced a new documentation site which should has a lot of new documentation that should cover this issue & others in general. If you spot any issues on the documentation or anything missing then please raise a new GitHub issue, or better yet suggest a change via a Pull Request (there's a 'Edit this page' button at the bottom of every page on the docs).
See: https://firebase.flutter.dev/docs/auth/usage#linking-user-accounts
Additionally, for help migrating to these new plugins I'd recommend checking out the migration guide: https://firebase.flutter.dev/docs/migration


Requiring 3DES signature Algorithm

Certificate must use 3DES signature Algorithm

@PPacentMSFT : Thanks for your contribution! The author, @mattbriggs, has been notified to review your proposed change.


spotify-api-js-org documentation typo's

In this page, there are some typos in the const user code block.

clientId should be clientID
client_secret should be clientSecret
redirect_uri should be redirectUri
Also, a small one, but 'Authentication' in the side bar 'Examples' has a typo as well: 'Authenication'

You have made a small mistake here which i just now noticed is redirect_uri should not be changed to redirectUri instead should be changed to redirectURL. You can view the documentation here.

Currently the documentation has been updated to the documentation repo but it might take time to be deployed.

Docs have been updated successfully.
Thanks for helping us out there !

Docs have been updated successfully.
Thanks for helping us out there !

I guess it not deployed perfectly yet.

Fixed typos. You can view the updated one here.


Testing Transmitter module by writing self-checking testbench in VUnit Framework form

Estimated time of completion : (6-7)h

This task also requires writing self-checking testbenches of modules integrated into transmitter module.


Manifest Update for Element.Element v1.7.26

Static URL so #12410 can be closed

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@denelon did you guys investigate why this is getting blocked?


Code Quality: Replaced private const & struct with CsWin32 & Improve comments

Replaced private const & struct with CsWin32 & Improve comments following @0x5bfa 's comments for #16508.

@0x5bfa PTAL.

@Jack251970 thank you for following up on those.

Thanks, lgtm.


go fmt doesn't strip unnecessary parens in make(chan (type))

Please answer these questions before submitting your issue. Thanks!

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

go version go1.6.2 darwin/amd64

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

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/sm/src/sc"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"

What did you do?

https://play.golang.org/p/cvrTuLUU54
When I run go fmt it doesn't remove the superfluous parentheses. A grep of the go source shows that having parens doesn't come up much.

What did you expect to see?

When I run go fmt I expect it to strip the unnecessary parens.

What did you see instead?

parens are left in place.

Working as intended.
gofmt deliberately makes no attempt to remove unnecessary parentheses except for reducing multiple parentheses to 1. While in this case it might make sense to reduce it to 0, sometimes an author puts in parentheses deliberately to emphasize nesting. gofmt cannot reasonably make that style decision.
For instance, (((x + y))) is simplified to (x + y), but z := (x + y) is not further simplified. There's no difference between parentheses around expressions and parentheses around types.
Code like this is extremely uncommon (unless machine-generated perhaps, but then it's also easy to fix on the generator side); and this is the first such complaint in years. Closing.

Without -s, gofmt is only supposed to change whitespaces. (I'm not saying
that -s should do this rewrite though.)


Replace DatasetModuleNotInstalledError errors with DatasetWithScriptNotSupportedError

We should never have a DatasetModuleNotInstalledError error, because we should return a DatasetWithScriptNotSupportedError error before
See https://github.com/huggingface/datasets-server/issues/1067#issuecomment-1924305954

Impact:
db.cachedResponsesBlue.countDocuments({error_code: "DatasetModuleNotInstalledError"})
989
db.cachedResponsesBlue.countDocuments({error_code: "DatasetWithScriptNotSupportedError"})
23593

Hi, does this mean that Huggingface's Dataset Viewer will not be supporting custom datasets script in the near future?

Indeed, we don't plan to support script-based datasets. Is it an issue for you? Feel free to give more details on your usecase.

I see, it's not a very big issue for me as of now. But I am slowly building a dataset that hopefully someday could scale up, and having Dataset Viewer would benefit other users to better understand the dataset.


File data/a1909154.txt contains UPPERCASE bug (Low severity issue)

Dear Maintainer,
Firstly, I’d like to express my appreciation for your work on this project. It has been incredibly valuable to my research.
While reviewing the file a1909154.txt, I noticed that some words are written in UPPERCASE when they should be in lowercase. I've outlined the details of this issue below.
Commit hash: 16420df
Commit date: 15/10/2024
Commit message: architect bricks-and-clicks content
Line 3:
Actual: determine BOARD investment religious investment prepare central. my early reality year suddenly INVOLVE from from. XXXXXXX finish BETWEEN change XXXXXXX space world.
Expected: determine board investment religious investment prepare central. my early reality year suddenly involve from from. XXXXXXX finish between change XXXXXXX space world.
I plan to submit a pull request to address this. Thank you once again for your hard work.
Best regards,
Dini Zhang

git hash correct but date should have been 23/9/24 (can see from hovering over it)


How to get the user groups?

I've got the right scope, but I can't get the groups out of the request.
'scope' => [
                    'https://www.googleapis.com/auth/userinfo.profile',
                    'https://www.googleapis.com/auth/groups',
                ]

There is no function to retrieve any other value out of the GoogleUser object.
Is the group information still in the Guzzle response object?
I hope you get what I mean.

The token that is returned can be used to access the APIs that are scoped.

@shadowhand Could you point me in the right direction?

@Horttcore https://developers.google.com/admin-sdk/directory/v1/reference/groups


Persistent Fingerprint Issue Preventing Simultaneous HID Device Pairing on Windows 11

After pairing Windows 11 with device one (D3:56:DB:15:32:A9) functioning as an HID (Human Interface Device), and subsequently deleting this device, there is an inability to pair with device two (D3:56:DB:15:32:A0), which is also set up as an HID. This suggests a fingerprint or identifier may be persisting in the system, preventing the simultaneous creation and operation of two HID devices.
Steps to Reproduce:
Pair device one (D3:56:DB:15:32:A9) with Windows 11.
Use device one as an HID.
Delete device one from the list of paired devices.
Attempt to pair device two (D3:56:DB:15:32:A0) with Windows 11.
Expected Behavior:
After deleting device one, Windows 11 should be able to successfully pair with and utilize device two without any hindrance.
Actual Behavior:
Windows 11 is unable to pair with device two after device one has been deleted, indicating a potential persistence of device fingerprints or identifiers within the system.

Yes, this is the issue described under "Problems caused by connecting device" in the HID Devices section of the documentation. It is caused by devices having multiple identities. You seem to have done some of the following things, but here's the list of things to try.
On Windows 10 (not sure if 11 is the same)

Settings/Devices/Turn Bluetooth on/Remove all HID devices
Settings/Devices/Related settings/Devices and printers/Remove all HID devices
It would be nice to delete all relevant registry entries, but I have not
found a way of doing this.
Keep trying. Sometimes a re-connection will fail several times, but then succeed for no obvious reason.

On btferret

Try a new random address
Delete the file /etc/btferret.dat.  I would be interested to know if this works, because a more graceful procedure could be implemented via code.


Proxy, connection issues and falsy - No vulnerable modules found - instead or FAIL

I'm sitting behing
corporate proxy.
When running check over VULNERABLE library
I receive BUGGY GREEN response
With proxy:
$ nsp audit-package
No vulnerable modules found
Truth is the library is Vulnerable and CONNECTIOn error shal be reported instead.
Running trhe same on direct inet line:
Without proxy:
$ nsp audit-package
Name   Installed  Patched  Vulnerable Dependency
inert    1.1.0    >=1.1.1<EMAIL_ADDRESS>yes it is vulnerable.
Please add support for HTTP proxy connections or at least change
the "falsy" green message to RED message "Cannot Be verified, connection to database unavailable."
Thanx

Thanks for letting us know about this. I'll take a look at this as soon
as I can!
Ainthe Kitchen wrote:

Please add support for HTTP proxy connections or at least change

I submitted a couple of pull requests that would implement proxy support. This is my first time doing a pull request so I expect there to be issues..but in the meantime you can manually clone my forks to use nsp with a proxy.
https://github.com/gabemarshall/nsp
https://github.com/gabemarshall/nsp-api


[cli] stack variable doesn't matter

Rancher Version:
v1.1.2
Rancher CLI:
v0.0.1 (downloaded from https://github.com/rancher/cli/releases)
When doing:
[gitlab-runner@git2-prod docker]$ rancher --stack test --debug up --pull --upgrade --confirm-upgrade
rancher doesn't care about setting stack and takes directory name as stack name:
DEBU[0000] Environment Context from file : map[]
DEBU[0000] Opening compose files: docker-compose.yml
DEBU[0000] Opening rancher-compose file: /home/gitlab-runner/builds/a56e360e/0/project/project/docker/rancher-compose.yml
DEBU[0000] [0/1] [app]: Adding
DEBU[0000] Looking for stack docker
DEBU[0000] Found stack: docker(1e25)
DEBU[0000] Launching action for app
DEBU[0000] Project [docker]: Creating project
INFO[0000] [0/1] [app]: Creating
DEBU[0000] Finding service app
DEBU[0000] Found service app
INFO[0000] [0/1] [app]: Created
DEBU[0000] Project [docker]: Project created
DEBU[0000] Launching action for app
DEBU[0000] Project [docker]: Starting project
INFO[0000] [0/1] [app]: Starting
DEBU[0000] Finding service app
DEBU[0000] Found service app
DEBU[0000] Comparing hashes for app: old: digest.ServiceHash{Service:"2efbf44df214fef32780e1a6b9df6f8e68204969", LaunchConfig:"7db9512325e67ef6c22c8ea2f7ff3d84f828e8bc", SecondaryLaunchConfigs:map[string]string{}} new: digest.ServiceHash{Service:"2efbf44df214fef32780e1a6b9df6f8e68204969", LaunchConfig:"ae048cf6557c89b775edb1d11678cb70d9087579", SecondaryLaunchConfigs:map[string]string(nil)}
INFO[0001] Finished pulling git:5005/project/project:tag
DEBU[0001] Finding service app
DEBU[0001] Found service app
ERRO[0001] Failed Starting app : Service app must be state=active or inactive to upgrade, currently: state=activating
ERRO[0001] Failed to start: app : Service app must be state=active or inactive to upgrade, currently: state=activating
FATA[0001] Service app must be state=active or inactive to upgrade, currently: state=activating

We changed where the stack flag is in the up and it was verified in v0.1.0-rc2.
Pre-duplicate of https://github.com/rancher/rancher/issues/5674, which is now closed.


PropProvider: Enhance to extends prop configs

PropProvider: Enhance to extends prop configs
This update improves PropProvider to allow nested instances to extend
configs. This makes usage of PropProvider more versitile. Allowing it to be
used, not just at the root App level, but in views, sub-views, and component
levels as well.
This Provider component is constructed using patterns adapted from libraries
like Emotion and Styled Components. The have an internal Pub/Sub system that
allows them nested Providers to communicate to pass along configs internally.
The propConnect() component then subscribes to the closest PropProvider,
where the extended props are then merged and rendered.
An example of this can be found here:
https://github.com/emotion-js/emotion/blob/master/packages/emotion-theming/src/theme-provider.js
Example
It is possible to nest PropProvider components. PropProvider will automatically extend config defined in any parent instance.
<PropProvider value={{ Button: { kind: 'secondary' } }}>
  ...
  <PropProvider value={{ Button: { block: true }, Tooltip: { zIndex: 123 } }}>
    ...
    <Tooltip>...</Tooltip>
    <Button>...</Button>
    ...
  </PropProvider>
  ...
</PropProvider>

In the above example, at the level of Button and Tooltip, the PropProvider config will be:
{
  Button: {
    block: true,
    kind: 'secondary'
  },
  Tooltip: {
    zIndex: 123
  }
}

Redux implements a similar, but more complicated, pattern as well for it's connect/Provider.

Coverage decreased (-0.4%) to 99.604% when pulling d979a563ccd33ec15bc22c865c849ffa692d4fbf on propprovider-merge-props into b43df48ca9be7ef9304ddae8d4349a76dbd00b32 on master.

OoooOoO boy! I came up with this solution last night:
https://codesandbox.io/s/k5oj5rj9nv
It leverages default React.createContext in a.. recursive, self-aware way.
It accomplishes the same thing, but with way less code :D.
(Note: Used functional components in codesandbox cause FASTER to prototype)


implement router v1

Basic:
use wouter as basic router component to provide functional router. https://github.com/molefrog/wouter
use PathToRegexp as path resolver. https://github.com/pillarjs/path-to-regexp
support both history api and hash as router.
Implementation:

implement router component:
The function of the component is more like a Switch Component
We need to defined the policy for the router inside its property.
Router will match the policy one by one until the first one is matched, and render the component  by its id.
The component must has a route trait which routerId point the router component.
implement route trait:
The trait will tell renderer not to render it as a top level component, like slot trait but to parse it into routers component registered for another component, by the given router id. The component will be rendered only if its router is rendered and the path satisfied the policy.

TODO:

[x] 1. Add default and error component as fallback component.
[x] 2. Add exact, strict for route policy or route trait.
[x] ~3. Add support for nested-router with relative path. (We can use nested-router now, but for the nested-router, they cannot use relative path)~
[x] 4. Parse parameter for route component

LGTM


feat: download file

just for test and discuss

FIY
linux use KDialog package without native ubuntu theme support (Qt theme is not default supported in ubuntu)

Throws error whtn close file explorer

Throws error whtn close file explorer

fixed

fixed pipeline error


regex tester

What feature or new tool do you think should be added to DevToys?
a regex tester
Why do you think this is needed?
to test regex expressions in java/php/js/...
Solution/Idea
No response
Comments
No response

Sorry I haven't seen that it was yet :-(