Delimiter changed inside statement

Which version and edition of Flyway are you using?
6.3.2
If this is not the latest version, can you reproduce the issue with the latest one as well?
(Many bugs are fixed in newer releases and upgrading will often resolve the issue)
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Command-line
Which database are you using (type & version)?
MySQL 8.0.19
Which operating system are you using?
macOS, Centos 7
What did you do?
(Please include the content causing the issue, any relevant configuration settings, the SQL statement that failed (if relevant) and the command you ran.)
Tried running this migration:
drop procedure if exists p1;
delimiter $$
create procedure p1(p_a int)
begin
if p_a = 1 then
set p_a = 0;
elseif p_a = 2 then
set p_a = 3;
end if;
end$$
delimiter ;
What did you expect to see?
A procedure being created
What did you see instead?
ERROR: Unable to parse statement in sql/egames/R__0006_auto_settlement.sql at line 4 col 1: Delimiter changed inside statement at line 4 col 1: create procedure p1(p_a int)
begin
declare l_a int;
if p_a = 1 then
set p_a = 0;
elseif p_a = 2 then
set p_a = 3;
end if;
end$$

Also, case doesn't seem to be working either (same "Delimiter changed inside statement" error):
drop procedure if exists p1;
delimiter $$
create procedure p1(p_a int)
begin
case p_a
when 1 then set p_a = 0;
when 2 then set p_a = 3;
end case;
end$$
delimiter ;


Added option to create missing folders

I noticed during usage of this plugin that if given a file path which contains one or more non existent parent folders, the plugin would fail and throw an ENOENT error.
This is undesirable for me, as I prefer to generate logs of each gulp build consisting of any created reports contained within timestamped folders. This would fail with the plugin as those folders don't necessarily exist when the report is ready to be written. Therefore I did the following to amend this:
Added option to enable or disable the creation of any missing folders in
the given file path. See updated README for details on usage.

@dvdcxn Thanks for your PR. It looks good for me.
I will merge this

Awesome, thanks for creating this tool, saved me a bit of headache.


TimeShift broken Shadows

Original issue: https://github.com/Joshua-Ashton/d9vk/issues/338
Issue is directly visible in the starting area. As seen in the screenshot below the shadow rendering is not quite correct with those straight lines that dont contain any shadow, which are located right to the door and in front of the open door. The issue can also be seen when replaying the native windows d3d9 trace with dxvk.
@CME42 said that the game requires non-seamless cubemaps and he can probably elaborate on that with more details below. (will ping him)

Software information
https://store.steampowered.com/app/10130/TimeShift/
System information

GPU: Nvidia GTX970
Driver: 470.56.5
Wine version: 6.13
DXVK version: a2330b89d228f7bdd6ba5f415051345634c3cb7c

Apitrace file(s)
https://git.froggi.es/Riesi/tracehub/src/branch/master/traces/d3d9/TimeShift [native].trace.tar.xz
Log files

d3d9.log:
TimeShift_d3d9.log

How do you launch the game?
For many months this is the error I have when I launch the game on Steam:

The extension was rejected, see https://github.com/KhronosGroup/Vulkan-Docs/pull/1628
The solution is to manually lower cubes to 2D arrays, but I don't feel motivated enough to work on that rn.

With 1.9.2, it seems these shadows are now disabled and the option "Project Shadows" is set to "none" and grayed out.


Circe Enhancements

Added support for intermediate trait types and introduced toJson to the generated code.

Thanks for the PR. It took me a while to understand what you want to solve here.
My summary:

the discriminator should be inherited when you use intermediate traits
you want to fix that leave types do not have the discriminator in the resulting json (:facepalm: on my side for not realising that)
you want to allow imports in the companion object

Is that correct?
Regarding:

:+1: currently it would fail on getting the discriminator in the intermediate type that you have in the test. Adding the discriminator (to work around) and adding a discriminatorValue (as it is also a subtype) would be a workaround though.
thats probably the main blocker, I do not really like the proposed encoding with the toJson as the serialization is then sneaking into the types. I think this should be solvable with a minor variation on the circe codec derivation. I will try to come up with a different approach.
As the arguments are anyway provided in the build, I would prefer this to be independent Library support that adds the import once to the companion. But that's maybe coming from the fact that I do not understand why they need to be added on every type. Could you elaborate on what kind of imports you want to put here?

Thanks for the PR. It took me a while to understand what you want to solve here.
My summary:
1. the discriminator should be inherited when you use intermediate traits

Yes, and by generating the Codecs for intermediate traits, those get a subset of the root discriminated type's possible types.

2. you want to fix that leave types do not have the discriminator in the resulting json (🤦 on my side for not realising that)

The discriminator and its value should end up in the resulting json or I missed something 😄 .  This should be added by the concrete toJson methods.  There probably should be some serialization/deserialization unit tests introduced to ensure this.

3. you want to allow imports in the companion object

Is that correct?
Regarding:
1. 👍 currently it would fail on getting the discriminator in the intermediate type that you have in the test. Adding the `discriminator` (to work around) and adding a `discriminatorValue` (as it is also a subtype) would be a workaround though.

2. thats probably the main blocker, I do not really like the proposed encoding with the `toJson` as the serialization is then sneaking into the types. I think this should be solvable with a minor variation on the circe codec derivation. I will try to come up with a different approach (which might include a fix for 1.).

The up-side of encoding with toJson is that encoding is done in constant time for all types.

3. As the arguments are anyway provided in the build, I would prefer this to be independent Library support that adds the import once to the companion. But that's maybe coming from the fact that I do not understand why they need to be added on every type. Could you elaborate on what kind of imports you want to put here?

Two kinds of imports come to mind at the moment:
1 - Enabling custom Codecs for types which have scala-derive-json as false.  This is likely infrequent.
2 - Allowing other library components to decorate the companion objects.  This is expected for supporting refined.
Both of these could be addressed via a distinct library support IMHO.

The discriminator and its value should end up in the resulting json or I missed something  . This should be added by the concrete toJson methods. There probably should be some serialization/deserialization unit tests introduced to ensure this.

I meant the current release before your changes, for example using the codec in https://github.com/commercetools/scraml/blob/main/src/test/scala/scraml/CirceJsonSupportSpec.scala#L73 will not have the discriminator in the result (it only will if you use the base type codec).
I came up now with an encoder/decoder approach that does not need the toJson and makes the whole generation cases simpler. Please have a look:
https://github.com/commercetools/scraml/pull/7

The up-side of encoding with toJson is that encoding is done in constant time for all types.

Not sure I get this, you expect a different runtime than using the codec from deriveCode[]?

1 - Enabling custom Codecs for types which have scala-derive-json as false. This is likely infrequent.
2 - Allowing other library components to decorate the companion objects. This is expected for supporting refined.
Both of these could be addressed via a distinct library support IMHO.

Thanks for clarifying. :+1: you could actually create a LibrarySupport instance in your build.sbt not sure this would need to be its own thing, ordering would need to be solved I guess, as currently its a Set of libs.


Move away from embedly?

This is a pretty slick library, thanks for working on it. My one gripe is the use of embedly for embedding linked content. The branding is distracting and kinda takes up a bunch of space. I have seen that the Dante2 library makes use of Noembed which (IMO) appears much cleaner without the branding. I'm curious to hear other thoughts on this.

Embedly is just used on the demo page as an example. The actual editor has no notion of an embed service. You are free to choose anything you want. You can take a look at src/example.js to see how embedly is being used and change accordingly as per your needs.


Mailer Service

Create a service that sends the user a mail using Nodemailer

Confirmed sir, working on it.

Instead of using AWS SES we will be utilizing nodemailer with mailgun to send emails to the users

done manav.


Crashing when chopping down tree

