<TextBox TextWrapping="Wrap" ... /> hides text in some layout updates

Describe the bug

Given a TextBox, if TextWrapping is set to Wrap, HorizontalAlignment is set to Stretch, VerticalAlignment is not set to Stretch and Text is set to some text long enough so that the number of lines changes depending on its actual width, then its actual height doesn't update when a significant and sudden change to its actual width happens, at least, not always. The result is some text hidden until a user takes some action like select some text.
Steps to reproduce the bug

Steps to reproduce the behavior:

Create a UWP project with a single page.
Add a TextBox as the only child of the Page.
On the TextBox, set TextWrapping to Wrap and VerticalAlignment to Top.
Leave the rest of the properties unset.
Start debugging (F5).
Make the window's width approximately half the width of a maximized window.
Double click on the title bar to (suddenly) maximize the window.
Write a single line of text so that it almost reaches the window's width.
Double click on the title bar several times to change the window's width.

Expected behavior

The TextBox's actual height should always update automatically so it shows the whole text (wrapped or not).
Screenshots

Expected behavior:

Expected behavior:

Unexpected behavior:

Unexpected behavior:

Version Info

NuGet package version:

Microsoft.UI.Xaml 2.3.200213001

Windows 10 version
Saw the problem?

November 2019 Update (18363)
 Yes

Device form factor
Saw the problem?

Desktop
 Yes

Additional context

I've run some tests and I believe it's a race condition. In some cases, like the test above, it happens some times, whereas, in other scenarios, it happens every time.
Anyway, in one test, I modified the TextBox's width with the aid of two buttons which increased or decreased the width by one pixel. At the threshold, the TextBox's height and/or text wrapping didn't adjust to the content as they should. Then, if the width was increased (or decreased, depending on the case) once more, the TextBox height and/or text wrapping adjusted as expected.

Anything?

Thanks for the detailed bug report, @jess-rod. I have tried but been unable to repro it so far. Your info includes the version of the Microsoft.UI.Xaml, but the steps from building a blank project didn't include adding its application resources - did you also do that (I tried with and without and it didn't seem to affect it, but it's worth asking)? What was the min/max tested version for your app?
Tagging @ddalp in case he's heard of a similar bug in text layout being logged internally.
To set expectations, the layer of logic involved here would be in the core of layout, so not something that can be addressed with WinUI2. The soonest this could be addressed is after WinUI3.

It's likely a bug in the CTextBoxView::MeasureOverride and ArrangeOverride. We do things special for TextWrapping wrap. It looks like we probably skipped or did not ask RichEdit to redo the text layout and used the NaturalSize(GetTextNaturalSize) instead.

I've just reproduced the bug by creating a blank project with 1903 (10.0; Build 18362) as the target and minimum version (the only NuGet package installed is Microsoft.NETCore.UnversalWindowsPlatform 6.2.9). Then, I've followed the steps above.
<Page
    x:Class="TextWrappingBug.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:TextWrappingBug"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <TextBox TextWrapping="Wrap"
             VerticalAlignment="Top" />
</Page>

To see the bug in action, you need to fill the text box with some text so that there be (if there wasn't a bug) (A) a one-line text box when the window is maximized and (B) a two-line text box when the window isn't maximized.
Then, switch between these two window's width states as many times as needed until you see the bug (either a two-line text box when the window is maximized or a one-line text box when the window isn't maximized) because it doesn't happen every single time.
It is important that you do not hold and drag from a window's edge to switch between the maximized and non-maximized state. The bug happens right before transitioning to (or from) the two-line text box, then it readjusts accordingly to the expected behavior. Instead, double click on the window's top bar, so that the window's width change instantly.

It is important that you do not hold and drag from a window's edge to switch between the maximized and non-maximized state. The bug happens right before transitioning to (or from) the two-line text box, then it readjusts accordingly to the expected behavior.

Actually, you can hold and drag and still reproduce the bug, but you need to be very precise (1-pixel precise) to stop holding right before the transition is to occurs. One thing is true, being that precise, the bug happens every single time.


Error with ES Module import when using AdonisJS with AdminJS

Description:
I'm currently using AdonisJS alongside AdminJS. When I try to run the server, I'm faced with the following error:
Error: require() of ES Module /my-project-folder/node_modules/adminjs/index.js from my-project-folder/node_modules/adminjs-adonis/build/providers/AdminProvider.js not supported.
Instead change the require of index.js in my-project-folder/node_modules/adminjs-adonis/build/providers/AdminProvider.js to a dynamic import() which is available in all CommonJS modules.

I'm still getting familiar with the intricacies of CommonJS and ES modules, so I apologize if this issue is not directly related to the package itself. However, any guidance or clarification on this matter would be highly appreciated.

Seems like this might be the issue https://docs.adminjs.co/installation/getting-started#esm-and-cjs-support
Since the installation command in the readme calls for just installing adminjs without a pinned version we end up getting the ESM version of the package now. The easy fix would be to just pin a version, npm i<EMAIL_ADDRESS>

Thanks for the PR @watzon
@MorganChetelat I'd also recommend using v6 for now as adonis doesn't fully support ESM yet

Hey @MorganChetelat I've merged watzon's PR and you can now follow the instructions in readme to install adminjs :)

Thanks @chirgjin and @watzon for your help ;)

Just FYI - the docs appear to still be pointing to 6.0.0, which causes this issue.


Added a Markov Chain implementation

Hope it's okay. I imagine it might not be simple enough, or it might be that the generator is too much -- curious to know whether it's okay. I think markov chains would be a good addition to this collection!

looks good!
Could we have some use cases (examples) and a brief explanation for the code?

Terribly sorry -- only just saw this! Are you looking for that here, or alongside the PR?

@probablytom sorry for a terribly late response.
I merged the PR. I can add the comments later :)


The issue tracker is a tool to address bugs in Jinja itself. Please use the #pocoo IRC channel on freenode or Stack Overflow for general questions about using Jinja or issues not related to Jinja.

If you'd like to report a bug in Jinja, fill out the template below and provide
any extra information that may be useful / related to your problem.
Ideally, you create an MCVE reproducing
the problem before opening an issue to ensure it's not caused by something in
your code.

Tell us what should happen
Tell us what happens instead
Paste the template code (ideally a minimal example) that causes the issue

Paste the full traceback in case there is an exception

Python version:
Jinja version:

Sorry


[Question] Why does Insomnia fail but curl works?

Insomnia Version: Version 5.14.9 (<IP_ADDRESS>5)
Operating System: macOS 10.13.3

Details
In Insomnia I see this error when executing a request:
< HTTP/1.1 422 Unprocessable Entity
< Server: Cowboy
< Date: Thu, 29 Mar 2018 03:06:54 GMT
< Connection: keep-alive
< Content-Type: text/html; charset=UTF-8
< X-Request-Id: 7ed2f55d-2160-4ba2-90b7-74f60b3dd0fd
< X-Runtime: 0.012431
< Content-Length: 1334
< Via: 1.1 vegur

* Received 1334 B chunk
* Connection #5 to host www.bitrise.io left intact

however when I Copy as Curl the request succeeds. How do I debug the difference between the generated curl command and what Insomnia is doing?

I think it has something to do with X-XSRF-TOKEN in headers.

I have the same problem, and I don't have tokens in these requests like login endpoint.
I'm also using in my local development server and the request doesn't reach the server with Insomnia however in curl works normally.

OS Ubuntu 18.04 bionic x86_64 Linux 4.15.0-48-generic

Insomnia v6.5.1

Version 6.5.1
Shell 3.0.4
Node 10.2.0
V8 6.6.346.32
Architecture x64

libcurl/7.61.1 OpenSSL/1.1.0h zlib/1.2.11 nghttp2/1.29.0


Remove some guidance referencing internals that have changed

The section references a build-time directory that is no longer present, and some upstream implementation details that have been shifting quite frequently. Remove it.

the file is still there, why are you proposing to remove this?

ReactCommon sources aren't user accessible on binary distribution
ReactCommon sources are already user hidden in a separate NPM package
When using JSI in the NM we won't go through this path
When TurboModules are enabled, we won't go through this path

This is going to change frequently and nobody is going to keep this up to date.

ReactCommon sources aren't user accessible on binary distribution
ReactCommon sources are already user hidden in a separate NPM package
When TurboModules are enabled, we won't go through this path

This is going to change frequently and nobody is going to keep this up to date.

Nobody outside Office is using binary distribution today.
We can fix the text displayed in the link to point to where it would live in node_modules
We don't have any turbomodules for community modules, so this is not a problem today. We will have to update the docs anyway when this becomes an option.

The path to react-native in node_modules isn't stable either, but I think this is missing the meta-point of not wanting to document internals that change frequently. Especially ones that will be difficult to extract use out of. Office doesn't have NM2 yet at all, so this is strictly applicable to XAML. I can definitely understand wanting to help unblock users, but these docs already became unusable in a single release, and imo weren't actionable before. I only caught this because I remember asking we didn't document the react patching in the first place 🙂.
I know we've had some fundamentally different opinions on what these docs should look like, which is why I want to defer to the folks owning NM infrastructure. @vmoroz @acoates-ms do either of you have opinions on whether we should keep these documented?

The content here is aimed at people using RNW (with XAML - which is what we call RNW).
Usage specific to Office or other customers that aren't targeting XAML are out of scope.

The content here is aimed at people using RNW (with XAML - which is what we call RNW).
Usage specific to Office or other customers that aren't targeting XAML are out of scope.

Reiterating, this doesn't apply to Office at all, since we aren't able to use native modules 2.0 yet.

stale pr

stale pr


🧪 Test Velero Backups

User Story
As a… engineer
I want to… run a test of our backups provided by velero on the modernisation platform cluster
So that… I have faith in the backups / can iron out any bugs or issues I'm not currently aware of
Hypothesis
If we... perform a recovery from backup
Then... I will successfully restore the cluster
Proposal
Request new Analytical Platform Compute Account
Run a backup of DPAT Cluster
Restore into new Analytcal Platform Compute cluster
Definition of Done

[ ] Request Accounts
[ ] Take backup in DPAT
[ ] Restore cluster in new account

We will close this ticket and reopen when needed.


Convert issue templates to GitHub forms

Summary
Similar to Qiskit/qiskit-terra#7258
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 85.572%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
9519

Relevant Lines:
11124

💛  - Coveralls


Add type tests for matchers usage in extraReducers

We're currently missing type tests for extraReducers in a slice. We should add those once #70 is resolved.

Closed by #70


Commercial license: how to obtain one.

