data:l-legren

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Duplicate of #7417
I'll be closing this PR as it seems to be a duplicate of #7417. The one with the latest changes will be merged.


Start slots witnesses with known capacities

I got some improvements for synthesis on my machine:
synthesis/Synthesis-rc/8
                        time:   [6.2669 ms 6.4224 ms 6.5533 ms]
                        change: [-6.2341% -3.8673% -1.8713%] (p = 0.00 < 0.05)
                        Performance has improved.
synthesis/Synthesis-rc/16
                        time:   [4.7671 ms 4.8198 ms 4.8714 ms]
                        change: [-2.9545% -1.6521% -0.4143%] (p = 0.02 < 0.05)
                        Change within noise threshold.
synthesis/Synthesis-rc/24
                        time:   [6.7224 ms 6.7568 ms 6.7920 ms]
                        change: [-1.6682% -0.9685% -0.2239%] (p = 0.01 < 0.05)
                        Change within noise threshold.
synthesis/Synthesis-rc/32
                        time:   [8.4923 ms 8.5334 ms 8.5706 ms]
                        change: [-2.4480% -1.7619% -1.1174%] (p = 0.00 < 0.05)
                        Performance has improved.
synthesis/Synthesis-rc/64
                        time:   [13.447 ms 13.493 ms 13.539 ms]
                        change: [-0.8879% -0.3201% +0.2570%] (p = 0.30 > 0.05)
                        No change in performance detected.
synthesis/Synthesis-rc/128
                        time:   [37.025 ms 37.278 ms 37.523 ms]
                        change: [-3.4201% -2.5735% -1.7471%] (p = 0.00 < 0.05)
                        Performance has improved.
synthesis/Synthesis-rc/256
                        time:   [62.348 ms 62.594 ms 62.824 ms]
                        change: [-0.7295% -0.0956% +0.4956%] (p = 0.77 > 0.05)
                        No change in performance detected.
synthesis/Synthesis-rc/512
                        time:   [111.31 ms 111.61 ms 111.88 ms]
                        change: [+0.6540% +0.9731% +1.2892%] (p = 0.00 < 0.05)
                        Change within noise threshold.

!gpu-benchmark


How to customize the Vagrant environment after it is created?

Presently we have the the following "mount" in the Vagrantfile:
config.vm.synced_folder "..", "/opt/gopath/src/github.com/hyperledger/fabric"

Would it hurt anything to extend this all the way up to the user's GOPATH root?:
config.vm.synced_folder "../../../../..", "/opt/gopath"

I ask because I have installed my own Go language chaincodes and support infrastructure from a private Github repo. in the GOPATH alongside the hyperledger/fabric, and with the current default mount this code is not visible (in the correct place) inside the Vagrant environment. It seems that this change might save a lot of people from 1) having to debug why their Golang chaincodes don't work, and then 2) maintaining their own copy of the Vagrantfile.

The original title of this post was the rhetorical question, can we "Extend the scope of the GOPATH in the Vagrantfile to the entire GOPATH?"  Now I think this is probably a general documentation issue. There are a number of ways the Vagrant environment can be re-configured and extended after it is built. It might be helpful to add some documentation regarding common things people might want to do to extend their environments.
Going further, the Vagrantfile distributed here should probably only contain the absolute miminimum setup required to execute the included tests - anything else is user-specific and should be added by the individual user.

If this is an issue for people using Vagrant (which I am not) then I assume they'll fix it.


[vcpkg] Remove Windows 7 from supported OSes in README.md

Describe the pull request

What does your PR fix? Fixes issue #
This PR removes Windows 7 from the list of supported OSes in README.md
Windows 7 is unsupported as of January 14th 2020, see here for details: https://www.microsoft.com/en-gb/windows/windows-7-end-of-life-support-information

Which triplets are supported/not supported? Have you updated the CI baseline?
N/A, documentation change

Does your PR follow the maintainer guide?
N/A, documentation change

Windows 7 is still alive for paying enterprise customers and I think that’s the reason windows 7 is still there in the readme.md file

Windows 7 is still alive for paying enterprise customers

Right. And yet as a piece of open source MIT licensed software https://github.com/microsoft/vcpkg/blob/master/LICENSE.txt vcpkg is not subject to the license agreements of which a number of Windows 7 enterprise customers have paid to make with Microsoft to extend their support requirements.
I might add too, that in my opinion the object of the paid for support extension for Windows 7 enterprise customers is not only to support them while they are still using Windows 7 but to allow them the extra time they need to transition to a modern operating system suitable for modern IT hardware.
Spinning up a new product which uses vcpkg using an infrastructure based upon Windows 7 enterprise is a non-starter in today's IT world I'm afraid.
The need to use legacy operating systems to build software, even in developing countries has almost completely evaporated due to modern development techniques such as devops CI/CD and cloud infastructure services: Azure, Amazon EC2, Cloud Flare Workers and Google GCP.
I totally agree with this PR for the record. Please accept it and lets wrap this up.

We do still support Windows 7; however, it's likely we'll want to start changing how we define our support for things, and add something like Rust's Primary/Secondary/Tertiary Support setup. On the other hand, we can't test on Windows 7, so we're relying on people posting bugs when our W7 support breaks. This is a situation we're working on.


Feature/restructure zarf config yaml

Closes #64 and helps cleanup https://github.com/defenseunicorns/zarf/discussions/40#discussion-3575111

Passing build and E2E:  https://repo1.dso.mil/platform-one/big-bang/apps/product-tools/zarf/-/pipelines/508564

Good stuff. Taking a look now.

Update: haven't even had a chance to look at this yet.  The code all looks fine to me, I did want to deploy each example to make sure none of them were broken.

Okay pinky swear I'm actually looking now

@jeff-mccoy can you try the big bang example? I think the utility cluster stuff isn't working, want to make sure it isn't just a "me" thing

The command finishes waaaay faster than it used to, and I don't see any repos in gitea

It did feel too easy, I’ll check it out

It looks like zarf package deploy is missing the --components flag. Want to add it here or do it in a new PR? I'm fine with either.

Good catch, I’ll get that in this pr too later this evening

LGTM other than the --components flag being missing


Unbreeding Pokemon

Sometimes when doing /unbreed  the message that appears asks if you want to make the pokemon breedable, when it is already a breedable pokemon. The confirmation messages says that you've made it unbreedable however.

Yeah i've noticed that, im guessing a checksum of some kind hasn't been implemented yet to change the dialogue.

I believe this has been fixed.


os: could not iterate over named pipes on Windows

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

$ go version
go version go1.12.5 windows/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\mars9\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\mars9\go
set GOPROXY=
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\mars9\AppData\Local\Temp\go-build413446826=/tmp/go-build -gno-record-gcc-switches

What did you do?

I wanted to iterate over Windows' named pipes using os package:
	f, err := os.Open(`\\.\pipe`)
	if err != nil {
		log.Fatalf("Could not open pipe list: %s", err)
	}
	defer f.Close()
	stat, err := f.Stat()
	if err != nil {
		log.Fatalf("Could not get file stats: %s", err)
	}
	log.Printf("Is Directory: %t", stat.IsDir()) // output: false
	pipelist, err := f.Readdir(-1)
	if os.IsNotExist(err) {
		log.Print("Pipe list does not exist")
	} else if err != nil {
		log.Printf("Could not read pipe list: %s", err)
	}
	for _, pipe := range pipelist {
		log.Printf("Pipe found: %s", pipe.Name())
	}

What did you expect to see?
The same result as in Python:
for pipeName in os.listdir(r'\\.\pipe'):
    print("Pipe found: %s" % pipeName)

Pipe found: InitShutdown
Pipe found: lsass
Pipe found: ntsvcs
Pipe found: scerpc
...

What did you see instead?
Is Directory: false
Pipe list does not exist

It isn't clear to me if this is something that the standard library itself should handle, but I recently wrote some Go code to do just this if it helps: https://github.com/WireGuard/wgctrl-go/blob/master/internal/wguser/conn_windows.go#L196.

/cc @alexbrainman

Or sure, maybe we could fix that code.
I don't have time to debug this, but, if someone is interested, maybe they could make code above work. Maybe FindFirstFile and FindNextFile could be used to read that directory.
Alex

Maybe FindFirstFile and FindNextFile could be used to read that directory.
Thanks, this solved my issue.

I've submitted a patch that makes this work with package os, but it needs a bit more work and it probably won't land until Go 1.14 at this point.

Documentation states explicitly that it is not possible to list pipes using Win 32 API. For the same reason, >dir \\.\\pipe\\ does not return anything but an error.
The  same documentation suggests to use NtQueryDirectoryFile of library NtosKrnl which is unavailable in the syscall package.
For completeness, the Powershell instruction to list pipes on Windows is [System.IO.Directory]::GetFiles("\\.\\pipe\\"). The directory value is currently not supported by the files method which uses FindFirstFileW.
Adding the relevant call require seems more like a proposal.

It isn't clear to me if this is something that the standard library itself should handle, but I recently wrote some Go code to do just this if it helps: https://github.com/WireGuard/wgctrl-go/blob/master/internal/wguser/conn_windows.go#L196.

@mdlayher the code you are referring to, implements functionality to connect to Windows named pipe. What we want in this issue is to list all files under \\.\pipe. Not the same thing.

The same documentation suggests to use NtQueryDirectoryFile of library NtosKrnl which is unavailable in the syscall package.
...
Adding the relevant call require seems more like a proposal.

@iWdGo using NtQueryDirectoryFile sounds like it might work. And you don't need to add NtQueryDirectoryFile to syscall package. We can put it in internal/syscall/windows if it works.
Alex

Following code can help until fixed.
// List pipes on Windows
package main

import (
	"bytes"
	"fmt"
	"log"
	"os/exec"
	"strings"
	"syscall"
)

// https://github.com/golang/go/issues/32423

const (
	windows10Pipes = "\\\\.\\pipe\\\\"
)

func cmdListPipes() (pipes []string, err error ) {
	cmd := exec.Command("cmd")
	out := new(bytes.Buffer)
	cmd.Stdout = out
	cmd.Stderr = out
	cmd.SysProcAttr = &syscall.SysProcAttr{
		HideWindow: false,
		CmdLine:    "/C \"dir " + windows10Pipes + " /B \" ",
		CreationFlags:     0,
		Token:             0,
		ProcessAttributes: nil,
		ThreadAttributes:  nil,
	}
	err = cmd.Run()
	if err != nil {
		fmt.Errorf("%v", err)
		if cmd.Stderr != nil {
			out, _ := cmd.CombinedOutput()
			log.Fatalf("%s", out)
		}
	}
	return strings.Split(out.String(), "\n"), nil
}

func main() {
	pipes, err := cmdListPipes()
	if err != nil {
		fmt.Println(err)
	}
	for _, p := range pipes {
		fmt.Println(p)
	}
	if len(pipes) == 0 {
		fmt.Println("no output")
	}
}

The issue here is that Windows is not treating \\.\pipe in the same way as \\.\pipe\ (notice the trailing slash). You can iterate over the later, but not over the former. In fact, using go1.21.1 I can iterate over all the named pipes if opening the root with os.Open(\\.\pipe\).
This behavior is weird, can't see it documented anywhere, but it is what it is. Python's os.listdir(r'\\.\pipe') work because they call FindFirstFileW(r'\\.\pipe\*') under the hood.
We could special-case \\.\pipe in os.Open so it opens \\.\pipe\ instead, but I don't know the implications, documentation lacking.


