New running "go test ./..." failed error when building 0.38-DEV

Recent 0.38-DEV failed to build on Canonical's snap autobuild as seen at https://launchpad.net/~gohugoio/+snap/hugo-dev (archived at http://archive.is/ssagJ and http://web.archive.org/web/20180326082235/https://launchpad.net/~gohugoio/+snap/hugo-dev)
hugo (stable) snap 0.37.1 (correctly built and released):

https://launchpadlibrarian.net/362095925/buildlog_snap_ubuntu_xenial_amd64_hugo_BUILDING.txt.gz

hugo-dev snap 0.38-DEV (failed to build):

https://launchpadlibrarian.net/362097000/buildlog_snap_ubuntu_xenial_amd64_hugo-dev_BUILDING.txt.gz

Note the Error: running "go test ./..." failed with exit code 1 error.
Somehow, changing the "Distribution series" from Xenial (16.04 LTS) to Artful (17.10) made it "work":

https://launchpad.net/~gohugoio/+snap/hugo-dev/+build/174934/+files/buildlog_snap_ubuntu_artful_amd64_hugo-dev_BUILDING.txt.gz

But, judging from the build log, Error: running "go test ./..." failed with exit code 1 is still there with Artful.  It is just that, in the newer version, snapcraft silently ignores the go test error instead of crashing?
(Sorry for causing hugo v0.37.1 to stop working when I applied the wrong fix to this problem in "hugo-dev" snap and an frivolously applied the same "fix" to the stable snap, as reported in #4533, #4534 and #4536)
I will try to run snapcraft locally and see if I could reproduce this issue.

Finally figured out why no go test ./... output or error was shown.
It is because go test was run by mage, which is the "strong, silent type" and hides everything!  :-p
Using mage -v in the mage -v vendor test finally tells the whole story!
So, step 1, adding the -v flag to the mage call in snapcraft.yaml in commit 06495f713bee4a144c817bf3ea7f66f13cebe75a.

You should keep 16.04 as the build system as core is made out of a 16.04 base. What will happen when using a newer release is that you will have glibc incompatibilities. snapcraft 2.40 in the process of release raises issues (errors) when these incompatibilities arise.

The following is the test result on my laptop.
Looks like /usr/bin/rst2html fails to run with ImportError: No module named docutils.core
But why?
$ snapcraft -d snap
Starting snapcraft 2.39.2 from /snap/snapcraft/1177/lib/python3.6/site-packages/snapcraft/cli.
snapcraft is running as a snap True, SNAP_NAME set to 'snapcraft'
Setting up part 'hugo' with plugin 'go' and properties {'source': '.', 'plugin': 'go', 'go-importpath': 'github.com/gohugoio/hugo', 'build-packages': ['git', 'make'], 'stage-packages': ['git', 'python-pygments'], 'prepare': 'export GOPATH=$(dirname $SNAPCRAFT_PART_INSTALL)/go\nexport PATH=$GOPATH/bin:$PATH\ncd $GOPATH/src/github.com/gohugoio/hugo\ngo get github.com/magefile/mage\nmage -v vendor test\nrm -f $GOPATH/bin/dep\nrm -f $GOPATH/bin/mage\n', 'install': 'strip --remove-section=.comment --remove-section=.note $SNAPCRAFT_PART_INSTALL/bin/hugo\n', 'stage': [], 'prime': []}.
Setting up part 'go' with plugin 'nil' and properties {'build': "cd src && env GOROOT_BOOTSTRAP=$(go env GOROOT | tr -d '\\n') ./make.bash", 'build-packages': ['golang-go', 'g++'], 'install': 'cp -R * $SNAPCRAFT_PART_INSTALL', 'plugin': 'nil', 'prime': ['-*'], 'source': 'https://go.googlesource.com/go', 'source-type': 'git', 'stage': ['bin'], 'source-tag': 'go1.10'}.
Marking 'git' (and its dependencies) to be fetched
Marking 'golang-go' (and its dependencies) to be fetched
Marking 'make' (and its dependencies) to be fetched
Marking 'g++' (and its dependencies) to be fetched
Skipping pull go (already ran)
Skipping build go (already ran)
Skipping stage go (already ran)
Skipping pull hugo (already ran)
Preparing to build hugo
Unpacking stage-packages to '/home/foka/work/git/hugo/parts/hugo/install'
Building hugo
Running target: Vendor
exec: go get -u github.com/golang/dep/cmd/dep
exec: dep ensure
Running target: Test
exec: go test ./...
?   	github.com/gohugoio/hugo	[no test files]
ok  	github.com/gohugoio/hugo/bufferpool	0.028s
ok  	github.com/gohugoio/hugo/cache	0.007s
ok  	github.com/gohugoio/hugo/commands	0.076s
ok  	github.com/gohugoio/hugo/common/types	0.020s
?   	github.com/gohugoio/hugo/compare	[no test files]
?   	github.com/gohugoio/hugo/config	[no test files]
ok  	github.com/gohugoio/hugo/create	0.132s
?   	github.com/gohugoio/hugo/deps	[no test files]
?   	github.com/gohugoio/hugo/docshelper	[no test files]
ok  	github.com/gohugoio/hugo/helpers	5.759s
ok  	github.com/gohugoio/hugo/hugofs	0.016s
Source changed "content/sect/doc2.en.md": REMOVE
Source changed "content/new1.en.md": CREATE
Source changed "content/new2.en.md": CREATE
Source changed "content/new1.fr.md": CREATE
Source changed "content/sect/doc1.en.md": WRITE
Source changed "content/new1renamed.en.md": RENAME
Source changed "content/new1.en.md": RENAME
Template changed "layouts/_default/single.html": WRITE
i18n changed "i18n/fr.yaml": WRITE
Template changed "layouts/shortcodes/shortcode.html": WRITE
ERROR 2018/03/26 04:54:13 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:13 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:13 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:13 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:13 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
ERROR 2018/03/26 04:54:13 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:13 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:13 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:13 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:13 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
--- FAIL: TestPageWithMoreTagOnlySummary (2.67s)
	page_test.go:529: page has no summary, can not check truncation
ERROR 2018/03/26 04:54:14 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:14 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:14 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:14 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:14 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
ERROR 2018/03/26 04:54:14 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:14 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:14 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:14 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:14 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
--- FAIL: TestSummaryWithHTMLTagsOnNextLine (0.54s)
        Error Trace:    page_test.go:879
	            	page_test.go:613
	            	page_test.go:883
	Error:      	"" does not contain "Happy new year everyone!"
	Test:       	TestSummaryWithHTMLTagsOnNextLine
--- FAIL: TestPageWithLastmodFromGitInfo (2.21s)
        Error Trace:    page_test.go:938
	Error:      	Not equal:
	            	expected: "2018-03-11"
	            	actual  : "2018-02-28"
	Test:       	TestPageWithLastmodFromGitInfo
ERROR 2018/03/26 04:54:17 Site config's rssURI is deprecated and will be removed in Hugo 0.39. Set baseName in outputFormats.RSS
Skipping shortname timezone tests.
ERROR 2018/03/26 04:54:18 unable to read frontmatter at filepos 45: EOF
ERROR 2018/03/26 04:54:19 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:19 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:19 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:19 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:19 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
ERROR 2018/03/26 04:54:19 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:19 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:19 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:19 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:19 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
--- FAIL: TestWordCount (1.21s)
	page_test.go:1076: [rst] incorrect word count. expected 483, got 0
ERROR 2018/03/26 04:54:19 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:19 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:19 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:19 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:19 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
ERROR 2018/03/26 04:54:19 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:19 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:19 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:19 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:19 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
--- FAIL: TestWordCountWithIsCJKLanguageFalse (1.20s)
	page_test.go:1058: [rst] incorrect word count for content ''. expected 74, got 0
ERROR 2018/03/26 04:54:19 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:19 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:19 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:19 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:19 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
ERROR 2018/03/26 04:54:19 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:19 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:19 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:19 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:19 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
--- FAIL: TestWordCountWithMainEnglishWithCJKRunes (1.36s)
	page_test.go:1037: [rst] incorrect word count for content ''. expected 74, got 0
ERROR 2018/03/26 04:54:20 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:20 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:20 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:20 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:20 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
ERROR 2018/03/26 04:54:20 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:20 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:20 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:20 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:20 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
--- FAIL: TestWordCountWithAllCJKRunesHasCJKLanguage (1.16s)
	page_test.go:1024: [rst] incorrect word count for content ''. expected 15, got 0
ERROR 2018/03/26 04:54:20 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:20 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:20 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:20 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:20 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
ERROR 2018/03/26 04:54:20 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:20 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:20 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:20 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:20 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
--- FAIL: TestWordCountWithAllCJKRunesWithoutHasCJKLanguage (1.28s)
	page_test.go:1010: [rst] incorrect word count for content ''. expected 8, got 0
ERROR 2018/03/26 04:54:20 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:20 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:20 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:20 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:20 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
ERROR 2018/03/26 04:54:20 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:20 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:20 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:20 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:20 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
--- FAIL: TestPageWithMoreTag (1.13s)
	page_test.go:486: Page content is:
		""
		Expected:
		"

Summary Same Line

Some more text

" ([])
ERROR 2018/03/26 04:54:21 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:21 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:21 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:21 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:21 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
ERROR 2018/03/26 04:54:21 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:21 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:21 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:21 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:21 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
--- FAIL: TestPageWithEmbeddedScriptTag (1.31s)
        Error Trace:    page_test.go:619
	            	page_test.go:816
	Error:      	"" does not contain "Home Page Content"
	Test:       	TestPageWithEmbeddedScriptTag
ERROR 2018/03/26 04:54:21 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:21 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:21 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:21 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:21 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
ERROR 2018/03/26 04:54:21 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:21 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:21 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:21 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:21 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
--- FAIL: TestPageWithShortCodeInSummary (1.17s)
	page_test.go:486: Page content is:
		""
		Expected:
		"

Summary Next Line.

 . More text here.

Some more text

" ([])
ERROR 2018/03/26 04:54:22 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:22 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:22 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:22 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:22 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
ERROR 2018/03/26 04:54:22 p2.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:22 p2.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:22 p2.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:22 p2.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:22 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p2.rst: exit status 1
ERROR 2018/03/26 04:54:22 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:22 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:22 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:22 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:22 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
ERROR 2018/03/26 04:54:22 p3.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:22 p3.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:22 p3.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:22 p3.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:22 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p3.rst: exit status 1
ERROR 2018/03/26 04:54:22 p1.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:22 p1.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:22 p1.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:22 p1.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:22 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p1.rst: exit status 1
--- FAIL: TestPageWithDateFields (1.54s)
        Error Trace:    page_test.go:619
	            	page_test.go:768
	Error:      	"" does not contain "Home Page Content"
	Test:       	TestPageWithDateFields
ERROR 2018/03/26 04:54:22 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:22 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:22 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:22 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:22 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
ERROR 2018/03/26 04:54:22 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:22 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:22 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:22 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:22 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
--- FAIL: TestPageWithDelimiter (1.53s)
	page_test.go:486: Page content is:
		""
		Expected:
		"

Summary Next Line

Some more text

" (["rst"])
ERROR 2018/03/26 04:54:22 Resources's GetByPrefix is deprecated and will be removed in Hugo 0.39. We have added the more flexible Resources.GetMatch (find one) and Resources.Match (many) to replace the "prefix" methods.

These matches by a given globbing pattern, e.g. "*.jpg".

Some examples:

* To find all resources by its prefix in the root dir of the bundle: .Match image*
* To find one resource by its prefix in the root dir of the bundle: .GetMatch image*
* To find all JPEG images anywhere in the bundle: .Match **.jpg
ERROR 2018/03/26 04:54:22 Resources's ByPrefix is deprecated and will be removed in Hugo 0.39. We have added the more flexible Resources.GetMatch (find one) and Resources.Match (many) to replace the "prefix" methods.

These matches by a given globbing pattern, e.g. "*.jpg".

Some examples:

* To find all resources by its prefix in the root dir of the bundle: .Match image*
* To find one resource by its prefix in the root dir of the bundle: .GetMatch image*
* To find all JPEG images anywhere in the bundle: .Match **.jpg
ERROR 2018/03/26 04:54:22 p0.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:22 p0.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:22 p0.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:22 p0.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:22 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering p0.rst: exit status 1
ERROR 2018/03/26 04:54:22 _index.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:22 _index.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:22 _index.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:22 _index.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:22 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering _index.rst: exit status 1
--- FAIL: TestCreateNewPage (1.59s)
	page_test.go:486: Page content is:
		""
		Expected:
		"

Simple Page

" ([])
ERROR 2018/03/26 04:54:24 failed to parse page metadata for "invalid0.md": yaml: line 1: mapping values are not allowed in this context
ERROR 2018/03/26 04:54:24 failed to parse page metadata for "invalid10.md": yaml: line 1: mapping values are not allowed in this context
ERROR 2018/03/26 04:54:24 failed to parse page metadata for "invalid15.md": yaml: line 1: mapping values are not allowed in this context
ERROR 2018/03/26 04:54:24 failed to parse page metadata for "invalid20.md": yaml: line 1: mapping values are not allowed in this context
ERROR 2018/03/26 04:54:24 failed to parse page metadata for "invalid25.md": yaml: line 1: mapping values are not allowed in this context
ERROR 2018/03/26 04:54:24 failed to parse page metadata for "invalid30.md": yaml: line 1: mapping values are not allowed in this context
ERROR 2018/03/26 04:54:26 page post/broken.md has both draft and published settings in its frontmatter. Using draft.
ERROR 2018/03/26 04:54:26 both draft and published parameters were found in page's frontmatter
ERROR 2018/03/26 04:54:28 missing : template: missing:1: function "funcdoesnotexists" not defined
ERROR 2018/03/26 04:54:28 init : template: missing:1: function "funcdoesnotexists" not defined
ERROR 2018/03/26 04:54:28 Unable to locate template for shortcode "thisDoesNotExist" in page "sect/notfound.md"
ERROR 2018/03/26 04:54:28 sect/doc8.rst: Traceback (most recent call last):
ERROR 2018/03/26 04:54:28 sect/doc8.rst: File "/usr/bin/rst2html", line 17, in <module>
ERROR 2018/03/26 04:54:28 sect/doc8.rst: from docutils.core import publish_cmdline, default_description
ERROR 2018/03/26 04:54:28 sect/doc8.rst: ImportError: No module named docutils.core
ERROR 2018/03/26 04:54:28 /home/foka/work/git/hugo/parts/hugo/install/usr/bin/python rendering sect/doc8.rst: exit status 1
Skip Pygments test case as no pygments present.
Skip Pygments test case as no pygments present.
Skip Pygments test case as no pygments present.
Skip Pygments test case as no pygments present.
ERROR 2018/03/26 04:54:29 No shortcode param at .Get 1 in page simple.md, have params: [47238zzb]
FAIL
FAIL	github.com/gohugoio/hugo/hugolib	19.920s
ok  	github.com/gohugoio/hugo/hugolib/pagemeta	0.023s
ok  	github.com/gohugoio/hugo/i18n	0.308s
?   	github.com/gohugoio/hugo/livereload	[no test files]
ok  	github.com/gohugoio/hugo/media	0.006s
ok  	github.com/gohugoio/hugo/metrics	0.006s
ok  	github.com/gohugoio/hugo/output	0.041s
ok  	github.com/gohugoio/hugo/parser	0.051s
ok  	github.com/gohugoio/hugo/related	0.028s
ok  	github.com/gohugoio/hugo/releaser	0.165s
ok  	github.com/gohugoio/hugo/resource	5.887s
ok  	github.com/gohugoio/hugo/source	0.108s
?   	github.com/gohugoio/hugo/tpl	[no test files]
ok  	github.com/gohugoio/hugo/tpl/cast	0.044s
ok  	github.com/gohugoio/hugo/tpl/collections	0.046s
ok  	github.com/gohugoio/hugo/tpl/compare	0.057s
ok  	github.com/gohugoio/hugo/tpl/crypto	0.094s
ok  	github.com/gohugoio/hugo/tpl/data	8.050s
ok  	github.com/gohugoio/hugo/tpl/encoding	0.034s
ok  	github.com/gohugoio/hugo/tpl/fmt	0.029s
ok  	github.com/gohugoio/hugo/tpl/images	0.140s
ok  	github.com/gohugoio/hugo/tpl/inflect	0.024s
ok  	github.com/gohugoio/hugo/tpl/internal	0.022s
ok  	github.com/gohugoio/hugo/tpl/lang	0.051s
ok  	github.com/gohugoio/hugo/tpl/math	0.036s
ok  	github.com/gohugoio/hugo/tpl/os	0.036s
ok  	github.com/gohugoio/hugo/tpl/partials	0.027s
ok  	github.com/gohugoio/hugo/tpl/safe	0.023s
ok  	github.com/gohugoio/hugo/tpl/strings	0.067s
ok  	github.com/gohugoio/hugo/tpl/time	0.026s
ok  	github.com/gohugoio/hugo/tpl/tplimpl	1.777s
ok  	github.com/gohugoio/hugo/tpl/transform	0.033s
ok  	github.com/gohugoio/hugo/tpl/urls	0.065s
ok  	github.com/gohugoio/hugo/transform	0.031s
?   	github.com/gohugoio/hugo/utils	[no test files]
?   	github.com/gohugoio/hugo/watcher	[no test files]
Error: running "go test ./..." failed with exit code 1
Traceback (most recent call last):
  File "/snap/snapcraft/1177/bin/snapcraft", line 11, in <module>
    load_entry_point('snapcraft==2.39.2', 'console_scripts', 'snapcraft')()
  File "/snap/snapcraft/1177/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 565, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/snap/snapcraft/1177/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2631, in load_entry_point
    return ep.load()
  File "/snap/snapcraft/1177/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2291, in load
    return self.resolve()
  File "/snap/snapcraft/1177/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2297, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/snapcraft/cli/__main__.py", line 43, in <module>
    run(prog_name='snapcraft')
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/snapcraft/cli/lifecycle.py", line 139, in snap
    project_options, directory=directory, output=output)
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_packer.py", line 46, in snap
    execute('prime', project_options)
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 79, in execute
    _Executor(config, project_options).run(step, part_names)
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 185, in run
    self._run_step(step, part, part_names)
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 222, in _run_step
    getattr(part, step)()
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 360, in build
    script_runner.run(scriptlet=self._part_properties.get('prepare'))
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/_scriptlets.py", line 43, in run
    run([scriptlet_path], cwd=self._builddir)
  File "/snap/snapcraft/1177/lib/python3.6/site-packages/snapcraft/internal/common.py", line 64, in run
    subprocess.check_call(['/bin/sh', f.name] + cmd, **kwargs)
  File "/snap/snapcraft/1177/usr/lib/python3.6/subprocess.py", line 291, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/bin/sh', '/tmp/tmpe6w8m39j', '/tmp/tmpx1z12b_x']' returned non-zero exit status 1.