Hi,
I would like to use alphafold for commercial purposes, is it possible to license the model?

Related, if running alphafold using the full_dbs setting does that mean only the apache license applies?  Is it only the casp14 parameters that are covered under the creative commons license?

Hi, we have recently changed the license terms for the AlphaFold weights to CC BY 4.0, which permits commercial use.

Just to confirm, are the model parameters available free of charge for industrial purposes?

Hi, we have recently changed the license terms for the AlphaFold weights to CC BY 4.0, which permits commercial use.

Will this guarantee that work arising from alphafold will not be patented commercially? If not, it might be a good idea to prioritize making all finding somehow public domain, or other measures to prevent one company from trying to lock away all the findings behind patents/other legal means and maybe even make them disclose it publicly to avoid trade secrets.


Account creator not working

Account creator is not working, it doesnt show any errors either. Closes the program itself no writings etc. I already put the 2captcha token in the config file. please help
Ahmet

It hasn't been working for ages. Wonder when the devs will actually take a look at how to fix it... I'll try to do so myself though.


x/tools/gopls: VSCode with go module suddenly shows undeclared name: L LSP[line, character]

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

$ go version
go version go1.12.7 linux/amd64

Does this issue reproduce with the latest release?
Yes, but only on my current Ubuntu 18.04, on a fresh Debian 10 it works as expected.
What operating system and processor architecture are you using (go env)?

Open Visual Studio Code.
Add the project folder V1.
Add three new xyz.go files into the project folder making it a basic V2
Opened one of the new files tls.go
What did you expect to see?
I expected the go module which uses gopls to show missing variables and other parts of the code as errors.
What did you see instead?
An screenshot link:
https://pasteboard.co/IrkFAnp.png
Lots of error lines such as below which ends with the source as LSP:
{
	"resource": "/home/eliezer/Scripts/golang-http-proxy2/filtering.go",
	"owner": "_generated_diagnostic_collection_name_#0",
	"severity": 8,
	"message": "undeclared name: RequestTimeout",
	"source": "LSP",
	"startLineNumber": 36,
	"startColumn": 27,
	"endLineNumber": 36,
	"endColumn": 41
}

{
	"resource": "/home/eliezer/Scripts/golang-http-proxy2/filtering.go",
	"owner": "_generated_diagnostic_collection_name_#0",
	"severity": 8,
	"message": "undeclared name: MaxIdleConnections",
	"source": "LSP",
	"startLineNumber": 41,
	"startColumn": 26,
	"endLineNumber": 41,
	"endColumn": 44
}

Can you please share your gopls logs? See https://github.com/golang/go/wiki/gopls#capturing-gopls-logs for how to find them.
Also, can you try cding into /home/eliezer/Scripts/golang-http-proxy2 and running gopls -v -rpc.trace check filtering.go?