Description
Game crashes when chopping down (oak tree in forest) in survival but not creative (haven't tested other trees) ALSO In the badlands the trees spawn in 80% normal minecraft trees and occasionally a dynamics tree here and there.
Crashes
crash-2022-09-10_14.40.09-server.txt
Mods List
Mods List.txt
~ Minecraft Version: 1.16.5

Dynamic Trees:  DynamicTrees-1.16.5-0.10.0-Beta34.jar
Forge: 36.2.39
Java: Latest Version I guess ( I always update java when there is a update)
OS: Windows 11

This is being caused by PMMO. It appears they will need an update to support the latest beta.


Update the trio to deal with some additional options

Addressed the following:

a singleton case
2 or more probands (kids) without any parents,
single or both parents only case or one or more probands (kids) with single or both parents.
Parents do not have to be of unaffecteds, they could be of affecteds in many cases
Probands (children) do not have to be of affecteds, they could be of unaffecteds in some case.

We just met for a code review- the PR should satisfy all edge cases listed. Approve for testing

@byoo @vsmalladi @ducatiMonster916 Merged.

@vsmalladi @ducatiMonster916, I couldn't validate the pipeline. Could you check?

Failed to import 'https://raw.githubusercontent.com/PacificBiosciences/pb-human-wgs-workflow-wdl/main/workflows/smrtcells/smrtcells.trial.wdl' (reason 1 of 1): Failed to import 'https://raw.githubusercontent.com/PacificBiosciences/pb-human-wgs-workflow-wdl/main/workflows/smrtcells/smrtcells.person.wdl' (reason 1 of 1): Failed to process workflow definition 'smrtcells_person' (reason 1 of 1): Failed to process declaration 'Array[String?] parents_names = sample.parents' (reason 1 of 1): Cannot coerce expression of type 'Array[String]?' to 'Array[String?]'
Failed to import 'https://raw.githubusercontent.com/PacificBiosciences/pb-human-wgs-workflow-wdl/main/workflows/sample/sample_trio.trial.wdl' (reason 1 of 2): Failed to import 'https://raw.githubusercontent.com/PacificBiosciences/pb-human-wgs-workflow-wdl/main/workflows/sample/tasks/hifiasm_trio.wdl' (reason 1 of 2): Failed to process workflow definition 'hifiasm_trio' (reason 1 of 2): Failed to process 'call hifiasm_trio_assemble' (reason 1 of 2): Failed to supply input parent2_yak = parent2_yak (reason 1 of 1): Cannot coerce expression of type 'Array[File?]' to 'File'
Failed to import 'https://raw.githubusercontent.com/PacificBiosciences/pb-human-wgs-workflow-wdl/main/workflows/sample/sample_trio.trial.wdl' (reason 2 of 2): Failed to import 'https://raw.githubusercontent.com/PacificBiosciences/pb-human-wgs-workflow-wdl/main/workflows/sample/tasks/hifiasm_trio.wdl' (reason 2 of 2): Failed to process workflow definition 'hifiasm_trio' (reason 2 of 2): Failed to process 'call hifiasm_trio_assemble' (reason 2 of 2): Failed to supply input parent1_yak = parent1_yak (reason 1 of 1): Cannot coerce expression of type 'Array[File?]' to 'File'


Created project section

There are some problems on some tablets, and mobile problems with the text

Here are both cards for comparison.
- We are missing Во Изработка tag both on desktops and mobile
- Ux/UI Front-end plus the section below with the people should not be displayed on mobile
- These tags have bigger height and width and should have a background color
Please compare your version with the Figma file and make the changes https://www.figma.com/design/YLlXQlNrfYbBLOyOoIiEp3/learnhub?node-id=2723-11614&t=ejvsuI5mAm7URJdl-0
@Jasminamih

Change color of description text(it is a greyish color)
We are missing +3 on the people section (the icons with the people)
Check the Tags spelling and change to: UX/UI
In the Tags section we need to add +3 on all cards. Also +3 should be centrally aligned.
@Jasminamih


Lower log level from warning to info when no minification enabled

Fixes #185

Codecov Report

Merging #198 (71fe997) into develop (c73e325) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             develop     #198   +/-   ##
==========================================
  Coverage      86.25%   86.25%
  Complexity       178      178
==========================================
  Files             21       21
  Lines            582      582
  Branches          76       76
==========================================
  Hits             502      502
  Misses            53       53
  Partials          27       27

Files
Coverage Δ

...com/datadog/gradle/plugin/DdAndroidGradlePlugin.kt
75.21% <100.00%> (ø)


[FEATURE] Use body schema for formdata

Is your feature request related to a problem? Please describe.
I would like to use a schema as in https://fastapi.tiangolo.com/tutorial/body-schema/ for requests which contain formdata.
Describe the solution you'd like
A. Ideally, there is no difference between Form(..) and Body(..) and Form(..) gets removed. Both will take data from the request body. The only difference is the type of body it is. But that is something you can (should?) derive from the content-type header over here: https://github.com/tiangolo/fastapi/blob/580cf8f4e2aac3d4f298fbb3ca1426f9ea6265de/fastapi/routing.py#L88
Using json as default is fine. But decoding the body as json when the request has Content-Type: multipart/form-data almost sounds like a bug.
Parsing the body in the right way is the only thing standing in the way of this feature to work. (tested with normal fields, I didn't tests files yet)
B. Instead of removing the Form(..) this line: https://github.com/tiangolo/fastapi/blob/580cf8f4e2aac3d4f298fbb3ca1426f9ea6265de/fastapi/routing.py#L82
Could be changed to check on a new BodyModel class which would be a class extending pydantic's BaseModel, only serving as marker class to do this isinstance check.
Then you can check on this instance to declare is_body_form as True.
C. You could define content-types and accept types on the routes, and use those (new) parameters to decide on how to decode the request body. However, since there is no routing based on content-type or accept in starlette either (I think) this would be more difficult because it would create expectations that if i declare my route with content-type json, there would be no routing when i send a HTTP call with something else -- Nonetheless it would be cool that you can have different routes based on these 2 headers, and not only by URL, but now we're technically going into another (difficult) feature request I think..
Describe alternatives you've considered
The only possible alternative is to declare multiple Form(..) parameters on all routes that deal with form data.
Additional context
None

There is no standard way to encode/decode Form data.
It's not something in FastAPI, but in the web standards, browsers, etc.
So there wouldn't be a way to define a model to receive form data like that... but...
Now, if what you want to do is avoid having to declare several common Form()s in multiple path operations that all require the same form fields, and you want to be able to receive a single Pydantic model in your path operations that contain all those form fields (as Pydantic fields in a model), you can put those common Form()s in a dependency, and create the Pydantic model inside the dependency using them, and then require that dependency in each of those path operations, declaring the type as your custom Pydantic model.

Hey, long time no reply. But thanks for your answer. I can confirm, the following works as expected
async def login_form(username: str = Form(...), password: str = Form(...)):
    return LoginForm(username=username, password=password)

@router.post('/login', response_model=Token, tags=['login'])
async def login(
    db: Session = Depends(get_db),
    login_data: LoginForm = Depends(login_form)
):
    ....

And it's currently enough to satisfy my needs.

Awesome!
BTW, you could also do:
from fastapi import FastAPI, Form, Depends

class LoginForm:
    def __init__(self, username: str = Form(...), password: str = Form(...)):
        self.username = username
        self.password = password

app = FastAPI()

@app.post("/login")
async def login(login_data: LoginForm = Depends()):
    return {"data": login_data}

In fact, that's more or less what fastapi.security.OAuth2PasswordRequestForm do: https://fastapi.tiangolo.com/tutorial/security/simple-oauth2/#code-to-get-the-username-and-password


bugfix(main): fix test coverage panic permission denied in darwin/arm64

Ⅰ. Describe what this PR did
the issue has been resolved in the latest version of the gomonkey repo.
Ⅱ. Does this pull request fix one issue?

fixes #539
refer to  agiledragon/gomonkey#142
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
exec 'make go.test.coverage' on darwin/arm64.
Ⅴ. Special notes for reviews

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


Add link to readme

We'd like to categorize the packages in USGS-R. See the following link for more information:
https://owi.usgs.gov/R/packages.html
I'd recommend this package as "Research". When you decide what you think this package could be, you could add a badge to your readme:

If you wanted to include a link or note in your package startup message, we added that to some packages too. For example:
https://github.com/USGS-R/smwrQW/blob/master/R/smwrQW-package.R#L29

Closed in #149


I have a question

LogAnomaly is unsupervised,but LogAnomaly is supervised in your readme.md.

Indeed. Thanks for pointing it out!


(Bug) Scroll view responsive pages

This PR closes #165855167, by:

Adding ScrollView to render correctly the pages in multiple devices and orientations

Extra:
Changes done over

Claim

Dashboard

Sign up

Test using portrait and landscape orientation

@kbardi made a few changes, now views look ok. buttons are fixed to the bottom and updated snapshots.
This is useful to close #165851880

@kbardi Seems like this component needs change styles depending on orientation and not all the others: src/components/auth/Auth.js
Is that correct? What makes this Auth component different?

It is adding by default a huge padding  so in landscape was necessary to scroll but it shouldn't be necessary, so I change padding depending on landscape or portrait


[BACKEND] Transformed TritonGPUToLLVMPass to TritonGPUToLLVM in amd backend

Changes:

Extracted SPMD, Print, ControlFlow patterns to separate files
Deleted TritonGPUToLLVM
Renamed TritonGPUToLLVMPass to TritonGPUToLLVM
Extracted Print, ControlFlow, and GetProgramId, FuncOp patterns to common lib

Running amd backend tests link

Renamed targetInfo.llGetPid() to targetInfo.programId()
Moved back PrintOp pattern to nvidia's backend, deleted conversion from amd backend as it's currently not supported


Syntax highlighting fails after line 245

Syntax highlighting fails after line 245. Issue occurs mid-datastructure, works fine when I drop the next string to the next line

My apologies, column 245.

@jikanter can you paste that line here. It would help with the repro :rose:

I did a quick test and it worked fine :

Note that grammar has been behaving weird since atom 1.0.16. Details here : https://github.com/TypeStrong/atom-typescript/issues/611 so this might be because of that
But do provide the line for record / testing :rose:

will do, here is the line
'input': [GlobalAttributes.concat('accept', 'alt', 'autocomplete', 'autofocus', 'checked', 'dirname', 'disabled', 'form', 'formaction', 'formenctype', 'formmethod', 'formnovalidate', 'formtarget', 'height', 'list', 'max', 'maxlength', 'min', 'minlength', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'src', 'step', 'type', 'value', 'width')],

Thanks!

Error exists in language-grammar as well so created an issue there to get more (smarter) :eyes: https://github.com/atom/language-javascript/issues/229

Hoping for an upstream fix :+1:

Its an atom limitation at the moment, only :100: tokens allowed per line. Subscribe here for details : https://github.com/atom/atom/issues/1667
:cry:


strconv: inaccurate string to float64 conversion ParseFloat

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

$ go version
version go1.13 linux/amd64

Does this issue reproduce with the latest release?
Not sure. But https://play.golang.org/p/izkaZ-XBog5 reproduces the bug.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

What did you do?
Here's the code: https://play.golang.org/p/izkaZ-XBog5
I'm converting string "1090544144181609348835077142190" to float64 with strconv.ParseFloat("1090544144181609348835077142190", 64) and it returns incorrect value.
What did you expect to see?
It is expected that<PHONE_NUMBER>181609419040633126912 should be returned as the closest value representable by float64. The difference between string value and correct float64 value is -70205555984722 (see https://www.wolframalpha.com/input/?i=1090544144181609348835077142190-1090544144181609419040633126912)
What did you see instead?
strconv.ParseFloat(...) actually returns<PHONE_NUMBER>181609278303144771584. The difference between string value and returned float64 value is<PHONE_NUMBER>0606 (see https://www.wolframalpha.com/input/?i=1090544144181609348835077142190-1090544144181609278303144771584)
Additional info
Go compiler correctly converts float64 literals to float64 constants, as you can see in Playground example https://play.golang.org/p/izkaZ-XBog5

This has been like this forever. Removing release-blocker label.

We didn’t cover much progress on the related CL unfortunately because folks were swamped. I shall move this to the Unplanned milestone given that the parallel issue is in the Unplanned milestone too.

@nigeltao Given your recent work, is this still an issue?

This is still an issue as of 1.15.3. I'm still losing precision. I have a float string of -0.63571428571428568 and it's getting truncated to -0.6357142857142857, losing 1428568.

Hey Joshua, Go1.15.3 doesn’t have Nigel’s work based off Daniel’s
algorithm, aka it hasn’t yet been officially released. However if you write
a playground repro, I can help you run it with go tip aka what’s going to
become Go1.16, or you can git clone the Go source tree and run it locally
too.
On Fri, Oct 23, 2020 at 11:20 AM Joshua Strobl<EMAIL_ADDRESS>wrote:

This is still an issue as of 1.15.3. I'm still losing precision. I have a
float string of -0.63571428571428568 and it's getting truncated to
-0.6357142857142857, losing 1428568.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/36657#issuecomment-715500833, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFL3V2YI6IU2WX7NJH4MMLSMHCNXANCNFSM4KJGWUDQ
.

The reproducer in the first post still prints
1.0905441441816094e+30 is not equal to 1.0905441441816093e+30
expected: 0x462b8779f2474dfb<PHONE_NUMBER>739579p+47<PHONE_NUMBER>181609419040633126912.000000000
actual  : 0x462b8779f2474dfa<PHONE_NUMBER>739578p+47<PHONE_NUMBER>181609278303144771584.000000000

at tip, so no, this is still an issue.

Right because the input string has many more than 17 digits. I was being hopeful.

IIRC, CL 170078 (implement Ryū-like algorithm for atof) did address this issue, but it was abandoned in favor of CL 260858 (use the Eisel-Lemire ParseFloat algorithm).

I have basically ported the Go code more or less as-is to C++ from @nigeltao's own C port... and I don't have this issue. See https://github.com/lemire/fast_float/pull/6
The code follows the same logic, so it ought to be work. I mean... there is no big conceptual gap.

Ok. So the problem goes away entirely if you comment out this third fast path in atof.go...

		// Try another fast path.
		/*ext := new(extFloat)
		if ok := ext.AssignDecimal(mantissa, exp, neg, trunc, &float64info); ok {

			b, ovf := ext.floatBits(&float64info)
			f = math.Float64frombits(b)
			if ovf {
				err = rangeError(fnParseFloat, s)
			}
			return f, n, err
		}*/

Looking at ext.AssignDecimal, it says...
	// Errors (in the "numerical approximation" sense, not the "Go's error
	// type" sense) in this function are measured as multiples of 1/8 of a ULP,
	// so that "1/2 of a ULP" can be represented in integer arithmetic.
	//
	// The C++ double-conversion library also uses this 8x scaling factor:
	// https://github.com/google/double-conversion/blob/f4cb2384/double-conversion/strtod.cc#L291
	// but this Go implementation has a bug, where it forgets to scale other
	// calculations (further below in this function) by the same number. The
	// C++ implementation does not forget:
	// https://github.com/google/double-conversion/blob/f4cb2384/double-conversion/strtod.cc#L366
	//
	// Scaling the "errors" in the "is mant_extra in the range (halfway ±
	// errors)" check, but not scaling the other values, means that we return
	// ok=false (and fall back to a slower atof code path) more often than we
	// could. This affects performance but not correctness.

The part where it says we return ok=false (and fall back to a slower atof code path) more often than we could. This affects performance but not correctness might be incorrect, as illustrated by the example<PHONE_NUMBER>181609348835077142190). In that case, it appears to me that double-conversion does reject the fast path but not the Go code?
Maybe it is helpful to have some perspective. Prior to the recent changes made by @nigeltao, this third fast path was the second fast path. I would argue that it was absolutely needed.
Now you have effectively three fast paths followed by a fallback.
The first and second fast paths will catch nearly everything in the real world. Like 99% of anything that has no more than 19 digits.
So what the third fallback does is protect against the fallback. But that may not be useful:

Nobody that cares about performance will generate floats with more than 19 digits of accuracy (mantissa). It is an awkward thing to do in the best of times.
People who do throw long mantissa at the parser, would probably prefer to get correct rounding given a choice. That is, they are probably not in the business of ingesting large CSV filed filled with 100 digit numbers. That's really an edge case.
Having more layers can sometimes make things worse. It certainly increases the surface area for maintenance.
The fallback is not that slow. I have not benchmarked the  Go version, but the direct C++ port runs at an acceptable speed. You may be rightfully concerned with denial of service attacks where someone throws numbers with very long strings at you... but that's not an effective attack... in fact, beyond a certain point, the parsing speeds goes up. My C++ port of the fallback runs at 2 GB/s for streams of long numbers.

I think point 4 is maybe key. Assuming that the fallback is "fast enough", and assuming that it is correct (my port of it sure appears correct), then when not go to it directly?

Ok. So the problem goes away entirely if you comment out this third fast path in atof.go...

Coincidentally, that's what https://golang.org/cl/264518 does, which I sent out yesterday.

Thank you for the change and foresight @nigeltao! Thank you @lemire for the rationale in  https://github.com/golang/go/issues/36657#issuecomment-715582926 and also for the algorithms!
@lemire, it would be a delight to have you as a Go contributor/reviewer, and Nigel's CL could use the rationale you gave for points 1 and 4 in his commit message, but would be nice if you could post those up and reflect in the record, and have you also approve that change :)
@nigeltao please take a look at @lemire's rationale in the various points and perhaps also include that reasoning that he raised in those points.

@lemire said:

Nobody that cares about performance will generate floats with more than 19 digits of accuracy (mantissa). It is an awkward thing to do in the best of times.

OTOH, separately on https://go-review.googlesource.com/c/go/+/264518/3#message-7fda4a76b2d909bb21794b84f9c3d30f4730adb5 @remyoudompheng said:

It's not for malicious inputs. It's for inputs which are too long. In my environment I have old apps which produce non-shortest floats and they are a pain.

In the same thread, @remyoudompheng also mentions that https://golang.org/cl/264677 should help with the more-than-19-digits case.

concerned with denial of service attacks where someone throws numbers with very long strings at you

In any case, if it's through a JSON API, there might be more worrisome DoS attacks where decoding lots of empty JSON arrays or JSON objects might be more expensive (due to mallocs and garbage collection) than decoding long JSON numbers.

Always happy to help.
@nigeltao I think https://golang.org/cl/264677 is what I had in mind in an independently sent private message. As I also privately communicated, we could tighten further the second fast path if we wanted to catch even more cases (e.g., subnormals and round-to-even cases) but it is only worth doing if too many fall through.


Polish dim unfocused settings and remove element when not used

This is a follow up to the discussion at https://github.com/microsoft/vscode/issues/30522#issuecomment-1681231319. The accessibility.unfocusedViewOpacity setting has been split into workbench.view.dimUnfocused.enabled and workbench.view.dimUnfocused.opacity. They remain implemented in the accessibility contrib and still include the accessibility tag so they can be accessed via @tag:accessibility.
The element is also removed when the enabled setting is false.
Fixes https://github.com/microsoft/vscode/issues/30522

@Tyriar not sure if I'm missing something but the old setting worked a few weeks ago but now that I try the new settings (and the old setting) with the latest insider it doesn't get recognized and I don't get any dim editors/terminals any longer. I can't find it in the settings UI either.

Aha, I found it in the "Remote WSL" settings, but it is not available in the "User" settings, not sure if this is intended behavior or a bug?

@SvanT thanks, that is a bug. No need for another issue, I'll fix it now


Add KernelCentering and NormalizeScaler classes for preprocessing

Hello! I reworked NormalizeCentering a bit, standard sklearn functions like get_params now work with it. I also added the functions of inverse_transform and fit_transform. I rewrote KernelCentering in a similar style; now it is styled in "sklearn style" and inherits from its classes. Any suggestions and comments would be welcome =).

Codecov Report

Merging #8 (a80513d) into main (e52f888) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main        #8   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines            1         1
=========================================
  Hits             1         1

Continue to review full report at Codecov.

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

maybe define scale_ variable as in sklearn and not 1/scale_?
compare
https://github.com/scikit-learn/scikit-learn/blob/0fb307bf3/sklearn/preprocessing/_data.py#L772
and
https://github.com/cosmo-epfl/sklearn-cosmo/pull/8/files#diff-763bc28b9b50623685d0b0e1042b6e3824529c049a7b2b897b0eb6460347e28fR41

when you add a test  for scalers and get import errors for sklearn, you have to go into the setup.cfg and add to the install_requires
install_requires =
    numpy
    sklearn

dont forget to delete your .tox directory so the changes are loaded

Yes, I agree with you. I changed this moment

@hurricane642 now that a documentation infrastructure has been merged into main, please add documentation to docs/source as a part of this PR, before we can merge it.

Yes, as we say it is more customizable compared to sklrean's StandardScaler. And it seems to me that such a name in the context of the already existing StandardScaler just says that there is the same functionality plus something else.


Establish principled framework for evaluation of Entity Standardization algorithms

Remove dependency of Entity Standardizer from .db version of the knowledge base, clearly define json based input formats
Expand and fix Entity Standardization dataset for training/testing algorithms (in json format)
Produce evaluation baselines on standard dataset

This can be closed.


/opt/mqm/samp/bin/amqsputc: error while loading shared libraries: libmqic_r.so: cannot open shared object file: No such file or directory

I created a mqadvanced-server image with Ubuntu and MQ <IP_ADDRESS>. The resulting container works find, but I cannot use "amqsputc" with it because the library "libmqic_r.so" is missing (it is not just a problem of LD_LIBRARY_PATH, it is really missing in the MQ directories). My best guess is that this issue occurs because the MQSeriesClient package was not selected when building the image. Could you please confirm?

Hi @patrick-marie - MQ <IP_ADDRESS> is no longer in support due to the Continous delivery support model that was in effect when 9.0.5 was released that stated we will support the latest 2 release. For reference the latest two releases are 9.1.0 and 9.1.1). The new support model that came into effect in 9.1 now says that we will support a CD release for a year or if 2 other releases are made (whichever is longer).
That said. Yes you are correct, if you've built an image of MQ which does not install the Client packages then you will not have the client libraries needed by MQ client applications to run. You can fix this by supplying the make argument MQ_PACKAGES  with the packages you want to install. The defaults are:

"MQSeriesRuntime-.rpm MQSeriesServer-.rpm MQSeriesJava*.rpm MQSeriesJRE*.rpm MQSeriesGSKit*.rpm MQSeriesMsg*.rpm MQSeriesSamples*.rpm MQSeriesAMS-.rpm MQSeriesWeb-.rpm" for ubuntu
"MQSeriesRuntime-.rpm MQSeriesServer-.rpm MQSeriesJava*.rpm MQSeriesJRE*.rpm MQSeriesGSKit*.rpm MQSeriesMsg*.rpm MQSeriesSamples*.rpm MQSeriesAMS-.rpm MQSeriesWeb-.rpm" for RHEL/Linux

Thanks for your answer.

Hi!
Found this issue here on Github, and thought it would be good to inform here.
I recently did and upgrade of fixpack IBM MQ 9.3 LTS <IP_ADDRESS> (from <IP_ADDRESS>)
And got the same error as above,  ( libmqic_r.so: cannot open shared object file: ((When trying to do strmqm)))
And would like to just shed light to the problem.
I am using IBM MQ 9.3 for Linux x 64.
And i have been opening a case to IBM also. (TS013070824)
Seems to be some ppl in the past who have gotten this same error but only a few. Never solved the issue.
Greetings Gordo 1337


Error about update_device_token() method

When call method update_device_token(deviceId), it return
Traceback (most recent call last):
  File "/home/samsung/guojia/ArtikAutoTest/ArtikCloudSDK/CloudSDK.py", line 121, in <module>
    deviceToken = d.updateDeviceToken(deviceid)
  File "/home/samsung/guojia/ArtikAutoTest/ArtikCloudSDK/CloudSDK.py", line 110, in updateDeviceToken
    api_response = api_instance.update_device_token(ddid)
  File "build/bdist.linux-x86_64/egg/artikcloud/apis/devices_api.py", line 813, in update_device_token
  File "build/bdist.linux-x86_64/egg/artikcloud/apis/devices_api.py", line 891, in update_device_token_with_http_info
  File "build/bdist.linux-x86_64/egg/artikcloud/api_client.py", line 334, in call_api
  File "build/bdist.linux-x86_64/egg/artikcloud/api_client.py", line 157, in __call_api
  File "build/bdist.linux-x86_64/egg/artikcloud/api_client.py", line 376, in request
  File "build/bdist.linux-x86_64/egg/artikcloud/rest.py", line 224, in PUT
  File "build/bdist.linux-x86_64/egg/artikcloud/rest.py", line 174, in request
UnboundLocalError: local variable 'r' referenced before assignment

I found in file devices_api.py update_device_token_with_http_info() method, the header is defined as 'text/plain', it shoud be "application/json" right?
        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.\
            select_header_content_type(['text/plain'])

internal ticket DX-928

Internal Reference: DX-928 -> ALFA-7936
@crazygj thank you providing the error stacktrace. This will be resolved in our next release.
Background:
Requires an upstream fix to our swagger definition which incorrectly marks endpoint as consuming a body and sets wrong content-type. Note that PUT /devices/:deviceId/tokens should only require a path parameter (ie: deviceId). This should be "None".
This will apply a downstream fix into our SDK during next build where "None" content-type will default to "application/json" implicitly in subsequent build/release:
— lines 137
(reference: https://github.com/artikcloud/artikcloud-python/blob/master/artikcloud/rest.py)
Details of error:
rest.py — No control handling for content-type "text/plain" for http method "PUT" (rest.py). This fails to initialize a variable "r" that is used by the generated code.
— lines 137-169
(reference: https://github.com/artikcloud/artikcloud-python/blob/master/artikcloud/rest.py)

For me Its working now after replacing  select_header_content_type(['text/plain']) with select_header_content_type(['application/x-www-form-urlencoded']) in file devices_api.py > [update_device_token_with_http_info()] > [# HTTP header Content-Type] at line number ~864.
Just curious to know if doing this is safe for now or what challenges or issues I might face later?

@jonathanpaek  please take a look. Thanks,


gRPC on Ubuntu for ARM, undefined reference to openssl

What version of gRPC and what language are you using?
gRPC v1.48.0 using c++
What operating system (Linux, Windows,...) and version?
Ubuntu 20.04 LTS for ARM
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc 9.4.0
What did you do?
Build and installed gRPC using:
cmake ../.. -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF -DgRPC_ABSL_PROVIDER=module -DgRPC_CARES_PROVIDER=module -DgRPC_PROTOBUF_PROVIDER=module -DgRPC_RE2_PROVIDER=module -DgRPC_SSL_PROVIDER=module -DgRPC_ZLIB_PROVIDER=module

After that tried to compile a c++ program hosting gRPC services.
What did you expect to see?
Expected a successful compile.
What did you see instead?
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `OPENSSL_free'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `sk_pop_free_ex'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `SSL_CTX_add_extra_chain_cert'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `SSL_CTX_set_session_cache_mode'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `SSL_CTX_set_tlsext_ticket_keys'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `sk_new_null'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `SSL_CTX_get_ex_new_index'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `EVP_DigestSignUpdate'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `SSL_CTX_set_tmp_ecdh'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `SSL_CTX_set_tlsext_servername_callback'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `EVP_MD_CTX_destroy'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `BIO_get_mem_data'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `sk_num'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `SSL_CTX_set_max_proto_version'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `sk_value'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `EVP_MD_CTX_create'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `BIO_pending'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `EVP_DigestVerifyUpdate'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `SSL_set_tlsext_host_name'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `SSL_CTX_set_min_proto_version'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `SSL_CTX_set_tlsext_servername_arg'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `BIO_get_mem_ptr'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `sk_push'
/usr/bin/ld: /usr/local/lib/libgrpc.so.26: undefined reference to `BIO_should_retry'

Anything else we should know about your project / environment?
Compiled with:
LIBS=-luuid -lgrpc++ -lprotobuf -lcrypto -lm -lmongocxx -lbsoncxx -lcurl -lpthread -labsl_synchronization

After much testing and debugging, I was able to compile a program using gRPC but had to build gRPC with:
-DgRPC_SSL_PROVIDER=package

Would you give us a full cmake log? It looks like it failed to build boringssl or cannot link it with gRPC. And did you run git submodule update --init before building it?

I've attached the exact commands I used to build and install gRPC. Also attached are all the logs generated during build.
Download and build with:
git clone -b v1.48.0 https://github.com/grpc/grpc
cd grpc
git submodule update --init
mkdir -p cmake/build
cd cmake/build
cmake ../.. -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF -DgRPC_ABSL_PROVIDER=module -DgRPC_CARES_PROVIDER=module -DgRPC_PROTOBUF_PROVIDER=module -DgRPC_RE2_PROVIDER=module -DgRPC_SSL_PROVIDER=module -DgRPC_ZLIB_PROVIDER=module
make
sudo make install

git submodule log:
Submodule 'third_party/abseil-cpp' (https://github.com/abseil/abseil-cpp.git) registered for path 'third_party/abseil-cpp'
Submodule 'third_party/benchmark' (https://github.com/google/benchmark) registered for path 'third_party/benchmark'
Submodule 'third_party/bloaty' (https://github.com/google/bloaty.git) registered for path 'third_party/bloaty'
Submodule 'third_party/boringssl-with-bazel' (https://github.com/google/boringssl.git) registered for path 'third_party/boringssl-with-bazel'
Submodule 'third_party/cares/cares' (https://github.com/c-ares/c-ares.git) registered for path 'third_party/cares/cares'
Submodule 'third_party/envoy-api' (https://github.com/envoyproxy/data-plane-api.git) registered for path 'third_party/envoy-api'
Submodule 'third_party/googleapis' (https://github.com/googleapis/googleapis.git) registered for path 'third_party/googleapis'
Submodule 'third_party/googletest' (https://github.com/google/googletest.git) registered for path 'third_party/googletest'
Submodule 'third_party/libuv' (https://github.com/libuv/libuv.git) registered for path 'third_party/libuv'
Submodule 'third_party/opencensus-proto' (https://github.com/census-instrumentation/opencensus-proto.git) registered for path 'third_party/opencensus-proto'
Submodule 'third_party/opentelemetry' (https://github.com/open-telemetry/opentelemetry-proto.git) registered for path 'third_party/opentelemetry'
Submodule 'third_party/protobuf' (https://github.com/protocolbuffers/protobuf.git) registered for path 'third_party/protobuf'
Submodule 'third_party/re2' (https://github.com/google/re2.git) registered for path 'third_party/re2'
Submodule 'third_party/xds' (https://github.com/cncf/xds.git) registered for path 'third_party/xds'
Submodule 'third_party/zlib' (https://github.com/madler/zlib) registered for path 'third_party/zlib'
Cloning into '/home/vm/grpc/third_party/abseil-cpp'...
Cloning into '/home/vm/grpc/third_party/benchmark'...
Cloning into '/home/vm/grpc/third_party/bloaty'...
Cloning into '/home/vm/grpc/third_party/boringssl-with-bazel'...
Cloning into '/home/vm/grpc/third_party/cares/cares'...
Cloning into '/home/vm/grpc/third_party/envoy-api'...
Cloning into '/home/vm/grpc/third_party/googleapis'...
Cloning into '/home/vm/grpc/third_party/googletest'...
Cloning into '/home/vm/grpc/third_party/libuv'...
Cloning into '/home/vm/grpc/third_party/opencensus-proto'...
Cloning into '/home/vm/grpc/third_party/opentelemetry'...
Cloning into '/home/vm/grpc/third_party/protobuf'...
Cloning into '/home/vm/grpc/third_party/re2'...
Cloning into '/home/vm/grpc/third_party/xds'...
Cloning into '/home/vm/grpc/third_party/zlib'...
Submodule path 'third_party/abseil-cpp': checked out '273292d1cfc0a94a65082ee350509af1d113344d'
Submodule path 'third_party/benchmark': checked out '0baacde3618ca617da95375e0af13ce1baadea47'
Submodule path 'third_party/bloaty': checked out '60209eb1ccc34d5deefb002d1b7f37545204f7f2'
Submodule path 'third_party/boringssl-with-bazel': checked out 'b9232f9e27e5668bc0414879dcdedb2a59ea75f2'
Submodule path 'third_party/cares/cares': checked out '6654436a307a5a686b008c1d4c93b0085da6e6d8'
Submodule path 'third_party/envoy-api': checked out '9c42588c956220b48eb3099d186487c2f04d32ec'
Submodule path 'third_party/googleapis': checked out '2f9af297c84c55c8b871ba4495e01ade42476c92'
Submodule path 'third_party/googletest': checked out '0e402173c97aea7a00749e825b194bfede4f2e45'
Submodule path 'third_party/libuv': checked out '02a9e1be252b623ee032a3137c0b0c94afbe6809'
Submodule path 'third_party/opencensus-proto': checked out '4aa53e15cbf1a47bc9087e6cfdca214c1eea4e89'
Submodule path 'third_party/opentelemetry': checked out '60fa8754d890b5c55949a8c68dcfd7ab5c2395df'
Submodule path 'third_party/protobuf': checked out '22d0e265de7d2b3d2e9a00d071313502e7d4cccf'
Submodule path 'third_party/re2': checked out '8e08f47b11b413302749c0d8b17a1c94777495d5'
Submodule path 'third_party/xds': checked out 'cb28da3451f158a947dfc45090fe92b07b243bc1'
Submodule path 'third_party/zlib': checked out '21767c654d31d2dccdde4330529775c6c5fd5389'

cmake log:
cmake ../.. -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF -DgRPC_ABSL_PROVIDER=module -DgRPC_CARES_PROVIDER=module -DgRPC_PROTOBUF_PROVIDER=module -DgRPC_RE2_PROVIDER=module -DgRPC_SSL_PROVIDER=module -DgRPC_ZLIB_PROVIDER=module
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
CMake Warning at third_party/abseil-cpp/CMakeLists.txt:70 (message):
  A future Abseil release will default ABSL_PROPAGATE_CXX_STD to ON for CMake
  3.8 and up.  We recommend enabling this option to ensure your project still
  builds correctly.

-- Looking for res_servicename
-- Looking for res_servicename - not found
-- Looking for res_servicename in resolv
-- Looking for res_servicename in resolv - not found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for socket
-- Looking for socket - found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for include file sys/types.h
-- Looking for include file sys/types.h - found
-- Looking for include file sys/socket.h
-- Looking for include file sys/socket.h - found
-- Looking for include file arpa/inet.h
-- Looking for include file arpa/inet.h - found
-- Looking for include file arpa/nameser_compat.h
-- Looking for include file arpa/nameser_compat.h - found
-- Looking for include file arpa/nameser.h
-- Looking for include file arpa/nameser.h - found
-- Looking for include file assert.h
-- Looking for include file assert.h - found
-- Looking for include file errno.h
-- Looking for include file errno.h - found
-- Looking for include file fcntl.h
-- Looking for include file fcntl.h - found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file limits.h
-- Looking for include file limits.h - found
-- Looking for include file malloc.h
-- Looking for include file malloc.h - found
-- Looking for include file memory.h
-- Looking for include file memory.h - found
-- Looking for include file netdb.h
-- Looking for include file netdb.h - found
-- Looking for include file netinet/in.h
-- Looking for include file netinet/in.h - found
-- Looking for include file net/if.h
-- Looking for include file net/if.h - found
-- Looking for include file signal.h
-- Looking for include file signal.h - found
-- Looking for include file socket.h
-- Looking for include file socket.h - not found
-- Looking for include file stdbool.h
-- Looking for include file stdbool.h - found
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Looking for include file stdlib.h
-- Looking for include file stdlib.h - found
-- Looking for include file strings.h
-- Looking for include file strings.h - found
-- Looking for include file string.h
-- Looking for include file string.h - found
-- Looking for include file stropts.h
-- Looking for include file stropts.h - not found
-- Looking for include file sys/ioctl.h
-- Looking for include file sys/ioctl.h - found
-- Looking for include file sys/param.h
-- Looking for include file sys/param.h - found
-- Looking for include file sys/select.h
-- Looking for include file sys/select.h - found
-- Looking for include file sys/stat.h
-- Looking for include file sys/stat.h - found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - found
-- Looking for include file sys/uio.h
-- Looking for include file sys/uio.h - found
-- Looking for include file time.h
-- Looking for include file time.h - found
-- Looking for include file dlfcn.h
-- Looking for include file dlfcn.h - found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for include files sys/types.h, netinet/tcp.h
-- Looking for include files sys/types.h, netinet/tcp.h - found
-- Looking for include files winsock2.h, windows.h
-- Looking for include files winsock2.h, windows.h - not found
-- Looking for 3 include files winsock2.h, ..., windows.h
-- Looking for 3 include files winsock2.h, ..., windows.h - not found
-- Looking for include files winsock.h, windows.h
-- Looking for include files winsock.h, windows.h - not found
-- Looking for include file windows.h
-- Looking for include file windows.h - not found
-- Performing Test HAVE_SOCKLEN_T
-- Performing Test HAVE_SOCKLEN_T - Success
-- Performing Test HAVE_TYPE_SOCKET
-- Performing Test HAVE_TYPE_SOCKET - Failed
-- Performing Test HAVE_BOOL_T
-- Performing Test HAVE_BOOL_T - Success
-- Performing Test HAVE_SSIZE_T
-- Performing Test HAVE_SSIZE_T - Success
-- Performing Test HAVE_LONGLONG
-- Performing Test HAVE_LONGLONG - Success
-- Performing Test HAVE_SIG_ATOMIC_T
-- Performing Test HAVE_SIG_ATOMIC_T - Success
-- Performing Test HAVE_STRUCT_ADDRINFO
-- Performing Test HAVE_STRUCT_ADDRINFO - Success
-- Performing Test HAVE_STRUCT_IN6_ADDR
-- Performing Test HAVE_STRUCT_IN6_ADDR - Success
-- Performing Test HAVE_STRUCT_SOCKADDR_IN6
-- Performing Test HAVE_STRUCT_SOCKADDR_IN6 - Success
-- Performing Test HAVE_STRUCT_SOCKADDR_STORAGE
-- Performing Test HAVE_STRUCT_SOCKADDR_STORAGE - Success
-- Performing Test HAVE_STRUCT_TIMEVAL
-- Performing Test HAVE_STRUCT_TIMEVAL - Success
-- Looking for AF_INET6
-- Looking for AF_INET6 - found
-- Looking for O_NONBLOCK
-- Looking for O_NONBLOCK - found
-- Looking for FIONBIO
-- Looking for FIONBIO - found
-- Looking for SIOCGIFADDR
-- Looking for SIOCGIFADDR - found
-- Looking for MSG_NOSIGNAL
-- Looking for MSG_NOSIGNAL - found
-- Looking for PF_INET6
-- Looking for PF_INET6 - found
-- Looking for SO_NONBLOCK
-- Looking for SO_NONBLOCK - not found
-- Looking for CLOCK_MONOTONIC
-- Looking for CLOCK_MONOTONIC - found
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success
-- Performing Test HAVE_LL
-- Performing Test HAVE_LL - Success
-- Looking for bitncmp
-- Looking for bitncmp - not found
-- Looking for closesocket
-- Looking for closesocket - not found
-- Looking for CloseSocket
-- Looking for CloseSocket - not found
-- Looking for connect
-- Looking for connect - found
-- Looking for fcntl
-- Looking for fcntl - found
-- Looking for freeaddrinfo
-- Looking for freeaddrinfo - found
-- Looking for getaddrinfo
-- Looking for getaddrinfo - found
-- Looking for getenv
-- Looking for getenv - found
-- Looking for gethostbyaddr
-- Looking for gethostbyaddr - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for gethostname
-- Looking for gethostname - found
-- Looking for getnameinfo
-- Looking for getnameinfo - found
-- Looking for getservbyport_r
-- Looking for getservbyport_r - found
-- Looking for getservbyname_r
-- Looking for getservbyname_r - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for if_indextoname
-- Looking for if_indextoname - found
-- Looking for inet_net_pton
-- Looking for inet_net_pton - not found
-- Looking for inet_ntop
-- Looking for inet_ntop - found
-- Looking for inet_pton
-- Looking for inet_pton - found
-- Looking for ioctl
-- Looking for ioctl - found
-- Looking for ioctlsocket
-- Looking for ioctlsocket - not found
-- Looking for IoctlSocket
-- Looking for IoctlSocket - not found
-- Looking for recv
-- Looking for recv - found
-- Looking for recvfrom
-- Looking for recvfrom - found
-- Looking for send
-- Looking for send - found
-- Looking for setsockopt
-- Looking for setsockopt - found
-- Looking for socket
-- Looking for socket - found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for strcmpi
-- Looking for strcmpi - not found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for stricmp
-- Looking for stricmp - not found
-- Looking for strncasecmp
-- Looking for strncasecmp - found
-- Looking for strncmpi
-- Looking for strncmpi - not found
-- Looking for strnicmp
-- Looking for strnicmp - not found
-- Looking for writev
-- Looking for writev - found
-- Looking for __system_property_get
-- Looking for __system_property_get - not found
--
-- <IP_ADDRESS>
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS - Success
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - done
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Renaming
--     /home/vm/grpc/third_party/zlib/zconf.h
-- to 'zconf.h.included' because this file is included with zlib
-- but CMake generates it automatically in the build directory.
 Thanks!

@zhouguanxing
The problem was solved by using the system provided SSL library.
First I installed:
sudo apt install -y libssl-dev

then compiled gRPC with following flag:
-DgRPC_SSL_PROVIDER=package

and finally add following link to g++:
-lcrypto


When to use C2ErrorProtect and ReadErrorProtect?

Version
x86, AnsiBuild, 20211001T112852
Describe the bug
I have a disc with a huge file cd.idx which seems to include all other file data on the disc as well. Within the LBA of this file, there are 40000 ones where the program says "[ERROR] Number of sector(s) where user data doesn't match the expected ECC/EDC: 40000".
Should such a file placed in the C2ErrorProtect or the ReadErrorProtect list? ProtectionID wasn't able to find any copy protection.
Screenshots

http://forum.redump.org/post/96363/#p96363
It's a specification.

So technically the dump is still fine then? I mean the c2Error file states "No unintentional C2 errors" though for mpf in the submission file it states "Error Count: 40000"
Looking at the dump from the PX-W4012A the _disc file says
Detected a protected file [CD.IDX]. LBA 88 to 327768
Detected a protected file [CD.IDX]. LBA 88 to 327768
Set OpCode: 0xd8, SubCode: 8(Raw)
========== TOC with pregap ==========
	Track  1, Ctl 4, Mode 1, Index0   -150, Index1      0
	Track  2, Ctl 0, Mode 0, Index0 344528, Index1 344678
	Track  3, Ctl 4, Mode 1, Index0 345278, Index1 345503
	Track  1 Data Sector:      0 - 344527 (0000000 - 0x541cf)
	Track  3 Data Sector: 345278 - 346676 (0x544be - 0x54a34)```

It's correct cd.idx has some protected sectors but I’m not sure your dumped file is fine. If you are redump.org user, please contact Jackal.


Getting InvalidHexString(InvalidStringLength) while calling Extrinsic

While running follwing code:-
let xt: UncheckedExtrinsicV4<_, _> = compose_extrinsic!(
                        self.api.clone(),
                        "DEMO",
                        "submit_sp",
                        signature
                    );
                    // send and watch extrinsic until InBlock
let tx_hash = self
                  .api
                  .send_extrinsic(xt.hex_encode(), XtStatus::InBlock);

This is what I am getting in error :-
InvalidHexString(InvalidStringLength)
Not sure why it is failing. Can I somehow get the reason for failure?

Did you try to set the log output to debug / trace in the api client? E.g. export RUST_LOG=error,substrate_api_client::rpc::client=debug
Might be related to https://github.com/scs/substrate-api-client/issues/157

Thanks, @haerdib. Found the issue.


Update to 6.6.1

@conda-forge-admin please rerender

we may need to rebuild it with openssl 3.1 instead of 3.2

thanks a lot

@conda-forge-admin please rerender

Thanks!!!!
are you using Wayland now?

no, not from conda


Delete Repository in Drone DB

Implement the deletion of a Repository in Drone. Also remove the Webhook and the deploy key from the remote vcs. Gitlab is implemented/tested, github untested. Bitbucket and gogs are empty.

Added my notes. @Bugagazavr would you be able to share your thoughts on improving this REST endpoint to better conform to principles?

i think wee need to separate deactivation ( PATCH )  and removing method ( DELETE )

Please note that the semantic of the REST-API now changed. In the current master the DELETE /api/repos/:host/:owner/:name only deactivated it, now it really deletes the repository. I don't know if any systems are currently calling this endpoint.

@Bugagazavr I think we need to be a bit more explicit with the API endpoint. The PATCH endpoint, doesn't really convey the purpose of the endpoint. It is not just updating fields, it is suspending all further builds for your repository. This feels like it should be a bit more explicit.
I researched this a bit and found many REST APIs (Google, Digital Ocean, Stripe, etc) put actions in the URL. I wasn't really a fan of this approach, but after further consideration, I think the fact that it is self-documenting is pretty important. For example:
POST https://api.stripe.com/v1/charges/{CHARGE_ID}/dispute/close

So perhaps we do this instead:
POST /api/repos/{host}/{owner}/{name}/deactivate

I would vote for @bradrydzewski proposal with the POST ..../deactivate call. It is more intuitiv than a PATCH.

maybe?
POST /api/repos/{host}/{owner}/{name}/activate
DELETE /api/repos/{host}/{owner}/{name}/deactivate

hm,
in this case we would have
POST /api/repos/{host}/{owner}/{name}/activate
DELETE /api/repos/{host}/{owner}/{name}/deactivate
DELETE /api/repos/{host}/{owner}/{name}

but the
DELETE /api/repos/{host}/{owner}/{name}/deactivate

does not deletey anything, it only deactivates. so the DELETE is a little misleading.

and GET /api/repos/{host}/{owner}/{name} is getting new field to show if activated or not? Or how do you want to query the active status?
I would like to have a common verb, not to. For example enabled and denn POST and DELETE or something like that.

I think the current GET returns a JSON struct with the Active field.

Iet's modify this PR to the following:
POST /api/repos/{host}/{owner}/{name}/deactivate
DELETE /api/repos/{host}/{owner}/{name}

we could also modify the activation endpoint (below) however, depending on #776 it may not be necessary.
POST /api/repos/{host}/{owner}/{name}/activate

ok, i changed the deactivate endpoint to POST and i changed it to return the repo-data as json, because it is some sort of "update" so i think it would be great to return the new data to the client. the activation endpoint is unchanged.
i will do a PR on the docs-repo to reflect this changes.

ok, no using standard log package. there was an error too when formatting the error message. i use the prfix [ERROR] so if you like you can use hashicorp logutils which is a simple but great tool around the default log package.

Thanks! I definitely like the idea of outputting log levels and using a more sophisticated logging package, and will play around with the hashicorp implementation. I've also been looking at logrus due to its support for custom log formatters.
Note: one minor change required to client/repos.go to change from PATCH to POST and update path to /deactive as well :)

merged. thanks for your patience! :)


Change "port status" to "port settings" and make "port set" more explicit

Codecov Report

Merging #41 (2ff7de3) into main (46a1634) will not change coverage.
The diff coverage is 15.00%.

@@           Coverage Diff           @@
##             main      #41   +/-   ##
=======================================
  Coverage   41.49%   41.49%
=======================================
  Files          16       16
  Lines         858      858
=======================================
  Hits          356      356
  Misses        492      492
  Partials       10       10

Impacted Files
Coverage Δ

port_settings.go
32.14% <0.00%> (ø)

port_set.go
36.22% <33.33%> (ø)

poe_settings.go
70.88% <100.00%> (ø)

poe_status.go
74.15% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Refactor "endpoint address" parsing code into shared package.

This change factors out the "endpoint address" parsing code from the internal/upstreamldap package and pulls it into a new shared package internal/endpointaddr. The new code does not handle all inputs exactly the same as the previous code, because IPv6 zone index support is tricky in other use cases from #626.
The supported input formats are shown as examples in the new unit test. In summary, they are:

<hostname>        (DNS hostname)
<IPv4>            (IPv4 address)
<IPv6>            (IPv6 address)
<hostname>:<port> (DNS hostname with port)
<IPv4>:<port>     (IPv4 address with port)
[<IPv6>]:<port>   (IPv6 address with port, brackets are required)

For example, these are valid inputs:

<IP_ADDRESS> (plain IPv4)
<IP_ADDRESS>:8443 (IPv4 with port)
[<IP_ADDRESS>]:8443 (IPv4 in brackets with port)
[::<IP_ADDRESS>]:8443 (IPv4 as IPv6 in brackets with port)
::<IP_ADDRESS> (IPv4 as IPv6 without port)
2001:db8::ffff (plain IPv6 without port)
[2001:db8::ffff]:8443 (IPv6 with port)
host.example.com (plain hostname)
host-dev.example.com (plain hostname with dash)
host.example.com:8443 (hostname with port)
[host.example.com]:8443 (hostname in brackets with port)

These inputs are considered invalid:

  (invalid empty string)
[2001:db8::ffff%lo0]:8443 (IPv6 with port and zone index)
[2001:db8::ffff] (IPv6 in brackets without port)
https://host.example.com (invalid HTTPS URL)
host.example.com/some/path (invalid host with URL path)
[host.example.com (invalid host with mismatched brackets)
___.example.com:1234 (invalid host with underscores)
HOST.EXAMPLE.COM (invalid host with uppercase)
host.example.com:port1:port2 (invalid host with extra port)

The result is now returned as a HostPort struct with an Endpoint() string method. Keeping the input parsed makes it easier to work with in subsequent operations.
Release note:
NONE

@mattmoyer Couple questions:

HOST.EXAMPLE.COM (invalid host with uppercase)

I believe hostnames must be treated as case-insensitive, but not necessarily lower case, so this should be valid, right?

[2001:db8::ffff] (IPv6 in brackets without port)

Isn't that valid? I think it would be valid if it were used in a URL or browser URL bar, but I'm certainly not an IPv6 expert. :)

[<IP_ADDRESS>]:8443 (IPv4 in brackets with port)
[host.example.com]:8443 (hostname in brackets with port)

These are not an IPv6 IP addresses, so shouldn't wrapping them in square brackets be invalid? Or is this allowed nowadays?


[Request] Support for LockGlyphX

When i choose in the LS the icon on the bottom, it overlap with LockGlyphX Touch ID icon. Tried enabling resizing notification area, and manipulating the vertical adjustment bottom but no avail.
Thanks for your great effort.

@solly84 it seems that alpha 5 broke a good number of the features that were available in alpha 4, I should have done more thorough testing prior to releasing alpha 5. Alpha 6 is going to consist of nothing but bug fixes and 'notification positioning' will be one of them.

@solly84 this should be fixed now, I don't own LockGlyphX, but I did rework the vertical adjustment a bit and its working again. I'll leave this open until it's been tested with LockGlyphX.


Some nan functions don't exist for certain versions of NumPy

The following functions nanmean, nanstd, nanvar are not defined until NumPy 1.8.0. It would be nice if they weren't explicitly required.

Yes, we should probably guard these as we guard nanprod

That seems perfectly reasonable. I started doing that, but I think they were being imported dask/array/__init__.py#3f5e6e69137be3b4ffffc7cc3390d19d6c6b73e5. Is it ok if this is eliminated? I noticed that you were just using nansum. So, I figured it would be fine to have your functions and skip the wrappings, which I did here ( https://github.com/jakirkham/dask/tree/numpy_1_7_support ). However, I ran into another surprise, which is nansum does not supply the keepdims argument. So, whatever solution is settled upon should probably have a workaround for keepdims, as well.

They should probably be imported in __init__.py if they are available.  Not sure on the least ugly way to do this (maybe __all__ in reductions.py?).
Skipping just the wrappings sounds great.
Arg, not supporting keepdims is a pain.   At the moment I don't see a clear way around this other than by fundamentally changing how we do reductions.  This might require some cleverness but is probably possible.  Thoughts?

Using __all__ seems reasonable.
Good to hear.
As for the last bit, I think this should be doable. I tried adding a wrapper function called keepdims_wrapper, which appears to work ( https://github.com/jakirkham/dask/commit/ab777ff94c8240ba6090eb238dcc1cd3ccde6360 ). It could be applied at the reduction stage (as done in the commit), which guarantees that all functions used have keepdims of some sort. Alternatively, it could be applied earlier when wrapping all the numpy functions, which would reduce the performance hit of doing the actual wrapping and inspection.

Nevermind, it appears following the last case is required.


Upgraded

I couldn't get this to compile using IntelliJ and JDK 22.0.1
Apparently lombok needed to be updated.
Then I kept getting UnrecognizedPropertyException errors regarding the medium tag. I added it as a String Type to the Podcast.java file. It seems to work.
The getPodcastsByMedium and GetPodcastsByTag test still fail with
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "inPollingQueue" (class com.github.yusufyilmazfr.podcast4j.entity.Podcast)
I suspect a similar fix may correct their issues
Thank you for making this!

Thanks a lot @Kolomona, the Medium tag problem is already mentioned here: https://github.com/yusufyilmazfr/podcast4j/issues/2. You've fixed 2 problem, the first is JDK 22.0.1 and another is given second issue. I think i've to remove Lombok dependency, I used this client because it is easy while i was developing this client. Maybe I'll open new issue about this. Another problem is about UnrecognizedPropertyException, we don't have to throw any exception if there is a new field. I'll exclude this exception. Thanks again! ❤ I'll try to generate a new podcast4j client after merge.


Missing information on consuming nuget packages in a YAML pipeline from an Azure Devops Artifact nuget feed

I've been banging my heard for days trying to restore packages from an Azure Devops Artifacts nuget feed in a YAML pipeline, but no luck. MSBuild and dotnet restore both just tell me:
warning : The plugin credential provider could not acquire credentials. ...
 Warning : Unable to load the service index for source  ...

I can't find any information on what the problem is or how to get it to work.

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

ID: 11ed58a1-5819-f3a4-c674-dafcdbd56fbc
Version Independent ID: d68aca4d-3fd3-1864-09f5-6060295e0399
Content: Publishing to NuGet feeds - Azure Pipelines and TFS
Content Source: docs/pipelines/artifacts/nuget.md
Product: devops
Technology: devops-cicd
GitHub Login: @steved0x
Microsoft Alias: amullans

I could use some guidance on the same topic.

Hey people - I'll have some time to take a look at this early next week, as I'm traveling today. We are working on making our services work better (and easier) in YAML, so this will be a good exercise for us.

For reference, could you both post a sample of the YAML you're trying to use?

pool:
name: Hosted VS2017
demands: msbuild
steps:

task: NuGetToolInstaller@0
displayName: 'Use NuGet 4.9.4'
inputs:
versionSpec: 4.9.4

task: DotNetCoreInstaller@0
displayName: 'Use .NET Core SDK Tool Installer'
inputs:
version: 2.2.105

task: DotNetCoreCLI@2
displayName: 'DotNet restore packages'
inputs:
command: restore
continueOnError: false

etc to build and publish

I found a workaround, but according to the docs, it should just work without this:
- task: NuGetCommand@2
  displayName: 'Authenticate nuget feed'
  inputs:
    command: custom
    arguments: sources update -Name "<feed-name>" -Username "vsts" -Password "$(System.AccessToken)" -StorePasswordInClearText -ConfigFile ./NuGet.Config

Hi everyone, this looks like a duplicate of #3884 so I'm going to close this in favor of that one.


steam  library, vanity URL steam ID

https://steam.readthedocs.io/en/latest/api/steam.steamid.html#module-steam.steamid

Done.


Update to latest revault tx

This updates to https://github.com/revault/revault_tx/pull/87 and includes a few drive-by cleanups.

This was merged as part of #247


AQL: cannot instantiate CollectBlock with undetermined aggregation method

Running 3.2.4 with RocksDB on Ubuntu 16.04 single-server.
I got a weird error when executing the following query (shortened to highlight the problem):
WITH keaks, battles, beats, users
LET likedKeaks = (
    FOR e IN events_
    FILTER e.type == 'keakLikeCreated' && e.timestamp > '2017-10-09'
    COLLECT keakId = CONCAT('keaks/', e.data.keakId) WITH COUNT INTO length
    RETURN { id: keakId, score: length * 3 })
LET likedBattles = (
    FOR e IN events_
    FILTER e.type == 'battleLikeCreated' && e.timestamp > '2017-10-09'
    COLLECT battleId = CONCAT('battles/', e.data.battleId) WITH COUNT INTO length
    RETURN { id: battleId, score: length * 3 })
LET commentedKeaks = (
    FOR e IN events_
    FILTER e.type == 'keakCommentCreated' && e.timestamp > '2017-10-09'
    COLLECT keakId = CONCAT('keaks/', e.data.keakId) WITH COUNT INTO length
    RETURN { id: keakId, score: length * 2 })
LET commentedBattles = (
    FOR e IN events_
    FILTER e.type == 'battleCommentCreated' && e.timestamp > '2017-10-09'
    COLLECT battleId = CONCAT('battles/', e.data.battleId) WITH COUNT INTO length
    RETURN { id: battleId, score: length * 2 })
LET sharedKeaks = (
    FOR e IN events_
    FILTER e.type == 'keakShared' && e.timestamp > '2017-10-09'
    COLLECT keakId = CONCAT('keaks/', e.entityId) WITH COUNT INTO length
    RETURN { id: keakId, score: length })
LET sharedBattles = (
    FOR e IN events_
    FILTER e.type == 'battleShared' && e.timestamp > '2017-10-09'
    COLLECT battleId = CONCAT('battles/', e.entityId) WITH COUNT INTO length
    RETURN { id: battleId, score: length })
LET viewedKeaks = (
    FOR e IN events_
    FILTER e.type == 'keakViewsRecorded' && e.timestamp > '2017-10-09'
    COLLECT keakId = CONCAT('keaks/', e.entityId) AGGREGATE length = SUM(e.data.viewCount)
    RETURN { id: keakId, score: length })
LET popularContent = UNION(likedKeaks, likedBattles, commentedKeaks, commentedBattles, sharedKeaks, sharedBattles, viewedKeaks)
FOR content IN popularContent
COLLECT contentId = content.id
AGGREGATE score = SUM(content.score)
RETURN { id: contentId, score: score }

This fails with: Query: AQL: cannot instantiate CollectBlock with undetermined aggregation method (exception location: /var/lib/otherjenkins/workspace/RELEASE__BuildPackages/arangod/Aql/ExecutionEngine.cpp:143). Please report this error to arangodb.com (while executing) (exception location: /var/lib/otherjenkins/workspace/RELEASE__BuildPackages/arangod/RestHandler/RestCursorHandler.cpp:130). Please report this error to arangodb.com
Now if I remove any one of the seven sub-queries, it works. I only got the issue when all seven sub-queries are declared and included in the UNION. Let me know if you need further information.

It looks like the optimizer generates a lot of possible execution plans until it reaches the default built-in cap.
After that, a required optimizer rule does not seem to be applied anymore, which then causes the error.
Potential fix:
diff --git a/arangod/Aql/Optimizer.cpp b/arangod/Aql/Optimizer.cpp
index dd3a2f6842..942c2db6bb 100644
--- a/arangod/Aql/Optimizer.cpp
+++ b/arangod/Aql/Optimizer.cpp
@@ -132,7 +132,7 @@ int Optimizer::createPlans(ExecutionPlan* plan,
         // skip over rules if we should
         // however, we don't want to skip those rules that will not create
         // additional plans
-        if ((runOnlyRequiredRules && rule.canCreateAdditionalPlans) ||
+        if ((runOnlyRequiredRules && rule.canCreateAdditionalPlans && rule.canBeDisabled) ||
             _disabledIds.find(level) != _disabledIds.end()) {
           // we picked a disabled rule or we have reached the max number of
           // plans and just skip this rule

This has been fixed in 3.2.5, which has been released meanwhile.


Question: Migrating from distutils to setuptools

Hello, I recently helped a project migrate from distutils to setuptools BUT a snag was discovered.
One of the things that was swapped was using a provided python script to the 'console_scripts' entry point.
Unfortunately, this causes an issue when upgrading installations as setuptools doesn't error out the install should it detect a previous version was installed with distutils. Is there anything inside setuptools that could make this easier for the project?
Pinging @dvander as he owns/maintains the project in question
Cross reference issue: https://github.com/alliedmodders/ambuild/issues/68

I think we need more context here. It sounds like you are having a problem when someone invokes setup.py install ?
If that's the case, then the best solution is to always use pip install . We're working to deprecate setup.py install  but it's a bit complicated to emit an error message only at the right times for that. Regardless, we stopped supporting setup.py install in all situations where pip install works a few years ago.

@pganssle No, the issue is the distutils pre-installed previous version renders the console_script a mute object as it raises an ImportError that it can't find the entry point, see the referenced issue.

That whole issue seems to be that setup.py install  can't uninstall distutils-installed packages, and the desired behavior (raising an error) is what happens when you use pip install.
If I've misunderstood, can you give a short self-contained example that demonstrates your issue without invoking setup.py install, along with the desired behavior?
As an aside, thank you for trying to keep projects' packaging code up to date!

Actually, it seems more like the issue is setuptools doesn't attempt to uninstall the previous installation and when the console scripts goes to import, it actually imports the previous version.

Another thing to note is that the project is generally installed via DIRECT invocation of 'setup.py'
References:
https://github.com/alliedmodders/sourcemod/blob/master/tools/checkout-deps.sh#L143
https://github.com/alliedmodders/metamod-source/blob/master/support/checkout-deps.sh#L73
https://github.com/alliedmodders/amxmodx/blob/master/support/checkout-deps.sh#L92
https://github.com/alliedmodders/sourcepawn/blob/master/tools/checkout-deps.sh#L29
https://github.com/alliedmodders/amtl/blob/master/checkout-deps.sh#L33

Actually, it seems more like the issue is setuptools doesn't attempt to uninstall the previous installation and when the console script goes to import, it actually imports the previous version.

To be honest, I'm always surprised when someone invokes python setup.py install and it doesn't completely break their Python environment, so I guess I'm not surprised by that. Like I said earlier, we're really not supporting setup.py install, so I don't think there's much we can do here other than deprecate it as soon as humanly possible.
Soon we will have completed our adoption of distutils and hopefully we can start issuing deprecation warnings even for setup.py install using distutils (as long as setuptools is installed). Until then, I think your best bet is to do your best to suggest that your users use pip install instead of setup.py install. If you'd like to investigate how to deprecate setup.py install without it also raising deprecation warnings when a wheel is built, I think a PR doing that would be very welcome.

I'm calling @dvander here now as this is something you'll need to explain to him.

OK, it seems that there's no action we can take here so I'll close this issue for now. Sorry we didn't have a better solution for you.


[v1.2] examples/kubernetes: fix cilium tolerations

[ upstream commit 1f39ded3bfa4e0165d55be46b6af1de5b7b7f265 ]
If the operator "Exists" is not specified, by default kubernetes will
compare if the value of the node toleration equals to the value
specified in kubernetes node.
Reported-by: Lennart Weller<EMAIL_ADDRESS>Signed-off-by: André Martins<EMAIL_ADDRESS>

This change is

test-me-please

test-docs-please

test-missed-k8s


Improved README.md

Purpose of this pull request
This pull request updates the Apache SeaTunnel README to improve clarity and readability. It includes a restructured layout, organized sections, and improved formatting. The content remains largely the same, but the changes aim to enhance the overall user experience and understanding of the project.
Does this PR introduce any user-facing change?
No, this pull request does not introduce any user-facing changes in terms of functionality. It focuses on improving the documentation and does not modify the behavior of the SeaTunnel software. It aims to make it easier for users to access information about the project.
How was this patch tested?
This patch primarily involves documentation changes. Testing was performed manually by reviewing the document for accuracy, readability, and proper formatting. No new functionality or code changes were introduced in this pull request.
Check list

[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[ ] Update the release-note.

Thanks @adarsh-jha-dev ! Could you open github action on your fork repository? Please follow https://github.com/apache/seatunnel/pull/5662/checks?check_run_id=17850365639 as guide.

Thanks @adarsh-jha-dev ! Could you open github action on your fork repository? Please follow https://github.com/apache/seatunnel/pull/5662/checks?check_run_id=17850365639 as guide.

Done

Thanks @adarsh-jha-dev ! Could you open github action on your fork repository? Please follow https://github.com/apache/seatunnel/pull/5662/checks?check_run_id=17850365639 as guide.

Done

Please push some emtpy commit to trigger ci.

Thanks @adarsh-jha-dev ! Could you open github action on your fork repository? Please follow https://github.com/apache/seatunnel/pull/5662/checks?check_run_id=17850365639 as guide.

Done

Please push some emtpy commit to trigger ci.

Done, build in progress, thanks for your assistance.

Build also done.

Overall LGTM, Thanks @adarsh-jha-dev !

Grateful to hear that, will be pleased if merged successfully.


Email optional tweak & Site Description fix

Hi,
I added logic to make the email optional and also a fix to site description. Should be none breaking.

Hi @humboldtux,
I'll do as you say. I think I understand what has happened here.
The documents are out of date... They say "All Params are only accessible using all lowercase characters.". Here:
https://gohugo.io/templates/variables/
In version 0.18, these page parameters should be accessible as case insensitive. But there are some bugs, which means this is not working correctly at the moment, "Description" (capitalised) would not work for me. Here: https://github.com/spf13/hugo/issues/2907 (and others).
So. There is a work around which uses "with" this works for all cases. I'll push that later. It has an advantage, in that it works for cases where description is "", Description and description.

Thanks for the clarification. If you can squash all the commits regarding each fix (disqus and description) so that there are only 2 commits, that would be cool, i would like to keep commits atomic and focused.
Thank you for your time and work.

No problem. Will seperate shortly.


Leftover empty requirements.txt file after build

Hi,
After I run juni build, an empty requirements.txt file appears in src folder. I think it's related to the way the src & requirements.txt volume are attached to the docker container, but I'm not sure. It's especially puzzling how it can be empty (since my reqs file is not empty).
My project structure looks like this:
~/ tree
.
├── manifest.yml
├── requirements.txt
├── src
│   ├── bootstrap.py
│   ├── handlers
│   │   ├── __init__.py
│   │   └── initialise_tasks.py
│   └── services
│       ├── __init__.py
│       └── tasks.py

My manifest looks like this:
functions:
  initialise_tasks:
    requirements: ./requirements.txt
    include:
      - ./src/

The resulting Docker compose file looks like this:
version: '3.6'

services:

  initialise_tasks-lambda:
    image: lambci/lambda:build-python3.6
    environment:
      - AWS_DEFAULT_REGION=us-east-1
    volumes:
      - ./dist:/var/task/dist
      - ./.juni/bin:/var/task/bin
      - ./src/:/var/task/common/
      - ./requirements.txt:/var/task/common/requirements.txt
    command: sh /var/task/bin/package.sh initialise_tasks

Let me know if you need more details and/or if you can point me in the right direction of solving this. Thanks!

Hey @gumuz,
That's definitely puzzling, from the information you're providing at a first glance it looks like everything should be working as expected. I'll try to reproduce it locally and if I need anything else I'll let you know!
Thanks for the feedback.

@gumuz, you're absolutely right! The issue is the trailing slash in your definition of the includes. With this manifest.yml
functions:
  initialise_tasks:
    requirements: ./requirements.txt
    include:
      - ./src

The resulting docker-compose file is the following:
version: '3.6'

services:

  initialise_tasks-lambda:
    image: lambci/lambda:build-python3.6
    environment:
      - AWS_DEFAULT_REGION=us-east-1
    volumes:
      - ./dist:/var/task/dist
      - ./.juni/bin:/var/task/bin
      - ./src:/var/task/common/src
      - ./requirements.txt:/var/task/common/requirements.txt

    command: sh /var/task/bin/package.sh initialise_tasks

Note that src will be mapped to it's own folder inside of the common directory. In this case, you don't get the bleeding of the requirements in your filesystem. I'll create a PR to address that issue.
Cheers!


Improve Performance By Memoizing windowDimensions logic

In its current state, our logic for determining whether or not the progress bar on the left should display is causing the entire CaseStudyFacebook component to re-render multiple times even when we don't have to change the display state of the bar due to state changes within our custom hook for window dimensions.

By memoizing whether or not we should change the progress bar by turning it into separate state variable, we can prevent unnecessary re-renders and improve webpage performance.

oop, we also have to fix the function name that we call inside our custom hook haha. (we're getting some memory leaks due to the return function not properly working rn)


Metal backend PR improvements

Hello @Morteeza, I believe these additional improvements would be valuable to include in the current open MaterialX PR, or afterwards!

Thanks @pablode. Great changes. I appreciate the effort. I merged all in.


Can't find my sample names

Hi,
I'm trying some worklows using ramclustR just very fast and I can't find my sample names in the output...
After take a look at the script of ramclustR function, I can see that you have a lot of results table containing all that you need (rt, intensity, cluster, etc...) But I can't find the sample names in the results MSP file (whereas the rownames of table are my sample names
Someone can help me please ?
Thanks a lot !

@jsaintvanne - the spectra are stored in the .msp output file.  The spectra that are exported are representative of all the files.  While not perfectly accurate, you can picture each individual spectrum as the average spectrum for that compound, taking into account all the data in the dataset.  So given that, every spectrum is associated with every sample - it is only the signal intensity that changes, which is stored in the SpecAbund data matrix and exported .csv file.

@jsaintvanne  - your sample names are delivered from the xcms object.   Generally my approach to sample naming is to use concatentated factors.  i.e.
treatment-4hr-rep1
control-2hr-rep3
such that the sample name can be split into separate factors.  There is a function to enable the splitting, rc.expand.sample.names.   Above, this would split the two sample names into a data frame with three columns, when i use '-' as the delimiter.
That said, i think that class specific clustering will be a difficult path forward:

ramclustR's algorithm is dependent on quantitative variation in the feature data.  the less variation the less clear the relationships between features.
The feature grouping behavior is likely to be slightly different in different sample groups, and rectifying those discrepencies is not trivial.  i.e. what if feature 1211 (for example) is part of C003 in one group and C008 in another group?  That isn't to say that there aren't solutions, but they require a good deal of thought before implementing.

An alternative path which may alleviate your concerns is to switch from pearson's correlation to spearman's.   Rank correlation will be much less prone to the influcence of the ouliers (blanks, for example) than pearsons.   This is enabled in the main ramclustr function as option cor.method.   Pearson's is default, but you could set it to cor.method = spearman.

@cbroeckl thanks for the explanation - didn't know this about the spearman correlation!
I assume that another option would be to actually run the individual conditions independently and then build networks/find identical or similar features across the groups using spectral matching?

@hechth - absolutely could be done.   A few items to consider:

are there enough samples in each group for correlation-based clustering to be meaningful?  If not, it would be best to develop a peak shape based clustering as well.  i had actually started down this path and lost steam and ultimately abandoned it, for lack of time to validate it.  There is a clear path forward for it though.  You can simultaneously use all the similarity metrics, retention time of the feature, correlation, and peak shape by expanding the existing similarity product score.   In theory IMS data could also be incorporated, if available.
if you perform RAMClustR by sample groups then cluster spectra, how do you deal with feature assignments which are in conflict?
How do you deal with missing spectra in the blanks (NA values are a bit of a nuisance...).
If you are going to be performing clustering by sample type, would be be best to perform XCMS by sample type as well?
If two spectra from two groups align pretty well but imperfectly, what set of features should be used in the quantitative assignments - only the overlapping features or all features?


Add search for the docs

It would be great to be able to search the docs.
Zola supports generating a search index, but I don't know how that will work with versioned docs.
I think that searching for starts should provide a single result for string.starts_with, from the version of the docs that you're looking at.
This might mean that separate search indexes will need to be maintained, and I don't know if Zola supports that. Or maybe there'll be some trick for filtering the index, but then I'm worried that the index will grow too large over time as new versions are added.
So there might need to be some kind of manual solution. There's a lot of preprocessing of the docs going on in xtask, so maybe a search index could be generated there, rather than relying on Zola's solution.

It seems like a manually generated search index will be needed. convert_docs in xtask parses the original Koto markdown docs and prepares them for the website, and it might be simple enough to extend the logic so that it adds entries to a search index. A separate xtask command would also be ok if it would be simpler.
The Koto REPL's help command also builds up its search index by parsing the markdown docs, see here for the implementation.


Suggestion for adding links to method examples

Currently each item on the list of implemented methods provides links to both the method class and the published paper:
GraphConv from, e.g., Morris et al.: Weisfeiler and Leman Go Neural: Higher-order Graph
Neural Networks (AAAI 2019)
which is very nice.
On the method class API:
class GraphConv(in_channels, out_channels, aggr='add', bias=True, **kwargs)[source]
currently there is a link to its source, which again is very nice.
Please additionally provides a link to its example, e.g., [example].

That‘s a good idea. I will work on it.

Thanks much.
Dan
Sent from Mail for Windows 10
From: Matthias Fey
Sent: Friday, June 12, 2020 11:28 PM
To: rusty1s/pytorch_geometric
Cc: dtchang; Author
Subject: Re: [rusty1s/pytorch_geometric] Suggestion for adding links to methodexamples (#1317)
That‘s a good idea. I will work on it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Done :)


[Sozialpass] Setup a switch for the app language

Is your feature request related to a problem? Please describe.
As a user I want to be able to switch the app language without having to switch the whole system language.
Describe the solution you'd like
There should be a button/toggle to select the current app language. The possible language options should depend on the available languages configured in the build configs (#1176).
Describe alternatives you've considered
Always use the system language.
Additional context
Part of #1174.
Design Issue:
There is currently no overflow menu or settings menu yet. the main challenge is to find an appropriate place for it and place there the language switch

design proposal can be found 📌 here. due to the limited time for development, this proposal may have to be adapted in order to be realisable in a shorter period of time. please feel free to give me more information and comment in figma.


Fixes matches for Fedora / Kali-like ifconfig outputs

A few matches don't seem to work nicely on Kali linux, and also looking around the web fedora does the same output style with ifconfig.  This solves it as cleanly as I can for the two "ifconfig flavors" I've seem to come across..  on a side note, the kali / fedora way of doing it also has a ':' after the interface name.  Taking in this pull request would greatly simplify my program lol.  I will work on other aspects of your code as I continue writing my app and find any other inconsistencies... (iwconfig, for example?)

Not sure why this disrupted here. Any insights?


Nested flexbox's flex-basis is ignored in favor of intrinsic content dimensions

Here's a flexbox bug that I don't see here, and can't find in any open PRs/issues.

A problem has been found when sizing flex items of a nested flex container.
When using the width property, the container respects the sizing of its children and expands accordingly. But when using flex-basis, the container ignores the sizing of its children, and the children overflow the container.

— SO answer (very end)
I made this example too (works in Edge): https://jsfiddle.net/q0qmeh3L/
Will make a PR if it will get accepted

Can you please update this issue to conform to the issue template. Saying the answer is at the end of a Stack Overflow question isn't particularly clear.

#253 has something going on related to this.
I've boiled it down as far as I can: https://codepen.io/anon/pen/rvWRZX
In the latest Chrome and Firefox (at least), flex items in a nested flex container ignore their flex-basis and collapse.
IE11 and Edge, however, behave correctly.
@philipwalton it seems you yourself reported this to Chrome in 2015.
Your codepen: http://codepen.io/anon/pen/wBJQap
Looks like a different Chrome bug addresses the real root of the issue.
Relevant Firefox bugs:
https://bugzilla.mozilla.org/show_bug.cgi?id=1179454
https://bugzilla.mozilla.org/show_bug.cgi?id=972595
https://bugzilla.mozilla.org/show_bug.cgi?id=1055887
Workaround: it's not perfect, but you can set width instead of flex-basis to approximate the desired behavior.


Make panels collapsible

This PR adds a new feature to collapse contents of a panel.
Referencing issue: #237

Looking good (https://codesandbox.io/s/github/excalidraw/excalidraw/tree/feature-collapsible-panels).
Few notes:

I'd use ◄ for closed, since this is usually the standard for closed collapsibles, instead of the vertical one (not sure if this is the correct family of symbols you used, I just mean this shape).
the Selection panel doesn't remember its close state (likely because it's being unmounted when hidden). Not sure in what way to resolve this. Thoughts?

@dwelle I will change those the icons and will try to find a solution. :)

We can either:

make the panel display: none on no selection (but that might have perf penalty, coz this way it'll always render)
lift the state up
???

display: none makes sense.

@vjeux @dwelle I did a bit different of a solution. I added a hide prop to the Panel component that hides all the contents of the Panel while still rendering the component itself; thus, retaining its state throughout the app :)

@dwelle

I'd use ◄ for closed, since this is usually the standard for closed collapsibles, instead of the vertical one (not sure if this is the correct family of symbols you used, I just mean this shape).

Could you please check the latest build? So, caret down for open and caret left for collapsed?

Looks and works great. Good idea with the hide prop :+1:.
But, now that I think about it, shouldn't the state be remembered across sessions (localStorage)? If so, we'll need to lift it up after all :/. Thoughts?

@dwelle It would probably be a good idea to remember the states so that way the working environment is consistent.

@dwelle it makes sense but if it is okay can we do it in another PR? Because I want to extract the entire SidePanel into a separate component and use that component to save panel related stuff in any storage.


where is the github project for UCP?  Want to fix an error in the documentation...

Searched all over for a project page for UCP, failed.
per docs here:  https://docs.docker.com/ucp/reference/install/
--host-address	Specify the visible IP/hostname for this node.
however, passing an actual hostname results in the error below.  Hostnames cannot be used.
FATA[0046] Unsupported host address (ucp.mydomain.com). Please specify an IPv4 address using the '--host-address' flag, and pass the hostname using the '--san' flag.
I'd love to do a PR to fix this...but can't find UCP project (or the git repo for the docs) anywhere.

Thanks for reporting @ezeeetm. UCP is a closed source project, and the docs are also in a private repository. I'll make sure to forward this to the docs team for UCP so that they can fix

@ezeeetm that said, please feel free to report any errors on the UCP forums: https://forums.docker.com/c/docker-data-center/ucp

/cc @joaofnfernandes

I've created an issue so that we can track this. Thanks for reporting!

Thanks! Let me close the issue here