But why?

I had this error myself ... somewhere lately.
It is related to versioning of this:
https://github.com/gohugoio/hugo/blob/master/requirements.txt

Sorry, the RST was a false alarm, as in /usr/bin/rst2html does not exist in the snap build environments at Canonical.  According to https://launchpadlibrarian.net/362130797/buildlog_snap_ubuntu_xenial_amd64_hugo-dev_BUILDING.txt.gz, the only FAIL is only this:
--- FAIL: TestPageWithLastmodFromGitInfo (0.80s)
	assertions.go:247:

	Error Trace:	page_test.go:938

	Error:      	Not equal:

	            	expected: "2018-03-11"

	            	actual  : "2018-02-28"

	Test:       	TestPageWithLastmodFromGitInfo

Some background information:

Issue #3896: Allow GitInfo to work in snap
Pull Request #3907: snap: Add git to snap package for GitInfo
Issue #4495: Incorporate the lastmod/GitInfo logic with the rest

But TestPageWithLastmodFromGitInfo runs perfectly fine outside of snap build.  I wonder what makes the difference?

FAIL: TestPageWithLastmodFromGitInfo (0.80s)

Hard to say, I assume this is due to a Git version issue or something. This is not something I want to spend time debugging, so if you got some kind of environment variable we could check for and disable this test on that builder.

