Unexpected suggestion triggered by running script using Get-Command

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
Running https://gist.github.com/sba923/d5406e7fded598b9c1131ddf9f099564#file-update-seleniumdriver-ps1 (which runs https://gist.github.com/sba923/d0d5ad16f2b12d7785adf830b0395dc2#file-whence-ps1 which in turn runs https://gist.github.com/sba923/d0d5ad16f2b12d7785adf830b0395dc2#file-whatis-ps1) yields the following when PowerShell returns to the prompt:
Suggestion [3,General]: The command "chromedriver.exe" was not found, but does exist in the current location.
PowerShell does not load commands from the current location by default (see ''Get-Help about_Command_Precedence'').

If you trust this command, run the following command instead:

Suggestion [4,General]: The most similar commands are:

PowerShell 7.4.6 issues a slightly different suggestion:
Suggestion [3,General]: The command "chromedriver.exe" was not found, but does exist in the current location.
PowerShell does not load commands from the current location by default (see ''Get-Help about_Command_Precedence'').

If you trust this command, run the following command instead:

Expected behavior
No suggestion should be emitted

Actual behavior
Suggestion [3,General]: The command "chromedriver.exe" was not found, but does exist in the current location.
PowerShell does not load commands from the current location by default (see ''Get-Help about_Command_Precedence'').

If you trust this command, run the following command instead:

Suggestion [4,General]: The most similar commands are:

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.5.0-rc.1
PSEdition                      Core
GitCommitId                    7.5.0-rc.1
OS                             Microsoft Windows 10.0.26100
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

@SteveL-MSFT could that be a regression to the fix for https://github.com/PowerShell/PowerShell/issues/19862?

Steps to reproduce

Are you serious?
Add current location to the $env:PATH
$env:PATH += ";$pwd"
chromedriver.exe

Steps to reproduce

Are you serious?
Add current location to the $env:PATH
$env:PATH += ";$pwd"
chromedriver.exe

You clearly have misunderstood what the issue is about and/or the script's code.
During the execution of the script, the current working directory is typically not where chromedriver.exe resides. The code needs to determine where the file chromedriver.exe that is on the PATH (if there is one) resides, so that it can be updated there if a newer version is available.
The core issue lies in the fact a "suggestion" should never (IMVHO) be emitted by PowerShell when run non-interactively.

@237dmitry Even if you were correct that would be an unacceptable way to respond. Please review the Code of Conduct.

I'm referring to the part where you prefaced your suggestion with "Are you serious?".

So what? I just expressed surprise at such reproduction steps. Very specific scripts and in another repo.
If for English-speaking users this looks offensive, then I apologize, in my opinion it is a completely normal question.

I'm not sure that readers will work through all the stuff linked to in order to see what the problem is.
It looks like "I don't want a message - this is in the current directory, but that isn't on the path"
NOW... there are two or three entirely independent things here

Should the "you can just cd to the executable location and run name" suggestion appear when name is not entered at the command line. (And if name is not on the path what error should running that in a script / function produce)
Is preventing adding . to the path really the good idea that those who changed it thought.
What I think is the actual question  - is this behaviour of Get-Command by design and if so is the design right

i.e. If you are in a directory where the executable is found AND that directory is not on the path, then Get-Command generates the suggestion  - and a bit like -whatif  messages they can't be captured

Indeed, you're perfectly right, I must confess I didn't analyze the issue like I had done for https://github.com/PowerShell/PowerShell/issues/19862. Time to fix that.
My key point is that PowerShell should not emit suggestions unless commands are entered interactively.
It seems unclear as to what is causing this rule to be broken (again, as this feels like a regression).
Get-Command seems to emit that suggestion whenever the value of the -Name parameter cannot be found on the PATH but it's present in the current directory.
Probably the code for Get-Command is invoked when a command line is evaluated prior to execution, which is OK when this happens interactively.
There are other situations where non-interactive operations (incorrectly, IMVHO) result in the suggestion to be emitted:

I don't know whether PowerShell would be able to detect whether code is executed from a script and would disable suggestions in that case.

Here are some more cases .

No, I don't know if start-process should work differently to &
I think the ask to detect running in a script and change behaviour is do-able but the wrong answer;  as a rule things should do the same thing at the prompt as they do in a script (although there can be exceptions)
Personally I have more of a problem that -ErrorAction doesn't supress this message, and it can't be redirected or caught in any way. It should be possible to set some kind of preference variable to make it go away. If people want to turn it off globally, or just in their script - those should be possible.

I think there should be an exception to that rule: suggestions are meant to inform the interactive user only. Emitting those while a script is running, with potentially no one looking at the output (think about scheduled tasks, for instance) doesn't make much sense to me. They are not the same as error information.
BTW, there's another issue about those suggestions: they seem to be incomplete, as they end with "you should do this:" without telling the user what "this" should be...

Consider bash's behavior on Ubuntu 24:

The suggestion to the interactive user is not emitted when the same command is evaluated during script execution.

All good points, @sba923.
As for the following incidental aspect:

there's another issue about those suggestions: they seem to be incomplete

That it is indeed unfortunate; see:

#20916


Cannot delete a cargo customer

I want to delete a cargo customer but it is still there after the delete action

Fixed in 1.7.11.


Support ordinal.relative entity in LUIS

We're not taking this. This is breaking change, actually a breaking change in the service. Going forward we need to take a slightly more sophisticated approach to "typing." Take a look at what the Timex datatypes library does.


[easy][plugins] User init hooks should run after plugins

Summary
Change the order of init hooks to ensure user hooks are run last.
How was it tested?
devbox add ruby
# modified devbox.json to echo $PATH in init hook
devbox shell
# inspected PATH and saw GEM_HOME was in it.

@mikeland86 the tests are failing because now the shellrc template doesn't match the one in test. We should update the test as well before merging.


Client initialization from snapshots

This adds support for the sync operation to look for a snapshot if it's syncing an empty taskdb.
It also adds a specific error message for replica being out of sync, and handles that with a more verbose note in the cli.  This bit is kind of ugly, because (a) error handling in the taskchampion crate isn't great, and there's an issue for that; and (b) the cli output is kind of lame and not something we need to work on right now.

Looks good to me!


[FR] API: include the PartRequirements in PartList results

Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find a similar feature request

Problem statement
After coding and now using the new stock badges from #4385, I see a huge productivity value in the "Stock Health" metric, that the badges use for color coding. I'd like to use that for various improvements throughout the UI, but the necessary data for calculation of it is only available as a separate API call per part to /api/part/{id}/requirements/ right now. Which is fine for a 10 line search results, but way too many additional requests in any parts table.
Suggested solution
If the data from the PartRequirements API Endpoint could somehow be annotated(?) to the PartList results, so they are easily accessible also in big part tables - that would be the key to the improvements I have in mind.
I'm too inexperienced with the low-level DB specifics of Django yet to know where to start - but maybe with a bit of help I could get there? Any tips or help would be highly appreciated!
@SchrodingersGat you mentioned in https://github.com/inventree/InvenTree/issues/4385#issuecomment-1439910670 that this might be tricky - so, that means it is possible, right? ;-)
Describe alternatives you've considered
.
Examples of other systems
No response
Do you want to develop this?

[ ] I want to develop this.

@simonkuehling this is a good idea, adding your improved "required" labels to the larger part tables. This way we can commonise the javascript code, as currently that is heavily duplicated.
Currently the problem is the difference between returning requirements data for a single part instance query, or returning requirements data for a list of multiple parts. This is the N + 1 query problem and I have spent a lot of time optimising various API queries to avoid this.
The existing "requirements" API only queries a single part at a time, and is far from optimal in terms of database queries:

We cannot (efficiently) use this approach for the larger tables, as this would require an extra API call for each and every part in the table. The better way is to include this data in the "list" API call, but without requiring extra database hits.
Actually, some of these data are already available on the part list API:

You can see here that "allocated_to_build_order" and "allocated_to_sales_orders" data is already there.
So what we need is to add that extra data to the API serialised. I'd also suggest we turn it off by default, and pass an extra query parameter e.g. /api/part/?requirements_data=1&allocation_data=1
I will look into a PR to add this, there may be some other implications too. I'll tag you, and then you'll be able to update the other tables.

Looking into this, the "required_for_sales_orders" query is pretty straight forward.
However due to the complexities of BOMs (substitutes, variants, etc, etc) the "required_for_build_orders" may not be possible to annotate on the entire part queryset!

I see the complexity, for sure… does the current required_for_build_orders() implementation account for variants/substitutes even? If I am following the code correctly it is not, or is it?
If not, that would need to be addressed in some form or another anyway I guess (as it is used in the part details view for the „allocated to build orders“ progress bar)…

Currently the required_for_build_orders method is not a complete picture - I only realise this after reviewing your request here :)
However, I am now wondering about how this "required" calculation could be easily misleading.
Say you have a sub-component S1 which is used to make an assembly A1. S1 has variants S1.1, S1.2 and also there is a specified BOM substitute S2.
In this case, the following components would report as being "required" for the assembly: S1 / S1.1 / S1.2 / S2. Obviously not all are required. So any sort of query which tallied up the number of components you are short of would be incorrect.
Any ideas how to get around this?

So any sort of query which tallied up the number of components you are short of would be incorrect.

@SchrodingersGat oh, I think I just understood which cases you are referring to (where parts are tallied up):

Template parts in parts lists (where the stock count includes variant stock right now)
BOM Items in Build Order --> Allocate Stock (where variants and substitutes are included in the available stock count right now)

right?
Those are two issues I wanted to propose some UI improvements for anyway - and I think there are good options to deal with that in a more explicit manner than right now, that are compatible with the current computation of required_for_build_orders as well.

In general I think I would be happy with a general "how many could be used for build orders" query - but that query still needs to be developed (and is tricky)!
It would need to account for:

"Standard" BOM item relationships
Inherited BOM items
BOM items which allow for variant substitutes
BOM items which have explicit substitute parts

@SchrodingersGat do you by chance have a database structure graph (ERD) handy for InvenTree? That would help to dive into those relations a bit deeper...

We do not really keep ERD graphs around but I used this library in the past to create graphs. Would be nice to include this for developer instances with the docs as part of https://github.com/inventree/InvenTree/issues/2493.

Creating a control-flow chart for how this is calculated would be very nice.

ok, graph_models from django-extensions is pretty useful :+1: ... I have fitered the graphed models to Part, BomItem and Build for reference - i think this is all we need for the relationships we want to trace here, right?

I'll take a good stare at it and try to draw some queries up...

Take a look at https://github.com/inventree/InvenTree/blob/master/InvenTree/part/filters.py as a reference point too.
The queries become difficult when you are annotating against an entire queryset and not a single part reference. LMK how you go, I'll try to think about it also.

that is a good reference, thanks! (I edited my last comment to add the BomItemSubstitute to the graph - forgot about that)
I will probably start with some pseudo-code before translating that to proper querysets...

Ok, let's develop this step by step - let's take the list from Oliver and fill it with life:
The total quantity of parts required by open build orders calculates as a sum of these four queries:

"Standard" BOM item relationships
Inherited BOM items
BOM items which allow for variants of the part
BOM items which have explicit substitute parts

