x/tools/cmd/cover: should support -coverprofile unifying tests from multiple packages

What steps will reproduce the problem?
If possible, include a link to a program on play.golang.org.
1. run `go test -coverprofile=coverage.out ./...`

What is the expected output?

coverage.out contains coverage all of the specified packages

What do you see instead?

`cannot use test profile flag with multiple packages`

Which compiler are you using (5g, 6g, 8g, gccgo)?

6g

Which operating system are you using?

OS X 10.9

Which version are you using?  (run 'go version')

go version go1.2 darwin/amd64

Please provide any additional information below.

If I manually construct a coverage.out file from multiple packages, it seems to work
fine:

1. go test -coverprofile a.part ./a
2. go test -coverprofile b.part ./b
3. echo "mode: set" >coverage.out
4. grep -h -v "mode: set" *.part >>coverage.out
5. go tool cover -html=coverage.out

Why can't `go test -coverprofile` do this automatically?

Can this be included in 1.5. I don't see any technical reason for it to not be. Thank you.

As long as someone wants to work on this issue to solve it properly.....
The mentioned CL is not the way to go (overwriting the cover profiles
instead of combining them).

Is there no interest in this anymore? I am interested in getting total test coverage across a DAG of packages. All the solutions online do naive merges of cover profiles via concatenation, but this does not take into account lines covered across package boundaries.

I wouldn't say there's "no interest" but rather nobody with time to work on it.

With regard to the solution I can see two approaches:

Instrumenting every package in go list ./... for each run and then merging cover profiles.
Generating a single instrumented test binary with all tests combined. This probably means go test -c ./... produces one combined test binary.

I personally want go test -c to support producing a single binary. In particular, I want "go test -c std" to work, so that I can easily benchmark compiler changes. Right now I have to play games to generate and manage a slew of test binaries.
However, this would require a bit of thought. Right now, all tests and benchmarks are implicitly namespaced by the package. Take for example go test -c encoding/.... Several packages have a TestEncode function. If you did ./encoding.test -test.run=Encode, should it run all of them? How do you specify just one of them? There's a similar question about output. Run e.g. go test -v -run=^TestEncode$ encoding/... and observe that the go tool is responsible for providing the output that differentiates the different packages. Same thing for benchmarks.
This is not to say it can't/shouldn't be done, just that there are some careful decisions to be made.

@josharian Tests also can define their own command-line flag parsing. I don't see how you could make that work right.

I would think that you would deal with that the same way you do now when combining packages that define their own command-line flag parsing in a non-test program—by manually fixing those collisions when they occur.

@josharian wrt name spacing, The full package path could be part of the test name, or there could be a seperate flag -runpkg that works in conjunction with -run.

Another challenge (just writing them down here as I think of them) -- tests are supposed to be executed from the directory in which they are written. This lets them find fixtures easily. However, if multiple tests are bundled into a single executable, there is no single correct working directory. Again, not a showstopper, just something to be thought through.

@josharian Please don't rely on that. go test -c github.com/jdoe/foo is a thing, and so is cross-compiling & rsyncing the test binary.

@josharian Or maybe I should say, don't rely on that in general. It's fine for a lone project to decide it has more onerous requirements; that doesn't make those requirements of go test itself.

@tv42 that is how the go tool works right now, there are many tests in the standard library that rely on that (try e.g. go test -c net && mv net.test /tmp && /tmp/net.test), and as far as I know, it is the recommended way to make fixtures available for tests. For the record, I have cross-compiled and scp'd tests more times than I would like. The point is just that this is useful behavior that was intentionally designed; I would not give it up lightly.

The running test from package source directory is a behavior
that could be relied on.

+1

:+1:

I just tried
go test --coverprofile foo --coverpkg ./...
go tool cover -html foo
and pulled up a web page with coverage data from all the packages in the tree. However, it was created only by running tests in the current directory, not the dependent ones. That is, it contains coverage information for all the packages that were used in running the tests for this package.
So, it's not clear but I believe the request that one should be able to do
go test --coverprofile foo --coverpkg ./... ./...
(note the extra ./...). The issue title is therefore incorrect, and I will address that.
As for fixing the issue, it seems to me that an external tool that merges a set of profiles is easy to do. I don't see much need for doing. this within go test itself.

You should try https://github.com/pierrre/gotestcover

I've written a tool to properly merge coverprofiles that doesn't just blindly cat them together. It uses golang/x/tools/cover to parse the files and outputs a merged version back to stdout:
https://github.com/wadey/gocovmerge/blob/master/gocovmerge.go
It's still a work in progress, but it is working great for our repos.
We combine with a generic Makefile that runs go test -coverprofile … -coverpkg (all same repo dependencies) … for each folder in a repo. If anyone is interested in that Makefile I can clean it up and post it as well.

I create a library that may help, https://github.com/bluesuncorp/overalls
all it does is recursively go through each directory ( aka each package ), run go test and produce coverprofiles, then merges all profiles into a single one at the root of the project directory called overalls.coverprofile
then you can use a tool like https://github.com/mattn/goveralls to send it to coveralls.io

@wadey @joeybloggs Did you used my tool before creating your own tool?
https://github.com/pierrre/gotestcover

No @pierrre, I did not even know it existed it, looks good; I was looking way before you commented here and couldn't find anything that was an all in solution, just got around to creating my own
I will try yours as well, I think that I may encounter one of the same issues I did while still using a bash script for this. When using Semaphore CI they symlink your project directory under the GOPATH to somewhere outside the GOPATH, so when I ran tests everything went fine except the paths in the coverprofile were for the symlinked directory and not the proper GOPATH,  because of that when submitting to coveralls.io the repo and coverprofile paths did not match up resulting in 0% test coverage being reported.
Yours may work fine, but might want to check that out; that's why in my package I ask for the package for relative to the GOPATH/SRC/ directory so I can navigate there abstracting that issue away from the end user.

@wadey nice tool gocovmerge! :+1:

Workaround on this issue:
https://github.com/h12w/gosweep

@h12w that does a tad more than running -coverprofile tests for multiple packages :) these days I also use https://github.com/wadey/gocovmerge although it would be best if this was available directly from the go tool and possibly run in parallel too.

Just in case this helps anyone, per @robpike's comment above, I wanted to do something like this:
go test --coverprofile foo --coverpkg ./... ./...

I was able to do so by combining 'go list' and @wadey's tool:
# For each package with test files, run with full coverage (including other packages)
go list -f '{{if gt (len .TestGoFiles) 0}}"go test -covermode count -coverprofile {{.Name}}.coverprofile -coverpkg ./... {{.ImportPath}}"{{end}}' ./... | xargs -I {} bash -c {}

# Merge the generated cover profiles into a single file
gocovmerge `ls *.coverprofile` > coverage.txt

# run 'go tool cover -html cover.txt' or upload to travis, codecov, coveralls, etc.

Note that if you have multiple leaf packages with the same name (I have listener/tcp and cmd/send/tcp), it will be necessary to add additional qualifiers to the generated .coverprofile file name to prevent one package from overwriting the other.  For example, I used  -coverprofile {{.Name}}_{{len .Imports}}_{{len .Deps}}.coverprofile, which generates something like tcp_6_64.coverprofile and tcp_15_70.coverprofile.

The problem here is not about merging the coverage profiles from the tests for each subpackage.
The problem is that there is no way to produce a coverage profile that spans multiples subpackages from the tests of a single package.
i.e. in a package like:
project
project/subpkg1
project/subpkg2