Also, please note that you have to open VSCode at the module root, i.e., with the directory that contains the go.mod file (see #32394) -- I don't see a go.mod file in your screenshot.

First, there is no go.mod since on this specific project I am not using go.mod and it's the same in many other projects which works perfectly fine.
I installed a clean VSCode and GoLang on a Debian 10, Oracle Linux 8, Ubuntu 18.04.2 (VM's)
(My install script: https://gist.github.com/elico/89d4c5106493e521aef29b23912ddd24 )
They all work as expected and shows the next screen:
https://pasteboard.co/IrqFzJ3.png
(I did some changes in the code so proxy.go is the only one with missing variables for now)
I assume it's something local to the Desktop I am working.
Until now I have tried to:

remove any GoLang folders and reinstall
remove VSCode and reinstall

I am sure that if it works as expected on a clean system so, maybe I missed something on my cleanup?
gopls -v -rpc.trace check filtering.go Output
$ gopls -v -rpc.trace check filtering.go
2019/08/06 13:24:59 Info:21.908007ms for GOROOT= GOPATH=/home/eliezer/go_projects GO111MODULE= PWD=/home/eliezer/Scripts/golang-http-proxy2 go "list" "-e" "-json" "-compiled=true" "-test=true" "-export=false" "-deps=true" "-find=false" "--" "builtin", stderr: <<>>
2019/08/06 13:24:59 Info:Build info
----------
version v0.1.3-cmd.gopls, built in $GOPATH mode
Go info
go version go1.12.7 linux/amd64
GOARCH="amd64"
GOBIN="/home/eliezer/go_projects/bin"
GOCACHE="/home/eliezer/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/eliezer/go_projects"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build198551453=/tmp/go-build -gno-record-gcc-switches"
2019/08/06 13:24:59 Info:7.895657ms for GOROOT= GOPATH=/home/eliezer/go_projects GO111MODULE= PWD=/home/eliezer/Scripts/golang-http-proxy2 go "list" "-e" "-json" "-compiled=true" "-test=true" "-export=false" "-deps=true" "-find=false" "--" "/home/eliezer/Scripts/golang-http-proxy2", stderr: <<>>
2019/08/06 13:24:59 Info:120.593033ms for GOROOT= GOPATH=/home/eliezer/go_projects GO111MODULE= PWD=/home/eliezer/Scripts/golang-http-proxy2 go "list" "-e" "-json" "-compiled=true" "-test=true" "-export=false" "-deps=true" "-find=false" "--" "/home/eliezer/Scripts/golang-http-proxy2/filtering.go", stderr: <<>>
2019/08/06 13:24:59 Info:go/packages.Load
packages = 1
2019/08/06 13:24:59 Info:go/packages.Load
package = command-line-arguments
files = [/home/eliezer/Scripts/golang-http-proxy2/filtering.go]
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:126:5-12: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:127:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:145:5-12: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:146:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:147:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:148:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:149:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:150:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:151:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:153:4-13: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:155:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:161:7-14: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:162:5-14: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:169:7-14: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:170:5-14: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:171:5-14: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:177:6-13: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:178:4-13: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:211:5-12: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:212:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:213:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:218:6-13: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:219:4-13: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:224:6-13: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:225:4-13: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:230:6-13: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:231:4-13: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:233:10-23: undeclared name: defaultAnswer
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:234:11-24: undeclared name: defaultAnswer
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:239:9-22: undeclared name: defaultAnswer
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:89:5-12: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:90:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:94:26-35: undeclared name: filterUrl
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:102:23-27: undeclared name: user
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:102:29-33: undeclared name: pass
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:103:5-12: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:104:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:108:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:113:19-26: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:114:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:50:5-12: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:51:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:55:26-35: undeclared name: filterUrl
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:64:23-27: undeclared name: user
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:64:29-33: undeclared name: pass
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:65:5-12: undeclared name: verbose
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:66:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:70:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:71:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:77:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:78:3-12: undeclared name: L
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:36:27-41: undeclared name: RequestTimeout
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:41:26-44: undeclared name: MaxIdleConnections
/home/eliezer/Scripts/golang-http-proxy2/filtering.go:43:27-41: undeclared name: RequestTimeout

gopls debug log from VSCode Output
2019/08/06 13:48:52 Debug serving
	Port = 6060
[Trace - 1:48:52 PM] Received notification 'window/logMessage' in 0ms.
Params: {"type":3,"message":"18.126736ms for GOROOT=/usr/local/go GOPATH=/home/eliezer/go_projects GO111MODULE= PWD=/home/eliezer/Scripts/golang-http-proxy2 go \"list\" \"-e\" \"-json\" \"-compiled=true\" \"-test=true\" \"-export=false\" \"-deps=true\" \"-find=false\" \"--\" \"builtin\", stderr: \u003c\u003c\u003e\u003e\n"}
[Info  - 1:48:52 PM] 18.126736ms for GOROOT=/usr/local/go GOPATH=/home/eliezer/go_projects GO111MODULE= PWD=/home/eliezer/Scripts/golang-http-proxy2 go "list" "-e" "-json" "-compiled=true" "-test=true" "-export=false" "-deps=true" "-find=false" "--" "builtin", stderr: <<>>
[Trace - 1:48:52 PM] Received response 'initialize - (0)' in 0ms.
Params: {"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{}},"hoverProvider":true,"completionProvider":{"triggerCharacters":["."]},"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":true,"documentFormattingProvider":true,"renameProvider":true,"documentLinkProvider":{},"typeDefinitionProvider":true,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":"workspace/didChangeWorkspaceFolders"}}},"custom":null}
[Trace - 1:48:52 PM] Sending notification 'initialize' in 52ms.
Params: {"processId":8920,"rootPath":"/home/eliezer/Scripts/golang-http-proxy2","rootUri":"file:///home/eliezer/Scripts/golang-http-proxy2","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true},"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{"dynamicRegistration":true},"symbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"executeCommand":{"dynamicRegistration":true},"configuration":true,"workspaceFolders":true},"textDocument":{"publishDiagnostics":{"relatedInformation":true},"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":true,"contextSupport":true,"completionItem":{"snippetSupport":true,"commitCharactersSupport":true,"documentationFormat":["markdown","plaintext"],"deprecatedSupport":true,"preselectSupport":true},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}},"hover":{"dynamicRegistration":true,"contentFormat":["markdown","plaintext"]},"signatureHelp":{"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"]}},"definition":{"dynamicRegistration":true},"references":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]},"hierarchicalDocumentSymbolSupport":true},"codeAction":{"dynamicRegistration":true,"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"codeLens":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true},"onTypeFormatting":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true},"documentLink":{"dynamicRegistration":true},"typeDefinition":{"dynamicRegistration":true},"implementation":{"dynamicRegistration":true},"colorProvider":{"dynamicRegistration":true},"foldingRange":{"dynamicRegistration":true,"rangeLimit":5000,"lineFoldingOnly":true}}},"initializationOptions":{"funcSnippetEnabled":false,"gocodeCompletionEnabled":true},"trace":"off","workspaceFolders":[{"uri":"file:///home/eliezer/Scripts/golang-http-proxy2","name":"golang-http-proxy2"}]}
[Trace - 1:48:52 PM] Sending response 'client/registerCapability - (1)' in 0ms.
Params: {}
[Trace - 1:48:52 PM] Received notification 'client/registerCapability' in 1ms.
Params: {"registrations":[{"id":"workspace/didChangeConfiguration","method":"workspace/didChangeConfiguration"},{"id":"workspace/didChangeWorkspaceFolders","method":"workspace/didChangeWorkspaceFolders"}]}
[Trace - 1:48:52 PM] Sending response 'workspace/configuration - (2)' in 0ms.
Params: [null,null]
[Trace - 1:48:52 PM] Received notification 'workspace/configuration' in 2ms.
Params: {"items":[{"scopeUri":"file:///home/eliezer/Scripts/golang-http-proxy2","section":"gopls"},{"scopeUri":"file:///home/eliezer/Scripts/golang-http-proxy2","section":"golang-http-proxy2"}]}
[Trace - 1:48:52 PM] Sending notification 'initialized' in 71ms.
Params: {}
[Trace - 1:48:52 PM] Received notification 'window/logMessage' in 0ms.
Params: {"type":3,"message":"Build info\n----------\nversion v0.1.3-cmd.gopls, built in $GOPATH mode\n\nGo info\n-------\ngo version go1.12.7 linux/amd64\n\nGOARCH="amd64"\nGOBIN="/home/eliezer/go_projects/bin"\nGOCACHE="/home/eliezer/.cache/go-build"\nGOEXE=""\nGOFLAGS=""\nGOHOSTARCH="amd64"\nGOHOSTOS="linux"\nGOOS="linux"\nGOPATH="/home/eliezer/go_projects"\nGOPROXY=""\nGORACE=""\nGOROOT="/usr/local/go"\nGOTMPDIR=""\nGOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"\nGCCGO="gccgo"\nCC="gcc"\nCXX="g++"\nCGO_ENABLED="1"\nGOMOD=""\nCGO_CFLAGS="-g -O2"\nCGO_CPPFLAGS=""\nCGO_CXXFLAGS="-g -O2"\nCGO_FFLAGS="-g -O2"\nCGO_LDFLAGS="-g -O2"\nPKG_CONFIG="pkg-config"\nGOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build344423364=/tmp/go-build -gno-record-gcc-switches"\n"}
[Info  - 1:48:52 PM] Build info
version v0.1.3-cmd.gopls, built in $GOPATH mode
Go info
go version go1.12.7 linux/amd64
GOARCH="amd64"
GOBIN="/home/eliezer/go_projects/bin"
GOCACHE="/home/eliezer/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/eliezer/go_projects"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build344423364=/tmp/go-build -gno-record-gcc-switches"
[Trace - 1:48:52 PM] Sending notification 'textDocument/didOpen' in 72ms.
Params: {"textDocument":{"uri":"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go","languageId":"go","version":1,"text":"package main\n\nimport (\n\t"crypto/tls"\n\t"io/ioutil"\n\t"net"\n\t"net/http"\n\t"net/url"\n\t"regexp"\n\t"strings"\n\t"time"\n\n\t"golang.org/x/net/http2"\n)\n\nvar http_version = "1"\n\nvar v6_host = regexp.MustCompile(^%5B([\\:a-z0-9]+)\\%5D\\:([0-9]+))\nvar v6_uri = regexp.MustCompile(^^([a-z]+\\:\\/\\/)\\%5B([\\:a-z0-9]+)\\%5D(\\:)?([0-9]+)?(\\/.*))\n\nvar tlsConfig *tls.Config\nvar tlsCert *string\nvar pemCert []byte\nvar dontVerifyTls *bool\n\nvar filterClient *http.Client\n\nfunc newFilterClient() *http.Client {\n\tswitch http_version {\n\tcase "2":\n\t\treturn &http.Client{\n\t\t\tTransport: &http2.Transport{\n\t\t\t\t//\t\tMaxIdleConnsPerHost: MaxIdleConnections,\n\t\t\t\tTLSClientConfig: tlsConfig,\n\t\t\t},\n\t\t\tTimeout: time.Duration(RequestTimeout) * time.Second,\n\t\t}\n\tdefault:\n\t\treturn &http.Client{\n\t\t\tTransport: &http.Transport{\n\t\t\t\tMaxIdleConnsPerHost: MaxIdleConnections,\n\t\t\t},\n\t\t\tTimeout: time.Duration(RequestTimeout) * time.Second,\n\t\t}\n\t}\n\n}\n\nfunc check_tcp(host, port, srcip string) string {\n\tif verbose {\n\t\tL.Println("ERRlog: reporting query => \"" + host + ":" + port + "\"")\n\t\t//L.Println( "ERRlog: reporting url => \""+filter_url+"/tcp/?host="+host+"&port="+port+"&srcip="+srcip+"\"")\n\t}\n\n\ttesturl, _ := url.Parse(filterUrl + "tcp/")\n\ttesturlVals := url.Values{}\n\ttesturlVals.Set("host", host)\n\ttesturlVals.Set("port", port)\n\ttesturlVals.Set("bysrcip", srcip)\n\ttesturl.RawQuery = testurlVals.Encode()\n\n\trequest, err := http.NewRequest("GET", testurl.String(), nil)\n\trequest.Close = true\n\trequest.SetBasicAuth(user, pass)\n\tif verbose {\n\t\tL.Println("ERRlog: testing request details =>", request)\n\t}\n\tresp, err := filterClient.Do(request)\n\tif err != nil {\n\t\tL.Println("ERRlog: reporting a http connection error1 =>", err)\n\t\tL.Println("ERRlog: reporting a http connection error1 =>", request)\n\t\treturn "DUNO"\n\t}\n\tdefer resp.Body.Close()\n\tbody, err := ioutil.ReadAll(resp.Body)\n\tif err != nil {\n\t\tL.Println("ERRlog: reporting a http connection error2 =>", err)\n\t\tL.Println("ERRlog: reporting a http connection error2 =>", request)\n\t\treturn "DUNO"\n\t}\n\n\tif body != nil {\n\t\treturn string(body)\n\t}\n\treturn "DUNO"\n}\n\nfunc check(requestUrl, srcip string) string {\n\tif verbose {\n\t\tL.Println("ERRlog: reporting query => \"" + requestUrl + "\"")\n\t\t//L.Println( "ERRlog: reporting url => \""+filter_url+"/url/?url="+encstr+"&srcip="+srcip+"\"")\n\t}\n\n\ttesturl, _ := url.Parse(filterUrl + "url/")\n\ttesturlVals := url.Values{}\n\ttesturlVals.Set("url", requestUrl)\n\ttesturlVals.Set("bysrcip", srcip)\n\ttesturl.RawQuery = testurlVals.Encode()\n\n\trequest, err := http.NewRequest("GET", testurl.String(), nil)\n\trequest.Close = true\n\trequest.SetBasicAuth(user, pass)\n\tif verbose {\n\t\tL.Println("ERRlog: testing request details =>", request)\n\t}\n\tresp, err := filterClient.Do(request)\n\tif err != nil {\n\t\tL.Println("ERRlog: reporting a http connection error => \"" + err.Error() + "\"")\n\t\treturn "DUNO"\n\t}\n\tdefer resp.Body.Close()\n\tbody, err := ioutil.ReadAll(resp.Body)\n\tif err != nil && verbose {\n\t\tL.Println("ERRlog: reporting body read error => \"" + err.Error() + "\"")\n\t}\n\tif body != nil {\n\t\treturn string(body)\n\t}\n\treturn "DUNO"\n}\n\nfunc process_request(incomming_request *http.Request) string {\n\n\tvar answer string\n\t//var srcip = "0"\n\tif verbose {\n\t\tL.Println("ERRlog: request from user => ")\n\t}\n\t//var uri url.URL\n\t//uri = incomming_request.URL\n\t// if (err != nil) && (!strings.Contains(err.Error(), "hexadecimal escape in host")) {\n\t// \tL.Println( err.Error())\n\t// \tL.Println( lparts[0]+" "+ans+" error=error parsing url")\n\t// }\n\n\tsrcip, , _ := net.SplitHostPort(incomming_request.RemoteAddr)\n\t// = srcip\n\t//_ = answer\n\t//_ = uri\n\t// Steps of a request inspection:\n\t// - find out if the request protocol from a choice of http\CONNECT\ftp\others\n\t// - Verify if the hostname is ipv6 or ipv4\n\t// - check with tcp for CONNECT\n\t// - check normally as a url if not CONNECT\n\tif verbose {\n\t\tL.Println("ERRlog: Details => ", "process_request function")\n\t\tL.Println("ERRlog: Details => ", incomming_request)\n\t\tL.Println("ERRlog: Details => ", incomming_request.URL)\n\t\tL.Println("ERRlog: Details => ", incomming_request.Method)\n\t\tL.Println("ERRlog: Details => ", incomming_request.Host)\n\t\tL.Println("ERRlog: Details => ", incomming_request.URL.Host)\n\t\tif len(incomming_request.URL.Opaque) > 0 {\n\t\t\tL.Println("ERRlog: Details (Opque) => ", incomming_request.URL.Opaque)\n\t\t}\n\t\tL.Println("ERRlog: Details => ", incomming_request.RemoteAddr)\n\t}\n\tswitch {\n\tcase incomming_request.Method == "CONNECT":\n\t\thost, port, err := net.SplitHostPort(incomming_request.URL.Host)\n\t\tif err != nil {\n\t\t\tif verbose {\n\t\t\t\tL.Println("ERRlog: Details ERR => ", err)\n\t\t\t}\n\t\t\tif strings.Contains(err.Error(), "missing port in address") {\n\t\t\t\tanswer = "DUNO"\n\t\t\t}\n\t\t\tanswer = "ERR"\n\t\t} else {\n\t\t\tif verbose {\n\t\t\t\tL.Println("ERRlog: Details HOST => ", host)\n\t\t\t\tL.Println("ERRlog: Details PORT => ", port)\n\t\t\t}\n\t\t\tanswer = check_tcp(host, port, srcip)\n\t\t}\n\tdefault:\n\t\tanswer = check(incomming_request.URL.String(), srcip)\n\t\tif verbose {\n\t\t\tL.Println("ERRlog: Details ANSWER for default => ", answer)\n\t\t}\n\t}\n\t/\n\t\tif (err != nil) && strings.Contains(err.Error(), "hexadecimal escape in host") {\n\t\t\tres := v6_uri.FindStringSubmatch(lparts[1])\n\t\t\tif len(res) == 4 {\n\t\t\t\tanswer = check(res[1]+"["+res[2]+"]"+res[3]+res[4], srcip)\n\t\t\t}\n\t\t\tif len(res) == 6 {\n\t\t\t\tanswer = check(res[1]+"["+res[2]+"]"+res[3]+res[4]+res[5], srcip)\n\t\t\t}\n\n\t\t} else if (incomming_request.Method == "CONNECT") && v6_host.MatchString(incomming_request.Host) {\n\t\t\tres := v6_host.FindStringSubmatch(incomming_request.Host)\n\t\t\thost := net.ParseIP(res[1])\n\t\t\tif host != nil {\n\t\t\t\tanswer = check_tcp(net.IP.String(host), res[2], srcip)\n\t\t\t} else {\n\t\t\t\tanswer = check_tcp(res[1], res[2], srcip)\n\t\t\t}\n\t\t} else if len(uri.Opaque) > 0 {\n\t\t\t// The next uri.Scheme is being exploited and used for the host string\n\t\t\tanswer = check_tcp(incomming_request.URL.Scheme, incomming_request.URL.Opaque, srcip)\n\t\t} else if lparts[2] == "CONNECT" {\n\t\t\t//Counting on that squid will never send bougous ip:port with a connect\n\t\t\thost_ip := strings.Split(lparts[1], ":")\n\t\t\tanswer = check_tcp(host_ip[0], host_ip[1], srcip)\n\n\t\t} else {\n\t\t\tanswer = check(incomming_request.URL.String(), srcip)\n\t\t}\n\t/\n\tif verbose {\n\t\tL.Println("ERRlog: reporting answer size => ", len(answer))\n\t\tL.Println("ERRlog: reporting answer => ", answer)\n\n\t}\n\n\tif strings.HasPrefix(answer, "ERR") || strings.HasPrefix(answer, "1") {\n\t\tif verbose {\n\t\t\tL.Println("ERRlog: reporting answer startsWith => \"ERR\"")\n\t\t}\n\t\treturn "ERR rate=100"\n\t}\n\tif strings.Contains(answer, "not found") || strings.HasPrefix(answer, "OK") {\n\t\tif verbose {\n\t\t\tL.Println("ERRlog: reporting answer startsWith => \"OK\" or \"not found\"")\n\t\t}\n\t\treturn "OK"\n\t}\n\tif strings.HasPrefix(answer, "DUNO") {\n\t\tif verbose {\n\t\t\tL.Println("ERRlog: reporting answer startsWith => \"DUNO\"")\n\t\t}\n\t\tif len(defaultAnswer) > 0 {\n\t\t\treturn defaultAnswer + " rate=101"\n\t\t} else {\n\t\t\treturn "OK state=DUNO"\n\t\t}\n\t}\n\treturn defaultAnswer + " rate=102"\n}\n"}}
[Trace - 1:48:52 PM] Received notification 'window/logMessage' in 0ms.
Params: {"type":3,"message":"22.767493ms for GOROOT=/usr/local/go GOPATH=/home/eliezer/go_projects GO111MODULE= PWD=/home/eliezer/Scripts/golang-http-proxy2 go "list" "-e" "-json" "-compiled=true" "-test=true" "-export=false" "-deps=true" "-find=false" "--" "/home/eliezer/Scripts/golang-http-proxy2", stderr: \u003c\u003c\u003e\u003e\n"}
[Info  - 1:48:52 PM] 22.767493ms for GOROOT=/usr/local/go GOPATH=/home/eliezer/go_projects GO111MODULE= PWD=/home/eliezer/Scripts/golang-http-proxy2 go "list" "-e" "-json" "-compiled=true" "-test=true" "-export=false" "-deps=true" "-find=false" "--" "/home/eliezer/Scripts/golang-http-proxy2", stderr: <<>>
[Info  - 1:48:53 PM] 119.616384ms for GOROOT=/usr/local/go GOPATH=/home/eliezer/go_projects GO111MODULE= PWD=/home/eliezer/Scripts/golang-http-proxy2 go "list" "-e" "-json" "-compiled=true" "-test=true" "-export=false" "-deps=true" "-find=false" "--" "/home/eliezer/Scripts/golang-http-proxy2/filtering.go", stderr: <<>>
[Trace - 1:48:53 PM] Received notification 'window/logMessage' in 0ms.
Params: {"type":3,"message":"119.616384ms for GOROOT=/usr/local/go GOPATH=/home/eliezer/go_projects GO111MODULE= PWD=/home/eliezer/Scripts/golang-http-proxy2 go "list" "-e" "-json" "-compiled=true" "-test=true" "-export=false" "-deps=true" "-find=false" "--" "/home/eliezer/Scripts/golang-http-proxy2/filtering.go", stderr: \u003c\u003c\u003e\u003e\n"}
[Trace - 1:48:53 PM] Received notification 'window/logMessage' in 0ms.
Params: {"type":3,"message":"go/packages.Load\n\tpackage = command-line-arguments\n\tfiles = [/home/eliezer/Scripts/golang-http-proxy2/filtering.go]"}
[Trace - 1:48:53 PM] Received notification 'window/logMessage' in 0ms.
Params: {"type":3,"message":"go/packages.Load\n\tpackages = 1"}
[Info  - 1:48:53 PM] go/packages.Load
package = command-line-arguments
files = [/home/eliezer/Scripts/golang-http-proxy2/filtering.go]
[Info  - 1:48:53 PM] go/packages.Load
packages = 1
[Trace - 1:48:53 PM] Received response 'textDocument/documentSymbol - (1)' in 0ms.
Params: [{"name":"http_version","detail":"string","kind":13,"range":{"start":{"line":15,"character":0},"end":{"line":15,"character":22}},"selectionRange":{"start":{"line":15,"character":4},"end":{"line":15,"character":16}}},{"name":"v6_host","detail":"*regexp.Regexp","kind":13,"range":{"start":{"line":17,"character":0},"end":{"line":17,"character":67}},"selectionRange":{"start":{"line":17,"character":4},"end":{"line":17,"character":11}}},{"name":"v6_uri","detail":"*regexp.Regexp","kind":13,"range":{"start":{"line":18,"character":0},"end":{"line":18,"character":92}},"selectionRange":{"start":{"line":18,"character":4},"end":{"line":18,"character":10}}},{"name":"tlsConfig","detail":"*tls.Config","kind":13,"range":{"start":{"line":20,"character":0},"end":{"line":20,"character":25}},"selectionRange":{"start":{"line":20,"character":4},"end":{"line":20,"character":13}}},{"name":"tlsCert","detail":"*string","kind":13,"range":{"start":{"line":21,"character":0},"end":{"line":21,"character":19}},"selectionRange":{"start":{"line":21,"character":4},"end":{"line":21,"character":11}}},{"name":"pemCert","detail":"[]byte","kind":13,"range":{"start":{"line":22,"character":0},"end":{"line":22,"character":18}},"selectionRange":{"start":{"line":22,"character":4},"end":{"line":22,"character":11}}},{"name":"dontVerifyTls","detail":"*bool","kind":13,"range":{"start":{"line":23,"character":0},"end":{"line":23,"character":23}},"selectionRange":{"start":{"line":23,"character":4},"end":{"line":23,"character":17}}},{"name":"filterClient","detail":"*http.Client","kind":13,"range":{"start":{"line":25,"character":0},"end":{"line":25,"character":29}},"selectionRange":{"start":{"line":25,"character":4},"end":{"line":25,"character":16}}},{"name":"newFilterClient","detail":"()","kind":12,"range":{"start":{"line":27,"character":0},"end":{"line":46,"character":1}},"selectionRange":{"start":{"line":27,"character":5},"end":{"line":27,"character":20}}},{"name":"check_tcp","detail":"(host string, port string, srcip string)","kind":12,"range":{"start":{"line":48,"character":0},"end":{"line":85,"character":1}},"selectionRange":{"start":{"line":48,"character":5},"end":{"line":48,"character":14}}},{"name":"check","detail":"(requestUrl string, srcip string)","kind":12,"range":{"start":{"line":87,"character":0},"end":{"line":119,"character":1}},"selectionRange":{"start":{"line":87,"character":5},"end":{"line":87,"character":10}}},{"name":"process_request","detail":"(incomming_request *http.Request)","kind":12,"range":{"start":{"line":121,"character":0},"end":{"line":239,"character":1}},"selectionRange":{"start":{"line":121,"character":5},"end":{"line":121,"character":20}}}]
[Trace - 1:48:53 PM] Sending notification 'textDocument/documentSymbol' in 933ms.
Params: {"textDocument":{"uri":"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go"}}
[Trace - 1:48:53 PM] Received response 'textDocument/codeAction - (2)' in 0ms.
Params: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"changes":{"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go":[]}}}]
[Trace - 1:48:53 PM] Received response 'textDocument/documentLink - (3)' in 0ms.
Params: [{"range":{"start":{"line":3,"character":1},"end":{"line":3,"character":13}},"target":"https://godoc.org/crypto/tls"},{"range":{"start":{"line":4,"character":1},"end":{"line":4,"character":12}},"target":"https://godoc.org/io/ioutil"},{"range":{"start":{"line":5,"character":1},"end":{"line":5,"character":6}},"target":"https://godoc.org/net"},{"range":{"start":{"line":6,"character":1},"end":{"line":6,"character":11}},"target":"https://godoc.org/net/http"},{"range":{"start":{"line":7,"character":1},"end":{"line":7,"character":10}},"target":"https://godoc.org/net/url"},{"range":{"start":{"line":8,"character":1},"end":{"line":8,"character":9}},"target":"https://godoc.org/regexp"},{"range":{"start":{"line":9,"character":1},"end":{"line":9,"character":10}},"target":"https://godoc.org/strings"},{"range":{"start":{"line":10,"character":1},"end":{"line":10,"character":7}},"target":"https://godoc.org/time"},{"range":{"start":{"line":12,"character":1},"end":{"line":12,"character":25}},"target":"https://godoc.org/golang.org/x/net/http2"}]
[Trace - 1:48:53 PM] Sending notification 'textDocument/codeAction' in 995ms.
Params: {"textDocument":{"uri":"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go"},"range":{"start":{"line":66,"character":2},"end":{"line":66,"character":2}},"context":{"diagnostics":[]}}
[Trace - 1:48:53 PM] Sending notification 'textDocument/documentLink' in 995ms.
Params: {"textDocument":{"uri":"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go"}}
[Trace - 1:48:53 PM] Received response 'textDocument/codeAction - (4)' in 0ms.
Params: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"changes":{"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go":[]}}}]
[Trace - 1:48:53 PM] Sending notification '$/cancelRequest' in 698ms.
Params: {"id":2}
[Trace - 1:48:53 PM] Sending notification 'textDocument/codeAction' in 700ms.
Params: {"textDocument":{"uri":"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go"},"range":{"start":{"line":66,"character":2},"end":{"line":66,"character":2}},"context":{"diagnostics":[]}}
[Trace - 1:48:53 PM] Received notification 'textDocument/publishDiagnostics' in 1ms.
Params: {"uri":"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go","diagnostics":[{"range":{"start":{"line":125,"character":4},"end":{"line":125,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":126,"character":2},"end":{"line":126,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":144,"character":4},"end":{"line":144,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":145,"character":2},"end":{"line":145,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":146,"character":2},"end":{"line":146,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":147,"character":2},"end":{"line":147,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":148,"character":2},"end":{"line":148,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":149,"character":2},"end":{"line":149,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":150,"character":2},"end":{"line":150,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":152,"character":3},"end":{"line":152,"character":12}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":154,"character":2},"end":{"line":154,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":160,"character":6},"end":{"line":160,"character":13}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":161,"character":4},"end":{"line":161,"character":13}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":168,"character":6},"end":{"line":168,"character":13}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":169,"character":4},"end":{"line":169,"character":13}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":170,"character":4},"end":{"line":170,"character":13}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":176,"character":5},"end":{"line":176,"character":12}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":177,"character":3},"end":{"line":177,"character":12}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":210,"character":4},"end":{"line":210,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":211,"character":2},"end":{"line":211,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":212,"character":2},"end":{"line":212,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":217,"character":5},"end":{"line":217,"character":12}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":218,"character":3},"end":{"line":218,"character":12}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":223,"character":5},"end":{"line":223,"character":12}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":224,"character":3},"end":{"line":224,"character":12}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":229,"character":5},"end":{"line":229,"character":12}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":230,"character":3},"end":{"line":230,"character":12}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":232,"character":9},"end":{"line":232,"character":22}},"severity":1,"source":"LSP","message":"undeclared name: defaultAnswer"},{"range":{"start":{"line":233,"character":10},"end":{"line":233,"character":23}},"severity":1,"source":"LSP","message":"undeclared name: defaultAnswer"},{"range":{"start":{"line":238,"character":8},"end":{"line":238,"character":21}},"severity":1,"source":"LSP","message":"undeclared name: defaultAnswer"},{"range":{"start":{"line":88,"character":4},"end":{"line":88,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":89,"character":2},"end":{"line":89,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":93,"character":25},"end":{"line":93,"character":34}},"severity":1,"source":"LSP","message":"undeclared name: filterUrl"},{"range":{"start":{"line":101,"character":22},"end":{"line":101,"character":26}},"severity":1,"source":"LSP","message":"undeclared name: user"},{"range":{"start":{"line":101,"character":28},"end":{"line":101,"character":32}},"severity":1,"source":"LSP","message":"undeclared name: pass"},{"range":{"start":{"line":102,"character":4},"end":{"line":102,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":103,"character":2},"end":{"line":103,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":107,"character":2},"end":{"line":107,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":112,"character":18},"end":{"line":112,"character":25}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":113,"character":2},"end":{"line":113,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":49,"character":4},"end":{"line":49,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":50,"character":2},"end":{"line":50,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":54,"character":25},"end":{"line":54,"character":34}},"severity":1,"source":"LSP","message":"undeclared name: filterUrl"},{"range":{"start":{"line":63,"character":22},"end":{"line":63,"character":26}},"severity":1,"source":"LSP","message":"undeclared name: user"},{"range":{"start":{"line":63,"character":28},"end":{"line":63,"character":32}},"severity":1,"source":"LSP","message":"undeclared name: pass"},{"range":{"start":{"line":64,"character":4},"end":{"line":64,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: verbose"},{"range":{"start":{"line":65,"character":2},"end":{"line":65,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":69,"character":2},"end":{"line":69,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":70,"character":2},"end":{"line":70,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":76,"character":2},"end":{"line":76,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":77,"character":2},"end":{"line":77,"character":11}},"severity":1,"source":"LSP","message":"undeclared name: L"},{"range":{"start":{"line":35,"character":26},"end":{"line":35,"character":40}},"severity":1,"source":"LSP","message":"undeclared name: RequestTimeout"},{"range":{"start":{"line":40,"character":25},"end":{"line":40,"character":43}},"severity":1,"source":"LSP","message":"undeclared name: MaxIdleConnections"},{"range":{"start":{"line":42,"character":26},"end":{"line":42,"character":40}},"severity":1,"source":"LSP","message":"undeclared name: RequestTimeout"}]}
[Trace - 1:48:54 PM] Received response 'textDocument/codeAction - (5)' in 0ms.
Params: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"changes":{"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go":[]}}}]
[Trace - 1:48:54 PM] Sending notification 'textDocument/codeAction' in 17ms.
Params: {"textDocument":{"uri":"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go"},"range":{"start":{"line":66,"character":2},"end":{"line":66,"character":2}},"context":{"diagnostics":[]}}
[Trace - 1:49:03 PM] Received response 'textDocument/codeAction - (6)' in 0ms.
Params: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"changes":{"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go":[]}}}]
[Trace - 1:49:03 PM] Sending notification 'textDocument/codeAction' in 6ms.
Params: {"textDocument":{"uri":"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go"},"range":{"start":{"line":72,"character":2},"end":{"line":72,"character":2}},"context":{"diagnostics":[]}}
[Trace - 1:49:04 PM] Received response 'textDocument/codeAction - (7)' in 0ms.
Params: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"changes":{"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go":[]}}}]
[Trace - 1:49:04 PM] Sending notification 'textDocument/codeAction' in 8ms.