I cannot quite get a hang of Djangos annotation syntax, so I'll use raw SQL for now. Should be easy to translate later.
for 1)
SELECT SUM(quantity)
FROM BomItem
WHERE sub_part == current_part_pk AND part in (
    SELECT part
    FROM Build
    WHERE completed == false
)

current_part_pk is a back-reference to the part that is processed currently - not sure how this is done in Django/Python later...
...so far correct as a starting point?

You'd want SUM(bom_item.quantity * build-quantity) to get the total number of items required for the entire build!

Oh, right... I fixed that with a JOIN and used the actual table and field names for live testing on the DB:

"Standard" BOM item relationships

SELECT SUM(build_build.quantity*part_bomitem.quantity)
FROM build_build
JOIN part_bomitem ON build_build.part_id=part_bomitem.part_id
WHERE part_bomitem.sub_part_id = current_part_pk;

This seems to work so far. On to the next one...

Making progress, I have added substitutes to the query:

[x] 1. "Standard" BOM item relationships
[ ] 2. Inherited BOM items
[ ] 3. BOM items which allow for variants of the part
[x] 4. BOM items which have explicit substitute parts

SELECT SUM(build_build.quantity*part_bomitem.quantity)
FROM build_build
INNER JOIN part_bomitem ON build_build.part_id=part_bomitem.part_id
LEFT JOIN part_bomitemsubstitute ON part_bomitemsubstitute.bom_item_id=part_bomitem.id
WHERE part_bomitem.sub_part_id = current_part_pk OR part_bomitemsubstitute.part_id = current_part_pk;

next up are two recursive queries for variant and inherited parts.

next up are two recursive queries for variant and inherited parts.

They don't have to be recursive - have a look in part/filters.py to see how the tree based subqueries are made. It's pretty mind-bending, but very database efficient :)

Don't the Django functions translate to db-side recursive SQL queries as well for tree traversing?
I have made some progress with queries like
WITH inherited_bomitems AS
	(
		WITH RECURSIVE
		    parent_parts AS
			(
				SELECT id, variant_of_id
				FROM part_part
				WHERE id = :MYPART

				UNION ALL

				SELECT c.id, c.variant_of_id
				FROM part_part AS c
				INNER JOIN parent_parts AS p ON p.variant_of_id = c.id
			)
		SELECT part_bomitem.quantity AS inherited_quantity, part_bomitem.id AS inherited_bomitem_id
		FROM parent_parts
		INNER JOIN part_bomitem ON part_bomitem.part_id=parent_parts.id
		WHERE part_bomitem.inherited = true
	)
SELECT [...]

Or is there another trick that is even more efficient here?
To be honest I still have a hard time to get behind the Django way of defining those queries - that's why I am sticking to raw SQL right now...

I don't believe the filters make recursive SQL queries - although I have not profiled them down to the query level.
We make use of django-mptt which allows us to do flat queries on tree-structured relationships. The models have some extra fields which are pre-computed to allow for efficient queries

Not stale but needs some more thought


Authentication issue with sites when logged in to both Jamf Migrator and Jamf Pro

I have been using the same Jamf Pro administrator account in Jamf Migrator that I usually log in to the Jamf Pro web console with. That's maybe not the best practice, but it was generally working. Today I've been getting some seemingly random authentication errors in Jamf Migrator, and I think I've narrowed it down to this:
If I'm logged in to Jamf Pro and have any site selected other than "Full Jamf Pro," Jamf Migrator cannot use the same credentials to authenticate. As soon as I switch from a site back to Full Jamf Pro, it works.

@canalnoises - thanks for the note.  I'll have to poke around and see if the Jamf server has something that can distinguish between what app the account is being used from.  I suspect the server generates permission for an account once it logs in and if you log in from another app with the same account it uses those permissions.


Direct person to person chat

Is Direct person to person chat available? I've downloaded the code, but could see the functionality available. Maybe it's somewhere else? Thanks!

A little busy with other projects, but if I have a chance, I will push it soon.

@sdey0081 thanks! I've already done it myself, it was rather simple. The difficult thing is the Scroll and input text area with the opening Keyboard. Now you have Scroll disabled (which is good), but the input text area gets hidden behind the Keyboard. Any ideas how to fix it, so it works like in WhatsApp?


disasm: New package.

disasm provides functions for disassembling WebAssembly bytecode.

This change is

Review status: 0 of 2 files reviewed at latest revision, 18 unresolved discussions.

disasm/disasm.go, line 20 at r1 (raw file):

)

// Instr describes an instruction, consisting of an operator, with it's

s/it's/its/

disasm/disasm.go, line 23 at r1 (raw file):

// appropriate immediate value(s).
type Instr struct {
	Operator ops.Op

I would just call it Op.

disasm/disasm.go, line 25 at r1 (raw file):

	Operator ops.Op

	// Immediate is an argument to an operator in the bytecode stream itself.

s/Immediate/Immediates/

disasm/disasm.go, line 28 at r1 (raw file):

	// Valid value types are:
	// (u)(int/float)(32/64)
	// wasm.BlockType

It's not completely clear what this wasm.BlockType means in this doc comment.
I'd suggest creating a bullet list:
// Valid value types are:
//  - (u)(int/float)(32/64)
//  - wasm.BlockType

(assuming I have correctly interpreted the doc comment)
alternatively, just make a sentence:
// Valid value types are (u)(int/float)(32/64) and wasm.BlockType

disasm/disasm.go, line 30 at r1 (raw file):

	// wasm.BlockType
	Immediates []interface{}
	NewStack   *StackInfo // non-nil if the instructions requires the the current stack to be unwound.

s/the the/the/
s/the instructions/the instruction/

disasm/disasm.go, line 50 at r1 (raw file):

}

// Disassembly is the struct returned by Disassemble.

you could perhaps add informations about what (module? function? block?) it is supposed to represent the disassembly of.
MaxDepth hints at "only" a function, but it's always good to provide explicit informations.

disasm/disasm.go, line 56 at r1 (raw file):

}