project imports subpkg1 and subpkg2 and the tests from project are end-to-end. So project tests are also covering the subpackages.
I think the output of -cover with -coverpkg provides the right figure for this sort of coverage. The problem is that it cannot output a profile along with it too.
Merging independent coverage profiles is not addressing the real issue (but it's nice to have).

The solutions from @pierrre @wadey and @joeybloggs merge multiple independent coverage profiles into one but only @mmindenhall's solution produces coverage of files that cross package boundaries. Works great!

None of the solutions work well if the project uses the vendor directory, even using the workround
 $(go list ./... | grep -v /vendor/) insted of ./...

When I wrote my comment above, my project was using wgo (wrapper around go cmd) for dependencies.  We have since switched to vendoring with govendor.  After a lot of trial and error, I got this to work.  The key is to replace the ./... wildcards with a list of your project packages (excluding vendored).  One occurrence must be replaced with a list, and the other with a comma-separated list.
Here's how I did it using govendor:
# create list of project packages, excluding vendored (with govendor)
export PKGS=$(govendor list -no-status +local)

# make comma-separated
export PKGS_DELIM=$(echo "$PKGS" | paste -sd "," -)

# run with full coverage (including other packages) with govendor
go list -f '{{if or (len .TestGoFiles) (len .XTestGoFiles)}}govendor test -covermode count -coverprofile {{.Name}}_{{len .Imports}}_{{len .Deps}}.coverprofile -coverpkg $PKGS_DELIM {{.ImportPath}}{{end}}' $PKGS | xargs -I {} bash -c {}

If not using govendor, this should also work:
# as in @rodrigocorsi2 comment above (using full path to grep due to 'grep -n' alias)
export PKGS=$(go list ./... | /usr/bin/grep -v /vendor/)

# make comma-separated
export PKGS_DELIM=$(echo "$PKGS" | paste -sd "," -)

# should work as before replacing './...' with vars
go list -f '{{if or (len .TestGoFiles) (len .XTestGoFiles)}}go test -covermode count -coverprofile {{.Name}}_{{len .Imports}}_{{len .Deps}}.coverprofile -coverpkg $PKGS_DELIM {{.ImportPath}}{{end}}' $PKGS | xargs -I {} bash -c {}

My Makefile after @mmindenhall help:
test:
	@echo Running tests
	$(eval PKGS := $(shell go list ./... | grep -v /vendor/))
	$(eval PKGS_DELIM := $(shell echo $(PKGS) | sed -e 's/ /,/g'))
	go list -f '{{if or (len .TestGoFiles) (len .XTestGoFiles)}}go test -test.v -test.timeout=120s -covermode=count -coverprofile={{.Name}}_{{len .Imports}}_{{len .Deps}}.coverprofile -coverpkg $(PKGS_DELIM) {{.ImportPath}}{{end}}' $(PKGS) | xargs -I {} bash -c {}
	gocovmerge `ls *.coverprofile` > cover.out
	rm *.coverprofile

Is it possible to add total coverage percentage to HTML report?
I belive it's golang issue, because HTML is generated by go tool.

A slightly modified version of @rodrigocorsi2's Makefile command that dosn't need gocovmerge:
PKGS 		?= $(shell go list ./... | /usr/bin/grep -v /vendor/)
PKGS_DELIM 	?= $(shell echo $(PKGS) | sed -e 's/ /,/g')

test:
	$(shell [ -e cover.out ] && rm cover.out)
	go list -f '{{if or (len .TestGoFiles) (len .XTestGoFiles)}}go test -test.v -test.timeout=120s -covermode=count -coverprofile={{.Name}}_{{len .Imports}}_{{len .Deps}}.coverprofile -coverpkg $(PKGS_DELIM) {{.ImportPath}}{{end}}' $(PKGS) | xargs -I {} bash -c {}
	echo "mode: count" > cover.out
	grep -h -v "^mode:" *.coverprofile >> "cover.out"
	rm *.coverprofile
	go tool cover -html=cover.out -o=cover.html

@krak3n if the tests have any overlap in lines that are covered that method won't work, that is why I wrote gocovmerge, to correctly merge coverage lines that are duplicated between the profiles.

@wadey ah thank you for clarifying, I'll update to use gocovmerge.

@wadey I've been having some trouble getting @rodrigocorsi2's Makefile working. It would seem my bash-fu is not up to it.
What do you think of gocovmerge (or a similar tool) wrapping go test with the arguments passed through? So you get a lovely cover.out file in one step. That'd make it easy for anyone wanting to do this (not just me).
Of course it would be even better if there was a good way to address @hsanjuan's comment too -- and incorporate the changes into the cover tool directly via a CL.

What do you think of gocovmerge (or a similar tool) wrapping go test with the arguments passed through?

@nathany you can check out https://github.com/haya14busa/goverage which I believe does exactly this (although I haven't tested it myself).

@wadey @nathany check out https://github.com/go-playground/overalls it's been in existence for quite some time and is tried and true.
I agree it would be nice for it to be built right in.

@joeybloggs unless I'm missing something it looks like go-playground/overalls does not do smart merging of the profiles (like gocovmerge) and just dumps all of the output into one file (see here https://github.com/go-playground/overalls/blob/dab02cad1edafb5aa1d38729ba4bfd5618b836ce/overalls.go#L295-L297 ) This means it won't handle overlaps in coverage correctly.

@wadey I've never had a problem before, thanks I'll look into it; it seems pretty trivial to implement.

Thanks @wadey. The goverage tool from @haya14busa is looking good and was easy to set up.

@wadey I've created my own tool, gocovcat that looks like it does the same thing as yours. It doesn't keep track of the order of blocks  (which I think yours does), but it seems a bit simpler.  If you're the type of person who enjoys comparing different solutions.

The big problem with all the workarounds is that on larger repositories the time to run coverage is prohibitively slow.  I'm working on a repo where unit tests run in 12 seconds using go test <list of packages>. Running each package separately (even without coverage) increases the test time to 200 seconds (the runtime is about the same with coverage enabled).
I'd like to contribute a fix for this issue. Looking at the patch from a few years ago and some experimenting I've done, it doesn't seem to be a difficult thing to fix.
This single 1 line change allows go test --coverprofile ... to run with multiple packages:
diff --git a/src/cmd/go/internal/test/testflag.go b/src/cmd/go/internal/test/testflag.go
@@ -164,7 +164,7 @@ func testFlags(args []string) (packageNames, passToTest []string) {
 				}
 			case "coverprofile":
 				testCover = true
-				testProfile = true
 			case "covermode":
 				switch value {
 				case "set", "count", "atomic":

The profiles are written to a file in the same directory as the package. It seems like what might be missing is support for multiple files in go tool cover, including merging of multiple profiles when there are overlaps.
Anything else that would need to change?

I'm working on a repo where unit tests run in 12 seconds using go test . Running each package separately (even without coverage) increases the test time to 200 seconds (the runtime is about the same with coverage enabled).

If this is true then the problem here is that when you run go test it is rebuilding the test packages' dependencies over and over. You can fix that by first doing 'go test -i ', which installs all the prerequisite packages, so that the separate command reuse them. My plan is that in Go 1.10 the go command will cache build results more aggressively so that the 'go test -i' step will not be necessary for the two ways to run in the same amount of time. But we're not there today.

Thanks! -i cuts the run time down to 34 seconds. Still slower than running all packages at once, but much better overall.

@dnephin I like the approach, any thoughts on whether or not this would be considered?

@rsc I would be happy to work on this for 1.10, provided anything required by this is in place by then. Any guidance from you or anyone else would be good. Also this can have the IDE label as well.

In the mean time, I made another tool: https://github.com/AlekSi/gocovermerge. Unlike some bash scripts mentioned there, it sets exit status correctly if tests fail, it sets -coverpkg to include all packages, etc.
But I'm really looking forward to retiring it when this issue and #21126 are closed.

@rsc now that the build cache is in, are we closer to fix this bug? I think people are waiting here for some guidance on how to fix it. I can attempt something myself, but it would be great if you could provide some guidance. Thanks!

Maybe a different way to see the problem is that we should have a different covermode for which we can apply this feature.
For example, running go test -coverprofile=coverage.out ./... should detect that the user wants to run in a recursive mode thus set the covermode to a recursive (or better named mode) in which, regardless of how many times a line is executed, it counts only as a simple boolean value (yes / no)?

Of course, this could also be done in a more complex way, by storing which test hit which line and then, on a per-line basis, and then offer for each line of code touched by tests a slice of test names. It would then be up to the tools to read that information and display it to the users, in the most simplistic way doing this as described above with a simple yes / no mode.
Sorry for the double message.

The first suggestions is a great way to get this started. But the more powerful and resourceful go test -converprofile is , the better.


[Bug]: Resuming runs returns empty dict for wandb.config

Describe the bug
Hi,
Updating to the newest version, 0.18.5 I'm getting an empty config back when trying to resume a run via
    common_args = dict(project=cli_args.wandb_project,
                       group=cli_args.wandb_group,
                       entity=cli_args.wandb_entity,
                       sync_tensorboard=True,
                       monitor_gym=False,
                       mode="online",)

      wandb.init(id=cli_args.resume_id,
                   resume="must",
                   **common_args)
print(wandb.config)

This just returns an empty dict. I've checked that the run exists, wandb.run.url returns the right id, and other information of the run object, such as wandb.run.step are correct. Online I can also see the config values.
Digging a bit deeper, this seems to be happening from v18 onwards. It seems the backend delivers the data in a different format, such that the function dict_no_value_from_proto_list then does not convert the config values to a dict anymore. Frustratingly, this seems to also happen with new runs that I log with wandb==0.18.5. I correctly get the config if I resume the runs with version 0.17.9
Any help would be appreciated.
Using Python 3.10.14 and ubuntu20.04

@dHonerkamp Thanks a lot for reporting this issue. It is indeed a bug in >=0.18 and it is indeed happens exactly due to the reason you identified.  It should be a relatively easy fix so we probably be able to get it in the next release.


Error: the method 'setflashmessage' does not exist on 'Users_Account_Controller'

When a user tries to edit their details, they receive an error caused by a call to setFlashMessage()

I have switched to using the default form sessionMessage instead, that should stop this error.


[Change] datetime.datetime.utcnow()

Fix #2183
This pull request addresses the usage of the datetime.datetime.utcnow() function, which is documented as potentially dangerous due to its reliance on the system's timezone settings. Instead, this PR replaces all occurrences of datetime.datetime.utcnow() with datetime.datetime.now(tz=datetime.timezone.utc)

Kindly, Review my PR

Hi @vikas-chaudhary-2802
below the comment fields is a section which looks like this

please look yourself on the findings of the test suite and fix those. You can do this by clicking on Details.

solved in some other PR


Don't track version of airmail-beta

Revert recent changes tracking version.

This has an appcast. All casks with them are versioned.


paginator v2

Could you consider upgrading to paginate-v2 ?
I understand it is not a minor change but it would allow using categories to organize posts.

Unfortunately no, I'm intending for this theme to be compatible with GitHub pages, and that plugin is not supported.

I would like to add categories to my site, actually very simple ones (only 3 of them, as it is a blog on technology I would like to filter "basic" articles, "expert" articles, and "all", i.e. "no filter").  I obtained a filtering by modifying home.html, but the pagination is based on the full list and does not work for the filtered pages.

Completely understand the requirement, I actually have multiple sites for a similar purpose (e.g. technical articles, internet history, etc)!
As a possible solution, you might want to consider customising the search to support some sort of category filter? It might also be possible to add pagination there, I'm not sure.


🎁: Handover - Add RFC KPI's

Expected outcome
User can also see RFC KPI's (not just RFO)

Business Value / Developer Experience

Acceptance Criteria

[x] Total CP
--- RFC ---
[ ] NotSent
[ ] Partly Sent
[x] Sent
[x] Partly Accepted
[x] Accepted
[ ] Overdue (changes based on planned/forecast)
--- RFO ---
[ ] NotSent
[ ] Partly Sent
[x] Sent
[x] Partly Accepted
[x] Accepted
[ ] Overdue (changes based on planned/forecast)

With that many kpis we should probably address this workplace issue first.
Need to make the kpi "bar" scrollable

I think I would prefer the KPI bar to just stay fixed/clip and those "Analytics"/"Garden" buttons to be hidden when sidesheet is open.
(Long term fix is to split Handover into RFCC and RFOC)

(Long term fix is to split Handover into RFCC and RFOC) 😮

Something in the middle could be to have viewMode as a setting in the new viwSettings thing on the right..
Mode: Handover to Commissioning | Handover to Operations

@atlewee please UAT


How to remove item when iter

for iter := range cMap.Iter() {     cMap.Remove(iter.Key) }
like this will deadlock

fix merged to master: https://github.com/orcaman/concurrent-map/pull/51


⚠ Fetchers has degraded performance

In 361a4d8, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 4683 ms

Resolved: Fetchers performance has improved in 228f422.


modified arch diagram

That file doesn't exist in the repo? But instead of changing the link, can you remove the version number from the filename and swap out the file itself? It'll always be version controlled in git itself, and I don't see a reason to have versioning on top of that.

the file does exist. I will delete all the files and keep architecture.png.

👍


US_2.4.11: Check if subject and body of mail is empty

As
organizer
I DON't want
to be able to send mails without a subject or body
In order to
to be awesome and not confuse poor pupils who get a mail form me
Dependencies:
Estimate: 3
Acceptance Criteria:

[ ] subject field for mails should be mandatory
[ ] body field for mails should be mandatory
[ ] both should be marked as mandatory
[ ] errors should be displayed if not filled in correctly
[ ] mails shouldn't get sent if an error occurs

This has been done as part of #268.


Error after upgrading Axum to 0.7

After upgrading Axum to 0.7, axum-flash gives the following error:
the trait `FromRequestParts<()>` is not implemented for `IncomingFlashes`

axum-flash doesn't yet support axum 0.7 so you'll have to stick with 0.6 for now. I can probably publish an update later today.

I just published 0.8 which supports the latest axum.


Prevent IME keyboard from abruptly closing during composition events

Description

The IME keyboard is interrupted during composition events. This seems to occur with controlled components and how state is being handled with downshift. onInputValueChange is called whenever the input value changes and before the internal downshift state has changed. This callback is used in combination with onUserAction.
Related Issue

Motivation and Context

This is required in order to support international users who may be using IME keyboards for symbolized languages. Without this fix, international users would have no way to enter symbolized characters.
How Has This Been Tested?

Testing was only focused on the search component itself. Simple user testing was performed to ensure no regression via the sandbox.
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.

@brettephillips Noticing a bug where hitting Enter on the first option in the ime keyboard doesn't select the option, but if I navigate to another option then go back to the first it will select properly.

@codylawson It seems as if this is not a problem with the code, but a problem with IME in general. This happens on all inputs whether it be in calcite-react or outside of calcite-react.


getAmountsForCurrentLiquidity returns wrong numbers

Hi, great lib!
I have hard time getting getAmountsForCurrentLiquidity to return me correct numbers.
POOL: https://etherscan.io/address/0x7b12d855445073987D45ea97B1af3554f05E4ef4
const tickSpacing = await factoryV3.methods.tickSpacing().call();
const slot0 = await factoryV3.methods.slot0().call();
const liquidity = await factoryV3.methods.liquidity().call();

const [token0Reserves, token1Reserves] = univ3prices.getAmountsForCurrentLiquidity(
    [18, 18],
    liquidity,
    slot0.sqrtPriceX96,
    tickSpacing,
);

At the moment I checked the liquidity the values were as follows:
liquidity = '245601860687069854565223'
slot0.sqrtPriceX96 = '278325983107464703780213223'
tickSpacing = 200

This resulted in:
token0Reserves = '110134.75101'
token1Reserves = '7.23672'

However there was 82.19160422 WETH and 23658181.1760672 WOOL.
Am I missing something?

BUMP. Similar issue.

So any other ways to calculate token0Reservesand token1Reserves


visualization of 3d segmentation

Thank you very much for your excellent work, I would like to ask about the visualization of 3d segmentation through what software, I have been working on the same work recently, using 3d slicer software can not seem to achieve the same effect

Thanks for being interested. We used 3D slicer for visualizing the 3D segmentation. You can simply follow this guidance to load images and masks to 3D slicer. For our visualization, we took screenshoot from the rendered 3D visualization.

@peijie-chiu Thank you for your reply. I will try it according to your guidance

@WuWeiZero No problem ! Let me know if you need more help.


Reinstate "SIL: add a StackList data structure with zero cost operations."

... with a fix for a non-assert build crash: I used the wrong ilist type for SlabList. This does not explain the crash, though. What I think happened here is that llvm miscompiled and put the llvm_unreachable from the Slab's deleteNode function unconditionally into the SILModule destructor.
Now by using simple_ilist, there is no need for a deleteNode at all.
This PR reinstates https://github.com/apple/swift/pull/36819

@swift-ci test


Improve Authentication Options

Add or improve upon authentication methods for WMS/WCS/WFS/WMTS/TMS services
In some cases, username/password authentication was partially there - service-level attributes set but capabilities-level not set. In other cases, no authentication was capable.
Changes:

For *Service, *Capabilities, ContentMetadata classes, allow username | password | cert | verify arguments to __init__()
For uses of openURL, include additional keyword arguments for username | password | cert | verify
For uses of requests library, include additional keyword arguments for username | password | cert | verify (uses auth=(username, password))
When creating other class instances, include current values for these arguments

Default behavior for these arguments in the requests and openURL implementation is to default to None, which for username/password authentication means "unauthenticated".
For certificate-based authentication, defaulting to cert=None means unauthenticated. In the case of 2-way certificate authentication, paths to a cert/key combination is used as the cert= argument and the path a CA bundle is used for the verify= argument. If verify=True (default), use system CA bundle.

Should resolve https://github.com/geopython/OWSLib/issues/412

Enables use of cert and verify for https://github.com/geopython/OWSLib/issues/489

Thanks @eric-spitler .  I've asked @cehbrecht to review as well.  Can the changes incorporate CSW as well?  I'm also wondering whether we need a custom owslib.util.auth object which gets passed around instead of tacking on parameters across functions all the time.  Thoughts?

Tests failures are not related to the PR.

I'm also wondering whether we need a custom owslib.util.auth object which gets passed around instead of tacking on parameters across functions all the time. Thoughts?

@eric-spitler @tomkralidis Would be nice to simplify this code :) But that is probably for another PR. Could we use a base OWS class with an internal openURL method which has all the auth parameters from the class instance. Maybe that would avoid some of the parameter passing.

I'm also wondering whether we need a custom owslib.util.auth object which gets passed around instead of tacking on parameters across functions all the time. Thoughts?

@eric-spitler @tomkralidis Would be nice to simplify this code :) But that is probably for another PR. Could we use a base OWS class with an internal openURL method which has all the auth parameters from the class instance. Maybe that would avoid some of the parameter passing.