Sorry for taking so long to get back to you.
I was able to reproduce "FAIL: TestPageWithLastmodFromGitInfo" running snapcraft -d snap on my own laptop (running Debian GNU/Linux), and finally found the trigger: when $GOPATH/src/github.com/gohugoio/hugo is a symlink, as is the case during a snapcraft build.
For example, in my local snapcraft test run:

GOPATH=/home/foka/snapcraft/hugo/parts/hugo/go
/home/foka/snapcraft/hugo/parts/hugo/go/src/github.com/gohugoio/hugo is a symlink to /home/foka/snapcraft/hugo/parts/hugo/src

foka@debian ~/snapcraft/hugo/parts/hugo/go/src/github.com/gohugoio/hugo/hugolib (master *=) $ go test -v -run TestPageWithLastmodFromGitInfo
=== RUN   TestPageWithLastmodFromGitInfo
gitRepo.TopLevelAbsPath = /home/foka/snapcraft/hugo/parts/hugo/src
repoPath = /home/foka/snapcraft/hugo/parts/hugo/src
workingDir = /home/foka/snapcraft/hugo/parts/hugo/go/src/github.com/gohugoio/hugo/hugolib/testsite
contentDir = home/foka/snapcraft/hugo/parts/hugo/go/src/github.com/gohugoio/hugo/hugolib/testsite/content
--- FAIL: TestPageWithLastmodFromGitInfo (0.95s)
        Error Trace:    page_test.go:938
	Error:      	Not equal:
	            	expected: "2018-03-11"
	            	actual  : "2018-02-28"
	Test:       	TestPageWithLastmodFromGitInfo
FAIL
exit status 1
FAIL	github.com/gohugoio/hugo/hugolib	0.993s

Note how contentDir is missing an initial / partly because gitRepo.TopLevelAbsPath, which calls git rev-parse --show-toplevel, dereferences the symlink.
I suspect some end-users, for whatever strange reasons, might want to work within a symlinked directory.  I intend to send a PR to github.com/bep/gitmap to use git rev-parse --show-cdup for calculating (?) the TopLevelAbsPath without dereferencing the symlink.  Hope that's the right solution!


Update Black formatter

Trying to get this working again

Coverage remained the same at 98.326% when pulling d13a59c58cdb7b35931567867ffa5f9cd1d6c7d0 on gl3nn:update-black into 5ad5181613249c99bca44e6111901b5cc6f9f353 on kayak:master.


feat: implement Client.get() dynamically

About
This pull request implements the helper function Client.get(), which lets you dynamically and effortlessly get models from the Discord API.
You use this function by assigning a variable to the result of the function call.
The keyword arguments depend on what kind of model you want to get.
Input the keyword arguments as integers, or as the HTTP methods in the HTTPClient require.
Here are examples of how you can use this helper function:
from interactions import Channel, Guild, Member, Message, Role, User, Client
...
client: Client = Client(...)
...
channel: Channel = await client.get(
    Channel,
    channel_id=...,
)
guild: Guild = await client.get(
    Guild,
    guild_id=...,
)
member: Member = await client.get(
    Member,
    guild_id=...,
    member_id=...,
)
message: Message = await client.get(
    Message,
    channel_id=...,
    message_id=...,
)
role: Role = await client.get(
    Role,
    guild_id=...,
    role_id=...,
)
user: User = await client.get(
    User,
    user_id=...,
)

Checklist

[x] I've ran pre-commit to format and lint the change(s) made.
[x] I've checked to make sure the change(s) work on 3.8.6 and higher.
[x] This fixes/solves an Issue.

(If existent): #691

[x] I've made this pull request for/as: (check all that apply)

[ ] Documentation
[ ] Breaking change
[x] New feature/enhancement
[ ] Bugfix

Quick note: the caching system is not used as of right now in the method since it needs a refactor.

Okay, I will implement that.
For now, I'll convert this to a draft, and reopen it when that is finished.

I'll be crossposting this message I wrote into our #unstable channel in the support server last night to this PR in case you may have missed it, clarifying the state of your PR. Please consider that your PR may take a long time before it is appropriately introduced to the dev branch because of the reasons provided below.

Okay, I will implement that. For now, I'll convert this to a draft, and reopen it when that is finished.

If you're to move this into a draft state, please consider what's been also written for #693

Okay, closing this and adding to enhanced for now.
May reopen later on.


Beyond fetch_multi : delegating function call to the backend

Hello,
I'm writing a finder / backend for a storage engine which already has some functions and aggregations implemented. (I target KairosDB, but it should be the same for others like InfluxDB, etc...)
What about delegating part of the (or the whole) request to the underlying backend when those functions are implemented in the backend ?
In my case it would really speed up the query.
It would require enhancing the plugin interface to specify which functions are ok to delegate ; and there would need some query rewrite as most of the storage engines out there do not understand wildcards (which, I think, is graphite's interesting point).
Any thoughts about it ?

(Might be necro bump, sorry)
This would be interesting, though not sure how feasible.
Have written an InfluxDB finder that has something similar though instead of delegation of all functions to influx, it allows user to configure a <graphite metric path pattern>: <influx aggregation function> per Aggregation configuration
The finder then uses the configured aggregation to write the query. This, however, does not apply when aggregation functions are part of the API query, only when they are configured server side.
This is modeled after storage-aggregation.conf which does the same for graphite aggregation functions.
What I think would be feasible would be:

Pass through desired aggregation function on call to fetch and fetch_multi
Allow  finder to return back a flag to graphite-api to tell it not to apply its own aggregation on top of that

Flag can default to False which is current behaviour, unless overridden by custom finder.
The call to fetch* is the only entry point into a finder so by necessity any aggregation that the finder needs to apply needs to be provided through that entry point. Request delegation is not feasible without knowledge of the data store's  API which is implemented entirely  within the custom finder.
Aggregation function could be either from API query or from server side configuration like the above. The finder implementation can then use that information to do its aggregation and tell graphite-api to skip applying its own aggregation.
If this sounds useful I can provide some code for review/feedback.


i18n(zh-cn): Update testing.mdx

Description (required)
Update testing.mdx
Related issues & labels (optional)

#8704
Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

zh-cn
guides/testing.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Can't send other datatypes because tries to decode as Json

Device 1:
<- Sending data [honor, windows, Client, Client] to <IP_ADDRESS>:8084

Device 2:
received {"host":"<IP_ADDRESS>", "port": "8084", "name": "honor", "title": "playerEnables", "payload": [true, true, false, false], "to": "null"}
💼 Recieved Packet: honor : [true, true, false, false]
💢 Data received type Null not packet: null
                                ^
...: "playerNames", "payload": [honor, windows, Client, Client], "to": "null"}
Json not decoded: FormatException: Unexpected character (at character 95)

Slight oversight during my review has been fixed


Improve wallet server performance on queries (resolve/claim search) and make non-blocking

After @shyba fixed the locking issue, we noticed poor performance on beta.lbry.tv with just a few people hitting the server for queries. The CPU would hit 100% and the pages would take 20+ seconds to load.

The server is still currently freezing up every few hours. This is a blocker.

closed by #2307


fix: multi deck.gl bug fixes (pt 2)

CATEGORY
Choose one

[x] Bug Fix
[ ] Enhancement (new features, refinement)
[ ] Refactor
[ ] Add tests
[ ] Build / Development Environment
[ ] Documentation

SUMMARY
Bug fixes for multi deck.gl charts, including:

fixes example polygon chart not working with multi deck.gl charts
unifies getLayers API so multi deck.gl charts can properly render default tooltips

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN
Visual inspection
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

REVIEWERS

Nice, happy to see these fixes!
Some linting errors in the build:
https://travis-ci.org/apache/incubator-superset/jobs/558020249

Codecov Report

Merging #7866 into master will decrease coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #7866      +/-   ##
==========================================
- Coverage   65.79%   65.77%   -0.02%
==========================================
  Files         461      461
  Lines       22094    22103       +9
  Branches     2423     2423
==========================================
+ Hits        14536    14539       +3
- Misses       7437     7443       +6
  Partials      121      121

Impacted Files
Coverage Δ

superset/data/deck.py
11.29% <ø> (ø)
:arrow_up:

...c/visualizations/deckgl/layers/Scatter/Scatter.jsx
0% <0%> (ø)
:arrow_up:

...t/assets/src/visualizations/deckgl/Multi/Multi.jsx
0% <0%> (ø)
:arrow_up:

...c/visualizations/deckgl/layers/Polygon/Polygon.jsx
0% <0%> (ø)
:arrow_up:

...alizations/deckgl/layers/Screengrid/Screengrid.jsx
0% <0%> (ø)
:arrow_up:

superset/utils/core.py
88.24% <0%> (+0.06%)
:arrow_up:

Continue to review full report at Codecov.

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


Refactor/remove todos

As task list works now I took a look at some of those TODOs and FIXMEs and fixed/removed them.
There are still 130+ there to look at, but most of them are really cryptic or they require some in-depth knowledge or a lot of work.

LGTM
I was not aware that we have that many task tags. Anyway it can only get better.

If we would have a source code quality score, it would have increased a little bit - once again.


Add timeout in bump-unversioned-casks.

[ ] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same change?
[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?
[ ] Have you successfully run brew man locally and committed any changes?

Avoid wasting CI time by also caching results for casks with timed out downloads instead of retrying them over and over again.

Review period skipped due to critical label.

Review period skipped due to critical label.


Setting PopoverButton :as="Component" breaks Float vue component

Use Version
Use version when bugs appear:

Headless UI: v1.6.7

Describe the bug
https://stackblitz.com/edit/github-vfx4en-nz2iba?file=src/components/ExamplePopover.vue
If you remove :as="HeroiconsOutlineMenuAlt2" and use the HeroiconsOutlineMenuAlt2 component inside PopoverButton everything works.
In our case we prefer rendering popover button as a custom button component. It would be nice to avoid rendering extra tag around the button.

This seems to be fixed in version ^0.10.0. So thanks i guess 🙂


False negative for Biodiversity Heritage Library (BHL) and IA

https://oadoi.org/10.5962/bhl.title.55091 redirects to https://www.biodiversitylibrary.org/bibliography/55091, which is OA although the PDF download link is not the most visible button on the page and is not semantically marked: PDF.
In the API https://api.unpaywall.org/v2/10.5962/bhl.title.55091 oa_locations is empty while it should contain the PDF linked from the splash page, https://www.archive.org/download/cu31924094807652/cu31924094807652.pdf (hosted in https://archive.org/details/biodiversity ).
I'm filing this separately from https://github.com/Impactstory/oadoi/issues/59 because I hope that this one only needs minimal changes to the crawler.

https://support.unpaywall.org/public/tickets/877e45f3bdd0b9abdabf4a36e229d9b1358919b1f4c0f11f4c3abe691ec4a55e

This is marked "Won't Fix" there, but I think it's actually fixed now. I see hundreds of links to www.archive.org being returned by Unpaywall to OAbot for English Wikipedia citations.


Add examples and different use cases

Show some of the current results.

done here: https://github.com/emeks-studio/colorin-colorado/commit/cf6c893a58f2f18cef559fa51c5e1ead18a273d8


Fixes for tests with Swift 2.2

(at least the December 1st toolchain.)

Thanks @glessard! I didn't need all of these commits, so I cherry-picked a few into my branch. The 2015-12-10 snapshot mostly works on Linux now :smiley_cat:

I still get crashes when running tests using the 2015-12-10 snapshot with Xcode 7.2 -- the same I'd solved with commit b8ce93b. Do you not see those?

Since stock Xcode works fine, I'm a bit hesitant to add a temporary hack that would just be reverted later. Do you see any big advantages when using Swift 2.2-dev on OS X, other than the Swift package manager? (I know that's a major draw.)

I concede that at the moment, there aren't big advantages. I'm expecting the advantages to start accumulating over time, however. Maybe there could be an open issue in the tracker that documents this state of affairs.


Instance location is empty in usage details

Not getting information about instance location in usage details : github.com/Azure/azure-sdk-for-go/services/consumption/mgmt/2018-03-31/consumption package

Hi!  Can you please provide a bit more info about this issue, i.e. what API you're calling (I'm guessing it's UsageDetailsClient.List) and what you mean by "not getting information", is the field nil or empty string?

Hi. yes. i'm using consumption.UsageDetailsClient. getting below json.

@asarkar84 do you know why the instanceLocation isn't included in the response?

InstanceLocation is currently not available for WebDirect subscriptions.

Closing as it looks like this has been answered, please re-open if you have further questions.


filter: http_connection_manager proto.

This is the first example of a network filter proto. Later patches will supply code to convert to google.protobuf.Struct and merge with LDS protos.

@mattklein123 for general review. @dnoe for access log related aspects.


Add the middleware tab in some places to allow to click on the Middleware tab

Fixes #6729
@miq-bot add_label providers/hawkular

:+1:

@miq-bot add_label ui

Failed specs are unrelated, and are migrations, so this should be good.  However I will wait for master to be green before merging this.


Update README.md

Spam PR

Should I have opened an issue instead? Or just never bothered in the first place?

Spam PR

Should I have opened an issue instead? Or just never bothered in the first place?

Nah, it's fine


[Bug]: Link to telemetry documentation in welcome splash dialog is broken

Current Behavior
The link to the telemetry data on the welcome splash dialog points to https://docs.waveterm.dev/reference/telemetry. The user sees a 404 error page.

Expected Behavior
The link should point to https://docs.waveterm.dev/telemetry, which appears to be the correct link.
Steps To Reproduce

Using Windows, installed with MSI (Wave-win32-x64-0.8.12.msi).
On first startup of the program, the splash dialog is shown.
Click on the telemetry data link under the Telemetry bullet.

Wave Version
v0.8.12
OS
Windows 11
Architecture
x64
Anything else?
No response
Questionnaire

[ ] I'm interested in fixing this myself but don't know where to start
[ ] I would like to fix and I have a solution
[ ] I don't have time to fix this right now, but maybe later

good catch, fixed

Thanks.


Next Greater element (in C++)

💥 Proposal
(A clear and concise description of what the proposal is.)
Have you read the Contributing Guidelines on Pull Requests?
(Write your answer here.)
Yes I have read the Contributing Guidelines on pull request.
This algorithm will print the next greater element for all the indices in an array. For the index which has no greater element to the right , -1 shall be printed.
Sample input : 4 5 2 25
Sample output: 5 25 25 -1
I will solve this in O(n) time complexity.

/assign

Closing this due to inactivity since last 21 days. Thank you for your valuable time.😊


Description of -ChannelsInChatListEnabledType is not clear

The description of -ChannelsInChatListEnabledType is:
Possible values are: DisabledUserOverride,EnabledUserOverride.
The description does not state what this parameter does. I am assuming it related to the Teams Admin setting of On mobile devices, display favorite channels above recent chats
Can this post be made clearer

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

ID: bd54bec8-d576-260c-7578-970e44de2d3b
Version Independent ID: 8102a7bb-e0ef-0f8b-b9b8-67a45ecf076f
Content: New-CsTeamsMessagingPolicy (SkypeForBusiness)
Content Source: skype/skype-ps/skype/New-CsTeamsMessagingPolicy.md
Service: skypeforbusiness-powershell
GitHub Login: @tomkau
Microsoft Alias: tomkau

Thanks for your feedback. @nikki-c


HttpRequestData.CreateResponse(StatusCode) throwing IFeatureCollection disposed from HttpTrigger functions

Description
I've created a extension method for to simplify returning JSON and some common error codes.
Extension methods
public static async Task<HttpResponseData> CreateJsonResponseAsync(this HttpRequestData request, HttpStatusCode code, object response)
{
    HttpResponseData rep = request.CreateResponse(code);
    rep.Headers.Add("Content-Type", "application/json");
    await rep.WriteStringAsync(JsonConvert.SerializeObject(response));
    return rep;
}
public static async Task<HttpResponseData> CreateInternalServerResponseAsync(this HttpRequestData req, string message)
{
    var rep = req.CreateResponse(HttpStatusCode.InternalServerError);
    rep.Headers.Add("Content-Type", "text/plain");
    await rep.WriteStringAsync(message);
    return rep;
}

For what ever reason, two straightforward HttpTrigger endpoints in an isolated function app are randomly (but semi-regulary) giving the following exception message  when deployed to Azure, causing some requests that would otherwise be successful to fail
 Application Error - IFeatureCollection has been disposed.
Object name: 'Collection'. -    at Microsoft.AspNetCore.Http.Features.FeatureReferences`1.ThrowContextDisposed()
   at Microsoft.AspNetCore.Http.Features.FeatureReferences`1.ContextDisposed()
   at Microsoft.AspNetCore.Http.Features.FeatureReferences`1.Fetch[TFeature](TFeature& cached, Func`2 factory)
   at Microsoft.AspNetCore.Http.DefaultHttpResponse.set_StatusCode(Int32 value)
   at Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore.AspNetCoreHttpResponseData.set_StatusCode(HttpStatusCode value) in D:\a\_work\1\s\extensions\Worker.Extensions.Http.AspNetCore\src\HttpDataModel\AspNetCoreHttpResponseData.cs:line 40
   at Microsoft.Azure.Functions.Worker.Http.HttpRequestDataExtensions.CreateResponse(HttpRequestData request, HttpStatusCode statusCode) in D:\a\_work\1\s\src\DotNetWorker.Core\Http\HttpRequestDataExtensions.cs:line 134
   at Insight.Functions.Core.Extensions.FunctionAppExtensions.CreateJsonResponseAsync(HttpRequestData request, HttpStatusCode code, Object response)

Sample HttpTrigger function
[Function(MethodNames.SDLElements_LoadChoiceFields)]
public  async Task<HttpResponseData> LoadElementsChoiceFieldsAsync(
   [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = MethodRoutes.SDLElements_LoadChoiceFields)] HttpRequestData req)
{
    try
    {
        var request = await RequestParsingHelper.ReterieveValueFromRequestAsync<WorkItemPostRequest>(req);

        var result = await _elementService.LoadChoiceFieldsAsync(request,ItemSourceEnum.SDL);

        return await req.CreateJsonResponseAsync(HttpStatusCode.OK, result);
    }
    catch (Exception ex)
    {
        _errorLoggingRepository.LogError($"{nameof(SDLElementsController)}.{MethodNames.SDLElements_LoadChoiceFields}:  {APIResponse.ERROR_APPLICATION} - {ex.Message} - {ex.StackTrace}");
        return await req.CreateInternalServerResponseAsync(ex.Message);
    }
}

I saw a similar error in  #2205  which suggested removing the AspNetCore integration. I tried to remove the integration in the manner it suggested but when the app builds it ends up giving The registration for method 'ConfigureFunctionsWebApplication' is expected for ASP.NET Core Integration.	I'm not sure if this is because I missed some setting or a transient dependency is forcing me to use it.
Steps to reproduce
Build Targets
<PropertyGroup>
	<TargetFramework>net6.0</TargetFramework>
	<AzureFunctionsVersion>v4</AzureFunctionsVersion>
        <_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>
        <OutputType>Exe</OutputType>
</PropertyGroup>

Installed Nuget Package
<FrameworkReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="AzureFunctions.Autofac" Version="4.0.3" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="8.0.4" />
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.22.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.SignalRService" Version="1.13.1" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.17.2" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version="1.2.1" />
<PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="2.22.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="1.2.0" />
<PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.DurableTask" Version="1.1.1" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.1.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Timer" Version="4.3.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.OpenApi" Version="1.5.1" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="5.16.0" />

@elliot-j I attempted to reproduce this issue by copying and using the extension method in a minimal HTTP app (using ConfigureFunctionsWebApplication in main) and running a load test with 100,000 requests, observing a 0% failure rate. Could you provide a minimal reproduction of the issue, preferably with a link to a GitHub repository?

@kshyju  I'll need a few days to get back to you on a repro sample