Params: []
[Trace - 1:49:04 PM] Sending notification 'textDocument/formatting' in 2ms.
Params: {"textDocument":{"uri":"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go"},"options":{"tabSize":4,"insertSpaces":false}}
[Trace - 1:49:04 PM] Sending notification 'textDocument/didSave' in 0ms.
Params: {"textDocument":{"uri":"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go","version":1}}
[Trace - 1:49:05 PM] Received response 'textDocument/codeAction - (9)' in 0ms.
Params: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"changes":{"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go":[]}}}]
[Trace - 1:49:05 PM] Sending notification 'textDocument/codeAction' in 8ms.
Params: {"textDocument":{"uri":"file:///home/eliezer/Scripts/golang-http-proxy2/filtering.go"},"range":{"start":{"line":72,"character":2},"end":{"line":72,"character":2}},"context":{"diagnostics":[]}}

Works after a full VSCode local settings directory cleanup.

I have tried to run:
cd ~ && rm -rf .vscode && rm -rf .config/Code
Thanks!

I had this problem and removing local settings did not resolve it. I ran go mod init github.com/jshields/my_project_name and the issue was resolved. For me it seems like gopls needs the go.mod to resolve the names available in my package across different files.

Removing the settings and reinstalling VSCode won't work if opting back in to using gopls after the reinstall. gopls seems to only work in Modules mode with a go.mod root to work off of. I ran go mod init github.com/jshields/my_project_name and the issue was resolved for me.
Related:
#33107 (comment)
https://github.com/microsoft/vscode-go/wiki/Go-modules-support-in-Visual-Studio-Code