Completely agree. There so many places where the same changes were made. I was mostly trying to retain existing structure/functionality so as not to impact existing testing and utilization, but a consolidated solution would be best.
Also, some of the changes here are things I've done on a private project with local modifications, specifically around WMS/WCS and cert/verify usage. In that case I have a real site I'm accessing that requires that form of authentication, but I'd have to think about how to properly test that w/o relying on someone else's site/data.

Just a quick update, I'm working on a centralized authentication solution but have a couple test kinks to work out. Basically doing what you said with an Authentication class in owslib.util and updating existing uses of username and password to merge into the new class. That class then has .openURL(*args, **kwargs) and .get(*args, **kwargs) to handle authenticated requests.

Thanks @eric-spitler.  Should we wait for that work to come through in lieu of this PR?

Work got pretty busy lately so I don't know when I'll be able to finish the updates. I would say merge, but they'll make backwards compatibility messy. If you're okay waiting I'll keep going on it.

Perhaps it’s better to wait rather than introduce then replace functionality.

@tomkralidis @cehbrecht Updates are ready for your review.

thanks @eric-spitler for the impressive work here!  See my review/comments. In addition:

can you fix merge conflicts?
aside: I imagine given the nature of the enhancement it is difficut to provide tests against services requiring authentication.  It would be nice to have test services at some point to help test. This shouldn't stop this PR from being merged however once it is approved.

The tests had 500/502 responses from external locations. Is there a way to trigger a re-run or just a new commit?


UILabel in Row layout - text shrinking problem

Report

[ ] I have searched existing issues and this is not a duplicate

Issues and Steps to Reproduce
I have some UILabels with fixed texts in row layout, I do justifyContent = .center, overall width of all labels is smaller than width of container
Expected Behavior
I just want to put all labels in row
Actual Behavior
sometimes one or more labels got ellipsize text shrinking after applyLayout.
I've done some research and found, that intrinsicContentSize of shrinked label is<PHONE_NUMBER>33333, 17.6666666666667), but after applyLayout it rounds UILabel width to 193.0 - that causes text shrinking.
Link to Code
Code example is hard to provide as it depends on Device, Font parameters, Text and so on.

Closing in favor of #749 which has had more discussion/context


csrf validation doesn't work in functional tests in 2.0.3

composer create-project --prefer-dist yiisoft/yii2-app-basic basic
cd basic
composer require --dev codeception/codeception codeception/specify codeception/verify --prefer-dist
cd tests
set urls in codeception.yml and codeception/acceptance.yml
../vendor/bin/codecept build
../vendor/bin/codecept run

All tests pass.

open tests/codeception/config/functional.php, set enableCsrfValidation to true, and uncomment the domain setting

Ensure that contact works (ContactCept): Fail
Ensure that login works (LoginCept): Fail
Both tests succeed with Yii 2.0.2. This is the commit that broke it: 0a6cd6190b851db89120572259ae8ca0ade9c2cb

https://travis-ci.org/yiisoft/yii2/jobs/52722632 it includes functional tests.

csrf validation is disabled by default in functional tests.

https://github.com/yiisoft/yii2/blob/b829d9d45a18c3c6ee242473dd3c5f28b81424b4/apps/advanced/tests/codeception/config/functional.php#L8

It should still work.

i think u need add csrf cookie in manual mode, also set it in session

@Ragazzo ?

@qiangxue can you check what was the reason of currently failing tests in the commit that @nkovacs pointed ?

Does this issue is still stands?
Currently all tests for 'basic' and 'advanced' project templates are passing successfully.

Do they pass without 'enableCsrfValidation' => false?

@nkovacs @klimov-paul just tried to run tests with Yii 2.0.6 - all tests are passed both for enableCsrfValidation => false and enableCsrfValidation => true
I guess this issue is connected with #8460

like @andrewnester I have reproduced the above steps to create a new fresh install of 2.0.6.
I dont get any errors. Whether enableCsrfValidation is true or false, all tests pass.
With respect to the age of this issue and nkovacs as the only reporter, this does not seem to be a deal breaker for 2.0.7. When other people get it, it could be opened again.


[BUG] wrong param order in readme instructions