@kshyju I have not been able to get this isolated in repro sample. However, we did find that swapping to IActionResult return types removes this error for us. Since we have a work around I'm fine with closing out this issue.

This is causing all endpoints from Microsoft.Azure.Functions.Worker.Extensions.OpenApi to now throw exceptions as they return HttpResponseData.
This was working previous in .NET 8 / Isolated.  We use a floating NuGet version so I can't isolate exactly when this broke

Closing as original issue is resolved - the issue @slaneyrw is referencing is a bug in 1.3.0 of the extension and is fixed in 1.3.1.

Hi,
I'm still getting this issue with my Azure function. All of a sudden it started appearing while creating response.
I have gone through lot of articles. Tried changing the response from HttpResponseData to new OkObjectResult. Upgraded all the Microsoft.Azure.Functions.Worker related packages to latest versions.
I have noticed one thing that is when function takes longer time to respond say 3 minutes or so then I get this error and not when function takes few seconds.
Also this error from the post only occurs for function app in Azure portal and locally I get some different error as below:-
System.Private.CoreLib: Exception while executing function: Functions.RiskOperations. Microsoft.Azure.WebJobs.Script.Grpc: Failed to proxy request with ForwarderError: RequestTimedOut. System.Net.Http: The operation was canceled. System.Net.Sockets: Unable to read data from the transport connection: The I/O operation has been aborted because of either a thread exit or an application request.. The I/O operation has been aborted because of either a thread exit or an application request.
Below are some of the code details from my application:-
Program.cs file
var host = new HostBuilder()
.ConfigureFunctionsWebApplication()
.ConfigureServices(services =>
{
services.AddApplicationInsightsTelemetryWorkerService();
services.ConfigureFunctionsApplicationInsights();
services.AddHttpClient();
services.AddOptions()
.Configure((settings, configuration) =>
{
configuration.Bind(settings);
});
services.AddScoped(provider => services);
    services.AddScoped<IHttpService, HttpService>();
    services.AddScoped<ICRMService, CRMService>();
    services.AddScoped<IIntegrationService, IntegrationService>();
    services.AddScoped<IIPlusAPCQuoteOperationsProcessor, IPlusAPCQuoteOperationsProcessor>();
    services.AddScoped<IIPlusAPCRiskOperationsProcessor, IPlusAPCRiskOperationsProcessor>();
    services.AddScoped<IIPlusAPCRiskLocationOperationsProcessor, IPlusAPCRiskLocationOperationsProcessor>();
    services.AddScoped<IIplusAPCInterestedPartyOperationsProcessor, IplusAPCInterestedPartyOperationsProcessor>();
    services.AddScoped<IIplusAPCJointInsuredOperationsProcessor, IplusAPCJointInsuredOperationsProcessor>();
    services.AddScoped<IIplusAPCQuoteAdditionalInsOperationsProcessor, IplusAPCQuoteAdditionalInsOperationsProcessor>();

    services.AddTransient<CRMHelper>();
})
.ConfigureLogging(logging =>
{
    logging.Services.Configure<LoggerFilterOptions>(options =>
    {
        LoggerFilterRule defaultRule = options.Rules.FirstOrDefault(rule => rule.ProviderName
               == "Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider");

           if (defaultRule is not null)
           {
               options.Rules.Remove(defaultRule);
           }
    });
 })
.Build();

host.Run();
Function .csproj file

net6.0
v4
Exe
enable
enable

PreserveNewest

PreserveNewest
Never

Function code:-
namespace IPlusAPCRiskOperations
{
public class RiskOperations
{
private readonly ILogger _logger;
private IIPlusAPCRiskOperationsProcessor _processor;
    public RiskOperations(ILoggerFactory loggerFactory, IIPlusAPCRiskOperationsProcessor processor)
    {
        _logger = loggerFactory.CreateLogger<RiskOperations>();
        _processor = processor;
    }

    [Function("RiskOperations")]
    public async Task<HttpResponseData> RunAsync([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req)
    {
        try
        {
            _logger.LogInformation("Azure function execution started.Invocation Id:- " + req.FunctionContext.InvocationId);
            string? jsonContext = await req.ReadAsStringAsync();
            _logger.LogInformation(jsonContext);
            string iplusAPCResponse = _processor.ProcessRequest(jsonContext);
            var response = req.CreateResponse(HttpStatusCode.OK);
            await response.WriteStringAsync(iplusAPCResponse);
            _logger.LogInformation("Azure function execution finished. Invocation Id: -" + req.FunctionContext.InvocationId);
            return response;
        }
        catch (Exception ex)
        {
            _logger.LogError("Error:- " + ex.ToString());
            var response = req.CreateResponse(HttpStatusCode.InternalServerError);

            return response;
        }
    }
}

}


Explore behaviour of creating checkpoints with passed table reference

Description
A follow up issue from https://github.com/delta-io/delta-rs/pull/384/files#r688514360. The create checkpoint call mutates the given table state, thus we have to make it expected to the caller. There's a few possibilities, like keeping an old version, the one that matches given version or bumping to the latest one (what we have now)
Use Case
When creating checkpoints with reference to the DeltaTable

IMHO - to abide by "principal of least surprise" the correct behavior would be to store the starting table version and restore up to that point but no farther. So just before the check in https://github.com/delta-io/delta-rs/blob/0a9cc679a4070f7c799ee2fc7d1d898c4d61fbc8/rust/src/checkpoints.rs#L99 (if table.version != version), we would do something like:
let initial_version = table.version

and implement a method analogous to the existing update_incremental that accepts a stopping point. We would pass initial_version to that method - i.e. table.update_incremental_to_version(initial_version).
That way the user gets their table back in the same state it was in.

How about we just make create_checkpoint_from_table take an immutable reference of the passed in table and get rid of the version argument?
For applications that only need to checkpoint the current state of a table, that version argument is redundant.
For applications that need to checkpoint a table with a different version, it can just call the load_version itself right before the create_checkpoint_from_table call. We basically just caller manage the table version change and restore so there will be no surprises. We could still implement table.update_incremental_to_version(initial_version) for applications that need to restore table back to a particular state incrementally.

That's true though, so basically we'll be down to the single function e.g.  create_checkpoint_from_table. I like the simplicity, I can easily move load_version to the kdi


Rebrand to commercetools

We should focus on the brand commercetools and remove all unnecessary mentions of SPHERE.IO

[ ] sunrise-design
[ ] sunrise-java


how to support stylus ？

we can support less by addLessLoader, so  what about stylus ?

I saw pr: https://github.com/arackaf/customize-cra/pull/144/files#diff-44cfd4ff2f95728f40be4a64ecdb55fe
And do not understand why is it closed?

I saw pr: https://github.com/arackaf/customize-cra/pull/144/files#diff-44cfd4ff2f95728f40be4a64ecdb55fe
And do not understand why is it closed?

thanks,     It seems that someone has raised same question,  and he tried to solve this problem,
Some more times , stylus should be added in it

I have moved code of pr to https://www.npmjs.com/package/customize-cra-add-stylus-loader
Just install and use it

I saw pr: https://github.com/arackaf/customize-cra/pull/144/files#diff-44cfd4ff2f95728f40be4a64ecdb55fe
And do not understand why is it closed?

thanks, It seems that someone has raised same question, and he tried to solve this problem,
Some more times , stylus should be added in it

I have moved code of pr to https://www.npmjs.com/package/customize-cra-add-stylus-loader
Just install and use it. I tested it on my work project and it is work fine.

oh! thanks dehimer and DayDarkDark

@dehimer @Alicevia
hello,  i'm lazy to  answer, it can work , and I hava an other solution
`
const { override, fixBabelImports } = require('customize-cra')
const stylus = () => config => {
const stylusLoader = {
test: /.styl$/,
use: [
{
loader: 'style-loader'
}, {
loader: 'css-loader',
}, {
loader: 'stylus-loader'
}
]
}
const oneOf = config.module.rules.find(rule => rule.oneOf).oneOf
oneOf.unshift(stylusLoader)
return config
}
module.exports = override(
fixBabelImports('import', {
libraryName: 'antd',
libraryDirectory: 'es',
style: 'css',
}),
stylus()
)
`

@dehimer @Alicevia
hello, i'm lazy to answer, it can work , and I hava an other solution
const { override, fixBabelImports } = require('customize-cra')

const stylus = () => config => {
  const stylusLoader = {
    test: /\.styl$/,
    use: [
      {
        loader: 'style-loader'
      }, {
        loader: 'css-loader',
      }, {
        loader: 'stylus-loader'
      }
    ]
  }
  const oneOf = config.module.rules.find(rule => rule.oneOf).oneOf
  oneOf.unshift(stylusLoader)
  return config
}

module.exports = override(
  fixBabelImports('import', {
    libraryName: 'antd',
    libraryDirectory: 'es',
    style: 'css',
  }),
  stylus()
)

Thank you! I will need to update code:)

@dehimer Thank you for using


The grunt-ts fast-compile mode skips files we don't want to skip

To reproduce, in uproxy-networking:
grunt clean
grunt base
grunt ts:socksToRtc
This should produce compiled javascript output for socks-to-rtc, but instead it says "No file changes were detected. Skipping Compile".  The fast-compile logic, implemented in javascript in grunt-ts, appears to be based on detecting files that have changed, and our files have not changed ... they just haven't been compiled.
Changing "fast: 'always'" to "fast: 'never'" in uproxy-lib's common-grunt-rules.ts appears to fix the problem.
This particular problem is irritating because it prevents "grunt test" from functioning properly in uproxy-networking.  Currently, "grunt test" fails, because none of the .ts files in socks-common get compiled, and jasmine aborts with a warning if it encounters a test target with no tests.

I think making use of grunt watch could help here but that's a reasonably big chunk of work. I'm going to mark this as a duplicate of the following issue since they're so closely related:
https://github.com/uProxy/uproxy/issues/683


Please add a LICENSE file

Hi!
These configs have been a helpful reference for me since I'm currently learning both Ansible and Buildbot at once. However, I noticed that you don't have any licensing information in the repo to clarify whether it'd be legal for others to use and modify the code.
GitHub has a handy feature that autocompletes license information if you create a new file called LICENSE through the web interface, if you don't want to add one the old fashioned way :)
Thanks!