And in the case I am not working with a git or using a local git?

And in the case I am not working with a git or using a local git?

@elico I just tried it for my env, and in this case you should be able to set "go.useLanguageServer": false to get things working. VSCode will use the "old style" Go tools that are command based instead of language server based.
The reason that deleting the settings was working for people seems to be because it defaulted this setting back to false. VSCode may prompt you to use the LSP, in which case you will have to say no if your project isn't Modules based.
If you aren't working with Git, but want to use the newer LSP based code checks ("go.useLanguageServer": true in VSCode), it seems supplying any name for the module name works. I did go mod init fake_name and the unresolved name errors went away after reloading VSCode when LSP was toggled on.

gopls works in both GOPATH and module mode, so if it's not working for you in GOPATH mode, please report an issue here, and I can help investigate. Otherwise, yes, you will have to initialize a module if you are working outside of your GOPATH (as is expected by the rest of the Go toolchain).

Alright so I don't think there is any issue.
I was experiencing https://github.com/golang/go/issues/33107#issuecomment-512966227 😅
After reproducing the issue by removing my go.mod, the issue was resolved by opening the directory as a VSCode project instead of as individual files.
Also yes, when going without go.mod the project needs to be in $GOPATH/src.
I think this issue can be closed as it seems to represent environment issues rather than a bug.
Although, VSCode / gopls could give better error messaging, or rather VSCode should expose the logs of gopls more directly when there is an issue.
To debug this I had to go digging around in ~/.config/Code/logs, as it appears these steps don't apply to Linux based systems: https://github.com/golang/tools/blob/master/gopls/doc/troubleshooting.md#capturing-logs
If troubleshooting these kinds of issues is time consuming for other people as well, perhaps this should be a VSCode feature request to expose gopls error logs directly in the VSCode console. Not sure if that would make sense.

Thanks for the report, @jshields. What you're referring to sounds like a duplicate of https://github.com/golang/go/issues/31668, so I will close this issue in favor of that one.


feat(CTA): add official support for pnpm package manager

I didn't add any pnpm tests cause I think volta doesn't support pnpm yet https://github.com/volta-cli/volta/issues/737#issuecomment-887750687 and since pnpm users are not that many we can add pnpm tests later.

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[ ] Docs
[ ] New Binding Issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes. Issue #___
[x] No

The PR fulfills these requirements:

[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix: #xxx[,#xxx], where "xxx" is the issue number)
[x] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

Alright I think this PR is done and it should be merged before #2308, due to changes in checking package managers in e8f1141


Cinema on windows doesn't save to user dir

If VisIt is installed 'per user', then this isn't a problem since user has write access to that directory.However, that isn't how we usually do things on windows, any saved files should be saved to the VisIt folder in the user's home space. User might have a problem locating the files. If VisIt is installed for all users, and installed to standard location (Program Files), then user doesn't necessarily have write access without privilege elevation. I've attached screen shots of my Cinema settings, and the resulting error messages in the cli window. The cinema wizard has the option for choosing the directory, but if that isn't filled out, it should be users' home on Windows.
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 3275
Status: Resolved
Project: VisIt
Tracker: Bug
Priority: High
Subject: Cinema on windows doesn't save to user dir
Assigned to: Kathleen Biagas
Category: -
Target version: 3.0
Author: Kathleen Biagas
Start: 12/11/2018
Due date:
% Done: 100%
Estimated time:
Created: 12/11/2018 11:36 am
Updated: 12/13/2018 12:21 pm
Likelihood: 3 - Occasional
Severity: 4 - Crash / Wrong Results
Found in version: trunk
Impact:
Expected Use:
OS: All
Support Group: Any
Description:
If VisIt is installed 'per user', then this isn't a problem since user has write access to that directory.However, that isn't how we usually do things on windows, any saved files should be saved to the VisIt folder in the user's home space. User might have a problem locating the files. If VisIt is installed for all users, and installed to standard location (Program Files), then user doesn't necessarily have write access without privilege elevation. I've attached screen shots of my Cinema settings, and the resulting error messages in the cli window. The cinema wizard has the option for choosing the directory, but if that isn't filled out, it should be users' home on Windows.
Comments:
Fix windows path problems with cinema wizard:Ensure fullpath is always used, convert to linuxstyle path separators for ease of passing the path-strings around.Added check for writable file location to page validation.M /src/gui/QvisCinemaWizard.hM /src/gui/QvisCinemaWizard.C


MQTT Publisher Sampler field names

I have downloaded the code, created a jar file and placed it in  lib folder of jmeter. The publishing works fine but instead of column names i can see the column names as res_key=mqtt_subscriber_title. This is true for  all column/field names.i have followed the steps mentioned like updating the message.properties file in ApacheJmeter_core.jar file. Please  help.

I am also seeing the same Issue where the column names are displayed as res_key=mqtt_publisher.  I have followed the steps mentioned like updating the message.properties file in the ApacheJmeter_core.jar file. Any suggestions to fix this issue please?


Make CYGWIN environment variable configurable

Some users might want different behaviour from the CYGWIN environment
variable, and in particular it seems reasonable to assume they don't
want non-default behaviour unless they explicitly ask for it.  As such,
make the environment variable configurable, and default to empty.
This change is not backwards compatible: prior to this change a Cygwin
install will have CYGWIN=winsymlinks:nativestrict, whereas afterwards
the variable will default to blank.  To obtain the previous behaviour, a
user would need to add env: 'winsymlinks:nativestrict' to the set of
inputs.
Fixes #1.

I released v2 with the requested changes.


Hyprland not starting up in default fish shell

I have changed my user default shell to fish using chsh. My root shell is still dash.
But somehow in this case hyprland not starting up and stays at login manager.
Any work arounds ?

Do you actually need fish as a default user's shell, or do you want it as an interactive shell first and foremost?
If the latter - don't change the default shell and just run your terminal with a different shell.
e.g.
bind = SUPER, RETURN, exec, foot fish

I get your point, but plasma ( wayland ) , bspwm , i3, awesome ( wayland ) working normally in that case, so why shouldn't hyprland ?

Logs?
I have fish as the default shell and it's working without issues.
I don't use a login manager. Just Hyprland from TTY.

Sounds like this issue is between SDDM (if you are using plasmas display manager) and Hyprland. I am running fish as my users login shell, bash as the /bin/sh symlink and GDM as my login manager and Hyprland boots up fine.

@pdamianik I'll try it out and see if Sddm is the issue maker

Yup that was a sddm issue. Thanks for pointing that out.

Still, I find it strange that only Hyprland fails to start. I might investigate this issue a little more so a log capture would be helpful.

Allright its a known SDDM issue and not something specific to Hyprland. Related issues:

sddm/sddm#1592
sddm/sddm#1391 - proposes the fix add export -n PROFILEREAD to ~/.profile for openSUSE Users

nixos-23.11 is broken too :/ https://github.com/NixOS/nixpkgs/issues/287646


Improve test coverage

Improve test coverage of the project to be over 85%.

82% is good enough. Closing issue.


AJ-1695: restore Postgres search path after clone/restore

Background
The default search path for Postgres db connections is "$user", public. This means that anytime we use unqualified names in a SQL statement, Postgres will look for those objects in the public schema and in a schema named after the current user (which in our case doesn't exist).
When WDS creates a new table for a user, it issues a statement like:
create table "some-uuid"."mytable" (id text primary key, myfile file);

This creates two columns:

a column named "id" of type "text", which is the primary key
a column named "myfile" of type "file"

The "text" type is a built-in Postgres type. The "file" type is a custom WDS type, which is created in our first Liquibase changeset here. This "file" type exists in the "public" schema.
In that SQL statement, notice that we create the "myfile" column as type "file", not as "public.file". This gets back to the search path - since the default search path includes "public", Postgres knows how to look in "public" for "file", and finds it. This is equivalent to specifying "public.file".
The Problem
WDS cloning starts with pg_dump-ing the source database. This generates a file of SQL statements which will reconstitute the data. In the clone, we then execute all those SQL statements. These include create table and (the equivalent of) insert statements.
But, the pg_dump statements also include:
SELECT pg_catalog.set_config('search_path', '', false);

This statement changes the Postgres search path, and removes the public schema . Therefore, after performing the restore, the db connection no longer searches in "public" … which manifests as being unable to find the file datatype!!!
The Solution in This PR
Before executing the pg_dump statements, query for and save a copy of the original search path.
After executing the pg_dump statements, restore the original search path.
References

https://www.postgresql.org/message-id/ace62b19-f918-3579-3633-b9e19da8b9de%40aklaver.com
https://postgrespro.com/list/thread-id/2448092
https://www.postgresql.org/message-id/1331174.1661396866%40sss.pgh.pa.us

what I am a bit confused about with this is, why would pg_dump change the behavior or what the original is doing....I thought the whole idea is it is supposed to preserve it!

Verified this also fixes the problem in my bee

closing in favor of #656


docs, network: update the required capabilities for networking

What this PR does / why we need it:
Unprivileged networking does not require NET_ADMIN since KubeVirt
0.41.0 - [0] - featured PR [1].
Currently, the only capability required is CAP_NET_BIND_SERVICE, and
only when either:

the VM features interfaces of types masquerade, slirp, or bridge.
the VM is ran in the pod as a non-root user.

[0] - https://kubevirt.io/2021/changelog-v0.41.0.html
[1] - https://github.com/kubevirt/kubevirt/pull/5147
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/cc @phoracek @AlonaKaplan @xpivarc

Thanks!
/lgtm

@maiqueb now that https://github.com/kubevirt/kubevirt/pull/7629 is merged, the doc can be updated.

@maiqueb please update the PR message.

/approve

/retest

/test pull-kubevirt-e2e-kind-1.22-sriov

/test pull-kubevirt-e2e-kind-1.22-sriov


Request: add baby haj

hello I am sorry to bother you again I just wanted to ask if you could add the baby blahaj to the mod since you added the klappar haj. Here is a link to the baby haj on the ikea site:
https://www.ikea.com/us/en/p/blahaj-soft-toy-baby-shark-70540665/
thank you very much and have a great day :)

Well, I'd just like to have both blahaj and smolhaj if that's not too much trouble, I wouldn't necessarily say I'd prefer one over the other.


added novnc iframe src updating

Added a check for the Workspace Deskop and if found replacing the src of the url to get a smoother experience while using the control panel.

Tested that this works in prod. A bit janky, but great for now.
Fixes #478


Feature: ability to disable adding to cart/ordering with dashboard switch

This is something I'm wanting to add to the shop soon, I had two requests for such a feature over xmas/new years.
Basically I'd love a feature where you can just globally turn the shop off, potentially with a message in place of the cart button.

I might update this to suggest it would be worth making this a bit more than just on/off, as it could potentially be used to enable 'catalogue' mode.

Adding to cart and ordering enabled
Ordering disabled
Catalogue mode

This is not a feature I see worth persuing. All blocks allow you to turn off the add to cart link. You can already essentially do this.


Added sponsors, Increased font-size in timeline, Changed font in timer.

There is not flip effect now @gautham-8

There is not flip effect now @gautham-8

Felt it was not needed anna. So thought to remove it. But I created an option for a modal.


Dashboard & Build UI refresh

Some nice refreshing changes in the daily views for dashboard and build.

![slice 1](https://cloud.githubusercontent.com/assets/34726/18285603/2843452e-743d-11e6-8163-1a29a274690f.png)

Pretty damn awesome, if I may say so myself ;D

We still need some cleanup in the metadata section of a selected job

[ ] Fix overlaps
[ ] Move progress to bottom
[ ] Remove hover color
[ ] Can we show any other helpful items here?

The overlaps in the metadata section are annoying. We should go flexbox here.
What do you mean with "Move progress to bottom"? The progress bar?

That being said, let's not overdo it and merge what we have ASAP. Unless you want to polish :)


Dimension error with sparse_categorical_crossentropy

I have a weighted sparse_categorical_crossentropy loss which is not working after updating to Keras 2.1.1. The previous version I was using was 2.0.6, and it was working fine then.
There are 2 classes (0 and 1) in the Output Layer. I pass the flattened 1D array with an extra dimension as the label.
label = label.flatten().astype(np.int16)
label = np.expand_dims(label, axis=-1)

If I call sparse_categorical_crossentropy directly then there are no errors shown and the training starts. To verify that there was nothing wrong in the way custom weighted loss function should be called, I copied the sparse_categorical_crossentropy from keras/backend/tensorflow_backend.py, renamed it to scc and assigned it to the loss function.
// default
net.model.compile(optimizer=Adam(lr=0.001), loss=sparse_categorical_crossentropy)

// scc is just a copy of sparse_categorical_crossentropy from tensorflow_backend
net.model.compile(optimizer=Adam(lr=0.001), loss=scc)

This gives the following error:
ValueError: Error when checking target: expected mask to have shape (None, 4096, 2) but got array with shape (8, 4096, 1)

If I change the label to One-Hot encoding format to correspond to the 2 labels, then tensorflow throws an error as shown below:
label = np.hstack((label, (~label.astype(bool)).astype(int)))

W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: logits and labels must have the same first dimension, got logits shape [32768,2] and labels shape [65536]

The issue is due to dimension equality checks in _standardize_user_data in keras/engine/training.py.
Along with checking if loss function is sparse_categorical_crossentropy, there was another elif condition for custom loss functions before which has been removed. Adding this elif fixed the issue.
In _standardize_user_data:

KERAS 2.0.6

        output_shapes = []
        for output_shape, loss_fn in zip(self._feed_output_shapes, self._feed_loss_fns):
            if loss_fn.__name__ == 'sparse_categorical_crossentropy':
                output_shapes.append(output_shape[:-1] + (1,))
            elif getattr(losses, loss_fn.__name__, None) is None:
                output_shapes.append(None)
            else:
                output_shapes.append(output_shape)

KERAS 2.1.1

        output_shapes = []
        for output_shape, loss_fn in zip(self._feed_output_shapes, self._feed_loss_fns):
            if loss_fn is losses.sparse_categorical_crossentropy:
                output_shapes.append(output_shape[:-1] + (1,))
            else:
                output_shapes.append(output_shape)

Is it okay to add this condition for custom loss function ? Was there a reason it was removed ?

See https://github.com/fchollet/keras/pull/8514.

Thanks


API thoughts

Because the API of pbf.hpp is very low-level it is really easy to shoot yourself in the foot using it. What can we do to make it more robust and easier to use? I think it makes sense to think about this a little bit before we port all the software using it to the new version.
Here are some random ideas/comments:

varint(), svarint(), and fixed() are templated functions. They use a default of uint32_t, maybe it would be better to not have a default so users will have to be explicit and there is less chance of accidental wrong casting? Or we could remove the templates (or change them to be private) and have functions like varint_int64() or whatever. There are functions std::float32() and std::float64() already which basically do just this.
If we keep templates, they should probably check their argument: std::is_integral<T> etc.
We can sprinkle some noexcept around and maybe some constexpr.
The pbf::string() functions has the overhead of allocating a std::string. It is the only function that needs the heap. We can add a lower-level function pbf::data() or so that gives back a std::pair<const char*, size_t> or similar. Maybe a pbf::string(std::string& str) that copies the data to an existing string?
There is currently no special support for packed repeated fields. Do we need that?
How do we handle the case when a varint is larger that the type we give it to?
The current code can only handle 32 bit strings and embedded messages. Is that intended? (I know it is unlikely that we want strings or embedded messages that large...)
We can probably make pbf a POD/trivial type. Could allow some more compiler optimizations.

/cc @artemp @kkaefer @springmeyer

In terms of templated functions for ints: I'm supportive of removing the default at the least.
I like the idea of all the functions consistently not using the heap. Returning std::pair<const char*, size_t> sounds good (c++11 does not yet have an official string_ref implementation, right?)
packed repeated fields are common (e.g. the geometry array in vector tiles) - better support would be welcome
:+1:  to noexept and constexpr and other c++11 best practices

These issue have now all been adressed in the current code.


Moving Channel closing responsibilities to ChannelPool

Also making sure that ChannelPool has the responsibility of closing the underlying channels.
Making BigtableSession a Closable instead of an AutoClosable.

@mgarolera I took your advice and changed uses of Channel to ManagedChannel.  ChannelPool implements ManagedPool as well now.  That helped remove some hairy concurrency logic in BigtableSession's close logic.  PTAL.

LGTM


error: command 'gcc' failed with exit status 1

I am not so family with the compiling staff and got an error below when I run the "sh make.sh". Pls help. Thanks a lot.
(py27) Xiaoke@apollo:~/repos/faster-rcnn/faster-rcnn.pytorch/lib$ sh make.sh
running build_ext
skipping 'model/utils/bbox.c' Cython extension (up-to-date)
building 'model.utils.cython_bbox' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/model
creating build/temp.linux-x86_64-2.7/model/utils
{'gcc': ['-Wno-cpp', '-Wno-unused-function']}
gcc -pthread -B /data/apollo/a/Xiaoke/miniconda2/envs/py27/compiler_compat -Wl,--sysroot=/ -fno-st
rict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/data/apollo/a/Xiaoke
54/miniconda2/envs/py27/lib/python2.7/site-packages/numpy/core/include -I/data/apollo/a/Xiaoke/miniconda2/envs/py27/include/python2.7 -c model/utils/bbox.c -o build/temp.linux-x86_64-2.7/model/utils/bbox.o -Wno-cpp -Wno-unused-function
gcc -pthread -shared -B /data/apollo/a/Xiaoke/miniconda2/envs/py27/compiler_compat -L/data/apollo/a/Xiaoke/miniconda2/envs/py27/lib -Wl,-rpath=/data/apollo/a/Xiaoke4/miniconda2/envs/py27/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-2.7/model/utils/bbox.o -L/data/apollo/a/Xiaoke/miniconda2/envs/py27/lib -lpython2.7 -o /data/apollo/a/Xiaoke/repos/faster-rcnn/faster-rcnn.pytorch/lib/model/utils/cython_bbox.so
/data/apollo/a/Xiaoke/miniconda2/envs/py27/compiler_compat/ld: cannot find -lpthread
/data/apollo/a/Xiaoke/miniconda2/envs/py27/compiler_compat/ld: cannot find -lc
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
Compiling nms kernels by nvcc...

I am using the conda env:
linux 14.04
CUDA 8.0
Python 2.7.14 |Anaconda, Inc.| (default, Mar 12 2018, 12:37:12)
[GCC 7.2.0] on linux2
Thanks.

@liketheflower hi, you should install anaconda instead of miniconda.

Thanks for your quick feedback. I will try anaconda to see whether it works.

It works! Thanks a lot.

But I run this make.sh in anaconda, but I have a same question, I have no idea to deal with this problem

@Bigwode Have you found any solutions？

source activate $ENVIRONMENT
cd $PATH
conda install gcc
sh make.sh


gvm2 messes with my prompt

wes at Wes-Outreach-Macbook in ~ ⌚ 11:55:59 ‹ruby-2.3.3›
$ source "$HOME/.gvm/scripts/gvm"

[magenta]wes at [yellow]Wes-Outreach-Macbook in [green]~ ⌚ [red]11:56:01 [red]‹ruby-2.3.3›
$

Hrmm. That's odd because GVM2 does not actually do anything to change the prompt, or at least shouldn't be. I'll have to take a look.

I just tried this on the most recent release (as I was also having an installation problem, see #3). This is still a problem.
This is my oh-my-zsh theme
# vim:ft=zsh ts=2 sw=2 sts=2

ruby_version() {
  echo `rbenv version | sed -e 's/ .*//'`
}

rbenv_version() {
  rbenv version 2>/dev/null | awk '{print $1}'
}

ruby_prompt_info() {
  if [ -e ~/.rvm/bin/rvm-prompt ]; then
    echo "%{$fg_bold[red]%}‹$(rvm_current)›%{$reset_color%}"
  elif which rbenv &> /dev/null; then
    echo "%{$fg_bold[red]%}$(rbenv_version)%{$reset_color%}"
  fi
}

PROMPT='
%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info) ⌚ %{$fg_bold[red]%}%*%{$reset_color%} $(ruby_prompt_info)
$ '

# Must use Powerline font, for \uE0A0 to render.
ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}\uE0A0 "
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?"
ZSH_THEME_GIT_PROMPT_CLEAN=""

I think maybe the load order of scripts is affecting variables or something?

I'm still not sure, I've done some searching for fg and reset_color, but I don't see anything like that. It seems that $fg and/or $reset_color are not working when the gvm source line is uncommented from my .zshrc profile. I've looked through the various scripts that get sourced starting with the gvm script entrypoint. Nothing stands out.
[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"

Hi @ghostsquad. I haven't looked further into this prompt problem yet. I wanted to get the code base into better shape. Thanks for the oh-my-zsh theme snippet. That will be helpful.

Prompt problems have been identified as reported in #3 (Installation fails in zsh). While the exact issue reported in this issue has not been duplicated I'm wondering if it's the same but that the different theme variation just displays the problem in a different way.
It's going to take some time to refactor the code to address this problem: it stems from array incompatibility between bash and zsh. I'm scheduling a fix for 0.10.8.

I recently realized this array problem in some other scripts of mine. Would it be easier to write this code in Go and distribute a static binary instead of using shell scripts?

For GVM3 I'm considering a rewrite in Go exactly because it would provide better portability. Support for zsh was not on my radar when I started the rewrite for GVM2. The current plan is to finish GVM2 with zsh compatibility and then sometime in 2018 I will start the journey towards GVM3.

I am facing this problem as well. Is there any update on this? Is there any workaround that we can apply locally ?

@markeissler  how about this issue now :-)

I moved on to use https://asdf-vm.com/#/ which support go among many other things.

I moved on to use https://asdf-vm.com/#/ which support go among many other things.

asdf is a very nice tool to manager other versions for many languages. Thanks

@arminbalalaie @markeissler @fd
I found the reason why gvm2 messes with the prompt of the zsh.
it is going to setopt KSH_ARRAYS on the scripts/function/_shell_compat file.
[[ -n $ZSH_VERSION ]] && setopt KSH_ARRAYS

when I comment this line, my ohmyzsh comes normally.  So I think here the problem is.  Hope it can help other guys to use gvm2 tool.

I have fixed this issue related to the zsh compatibility on my repository => https://github.com/keonjeo/gvm.


Add quality checks and package building.

The pipeline does the following:
- Checks Code style, running pep8 and parsing the output.
- Computes unit testing coverage.
- Builds RPM/DEB packages on tag creation.

Great!
Would it be possible to introduce automatic building of latest master? Should only be used when a PR is merged so not too often, but still useful to have inter release packages

Looks like Jenkins is finishing with a non-zero exit code

retest this please

@gwarf Last version adds the 'anyOf' statement which includes the conditions required to build the packages, either on new tag creation or master branch change.
@brucellino I think we could safely ignore the current Jenkins failure as it is a check that will be removed (disabled now)

@orviz Sorry, I missed this update. I think it's ok now.

@gwarf can you review this one? it would be good to have it merged before you start with the Glue 2.1

Hi @gwarf, I realize now that there is no Dockerfile in the repo to build the image. Maybe we should leave this stage for the moment.
Once it is available (I guess that it could be just a pip install) the stage can be added. What are your thoughts on this?

Hi @orviz , indeed, in that case, I think it's best to leave the container build and push out and merge this ASAP, we can add the docker stuff later when needed.
Thanks!

Perfect, thanks a lot @orviz !


OutOfRangeError (see above for traceback): End of sequence

I am trying to run the code with out making any changes and hitting below error from (chars_conv_lstm_crf/main.py)
OutOfRangeError (see above for traceback): End of sequence
[[{{node IteratorGetNext}} = IteratorGetNext_class=["loc:@cond/sub/Switch"], output_shapes=[[?,?], [?], [?,?,?], [?,?], [?,?]], output_types=[DT_STRING, DT_INT32, DT_STRING, DT_INT32, DT_STRING], _device="/job:localhost/replica:0/task:0/device:CPU:0"]]
TF version : 1.11.0rc2
Do you know why this error appears ?.
thanks

got this working,  looks like there was no sufficient data and hence i was getting this error. thanks


Right to left (rtl) problems with Swiper

When being used on an application that is in Right To Left mode (direction css set to rtl), the swiper.isBeginning property is randomly being set to True after clicking the next/prev buttons. Because of this, sometimes the prev button stops working.
I observed this by noting that the swiper-prev-button was receive an unintenional swiper-button-disabled class after navigation. I printed the return param of onProgress, and it turns out param.isBeginning was being set to true even though I'm somewhere in the middle of my swiper array. Can anyone help with this?

Can you please provide the JSFiddle with the issue? I can't replicate it

Closing due to inactivity and/or no responses from issue author


mbed-cli leaks compiler process in CI

Please see the screenshots:

Suspended/Zombi arm-none-eabi-g++.exe prevent recursive deletion of workspace. Causing subsequent builds to fail.

This is a problem with the tools in mbed-os. Please re-open there.

Further, it should not be a problem if you have an init process that reaps orphaned children.

I would not want to pollute CI jobs with cleaning up of orphaned processes. Unless there is a slick Jenkins plugin that does this reliably.
It would be better at least maintained apps like build tools don't leak processes.

Created https://github.com/ARMmbed/mbed-os/issues/4213

CC: @miklis @marhil01

This is now tracked in https://github.com/ARMmbed/mbed-os/issues/4213. Closing here


feat: BitVec.toInt_neg_eq_ite

This PR adds a theorem that describes (-x).toInt as a case-split:

If x = intMin w, then (-x) overflows and is equal to intMin w = x = -x. and thus (-x).toInt = x.toInt.
otherwise, (-x).toInt = - (x.toInt).

This better matches the semantics one might expect of such an operation, since, in particular, it explicitly describes what happens when x = intMin, and it combines two existing lemmas on the two sides of the case split: neg_intMin , toInt_neg_of_ne_intMin

changelog-library

This is already in #6154, right?


Deployment docs - revamp

Improve the installation deployments page
Update the format and content required to install or run the AI gateway.
Same purpose as  #208 - (Closing the older version).

Addresses #329


Ensure alt-text ends with punctuation

https://thoughtbot.com/blog/add-punctuation-to-your-alt-text

Hi! I think this is cool. How can I work on it?

@AfiDede I would be glad to work with you on this. I am having some issues because this is my first time to coding ruby. I can't wait to learn from you.


Rancher Server won't start on Ubuntu 16.04 instance in AWS

Overview
I'm trying to run Rancher Server in a single-container / non-HA scenario, on Ubuntu 16.04 on an AWS EC2 instance, and am running into some issues getting it to complete initialization and start running.
My goal is to simply use Rancher to set up a Kubernetes cluster.
Rancher versions:
rancher/server: sha256:6c4395b5515a99aa44c57a801d78f9e441ee30993921ff8b68c39b58b68a9404
rancher/agent:
Infrastructure Stack versions:
healthcheck: n/a
ipsec: n/a
network-services: bridge
scheduler: Docker
kubernetes (if applicable): n/a
Docker version: (docker version,docker info preferred)
Containers: 2
 Running: 1
 Paused: 0
 Stopped: 1
Images: 2
Server Version: 1.13.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 33
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version:  (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
runc version: N/A (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)
init version: N/A (expected: 949e6facb77383876aeff8a6944dde66b3089574)
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-1041-aws
Operating System: Ubuntu 16.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.952 GiB
Name: ip-172-31-28-155
ID: C3ZH:BEHY:6SQ6:DJCA:7UAC:EKMQ:MCHS:PKIC:6CFH:C5TY:BWSV:GIIE
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Operating system and kernel: (cat /etc/os-release, uname -r preferred) Linux ip-172-31-28-155 4.4.0-1041-aws #50-Ubuntu SMP Wed Nov 15 22:18:17 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO) AWS
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB) Single container
Environment Template: (Cattle/Kubernetes/Swarm/Mesos) n/a
Steps to Reproduce:

Create AWS EC2 instance running Ubuntu 16.04
Ensure EC2 security group has port 8080 open
Install Docker Engine sudo apt install docker.io --yes
Add ubuntu user to docker group sudo usermod --append --groups docker ubuntu
Pull Rancher Server container image from Docker Store docker pull rancher/server
Run Rancher Server container docker run --detach --interactive --tty --publish 8080:8080 rancher/server

Results:

Rancher Web UI is inaccessible
Container appears to be hung during initialization process

Container Logs: https://gist.github.com/anonymous/e65a896a71bc4a1c61cf8333689633a1
Snippet of last 10 lines
[34mINFO[0038] Creating schema packetConfig, roles [service member owner project admin user readAdmin readonly restricted]  id=1ds28 service=gms
INFO[0038] Updating machine jsons for  [packet packet amazonec2 azure digitalocean]  service=gms
INFO[0038] Creating schema machine, roles [service]      id=1ds29 service=gms
INFO[0039] Creating schema host, roles [service]         id=1ds30 service=gms
INFO[0039] Creating schema machine, roles [project member owner]  id=1ds31 service=gms
INFO[0040] Creating schema host, roles [project member owner]  id=1ds32 service=gms
INFO[0040] Creating schema machine, roles [admin user readAdmin]  id=1ds33 service=gms
INFO[0040] Creating schema host, roles [admin user readAdmin]  id=1ds34 service=gms
INFO[0040] Creating schema machine, roles [readonly]     id=1ds35 service=gms
INFO[0040] Creating schema host, roles [readonly]        id=1ds36 service=gms

Cheers,
Trevor Sullivan

That is a normal startup log and your problem is probably with security groups.  The server is up many lines before that at
2017-11-24 17:17:31,702 INFO    [main] [ConsoleStatus] [DONE ] [39431ms] Startup Succeeded, Listening on port 8081
(And it says 8081 because there's an internal proxy from 8080 to there and other services).  Various things happen asynchronously after that, like downloading and activating machine drivers.
Also you don't need -i or -t, and without --restart=unless-stopped  it won't come back on reboot...

Great, I just uncovered a VPN configuration problem. Sorry for the false report.


Improve client logging

Improvements to logging in CopycatClient and specifically ClientConnection

Changes Unknown when pulling e523f2dc67f191742f3109ad622c10ceb895e2e1 on client-logging into ** on master**.


Border Style for Searchbox

I'd like to have border style for Searchbox like Textbox.

Figma’s search box UI does not have a border on all 4 sides. You can use two <Divider /> components to render a horizontal line above and below the search box


Add Subscription compatibility to AddToCartButton

Description
Added the optional sellingPlanId prop to the AddToCartButton.client.tsx component

Additional context
The current AddToCartButton.client.tsx does not allow the sellingPlanId prop to pass-through to the useCart hook. The types and the Storefront API are already compatible with this.
Without this prop, you cannot add items to a subscription.

Before submitting the PR, please make sure you do the following:

[x] Read the Contributing Guidelines
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123)
[ ] Update docs in this repository according to your change
[x] Run yarn changeset add if this PR cause a version bump based on Keep a Changelog and adheres to Semantic Versioning

Legend @ChrisKG32, thank you!! @lordofthecactus — any insights here given the example you made?


Update object-types.md

Pretty sure this is a typo, right @patrick91 ?

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver,so make sure to pick the appropriate type. If in doubt feel free to ask :)

@mecampbellsoup yup! I think we do that multiple times in that file, would be able to update the other instances too?


Update institution test

Added invalid institution test as suggested by @yunpeng1234

Codecov Report

Merging #14 (a6dd7b7) into master (8e557d0) will increase coverage by 0.15%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master      #14      +/-   ##
============================================
+ Coverage     72.17%   72.33%   +0.15%
- Complexity      409      410       +1
============================================
  Files            72       72
  Lines          1276     1276
  Branches        132      132
============================================
+ Hits            921      923       +2
+ Misses          318      317       -1
+ Partials         37       36       -1

Impacted Files
Coverage Δ

...in/java/seedu/address/logic/parser/ParserUtil.java
97.56% <0.00%> (+4.87%)
:arrow_up:

Continue to review full report at Codecov.

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


Netlify & boilerplate cookie incompatibility

I apologize for this since it's very Netlify centric, but I'm sure someone here can help me solve this issue.  This cookie (screenshot below) is causing Netlify's password protection not to work (it prompts for a password over and over).  I'm not sure what module is creating this cookie due to the lack of hints in the name/content, so I'm having trouble debugging.  Thanks for any suggestions!

abandoned Netlify attempt, closing.


[Azure-DevOps] Add support for JaCoCo style line coverage

JaCoCo uses "Line" as the type name for line coverage metric counter. Added a condition to accept "Line" as a valid coverage stat label to support JaCoCo style coverage reports.
See the JaCoCo XML Report DTD for details.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @mehmetseckin!

  Generated by :no_entry_sign: dangerJS


Don't run service tests on commits to master

As mentioned at https://github.com/badges/shields/pull/2371#issuecomment-441122231 the simplification in #2371 did not work as intended, and has caused service tests to run on commits to master.
The Circle config should be updated so that services and services@node-latest don't run on the master branch.

Fixed in #2392.


v0.8.6 Webinstaller phpext_wincache.zip

Now I tried v0.8.6 and there I get a 404 with phpext_wincache.zip
thank you for the fast fix earlier today, that was with v0.8.5

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/29303199-v0-8-6-webinstaller-phpext_wincache-zip?utm_campaign=plugin&utm_content=tracker%2F164029&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F164029&utm_medium=issues&utm_source=github).