in the README file
chat-downloader url --output file
should be
chat-downloader --output file url
Basic information

Program version:
Python version:
Operating system:

Describe the bug
A clear and concise description of what the bug is.
Command/Code used
If running from the command line, provide the following:

The command used (including the verbose tag, -v):

chat_downloader -v URL [OPTIONS]

Output from the above command:

[output goes here]

If the output is too long, you can attach a text file or remove output which does not constitute to the problem.
Otherwise, if using the python module, provide the following:

A minimal reproducible example:

# python code

Output, traceback or other information relating to the bug:

[output or description]

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context/information
Add any other context or information about the problem here.

Hi. Both orders work. 👍


Use a distinct error message for certs with bad DNSNames due to leading ?.

These are found in Symantec's pre-certificates. These should use a distinct error message from other dnsname errors to make them easier to filter.

Merged.


Failed to analyze using API

Clair not working with Klar API.
docker run -e CLAIR_ADDR="http://localhost:6060" -e CLAIR_OUTPUT=Unknown -e CLAIR_THRESHOLD=10 klar centos:7
clair timeout 1m0s
docker timeout: 1m0s
no whitelist file
Analysing 1 layers
Failed to analyze using API v1: push image https://registry-1.docker.io/v2/library/centos:7 to Clair failed: can't push layer to Clair: Post http://localhost:6060/v1/layers: dial tcp <IP_ADDRESS>:6060: getsockopt: connection refused
Failed to analyze using API v3: push image https://registry-1.docker.io/v2/library/centos:7 to Clair failed: rpc error: code = Unavailable desc = all SubConns are in TransientFailure

Facing the same exact issue, any update?

Facing the same issue stated by @karthiknannapaneni.
Any help will be much appreciated.


updated falsy link with new ones

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thank you @fgkolf for your contribution and congratulations on your first PR merge to this repo! 🎉
Hope to see more contributions from you in the future.


fully qualified urls

Thanks for this great lib!
Are you writing utilities to provide fully qualified urls inside your _links ? If so, how are you doing so with the generated curies href urls?
So instead of
{
    _links: {
        self: { href: '/api' }
        , curies: [ { name: 'foo', href: '/rels/Foo/{rel}' }]
}

Client really should be seeing

{
    _links: {
        self: { href: 'https://myhost.com/api' }
       , curies: [ { name: 'foo', href: 'http://developer.foo.com/rels/Foo/{rel}' }]
    }
}

hello!
now that the holidays are behind me, I finally have some time to devote to this library. I think this should be pretty easy to do via configuration parameter.

if you have a chance, please take a look at the change I just pushed up to master. You can set an "absolute" configuration property to true on the route or as a global halacious plugin option.

I thought I responded to this but my reply seemed to disappear. I'll repost:
This is a step in the right direction but won't help when hosting the server behind a proxy (host/ports will differ from the 'server' setup). Ideally a pluggable strategy (callback) for calculating the URL could be provided so that an environment variable or other config could be read to generate the urls found in the payload.
This is simple enough as a little utility method in the _links for resources, but the curie href generation doesnt seem to provide a way to modify it.
I'll poke into it this week and try to produce a PR for your review.

Yes, thank you for this. Maybe also something like inspecting an incoming request's x-forwarded-host, etc headers. I've seen that the Spring HATEOAS module does this.

+1


How to duplicate the current env

Hi,
Thanks for the awesome repo.
I have a question though: Is there anyway for duplicating the current grid state? I'm trying to implement a MCTS agent that can operate in this environment and for that, I need to be able to forward simulate the environment by duplicating the current env.
Cheers
Amin

Hi Amin!
I think you may be able to just use the copy.deepcopy() method on the env directly:
https://docs.python.org/3/library/copy.html
Otherwise env.grid definitely is copyable that way, but you might have to implement your own copy method for the MiniGridEnv class:
https://github.com/maximecb/gym-minigrid/blob/master/gym_minigrid/minigrid.py#L369


refactor: deno_graph 0.84

https://github.com/denoland/deno_graph/pull/540

Analyzes require calls and parses with parse_program instead of parse_module.

@dsherret Can you elaborate what's to be expected from this upgrade? I assume it has to do with Cjs support but I'm not sure the extend of it

@arnauorriols I updated the PR description. It analyzes require and parses with parse_program instead of parse_module so that it's easy to quickly see if the file has anything in it that makes it definitely esm.


Unify string parameters across the repo

The types of string parameters across the repo has been regularized according to the following rules that shall be followed from now on:

Methods during the init/registration process should take &str for things like identifiers. They may specify explicit lifetimes in their types if necessary, but not 'static.
Manually written methods that abstract over, or mimic API methods should take impl Into<GodotString> or impl Into<NodePath> depending on the usage, to be consistent with their generated counterparts.

Regarding the usage of &str in init instead of more specific conversions required by each method:
The GDNative API isn't very consistent when it comes to the string types it wants during init. Sometimes, functions may want different types of strings even when they are concepturally similar, like for signal and method registration. This gets more complicated when we add our own library-side logic into the mix, like for the InitHandle::add_class family, where allocation is current inevitable even when they are given &'static strs.
It still makes sense to avoid excessive allocation, but that should not get in the way of future development. 'static in particular is extremely limiting, and there are very few cases of its usage throughout the library's history that we have not since regretted. It shouldn't be the norm but the rare exception.
In any case, class registration is something that only run once in the lifecycle of a game, and for the amount of classes most people are using with gdnative, we can afford to be slightly inefficient with strings to make our APIs more consistent, less leaky, and easier to stablize and maintain.
Close #996

That's something that has always bothered me, very nice to see that you came up with guidelines to unify string usage! 👍

In any case, class registration is something that only run once in the lifecycle of a game, and for the amount of classes most people are using with gdnative, we can afford to be slightly inefficient with strings to make our APIs more consistent, less leaky, and easier to stablize and maintain.

A similar argument could maybe be brought for error types like FromVariantError::InvalidInstance, which currently hold a Cow 🐮
While they do not occur only once like registration, they should ideally happen rarely. Although maybe it's not as pressing, since the Cow<'static, str> does not propagate the lifetime up to its surrounding enum. Or how do you see this?

A similar argument could maybe be brought for error types like FromVariantError::InvalidInstance, which currently hold a Cow cow
While they do not occur only once like registration, they should ideally happen rarely (although one could maybe more dynamic imagine use cases where these are more frequent). Maybe it's not as pressing, since the Cow<'static, str> does not propagate the lifetime up to its surrounding enum. Or how do you see this?

Indeed. Thanks for pointing it out! I think it should indeed be considered as a separate case, and perhaps also dealt with within this PR. Some of the variants of FromVariantError contain &'static str as well, which I've personally ran into issues with for one of those "more dynamic" use cases in a project.
There is a minor point that errors like FromVariantError don't always strictly belong to the error path. They can be constructed e.g. in the process of deserializing an untagged enum, of which a smaller example can be seen in the Option<T> impl. I don't think it should be that common for the "heavy" variants to be involved this way though.
I guess it's a fair starting point to just make them all Strings, or we can encapsulate everything (probably with the help of some macros) so we're free to change the details later.


http request node: connect ECONNREFUSED

Current Behavior
I get a connection refused error if I make a simple local GET-call with the "http request" node. Call from shell or browser are working. Other URLs are working.
 Is this a problem with IPv6?
My other Raspberry with an older version works correct.
Expected Behavior
I expect my connection will not be rejected.
Steps To Reproduce
I can't say exactly because other url calls and the call from the shell are working.
Example flow
[
    {
        "id": "b0158853c424fe9e",
        "type": "inject",
        "z": "9892f29b83a551de",
        "name": "",
        "props": [],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "x": 170,
        "y": 280,
        "wires": [
            [
                "380c9f9555d1b26e"
            ]
        ]
    },
    {
        "id": "380c9f9555d1b26e",
        "type": "http request",
        "z": "9892f29b83a551de",
        "name": "",
        "method": "GET",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "http://ds.fritz.box:8080",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 390,
        "y": 280,
        "wires": [
            []
        ]
    }
]

Environment

Node-RED version: 3.0.2

Node.js version: 18.15.0

npm version: 9.5.0

Platform/OS: Raspberry Pi 4 (Raspberry Pi OS Lite (64-bit) Debian Bullseye)

Browser: Chrome

Server to call: Docker Image from webdevops/php-apache-dev

You can test with curl by adding -6 to the command line

Thanks you for your input!
curl -v6 http://ds.fritz.box:8080 doesn't work - Connection refused
Ok - it's a v6 problem - maybe related to docker...
But why use the "http request" node v6? Is it possible to use v4?
Thanks, Norman

Most likely you have changed NodeJS version to v18 https://github.com/nodejs/node/pull/39987 which now will always use IP addresses in order returned by the DNS, where as the older versions used to sort the IPv4 addresses first.
The correct solution is to update your docker configuration to ensure that ports are forwarded for both IPv4 and IPv6


How to get volume level of playing sound with RawOutputStream ?

I use np.linalg.norm(data), but It returns 15000 to 18000 when I use it with RawOutputStream. How can I get the volume level?
Or should I use OutputStream alternatively? Is there any examples ? I just find only RawOutputStream example here:[https://python-sounddevice.readthedocs.io/en/0.3.14/examples.html#play-a-very-long-sound-file].
Apppreciated for any help.

Is the any example for Play file Using OutputStream? I only find the example for Play signal Using OutputStream.

The example for Playing file is RawOutputStream. It's different.

Is the any example for Play file Using OutputStream?

The examples are there: https://github.com/spatialaudio/python-sounddevice/tree/master/examples
And the can also be seen here: https://python-sounddevice.readthedocs.io/en/0.4.6/examples.html
If I counted correctly, 4 of them use OutputStream and 2 of them use RawOutputStream.
Feel free to use GitHub's "search" function at the top of this page.


[Bug] turn off the highlighting effect on mouse over

Version
5.1.2
Link to Minimal Reproduction
https://echarts.apache.org/examples/en/editor.html?c=bar-simple
Steps to Reproduce

hover your mouse over a column in the chart

Current Behavior
I cannot disable this option
Expected Behavior
turn off the backlight effect
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
I can't find this option to turn it off

See https://github.com/apache/echarts/pull/16368


Feature/clo 57 starlark integration

The CLI is now able to interpret a file (can be named anything) that has a starlark
function call named 'module'.
This function maps to an internal rust defined function that is able to parse and
return the name of the module (cloud provider module) that is to be loaded and its
version.
The CLI is also capable of retrieving only functions that are defined in the CLI
and ignore the rest.
e.g. for a file definition:
module(
    name = "hetzner",
    version = "0.1.0",
)

vm(
    name = "instance",
    image_id = "ami-0c55b159cbfafe1f0",
    instance_type = "t2.micro",
    subnet_id = "subnet-0c55b159cbfafe1f0",
    security_group_ids = ["sg-0c55b159cbfafe1f0"],
    key_name = "my-key",
    user_data = "//examples/hetzner:cloud_init",
)

It will ignore the 'vm" declaration.
This is necessary because when evaluating the AstModule, all of the statements
found in the config definition should also be in the globals, otherwise it wil
panic.


Commenting the code

So, I'd like to comment the code and make this repo more understandable and why it even exists.

opened a pull request with commits from 3-commenting-the-code into main

pull request ready to review, removing draft


AppStore crash while starting an update

https://pastebin.com/dR25SjMk
My AppStore is crashing when i start an update. I add a crash report. Please check it.

@atifchy iCatNew is causing this, not unc0ver. So closing.


Add unit test for partitioned table

Add unit test for partitioned table
-- test append and upsert mode data loading when target table partitioned
this should give better understanding of adding partitioning support

implemented by #72


[feat] Columns Component - Do not show blank lines when null as item

What are you building with SQLPage ?

This feature request is to ensure that a blank line is not shown when encountering null as item in the column component item section.

What is your problem ? A description of the problem, not the solution you are proposing.

I am trying to conditionally include / exclude a few items in the column component. I am returning null as item when the condition is not met, because I do not wish to display that particular item when condition fails.
I see a blank line on the UI when it encounters a null as item.
Describe the solution you'd like
Do not show blank line when encountering a null as item.
Describe alternatives you've considered
Pls suggest if there is a better way of handling this.
select
    'columns' as component;

select
    'Standard Plan' as title,
    '$49'           as value,
    'star'          as icon,
    'A standard plan for small teams.' as description,
	JSON_OBJECT("icon", "check", "color", "green", "description", "Limited Customization") as item,
	case
		when true then JSON_OBJECT("icon", "check", "color", "green", "description", "Collaboration Tools")
		else null
	end as item,
	case
		when false then JSON_OBJECT("icon", "check", "color", "green", "description", "Custom data sources")
		else null
	end as item,
	JSON_OBJECT("icon", "check", "color", "green", "description", "Priority support") as item,
    '#'             as link,
    'Select'        as button_text,
    'success'       as button_color,
    'green'         as value_color,
    '/month'        as small_text;

I added this, as well as the ability to give simple text instead of json in the item property.


GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC

RUN apt-key del A4B469963BF863CC && apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub


Select 5ghz channel / enable it

Hello,
I bought my Google WiFi in the US but I'm using it in France now.
Because of this country change, my Google WiFi doesn't create the 5ghz signal anyone, because it's an US model and channel regulation is different in Europe. Do you think I could use galeforce to configure the state / channel of the 5ghz signal?

Hi, I am having the same issue in Greece. So I am looking for a similar solution. It would be great if through galeforce we can configure the channels available on the 5 GHz channel.
Thanks

I also bough it in the US and deployed it in Norway, with the same result: No 5 Ghz wifi on most devices. The wifi was using channel 149 which has different usage in Europe than in the US.
It might be possible to change this using the iw command? Optionally it might be possible to flash the device with firmware from another region. I have not looked into this though.

I have had the same problem after I bought a 3pack of Google Wifi in the US. After some investigations I found the solution. The hardware of the US model (NLS-1304-25) and the European model (AC-1304) ist just the firmware on the router and not the hardware as expected.
The primary Wifi point (the one connected to the modem or internet CPE router)) distributes software and configuration to the other wifi points. If you have an European wifi point (AC-1304) as the primary wifi point then all attached wifi points will work on european frequences.
So alll to get your US models work ist just to buy a single European Google wifi point and install it as the primary. With this I have now 5 wifi points running. Two European and three US models. They all work like the european models.

I’m curious what happens if you make one of the “slaves” the master afterwards. Will they still keep the new region or revert to their previous settings?
Ordered another node now, hopefully it will fix my 5ghz country related issues.

@simenbrekken Yes, if the master is European, the US nodes will also set to the European region. At least this works for me. Just try. If it does not work, just send the node back to Google and you will get your money back;-)