func (d *Disassembly) checkDepth(depth int) {

s/checkDepth/checkMaxDepth/ ?

disasm/disasm.go, line 83 at r1 (raw file):

	// a stack of current execution stack depth values, so that the depth for each
	// stack is maintained indepepdently for calculating discard values
	stackDepths := list.New()

I wouldn't use container/list.List here.
we only store indices (int) inside this list: no need to incur the interface{} penalty type-assertions.
either copy-paste the container/list code under an internal package and specialize it for int.
or, just use a []int (and add some convenience methods.)

disasm/disasm.go, line 91 at r1 (raw file):

	for {
		op, err := reader.ReadByte()
		if err != nil { // == io.EOF

I would explicitly test for io.EOF and return nil, err otherwise.

disasm/disasm.go, line 110 at r1 (raw file):

			top.Value = top.Value.(int) - len(opStr.Args)
			if top.Value.(int) < -1 {
				return nil, errors.New("Stack underflow during disasm")

lift as a global variable ?

disasm/disasm.go, line 156 at r1 (raw file):

				elemsDiscard := int64(curDepth.Value.(int) - prevDepth.Value.(int))
				if elemsDiscard < -1 {
					return nil, errors.New("Stack underflow (block accesing elements)")

lift as a global variable ?
also: s/accesing/accessing/

disasm/disasm.go, line 195 at r1 (raw file):

			elemsDiscard := int64(curDepth.Value.(int) - getBlockDepth(stackDepths, int(depth)))
			if elemsDiscard < 0 {
				return nil, errors.New("Stack udnerflow in ops.Br disasm")

lift as global variable ?
also: s/udnerflow/underflow/

disasm/disasm.go, line 244 at r1 (raw file):

			top.Value = top.Value.(int) - len(fn.Sig.ParamTypes)
			top.Value = top.Value.(int) + len(fn.Sig.ReturnTypes)
			logger.Println("n being called is ", fn.Sig.ParamTypes, fn.Sig.ReturnTypes)

s/n being/fn being/ ?

disasm/disasm.go, line 254 at r1 (raw file):

			top := stackDepths.Front()
			if op == ops.GetLocal || op == ops.GetGlobal {

I would use a switch here. much more readable, and you can clearly document the no-op for tee_local:
switch op {
case ops.GetLocal, ops.GetGlobal:
 ...
case ops.SetLocal, ops.SetGlobal:
 ...
case ops.TeeLocal:
   // no-op: stack remains unchanged for tee_local
}

disasm/disasm.go, line 274 at r1 (raw file):

		case ops.F32Const:
			var i uint32
			err := binary.Read(reader, binary.LittleEndian, &i)

please put a TODO/FIXME so we can come back with a reflect-less way to do this.

disasm/disasm.go, line 281 at r1 (raw file):

		case ops.F64Const:
			var i uint64
			err := binary.Read(reader, binary.LittleEndian, &i)

please put a TODO/FIXME so we can come back with a reflect-less way to do this.

disasm/disasm.go, line 307 at r1 (raw file):

			curDepth := stackDepths.Front()
			if op == ops.CurrentMemory {

here too, a switch would read better, IMHO.
switch op {
case ops.CurrentMemory:
case ops.GrowMemory:
default: // handle it, return an error, etc...
}

Comments from Reviewable

Reviewed 1 of 2 files at r1.
Review status: 1 of 2 files reviewed at latest revision, 18 unresolved discussions.

Comments from Reviewable

ah, and no capital letter:
disasm: new package

disasm provides functions for disassembling WebAssembly bytecode.

that's the Go canonical-way to format commit messages. :)

Review status: 1 of 2 files reviewed at latest revision, 18 unresolved discussions.

Comments from Reviewable

Review status: 1 of 3 files reviewed at latest revision, 8 unresolved discussions.

disasm/disasm.go, line 311 at r2 (raw file):

			case ops.GrowMemory: // GrowMemory
				stackDepths.SetTop(curDepth - 1)
			}

please add a default case to catch unintended values.

internal/stack/stack.go, line 1 at r2 (raw file):

package stack

please add a license header.

internal/stack/stack.go, line 7 at r2 (raw file):

}

func (s Stack) Push(b uint64) {

s/s Stack/s *Stack/

internal/stack/stack.go, line 11 at r2 (raw file):

}

func (s Stack) Pop() (v uint64) {

s/s Stack/s *Stack/

internal/stack/stack.go, line 12 at r2 (raw file):

func (s Stack) Pop() (v uint64) {
	v, s.slice = s.Top(), s.slice[:len(s.slice)-1]

is the comma-assign really necessary?
it's a bit unreadable, especially for sub-slicing of s.slice.

internal/stack/stack.go, line 16 at r2 (raw file):

}

func (s Stack) SetTop(v uint64) {

s/s Stack/s *Stack/

internal/stack/stack.go, line 28 at r2 (raw file):

}

func (s Stack) SetNth(i int, v uint64) {

s/s Stack/s *Stack/
(while technically not necessary at the moment, I think it's less surprising)

Comments from Reviewable

Review status: 1 of 3 files reviewed at latest revision, 7 unresolved discussions.

disasm/disasm.go, line 311 at r2 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
please add a default case to catch unintended values.

ping :)

disasm/disasm.go, line 233 at r3 (raw file):

			fn := module.GetFunction(int(index))
			top := int(stackDepths.Top())
			top = top - len(fn.Sig.ParamTypes)

rewrite with -= len(...)

disasm/disasm.go, line 234 at r3 (raw file):

			top := int(stackDepths.Top())
			top = top - len(fn.Sig.ParamTypes)
			top = top + len(fn.Sig.ReturnTypes)

rewrite with += len(...)

internal/stack/stack.go, line 12 at r2 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
is the comma-assign really necessary?
it's a bit unreadable, especially for sub-slicing of s.slice.

ping :)

internal/stack/stack.go, line 29 at r3 (raw file):

}

func (s *Stack) Nth(i int) uint64 {

perhaps rename as Get ?

internal/stack/stack.go, line 33 at r3 (raw file):

}

func (s *Stack) SetNth(i int, v uint64) {

and rename this one as Set(i int, v uint64) ?

Comments from Reviewable

Review status: 1 of 3 files reviewed at latest revision, 29 unresolved discussions.

disasm/disasm.go, line 5 at r1 (raw file):
Previously, shurcooL (Dmitri Shuralyov) wrote…
Minor nitpick, but golint would complain about this:
package comment should be of the form "Package disasm ..."

The first word of the comment sentence should begin with a capital letter.

Done.

disasm/disasm.go, line 20 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
s/it's/its/

Done.

disasm/disasm.go, line 23 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
I would just call it Op.

Done.

disasm/disasm.go, line 25 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
s/Immediate/Immediates/

Done.

disasm/disasm.go, line 28 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
It's not completely clear what this wasm.BlockType means in this doc comment.
I'd suggest creating a bullet list:
// Valid value types are:
//  - (u)(int/float)(32/64)
//  - wasm.BlockType

(assuming I have correctly interpreted the doc comment)
alternatively, just make a sentence:
// Valid value types are (u)(int/float)(32/64) and wasm.BlockType

Done.

disasm/disasm.go, line 30 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
s/the the/the/
s/the instructions/the instruction/

Done.

disasm/disasm.go, line 50 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
you could perhaps add informations about what (module? function? block?) it is supposed to represent the disassembly of.
MaxDepth hints at "only" a function, but it's always good to provide explicit informations.

Done.

disasm/disasm.go, line 56 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
s/checkDepth/checkMaxDepth/ ?

Done.

disasm/disasm.go, line 83 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
I wouldn't use container/list.List here.
we only store indices (int) inside this list: no need to incur the interface{} penalty type-assertions.
either copy-paste the container/list code under an internal package and specialize it for int.
or, just use a []int (and add some convenience methods.)

Done.

disasm/disasm.go, line 91 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
I would explicitly test for io.EOF and return nil, err otherwise.

Done.

disasm/disasm.go, line 110 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
lift as a global variable ?

Done.

disasm/disasm.go, line 156 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
lift as a global variable ?
also: s/accesing/accessing/

Done.

disasm/disasm.go, line 195 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
lift as global variable ?
also: s/udnerflow/underflow/

Done.

disasm/disasm.go, line 244 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
s/n being/fn being/ ?

Done.

disasm/disasm.go, line 254 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
I would use a switch here. much more readable, and you can clearly document the no-op for tee_local:
switch op {
case ops.GetLocal, ops.GetGlobal:
 ...
case ops.SetLocal, ops.SetGlobal:
 ...
case ops.TeeLocal:
   // no-op: stack remains unchanged for tee_local
}

Done.

disasm/disasm.go, line 274 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
please put a TODO/FIXME so we can come back with a reflect-less way to do this.

Done.

disasm/disasm.go, line 281 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
please put a TODO/FIXME so we can come back with a reflect-less way to do this.

Done.

disasm/disasm.go, line 307 at r1 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
here too, a switch would read better, IMHO.
switch op {
case ops.CurrentMemory:
case ops.GrowMemory:
default: // handle it, return an error, etc...
}

Done.

disasm/disasm.go, line 311 at r2 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
please add a default case to catch unintended values.

Is that needed? This switch expression is already being executed under a case ops.CurrentMemory, ops.GrowMemory

internal/stack/stack.go, line 1 at r2 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
please add a license header.

Done.

internal/stack/stack.go, line 7 at r2 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
s/s Stack/s *Stack/

Done.

internal/stack/stack.go, line 11 at r2 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
s/s Stack/s *Stack/

Done.

internal/stack/stack.go, line 12 at r2 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
ping :)

Done.

internal/stack/stack.go, line 16 at r2 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
s/s Stack/s *Stack/

Done.

internal/stack/stack.go, line 28 at r2 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
s/s Stack/s *Stack/
(while technically not necessary at the moment, I think it's less surprising)

Done.

Comments from Reviewable

Review status: 1 of 3 files reviewed at latest revision, 7 unresolved discussions.

disasm/disasm.go, line 233 at r3 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
rewrite with -= len(...)

Done.

disasm/disasm.go, line 234 at r3 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
rewrite with += len(...)

Done.

internal/stack/stack.go, line 29 at r3 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
perhaps rename as Get ?

Done.

internal/stack/stack.go, line 33 at r3 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
and rename this one as Set(i int, v uint64) ?

Done.

Comments from Reviewable

please squash to have one commit related to internal/stack and one commit related to disasm.
(and I'll merge.)
thanks.

Reviewed 2 of 2 files at r4.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

disasm/disasm.go, line 311 at r2 (raw file):
Previously, vibhavp (Vibhav Pant) wrote…
Is that needed? This switch expression is already being executed under a case ops.CurrentMemory, ops.GrowMemory

ah. you're right.

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions.

disasm/disasm.go, line 311 at r2 (raw file):
Previously, sbinet (Sebastien Binet) wrote…
ah. you're right.

OK

Comments from Reviewable


redirect_uri dissapears after "Approve/Deny" form

after I send GET
http://server/oauth2/authorize?response_type=code&client_id=someid&redirect_uri=callbackuri
to server, which use devise_oauth2_providable, I got
approve/deny page in my browser
I click 'approve'
and got
Invalid Authorization Request
Invalid redirect_uri is given
I found (with debugger) that

at first run of Devise::Oauth2Providable::AuthorizationsController#authorize_endpoint
req.redirect_uri is OK (also I see it in the browser address line:) and it matches @client.redirect_uri
at second run (after I click 'Approve') req.redirect_uri is empty (also, no value= property in code of "approve/deny" form)

I'm not sure that it's an issue, but in any case I really need a help:)
thanx
rails 3.1.3
ruby 1.8.7

shemusok, This does not relate to your question but how did you generate the views for oauth2_providable? I had tried "rails g devise_oauth2_providable:install" but no luck...
Thanks

in fact, I hadn't generate any views at all, I was just playing with https://github.com/ZenCocoon/testoauth2provider, and it already had some)
I'm not sure if such generators are exists

I do not see app/views/devise/oauth2_providable/authorizations/new.html.erb in the test project https://github.com/ZenCocoon/testoauth2provider
Did you just create it??

so, u wanna this views:)
u could find 'em in the https://github.com/socialcast/devise_oauth2_providable app/views/etc.

there's definitely a bug if the @redirect_uri variable is not being set.  i'll whip up a patch shortly.

or may be just use @client.redirect_uri in views? What is "rails way"?;)

fixed in v1.0.4

Unfortunately, the 1.0.4 fix does not help with Ruby 1.9.2. Any interest in in using ntodd's assignment suggestion in the commit note?

@jonbuffington I'm ruby 1.9.3 and not seeing an issue.  can you reproduce via a testcase?

@wireframe Hmm. As of rack-oauth2-0.11.0 and Ruby 1.9.2p290, @redirect_uri will always be nil. I think the issue is easier to illustrate with the following example since Request#verify_redirect_uri! only returns one value, a string.
def foo
'hello'
end
res.redirect_uri, @redirect_uri = foo
res.redirect_uri => "hello"
@redirect_uri => nil
In contrast to:
res.redirect_uri = @redirect_uri = foo
res.redirect_uri => "hello"
@redirect_uri => "hello"
Am I missing something? Does the second form of assignment not work in 1.9.3? Unfortunately, I do not have access to 1.9.3 at the moment to test.

Adding @client.redirect_uri to the view worked for me.

should be fixed in v1.0.5.
a new testcase has been added and verified that it is fixed.


Named views without definePage should not generate an import in auto-routes

This should be the better fix for #338
currently, the playground generates this code:
import _definePage_default_0 from '/Users/posva/unplugin-vue-router/playground/src/pages/index.vue?definePage&vue'
import _definePage_named_1 from '/Users/posva/unplugin-vue-router/playground/src/pages/index@named.vue?definePage&vue'
import { _mergeRouteRecord } from 'unplugin-vue-router/runtime'

export const routes = [
  _mergeRouteRecord(
  {
    path: '/',
    name: 'home',
    components: {
      'default': () => import('/Users/posva/unplugin-vue-router/playground/src/pages/index.vue'),
      'named': () =><EMAIL_ADDRESS>    },
    /* no children */
  },
  _definePage_default_0,
_definePage_named_1
  ),
// ...

Since<EMAIL_ADDRESS>doesn't have a definePage() inside it, it would be better if it was skipped completely

@posva Does this mean that the resulting meta will be the last route now? that is, meta _definePage_named_1 will overwrite meta _definePage_default_0

no, meta is still merged

no, meta is still merged

if definePage for index.vue meta:
definePage({
  meta: {
    action: "read",
  },
})
and no definePage for<EMAIL_ADDRESS>then i get meta: {}

It is indeed a bug. Add an empty definePage as a temporary workaround


[tests-only][full-ci] Run all tests on parallel deployment

Description
Related Issue
Part of https://github.com/owncloud/ocis/issues/2932
Motivation and Context
How Has This Been Tested?
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[x] Tests only (no source changes)

Checklist:

[ ] Code changes
[ ] Unit tests added
[ ] Acceptance tests added
[ ] Documentation ticket raised:

Blocked until https://github.com/owncloud/ocis/issues/2932#issuecomment-1144587011

As of now, tests for parallel deployment are not of higher priority. I will put this on the backlog.


[WIP] Capture information on downloaded and removed packages

I want to know how many packages were removed and how many were successfully
downloaded without scraping the conda-mirror output. This PR enables that
functionality by having the main function keep track of what is removed and
what is downloaded and returning that information. By doing this, I can import
the main() function from conda-mirror and embed that in a script that parses
this output and does things (like alert me via some pathway) if conda-mirror
fails or removes a large number of packages or any other error condition I can
think of to make an alert off of.

No comments other than the one so far. Let me know if you want me to look again after it's not WIP.


Enable custom registry.

Purpose:
Enable kubearmor installation from a custom registry, this is useful in cases where the user wants to use a private registry rather than ours.
How to test:
push the following images to a custom registry:

kubearmor/kubearmor-relay-server:latest
kubearmor/kubearmor:stable
kubearmor/kubearmor-init:stable
gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
kubearmor/kubearmor-controller:latest

use -r flag while installing.

how would the operator handles this?

There's no default registry set with the operator and it's possible to provide the image reference along with custom registry using KubearmorConfig CR.


Allow disabling automatic failover and allow to manually promote a Pod as Primary

We would like the option to disable the automatic failover feature for a cluster of Postgres so that when manually maintaining a node (e.g. restarting it, patching it, ...) the Kubegres operator does not automatically failover a Primary or Replica instances during that maintenance.
Additionally, we would like to be able to manually promote a Pod as a Primary Pod by setting the name of a Replica Pod name in the YAML.

The changes are available with Kubegres version 1.8:
https://github.com/reactive-tech/kubegres/releases/tag/v1.8


[SANDBOX PROJECT ONBOARDING] HwameiStor

Welcome to CNCF Project Onboarding!
This is an issue created to help onboard your project into the CNCF after the TOC has voted to accept your project.
We would like to complete onboarding within one month of acceptance.
From the project side, please ensure that you:

[x] Understand the project proposal process and reqs: https://github.com/cncf/toc/blob/main/process/project_proposals.md#introduction
[x] Understand the services available for your project at CNCF https://www.cncf.io/services-for-projects/
[x] Ensure your project meets the CNCF IP Policy: https://github.com/cncf/foundation/blob/master/charter.md#11-ip-policy
[x] Review the online programs guidelines: https://github.com/cncf/foundation/blob/master/online-programs-guidelines.md
[x] Understand the trademark guidelines: https://www.linuxfoundation.org/legal/trademark-usage
[x] Understand the license allowlist: https://github.com/cncf/foundation/blob/master/allowed-third-party-license-policy.md#approved-licenses-for-allowlist
[x] Is your project working on written, open governance? see https://contribute.cncf.io/maintainers/governance/
[x] Slack: Are your slack channels migrated to the Kubernetes or CNCF Slack? (see https://slack.com/help/articles/217872578-Import-data-from-one-Slack-workspace-to-another for more details)
[x] Is your project in its own separate neutral github organization?
[x] Submitted a Pull request to add your project as a sandbox project to https://landscape.cncf.io
[x] Create maintainer list + add to aggregated https://maintainers.cncf.io list by submitting a PR to it
[x] Artwork: Submit a pull request to https://github.com/cncf/artwork with your artwork
[x] Domain: transfer domain to the CNCF - https://jira.linuxfoundation.org/plugins/servlet/theme/portal/2/create/63

Things that CNCF will need from the project:

[x] Provide emails for the maintainers added to https://maintainers.cncf.io in order to get access to the maintainers mailing list and ServiceDesk -<EMAIL_ADDRESS>is the best email to send those to
[x] Trademarks: transfer any trademark and logo mark assets over to the LF - https://github.com/cncf/foundation/tree/master/agreements has agreements
[x] GitHub: ensure 'thelinuxfoundation' and 'caniszczyk' are added as initial org owners, this helps us make sure we have continuity of GH ownership that we will onboard to our GitHub Enterprise instance: https://github.com/enterprises/cncf
[x] GitHub: ensure DCO or CLA are enabled for all GitHub repositories of the project
[x] GitHub: ensure that that the CNCF Code of Conduct (or your adopted version of it) are explicitly referenced at the project's README on GitHub
[x] Website: ensure LF footer is there and website guidelines followed (if your project doesn't have a dedicated website, please adopt those guidelines to the README file of your project on GitHub).
[x] Website: Analytics transferred to<EMAIL_ADDRESS>[x] OpenSSF Best Practices Badge: Start on an OpenSSF Best Practices Badge https://bestpractices.coreinfrastructure.org/en

Things that the CNCF will do or help the project to do:

[x] Devstats: add to devstats https://devstats.cncf.io/
[x] Insights: add to LFX Insights https://insights.v3.lfx.linuxfoundation.org/
[x] Events: update CFP + Registration + CFP Area forms
[x] ServiceDesk: confirm maintainers have read https://www.cncf.io/services-for-projects/
[x] CNCF Welcome Email Sent to confirm maintainer list access
[x] Book time with the team with http://project-meetings.cncf.io
[ ] Adopt a license scanning tool, like FOSSA or Snyk

I've marked the second to last task off here since it's optional:

[ ] Book time with the team with http://project-meetings.cncf.io/

@RobertKielty if we can close out the last one, we can mark this complete:

[ ] Adopt a license scanning tool, like FOSSA or Snyk

I have sent out email invites to join the CNCF Snyk to @sun7927 @SSmallMonster @buffalo1024 @yankay @FloatXD @panpan0000 @zhaosimon and @windsonsea
Please accept the invites and import all projects in the https://github.com/hwameistor repo into your new Organziation on CNCF Snyk


Typelib file for namespace 'Playerctl' (any version) not found

I was trying to rewrite smth that currently uses playectl's follow mode to use the GObject api thingy
Docs are scarce for anything but python so idk if I did it right
full code here
But before I can test the code I get an error :(((
> require("lgi").Playerctl
/usr/share/lua/5.3/lgi/namespace.lua:158: Typelib file for namespace 'Playerctl' (any version) not found
stack traceback:
        [C]: in function 'assert'
        /usr/share/lua/5.3/lgi/namespace.lua:158: in function 'lgi.require'
        (...tail calls...)
        stdin:1: in main chunk
        [C]: in ?

from the lua repl
this is on ubuntu lts (20.04) with version 0.9.4 I think
https://packages.ubuntu.com/focal/lua-lgi
Im not sure exactly why im getting this error :sweat_smile:
Maybe its smth specific to ubuntu's version

I needed the gir1.2-playerctl-2.0 package


Updated list of supported named service ports

Problem: the list of supported named service port prefixes is outdated, which
is causing vet notes to be generated for valid service config. Also, the vet note
for service port prefix does not list the unsupported port prefixes in the note
body, which makes it difficult to rectify the config.
Solution: the list has been updated to contain all of the supported named port
prefixes as of Istio 1.1.0. The list can be found here. The long version of the vet
note is now more verbose. It contains a list of the unsupported port prefixes
that were found for a service, and it provides a link to the current Istio
documentation that lists all of the supported ones.
Fixes #46

Waiting for #52 to be merged before re-running the CI tests


Docs site needs updating for 2.3.0

(Original issue 1487 created by Deimos on 2018-12-11T04:20:32.741234+00:00)
Just noticed that there was a new version of Pygments and checked the site, but it looks like the docs haven't been updated yet - the newest version on the changelog page is still 2.2.0: http://pygments.org/docs/changelog/

(Original issue 1487 last updated on 2018-12-18T13:32:03.864613+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by Anteru on 2018-12-13T18:36:06.810449+00:00)
@birkenfeld Can you please help regenerate the website?

(Original comment by birkenfeld on 2018-12-18T13:32:04.023577+00:00)
I did, but I didn't notice that there was a snag in the process. Now fixed.


Torrent/magnets support

I know there are other solutions like peerflix or webtorrent, but they're node.js apps and its usage and installation its very tedious for the average user.
I found this while searching around:
https://github.com/touchandgo-devs/touchandgo
It's is posible to implement something like this on youtube-dl?

This is out of scope of youtube-dl.

Please, clear this up. Why is it out of scope? I'd like to write mentioned support.

With mpv it could be a nice feature.

I agree, it is completely out of scope.
You need to get your priorities straight. youtube-dl is primarily used to download videos for archival purposes.
Besides, it is written in python, and doing torrent with python is just... not good. Touchandgo, what you mentioned, is based on a python wrapper for libtorrent, and I didn't hear good things about that.
libtorrent is written in C++, and I think that is the gold standard when it comes to torrent. I would definitely use a torrent client that is based on libtorrent.
Anyway, just tacking some library x, that is not written in python, to youtube-dl is just not a very good idea, because it is just not feasible. It would require too much work, that can be used elsewhere instead.

No, I didn't mean using something outside of python scope. Although I agree that using c/c++ is better option, looking how flawlessly peerflix works make me think that this is an option to move on.

Well, yeah, I guess youtube-dl and node could be glued together, this would definitely open up exciting new possibilities. But as I said, it is a question of priorities..
By the way, can't you use peerflix together with mpv? Since peerflix uses Node, I'd assume that the output of the torrent stream gets directed through a local server, so it can be accessed with mpv via http, I think this should be possible.


Rendering issue in different resolution screens

Issue Details
The current application, when opened in a lower resolution screen (laptop) places the 4 columns tab within the prescribed space whereas when opened in a higher resolution screen (Monitor) there exist white spaces to the right side of the screen and appears to be a 6 columns tab.
[X ] Bug Report => Please search GitHub for a similar issue or PR before submitting
[ ] Feature Request => Please ensure feature is not already in progress
[ ] Support Request => Please do not submit support requests here, instead see: https://discourse.oss.antheminc.com/

Current Behavior
The current application, when opened in lower resolution screen (laptop) places the 4 columns tab within the prescribed space whereas when opened in a higher resolution screen (Monitor) there exist white spaces to the right side of the screen and appears to be a 6 columns tab. The look and feel of the application with these extra white spaces is not consistent and does not look good.
Expected Behavior
The display should look same in lower and higher resolution screens.
How to Reproduce the Issue
Steps to Reproduce
Please list the steps required to reproduce the issue (if any)
Code Snippet

Environment Details

Nimbus Version:
Nimbus Version is 1.3.1.M1

Browser:
Google Chrome

@lopezton-anthem @sandeepmantha

@CardDetail(cssClass="oneColumn") - Needs to be configured
When we specify the oneColumn to the card detail control, it specifies that the card details needs to align with the size of the screen and use the one column layout
@CardDetail.Body(cssClass="fourColumn")
The four column to the body forces the fields to align in a 4 column layout and the parent container having one column makes sure that the width automatically adjusts based on the full width of the parent container.


go-prompt behaves unexpected way when the description string has newline "\n" character

Bug reports
Expected Behavior
Either the description should trim away the new line charecters or show ...
Please describe the behavior you are expecting
Current Behavior and Steps to Reproduce
In the prompt.Suggest struct and the member variable Description give a string with newline "\n"
Context

Operating System: Any
Terminal Emulator: (i.e. iTerm2) Any
tag of go-prompt or commit revision: V 0.2.1

It's an expected behavior. The description field couldn't accept \n.

couldn't or should not. So you are expecting that the user should not pass a string to the "Description" variable with "\n". But even by miss if this scenario occurs, the behavior of the prompt results in a stale state and the prompted window stays. I request you just try it once and see for your self.
The issue is not a major one but just wanted to bring to your notice. It's a great project kudos.


more interesting example queries

:rabbit2:

the second one ("Check if maximum of date is after now") is a low-hanging fruit we can probably tackle soon. I'll add more as I see them.

Yeah - when you do, I'd like to make it an option to the typechecker. Just in case we ever do want a "resumable with no refutations", that requires folds not to mention now.


Build phase taking too long even with the correct flags

Description

Version
0.70.1
Output of npx react-native info
After migrate from 0.63.4 to 0.70.1 the build takes about 20 minutes on task ReactAndroid:hermes-engine:buildCMakeRelease[arm64-v8a][libhermes]
Steps to reproduce
Install 0.63.4 app
Upgrade to 0.70.1 using migration guide steps.
Gradle configuration as following:

Hermes engine enabled
Snack, code example, screenshot, or link to a repository
Also it comes with a bunch of warnings similar to this

After migrate from 0.63.4 to 0.70.1 the build takes about 20 minutes on task ReactAndroid:hermes-engine:buildCMakeRelease[arm64-v8a][libhermes]

That's happening only for the New Architecture.
Are you using the --active-arch-only flag suggested here?
https://reactnative.dev/docs/build-speed#build-only-one-abi-during-development-android-only
Moreover, please look into setting up ccache as suggested in the same page.
Sadly this is "expected" as of now. React Native 0.71 will contain improvements on the build time that should alleviate those situations

I'm always using --archive-arch-only and ccache is completely enabled and working.

Thank you, we will wait until 0.71 for a upgrade.


How to use reset() method?

Take a look here
https://github.com/AdelRedaa97/react-native-select-dropdown/blob/master/examples/demo2.js


[DeviceAPI] Add Spec on Backend

For #816
This commit will add DeviceAPI which will use on Device specify information.
ONE-vscode-DCO-1.0-Signed-off-by: struss<EMAIL_ADDRESS>

And I'd like you to add unittests for the classes.

@struss Adding this PR to sprint is intentional? @.@

@struss Adding this PR to sprint is intentional? @.@

Oh, I will fix it.

PTAL @hyunsik-yoon

@llFreetimell PTAL


Tweak header styles to address design review comments

What is this PR trying to achieve?
Addressing design review comments in #171. All bar the request to have the input caret 2px width (not possible without hacks AFAIK) have been completed.

Assuming the magic numbers are just tweak values

Yeah, just that. I'm not sure much more light can be shed on them, though. Would adding an e.g. // Design tweak comment help?

Would adding an e.g. // Design tweak comment help?

Not really sure - I suppose if we knew what it was an offset of.
On the point of tweaks, are we sure we not just adding to some browsers, but then setting it incorrectly in others? pixel perfect is not always achievable (alignment however is).


Add a ww deactivate-like command

Like conda deactivate, for example, it should undo the changes. Could make use of a ww_deactivate script on workspaces.

This easily could lead to inconsistencies.
I use to scrap a terminal and start a new one every time I need to switch "ww".

This easily could lead to inconsistencies.
Agreed.
I use to scrap a terminal and start a new one every time I need to switch "ww".
:thinking: Seems easier indeed. Do you think this is discussible or can I close this issue as "wontfix"?

I would prefer to mark as "wontfix".


Set default isFork and isArchived values on older instances

Set defaults so that RepoMeta does not have undefined values for boolean fields.

LGTM


Atom 1.12-Beta1 :atom.project.relativizePath behaviour changed.

Prerequisites

[x] Can you reproduce the problem in safe mode?
[x] Are you running the latest version of Atom?
[x] Did you check the debugging guide?
[x] Did you check the FAQs on Discuss?
[x] Are you reporting to the correct repository?
[x] Did you perform a cursory search to see if your bug or enhancement is already reported?

Description
In versions 1.11 and prior a call to atom.project.relativizePath would result in an array with array[0] being the project path and array[1] being the relative file path.
In version 1.12-beta1 the call returns array[0] null and array[1] the full path/filename. No project path
Steps to Reproduce
Given a file that exists inside a project call atom.projectRelativizePath(filename)

Expected behavior: [What you expected to happen]

Actual behavior: [What actually happened]

Versions
Windows 10
atom 1.12-Beta1

What's the output of atom.project.getPaths() in both those cases?

Interesting. Its a spec I'm running and I setPaths before testing and it appears it's setPaths at issue!
Atom 1.11.0

Atom 1.12.1-beta1

OK it's this commit https://github.com/atom/atom/commit/fe480d8fa4b5c980477c75598584d3a9de2f3309
I'll have to use temp fs and rework the specs!


New  component is missing factory and recipe

Hey, it looks like the new <Text /> component isn't being wrapped by the jsx factory with styled() and it's also not using the text recipe anymore. This causes all the JSX style props to just be forwarded into <Component />. Is that correct?
https://github.com/cschroeter/park-ui/commit/b809d7a11ec96f312fafef671f5b16f19debe4ce#diff-2b780ab533590cf97f45a899095b095eb2cb695b01810b73719d8b767c6bc1ccR35

probably related to #311

@alanhoff @gal1419 @marviobezerra
I had to rewrite the Text component to avoid using union intersection. Combining HTMLProps with JSXStyleProps across all possible HTML tags was too complex for TypeScript to handle. The updated component is now available for copy/fetch from the CLI.

Thanks @cschroeter!


.gitignore file to ignore IntelliJ files

IntelliJ files should be ignored by the Git Version Control.

Why?

Thanks Dudeee its small step for u but big step for YE :D


JWT policy not working

(NOTE: This is used to report product bugs:
To report a security vulnerability, please visit https://istio.io/about/security-vulnerabilities/
To ask questions about how to use Istio, please visit https://discuss.istio.io
)
Bug description
No matter what I do I cannot get end user authentication via jwt to work. I've followed https://istio.io/docs/tasks/security/authz-http/ and got it working but then when I try adding in jwt auth, it all falls apart.
I've followed https://medium.com/google-cloud/back-to-microservices-with-istio-part-2-authentication-authorization-b079f77358ac (which is using an older version of istio but I understand that) and it's the same thing.
I am seeing an error in istio-ingressgateway that reads routines:OPENSSL_internal:WRONG_VERSION_NUMBER and getting an http 503 that reads upstream connect error or disconnect/reset before headers. reset reason: connection failure.
Here are some logs
istio-ingressgateway
[2019-10-05 12:17:31.602][40][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:247] [C24] new stream
[2019-10-05 12:17:31.603][40][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:620] [C24][S14839543216456405937] request headers complete (end_stream=true):
':authority', 'localhost'
':path', '/productpage'
':method', 'GET'
'content-type', 'application/json'
'authorization', 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFqQkVOakEyUkVOQ01UaENNamcxTmpZNVJUWTJPVE0wUXpZeU5FSkdPVFE0UkVJMVF6QkJNdyJ9.eyJpc3MiOiJodHRwczovL2ZvcmVzdHJ5aW8uYXV0aDAuY29tLyIsInN1YiI6IkJud3ZJc0Fxbmt3UTBNeWZ5dTBIN1dJcHFTSmV0WWRIQGNsaWVudHMiLCJhdWQiOiJodHRwczovL2ZvcmVzdHJ5dGVzdC5pbyIsImlhdCI6MTU3MDIxNDQxMCwiZXhwIjoxNTcwMzAwODEwLCJhenAiOiJCbnd2SXNBcW5rd1EwTXlmeXUwSDdXSXBxU0pldFlkSCIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.EJ6XLyn5z7AqNx61YPHNcn_DzmvZIHuAN5YNMq9YZ8tbrIV_lr3e2fm2_wyLsLGPv6DMR1L4ruEStGXHasfowjx1r8aBbh944mbM4Ys7Qkeo-rxHtIEdhjefw4CuNHWFYLZ3IOXqm06a2jrdkRXE6IqROBuckoCstc9OxQtbu64jsumNkg-EFjy33GPWpqgGbJkLIn9WVfKbeA_4xEPc_NOrQom6jj34pU3qrWf0-SypBtrFySp2j6RI0RfmjBwmVfFedQXYP7CXSsyqYoIai2iuehgYeyVl_zQucpB5CqnhxTPt6ox_o6gEr9jfMZSm092QnPj8qzfG9rkZBzfC_A'
'user-agent', 'PostmanRuntime/7.17.1'
'accept', '*/*'
'cache-control', 'no-cache'
'postman-token', '5a528ba8-141f-4924-bf4d-048a8c41b286'
'accept-encoding', 'gzip, deflate'
'connection', 'keep-alive'

[2019-10-05 12:17:31.603][40][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:1167] [C24][S14839543216456405937] request end stream
[2019-10-05 12:17:31.603][40][debug][filter] [src/envoy/http/mixer/filter.cc:47] Called Mixer::Filter : Filter
[2019-10-05 12:17:31.603][40][debug][filter] [src/envoy/http/mixer/filter.cc:154] Called Mixer::Filter : setDecoderFilterCallbacks
[2019-10-05 12:17:31.603][40][debug][filter] [src/envoy/http/mixer/filter.cc:70] Called Mixer::Filter : decodeHeaders
[2019-10-05 12:17:31.603][40][debug][filter] [./src/envoy/utils/header_update.h:46] Mixer forward attributes set: CikKGGRlc3RpbmF0aW9uLnNlcnZpY2UubmFtZRINEgtwcm9kdWN0cGFnZQoqCh1kZXN0aW5hdGlvbi5zZXJ2aWNlLm5hbWVzcGFjZRIJEgdkZWZhdWx0Ck8KCnNvdXJjZS51aWQSQRI/a3ViZXJuZXRlczovL2lzdGlvLWluZ3Jlc3NnYXRld2F5LTdkYjRjNjZkNTgtbTdiNDUuaXN0aW8tc3lzdGVtCkMKGGRlc3RpbmF0aW9uLnNlcnZpY2UuaG9zdBInEiVwcm9kdWN0cGFnZS5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsCkEKF2Rlc3RpbmF0aW9uLnNlcnZpY2UudWlkEiYSJGlzdGlvOi8vZGVmYXVsdC9zZXJ2aWNlcy9wcm9kdWN0cGFnZQ==
[2019-10-05 12:17:31.603][40][debug][filter] [src/envoy/http/mixer/filter.cc:162] Called Mixer::Filter : check complete OK
[2019-10-05 12:17:31.603][40][debug][router] [external/envoy/source/common/router/router.cc:402] [C24][S14839543216456405937] cluster 'outbound|9080||productpage.default.svc.cluster.local' match for URL '/productpage'
[2019-10-05 12:17:31.603][40][debug][router] [external/envoy/source/common/router/router.cc:515] [C24][S14839543216456405937] router decoding headers:
':authority', 'localhost'
':path', '/productpage'
':method', 'GET'
':scheme', 'https'
'content-type', 'application/json'
'authorization', 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFqQkVOakEyUkVOQ01UaENNamcxTmpZNVJUWTJPVE0wUXpZeU5FSkdPVFE0UkVJMVF6QkJNdyJ9.eyJpc3MiOiJodHRwczovL2ZvcmVzdHJ5aW8uYXV0aDAuY29tLyIsInN1YiI6IkJud3ZJc0Fxbmt3UTBNeWZ5dTBIN1dJcHFTSmV0WWRIQGNsaWVudHMiLCJhdWQiOiJodHRwczovL2ZvcmVzdHJ5dGVzdC5pbyIsImlhdCI6MTU3MDIxNDQxMCwiZXhwIjoxNTcwMzAwODEwLCJhenAiOiJCbnd2SXNBcW5rd1EwTXlmeXUwSDdXSXBxU0pldFlkSCIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.EJ6XLyn5z7AqNx61YPHNcn_DzmvZIHuAN5YNMq9YZ8tbrIV_lr3e2fm2_wyLsLGPv6DMR1L4ruEStGXHasfowjx1r8aBbh944mbM4Ys7Qkeo-rxHtIEdhjefw4CuNHWFYLZ3IOXqm06a2jrdkRXE6IqROBuckoCstc9OxQtbu64jsumNkg-EFjy33GPWpqgGbJkLIn9WVfKbeA_4xEPc_NOrQom6jj34pU3qrWf0-SypBtrFySp2j6RI0RfmjBwmVfFedQXYP7CXSsyqYoIai2iuehgYeyVl_zQucpB5CqnhxTPt6ox_o6gEr9jfMZSm092QnPj8qzfG9rkZBzfC_A'
'user-agent', 'PostmanRuntime/7.17.1'
'accept', '*/*'
'cache-control', 'no-cache'
'postman-token', '5a528ba8-141f-4924-bf4d-048a8c41b286'
'accept-encoding', 'gzip, deflate'
'x-forwarded-for', '<IP_ADDRESS>'
'x-forwarded-proto', 'http'
'x-envoy-internal', 'true'
'x-request-id', '12fe8fce-2d7e-4d9f-8ac5-988627ecb1af'
'x-envoy-decorator-operation', 'productpage.default.svc.cluster.local:9080/productpage'
'x-istio-attributes', 'CikKGGRlc3RpbmF0aW9uLnNlcnZpY2UubmFtZRINEgtwcm9kdWN0cGFnZQoqCh1kZXN0aW5hdGlvbi5zZXJ2aWNlLm5hbWVzcGFjZRIJEgdkZWZhdWx0Ck8KCnNvdXJjZS51aWQSQRI/a3ViZXJuZXRlczovL2lzdGlvLWluZ3Jlc3NnYXRld2F5LTdkYjRjNjZkNTgtbTdiNDUuaXN0aW8tc3lzdGVtCkMKGGRlc3RpbmF0aW9uLnNlcnZpY2UuaG9zdBInEiVwcm9kdWN0cGFnZS5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsCkEKF2Rlc3RpbmF0aW9uLnNlcnZpY2UudWlkEiYSJGlzdGlvOi8vZGVmYXVsdC9zZXJ2aWNlcy9wcm9kdWN0cGFnZQ=='
'x-b3-traceid', '0185f0e2586044a14a995a2cbfcd8625'
'x-b3-spanid', '4a995a2cbfcd8625'
'x-b3-sampled', '0'

[2019-10-05 12:17:31.603][40][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:89] creating a new connection
[2019-10-05 12:17:31.603][40][debug][client] [external/envoy/source/common/http/codec_client.cc:26] [C87] connecting
[2019-10-05 12:17:31.603][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:704] [C87] connecting to <IP_ADDRESS>:9080
[2019-10-05 12:17:31.603][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:713] [C87] connection in progress
[2019-10-05 12:17:31.603][40][debug][pool] [external/envoy/source/common/http/conn_pool_base.cc:20] queueing request due to no available connections
[2019-10-05 12:17:31.603][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:552] [C87] connected
[2019-10-05 12:17:31.603][40][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:167] [C87] handshake error: 2
[2019-10-05 12:17:31.608][40][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:167] [C87] handshake error: 1
[2019-10-05 12:17:31.608][40][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:200] [C87] TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
[2019-10-05 12:17:31.608][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:190] [C87] closing socket: 0
[2019-10-05 12:17:31.608][40][debug][client] [external/envoy/source/common/http/codec_client.cc:82] [C87] disconnect. resetting 0 pending requests
[2019-10-05 12:17:31.608][40][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:130] [C87] client disconnected, failure reason: TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
[2019-10-05 12:17:31.608][40][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:161] [C87] purge pending, failure reason: TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
[2019-10-05 12:17:31.608][40][debug][router] [external/envoy/source/common/router/router.cc:876] [C24][S14839543216456405937] upstream reset: reset reason connection failure
[2019-10-05 12:17:31.608][40][debug][router] [external/envoy/source/common/router/router.cc:1225] [C24][S14839543216456405937] performing retry
[2019-10-05 12:17:31.629][40][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:89] creating a new connection
[2019-10-05 12:17:31.629][40][debug][client] [external/envoy/source/common/http/codec_client.cc:26] [C88] connecting
[2019-10-05 12:17:31.629][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:704] [C88] connecting to <IP_ADDRESS>:9080
[2019-10-05 12:17:31.629][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:713] [C88] connection in progress
[2019-10-05 12:17:31.629][40][debug][pool] [external/envoy/source/common/http/conn_pool_base.cc:20] queueing request due to no available connections
[2019-10-05 12:17:31.629][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:552] [C88] connected
[2019-10-05 12:17:31.629][40][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:167] [C88] handshake error: 2
[2019-10-05 12:17:31.632][40][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:167] [C88] handshake error: 1
[2019-10-05 12:17:31.632][40][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:200] [C88] TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
[2019-10-05 12:17:31.632][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:190] [C88] closing socket: 0
[2019-10-05 12:17:31.632][40][debug][client] [external/envoy/source/common/http/codec_client.cc:82] [C88] disconnect. resetting 0 pending requests
[2019-10-05 12:17:31.632][40][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:130] [C88] client disconnected, failure reason: TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
[2019-10-05 12:17:31.632][40][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:161] [C88] purge pending, failure reason: TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
[2019-10-05 12:17:31.632][40][debug][router] [external/envoy/source/common/router/router.cc:876] [C24][S14839543216456405937] upstream reset: reset reason connection failure
[2019-10-05 12:17:31.632][40][debug][router] [external/envoy/source/common/router/router.cc:1225] [C24][S14839543216456405937] performing retry
[2019-10-05 12:17:31.662][40][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:89] creating a new connection
[2019-10-05 12:17:31.662][40][debug][client] [external/envoy/source/common/http/codec_client.cc:26] [C89] connecting
[2019-10-05 12:17:31.662][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:704] [C89] connecting to <IP_ADDRESS>:9080
[2019-10-05 12:17:31.663][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:713] [C89] connection in progress
[2019-10-05 12:17:31.663][40][debug][pool] [external/envoy/source/common/http/conn_pool_base.cc:20] queueing request due to no available connections
[2019-10-05 12:17:31.663][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:552] [C89] connected
[2019-10-05 12:17:31.663][40][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:167] [C89] handshake error: 2
[2019-10-05 12:17:31.665][40][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:167] [C89] handshake error: 1
[2019-10-05 12:17:31.665][40][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:200] [C89] TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
[2019-10-05 12:17:31.665][40][debug][connection] [external/envoy/source/common/network/connection_impl.cc:190] [C89] closing socket: 0
[2019-10-05 12:17:31.665][40][debug][client] [external/envoy/source/common/http/codec_client.cc:82] [C89] disconnect. resetting 0 pending requests
[2019-10-05 12:17:31.665][40][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:130] [C89] client disconnected, failure reason: TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
[2019-10-05 12:17:31.665][40][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:161] [C89] purge pending, failure reason: TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
[2019-10-05 12:17:31.665][40][debug][router] [external/envoy/source/common/router/router.cc:876] [C24][S14839543216456405937] upstream reset: reset reason connection failure
[2019-10-05 12:17:31.665][40][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:1242] [C24][S14839543216456405937] Sending local reply with details upstream_reset_before_response_started{connection failure,TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER}
[2019-10-05 12:17:31.665][40][debug][filter] [src/envoy/http/mixer/filter.cc:141] Called Mixer::Filter : encodeHeaders 2
[2019-10-05 12:17:31.665][40][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:1435] [C24][S14839543216456405937] encoding headers via codec (end_stream=false):
':status', '503'
'content-length', '91'
'content-type', 'text/plain'
'date', 'Sat, 05 Oct 2019 12:17:31 GMT'
'server', 'istio-envoy'

[2019-10-05 12:17:31.665][40][debug][filter] [src/envoy/http/mixer/filter.cc:214] Called Mixer::Filter : onDestroy state: 2
[2019-10-05 12:17:31.665][40][debug][filter] [src/envoy/http/mixer/filter.cc:228] Called Mixer::Filter : log
[2019-10-05 12:17:31.665][40][debug][filter] [./src/envoy/http/mixer/report_data.h:144] No dynamic_metadata found for filter envoy.filters.http.rbac
[2019-10-05 12:17:31.665][40][debug][filter] [src/istio/control/client_context_base.cc:138] Report attributes: attributes {
  key: "connection.mtls"
  value {
    bool_value: false
  }
}
attributes {
  key: "context.protocol"
  value {
    string_value: "http"
  }
}
attributes {
  key: "context.prox

productpage pod (it's a test jwt)
_proxy/tcp_proxy.cc:201] [C162] new tcp proxy session
[2019-10-05 12:22:00.142][29][debug][filter] [src/envoy/tcp/mixer/filter.cc:133] [C162] Called tcp filter onNewConnection: remote <IP_ADDRESS>:57018, local <IP_ADDRESS>:9080
[2019-10-05 12:22:00.142][29][debug][filter] [external/envoy/source/common/tcp_proxy/tcp_proxy.cc:344] [C162] Creating connection to cluster inbound|9080|https|productpage.default.svc.cluster.local
[2019-10-05 12:22:00.142][29][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:82] creating a new connection
[2019-10-05 12:22:00.143][29][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:362] [C163] connecting
[2019-10-05 12:22:00.143][29][debug][connection] [external/envoy/source/common/network/connection_impl.cc:704] [C163] connecting to <IP_ADDRESS>:9080
[2019-10-05 12:22:00.143][29][debug][connection] [external/envoy/source/common/network/connection_impl.cc:713] [C163] connection in progress
[2019-10-05 12:22:00.143][29][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:108] queueing request due to no available connections
[2019-10-05 12:22:00.143][29][debug][main] [external/envoy/source/server/connection_handler_impl.cc:287] [C162] new connection
[2019-10-05 12:22:00.143][29][debug][connection] [external/envoy/source/common/network/connection_impl.cc:552] [C163] connected
[2019-10-05 12:22:00.143][29][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:283] [C163] assigning connection
[2019-10-05 12:22:00.143][29][debug][filter] [external/envoy/source/common/tcp_proxy/tcp_proxy.cc:544] TCP:onUpstreamEvent(), requestedServerName:
[2019-10-05 12:22:00.143][29][debug][filter] [src/envoy/tcp/mixer/filter.cc:143] Called tcp filter completeCheck: OK
[2019-10-05 12:22:00.143][29][debug][filter] [src/istio/control/client_context_base.cc:138] Report attributes: attributes {
  key: "connection.event"
  value {
    string_value: "open"
  }
}
attributes {
  key: "connection.id"
  value {
    string_value: "ba8add37-ba59-4e11-8cd7-3ef54768d77e-162"

[2019-10-05 12:22:00.143][29][debug][filter] [src/envoy/tcp/mixer/filter.cc:100] [C162] Called tcp filter onRead bytes: 1279
[2019-10-05 12:22:00.144][29][debug][filter] [src/envoy/tcp/mixer/filter.cc:123] [C162] Called tcp filter onWrite bytes: 710
[2019-10-05 12:22:00.145][29][debug][filter] [src/envoy/tcp/mixer/filter.cc:100] [C162] Called tcp filter onRead bytes: 7
[2019-10-05 12:22:00.145][29][debug][filter] [src/envoy/tcp/mixer/filter.cc:123] [C162] Called tcp filter onWrite bytes: 0
[2019-10-05 12:22:00.145][29][debug][misc] [external/envoy/source/common/network/io_socket_error_impl.cc:29] Unknown error code 104 details Connection reset by peer
[2019-10-05 12:22:00.145][29][debug][connection] [external/envoy/source/common/network/connection_impl.cc:520] [C162] remote close
[2019-10-05 12:22:00.145][29][debug][connection] [external/envoy/source/common/network/connection_impl.cc:190] [C162] closing socket: 0
[2019-10-05 12:22:00.145][29][debug][filter] [src/envoy/tcp/mixer/filter.cc:174] [C162] Called tcp filter onEvent: 0 upstream <IP_ADDRESS>:9080
[2019-10-05 12:22:00.145][29][debug][filter] [src/istio/control/client_context_base.cc:138] Report attributes: attributes {
  key: "connection.duration"
  value {
    duration_value {
      nanos: 2712000
    }
  }
}
attributes {
  key: "connection.event"
  value {
    string_value: "close"
  }
}
at
[2019-10-05 12:22:00.145][29][debug][connection] [external/envoy/source/common/network/connection_impl.cc:101] [C163] closing data_to_write=0 type=0
[2019-10-05 12:22:00.145][29][debug][connection] [external/envoy/source/common/network/connection_impl.cc:190] [C163] closing socket: 1
[2019-10-05 12:22:00.145][29][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:123] [C163] client disconnected
[2019-10-05 12:22:00.145][29][debug][main] [external/envoy/source/server/connection_handler_impl.cc:80] [C162] adding to cleanup list
[2019-10-05 12:22:00.145][29][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:236] [C163] connection destroyed
[2019-10-05 12:22:00.145][29][debug][filter] [src/envoy/tcp/mixer/filter.cc:35] Called tcp filter : ~Filter
[2019-10-05 12:22:00.192][28][debug][filter] [external/envoy/source/extensions/filters/listener/original_dst/original_dst.cc:18] original_dst: New connection accepted
[2019-10-05 12:22:00.192][28][debug][filter] [src/envoy/tcp/mixer/filter.cc:30] Called tcp filter: Filter
[2019-10-05 12:22:00.192][28][debug][filter] [src/envoy/tcp/mixer/filter.cc:40] Called tcp filter: initializeReadFilterCallbacks
[2019-10-05 12:22:00.192][28][debug][filter] [external/envoy/source/common/tcp_proxy/tcp_proxy.cc:201] [C164] new tcp proxy session
[2019-10-05 12:22:00.192][28][debug][filter] [src/envoy/tcp/mixer/filter.cc:133] [C164] Called tcp filter onNewConnection: remote <IP_ADDRESS>:57022, local <IP_ADDRESS>:9080
[2019-10-05 12:22:00.192][28][debug][filter] [external/envoy/source/common/tcp_proxy/tcp_proxy.cc:344] [C164] Creating connection to cluster inbound|9080|https|productpage.default.svc.cluster.local
[2019-10-05 12:22:00.192][28][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:82] creating a new connection
[2019-10-05 12:22:00.192][28][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:362] [C165] connecting
[2019-10-05 12:22:00.192][28][debug][connection] [external/envoy/source/common/network/connection_impl.cc:704] [C165] connecting to <IP_ADDRESS>:9080
[2019-10-05 12:22:00.192][28][debug][connection] [external/envoy/source/common/network/connection_impl.cc:713] [C165] connection in progress
[2019-10-05 12:22:00.192][28][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:108] queueing request due to no available connections
[2019-10-05 12:22:00.192][28][debug][main] [external/envoy/source/server/connection_handler_impl.cc:287] [C164] new connection
[2019-10-05 12:22:00.192][28][debug][connection] [external/envoy/source/common/network/connection_impl.cc:552] [C165] connected
[2019-10-05 12:22:00.192][28][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:283] [C165] assigning connection
[2019-10-05 12:22:00.192][28][debug][filter] [external/envoy/source/common/tcp_proxy/tcp_proxy.cc:544] TCP:onUpstreamEvent(), requestedServerName:
[2019-10-05 12:22:00.192][28][debug][filter] [src/envoy/tcp/mixer/filter.cc:143] Called tcp filter completeCheck: OK
[2019-10-05 12:22:00.192][28][debug][filter] [src/istio/control/client_context_base.cc:138] Report attributes: attributes {
  key: "connection.event"
  value {
    string_value: "open"
  }
}
attributes {
  key: "connection.id"
  value {
    string_value: "ba8add37-ba59-4e11-8cd7-3ef54768d77e-164"

[2019-10-05 12:22:00.192][28][debug][filter] [src/envoy/tcp/mixer/filter.cc:100] [C164] Called tcp filter onRead bytes: 1279
[2019-10-05 12:22:00.194][28][debug][filter] [src/envoy/tcp/mixer/filter.cc:123] [C164] Called tcp filter onWrite bytes: 711
[2019-10-05 12:22:00.194][28][debug][filter] [src/envoy/tcp/mixer/filter.cc:123] [C164] Called tcp filter onWrite bytes: 0
[2019-10-05 12:22:00.194][28][debug][filter] [src/envoy/tcp/mixer/filter.cc:100] [C164] Called tcp filter onRead bytes: 7
[2019-10-05 12:22:00.194][28][debug][misc] [external/envoy/source/common/network/io_socket_error_impl.cc:29] Unknown error code 104 details Connection reset by peer
[2019-10-05 12:22:00.194][28][debug][connection] [external/envoy/source/common/network/connection_impl.cc:520] [C164] remote close
[2019-10-05 12:22:00.194][28][debug][connection] [external/envoy/source/common/network/connection_impl.cc:190] [C164] closing socket: 0
[2019-10-05 12:22:00.194][28][debug][filter] [src/envoy/tcp/mixer/filter.cc:174] [C164] Called tcp filter onEvent: 0 upstream <IP_ADDRESS>:9080
[2019-10-05 12:22:00.195][28][debug][filter] [src/istio/control/client_context_base.cc:138] Report attributes: attributes {
  key: "connection.duration"
  value {
    duration_value {
      nanos: 2720000
    }
  }
}
attributes {
  key: "connection.event"
  value {
    string_value: "close"
  }
}
at
[2019-10-05 12:22:00.195][28][debug][connection] [external/envoy/source/common/network/connection_impl.cc:101] [C165] closing data_to_write=0 type=0
[2019-10-05 12:22:00.195][28][debug][connection] [external/envoy/source/common/network/connection_impl.cc:190] [C165] closing socket: 1
[2019-10-05 12:22:00.195][28][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:123] [C165] client disconnected
[2019-10-05 12:22:00.195][28][debug][main] [external/envoy/source/server/connection_handler_impl.cc:80] [C164] adding to cleanup list
[2019-10-05 12:22:00.195][28][debug][pool] [external/envoy/source/common/tcp/conn_pool.cc:236] [C165] connection destroyed
[2019-10-05 12:22:00.195][28][debug][filter] [src/envoy/tcp/mixer/filter.cc:35] Called tcp filter : ~Filter
[2019-10-05 12:22:01.094][22][debug][main] [external/envoy/source/server/server.cc:173] flushing stats

I've added a policy of
apiVersion: authentication.istio.io/v1alpha1
kind: Policy
metadata:
  name: auth-policy
spec:
  targets:
  - name: productpage
  origins:
  - jwt:
      issuer: "MY ISSUER"
      jwksUri: "MY JWKS URL"
  principalBinding: USE_ORIGIN

And ServiceRole/ServiceRoleBinding of
apiVersion: "rbac.istio.io/v1alpha1"
kind: ServiceRole
metadata:
  name: regular-user
  namespace: default
spec:
  rules:
  - services:
    - "sa-frontend.default.svc.cluster.local"
    - "sa-web-app.default.svc.cluster.local"
    paths: ["*"]
    methods: ["*"]
---
apiVersion: "rbac.istio.io/v1alpha1"
kind: ServiceRoleBinding
metadata:
  name: regular-user-binding
  namespace: default
spec:
  subjects:
  - properties:
      request.auth.claims[sub]: "BnwvIsAqnkwQ0Myfyu0H7WIpqSJetYdH@clients"
  roleRef:
    kind: ServiceRole
    name: "regular-user"

Other than that, the is the default productpage app with rbac enabled.
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ x ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ x ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
It should work
Steps to reproduce the bug
Follow the tutorial at https://istio.io/docs/tasks/security/authz-http/ and add jwt auth.
Version (include the output of istioctl version --remote and kubectl version)
$ istioctl version --remote
client version: unknown
control plane version: 1.3.0

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.1", GitCommit:"4485c6f18cee9a5d3c3b4e523bd27972b1b53892", GitTreeState:"clean", BuildDate:"2019-07-18T14:25:20Z", GoVersion:"go1.12.7", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.6", GitCommit:"96fac5cd13a5dc064f7d9f4f23030a6aeface6cc", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:16Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}

How was Istio installed?
Via helm chart template with values.yaml of
global:
  mtls:
    enabled: true
  controlPlaneSecurityEnabled: true
tracing:
  enabled: true
kiali:
  enabled: true
grafana:
  enabled: true
security:
  enabled: true
prometheus:
  enabled: true
certmanager:
  enabled: false
gateways:
  enabled: true

Environment where bug was observed (cloud vendor, OS, etc)
EKS
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.

I was able to get things working successfully with mTLS turned off. But that's obviously not ideal.

I finally got this figured out. I think it's mostly a documentation issue. What it came down to was that the default policy that was enabling mtls was being overridden by the policy that was applying the jwt configuration. The documentation lead me to believe that both policies would apply. I'm not sure why it lead me to believe that though.
I think the only thing actionable would be to state it somewhere in the documentation.

Hi @jpatters, I am also facing the same issue. A while back I tried istio authentication it was working as excepted (like 401 in case of invalid/no token and proper return in case of valid tokens). But today when I tried to add istio to my new cluster(gke), authentication policy was not getting injected. All the requests are going through without any tokens.
Please let me know how you rectified your issue

I solved it by adding mtls to my policy (which i thought was already being applied by the default policy i had in place):
apiVersion: authentication.istio.io/v1alpha1
kind: Policy
metadata:
  name: auth-policy
spec:
  peers:
  - mtls:
      mode: STRICT
  targets:
  - name: productpage
  origins:
  - jwt:
      issuer: "MY ISSUER"
      jwksUri: "MY JWKS URL"
  principalBinding: USE_ORIGIN

Also check your destination rule and ensure that you have
trafficPolicy:
    tls:
      mode: ISTIO_MUTUAL

But to be honest, I gave up on istio. It was just too fragile. I would change something seemingly unrelated and completely break everything. I was spending way too much time debugging issues that shouldn't have been happening.
To be fair, I think this is mostly a documentation issue.
I also found it to be somewhat limiting when using it for authentication. So I've opted to use linkerd with my own authentication instead.

@jpatters - Hi Jordan, I am having an similar issue where i get 401 UnAuthorized in my dotnet core api when it makes a call to a backend api secured using this policy
apiVersion: "authentication.istio.io/v1alpha1"
kind: "Policy"
metadata:
name: demopolicy
spec:
targets:

name: api
ports:

number: 80
origins:

jwt:
issuer: "http://<IP_ADDRESS>"
jwksUri: "http://<IP_ADDRESS>/.well-known/openid-configuration/jwks"
principalBinding: USE_ORIGIN

I get this error in my calling api project...

Similar issue both v1.4.0 as well...

The original issue is due to JWT authentication policy missing the mTLS setting and is not related to JWT. @mobamb @Starefossen Could you file a separate issue with more logs? It seems it's not related to mTLS in your case.
@jpatters, Sorry for the inconvenience, there are several improvements to improve this user experience, for example, Istio 1.5 will have the new JWT policy that is only used for JWT authentication and you don't need to worry about configuring mTLS in the JWT policy anymore.


Missing response validation

This is my OAS2.0-YAML:
swagger: '2.0'
info:
  title: AD Common
  version: '0.1'
  description: Description

host: 'test.domain.com:56683'
schemes:
  - http

paths:
  /roles:
    get:
      summary: Retrieves roles for authenticated user
      security:
        - BasicAuth: []
      responses:
        '200':
          description: Available roles for authenticated user
          schema:
            type: array
            items:
              type: integer

Then I start the proxy:
User> prism proxy "C:\path\to\proxyCheck.yaml" test.domain.com:56683/api/v2 --errors
$ [17:25:27] » [CLI] ...  awaiting  Starting Prism…
$ [17:25:27] » [CLI] i  info      GET        http://<IP_ADDRESS>:4010/roles
$ [17:25:27] » [CLI] ►  start     Prism is listening on http://<IP_ADDRESS>:4010

Then, in a separate shell I put:
User>curl -iL "http://<IP_ADDRESS>:4010/roles" -H "Authorization: Basic validToken"
$ HTTP/1.1 200 OK
$ Access-Control-Allow-Origin: *
$ Access-Control-Allow-Headers: *
$ Access-Control-Allow-Credentials: true
$ Access-Control-Expose-Headers: *
$ date: Mon, 27 May 2024 15:29:27 GMT
$ server: Apache
$ cache-control: no-cache
$ expires: Thu, 29 Oct 1998 17:04:19 GMT
$ pragma: no-cache
$ Content-Length: 39
$ content-type: application/json; charset=utf-8
$ Connection: keep-alive
$ Keep-Alive: timeout=5

$ ["%All","CommunityAdmin","SystemAdmin"]

The important thing here (at least my interpretation) there are headers returned along with an array of strings...
Current Behavior

According to the scheme, this should throw a validation error, since it expects an array of integers but receives one with strings ["%All","CommunityAdmin","SystemAdmin"]. However, nothing shows up in the proxy shell:
[17:29:26] »     [PROXY] i  info      > Forwarding "get" request to http://test.bint.ch:56683/api/v2/roles...
[17:29:26] »     [PROXY] i  info      The upstream call to /roles has returned 200
[17:29:26] »     [PROXY] i  info      < Received forward response

Expected Behavior

I would like something along the lines of
[17:06:03] »     [VALIDATOR] ‼  warning   Violation: Message
Possible Workaround/Solution

I've looked into -v=trace, which made me realise that there aren't any headers as per prism, so it might be a parsing issue?
[17:43:15] » [HTTP SERVER] get /roles i  info      Request received
[17:43:15] »     [PROXY] i  info      > Forwarding "get" request to http://test.bint.ch:56683/api/v2/roles...
[17:43:15] »     [PROXY] ⬤  debug     > Headers:
[17:43:15] »     [PROXY] ⬤  debug     >         host: <IP_ADDRESS>:4010
[17:43:15] »     [PROXY] ⬤  debug     >         user-agent: curl/8.4.0
[17:43:15] »     [PROXY] ⬤  debug     >         accept: */*
[17:43:15] »     [PROXY] ⬤  debug     >         authorization: Basic c2FkbTpwd2Q=
[17:43:15] »     [PROXY] i  info      The upstream call to /roles has returned 200
[17:43:15] »     [PROXY] i  info      < Received forward response
[17:43:15] »     [PROXY] ⬤  debug     < Status: 200
[17:43:15] »     [PROXY] ⬤  debug     < Headers:
[17:43:15] »     [PROXY] ⬤  debug     < Body: {"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":{"data":{"type":"Buffer","data":[91,34,37,65,108,108,34,44,34,67,111,109,109,117,110,105,116,121,65,100,109,105,110,34,44,34,83,121,115,116,101,109,65,100,109,105,110,34,93]},"next":null},"tail":{"data":{"type":"Buffer","data":[91,34,37,65,108,108,34,44,34,67,111,109,109,117,110,105,116,121,65,100,109,105,110,34,44,34,83,121,115,116,101,109,65,100,109,105,110,34,93]},"next":null},"length":1},"length":39,"pipes":[],"flowing":null,"ended":true,"endEmitted":false,"reading":false,"constructed":true,"sync":false,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":true,"autoDestroy":true,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"dataEmitted":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":2,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":true,"needDrain":false,"ending":true,"ended":true,"finished":true,"destroyed":false,"decodeStrings":true,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"constructed":true,"prefinished":true,"errorEmitted":false,"emitClose":true,"autoDestroy":true,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":true}

Environment

prism version: 5.8.1
Windows 10
curl 8.4.0

Please let me know if I can provide you with any further information. Thank you so very much!!

@JumpHoysteria could you try adding the produces property to your spec to see if that resolves your issue? Its not a required property, but Prism does use that to process responses.

Thank you so very much! It works now! I had a similar case that a request with json-object in body wasn't validated, but with analogous reasoning the route-specific addition of "consumes" solved the issue! Cheers again and have a nice weekend!


Cannot access https://nuget.org from azure cloud.

I see reset packets coming from nuget's servers when trying to access the site.
For issues regarding the NuGet client tools (the Visual Studio extension, NuGet.exe command line tool, etc.), file a bug on NuGet Home.
For issues connecting to NuGet.org, please refer to this guide.
For issues regarding your NuGet.org account, please refer to this guide.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

On this URL '...'
Perform this operation '...'
See error

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

The issue is being handled over the email.


PR in lila will change keyboard help

test that the LT help still works.

Had to make changes to the keyboard help tool in v2.1.15 for commit https://github.com/lichess-org/lila/pull/13624


Request for Permission to Use Salient Object Detection Prediction Images and Digital Signature

Hello author, I have used the prediction map provided by your model in my paper to compare the picture effect, but the journal requires the license to use the relevant pictures, and the author's electronic signature or institutional signature is needed, I have sent the email to you or the corresponding author of the paper, can you reply to me, thank you very much.

Hello author, I used the prediction graph provided by your model to compare the picture effect in my paper, but the journal requires authorization to use the related picture, which needs the author's electronic signature or the institution's signature, I<EMAIL_ADDRESS>have sent an email to you or the corresponding author of the paper, can you reply me, thank you very much.


4240 login messages

@DanielJMaher I didn't add a Success message because the modal disappears before you can read one. I can add a pop up but that will just create one more step to logging in. Plus, once you are logged in your user name is displayed on the navbar.

@dlangston , is this good to go?

should be if it looks okay to you

Wait.. what happens after the three attempts?

@dlangston

@FBRTMaka Hold off for a second

@DanielJMaher
you are locked out until you close and reopen login

@dlangston Let's not give them a limit.  I like the idea for now, but lets just give them an infinite amount for now and jsut tel them the combo is wrong. Don't delete the cod ethough, we might want it later when password reset works.

Sounds good.

@DanielJMaher made the message blink every time you enter the wrong password. i left in the counter sense i had already done it. let me know if you want me to remove it though.

@DanielJMaher removed the counter

@birdage

@FBRTMaka
added ;

@dlangston Yay! Looks great! Merging!


IDVA3-1302 added tracking to psc list

added matomo tracking to psc list's radio option, continue button and back link

CI: No security warnings found


[#4778]  feat(iceberg) remove server-common depencences from Iceberg catalog

What changes were proposed in this pull request?
remove server-common depencences from Iceberg catalog
Why are the changes needed?
Fix: #4778
Does this PR introduce any user-facing change?
no
How was this patch tested?

I guess there're several other dependencies like jetty/jersey can be removed?

I guess there're several other dependencies like jetty/jersey can be removed?

yes，but this is not the scoped of this PR, it should be addressed by #4548


Improve Button Styling

If we see the below given image before hovering on the button, the button is being totally in white color, and the text inside  is not visible clearly .

Details:
The text inside the button before hovering shouldn't be in white color font, It should be in Black Font color

Please check #1346

Sorry for the inconvinience, but we are closing all the issues! Please open a new issue if you want to contribute anything. Also now you can create a new button from the website itself! You will get points for those too! I will add the instructions on how to create a new button soon and create an empty pr for the same to get points!


Fixes #3240: editorconfig and project documentation sync with reformatting

This PR is for #3240
This makes two non-code changes:

Updates the .editorconfig file to match settings defined in ReSharper, to the extent possible in VS
Updates the CONTRIBUTING.md doc to reflect revised styling rules and add a little more detail to it as well

Ready for review and merge

Man. No idea why git decided to note all those other commits, but they're linear history branched from current v2_develop, with the only modified files being the two mentioned.

Interesting.... Note that nothing was touched to cause those tests to fail, yet the last commit has test runner failures.
I bet that's one of the heisenbugs I've mentioned elsewhere. Tests pass locally and on an Ubuntu 23.10 machine I cloned this to.

Hm. Lots of tests are failing, after a re-clone. And it's mostly for mismatched strings.
You guys seeing test failures from the current v2_develop?


Add entry for WolfChart project

This PR adds the WolfChart project to the list of open-source projects. WolfChart is the most impressive browser-based VA chart out there. The 3820-line HTML file that constitutes the entire project is as remarkable as it is frightening.

Very impressive @daniel-moderiano. Thank you :)


File system object & downcasting

FileSystem is now an object in Database, the DuckDB constructor can take a DBConfig object with (for now) read only and custom file system flags. Also checked for overflow on various downcasting sites and removed size_t completely.

@fsaintjacques  because on Windows size_t's size depends on whether you build in 32 or 64 bit

urgh, very inconvenient, thanks!


Should I run the file “fetch_faster_rcnn_models.sh”？

I can not run this file and can not  get the “voc_0712_80k-110k.tgz”.  Because The URL is wrong.

What are you trying to run? Where is this .sh? You can find dataset here and neural nets here


ServiceOptions.getCredentials can return null and cause NPE in Logging and PubSub

In ServiceOptions.java is no credentials are explicitly specified, it would default to calling getApplicationDefault here:
https://github.com/GoogleCloudPlatform/google-cloud-java/blob/master/google-cloud-core/src/main/java/com/google/cloud/ServiceOptions.java#L312
But that method can fail by throwing an exception if for eg the credentials file is missing. In that case ServiceOptions just catches the exception, ignores it and returns null:
https://github.com/GoogleCloudPlatform/google-cloud-java/blob/master/google-cloud-core/src/main/java/com/google/cloud/ServiceOptions.java#L314
But reading the documentation on getCredentials, it is not clear that callers should be handling null return value. google-cloud-java seems to be not handling the null return value atleast in couple of places:
https://github.com/GoogleCloudPlatform/google-cloud-java/blob/00add6e26fc2e1a533b715df28a5568222483f65/google-cloud-logging/src/main/java/com/google/cloud/logging/spi/DefaultLoggingRpc.java#L117
https://github.com/GoogleCloudPlatform/google-cloud-java/blob/00add6e26fc2e1a533b715df28a5568222483f65/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/DefaultPubSubRpc.java#L146

Re-opening because:

#1955 was rolled back because integration tests failed
#1955 only fixed Logging, not the rest of the APIs

WIth this fix (#1961) the NPE error for Logging should be fixed. New Pubsub shouldn't have this issue.