Added --maxerrorlines CLI option (#2576)

Fix for #2576
Added CLI option for the number of error lines to be displayed on the console output.

I have tried running different scenarios (even programmatically), the value is set back to the original when RobotFramework.main() method is called. The RobotSettings object contains the default value (if no --maxerrorlines option is passed).

@muresanrazvan is no longer part of our team, inside the company, but I have access to his repository and will make the changes.
Hopefully before the RF 3.1 beta 1.

@pekkaklarck thank you for the detailed review. See my responses to your comments below:

Done
Updated documentation and --help. Also included details about the minimum value of 10. Wasn't sure if it's relevant of not, but I can remove them if need be.
Done. Created a new variable to store the default value before changing it in the unlikely event the default will be changed from 40, in the future. Again, if necessary I could modify to use the hardcoded 40.
Used Tidy for that :-) sorry for the reviewing troubles.

Because the pull request was submitted a long time ago, after merging with master had to also update the acceptance test by escaping the square brackets from [ Message content over the limit has been removed.].

This PR looks very good. There are some minor enhancements/fixes that could be done, but I do them myself after merge. Thanks @muresanrazvan and @mihaiparvu!


Pickaxe Upgrades Applied To Direwolf20 Mining Gadget In Offhand

Just Dire Things version
1.4.2
Minecraft Version
1.21.1
(Neo)Forge Version
21.1.61
Modpack & Version
FTB Presents: Direwolf20 - Season 14 - 1.2.1
Do you have optifine or Rubidium installed?
I have other rendering based mods installed
Describe the issue
When mining gadget is in off-hand with Just Dire Things pickaxe held in main hand, upgrade effects (efficiency, fortune, etc.) are applied to the mining gadget, costing durability on the pickaxe. And efficiency seems to stack with Mining Gadget upgrades...makes for some VERY fast mining...
Steps to reproduce

Place mining gadget in off-hand.
Place upgraded Just Dire Things pickaxe in main hand.
Mine with mining gadget.
Profit.

Expected behaviour
Pickaxe upgrades should not be applied to mining gadget.
Screenshots
No response
Log files
No response
Additional information
No response

I knew about this one, and can't come up with a good solution. Consider it a fun side effect :)

😂😂 Amazing. At least now I don't feel like I'm cheating lol


api/server: fix profiler HTTP serving

This PR fixes the serving of the profiler over HTTP.

ping @crosbymichael

Hi, #11949 has fix your problem. you can rebase against the master and push again

@liusdu Thank you for the ping! I appreciate it.

LGTM

LGTM


added fleet level dashboard for SLO status

Issue: https://github.com/open-cluster-management/backlog/issues/15902
Signed-off-by: dislbenn<EMAIL_ADDRESS>

/retest

/approve
/lgtm

/retest

@dislbenn
some related error in unit test, please fix
2021/09/22 12:09:11 got file 'dash-k8s-service-level-overview-api-server-cluster.yaml', but '/go/src/github.com/open-cluster-management/multicluster-observability-operator/operators/multiclusterobservability/manifests/base/grafana/dash-k8s-service-level-overview-api-server-cluster.yaml' must be a directory to be a root
2021/09/22 12:09:11 Cannot find this path /go/src/github.com/open-cluster-management/multicluster-observability-operator/operators/multiclusterobservability/tests/manifests/base/grafana, accumulating resources: merging resources from 'dash-k8s-service-level-overview-api-server-cluster.yaml': may not add resource with an already registered id: ~G_v1_ConfigMap|open-cluster-management-observability|grafana-dashboard-k8s-slo

@dislbenn
some related error in unit test, please fix
2021/09/22 12:09:11 got file 'dash-k8s-service-level-overview-api-server-cluster.yaml', but '/go/src/github.com/open-cluster-management/multicluster-observability-operator/operators/multiclusterobservability/manifests/base/grafana/dash-k8s-service-level-overview-api-server-cluster.yaml' must be a directory to be a root
2021/09/22 12:09:11 Cannot find this path /go/src/github.com/open-cluster-management/multicluster-observability-operator/operators/multiclusterobservability/tests/manifests/base/grafana, accumulating resources: merging resources from 'dash-k8s-service-level-overview-api-server-cluster.yaml': may not add resource with an already registered id: ~G_v1_ConfigMap|open-cluster-management-observability|grafana-dashboard-k8s-slo

Thank you! I just realized that the metadata name needed to be changed.


[Enhancement] Allow build_type to be override with other values during gradle build