I tried verifying what @thomaswatnedal and @wherzig have experienced today, but alas my American nodes are still born in the USA:

Factory reset all my US nodes
Unboxed my new EU/NO node and set it up fresh:

As you can see it's broadcasting country code nl

Added one of my factory reset US nodes and let it stay for a while hoping it might be assimilated.:(Even tried unplugging it for a while and adding it back in)

The EU node is still broadcasting country code nl but my US node is still broadcasting us
Can any of you guys run a Wifi scan and verify your US nodes are not broadcasting us? I'm beginning to think receive channel assignments from the master which is EU regulated but still broadcasting their original country code. If this is the case, it's still a problem for a lot of Apple products as they reconfigure available bands (in particular 5ghz bands) as soon as they receive a country code from a seen WiFi device via IEEE_802.11d

Can any of you guys run a Wifi scan and verify your US nodes are not broadcasting us?

My US nodes also still says country code US, while my European one says NL, as yours.

I'm beginning to think that child nodes receive channel assignments from the master which is EU regulated but still broadcasting their original country code.

Seems to be true.

If this is the case, it's still a problem for a lot of Apple products as they reconfigure available bands (in particular 5ghz bands) as soon as they receive a country code from a seen WiFi device via IEEE_802.11d

The channels are chosen by the access point(s), so regardless of which country code they broadcast the clients will have to use the channels provided. In this case if the master is a EU node, and chooses the channel also for the slaves, I don't think it is a problem. Most of the EU channels are also valid for the US so even if a device would restrict itself it is likely to work,.
All my nodes report the same: (from the report available at http://NODEIP/api/v1/diagnostic-report)
Interface wlan-5000mhz
ifindex 9
wdev 0x100000001
addr 703acb000013
ssid YourSSID
type AP
channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz

What is this country code you are talking about? I do not use Apple devices.
Which Wiifi frame is that in? How can this be shown on non Apple devices?
Looking at Windows wifi monitoring tools and Linux (iwlist scan) there seem to be no difference between my US and EU nodes. Frequences, etc. are all the same. Wifi works fine.

@thomaswatnedal Seems to work so far, but I've had problems keeping my MacBook online as everytime it has woken up in the past it receives the US country code and 5ghz stops working. Fingers 🤞
@wherzig Not sure how to scan for router regulatory country configuration on Windows, so I can't help you out there. That last link looks very interesting. I'll try to flash one of my US nodes this weekends and get back to you.

How to see regulatory country code on non Apple operating systems like Linux or Android?

After running the EU/NO primary/US secondary setup this weekend all problems with devices presumably configured for NO bands and thus not being able to connect to channels selected by my then US regulated primary Google Wifi node has disappeared.
The primary node sets channels (both 2.4 and 5 ghz) for all other nodes in the mesh configuration, no matter what country regulation setting they are currently configured as.
@wherzig As this is finally working, I'm going to hold off flashing any of my US nodes.

Hey guys same issue on my end.. and i am in Mauritius... any progress on this :)


Godot 4.2 what is the policy

Ok so we have new Godot, what now?
Are we migrating on it with 2.0, if yes when (after waht PRs will be merged).
And do we make special version of 1.x branch for 4.2?

I already updated 2.0.0. Everything works just out of the box without any changes. I see no reason why we shouldn't use 4.2 going forward.

Awesome, so I switched to 4.2 for BT dev too.


Make the span active after extraction within the jersey filter

Hello,
Maybe I misunderstand the way the span needs to be used but, in jaeger-jaxrs2, when using the com.uber.jaeger.filters.jaxrs2.ServerFilter, the span created after extraction of the request headers is currently not made active within the tracer instance.
SpanContext spanContext = tracer.extract(Format.Builtin.HTTP_HEADERS, carrier);
if (spanContext != null) {
    builder = builder.asChildOf(spanContext);
}
Span serverSpan = builder.startManual();

// the following line is missing
tracer.makeActive(serverSpan);

traceContext.push(serverSpan);

Therefor, when building a new span within the application, a new span is created instead of a child of the one extracted from the request.
try(ActiveSpan activeSpan = tracer.buildSpan("jumpcargo-my-friend").startActive()) {
}

Version of opentracing: 0.30.0
Version of jaeger-client-java: 0.20.0

Hi @hloos,
thanks for reporting it. There is a plan to deprecate instrumentations in this repository in favor of https://github.com/opentracing-contrib/. There is already instrumentation for JAX-RS https://github.com/opentracing-contrib/java-jaxrs which should solve this problem.

Ok, thanks for the answer, good to know :)
There is also https://bm-artifacts.misys.global.ad/maven/index.html#nexus-search;quick~wrap-opentracing-web-servlet-filter which better suits my needs.

It seems that it has been fixed as part of #257


PEP8, flake8, autopep8

For Python code there is the comprehensive style guide PEP8:
https://www.python.org/dev/peps/pep-0008/
flake8 can be used to check the code,
autopep8 can be used to fix most of the issues.
Both are installable from PyPI:
python -m pip install -U flake8 autopep8

Then, cd to the directory and run the following commands to get some harmless whitespace changes:
cd modest-py
flake8 --count --max-line-length=200 --statistics -qq
autopep8 --in-place --recursive --max-line-length=200 --select="E101,W1,W2" .

After that, check the git diff (with and without ignoring whitespace changes) and commit.
If more cleaning is desired, run
flake8 --count --max-line-length=200 --statistics -qq
autopep8 --in-place --recursive --max-line-length=200 .
autopep8 --in-place --recursive --max-line-length=200 --aggressive --aggressive --aggressive .

Or select single rules and check the git diff after each rule to see what changed.