Thanks, I forgot this existed.

Fixed with d52e52ccbf651b95fe28f638234e61f6dbe8918b


[Question]: eng.Dup() not supported by windows

Actions I've taken before I'm here

[X] I've thoroughly read the documentations about this problem but still have no answer.
[X] I've searched the Github Issues/Discussions but didn't find any similar problems that have been solved.
[X] I've searched the internet for this problem but didn't find anything helpful.

Questions with details
I want to use gnet to send and reveice udp data on the same ip and port, the gnet version is github.com/panjf2000/gnet/v2 v2.6.3
I found some information on issue #345 , but it cannot work on windows.
Does it has any other method to work on windows?
Code snippets (optional)
type gnetConn struct {
	gnet.BuiltinEventEngine
	conn       *net.UDPConn
	log        log.Logger
	localAddr  net.Addr
	eng        gnet.Engine
	packetChan chan packet
	startChan  chan struct{}
}

func NewGnetConn(log log.Logger) *gnetConn {
	return &gnetConn{
		log:        log,
		packetChan: make(chan packet, 1024),
		startChan:  make(chan struct{}),
	}
}

func (gc *gnetConn) ListenUDP(ctx context.Context, addr string) error {
	udpAddr, err := net.ResolveUDPAddr("udp", addr)
	if err != nil {
		return err
	}
	go func() {
		err := gnet.Run(gc, "udp://"+addr)
		gc.log.Error("gnet run failed", "err", err)
	}()
	<-gc.startChan
	return nil
}

func (gc *gnetConn) OnTraffic(c gnet.Conn) gnet.Action {
	packet := packet{}
	data, err := c.Next(-1)

	if err != nil {
		return gnet.None
	}
	gc.log.Debug("<< reveice data", "remote", c.RemoteAddr())
	dst := make([]byte, len(data))
	copy(dst, data)
	packet.n = len(dst)
	packet.data = dst
	remote := c.RemoteAddr().(*net.UDPAddr)
	packet.addr = netip.AddrPortFrom(
		netip.AddrFrom4([4]byte(remote.IP.To4())),
		uint16(remote.Port),
	)
	gc.packetChan <- packet

	return gnet.None
}

func (gc *gnetConn) OnBoot(eng gnet.Engine) gnet.Action {
	fd, err := eng.Dup()
	if err != nil {
		gc.log.Error("on boot dup failed", "err", err)
		return gnet.Shutdown
	}
	file := os.NewFile(uintptr(fd), "udp")

	conn, err := net.FileConn(file)
	if err != nil {
		gc.log.Error("on boot file conn failed", "err", err)
		return gnet.Shutdown
	}

	udpConn := conn.(*net.UDPConn)
	gc.conn = udpConn
	gc.eng = eng
	gc.startChan <- struct{}{}
	return gnet.None
}

You can't just simply throw some code and say it doesn't work. That's no help for solving the problem. You need to provide more contexts and details explaining how it's not working.