Our current plan of RPM is built based on the tarball artifacts.
Therefore, when running OpenSearch after installing RPM and run the service, the build_type still show as tar.
% curl https://localhost:9200 -u admin:admin --insecure
{
  "name" : "fca1dd6539e3",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "mPdCwodbTUaT9jiJx4_w9w",
  "version" : {
    "distribution" : "opensearch",
    "number" : "1.2.1",
    "build_type" : "tar",
    "build_hash" : "e3a44fa71b290fb265a94ef4297f044b9a63a762",
    "build_date" : "2021-12-11T04:22:52.398139Z",
    "build_snapshot" : false,
    "lucene_version" : "8.10.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/"
}

We would like to have an option specified during gradle build, to change this type value to something like rpm, deb or others, so that we can build a tarball artifact that has `"build_type" : "rpm", then we can use it to assemble RPM.
Thanks.
cc: @bbarani

This is similar to the problem that this JSON returns the version of -min, not the version of the distribution.

Adding up:
OPENSEARCH_SD_NOTIFY does not notify systemctl if the core is built for tar.
This only runs if the core is built for rpm and deb.
https://github.com/opensearch-project/OpenSearch/blob/37ac3788a3937ed415039edb2671da08e6450ed5/modules/systemd/src/main/java/org/opensearch/systemd/SystemdPlugin.java#L80-L84
@dblock any insight on this one?
Thanks.


QueryWatcher crashes when refetch()

Summary
When using Rx2Apollo, QueryWatcher will crash immediately when calling refetch().
Version
2.5.5
Description
When using Rx2Apollo, QueryWatcher will crash immediately when calling refetch().
java.lang.IllegalStateException: Cannot refetch a watcher which has not first called enqueueAndWatch.
        at com.apollographql.apollo.internal.RealApolloQueryWatcher.refetch(RealApolloQueryWatcher.java:124)
        at com.example.myapplication.MainActivity$onCreate$2.onClick(MainActivity.kt:107)
        at android.view.View.performClick(View.java:6205)
        at android.widget.TextView.performClick(TextView.java:11103)
        at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1119)
        at android.view.View$PerformClick.run(View.java:23653)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6682)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)

Here is my example code:
I create a query watcher as shown below
            val query = MyQuery()

            val watcher = apolloClient.query(query)
                    .toBuilder()
                    .responseFetcher(ApolloResponseFetchers.CACHE_FIRST)
                    .build()
                    .watcher()
                    .refetchResponseFetcher(ApolloResponseFetchers.CACHE_FIRST)

            Rx2Apollo.from(watcher)
                    .observeOn(mainThread())
                    .subscribe(
                            {
                                //Do something
                            },
                            {
                                //Do something
                            }
                    )

Then I call refetch()
        watcher.refetch()

Hi @TSurawanwijit, sorry for the late response. Can you give some more details about your use case?
My understanding is that refetch is mostly an API used by ApolloMutationCall.Builder.refetchQueries().
If you're not doing any mutation, you would usually subscribe exactly like you did and that should start emitting results. Is there a specific reason you call refetch ?

I want queryWatcher to emit the same result again because my code doesn't keep the result from previous emission. I just all refetch when I need it. It was working before I update apollo to latest version.
I found the crash come from this change.

My understanding is that refetch is mostly an API used by ApolloMutationCall.Builder.refetchQueries().

So, can I continue using this refetch? The api doesn't tell that it should only be used by ApolloMutationCall.Builder.refetchQueries()
/**
   * Re-fetches watched GraphQL query.
   */
  void refetch();

I want queryWatcher to emit the same result again because my code doesn't keep the result from previous emission. I just all refetch when I need it.

Thanks for the details! The problem here is a conflict between reactive usages (RxJava) and imperative usages (manually calling refetch and having the stream updated as a side effect). Since the watcher is cloned by RxJava, the original one is never executed so it doesn't really make sense to refetch it.
I believe one way to fix this would be to use something like a BehaviorSubject to remember the last emitted value.
Also, I'm curious why you need a watcher if you control when the updates need to happen. Maybe a simple query would do here?

OK. I just want to inform you about this crash. I think it would be more friendly for other people if refetch() works correctly on every case: call directly, rx2, rx3, coroutine.

Thanks for the heads up! I added a note to the 2.4.0 release where this behaviour changed happened: https://github.com/apollographql/apollo-android/releases/tag/v2.4.0.
Let me know if I can help updating to the new behaviour. If not, I'll close this issue.

Thank you.


Add a README

Please consider adding a README when you get a chance. I wanted to try this out but there's nothing to indicate if this is even production ready.

I've added a README and made it more obvious which external dependencies are required.  Please let me know if you have any trouble getting ndhs built and working, or if there's anything I can do to make the instructions in the README more helpful.

Thanks!


Add Integration Testing

In the interest of getting the v0.5.0 release out as quickly as possible, this issue will be bumped to the next release after v0.5.0.


Can't use letters in UPC with Solr

Issue Summary
It's allowed to use letters in product UPC but Solr schema can't handle it
Steps to Reproduce

Create a test product with letters in UPC. Eg: "p001"
Run manage.py rebuild_index

I realize that, it's a bit uncommon to use letter in UPC, but it's still possible in the UI and DB. I think Solr schema should be changed to allow text (and not only numbers) to be indexed.
I'm too new at Solr to manually changed it in the xml file.
Technical details

Python version: 3.10.12
Django version: 4.12
Oscar version: 3.2.4

Hi!
upc is already a Textfield by default in solr schema.xml:

It's also a CharField in Oscar's ProductIndex:
https://github.com/django-oscar/django-oscar/blob/master/src/oscar/apps/search/search_indexes.py#L18
Did you create the file schema.xml for solr by calling  ./manage.py build_solr_schema ?


Add Chromium Embedded Framework

SteamDB app page links to a few games using this
Garry's Mod
SteamVR
Brief explanation of the change
Added Chromium Embedded Framework as an SDK (Should i put it in the container category ?)
I was unable to find to a MacOs game that had cef, even though garry's mod has a OSX version it doesn't seem to be using cef for it
Also throwed GenerateTestStrings.php 's update of Nvidia Nsight in there.

Isn't it libcef.dll? chrome_elf.dll is not CEF itself.

Indeed, mistake on my side, it's only libcef

can you rebase please

Done


Print more useful error messages when redefining symbols

This pull request improves the error messages that are shown when a symbol is redefined by telling the file and line where it was defined in the first place: 'label' already defined in file.asm(42)
Version number of object files increased because there is a compatibility break: New object files contain the name of the file and the line of code of the definition of each symbol.
Fixes #75

Actually, forget this, I'm not checking for errors in the linker...

That issue seems to be about redefinitions within the assembler; was that why you closed this? IMO, also having a more verbose redefinition error in the linker doesn't sound like a bad idea to me.

My idea is to create a new PR when I make the other changes to the linker to merge them together. Hopefully I'll have time to do it tonight or tomorrow.


How to use plotly_kaleido?

I have downloaded the kaleido as exe from their github and kept the executable in C:\Users\selva\Downloads\kaleido_win_x64. I have added it to the path temporarily using setx path "%path%;C:\Users\selva\Downloads\kaleido_win_x64".
Now if I run using below command, I am getting could not find kaleido executable in path
cargo test --package tester --test plot -- test_plotter --exact --nocapture

https://github.com/igiagkiozis/plotly/issues/23#issuecomment-879946595


Angular App not working on Firefox and Safari when using JIMP

App should start with each browser.
The App should start without any problems with Chrome, Safari and Firefox
Currently its just working with google chrome
Its just working with Google Chrome. On other browsers i get the following error message.
Failure Information (for bugs)
The whole angular application is not loading / starting.
Steps to Reproduce
Well, i am using angular version 8.2.* combined with zone 0.9.1 and jimp 0.9.3
After hours of trying i found out that everything is working well when i am using jimp in version 0.8.0. I tried it once with 0.8.3 there was the same error.
I cant change the order of the loading modules. I tried to move the import from polyfill into the main.ts. Its not working as well.
I cant add a code example cause the code belongs to a company. I wanna use jimp in the future. hopefully this bug is fixed some days. I found similar issues by using another library like exceljs. Maybe this helps you.

Most likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)
assertZonePatched — zone-evergreen.js:52
NgZone — core.js:39457
getNgZone — core.js:40708
bootstrapModuleFactory — core.js:40523
(anonyme Funktion) — jimp.js:14817

@mochicode thanks for your response but this was not working for me.
However, the new version of jimp 0.10.2 fixes this issue for me!


Not working with "Cmder" terminal on windows

If i set "cmder" (a quite popular cmd alternative on windows) as the terminal application i get this error message:

Looks like it's passing some weird parameters to cmder.

Thanks for trying it out!
Does it work with the default default terminal (cmd.exe)?
I'm not working with windows but I can test it with Cmder next week.

Yes, with cmd it's working perfectly fine.
I tested it with another terminal called "powershell". It prints following error message and then closes immediately:

Thanks a lot for investigating. I'm not a windows user so any feedback is really appreciated.
That error message helps a lot. It looks like the /k option is only available for cmd.exe. I have to figure out how to support different terminals on windows.
If you are interested in helping this is the line we have to change.

I'm still seeing the error from the first post. So has this been solved and I'm doing something wrong?

This isn't a problem with hydrogen-launcher but with the dependency https://github.com/nteract/term-launcher . I fixed the problem in https://github.com/nteract/term-launcher/pull/18 . If this gets merged we must update the version of term-launcher to make use of the fix.

@lgeiger the dependency to term-launcher should be updated to v0.4.0


Docs: End user documentation with examples

Perhaps through sphinx?

Or perhaps using this feature of Postgres/Postgrest/OpenAPI ?


build(deps): update dinit from v0.18.0 to v0.19.0

update dinit from v0.18.0 to v0.19.0: https://github.com/davmac314/dinit/blob/master/NEWS

build successful


Add hyperlinks to the list of translated languages

The English version of this document has hyperlinks for each language under "Traduza artigos de guia e desafios de código," I added them to this version as well.

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

Thank you for opening this pull request.
This is a standard message notifying you that we’ve reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Reason: This PR currently has merge conflicts and since you deleted the fork/branch, we can not easily resolve. Please create a new fork and review the file on master to see if the modifications made in this PR are still needed. If so, please create a new pull request.
Thank you and happy coding.


Config type does not default to CMAKE_BUILD_TYPE on build/install under Windows

Environment:

Windows 10
Visual Studio Community 2019, 64-bit toolchain (vcvarsall.bat x64)
CMake 3.18.2

I tried to build OCIO without bothering with any of its dependencies, which should be possible thanks to OCIO_INSTALL_EXT_PACKAGES:
cmake .. -DCMAKE_BUILD_TYPE=Release -DOCIO_INSTALL_EXT_PACKAGES=ALL
cmake --build .

A linker error occurred however:
LINK : fatal error LNK1104: cannot open file "..\..\ext\dist\lib\expatMD.lib"

And this was logged for some install steps:
-- Install configuration: "Debug"

There's a mismatch between CMAKE_BUILD_TYPE=Release and what configuration type is used when installing external packages. Supplying the config type to the --build command manually fixes the problem:
cmake --build . --config Release

In case of a Debug configuration, configuration and building worked, but not the installation:
cmake .. -DCMAKE_BUILD_TYPE=Debug -DOCIO_INSTALL_EXT_PACKAGES=ALL
cmake --build .
cmake --install . --prefix package
...
-- Install configuration: "Release"
...
  file INSTALL cannot find

"C:/OCIO/build/src/bindings/python/Release/PyOpenColorIO.pyd": File exists.
The problem here is that cmake --install defaults to Release. By explicitly setting the config type once again it works:
cmake --install . --config Debug --prefix package

This is unlike cmake --build . which defaults to Debug.
According to the cmake docs, it should be possible set the environment variable CMAKE_CONFIG_TYPE to control the default at least for the --build command. I tried to set it via an env var as well as with set() in relevant places in the CMake code, but it did not have any effect. It's unclear to me whether I'm just not using it right, or if it's incompatible with ExternalProject_Add() or perhaps broken.
If there's any way to make --build and --install default to CMAKE_BUILD_TYPE so that it only has to specified once, that would be splendid. If not, then it should be documented clearer that it should be set manually via --config.
According to @hodoulp, the correct config type is chosen under macOS automatically, and I don't think that multi-config generators are a thing under Linux, so I guess this is a Windows only issue. And to be clear, this isn't a request for supporting multiple configurations using a single build directory.

I've noticed this as well on Windows specifically, which is why in OCIO CI the build call is:
          cmake --build . \
                --target install \
                --config ${{ matrix.build-type }}

Passing -DCMAKE_BUILD_TYPE=Release to the cmake configuration call should correct this too. In either case this should be solvable to default to Release, and at least honor the env var.

Mark Boorer in TSC meeting:

Static linking on Windows
Libs with flags like Debug/Release and multi-threading (/MD) not compatible if different. Entire deps graph needs to have same flags
-DCMAKE_BUILD_TYPE not respected, only --config should be necessary

Regarding the last point:
In general, it's true that on Windows you don't set the build type when you configure with CMake, but only when you build and install (using a single build dir). But in case of OCIO, this doesn't hold (at least how it is implemented right now):
cmake .. -DOCIO_INSTALL_EXT_PACKAGES=ALL
cmake --build . --config Debug

Note the wrong build type:
  Performing configure step for 'expat_install'
...
  -- Configuration
  --   Prefix ..................... C:/OCIO/build/ext/dist
  --   Build type ................. Release

And this eventually leads to LINK : fatal error LNK1104: cannot open file "..\..\ext\dist\lib\expatMD.lib".
It works if CMAKE_BUILD_TYPE is set however:
cmake .. -DCMAKE_BUILD_TYPE=Debug -DOCIO_INSTALL_EXT_PACKAGES=ALL
cmake --build . --config Debug

  Performing configure step for 'expat_install'
...
  -- Configuration
  --   Prefix ..................... C:/Daten/Olive/Deps/OCIO_test/build/ext/dist
  --   Build type ................. Debug

@michdolan

Passing -DCMAKE_BUILD_TYPE=Release to the cmake configuration call should correct this too.

Yes, it has to be passed (plus --config for the build and install commands) to make it work. This is fine for me, but should be documented, as it's easy to trip over because of the non-conventional behavior of OCIO in this regard.

this should be solvable to default to Release

For configuring, it already defaults to Release:
if(NOT CMAKE_BUILD_TYPE)
	set(CMAKE_BUILD_TYPE Release)
endif()

https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/master/CMakeLists.txt#L24-L26
If no CMAKE_BUILD_TYPE is set, it is set to Release, which is then passed through here:
https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/46ca87ac91afcbc16d61847cae939d4b2e3cadad/share/cmake/modules/Findexpat.cmake#L173
This doesn't appear to be a source of error however. With no build type set (above 3 lines commented out), it still fails with a linker error...

Not meant to be a pain but, this really looks painful in Windows, like... really painful. If adoption is the goal, this should be as simply as a yum install or brew install in the worst of the cases.
Isn't it possible to use Homebrew for Linus on windows10 thanks to WSL?

@jordibares If you can use Ninja the build process is simple, uniform and successful on all platforms:

git clone https://github.com/AcademySoftwareFoundation/OpenColorIO.git ocio
cd ocio
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DOCIO_INSTALL_EXT_PACKAGES=ALL -GNinja
ninja all


添加pinia报错  无法运行

Clear and concise description of the problem

Suggested solution
就光引入一下  就报错了
Alternative
No response
Additional context
No response
Validations

[X] Follow the Code of Conduct.
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.

根据错误信息处理，依赖兼容问题， 最新pinia要求 vue 3.3 https://github.com/vuejs/pinia/commit/b8fb1653211dbe6dc6aa3a8ac36185bf93bcfa25


Fix NaN handling in GpuLessThanOrEqual and GpuGreaterThanOrEqual

Fixes #9751.  Fixes #9711.
ColumnView.isNan does not return any nulls (null input rows return false output rows), so the logic for handling a scalar NaN in GpuLessThanOrEqual and GpuGreaterThanOrEqual was accidentally clobbering nulls in the output.  Updated to simply apply the validity vector of the input to the column vector full of true rows to produce the proper result for this corner case.

build

build

build

build


[Docs] Add Redux Eggs to CodeSplitting.md

name: :book: Updated Documentation Content
about: Updating content in an existing docs page
PR Type
Update an existing page.
What docs page is being added or updated?
https://redux.js.org/usage/code-splitting#libraries-and-frameworks

Section:  Libraries and Frameworks
Page: Code Splitting

Appreciate the PR, but we try to limit recommendations to libraries that have been around for a while and that have achieved meaningful adoption in the ecosystem.

@markerikson https://github.com/reduxjs/redux-toolkit/discussions/1809


toggle loop for storm, customizable delay.

making a new one, without the goto function, since it's really slow.


How to compile your custom DLL (ClassicSearch directory)?

I've been trying to compile your DLL with and without changes on it, and it keeps giving me some errors. Could you provide information on what requirements I should fulfill to compile it?
Like this one:
ccTKuGkL.o:dllmain.c:(.text+0x96): undefined reference to `PatchIAT'
collect2.exe: error: ld returned 1 exit status

and the errors in the image below:

I've had these issues by using gcc.exe -shared -o ClassicSearch64.dll "ClassicSearch/dllmain.c"
Thanks in advance!

I build it with MSVC, but you're just missing a type cast - read the compilation log carefully:

This doesn't seem to be correct. I've clone the repo again and tried compiling it from your fresh downloaded source code. Still, I get the following errors:

This is the attempt to compile the dll with gcc -c dllmain.c. Since it's giving me those errors with NO MODIFICATIONS in the code, it should be something you messed up. Could you try and take a look at it?

As I see, it was resolving uintptr_t properly initially, what did you change?
It builds with MSVC without any problem.


WIP: create OLM CSV manifest and bundles

Follow this documentation: https://sdk.operatorframework.io/docs/olm-integration/generation/ to generate CSV and run the "make bundle" command to generate the OLM bundle

I tried to install the bundle with operator-sdk but it fails:
$ operator-sdk run bundle quay.io/psundara/mmmo-bundle:v0.0.1
[Deprecation Notice] This version is deprecated.The `go/v3` cannot scaffold projects using kustomize versions v4x+ and cannot fully support Kubernetes 1.25+.It is recommended to upgrade your project to the latest versions available (go/v4).Please, check the migration guide to learn how to upgrade your project

INFO[0018] Creating a File-Based Catalog of the bundle "quay.io/psundara/mmmo-bundle:v0.0.1"
INFO[0019] Generated a valid File-Based Catalog
INFO[0023] Created registry pod: quay-io-psundara-mmmo-bundle-v0-0-1
INFO[0024] Created CatalogSource: multiarch-operator-catalog
INFO[0024] OperatorGroup "operator-sdk-og" created
INFO[0024] Created Subscription: multiarch-operator-v0-0-1-sub
INFO[0039] Approved InstallPlan install-z2z49 for the Subscription: multiarch-operator-v0-0-1-sub
INFO[0039] Waiting for ClusterServiceVersion "default/multiarch-operator.v0.0.1" to reach 'Succeeded' phase
INFO[0040]   Waiting for ClusterServiceVersion "default/multiarch-operator.v0.0.1" to appear
INFO[0041]   Found ClusterServiceVersion "default/multiarch-operator.v0.0.1" phase: Pending
INFO[0046]   Found ClusterServiceVersion "default/multiarch-operator.v0.0.1" phase: InstallReady
INFO[0047]   Found ClusterServiceVersion "default/multiarch-operator.v0.0.1" phase: Installing
FATA[0120] Failed to run bundle: error waiting for CSV to install: deployment multiarch-operator-controller-manager has error: client rate limiter Wait returned an error: context deadline exceeded

the error looks like an issue with reaching out to quay, but not sure if anything in the bundle is fundamentally wrong

@AnnaZivkovic i've made a quick pass of this but I'm not able to install it as you can see above - if you can help with this it'd be great

Overall it works after solving the above problem and deploying through operator-sdk. The steps to create and push the bundle and run it :
oc create ns openshift-multiarch-operator
make bundle IMG=<operator-image>
make bundle-build bundle-push IMG=<operator-image> BUNDLE_IMG=<bundle-image>
operator-sdk run bundle <bundle-image> --namespace=openshift-multiarch-operator

To cleanup:
operator-sdk cleanup multiarch-operator

Overall it works after solving the above problem and deploying through operator-sdk. The steps to create and push the bundle and run it :
oc create ns openshift-multiarch-operator
make bundle IMG=<operator-image>
make bundle-build bundle-push IMG=<operator-image> BUNDLE_IMG=<bundle-image>
operator-sdk run bundle <bundle-image> --namespace=openshift-multiarch-operator

To cleanup:
operator-sdk cleanup multiarch-operator

is  the one generated by make docker-buildx?

Overall it works after solving the above problem and deploying through operator-sdk. The steps to create and push the bundle and run it :
oc create ns openshift-multiarch-operator
make bundle IMG=<operator-image>
make bundle-build bundle-push IMG=<operator-image> BUNDLE_IMG=<bundle-image>
operator-sdk run bundle <bundle-image> --namespace=openshift-multiarch-operator

To cleanup:
operator-sdk cleanup multiarch-operator

is <operator-image> the one generated by make docker-buildx?

yes.

/test sast

/hold
need to change reference in openshift/release to multiarch-manager-operator as well for e2e to pass

/retest

@aleskandro are we good to go on this? if so I'll merge https://github.com/openshift/release/pull/48713 first and wait for the e2e to be successful before merging this

/test e2e-gcp-multi-operator

/unhold

/test sast

/approve
/lgtm

/hold

/skip e2e-gcp-multi-operator

/override ci/prow/e2e-gcp-multi-operator

/unhold
/lgtm

/lgtm


Updating primitives names in LVS regression script and SC cdl files

Fixes https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_pr/issues/1

Renaming all primitives with its new name except [resistors / sc_diode] in the following files:

globalfoundries-pdk-libs-gf180mcu_fd_pr/rules/klayout/lvs/testing/run_regression.py
globalfoundries-pdk-libs-gf180mcu_fd_pr/[rules/klayout/lvs/testing/sc_testcases/*.cdl

@mithro Changes is completed including cap_mim as you agreed with @atorkmabrains


Patient Bulk Upload: Phone number type field updates in static site

Implement below content updates in static site to add phone_number_type field as required:
1-  Update the example csv file with the new column phone_number_type
2- Update the guidance page to mark phone_number_type as a required field.

Sample CSV was fixed in static site PR #421 and guidance will be fixed when it's published to the site in PR #399.


You can't see this / do this page / messages

Acceptance criteria
Scenario 1: When I am NOT logged in...
... and I attempt to access a URL I am not allowed to access [standard request]

[x] 1. I am redirected to the login page.
[x] 2. If I successfully log in, and I am authorized to see the page, I am taken to the page.
[x] 3. If I successfully log in, and I am NOT authorized to see the page, I am taken to the page described in Scenario 2 below.

Testing note: This is currently implemented for standard Django auth (username/password) but not for Okta or Gmail. This may be implemented in the future, but not for this ticket.
... and I attempt to perform actions I am not allowed to perform [AJAX request]

[x] 1. We display a PNotify growler in the lower left corner of the page, with two buttons: OK and Cancel. It looks something like this, according to the latest style I've seen from Paul:

[x] 2. The message reads:
Warning
You are not logged in.
Would you like to log in now?

[x] 3. If I click Cancel or the "X" button in the upper right corner, the PNotify closes and we do NOT redirect them anywhere.

[x] 4. If I click OK, I am taken to the login page.

[x] 4.1. If I successfully log in, I am returned to the page I was previously on. Let's NOT attempt to perform the action again, though, because the person may have been away from their computer for some time and not remember what they were trying to do.

Testing note: The same limit on post-login redirect as mention above applies here as well.
Scenario 2: When I AM logged in and I attempt to access a URL I am not allowed to access [standard request]
Let's take them to a page with the following message, where the bold text is in our page title style and the message is in our usual body font.
You need permission to view this page
You can request permission from your TolaData administrator.
When I AM logged in and I attempt to perform actions I am not allowed to perform [AJAX request]
Let's show a red warning PNotify message:
Sorry, you do not have permission to perform this action.
You can request permission from your TolaData administrator.
Example scenarios where we'd use this:

Submitting a form I am not allowed to modify
Clicking a forbidden action button such as "Add a thing" or "Delete a thing"
2.1. Not sure if this matters, but in the case of deletion, we might need to consider the timing. Most -- but not all! -- destructive actions have some sort of confirmation prompt. Ideally we show the "Nuh uh" message before the confirmation prompt.

Housekeeping

[ ]  Unit test/s written wherever applicable
[x]  i18n tags included wherever applicable
[ ]  Functionality is accessible to people using screen readers

@camgnostic Just a heads up here, currently, when a user cannot perform an action, buttons are grayed out and or not clickable.

@RickieT I had the same thought... Cameron told me that this messaging is not instead of the front end approach, which is correct. It is back end validation for the rare instance where the front end isn't doing what it's supposed to do, for whatever reason. Similar to how we added back end validation to the program period modal, so that if the date picker for whatever reason allows a user to enter a bad date, the back end still catches it.

@jennyhavah okay, makes sense. just wanted to be clear on the requirements on this ticket

@jennyhavah Regarding Scenario 1 - section 1, I got this working for "Login with username and password". It does not work with "Log in with Gmail". It might work with the Okta option, but I can't test that locally at the moment.

Thanks, @KennyMonster. If we need additional tickets to track the Gmail or Okta work, can you please file them?

@jennyhavah It may not actually be possible to redirect when logging in via Gmail. The "URL you were trying to access" is data that needs to be kept on hand all throughout the login process, such that it can finally be used once logged in. In the case of Gmail, I think it's thrown out (because Gmail isn't set up to care about it).
Okta appears to hold on to the data, but I don't know what happens after an Okta login succeeds at the moment.

@KennyMonster for testing the implementation of scenario one, is there anyway to manually terminate a session via the dev console in chrome, so that I could try to get the warning to pop?

@RickieT If you manually hit /accounts/logout/, in a different tab, it will kill your current session.

It may not actually be possible to redirect when logging in via Gmail. The "URL you were trying to access" is data that needs to be kept on hand all throughout the login process, such that it can finally be used once logged in. In the case of Gmail, I think it's thrown out (because Gmail isn't set up to care about it).

Okta appears to hold on to the data, but I don't know what happens after an Okta login succeeds at the moment.
I can file a ticket for Okta to poke at it in the future.
@KennyMonster I think Cameron just fixed this? From Slack: In the scenario where someone tries to log in with gmail using a mercycorps.org email address, we are going to send them straight to Okta (where they’re supposed to log in) instead of bouncing them back to the Tola login page.
Are we talking about the same thing?

I think we are talking about separate things. The case of a redirect after login is something like:
User goes to: /program/515/
User is not logged in so they are redirected to: /accounts/login
They choose 1 of 3 mechanisms to log in, and once they do, they are sent directly to: /program/515/
The thing Cameron just fixed is a redirect from Gmail to Okta based on their email, but regardless of what page they were ultimately trying to reach.

The PNotify message when you submit an AJAX requestand do not have permission.

@KennyMonster Sorry, I'm a little lost. Can you please quote the specific chunk of the original ticket you're talking about, and clarify what we've implemented so far, instead of that?

QA - FAILED
I logged in with<EMAIL_ADDRESS>used "/accounts/logout/" in another tab to end my session, and then attempted to edit an indicator, and was met with an infinite loading and mini login page?:

@RickieT The case you found above should now be fixed. Good catch! It was breaking when the login page was being shoved into a modal (instead of the requested form). It will now just put a string into the modal, but the expected PNotify message should show up to allow the user to redirect to the login page.

@KennyMonster I'm still seeing this behavior

QA - Failure and Notes
Scenario 1:
Requirement PASSED:  I am redirected to the login page, after the pop up appears asking me to login if my session has expired and I attempt to make an edit or perform an action
Requirement FAILED: If I successfully log in, and I am authorized to see the page, I am taken to the page.
I was on a program page, and attempted to edit an indicator, after getting the login message I clicked okay to login, and then landed on the country home page.
BUG (maybe?): If I clicked cancel to login, I was not re-directed anywhere, however, the page remained grayed out with a you are not logged in message, however, if I reloaded the page, the login screen appeared. Not sure if this is the intended design
@jennyhavah @KennyMonster (more so for Jenny) , for the remaining scenario where we tell the user that they cannot edit something or perform an action, how does this work from the pnotify and front end perspective, if for instance, a low user cannot even see options to submit forms or edit fields that are grayed out. Basicly, if PA is functioning how was designed for limitations on what users can and cannot do such as modify indicators/submit results etc...How do I test the last scenario in this ticket? And when would this issue potentially occur? I can't foresee any circumstance this would occur, and I've even tried manipulating the css/html in the document to let me do so and was not able.

@RickieT

Requirement FAILED: If I successfully log in, and I am authorized to see the page, I am taken to the page.
I was on a program page, and attempted to edit an indicator, after getting the login message I clicked okay to login, and then landed on the country home page.

When you logged in, did you use username/pw, gmail, or okta? It currently only redirects on username/pw and not gmail or okta as noted at the top of the ticket.

BUG (maybe?): If I clicked cancel to login, I was not re-directed anywhere, however, the page remained grayed out with a you are not logged in message, however, if I reloaded the page, the login screen appeared. Not sure if this is the intended design

I would say it's half bug, half our system was just never designed to handle this use case, so a lot of code ends up in a wonky state in this case, and not much can be done without changing a lot of our existing system.
It may be worth discussing with @jennyhavah if we should just redirect the whole page to the login screen if an AJAX request fails.

for the remaining scenario where we tell the user that they cannot edit something or perform an action, how does this work from the pnotify and front end perspective, if for instance, a low user cannot even see options to submit forms or edit fields that are grayed out.

For testing this, I granted myself "high" permission, loaded the page so the UI elements were visible, changed my permission to "low", then clicked the UI element that would otherwise allow me to do something that I don't have permission to do.

@KennyMonster Looks like I tried okta or gmail, since typing in my username and password seemed to re-direct just fine.
I'll use your tip for last party, checking by moving access from high to low

QA - FAILED

message just says "Permission denied", dialogue does not match the required message: "Sorry, you do not have permission to perform this action.
You can request permission from your TolaData administrator."

@RickieT It turns out this is only a problem on this one endpoint which you found. The wrong error notification is showing through a combination of global error handling disabled on this one requested (thanks to Mahmood) and an error handler written in this one place by Rodrick... it totally works everywhere else :)
Anyways this should be fixed now in this case as well.

QA - PASSED

alright, kinks worked out, this looks good now :

@RickieT @KennyMonster For some reason I did not see this thread until just now. I see several questions directed at me, but now the ticket is in Ready to Deploy, before I had a chance to respond.
Is this something Ken and I chatted about in person, perhaps? Ken, would you be able to summarize/walk me through the decisions and tradeoffs made here? Either in Github or in person is fine, if it's easier to show me.

@jennyhavah I see something about Okta being split into another ticket, but as far as the requirements in the ticket here, there were some back and forth because of failures. The requirements for the scenarios listed in the requirements of this ticket have been met, that is why I moved it to ready for deploy. If there are design concerns then lets move this back into doing until its resolved.

@jennyhavah @KennyMonster I think this comment, you guys make a decision on if this should be resolved in another ticket, or in this one - if another ticket, move this back to QA - if more work is decided here, then lets keep it a part of this ticket. Sound good?

BUG (maybe?): If I clicked cancel to login, I was not re-directed anywhere, however, the page remained grayed out with a you are not logged in message, however, if I reloaded the page, the login screen appeared. Not sure if this is the intended design
I would say it's half bug, half our system was just never designed to handle this use case, so a lot of code ends up in a wonky state in this case, and not much can be done without changing a lot of our existing system.
It may be worth discussing with @jennyhavah if we should just redirect the whole page to the login screen if an AJAX request fails.

Ken, would you be able to summarize/walk me through the decisions and tradeoffs made here?

@jennyhavah I don't think any new design decisions were made beyond what we discussed in person on Wed, which are reflected in the updates made to the top level ticket.
Regarding Rickie's comment (quoting my comment) above, I was pondering if it would make sense to change the design such that a full page redirection to the login screen takes place, in the case of an AJAX request fails because you are logged out. This would be in lieu of a "Would you like to log in now?" dialog prompt. The reasons behind why this might be a good idea are easier explained in person where I can show the wonky state the UI can get into.
For now though, things have been implemented/tested as originally designed.

@RickieT Ken just walked me through his suggestion in the comment immediately above this one, and I agree with his suggestion. You'll see in the original ticket -- for the "Not logged in / perform action" section of Scenario 1, I've crossed everything out and replaced it with a redirect to the login page.
@KennyMonster is working on this. I think he may also have come across another weird but, but I'll let him explain it if it's still relevant.

@jennyhavah I like the re-direct better, and I think it eliminates any complications. I'll wait for this one and run through it again when it hits QA column.

Commit 5261fbeca3ab8b0e15237fdf95a6641abc06ab25 contains the updates to now redirect to the login page when attempting to perform an AJAX request while logged out.

** QA - PASSED **
Scenario 2: now sends you to the login page, the other actions have already been tested and covered, lets move this to deploy ready


Vectorization of assume

The most easy one is to vectorize observe where the distributions are all the same. observe for distributions which are different and assume are challenging. I will do the easiest one first.
-- update on 30 May --
TODOs

[ ] support Vector-variate
[ ] support Matrix-variate
[ ] always change things in-place for vectorised assume()

I did a simple check:
# Test for vectorize UnivariateDistribution
@model vdemo(x) = begin
  s ~ InverseGamma(2,3)
  m ~ Normal(0,sqrt(s))
  x ~ Normal(m, sqrt(s))
  # for i = 1:length(x)
  #   x[i] ~ Normal(m, sqrt(s))
  # end
  return s, m
end

with x=randn(1000).
With the loop way, it will take 1m26s but with vectorize version (bb25da04233f2f5267a21c596e638a833a82cc15) only 2.25 seconds.
If we can also do that for at lease iid distributions priors, we can certainly speed up the model() quite a lot.

Cont'd run by NUTS(2500, 500, 0.65)

With the loop way, it will take 1m26s but with vectorize version (bb25da0) only 2.25 seconds.
If we can also do that for at lease iid distributions priors, we can certainly speed up the model() quite a lot.

That's exciting! We can slowly add more vectorisation support.

One possible and simple way to vectorize i.i.d priors is to create some customized distributions like MvDirichlet and MvCategorical, with original parameter and number of variables provided, then we can then call the original with rand(d, n) to assign them to the left. I guess VarInfo can just treat them as normal variables?

Vec*** would be a better name without overriding any thing in the distribution package. We can simply generate Vec*** for all distributions and have rand and logpdf for them by calling the corresponding ones by rand(d, n) and logpdf(d, n).

I've done the vectorization for assume with univarite distributions. Here are some experiment results
N = 100
setchunksize(N)
alg = HMC(1000, 0.2, 4)

@model vdemo() = begin
  x = Vector{Real}(N)
  for i = 1:N
    x[i] ~ Normal(0, sqrt(4))
  end
end

res = sample(vdemo(), alg)
println(mean(mean(res[:x])))

# Test for vectorize UnivariateDistribution
@model vdemo() = begin
  x = Vector{Real}(N)
  x ~ [Normal(0, 2)]
end

res = sample(vdemo(), alg)
println(mean(mean(res[:x])))

@model vdemo() = begin
  x ~ MvNormal(zeros(N), 2 * ones(N))
end

res = sample(vdemo(), alg)
println(mean(mean(res[:x])))

Time for each

loop: 18.15s
vec: 14.32s (current implementation of af2b6c648e1b29e215597f9e730a55c94e168e85)
MvNormal: 10.12s

I believe the gap between vec and Mv means there is still space to improve Turing in terms of vectorization.

Univariate
Vector-variate
Matrix-variate

NOTE

We can recover dimension by length_of_vec_in_vi / length_of_dist
Always change things in-place for vectorised assume()
TODOs are added to the top so that GitHub can track it

May worth have a look at if @simd can speed the fake vec of matrix variate implemeatnion in Distributions.jl
Ref:

Closed by https://github.com/yebai/Turing.jl/pull/281


Set remote build cache to push only if authenticated

Updated remote build cache config to only push when authenticated -> if an unauthenticated push is attempted remote build cache will get turned off for the rest of the build. This can happen (does) on forked PR builds which run in an unsecure environment.

@ribafish: Thank you for submitting a pull request! Before we can merge it, you'll need to sign the Apollo Contributor License Agreement here: https://contribute.apollographql.com/


Chore: Automatically replace package version in readme file to actual

Simple regex: https://regex101.com/r/mufpT0/1/

If you have a chance, please change the commit message as part of rebase :)

The commit message has been changed already.


Needs warnings extended with all needs

implement #1238

@chrisjsewell could you please check the failing test? I am not sure to overcome this.
I think the rest is fine, could you review the rest?

I think the rest is fine, could you review the rest?

Heya, I'm just working on the internal representation of needs (for scaling), and how it is exposed, so I would hold off on reviewing/merging this yet.
I understand the use-case though

Heya, note you can now use https://sphinx-needs.readthedocs.io/en/latest/api.html#sphinx_needs.api.need.get_needs_view, to retrieve all needs

@chrisjsewell can we merge it now?


Porcupine Issue: An account registered has been removed by the Picovoice Audit System

Make sure you have read the documentation, and have put forth a reasonable effort to find an existing answer.
Expected behaviour
My account has been removed.
Actual behaviour
"An account registered with '' has been removed by the Picovoice Audit System. Accounts can be removed in cases of Picovoice Terms of Use violations, such as suspicious activities, creating multiple accounts, or providing false information. If you believe this is a mistake, please send an email to<EMAIL_ADDRESS>with your name, surname, country, city, and project details, and we will investigate further.
I have sent an email to<EMAIL_ADDRESS>as instructed and got a canned response wrt Sales inquiries,
Technical support and Investment inquiries.
Steps to reproduce the behaviour
(Include enough details so that the issue can be reproduced independently.)

@MarnusvanWyk I'm unable to assist with account issues here as we focus on technical concerns.


Receive 'Caused by ProxyError('Cannot connect to proxy.', RemoteDisconnected('Remote end closed connection without response' error with zap-cli at CI/CD pipeline

**Hi,
I am trying to add OWASP ZAP scanning at CI/CD pipeline (Azure DevOps Server) by using zap-cli.
Steps :
Configured ZAP_PATH, ZAP_PORT, ZAP_URL and PYTHON_HOME in environment variable
Add a task like this to start ZAP as daemon mode and load a session respectively:**

ZAP is started successfully but receive an error for session load:
2019-07-30T07:13:35.6176537Z ##[section]Starting: Open OWASP ZAP daemon
2019-07-30T07:13:35.6531693Z ==============================================================================
2019-07-30T07:13:35.6531932Z Task         : Command Line
2019-07-30T07:13:35.6532046Z Description  : Run a command line script using cmd.exe on Windows and bash on macOS and Linux.
2019-07-30T07:13:35.6532111Z Version      : 2.142.1
2019-07-30T07:13:35.6532170Z Author       : Microsoft Corporation
2019-07-30T07:13:35.6532241Z Help         : More Information
2019-07-30T07:13:35.6532323Z ==============================================================================
2019-07-30T07:13:37.3416045Z Generating script.
2019-07-30T07:13:37.3417255Z Script contents:
2019-07-30T07:13:37.3424414Z zap-cli start && zap-cli session load "C:\Users\sahip\OWASP ZAP\session\pixageone.session"
2019-07-30T07:13:37.4096768Z ##[command]"C:\Windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "C:\agents\KSPixageOneD1B1_work_temp\6ed5da86-ea82-4c9e-b89c-f43599e9626b.cmd""
2019-07-30T07:13:38.7407319Z [INFO]            Starting ZAP daemon
2019-07-30T07:13:47.3308454Z Traceback (most recent call last):
2019-07-30T07:13:47.3308767Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3-1.24.3-py3.7.egg\urllib3\connectionpool.py", line 600, in urlopen
2019-07-30T07:13:47.3308851Z     chunked=chunked)
2019-07-30T07:13:47.3308968Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3-1.24.3-py3.7.egg\urllib3\connectionpool.py", line 384, in _make_request
2019-07-30T07:13:47.3309039Z     six.raise_from(e, None)
2019-07-30T07:13:47.3309107Z   File "", line 2, in raise_from
2019-07-30T07:13:47.3309191Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3-1.24.3-py3.7.egg\urllib3\connectionpool.py", line 380, in _make_request
2019-07-30T07:13:47.3309364Z     httplib_response = conn.getresponse()
2019-07-30T07:13:47.3309449Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1336, in getresponse
2019-07-30T07:13:47.3309512Z     response.begin()
2019-07-30T07:13:47.3309587Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 306, in begin
2019-07-30T07:13:47.3309681Z     version, status, reason = self._read_status()
2019-07-30T07:13:47.3309758Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 275, in _read_status
2019-07-30T07:13:47.3309827Z     raise RemoteDisconnected("Remote end closed connection without"
2019-07-30T07:13:47.3309916Z http.client.RemoteDisconnected: Remote end closed connection without response
2019-07-30T07:13:47.3315152Z
2019-07-30T07:13:47.3315619Z During handling of the above exception, another exception occurred:
2019-07-30T07:13:47.3315675Z
2019-07-30T07:13:47.3315784Z Traceback (most recent call last):
2019-07-30T07:13:47.3315858Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests-2.20.1-py3.7.egg\requests\adapters.py", line 449, in send
2019-07-30T07:13:47.3315952Z     timeout=timeout
2019-07-30T07:13:47.3316025Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3-1.24.3-py3.7.egg\urllib3\connectionpool.py", line 638, in urlopen
2019-07-30T07:13:47.3316109Z     _stacktrace=sys.exc_info()[2])
2019-07-30T07:13:47.3316181Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3-1.24.3-py3.7.egg\urllib3\util\retry.py", line 399, in increment
2019-07-30T07:13:47.3316245Z     raise MaxRetryError(_pool, url, error or ResponseError(cause))
2019-07-30T07:13:47.3316336Z urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='<IP_ADDRESS>', port=8082): Max retries exceeded with url: http://zap/JSON/core/action/loadSession/?name=C%3A\Users\sahip\OWASP+ZAP\session\pixageone.session&apikey= (Caused by ProxyError('Cannot connect to proxy.', RemoteDisconnected('Remote end closed connection without response')))
2019-07-30T07:13:47.3319476Z
2019-07-30T07:13:47.3319559Z During handling of the above exception, another exception occurred:
2019-07-30T07:13:47.3319594Z
2019-07-30T07:13:47.3319696Z Traceback (most recent call last):
2019-07-30T07:13:47.3319762Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\Scripts\zap-cli-script.py", line 11, in
2019-07-30T07:13:47.3319830Z     load_entry_point('zapcli==0.10.0', 'console_scripts', 'zap-cli')()
2019-07-30T07:13:47.3320277Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\click-4.0-py3.7.egg\click\core.py", line 664, in call
2019-07-30T07:13:47.3322228Z     return self.main(*args, **kwargs)
2019-07-30T07:13:47.3323007Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\click-4.0-py3.7.egg\click\core.py", line 644, in main
2019-07-30T07:13:47.3323323Z     rv = self.invoke(ctx)
2019-07-30T07:13:47.3323424Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\click-4.0-py3.7.egg\click\core.py", line 991, in invoke
2019-07-30T07:13:47.3323488Z     return _process_result(sub_ctx.command.invoke(sub_ctx))
2019-07-30T07:13:47.3323580Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\click-4.0-py3.7.egg\click\core.py", line 991, in invoke
2019-07-30T07:13:47.3323648Z     return _process_result(sub_ctx.command.invoke(sub_ctx))
2019-07-30T07:13:47.3323715Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\click-4.0-py3.7.egg\click\core.py", line 837, in invoke
2019-07-30T07:13:47.3323810Z     return ctx.invoke(self.callback, **ctx.params)
2019-07-30T07:13:47.3323880Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\click-4.0-py3.7.egg\click\core.py", line 464, in invoke
2019-07-30T07:13:47.3323952Z     return callback(*args, **kwargs)
2019-07-30T07:13:47.3324027Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\click-4.0-py3.7.egg\click\decorators.py", line 26, in new_func
2019-07-30T07:13:47.3324142Z     return ctx.invoke(f, ctx.obj, *args[1:], **kwargs)
2019-07-30T07:13:47.3324219Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\click-4.0-py3.7.egg\click\core.py", line 464, in invoke
2019-07-30T07:13:47.3324280Z     return callback(*args, **kwargs)
2019-07-30T07:13:47.3324585Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\zapcli-0.10.0-py3.7.egg\zapcli\commands\session.py", line 49, in load_session
2019-07-30T07:13:47.3324697Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\python_owasp_zap_v2.4-0.0.14-py3.7.egg\zapv2\core.py", line 308, in load_session
2019-07-30T07:13:47.3324789Z     return six.next(six.itervalues(self.zap.request(self.zap.base + 'core/action/loadSession/', {'name': name, 'apikey': apikey})))
2019-07-30T07:13:47.3324991Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\python_owasp_zap_v2.4-0.0.14-py3.7.egg\zapv2_init.py", line 159, in _request
2019-07-30T07:13:47.3325096Z     data = self.request_api(url, get)
2019-07-30T07:13:47.3325211Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\python_owasp_zap_v2.4-0.0.14-py3.7.egg\zapv2_init.py", line 149, in _request_api
2019-07-30T07:13:47.3325307Z     return self.session.get(url, params=query, proxies=self.__proxies, verify=False)
2019-07-30T07:13:47.3325464Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests-2.20.1-py3.7.egg\requests\sessions.py", line 546, in get
2019-07-30T07:13:47.3325576Z     return self.request('GET', url, **kwargs)
2019-07-30T07:13:47.3325741Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests-2.20.1-py3.7.egg\requests\sessions.py", line 533, in request
2019-07-30T07:13:47.3326867Z     resp = self.send(prep, **send_kwargs)
2019-07-30T07:13:47.3327128Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests-2.20.1-py3.7.egg\requests\sessions.py", line 646, in send
2019-07-30T07:13:47.3327295Z     r = adapter.send(request, **kwargs)
2019-07-30T07:13:47.3327401Z   File "C:\Users\sahip2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests-2.20.1-py3.7.egg\requests\adapters.py", line 510, in send
2019-07-30T07:13:47.3327467Z     raise ProxyError(e, request=request)
2019-07-30T07:13:47.3327583Z requests.exceptions.ProxyError: HTTPConnectionPool(host='<IP_ADDRESS>', port=8082): Max retries exceeded with url: http://zap/JSON/core/action/loadSession/?name=C%3A\Users\sahip\OWASP+ZAP\session\pixageone.session&apikey= (Caused by ProxyError('Cannot connect to proxy.', RemoteDisconnected('Remote end closed connection without response')))
2019-07-30T07:13:47.4665030Z ##[error]Cmd.exe exited with code '1'.
2019-07-30T07:13:47.5348386Z ##[section]Finishing: Open OWASP ZAP daemon

@aynacisevda did you already take a look at owasp/zap2docker from docker hub?
I've made a script job that run the scanner and write report in

This is probably caused due to the fact that you did not specifiy the API_KEY. As you can see in the URL, the API KEY parameter is empty. This can be solved by setting the ZAP_API_KEY env variable. You can find the API KEY in ZAP desktop via Tools - Options - API

@mydeveloperplanet thanks for this tip, it solved my issue


Order and Disconnect response types missing key fields

This is a proposed fix for https://github.com/Bandwidth/java-bandwidth-iris/issues/12

@stratzoomer Thank you for opening! we'll take a look and get back to you tomorrow.

Hey,
for the DisconnectTelephoneNumberOrderResponse is the XML response similar to:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DisconnectTelephoneNumberOrderResponse>
    <orderRequest>
        <OrderCreateDate>2018-07-13T19:21:32.100Z</OrderCreateDate>
        <id>SomeID</id>
        <DisconnectTelephoneNumberOrderType>
            <TelephoneNumberList>
                <TelephoneNumber>9999999999</TelephoneNumber>
                <TelephoneNumber>1999999999</TelephoneNumber>
            </TelephoneNumberList>
            <DisconnectMode>normal</DisconnectMode>
        </DisconnectTelephoneNumberOrderType>
    </orderRequest>
    <OrderStatus>RECEIVED</OrderStatus>
</DisconnectTelephoneNumberOrderResponse>

Yes, that is the XML body that gets mapped to the DisconnectTelephoneNumberOrderResponse type

@jchavez443 can you please advise when this will be released to maven central?

@stratzoomer We released this morning. Thank you for the contribution!


No rule to make target 'conv-autoconfig.h', needed by 'xi-main.o'

I'm attempting to build on alpine linux, using
build charm++ mpi-linux-x86_64 --build-shared --with-production --disable-charmdebug -j36 -O3 -DNDEBUG

I get
./configure: line 3806: syntax error: unexpected redirection
make[1]: *** No rule to make target 'conv-autoconfig.h', needed by 'xi-main.o'.  Stop.
make[1]: Leaving directory '/home/quinoa/quinoa-tpl/install/gnu-x86_64/charm/mpi-linux-x86_64/tmp'

Please let me know if you need more information.

Can you please post line 3806 of tmp/configure? What is the output of /bin/sh --version?

configure:3806:
        IFS=' ' read LDXX_WHOLE_ARCHIVE_PRE LDXX_WHOLE_ARCHIVE_POST <<< $i

There is no output from /bin/sh --version. I have also tested this with bash 5.0, and I get the same problem.

Can you try the following?
In line 823 of src/scripts/configure.ac, replace
IFS=' ' read LDXX_WHOLE_ARCHIVE_PRE LDXX_WHOLE_ARCHIVE_POST <<< $i

with
IFS=' ' echo $i | read LDXX_WHOLE_ARCHIVE_PRE LDXX_WHOLE_ARCHIVE_POST

, remove the tmp directory, and rebuild.

That's a fix! Thanks!

Thank you for testing this! I'll submit a patch.


Add option to use annotated tag message as release notes

Annotated tags can contain release notes, and it would be nice if this action provided an option to use the tag's message as the GitHub Release notes.

Note: Looks like git tag -l --format="%(contents:body)" <tag name> gets the tag message.
Until this is implemented a workaround could be to write the contents to a file and use body_path,
or set the result as an output in a previous step.

I think I finally got the workaround working :weary:
This is an example of what I did
name: Release
on:
  push:
    tags: ['v*.*.*']

jobs:
  release-notes:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
        with:
          ref: ${{ github.ref }}
      - name: Get Release Notes
        run: 'echo "$(git tag -l --format="%(contents:body)" $GITHUB_REF_NAME)" > RELEASE_NOTES'
      - name: Set Release Notes
        uses: softprops/action-gh-release@v1
        with:
          body_path: RELEASE_NOTES

Neat trick. Quick heads up this action now supports GitHubs automatically generated release notes
https://github.com/softprops/action-gh-release/blob/58fa4b7a8863f6beaf115a49196308842b8b0f06/action.yml#L43

I would still like to use the tag annotation as release notes xd

@Fuseteam I ended up writing a simple action that uses gh since I was repeating the same workflow a lot. It doesn't do much except take the subject (first line) of a tag message and make it the release title, and take the body (lines 3 and over) and make it the release body. Feel free to check it out :smiley:
If you need more complicated usage, you can use tag-to-release to create a release and this action to do other stuff like upload assets.

@spenserblack awesome i'll take a look xD

@spenserblack i tried to combine it but it used my commit message as the title and left the body empty xd

Oh yeah it pretty naively tries to get the latest tag message. The action actually uses itself, so you can see that as an example.
https://github.com/spenserblack/actions-tag-to-release/blob/d5607a72fb47a8614e1154ca456d5b7eaf0c10ab/.github/workflows/release.yml#L1-L16
If you have any more trouble with it please open an issue on that repo 🙂

Cool thanks~


Patch ROM checksums

Patches the ROMS checksums after modifying the headers.
If not done, the produced ROM will not boot on real hardware.

Ooops! Thanks!


switch from jsonscheme to pydantic

pydantic adds more dependencies, and the resulting schema file cannot be converted back to pydantic and is more verbose than jsonschema


Transaction is being commited automatically even if it fails

Environment
Knex version: 0.95.15
Database + version: Mysql
OS: Windows
  for (var i = 0; i < migrationFiles.length; i++) {
    const fileContent = fs.readFileSync(
      path.join(__dirname, path.sep, migrationFiles[i], path.sep, 'up.sql'),
      {
        encoding: 'utf8',
      }
    )
    await conn.transaction(async trx => {
      const statementArray = fileContent
        .split('\r\n')
        .map(v => v.trim())
        .join('')
        .split(';')
        .filter(t => t)
      for (var j = 0; j < statementArray.length; j++) {
        await trx.raw(`${statementArray[j]};`)
      }
    })
    console.log(`File ${migrationFiles[i]} migrated successfully`)
  }

I've also tried this:
await conn.transaction(async trx => {
      const promiseArray = []
      for (var j = 0; j < statementArray.length; j++) {
        promiseArray.push(conn.raw(`${statementArray[j]};`).transacting(trx))
      }
      return Promise.all(promiseArray)
    })

The above code runs an sql file, with create table commands.
Inside the transaction I'm splitting the statements and trying to run every one separately.
The idea is, if a single statement fails inside the file, transaction should rollback.
The sql has 2 CREATE TABLE statements. One is correct, one has an sql error (specifically to test this).
Current output: The first table gets commited to the database, the second fails.
Expected: Both to fail, since trx.raw throws an sql error and should rollback the transaction.
I've tried everything, from return Promise.all to trx.commit and trx.rollback, but it looks like knex totally ignores the transaction and commit the statements as soon as they are called.

In Mysql DDL statements that create or modify tables have an implicit commit.
https://dev.mysql.com/doc/refman/8.0/en/implicit-commit.html

In Mysql DDL statements that create or modify tables have an implicit commit. https://dev.mysql.com/doc/refman/8.0/en/implicit-commit.html

Thanks for the response. Apparently yes, Mysql doesn't allow for alter table, create or drop table transactions, which is pretty weird.


Issue with TSL calculation

Describe the bug
So, today with RNDR I did make profit but very little, and it could have been better, and I don't think the reason is my SL and TSL settings. I looked at the candles in binance today and could have sold at a better point in time.
This is the buy:
2021-11-27 10:00:57,473: {'symbol': 'RNDRUSDT', 'orderId': 14092, 'orderListId': -1, 'clientOrderId': '3HklXhKPIn8YPzeblGeVVj', 'transactTime':<PHONE_NUMBER>471, 'price': '0.00000000', 'origQty': '2.24000000', 'executedQty': '2.24000000', 'cummulativeQuoteQty': '14.94976000', 'status': 'FILLED', 'timeInForce': 'GTC', 'type': 'MARKET', 'side': 'BUY', 'fills': [{'price': '6.67400000', 'qty': '2.24000000', 'commission': '0.00001978', 'commissionAsset': 'BNB', 'tradeId': 6706}]}
2021-11-27 10:00:57,482: ORDER RESPONSE:
{"broker": "BINANCE", "ticker": {"ticker": "RNDRUSDT", "base_ticker": "RNDR", "quote_ticker": "USDT"}, "purchase_datetime": "2021-11-27T10:00:57.474100", "price": 6.673980220000001, "side": "BUY", "size": 2.24, "type": "market", "status": "LIVE", "take_profit": Infinity, "stop_loss": 5.339184176000001, "trailing_stop_loss_activated": false, "trailing_stop_loss_max": 7.007679231000001, "trailing_stop_loss": 5.672883187000001}```

And this is the sell:
{"broker": "BINANCE", "ticker": {"ticker": "RNDRUSDT", "base_ticker": "RNDR", "quote_ticker": "USDT"}, "purchase_datetime": "2021-11-27T10:00:57.474100", "price": 6.673980220000001, "side": "BUY", "size": 2.24, "type": "market", "status": "LIVE", "take_profit": Infinity, "stop_loss": 5.339184176000001, "trailing_stop_loss_activated": true, "trailing_stop_loss_max": 7.934, "trailing_stop_loss": 6.7439}
2021-11-28 04:09:57,148: Current Price:	6.725
2021-11-28 04:09:57,149: Stored Price:	6.673980220000001
2021-11-28 04:09:57,220: LIVE ORDER PARAMS: {'quantity': 2.24, 'side': 'SELL', 'symbol': 'RNDRUSDT', 'type': 'market'}
2021-11-28 04:09:57,230: {'symbol': 'RNDRUSDT', 'orderId': 519001, 'orderListId': -1, 'clientOrderId': 'WnTgbp6WtAT7Rio7Sa6mIJ', 'transactTime':<PHONE_NUMBER>228, 'price': '0.00000000', 'origQty': '2.24000000', 'executedQty': '2.24000000', 'cummulativeQuoteQty': '15.05728000', 'status': 'FILLED', 'timeInForce': 'GTC', 'type': 'MARKET', 'side': 'SELL', 'fills': [{'price': '6.72200000', 'qty': '2.24000000', 'commission': '0.00001952', 'commissionAsset': 'BNB', 'tradeId': 82165}]}
2021-11-28 04:09:58,008: SOLD:
{"broker": "BINANCE", "ticker": {"ticker": "RNDRUSDT", "base_ticker": "RNDR", "quote_ticker": "USDT"}, "purchase_datetime": "2021-11-27T10:00:57.474100", "price": 6.72198048, "side": "SELL", "size": 2.24, "type": "market", "status": "LIVE", "take_profit": Infinity, "stop_loss": 5.339184176000001, "trailing_stop_loss_activated": true, "trailing_stop_loss_max": 7.934, "trailing_stop_loss": 6.7439, "profit": 0.1142843071999966, "profit_percent": 0.7644580642763499, "reason": "PRICE_BELOW_TSL", "sold_datetime": "2021-11-28T04:09:57.230593"}```

Questions: with the config below, it started with an OK TSL of :
"trailing_stop_loss_max": 7.007679231000001,

But then recalculated it and went to "trailing_stop_loss_max": 7.934,
That's ok.
But shouldn't the TSL also be updated higher at the same time? Why did it stay on:
"trailing_stop_loss": 6.7439,

Which is roughly 1% above original buy price?
Settings.yml
BINANCE:
      ENABLED: True
      # This must be MANUALLY turned on through the Binance web interface.  I recommend turning ON.
      # if True: Sells will sell 100% of your coin.  You MUST have enough BNB in your SPOT account to cover the fees.
      # if False: Sells will sell ~99.9% of your coin.  The last .10% will go towards fees.  Some coins can only be
      # sold in whole numbers, so if this setting is False you will likely have 1 entire coin leftover after the sell transaction.
      USE_BNB_FOR_FEES: True
      # quantify of QUOTE_TICKER (below) to be bought
      QUANTITY: 15
      # For example, BTCUSDT will be bought with pairing 'USDT'
      QUOTE_TICKER: 'USDT'
      # Most users will not have a Binance subaccount
      SUBACCOUNT: None
      # Auto-sell if price goes X% of original purchase price
      STOP_LOSS_PERCENT: 20
      # Auto-sell if price goes above Y% of original purchase price
      # TAKE_PROFIT_PERCENT is **IGNORED** if ENABLE_TRAILING_STOP_LOSS is True
      TAKE_PROFIT_PERCENT: 15
      ENABLE_TRAILING_STOP_LOSS: True
      #  Activate trailing stop loss once price is Z% above original purchase price
      TRAILING_STOP_LOSS_ACTIVATION: 5
      # Auto-sell if price goes X% below maximum price after activation
      TRAILING_STOP_LOSS_PERCENT: 15

Please correct me if I'm wrong, but I think everything worked correctly... take a look:

Purchased for 6.673980220000001
Price changes for a while
Price reaches a maximum of 7.934.  The TSL is updated to 6.7439.  6.7439 is 15% less than 7.934, per your config.
Program sells when price drops below 6.7439.

While 6.7439 is indeed ~1.04% more than your original purchase price, the program correctly sold when the price dropped 15% from the maximum price reached after your purchase.  So, to adjust for this in the future you'll need to reduce TRAILING_STOP_LOSS_PERCENT to say 5% or something.

Will test it that way. Thanks


Make a console_script entry so that a trash script can be installed with pipx

Would you accept this feature?

This works great. I use the following command on macos:
pipx install send2trash --pip-args=--pre while we're waiting for 1.7 to be released


[BUG]window operation crashing with OOM

Describe the bug
A clear and concise description of what the bug is.
the job will crash with OOM error while running one 3TB dataset, but works well on 1TB.
21/09/30 02:43:33 WARN org.apache.spark.scheduler.TaskSetManager: Lost task 42.0 in stage 21.0 (TID 1550) (XXXX.c.rapids-spark.internal executor 8): java.lang.OutOfMemoryError: Could not allocate native memory: std::bad_alloc: RMM failure at:/home/jenkins/agent/workspace/jenkins-cudf_nightly-pre_release-github-85-cuda11/cpp/build/_deps/rmm-src/include/rmm/mr/device/arena_memory_resource.hpp:157: Maximum pool size exceeded
	at ai.rapids.cudf.Table.concatenate(Native Method)
	at ai.rapids.cudf.Table.concatenate(Table.java:1391)
	at com.nvidia.spark.rapids.GpuKeyBatchingIterator.$anonfun$concatPending$2(GpuKeyBatchingIterator.scala:140)
	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:64)
	at com.nvidia.spark.rapids.Arm.withResource$(Arm.scala:62)
	at com.nvidia.spark.rapids.GpuKeyBatchingIterator.withResource(GpuKeyBatchingIterator.scala:35)
	at com.nvidia.spark.rapids.GpuKeyBatchingIterator.$anonfun$concatPending$1(GpuKeyBatchingIterator.scala:125)
	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:28)

Steps/Code to reproduce bug
Environment details (please complete the following information)
server: GCP
master-machine-type n1-standard-4
worker-machine-type n1-standard-16  with 2 T4 GPU per node
CUDF_JAR = "/XXXX/cudf-21.10.0-20210928.121813-62.jar"
RAPIDS_JAR = "/XXXX/rapids-4-spark_2.12-21.10.0-20210928.181339-115.jar"
conf.setMaster("yarn")
conf.setAppName("XXX")
conf.set("spark.executor.instances","8")
conf.set("spark.executor.cores", "6")
conf.set("spark.driver.memory", "10g")
conf.set("spark.driver.cores", "4")
conf.set("spark.executor.memory", "8g")

conf.set("spark.locality.wait", "0")
conf.set("spark.sql.files.maxPartitionBytes", "512m")
conf.set("spark.rapids.sql.reader.batchSizeBytes","512m")
conf.set("spark.dynamicAllocation.enabled", "false")
conf.set("spark.sql.adaptive.enabled", "true")

conf.set("spark.executor.resource.gpu.amount", "1")
conf.set("spark.rapids.sql.concurrentGpuTasks", "1")
conf.set("spark.rapids.memory.pinnedPool.size", "4G")
conf.set("spark.task.resource.gpu.amount", "0.16")
conf.set("spark.rapids.sql.enabled", "true")
conf.set("spark.plugins", "com.nvidia.spark.SQLPlugin")
conf.set("spark.rapids.sql.variableFloatAgg.enabled", "true")
conf.set("spark.driver.extraClassPath", CUDF_JAR + ":" + RAPIDS_JAR)
conf.set("spark.executor.extraClassPath", CUDF_JAR + ":" + RAPIDS_JAR)
conf.set("spark.jars", CUDF_JAR + "," + RAPIDS_JAR)

spark.read.parquet("gs://XXXXXX/3tb/tpcds-3TB-parquet/store_sales.dat").createOrReplaceTempView("store_sales")

query = '''
select ss_customer_sk,avg(avg_price) as avg_price
from
(
SELECT ss_customer_sk ,avg(ss_sales_price) OVER (PARTITION BY ss_customer_sk order by ss_sold_date_sk ROWS BETWEEN 10 PRECEDING AND 10 FOLLOWING ) as avg_price
FROM store_sales
) group by ss_customer_sk order by 2 desc
'''

Additional context
The plugin should handle large window operations without crashing since v21.08, not sure why the error happens.

This is a known issue. #1860 would be how we can fix this.  Essentially right now to work we need to hold all of the data for a single ss_customer_sk in gpu memory. As the scale factor increases so does the maximum amount of data for a single customer.  There are ways to fix it for this one case.

The plugin should handle large window operations without crashing since v21.08, not sure why the error happens.

Are you saying that this test passes in 21.08, but not in 21.10?

No, I thought the new feature out of core windowing of v21.08 would avoid this issue.

Are you saying that this test passes in 21.08, but not in 21.10?

Out of core windowing did not get 100% done. #1789 is the feature to finish out of core windowing, and it is lacking #1860, which we could do now, but are low on time to finish with everything else happening. It is also missing a similar feature for range based queries, but would require help from cudf to do that efficiently.  There are even further optimizations that we could do past that. It just depends on customer need and asks.

I got it, thanks for the explanation.


Persist web search query in chat after search is finished

Is your feature request related to a problem? Please describe.
As of 0.3.1, when Open WebUI does web search, it shows line "Searching the web for " while the search and tokenization is performed. Unfortunately, once the search is complete, this line disappears, being replaced by table of websites analyzed. It makes debugging reason for poor results harded than it should be.
Describe the solution you'd like
It would be great if said line with generated web search query persisted after search is complete, for example being rewritten from  "Searching the web for " to " "Searched the web for ". It would be extra nice if those line included info on search engine used, for example "Searching the web for  on searxng.example.com" and "Searched the web for  on searxng.example.com", as search engine used can change in time.

Implemented on dev!

Amazing :)


[h264e] Replace GetExtBuffer() to GetExtBufferRef() for MfxVideoParam

This change fix possible problem with nullptr buffer
Signed-off-by: Denis Volkov<EMAIL_ADDRESS>

Here is impl. of mfxExtBufferRefProxy (mfx_h264_enc_common_hw.h)
template <typename T> operator T&()
 {
            mfxExtBuffer * p = MfxHwH264Encode::GetExtBuffer(
                m_extParam,
                m_numExtParam,
                ExtBufTypeToId<typename GetPointedType<T*>::Type>::id);
            assert(p);
            return *(reinterpret_cast<T*>(p));
 }

Please note that just assert is used, no real pointer check in release.

Intention of GetExtBufferRef is to get ext buffers from MfxVideoParam structure which always has full set of extension buffers (so "MfxHwH264Encode::GetExtBuffer" can't return zero). Need to add respective comment near definition of the function.

@dmitryermilov , I updated commit message with clarification for this change.
Also, I created another pull request for adding clarification comment to source code:
https://github.com/Intel-Media-SDK/MediaSDK/pull/629

I tested this change on Android for h264 hw encoder - by CTS EncoderTest and screenrecord application (coded video scream from the screen of Android device using h264e) - all worked OK, tests passed.


get-metadata: Git Bash for Windows nits

Windows 7 x64
Node.js 9.2.0
get-metadata 1.6.1
Please, compare the outputs in a cmd.exe:

and Git Bash for Windows:

Git Bash output lacks colors.
Git Bash output duplicates metadata.

@vsemozhetbyt the color is probably because of git bash.
Definitely duplication colors is a bug which should probably be related to git bash too.

@vsemozhetbyt can you let me know what does this cmd
node -p -e "Boolean(process.stdout.isTTY)"
prints out in Git Bash.

@cPhost
$ node -p -e "Boolean(process.stdout.isTTY)"
true

Basically the only way the metadata could be outputted to terminal two time is if
if(!process.stdout.isTTY) which in this case we confirmed should not and the other time with
lib/cli module. which works as expected as git bash is a terminal.

@cPhost I suppose it is connected with this note here:

Note: On Windows, running Node.js in windows terminal emulators like mintty requires the usage of winpty for Node's tty channels to work correctly (e.g. winpty node.exe script.js). In "Git bash" if you call the node shell alias (node without the .exe extension), winpty is used automatically.

With node.exe:
$ node.exe -p -e "Boolean(process.stdout.isTTY)"
false

Does redirecting work with Git bash? We can probably somehow check that in the code an don't write to stdout if that's the case...

Or is it a bug of node core? Shouldn't it be false?

FWIW, with winpty and full filename both nits are fixed:

There was a bug reported in core for this which was closed.
The reason this happens is that Git Bash is using (maybe using?) pipes.

Finally we can add note to readme about this.


What is the expected launch date for Dynamics 365 federation search

[Enter feedback here]

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

ID: e3986f11-1c91-cbda-5acb-12896bc70a92
Version Independent ID: ea4a6997-0f71-3a83-7702-0f54252e84f3
Content: Dynamics 365 federation search (preview)
Content Source: MicrosoftSearch/manage-dynamics365.md
Service: mssearch
GitHub Login: @dawholl
Microsoft Alias: dawholl

@CindyLiu-D365 from Dynamics 365 to help answer this question

@sobrienns, article has been updated with a link to the Microsoft Search roadmap, which includes release date information. Closing this issue with this comment.


Expose cached versions of resources during events.

During events like: http://qeled.github.io/discordie/#/docs/Events it would be great if we could get for example the previous version of the role exposed by GUILD_ROLE_UPDATE

key
contents

socket
GatewaySocket

guild
IGuild

role
IRole

previousRole
IRole | null

It would allow us to create features like a moderation log that logs changes to assets instead of just the new version. Without having to maintain an expensive and troubling cach of everything.
Events I would like to see this added to if possible:

[x] CHANNEL_UPDATE
[x] GUILD_EMOJIS_UPDATE <-- not sure why this is a seporate event?
[x] GUILD_UPDATE
[x] GUILD_MEMBER_UPDATE <-- has a partial implementation
[x] GUILD_ROLE_UPDATE

First implementation pushed to the update-events-changes branch.
Providing a "previous interface" is not quite possible without rewriting the base because it always has to point to the latest object.
Currently it exposes a property with a function that converts internal model into raw object in format that Discord provides:
client.Dispatcher.on("CHANNEL_UPDATE", e => {
  const data = e.getChanges();
  console.log(data.before);
  console.log(data.after);

  // before:
  //  { id: '...',
  //    name: 'abc',
  //    topic: '',
  //    permission_overwrites: [
  //      { id: '...', type: 'role', allow: 0, deny: 0 }
  //    ],
  //    ... }
  // after:
  //  { id: '...',
  //    name: 'abc',
  //    topic: 'new topic',
  //    permission_overwrites: [
  //      { id: '...', type: 'role', allow: 0, deny: 0 }
  //    ],
  //    ... }
})

Further naming/design suggestions are welcome.

This is great!  Thanks @qeled

Looks absolutely Perfect, I'll try this out over the next few days to week and report back.

Hey @qeled has this been implemented or is there an update? I'm starting to use more events than I have in the past now, and one specifically, ROLE_DELETE, doesn't give any reference to the deleted role, only a role id according to the docs.
Also, I could really use access to cached objects on other DELETE events as well, specifically GUILD_DELETE, where I'm looking for member_count, among other cached data. That's not given in the raw data from discord.
Thanks

Released in 0.9.0.


Sort Table by Column [Feature Request]

Is your feature request related to a problem? Please describe.
No problem. New functionality.
Describe the solution you'd like
User Story
As a nostr.watch user, who wants to see all e.g. paid relays first, I would like the ability to sort a column by values in both ascending, and descending order, so I can find the information I am looking for.
Acceptance Criteria

User can sort by column. If user clicks sort by paid column status, sort in descending order. That is, all paid relays should be displayed first.
If user clicks again on sort by paid column status, sort in ascending order. That is, all unpaid relays should be displayed first.
User can disable sorting.

Describe alternatives you've considered
Filtering functionality could also work. See #198.
Additional context

Hey @alltheseas,
Your user story has already been satiated via aggregates, but not via sorting.
https://next.nostr.watch/relays/find

For the acceptance criteria, at least for the examples given items 1-3 are already partially met

User can sort by column. If user clicks sort by paid column status, sort in descending order. That is, all paid relays should be displayed first.

(screenshot above)

If user clicks again on sort by paid column status, sort in ascending order. That is, all unpaid relays should be displayed first.

This is not implemented, would require a "free" aggregate, and then things get confusing. Need to think about this more.

User can disable sorting.

Filtering functionality could also work. See https://github.com/dskvr/nostr-watch/issues/198.

I can add this to filters instead of as an aggregate, but aggregate seems more appropriate and has some UX advantages (not buried).
Regarding sorting by columns, there was an old issue (#47) but was closed due to higher priorities, and didn't directly address your request. This particular feature would need to wait until a code-cleanup to prevent the addition of insurmountable technical debt, and I would really prefer not to lock-in to a datatable library quite yet, as generally a lot of control is lost.
Should I interpret this issue as primarily requesting the ability to sort by column header?

Yes

Great! Thanks for the issue. I would estimate this will make it into a release between 4-8 weeks. Reason being, is that the next alpha release is focused around providing data and nudging relay operators, as opposed to being user-focused.


Update mixerclient readme

assigning to @qiwzhang to provide some overview.

@qiwzhang can we add an ETA

@sakshigoel12 I am working on it now.