Thanks, I will revise the code using this procedure.

Drop a comment in case you start working on this. Otherwise I hope to find some time before Christmas.

There is no hurry, it is just style, it does not change the functionality. But it might increase readability.
I am not planning any further Pull Requests for this.

Done: https://github.com/sdu-cfei/modest-py/commit/5fb95f05901b529dbbcfb1346733d5732c5d9ff1


typo at the line # 40 in gif.py

There is an unwanted "*" at line #40 in gif.py.

@pkmital Have opened a PR to fix this issue.


Uncaught ReferenceError: xxx is not defined

// worker.js

const add = (a, b) => {
    return a + b
}

export const testfun = (a, b) => {
   return add(a, b)
}

import { testfun } from './worker.js';

const r = await this..$worker.run(testfun, [1,2]);

I get this:
Uncaught ReferenceError: add is not defined

I have the same problem with you, have you solved this problem?

// worker.js

const add = (a, b) => {
    return a + b
}

export const testfun = (a, b) => {
   return add(a, b)
}

import { testfun } from './worker.js';

const r = await this..$worker.run(testfun, [1,2]);

I get this:
Uncaught ReferenceError: add is not defined

have you checked without add() that is also not working ?
export const testfun = (a, b) => {
return (a+b);
}


WIP: Create new Core plugin

Description of Changes

[ ] Wrote at least one-line docstrings (for any new functions)
[ ] Added unit test(s) covering the changes (if testable)

[ ] Included a screenshot or animation (if affecting the UI, see Licecap)

Issue(s) Resolved

Fixes #
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @goanpeca

Hello @goanpeca! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/api/plugins.py:

Line 1373:80: E501 line too long (80 > 79 characters)


Handling input text as Array

Hello , i am trying to use adonis , but i have some problem when POST data from input with array (multiple). Actually when use multiple file is work , but in input type text it's doesn't work. how to handle it  ?
for example i have this input
<input type="text" name="file_name[]"  value="efg/>

<input type="text" name="file_name[]"  value="abc"/>

in server when i get from
console.log(request.input('file_name[]');

the output will be
{
  'file_name[]': abc
}

my expectations is get file_name as array , like in multiple file upload ..
Thank you ,
Hopefully there are people help me ..

@zainul-realtime did you test console.log(request.input('file_name'); ???

Yap i have try
console.log(request.input('file_name');

But got undefined

It works fine for me
    <input type="text" name="file_name[]"  value="efg" />
    <input type="text" name="file_name[]"  value="abc" />

  console.log(request.input('file_name'))

Closing since no reply from the issue reporter and doesn't seems to be an issue. Please reopen if it still face problems

<input type="text" name="datas[]" value="one" />
<input type="text" name="datas[]" value="two" />

With {{ form.open({action: 'TestController.index', files: false}) }}
console.log(request.input('datas')) outputs [ 'one', 'two' ]
With {{ form.open({action: 'TestController.index', files: true}) }}
console.log(request.input('datas')) outputs null
With {{ form.open({action: 'TestController.index', files: true}) }}
When uploading array of files request.file('files') returns null but request.file('files[]') works, returns array.
Handling text values the same way: request.input('texts') returns null and request.input('texts[]') only returns the last value.
It seems like you can have multiple text values with files: false OR you can upload multiple files with files: true but you cannot have both in one form.
So it has to do with multipart/form-data params.
Is this considered as a bug? Also looks inconsistent.


operator elasticsearch-eck-operator-certified (2.15.0)

Update the ECK operator to the latest version 2.15.0.

/pipeline restart operator-hosted-pipeline

/pipeline restart operator-hosted-pipeline

/pipeline restart operator-release-pipeline


Cat Windows 10 does not work

when building on windows 10 trying to run cat gives this error

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 1, kind: Uncategorized, message: "Incorrect function." }', src\uu\cat\src/cat.rs:375:71
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Hello, when is this fix planned for release? I'm using version 0.0.8 and the error is still occuring.

We are all volunteers. Nothing planed AFAIK.
Don't hesitate to give it a try to fix it!

I realize that, sorry I was not trying to sound harsh. I just read in the thread that the patch was ready and the line

[...] linked a pull request that will close this issue on 28 Aug

made me wonder if I had missed a release or if the bug had been fixed but then reappeared somehow. :)

That PR has indeed been open for a long time, but it looks good. @Lertsenem, could you maybe check whether that PR fixes the issue for you? I think most maintainers are on Linux so it's hard to validate.

I'd like too, but this is unfortunately a work PC and I don't have the opportunity to build anything on it. Hence my wait for the release. :/

Alright, I might be able to test it this weekend then.

I've tested the PR and it does indeed fix this issue. I think it can be merged!


This was applied downstream but not here.

ref: https://github.com/chainguard-images/images/pull/1570

I expect two failures: bank-vaults and metacontroller which are consistently failing on a Helm 403 that needs investigation.
The leg to watch here is kubeflow-katib, which has been failing due to disk pressure, which this change should resolve.

The two failures are OCI Helm tests and failing at HEAD, so bypassing those presubmits to land the disk change and unblock kubeflow-katib


Challenge #5 The Rewarder, ERC20Snapshot.sol no longer available in OpenZeppelin v5.0.0

OpenZeppelin got rid of their ERC20Snapshot.sol contract in the v5.0.0 upgrades, so I am having trouble compiling challenge 5 The Rewarder with the AccountingToken.sol. I am using Foundry. Perhaps it is specific to Foundry.
I tried to place the missing dependencies into my v5.0.0 lib. The ERC20Snapshot.sol from v4.9.3, along with its missing dependency Counters.sol from v4.9.3. Arrays.sol is already in v5.0.0. But this did not work and I was getting errors regarding functions not being correct and stuff like that. I'm unsure how to contend with a missing OZ dependency. Would installing the entire v4.9.3 OZ library maybe work? Or another version? I would prefer not to if possible since I'm trying to house all the challenges in one repo.
See the 2 pictures for specific errors. The first picture says ERC20 was not found because AccountingToken.sol doesn't have ERC20 import. Therefore I tried importing ERC20 as well, but then it complained about the ERC20Snapshot functions.
*Edit: Challenge 6 Selfie and potentially any others that use DamnValuableTokenSnapshot.sol or ERC20Snapshot.sol dependency from Open Zeppelin will need a remedy?

Why not just install the version that contains the missing contract
forge install<EMAIL_ADDRESS>


Feature Request: Add "Issues" link to the "Extension Resources" on the extension page inside VSCode. (UX)

Currently, only marketplace and repository links show inside VSCode.
See image:

To report an issue, I need to go to the marketplace and click "Issues" there. =
See image:

I think it would be useful to have the "Issues" link inside VSCode, saving the extra steps to go to the marketplace.
I would be happy to create a PR if this feature is something the team wants to have.

Are you aware that VS Code's own Issue Reporter dialog can be used to direct issues to an extension's repository?

Most cases I want to see the already reported issues, so I am not creating duplicates.
Another usecase when the extension source code and issue tracker is not hosted on GitHub.

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

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


[BP-1.17]historgram

What is the purpose of the change
This is an implementation of HISTOGRAM
Returns a map containing the distinct values of col1 mapped to the number of times each one occurs for the given window. This version limits the number of distinct values which can be counted to 1000, beyond which any additional entries are ignored.
Brief change log
HISTOGRAM for Table API and SQL
Syntax:
HISTOGRAM(col1)
Arguments:
col1: the data in col1
Examples:
Flink SQL> create temporary table orders (
> orderId INT,
> price DECIMAL(10,3)
> )with(
> 'connector' = 'datagen',
> 'rows-per-second' = '5',
> 'fields.orderId.min' = '1',
> 'fields.orderId.max' = '20',
> 'fields.price.min' = '1',
> 'fields.price.max' = '200'
> );

Flink SQL> select histogram(price) as map from orders;
res: {147.451 = 1， 65.765 = 1， 41.662 = 1 …}
see also:
KsqlDB: https://docs.ksqldb.io/en/latest/developer-guide/ksqldb-reference/aggregate-functions/#histogram
Verifying this change

This change added tests in CollectionFunctionsITCase.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (docs)

Closing this PR since we don't backport new features into existing releases


Kindly explain a little about the results terms and accuracy matching

Hi there, I am running this experiment, " [LUCIR] w/ AANets"
" python main.py --nb_cl_fg=50 --nb_cl=10 --gpu=0 --random_seed=1993 --baseline=lucir --branch_mode=dual --branch_1=ss --branch_2=free --dataset=cifar100"

Concerns:

which one accuracy you have used in your excel file.
What do you mean by
I) Current Accuracy FC
II) Current Accuracy (proto)
III) Current Accuracy  (Proto-UB)

Thank you very much and looking forward to hearing.

Thanks for your interest in our work!
For your Q1: We use the accuracy of FC for LUCIR+AANets.
For your Q2: FC denotes the results using FC classifiers. Proto shows the results using nearest-mean-of-exemplars classifiers.  Proto-UB denotes the results using nearest-mean-of-exemplars classifiers. However, we use all samples for each class to compute the mean embedding. Thus, it is an oracle setting.
It seems your zeroth-phase accuracy is a little bit lower than our results. You may try to use another random seed to pre-train the zeroth-phase model.
If you have any further question, please do not hesitate to contact me.
Best,
Yaoyao

Thank you so much for responding to me back.  So, in my case, if I want to take the average value to put on an excel file, I would have to go with this, 73.64+72.07+74.11/3= 73.27? Means I would have to take the average of these 3 FC?
Thank you!

Thank you so much! Yeah, it is amazing. So in my case, my average according to this screenshot would be 74.11%.
Thank you and good luck in the future.

If you have any further questions, please do not hesitate to contact me.

Hi there, please tell me that if I want to run this experiment on N=10 and N=25 in POD-Net then how can I proceed? Thank you!

For your Q1: you may use this project to run POD-AANets. All config files are available here: https://github.com/yaoyao-liu/POD-AANets/tree/main/options.
For your Q2: some metrics (e.g., the forgetting rate) use the zeroth phase accuracies.
If you have any further questions, please do not hesitate to contact me.

Thank you for your reply. Yes please tell me if i want to see #of parameters and Memory size in the previously attached screenshot experiment then how can I see that? Please tell me the method to do so. Thank you once again.