I need a server that also acts as a client (which mentioned by issue #345 ) , because I want to reveice and send udp data on the same address.
In the OnBoot method, I call  fd, err := eng.Dup() the fd and make fd to a conn, these code work on linux and arm. But in window, maybe there are no fd, so eng.Dup() will return err, the err is windows are not support
Does it have other method which can work on windows

Please use this template to open a bug report and provides more details.


Field Visibility Example

Hi,
I've played around with async-graphql. I am interested to use the visible notation as seen on https://async-graphql.github.io/async-graphql/en/visibility.html
However, I can't make it work.
My code (taken from federation example). See password field.
use async_graphql_warp::graphql;
use async_graphql::*;

use std::convert::Infallible;
use warp::{Filter, Reply};

#[derive(SimpleObject)]
struct User {
    id: ID,
    email: String,

    #[graphql(visible = false)]
    password: String,
}

struct Query;

#[Object(extends)]
impl Query {
    async fn me(&self) -> User {
        User {
            id: "1234".into(),
            email: "Me".to_string(),
            password: "123".to_string()
        }
    }

    #[graphql(entity)]
    async fn find_user_by_id(&self, id: ID) -> User {
        let email = if id == "1234" {
            "Me".to_string()
        } else {
            format!("User {:?}", id)
        };
        User { id, email, password: "123".to_string() }
    }
}

#[tokio::main]
async fn main() {
    let schema = Schema::new(Query, EmptyMutation, EmptySubscription);

    warp::serve(graphql(schema).and_then(
        |(schema, request): (
            Schema<Query, EmptyMutation, EmptySubscription>,
            async_graphql::Request,
        )| async move {
            Ok::<_, Infallible>(warp::reply::json(&schema.execute(request).await).into_response())
        },
    ))
    .run(([0, 0, 0, 0], 4001))
    .await;
}

And the result when running it.

Any idea how can I make the "visible" introspection work?

The Visible attribute only hides the field in introspection, and it still takes effect when querying.

@sunli829 is there a way to hide when querying apart from removing it from struct? Otherwise, I might need to have two different structs for Graphql and Db Model. cmiiw.

@sunli829 is there a way to hide when querying apart from removing it from struct? Otherwise, I might need to have two different structs for Graphql and Db Model. cmiiw.

You can use #[graphql(skip)] attribute on fields of the struct.

@sunli829 is there a way to hide when querying apart from removing it from struct? Otherwise, I might need to have two different structs for Graphql and Db Model. cmiiw.

You can use #[graphql(skip)] attribute on fields of the struct.

Thanks!


Automated Package Upgrade

:tada: This PR is included in version 7.2.28 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[20.09] python3Packages.fsspec: fix tests on linux

Motivation for this change
Backport of https://github.com/NixOS/nixpkgs/pull/99499
ZHF: #97479
cc: @NixOS/nixos-release-managers
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

WFM macos 10.14, non-nixos linux x86_64


Ensure GraphEdit's signal arguments are StringName.

Some GraphEdit's siganls arguments which define as StringName but use String to emit.
It will lead to crash in GDExtension.

See #64312

See #64312

It seem your PR can cover my issue, but why still not be merged.....


use asterisk as placeholder in list builder searches

tasks:

[ ] test coverage
[ ] gather feedback for my changes
[ ] submit changes to the documentation

informations:

q
a

Fixed tickets
fixes #1706

BC breaks
none

Documentation PR
none

@danrot this don`t work for snippets (maybe phpcr does it) and medias ...

@wachterjohannes Fixed other appearances as well.


Tool tip on "Manage access" doesn't indicate that one changes public/discoverable/private status there/

Tip indicates that this is for sharing with specific people (as icon indicates). Not clear that this is where one changes private resource to public.

I suggest the Tool Tip text be changed to

Use this button to share your resource with specific HydroShare users or set its sharing status (Public, Discoverable, Private, Shareable). You can give other users the ability to view or edit this resource. You can also add additional owners who will have full permissions.

Current tool tip text

I also suggest the blue text at the top of the Manage Access window be expanded to

Use this window to share your resource with specific HydroShare users or set its sharing status (Public, Discoverable, Private, Shareable). You can give other users the ability to view or edit this resource. You can also add additional owners who will have full permissions. ...

Current information text at the top is

@pkdash can this be closed?

@cuahsimarko This should be closed.

@cuahsimarko This should be closed.


GenericList/SimpleList widget extension: addable, removable, reorderable [MUI]

For which Design-System: Material-UI

Summary
I would like to be able to hide the add, remove, and reorder buttons in the GenericList. It would also be useful to the SimpleList.
I would suggest adding parameters addable, removeable and reorderable, the default of which would be true for all of them, so the current behavior doesn't change. Setting any of them to false would make that part of the widget disappear.

This would be an split / more granular readOnly (which doesn't inherit at the moment) #33
Good idea!

Released in ds-material 0.2.6, a little bit other naming to be consistent and more concise.

notDeletable when true doesn't allow deletion of items
notAddable when true doesn't allow adding items
notSortable when true doesn't allow sorting of items

only for GenericList, as SimpleList doesn't support sorting


Automate regeneration of token.json for Google Drive API

For uploading and removing files from google drive we need to manually generate the token.json for account access. Automate that.


Revert unnecessary version upgrade for aks_extension

The modification #3605 has been added in this PR #3610
Therefore, there is no need to upgrade the version to 0.5.2 (release pipeline failed before, so this package version has not been released yet)
So revert this PR #3608
This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

Revert unnecessary version upgrade


udevadm fails on package install Ubuntu 22.04.2 LTS (Jammy Jellyfish)

in debian/beast-splitter.postinst
line 45 should be changed to:
/usr/bin/udevadm ...

Does the || true not help? IIRC I added that specifically because the path was unpredictable and it's not critical that the package script kicks udevadm (you can always do it separately and/or reboot)

The exact error I got:
Preparing to unpack beast-splitter_8.2_amd64.deb ...
Unpacking beast-splitter (8.2) over (8.2) ...
Setting up beast-splitter (8.2) ...
/var/lib/dpkg/info/beast-splitter.postinst: line 78: /sbin/udevadm: No such file or directory
Maybe just leave off the path and just use udevadm ...
The || true doesn't seem to help.

and the postinst then fails?

Maybe something like:
`which udevadm` trigger --property-match="ID_USB_DRIVER=cp210x" 2> /dev/null || true
Any error message is going to make the admin stop and figure out what failed, but this just punts on failure with no message.
The which letting the OS figure out where udevadm is located.

Sorry, can you clarify if postinst is actually failing (and preventing package install) or if this is just a cosmetic issue?

I assumed it failed when I got an error message, but now I think the error message was just noise, and the installation was successful. It just didn't trigger.
I'll close the issue.


Toast Doesn't Appear Inside CollectionView didSelectItemAtIndexPath

I have a UICollectionView where I let the user select up to 5 photos. After 5 are selected I'm trying to show a toast message informing the user only 5 photos can be selected. I am using JLToast throughout the code, however here it does not show. The UICollectionView is within a UIViewController. Here is the code I am using within didSelectItemAtIndexPath:
        println("show toast")
        JLToast.makeText(NSLocalizedString("select_up_to_five_photos", comment: "Select up to 5 photos")).show()

The println gets printed correctly, but I don't see a toast.

Your code doesn't seem to have any problem. Could you please let me know more context? I can't figure out the problem with your code.
Thanks!

I actually was playing with the code some and it actually has to do with how the ViewController is presented. Originally I had used navigationController.presentViewController, and using that I was not able to see a Toast message.
If I changed the code to use navigationController.pushViewController, then the toast works properly.

You mean the toast message from modal view controller won't be shown?

Yes that's correct

Could you please test with this?
Replace the line 104 at JLToast.swift:
Before
UIApplication.sharedApplication().keyWindow?.subviews.first?.addSubview(self.view)

After
UIApplication.sharedApplication().windows.first?.addSubview(self.view)

If it works, I'll make a new release.

Yes that fixed it.

Great. Then I'll make a new release. Thanks!


[bug] tauri::SystemTrayMenuItemHandle's set_selected do not work under Gnome

Describe the bug
I recently developed a cross-platform application using tauri, and I want to use the set_selected method of tauri::SystemTrayMenuItemHandle to display a checkmark or nothing before the menu item in the system tray. This works fine when used on Windows, but on Ubuntu 22.04, the menu item is never preceded by any icon, regardless of whether a checkmark should appear or not.
I don't know if this is due to some difficulty with gnome's setup for this. But based on my observation of gnome's system menu, I guess this should be possible.
Also, has this problem been fixed in the alpha version of tauri? Since there are many places in my application code that conflict with the update of the alpha version, I did not test the alpha version. I would be very grateful for some information on this issue!
Reproduction
No response
Expected behavior
No response
Platform and versions
Environment
  › OS: Ubuntu 22.04 X64
  › Node.js: 18.15.0
  › npm: 9.5.0
  › pnpm: Not installed!
  › yarn: 1.22.19
  › rustup: 1.25.2
  › rustc: 1.68.2
  › cargo: 1.68.2
  › Rust toolchain: stable-x86_64-unknown-linux-gnu

Packages
  › @tauri-apps/cli [NPM]: 1.2.3
  › @tauri-apps/api [NPM]: 1.2.0
  › tauri [RUST]: 1.2.4,
  › tauri-build [RUST]: 1.2.1,
  › tao [RUST]: 0.15.8,
  › wry [RUST]: 0.23.4,

Stack trace
No response
Additional context
No response

Thanks for the report!
See here https://github.com/tauri-apps/tauri/issues/5360#issuecomment-1269760153 for an answer of a maintainer to the same question/bug report.
Afaik this is not yet part of v2 though since we're in the process of moving the tray and menu backend implementations.


We should only match keywords on word-boundaries.

At the moment we match keywords/functions literally.
So if we define a keyword int for C, or end for Lua we find that these are highlighted in:

cint
pending

Not a huge deal, but it looks wrong  (and is wrong).

Have asked for help on stack-overflow.
I've spend a few hours trying different things, such as suffixing each pattern with "alphanum^0",etc, without success.


EOL for series/0.20

It's time to consider EOL for series/0.20.  We haven't been backporting to this branch as aggressively as 0.21, which has been out since the beginning of February.  I'll look for low-hanging fruit, but it's a drag maintaining three branches, so I'd like to be done with it soon.
This PR has the mechanics for it.

Started the 0.20.22 milestone for a last hurrah.

Agreed. We should EOL this series.

:+1: from me


Add support for Server Name Indication (SNI)-based routing for TCP/UDP streams in Nginx Proxy Manager.

Description: Currently, Nginx Proxy Manager allows for simple TCP/UDP stream forwarding but lacks advanced routing capabilities based on the requested domain name (SNI). Enabling SNI-based routing for streams would allow users to direct traffic to specific backend servers based on the hostname provided by the client during the TLS handshake. This feature would mirror the SNI-based routing commonly used in HTTP proxies, but extend its benefits to TCP and UDP streams, such as SSH and other non-HTTP protocols that require secure, domain-specific routing.
Use Cases:

Multi-Server SSH Access: Organizations with multiple servers that need to be accessible over SSH (e.g., server1.example.com, server2.example.com) can route SSH connections to the correct backend server using only the hostname in the request, without needing separate ports for each server. This would simplify access and allow DNS-based routing to specific servers.

Load Balancing Across TCP/UDP Applications: Services using custom TCP/UDP protocols could benefit from SNI-based routing, providing flexibility and load distribution across multiple servers for protocols that aren’t HTTP-based.

Simplified Network Configuration: By using SNI-based routing, administrators can reduce the need for complex port mapping schemes and assign services based on domains rather than ports, making configurations more readable and scalable.

Advantages:

Improves Scalability: Users can host multiple TCP/UDP services on the same IP and port but differentiate them based on domain, reducing the need for multiple IP addresses or custom port configurations.
Enhanced Security and Isolation: SNI-based routing can enforce domain-specific access, making it easier to segregate traffic and apply domain-based rules.
Streamlined User Access: Clients can connect to services directly via hostname without needing to remember unique ports, which is especially beneficial for protocols like SSH or databases over TLS.

Suggested Implementation: Implement SNI-based routing within the "Streams" section of Nginx Proxy Manager to allow administrators to set up stream proxies that route based on the SNI hostname. This would likely require expanding the current stream configuration options and allowing users to specify hostnames directly for each stream backend.

I support the idea

Here’s an example configuration demonstrating the functionality I'm looking for. This setup uses Nginx’s stream module to forward SPICE traffic based on SNI (Server Name Indication), allowing Nginx to direct requests for specific domains to a designated backend server. Additionally, it includes an HTTP proxy configuration for handling other HTTP-based requests.
`# Forward SPICE traffic based on SNI
map $ssl_preread_server_name $upstream {
example.domain.com <IP_ADDRESS>:61000;  # Destination for SPICE traffic
default <IP_ADDRESS>:444;                   # Fallback server if no match
}
server {
listen 61000 ssl;                        # Listen on port 61000 with SSL for SPICE
proxy_pass $upstream;
ssl_preread on;                          # Enable SNI to identify the correct backend
# Use the same SSL certificate and key as the main server
ssl_certificate /etc/letsencrypt/live/npm-1/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/npm-1/privkey.pem;

}
HTTP/S proxy for other HTTP-based requests
server {
listen 3128;
proxy_pass <IP_ADDRESS>:3128;           # HTTP proxy for port 3128
}
`
In this example:
The map block forwards requests based on the domain specified in the SNI header. If the domain matches example.domain.com, the request is forwarded to <IP_ADDRESS> on port 61000.
A fallback server at <IP_ADDRESS>:444 handles any unmatched requests.
The second server block forwards HTTP-based requests received on port 3128 to <IP_ADDRESS>:3128.

Here’s another example configuration for SNI-based SSH forwarding using Nginx’s stream module. In this setup, Nginx listens on the default SSH port 22 and forwards incoming SSH traffic to different internal SSH servers based on the requested domain name (SNI).
# SSH Forwarding configuration based on SNI
map $ssl_preread_server_name $upstream_ssh {
    ssh1.example.com <IP_ADDRESS>:22;   # Forward SSH traffic for ssh1.example.com
    ssh2.example.com <IP_ADDRESS>:22;   # Forward SSH traffic for ssh2.example.com
    default <IP_ADDRESS>:22;            # Default SSH server if no SNI match
}

server {
    listen 22 ssl;                       # Listen on port 22 with SSL for SNI-based routing
    proxy_pass $upstream_ssh;            # Forward to SSH server based on SNI map
    ssl_preread on;                      # Enable SNI inspection

    # SSL certificate and key (generic for SNI inspection)
    ssl_certificate /etc/letsencrypt/live/placeholder/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/placeholder/privkey.pem;
}

Explanation
SNI Mapping (map block): Nginx uses $ssl_preread_server_name to route SSH connections based on the requested domain:
Requests to ssh1.example.com are forwarded to <IP_ADDRESS>:22.
Requests to ssh2.example.com are forwarded to <IP_ADDRESS>:22.
Any unmatched requests are forwarded to the default server at <IP_ADDRESS>:22.
listen 22 ssl;: Nginx listens on port 22 for SSH, using SSL for SNI inspection.
ssl_preread on;: This allows Nginx to read the SNI information in the SSH request to determine the target domain.
SSL Certificate: A generic certificate is used here solely to enable SSL and SNI inspection. Since SSH doesn’t require this SSL certificate, it’s only needed for the initial inspection.

General Nginx stream Configuration Template
This template includes SSL-based SNI routing for traffic that requires domain-based routing (e.g., HTTPS, SPICE), as well as simple port-based forwarding for other protocols (e.g., SSH without SSL).
# General-purpose Nginx stream configuration for multi-protocol traffic

# Define upstream servers based on SNI for SSL-based services
map $ssl_preread_server_name $upstream {
    example1.com <IP_ADDRESS>:443;      # HTTPS or other SSL traffic for example1.com
    example2.com <IP_ADDRESS>:61000;    # SPICE or custom SSL service for example2.com
    default <IP_ADDRESS>:444;           # Default server if no SNI match
}

# SSL-based traffic (e.g., HTTPS, SPICE) with SNI-based routing
server {
    listen 443 ssl;                      # Standard HTTPS port
    listen 61000 ssl;                    # Custom SSL port for specific services
    proxy_pass $upstream;                # Route based on SNI
    ssl_preread on;                      # Enable SNI inspection

    # Generic SSL certificate (only used for SNI inspection)
    ssl_certificate /etc/letsencrypt/live/placeholder/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/placeholder/privkey.pem;
}

# Port-based routing for non-SSL protocols (SSH, non-SNI HTTP, etc.)

# SSH Server 1
server {
    listen 2222;                         # External port for SSH server 1
    proxy_pass <IP_ADDRESS>:22;         # Internal SSH server 1
}

# SSH Server 2
server {
    listen 2223;                         # External port for SSH server 2
    proxy_pass <IP_ADDRESS>:22;         # Internal SSH server 2
}

# HTTP server (non-SSL)
server {
    listen 8080;                         # External port for HTTP traffic
    proxy_pass <IP_ADDRESS>:80;         # Internal HTTP server
}

# Custom TCP service
server {
    listen 3000;                         # External port for custom service
    proxy_pass <IP_ADDRESS>:3000;       # Internal custom service
}

as a workaround, you can put anything you want included inside stream {} block into /data/nginx/custom/stream.conf

I support the idea


Search for matches by the target table name is performed as case-insensitive

Description
Even if the target table will be in a case-sensitive database. Still can create new table in different case from the navigator
Steps to reproduce:

create table with name TEST test
start export table to a new table (or from CSV)
set target table name as existing one, but with different letters case (e.g. test TEST, or tEsT teST ...)

Press Enter. Then the target table name changes to existing one with different case

https://github.com/dbeaver/dbeaver/assets/43252954/77c7f413-709d-4e37-b056-84d4ca3a09e2
DBeaver Version
24.0.5
Operating System
No response
Database and driver
No response
Steps to reproduce
No response
Additional context
No response

Can be related to this one: https://github.com/dbeaver/dbeaver/issues/22442

We decided not to fix it for a while


Change or add more runners

Current implementation is amphp/parallel based which doesn't work with unserializable. This limits a lot the potential usage of this package and a more universal implementation should be used.
That or add more runners and enable the user to pick which one to use.

All stuff uses serialization, will keep checking.


Enforce reg-sub :<- syntax

Currently a reg-sub can have any keyword instead of :<- to indicate input signals. For example:
(re-frame/reg-sub
  :app/second-sub
  :-> [:app/my-cool-sub]
  (fn
    [cool _]
    cool))

is perfectly valid. We should enforce :<- so that we have the option to use the syntax in the future.

@danielcompton  I believe we can close this?

Yep


Bump Snakemake version to 8.5.3

Still fixing things...

It might be over-constrained. Maybe we should update all? We need to make sure that the environment can install as a whole.

I'll get back to this in an hour. Sorry, if this is all too late and too much we can also keep the old version

Closing this PR which is overtaken by #34.


feat(fmt) Added correct pluralization to fmt/duration when using style: full

#6293

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


available tab improvements

show new plugin version when an update is available: 6cfa656
made the description 2 line to have the version below

before
after

(WIP) added broken status for plugin: 641e4d5
(goes with https://github.com/LNReader/lnreader-plugins/pull/958)

hiding plugins if broken in available tab
new broken button when plugin has been set to broken

How to apply new changes on the app


feat: create workflow ⚡

Description
This repository contains a workflow called lock.yml in the .github/workflows directory. The workflow is designed to reduce notifications when a maintainer adds a label, and allows for conversation unlocking until it is locked again.
Fixes #538
Screenshots
N/A

Checklist

[x] Tests have been added or updated to cover the changes
[x] Documentation has been updated to reflect the changes
[x] Code follows the established coding style guidelines
[x] All tests are passing

@SurajPratap10 ,please review and merge my pull request

Hey @SurajPratap10  You Give Wrong level tag : see issue


Seeking guidance for JSON marshaling

Hello! I'm writing a Ruby backend for quicktype and here's my first proof of concept using dry-types and I was hoping for some feedback. Given the pokedex.json sample I generate this Ruby (source in repo):
require 'json'
require 'dry-types'
require 'dry-struct'

module Types
  include Dry::Types.module
  Egg = Types::String.enum("Not in Eggs", "Omanyte Candy", "10 km", "2 km", "5 km")
  Weakness = Types::String.enum("Bug", "Dark", "Dragon", "Electric", "Fairy", "Fighting", "Fire", "Flying", "Ghost", "Grass", "Ground", "Ice", "Poison", "Psychic", "Rock", "Steel", "Water")
end

module Egg
  NotInEggs    = "Not in Eggs"
  OmanyteCandy = "Omanyte Candy"
  The10KM      = "10 km"
  The2KM       = "2 km"
  The5KM       = "5 km"
end

class Evolution < Dry::Struct
  attribute :num,  Types::String
  attribute :name, Types::String

  def self.from_dynamic(d)
    Evolution.new(
      num:  d["num"],
      name: d["name"],
    )
  end

  def self.from_json(json) self.from_dynamic(JSON.parse(json)) end

  def to_dynamic
    {
      "num"  => @num,
      "name" => @name,
    }
  end

  def to_json() JSON.generate(self.to_dynamic) end
end

module Weakness
  Bug      = "Bug"
  Dark     = "Dark"
  Dragon   = "Dragon"
  Electric = "Electric"
  Fairy    = "Fairy"
  Fighting = "Fighting"
  Fire     = "Fire"
  Flying   = "Flying"
  Ghost    = "Ghost"
  Grass    = "Grass"
  Ground   = "Ground"
  Ice      = "Ice"
  Poison   = "Poison"
  Psychic  = "Psychic"
  Rock     = "Rock"
  Steel    = "Steel"
  Water    = "Water"
end

class Pokemon < Dry::Struct
  attribute :id,             Types::Int
  attribute :num,            Types::String
  attribute :name,           Types::String
  attribute :img,            Types::String
  attribute :type,           Types.Array(Types::String)
  attribute :height,         Types::String
  attribute :weight,         Types::String
  attribute :candy,          Types::String
  attribute :candy_count,    Types::Int.optional
  attribute :egg,            Types::Egg
  attribute :spawn_chance,   Types::Decimal
  attribute :avg_spawns,     Types::Decimal
  attribute :spawn_time,     Types::String
  attribute :multipliers,    Types.Array(Types::Decimal).optional
  attribute :weaknesses,     Types.Array(Types::Weakness)
  attribute :next_evolution, Types.Array(Types.Instance(Evolution)).optional
  attribute :prev_evolution, Types.Array(Types.Instance(Evolution)).optional

  def self.from_dynamic(d)
    Pokemon.new(
      id:             d["id"],
      num:            d["num"],
      name:           d["name"],
      img:            d["img"],
      type:           d["type"],
      height:         d["height"],
      weight:         d["weight"],
      candy:          d["candy"],
      candy_count:    d["candy_count"],
      egg:            d["egg"],
      spawn_chance:   d["spawn_chance"],
      avg_spawns:     d["avg_spawns"],
      spawn_time:     d["spawn_time"],
      multipliers:    d["multipliers"],
      weaknesses:     d["weaknesses"],
      next_evolution: d["next_evolution"]&.map { |x| Evolution.from_dynamic(x) },
      prev_evolution: d["prev_evolution"]&.map { |x| Evolution.from_dynamic(x) },
    )
  end

  def self.from_json(json) self.from_dynamic(JSON.parse(json)) end

  def to_dynamic
    {
      "id"             => @id,
      "num"            => @num,
      "name"           => @name,
      "img"            => @img,
      "type"           => @type,
      "height"         => @height,
      "weight"         => @weight,
      "candy"          => @candy,
      "candy_count"    => @candy_count,
      "egg"            => @egg,
      "spawn_chance"   => @spawn_chance,
      "avg_spawns"     => @avg_spawns,
      "spawn_time"     => @spawn_time,
      "multipliers"    => @multipliers,
      "weaknesses"     => @weaknesses,
      "next_evolution" => @next_evolution&.map { |x| x.to_dynamic },
      "prev_evolution" => @prev_evolution&.map { |x| x.to_dynamic },
    }
  end

  def to_json() JSON.generate(self.to_dynamic) end
end

class TopLevel < Dry::Struct
  attribute :pokemon, Types.Array(Types.Instance(Pokemon))

  def self.from_dynamic(d)
    TopLevel.new(
      pokemon: d["pokemon"].map { |x| Pokemon.from_dynamic(x) },
    )
  end

  def self.from_json(json) self.from_dynamic(JSON.parse(json)) end

  def to_dynamic
    {
      "pokemon" => @pokemon.map { |x| x.to_dynamic },
    }
  end

  def to_json() JSON.generate(self.to_dynamic) end
end

Is this the intended usage of dry-types? Am I doing any extra work?
My most immediate question is, is there any way for dry-types to coerce data from JSON.parse that is intended to correspond to nested structs? You can see in from_dynamic I have to map this dynamic value to Dry::Struct subtypes, etc. It seems like there's enough information here already to make this automatic, but I wasn't sure how.

According to the contribution guidelines please move this discussion to the forum.

Oops! Sorry for posting in the wrong spot.


[fix][client] Prevent DNS reverse lookup when physical address is an IP address

Motivation
A call to java.net.InetSocketAddress#getHostName will trigger a reverse DNS lookup when the physical address is an IP address. This is not desired since the DNS resolver will be blocking execution.
Modifications
Use java.net.InetSocketAddress#getHostString to use the address passed as input (host string or ip address).
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/lhotari/pulsar/pull/120

Codecov Report

Merging #19028 (6874f65) into master (08591d9) will decrease coverage by 13.12%.
The diff coverage is 50.00%.

@@              Coverage Diff              @@
##             master   #19028       +/-   ##
=============================================
- Coverage     49.85%   36.72%   -13.13%
+ Complexity     8658     1958     -6700
=============================================
  Files           500      209      -291
  Lines         54930    14433    -40497
  Branches       5867     1574     -4293
=============================================
- Hits          27386     5301    -22085
+ Misses        24464     8555    -15909
+ Partials       3080      577     -2503

Flag
Coverage Δ

unittests
36.72% <50.00%> (-13.13%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

.../org/apache/pulsar/client/impl/ConnectionPool.java
37.43% <0.00%> (ø)

.../pulsar/client/impl/PulsarServiceNameResolver.java
89.74% <100.00%> (ø)

...pulsar/broker/admin/impl/PersistentTopicsBase.java

...g/apache/pulsar/broker/admin/impl/TenantsBase.java

...he/pulsar/broker/admin/v2/NonPersistentTopics.java

...pache/pulsar/broker/admin/v2/PersistentTopics.java

...rg/apache/pulsar/broker/delayed/bucket/Bucket.java

...r/delayed/bucket/BucketDelayedDeliveryTracker.java

.../pulsar/broker/delayed/bucket/ImmutableBucket.java

...g/apache/pulsar/broker/lookup/TopicLookupBase.java

... and 701 more

I cherry picked this change to older branches because it was going to be introduced by https://github.com/apache/pulsar/pull/19327.