Thank you again for reporting the issue.
The registry is out-of-sync.
The last update for phpext_wincache messed the registry up.
https://github.com/WPN-XM/registry/commit/53702b39d7ee4ea9ef4202514f956b5d8638d29f#diff-90bf5e8b31d4328245821666bd64b974
Thats mainly because the crawler fetches the latest version from PECL without any precautions for crappy releases on their side. But they release very inconsistently, see
http://windows.php.net/downloads/pecl/releases/wincache/<IP_ADDRESS>/ - 5.3,5.4,5.5,5.6
http://windows.php.net/downloads/pecl/releases/wincache/<IP_ADDRESS>/ - 7.0
quick fix
The quick fix is to lower the version of phpext_wincache to v<IP_ADDRESS>.
That will make it work with the released webinstallers and the PHP version 5.4, 5.5, 5.6.
But won't work with the upcoming webinstaller for PHP7 (which needs <IP_ADDRESS>).
real fix
This needs a really performance draining patch on the get.php script to forward to the right download URLs.
For PHP7 we need to redirect to the real latest version (v<IP_ADDRESS>).

http://wpn-xm.org/get.php?s=phpext_wincache&p=7.0&bitsize=x64

For all other PHP versions redirect to the latest available version (v<IP_ADDRESS>).

http://wpn-xm.org/get.php?s=phpext_wincache&p=5.4&bitsize=x64
http://wpn-xm.org/get.php?s=phpext_wincache&p=5.5&bitsize=x64
http://wpn-xm.org/get.php?s=phpext_wincache&p=5.6&bitsize=x64

Quick fix incoming...

Marking this issue as blocker for PHP 7 webinstallers.

Resolved the blocker situation for PHP 7 webinstallers by removing the extension from all installers.
https://github.com/WPN-XM/WPN-XM/issues/533