VictoryBar crashing app

I recently updated my react-native version and when I try to render a VictoryBar my app crashes. I've tested with other components such as VictoryChart and VictoryAxis and they work perfectly fine. I also tested with the latest version of victory-native but still crashes.
Versions: react-native: 0.42.0, victory-native: 0.4.0, react-native-svg: 4.3.0
Code:
// import
import { VictoryBar } from "victory-native";

//render
<VictoryBar />

@OwenFlood we just updated our react-native and and react-native-svg versions too. Please try<EMAIL_ADDRESS>or higher


Files referenced in README are not there

Both scripts referenced under the Start ChaperoneService section are missing
Start ChaperoneService Controller
./ChaperoneDistribution/target/ChaperoneDistribution-pkg/bin/start-chaperone-controller.sh
Start ChaperoneService Worker
./ChaperoneDistribution/target/ChaperoneDistribution-pkg/bin/start-chaperone-worker.sh

hi @calicartel , I just tested those steps as in README.
If 'mvn clean package -DskipTests' command succeeded with
...
[INFO] Chaperone .......................................... SUCCESS [  5.072 s]
[INFO] ChaperoneServiceController ......................... SUCCESS [ 26.980 s]
[INFO] ChaperoneServiceWorker ............................. SUCCESS [ 23.985 s]
[INFO] ChaperoneClient .................................... SUCCESS [  2.974 s]
[INFO] ChaperoneCollector ................................. SUCCESS [  2.939 s]
[INFO] ChaperoneDistribution .............................. SUCCESS [  4.073 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
Those scripts should be generated automatically
ls -l ./ChaperoneDistribution/target/ChaperoneDistribution-pkg/bin/
total 72
-rwxr-xr-x  1 xbli  staff  10636 Jan  6 10:20 start-chaperone-collector.sh
-rwxr-xr-x  1 xbli  staff  10518 Jan  6 10:20 start-chaperone-controller.sh
-rwxr-xr-x  1 xbli  staff  10905 Jan  6 10:20 start-chaperone-worker.sh


Update connector-azure-data-lake-store.md

minor clarifications to wildcard examples

@jianleishen

Can you review this PR?

IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


create alias for extractors and resolvers (import { t as i18n, nt} from 'polyglot')

the progress is here (almos done) https://github.com/AlexMost/babel-plugin-c-3po/pull/23

done  #23


[bug] QueryTask doesn't respect the current query scope and overwrite everything till the end of the buffer

It should be an easy fix by checking if the line starts with # which will indicate that its a new md title and stop there. I can have a look at it if you want or otherwise let me know when I can pull.
also do you think it would be feasible to merge the TWSyncTasks and TWQueryTasks?
I mean TWSyncTasks would run TWSyncTasks for the whole buffer and add every query it finds in an array with the line number, then after it synced, for every query it found it will go to that query and run the TWQueryTasks command there

The PR #41 fixed this. I am running manual tests before merging it.
There are a few reasons why I don't want to have TWSyncTasks and TWQueryTasks as one:

TWSyncTasks will look for tasks and either create/sync the task to Taskwarrior (including detecting nesting tasks/dependent tasks). This heavily relies on lines and line number in the buffer
Meanwhile, TWQueryTasks will blow up everything in the scope (between two empty lines aka a paragraph in Neovim/Vim/TreeSitter). This destroy any references of the lines in the buffer, thus useless for TWSyncTasks

Happy to open to new ideas but I cannot see how would I merge these commands.

I think one would have to happen after the other, so first twsynctasks would create and sync, then after that twquery would blow up and recreate to make sure its up to date with the query but yeah its probably just personal preference


Here is the best repo where you can get WHATEVER BLOOK YOU WANT if I get 100 followers i will put THE FIRST EVER UNLIMITED TOKENS HACK AND IT WORKS

[https://drive.google.com/file/d/17Dp2oW5KpydIXpOwAs3tcNyQkKvV-CDX/view](UNLIMITED TOKENS PROOF)

This seems fake also you get followers from the credit of inventing and releasing the script not before

BRUH!

What do you think about it

fake

Bruh try something else

Close as not planned.
Make another dumb issue and be reported.
The issues is not self promotion.

do a project and i will check

why don't you just put it in your projects
if you have it

try harder next time buddy

why you lyeing

its real

get out you legit scammer
nobody likes you
nobody is gonna legit follow you
get out bro

[https://drive.google.com/file/d/17Dp2oW5KpydIXpOwAs3tcNyQkKvV-CDX/view](UNLIMITED TOKENS PROOF)

Whats your blooket username


Add a user-gesture helper function

Several web platform features need to be called during a user gesture, but there's no function in testharness.js to accomplish that. In Blink we have 2 ways to do this, for pointerLock and for Web Bluetooth, both of which rely on a Blink-specific eventSender interface to send the trusted event.
We'd like to upstream one of these. Please let us know the best way to do that.

X-Ref: https://github.com/w3c/web-platform-tests/issues/2161

There isn't currently a good way to do this, and a test-only DOM API would need vendor buy-in and standards effort. The WebDriver issue linked is the simplest way to achieve this in that it doesn't involve creating new cross-browser technology, but there is some implementation effort. Please let me know if you have someone that can work on it.

This is also related to #85, insofar as it's mock behaviour.

This issue has been moved to https://github.com/w3c/web-platform-tests/issues/7160; please continue all discussion there.


Add autoreleasepools everywhere we dispatch_async in RealmTests

Might help with https://github.com/realm/realm-cocoa/issues/2294, but I doubt it
\c @jpsim

:+1: that seems to be the last remaining GCD calls that weren't wrapping in autorelease pools. And #2294 actually passed this time :tada:.

seeing as the test still hangs, should I just close this?

seeing as the test still hangs, should I just close this?

No, I think these changes are appropriate nonetheless.


self signed certificate in certificate chain

can not sign in with the error message : self signed certificate in certificate chain
登录不进去啊 求大神帮帮忙 之前一直可以的
login: pass: - Signing in leetcode-cn.com
[ERROR] Error: self signed certificate in certificate chain
也设置了npm set strict-ssl false

查看一下 node 的版本？如果小于 10 的话请升级。

查看一下 node 的版本？如果小于 10 的话请升级。

node版本是12+的 npm是 6+ vscode是最新的

login: (node:13608) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency (Use node --trace-warnings ... to show where the warning was created) pass: - Signing in leetcode.cn [ERROR] Error: self signed certificate in certificate chain


[BUG] story media not clickable from PC

hello
I am creating a story with:
cl.photo_upload_to_story(         media_path,         caption,         mentions=users_mentiont,         medias=[StoryMedia(media_pk=media_pk, x=0.5, y=0.5, width=1, height=1)],     )
and everything fine, except that media mentiond in story is clickable and can redirect to post itself only on mobile devices. I cant do this from pc somehow, it is just not clickable
(also users mentions are clickable from both)
thank you for your work mate

I tried the same, but with storybuilder and now it is fine


Upgrade node dependencies

Check https://github.com/open-source-uom/myuom/blob/faf697a6dfe08963198906294ed24c6249b50217/package.json#L5

done in #81


gitAndTools.overcommit: init at 0.46.0

Motivation for this change
Init overcommit at 0.46.0.
Added vendor in .gitignore because this directory gets generated while building gemset.nix.
Things done

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

[ ] NixOS
[ ] 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 nox --run "nox-review wip"
[x] 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)
[x] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

It does not work for me..

I checked out the branch.
Executed nix run -f . gitAndTools.overcommit mdl ruby.
Created minimal config:

verify_signatures: false

PreCommit:
  Mdl:
    enabled: true

Executed overcommit --install
Staged a change in a Markdown file.
Then tried to commit, resulting in this:

This repository contains hooks installed by Overcommit, but the `overcommit` gem is not installed.
Install it with `gem install overcommit`.

Furthermore, if I understand your changes correctly, the hooks aren't wrapped:
$> head -n20 .git/hooks/pre-commit
#!/nix/store/k6bmp8wix8f350nwkrmcybx3b7yfbcam-ruby-2.5.3/bin/ruby

# Entrypoint for Overcommit hook integration. Installing Overcommit will result
# in all of your git hooks being copied from this file, allowing the framework
# to manage your hooks for you.

# Prevent a Ruby stack trace from appearing when we interrupt the hook.
# Note that this will be overridden when Overcommit is loaded, since the
# InterruptHandler will redefine the trap at that time.
Signal.trap('INT') do
  puts 'Hook run interrupted'
  exit 130
end

# Allow hooks to be disabled via environment variable so git commands can be run
# in scripts without Overcommit running hooks
if ENV['OVERCOMMIT_DISABLE'].to_i != 0 || ENV['OVERCOMMIT_DISABLED'].to_i != 0
  exit
end

@alyssais Are you still interested in giving your input? Otherwise I will close this PR because I am unable to fix this.

@alyssais Are you still interested in giving your input? Otherwise I will close this PR because I am unable to fix this.

I am, yes, but I have a lot going on at the moment, so will likely be at
least a couple of weeks before I can get to it.

As I'm not able to fix this, I'm closing this PR. If anyone wants to reopen and fix it, feel free to do so.


Add Maven wrapper

This PR adds Maven wrapper to simplify project setup.

Hi Vedran, I see you set warpper to use maven 3.3.9. The problem with this is that current Quartz is still on JDK6 compatible, and only maven 3.2.5 or below is able to run with JDK6. We should default to that maven version til we can move up the JDK.

Hey @zemian, that completely slipped my mind - I've updated the PR.

Vedran, Unfortunately I think the wrapper itself requires min of JDK7?
Also I think mvnw.cmd line 124 has an invalid '#' char. I needs to be replace by '@REM'
mvnw.cmd -version
'#' is not recognized as an internal or external command,
operable program or batch file.
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/wrapper/MavenWrapperMain : Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.maven.wrapper.MavenWrapperMain.  Program will exit.

We prob should move away from JDK6 soon anyhow, since it's pretty old. But I image that will be a major release bump. If wrappers does not support JDK6, then wait til we create a new branch for JDK7 for later inclusion. As I do like the maven wrapper tool and it's benefit.

Hey @zemian, you're right, Takari Wrapper indeed does require at least JDK7.
However, after giving this some thought, Quartz's compatibility with Java 6 doesn't necessarily need to affect the JDK version used to build the project meaning we could move the project build itself to newer version (preferably JDK8) but retain the runtime compatibility with Java 6.
In order to do so we should:

fix #60 (fails for me too)
use Animal Sniffer to ensure compatibility with Java 6
add Wrapper

Your thoughts on this?
Also the invalid '#' char is Takari bug that was fixed in takari/maven-wrapper#27, I'll check why the script was generated using the old version.

I think mixing different versions of tool and main code is confusing. I like push Quartz code to be JDK7 compatible instead. I will drop a mail to dev-list to see if all agree to make 2.3.x start using JDK7 instead.

:+1: from me for bumping the minimum required version to Java 7.
Regarding the project build, Spring projects have been built using JDK 8 while maintaining compatibility down to Java 6 for some time now so it's a very common and tested scenario. You could at least consider it for Quartz too.
Since this PR is blocked until the project gets built by JDK 7+ anyway, I'll update the Maven Wrapper config to target 3.3.9 again and fix the invalid '#' char issue. Is that OK with you?

Yep, thanks @vpavic !


Change Source

Source is always namespace + class name (that logged in NLog).
If you could please let users define Source in nlog.xml it would be awesome 👍
Thanks,
Gunnar
P.S. There doesn't seem to be a way around it. Even if I create a Splunk HTTP Event Collector and put a value in "Source name override", I still get namespace + classname as source.

Will be resolved in #38 if should be merged.

I'll get a new build out and published today.


Add Wayback Machine as a collector

Wayback Machine by Internet Archive (http://web.archive.org/) is a "non-profit library" for archiving web pages (more: https://archive.org/about/). Even though it is mainly intended for archiving all pages under one domain, the API can be used to fetch all pages under the main domain and all subdomains. For this library (and use-case) it's easy to just loop through all pages and add the host of each URL. Aquatone is already able to not add already-added subdomains, so no need for a special system to check for duplicates.
Even though (as previously mentioned) the Wayback Machine is not the best place to find subdomains, I have seen that it has benefited in some cases. Aquatone also checks that the host is alive, so there should be no problems with subdomains that are just archived and not actually alive. I have noticed that with popular(ish) domains there are lots of archived pages and thus the loading time might be long sometimes and other times it times out, but mainly it just runs a bit slow.

Hi @jolle, Thanks for yet another collector, awesome work! I will try it out and pull it into a release with some other stuff over the weekend.

Just one more nitpick: The file should be named wayback_machine.rb not wayback-machine.rb :)
Thanks!

Tried it out locally. It works, but is pretty slow and times out quite often as you said. It still finds some good subdomains though, so I will merge it in and implement a configurable timeout for the collector.
Thanks again for your contribution! 💯

I don't know if it would be slower or faster, but the CDX API offers out-of-the-box pagination with the page parameter (more info). Another option would be to use the limit and/or offset parameters. Using just limit would make the response faster, but obviously, would not yield as good results as with no limit (note: the default limit is 150 000, so in any case, you still lose entries). Using the offset parameter though, it would be possible to loop through all entries, but then you could just use the better pagination API.
I think an option for fetching just for the first page (or n (i.e. 2000) entries) or all pages (the default max of 150 000 or looping through all pages) would be good (note: an option utility for collectors would be required; they only have a key utility). Using the pagination API the request flow would be showNumPages → loop for n pages → page=n. I can make a PR for any of the options if any of them sound good to you!


install nvm wrong

###Install nvm wrong
when I install nvm ,the console views:
[root@hart]/usr/local/src# curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12819  100 12819    0     0   1613      0  0:00:07  0:00:07 --:--:-- 19334
=> Downloading nvm from git to '/root/.nvm'
=> Unknown option: -c
usage: git [--version] [--exec-path[=GIT_EXEC_PATH]] [--html-path]
           [-p|--paginate|--no-pager] [--no-replace-objects]
           [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE]
           [--help] COMMAND [ARGS]
Failed to clone nvm repo. Please report this!

what should I do for this?

@marquisXuan what version of git do you have? The readme notes that nvm requires v1.7.10.

font{
    line-height: 1.6;
}
ul,ol{
    padding-left: 20px;
    list-style-position: inside;
}

git version 1.7.1
    a#ntes-pcmail-signature-default:hover {
        text-decoration: underline;
        color: #3593db;
        cursor: pointer;
    }

    font{
        line-height: 1.6;
    }

    font{
        line-height: 1.6;
    }

On 05/21/2018 11:27，Jordan<EMAIL_ADDRESS>wrote：

@marquisXuan what version of git do you have? The readme notes that nvm requires v1.7.10.
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.

That's too old; you'll need to update at least 9 versions from .1 to .10.

font{
    line-height: 1.6;
}
ul,ol{
    padding-left: 20px;
    list-style-position: inside;
}

thanks , let me jsut try to slove it
    a#ntes-pcmail-signature-default:hover {
        text-decoration: underline;
        color: #3593db;
        cursor: pointer;
    }

    font{
        line-height: 1.6;
    }

    font{
        line-height: 1.6;
    }

On 05/21/2018 11:30，Jordan<EMAIL_ADDRESS>wrote：

That's too old; you'll need to update at least 9 versions from .1 to .10.
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.

ok,it works .thanks ~~~~ very much


Updated validations.py python script Closes: #1

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py.
Fixes #<iClose 1>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

Updated the validations.py

updated validations.py


Add a time-out for waiting on DNS

Adding a timeout for waiting on the DNS entry to exists. This prevents the init container to be in an inifinite loop in case of a failure of registering the DNS on startup
We have seen this happening on GKE with preemptive nodes where the pod got created before the network was able to assign it an IP causing the init container to be stuck forever in this loop.

Hey @fanminshi, hope you're doing ok!
We're trying to use the etcd operator at GoCardless, but are running into problems in our lab environment. We deliberately use GCP's preemptible nodes in lab to test robustness to individual node failure. Unfortunately the etcd clusters managed by the operator survive for less than 24hrs in this environment, due to the bug we describe in this PR.
We think it's probably something to do with https://github.com/kubernetes/kubernetes/issues/44273, but timings out after 5m of failing DNS makes sense without a longterm fix to that issue being available.
Handling this edge case will help us and anyone else running on preemptible machines. If we can do anything to get this PR merged, or need to adapt it to better suit the style of the project, then please let us know.

@lawrencejones @meyskens I am taking a look.

I'd suggest to make the timeout configurable because we don't really know what's a good timeout for different scenarios.
You can add a DNSTimeoutInSecond to the PodPolicy of the ClusterSpec.
Feel free to use a better name if you come up with one.
type PodPolicy struct {
...
// DNSTimeoutInSecond is the maximum allowed time for the init container of the etcd pod to
// reverse DNS lookup its IP given the hostname.
// The default is to wait indefinitely and has a vaule of 0.
 DNSTimeoutInSecond int64 `json:"DNSTimeoutInSecond,omitempty"`
}

https://github.com/coreos/etcd-operator/blob/master/pkg/apis/etcd/v1beta2/cluster.go#L105
And use DNSTimeoutInSec to set the init container's TIMEOUT_READY period. And, Make sure that the default value is 0 and it means to wait forever.

@fanminshi I have added the DNSTimeoutInSecond option 😄Thanks for that! Sure let me know if you have any other feedback!

@meyskens were you able to test this pr out to ensure that ti works as intended?

@fanminshi I am now preparing a test build of it to test out in our lab cluster

@meyskens sounds good. Let me know how the test goes. Once this PR passes your test, then we can merge this PR.

The test proved that my shell scripting skills are not the best 😉
I have patched the loop and it works!

@etcd-bot ok to test

lgtm after nits

@meyskens Thanks for all the hardwork. The code looks great. Currently, some of our CI is down. Let me fix that first and then re-run it against PR. Afterward, I'll merge the PR.

@etcd-bot ok to test

@etcd-bot retest this please

I will fix the CI failure in a subsequent PR.


feat(nostr): support new key format

Describe the changes you have made in this PR
This is my attempt to address https://github.com/getAlby/lightning-browser-extension/issues/1920 the field for Nostr private keys on the settings page of the browser extension expects that the user paste a key in "hex" format. However clients like astral.ninja have adopted a new format that uses bech32 with a nsec1 prefix (see NIP-19).
This patch compares the beginning of the provided Nostr private key with the known prefixes in the NIP to check if a conversion is needed, and if so, transforms the input from bech32 to hex.
Link this PR to an issue
Fixes #1920
Type of change

feat: New feature (non-breaking change which adds functionality)

How has this been tested?
I havent tested it extensively, I have compared the expected output using console log (refreshing the settings also works). And I have tried my personal nsec key with astral.ninja, it did seem to have signed and published new events.
Checklist

[x] My code follows the style guidelines of this project and performed a self-review of my own code
[ ] New and existing tests pass locally with my changes
[ ] I checked if I need to make corresponding changes to the documentation (and made those changes if needed)

It also bothers me a little that the settings page will display a different key when the user returns or refreshes the page. Maybe we should always display the bech32 version to the user, as the purpose of the "nsec" prefix is to prevent accidents like people pasting the private key on places expecting the public one, and in hex format this distinction is visually difficult.

with more interest in nostr maybe we can move this nostr things out of the settings and labs section and give it's own section (and support keys per account)

I agree, however that would give us the same problem with the value changing (but the other way around).
Another idea would be to render the public key (npub...) below? I feel like most users will recognize their public key which would give them some indication that they've imported their key successfully.


Wrong value was being used for the last press timestamp.

The "date" property returned with latestState() appears to be the cassandra column timestamp. "value" is the actual value but it's stored as a string and must be cast back to Long.

I'll add that I verified that "value" was the correct value and "date.getTime()" the wrong value by doing debug logs in createPressEvent and createButtonEvent and verifying that they matched.


Initial attempt at Win10 development instructions

Coverage remained the same at 51.375% when pulling ac761d901c28646183f265c02cda5dc46a39cb0f on windows_dev_instructions into 4fae5af62b7911802229bce45ae1f14fdca965ee on develop.