Performance degradation in matmul when there is no explicit variable for pointer arithmetic

Hi,
let me report a matmul performance degradation, which is found from the experiments in this issue.
For fp16 matmul examples in tutorial, if I modify the main dot product for-loops to compute the next pointer inside of the tl.load() unlike the original code that has specific lines to compute it, the perf goes down significantly, e.g., 112 Tflops difference when matrix size is 4096 x 4096 for both operands.
In detail, when the main for-loop in the matmul triton kernel is like the following, we get as high as 270 Tflops when matrix size is large (all ran with a100 gpu here).
    for k in range(0, K, BLOCK_SIZE_K):
        a = tl.load(a_ptrs)
        b = tl.load(b_ptrs)
        accumulator += tl.dot(a, b)
        a_ptrs += BLOCK_SIZE_K * stride_ak
        b_ptrs += BLOCK_SIZE_K * stride_bk

matmul-performance:
M      Triton
0   128.0    0.390095
1   768.0   43.157854
2  2048.0  190.650180
3  4096.0  269.784375
However, when the code is modified as described, the performance of matmul that triton gives decreases quite significantly
    for k in range(0, K, BLOCK_SIZE_K):
        a = tl.load(a_ptrs + k * stride_ak)
        b = tl.load(b_ptrs + k * stride_bk)
        accumulator += tl.dot(a, b)

matmul-performance:
M      Triton
0   128.0    0.315077
1   768.0   26.810182
2  2048.0  100.162487
3  4096.0  157.071656
it looks that triton cannot apply some of its optimization when there is no specific variable in the triton code for pointer calculations but not sure what's happening. is this statement correct? but the first example gives an error when I add any pre-operation on var "b" so right now i have to go with the 2nd example but its performance is bad.
the same performance degradation is observed in int8 matmul.

Yeah, I am not surprised. The current loop pipelining pass only works in the first case that you described. Once the compiler rewrite is merge, we should be able to make it more robust

thanks for the reply. so is that the rewrite is ongoing and will be merged soon?


Raise NotImplementedError if Extension.__call__ is not overridden

Detects bugs like the one fixed in #6091.

Jenkins, test this please.

Jenkins CI test (for commit 79cbb2206363c7fc0aec6259569987dc77d8975e, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)


Error ENOENT: no file open 'ng-zorro-antd/index.js' when using with ionic 3

I'm submitting a...

[x] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Support request => Please do not submit support request here

Current behavior

Display an error when trying to introduce the module into ionic root module(app.module.ts) and came
up with following messages:
Module build failed: Error: ENOENT: no such file or directory, open 'C:\proj\ottApp\node_modules\ng-zorro-antd\index.js'
    at Error (native)

But test normal in ng new project.
Expected behavior

ng-Zorro can be introduced into ionic
Minimal reproduction of the problem with instructions

initiate ionic3 and install ng-zorro-antd as a dependency.
introduce NgZorroAntdModule in root module
ionic serve

What is the motivation / use case for changing the behavior?

Environment

Ionic Framework: 3.6.0
Ionic App Scripts: 2.1.4
Angular Core: 4.1.3
Angular Compiler CLI: 4.1.3
Node: 6.11.2
OS Platform: Windows 10
Navigator Platform: Win32
User Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1

Others:

ionic and mobile is not supported yet.


Define 'CURL_CA_BUNDLE' with default values

Inserting default certification bundle file to avoiding no certification info error for normal use 'static-curl' feature on Unix(-like) systems.

Can you elabortate amore on why this is necessary? It looks like this is probing at build-time where the certificates are but the bundled version is frequently used for cross-compiled builds meaning the target system may not look like the system that's building the project.

Because when I using 'static-curl' option to build and run a example like below on alpine linux with libressl, It's panics with Error { description: "SSL peer certificate or SSH remote key was not OK", code: 60, extra: Some("SSL certificate problem: unable to get local issuer certificate"), but I compile the curl with libressl by was normally to https request.
And according to curl's configure script it's iterate to setting the system default ca bundle path as default CA_BUNDLE path
example's cargo.toml dependencies (Other section stays cargo init --application's)
[dependencies]
curl = { version = "*', features = [ "static-curl","ssl" ] }

example's main.rs
use curl::easy::Easy;

// Capture output into a local `Vec`.
fn main() {
    let ver = curl::Version::get();
    println!("version is: {}", ver.version());
    println!("ssl version is: {}", ver.ssl_version());
    println!("ca bundle info is: {}", ver.certinfo().unwrap_or("None"));
    println!("ca path info is {}", ver.certinfo().unwrap_or("None"));

    let mut dst = Vec::new();
    let mut easy = Easy::new();
    easy.url("https://www.rust-lang.org/").unwrap();

    let mut transfer = easy.transfer();
    transfer.write_function(|data| {
        dst.extend_from_slice(data);
        Ok(data.len())
    }).unwrap();
    transfer.perform().unwrap();
}

Cargo run command RUSTFLAGS=“-C target-feature=-crt-static” cargo run,output was
mine-surface3:~/hello# RUSTFLAGS="-C target-feature=-crt-static" cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.11s
     Running `target/debug/hello`
version was: 7.83.0-DEV
ssl version: LibreSSL/3.4.3
ca bundle info was: None
ca path info was None
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { description: "SSL peer certificate or SSH remote key was not OK", code: 60, extra: Some("SSL certificate problem: unable to get local issuer certificate") }', src/main.rs:21:24
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrac

Arguably, curl's configure script is wrong, because scanning the host's file system for cert bundle paths tells you nothing about the paths actually in use on the machine you run the program on. You might run the program on the same system sure, but you might also run the same executable on an entirely different one (say something Debian-based with different paths).

@sagebind I think you are right. But another thing confused me. When I switching the openssl example works without other configuration. It is openssl worked more than libressl when curl initializing the openssl ?
output with verbose on and openssl switched :
mine-surface3:~/hello# RUSTFLAGS="-C target-feature=-crt-static" cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.11s
     Running `target/debug/hello`
version was: 7.83.0-DEV
ssl version: OpenSSL/1.1.1n
ca bundle info was: None
ca path info was None
*   Trying <IP_ADDRESS>:443...
*   Trying 2600:9000:201f:2400:14:513f:eb40:93a1:443...
* Immediate connect fail for 2600:9000:201f:2400:14:513f:eb40:93a1: Network unreachable
*   Trying 2600:9000:201f:2800:14:513f:eb40:93a1:443...
* Immediate connect fail for 2600:9000:201f:2800:14:513f:eb40:93a1: Network unreachable
*   Trying 2600:9000:201f:5000:14:513f:eb40:93a1:443...
* Immediate connect fail for 2600:9000:201f:5000:14:513f:eb40:93a1: Network unreachable
*   Trying 2600:9000:201f:7c00:14:513f:eb40:93a1:443...
* Immediate connect fail for 2600:9000:201f:7c00:14:513f:eb40:93a1: Network unreachable
*   Trying 2600:9000:201f:9800:14:513f:eb40:93a1:443...
* Immediate connect fail for 2600:9000:201f:9800:14:513f:eb40:93a1: Network unreachable
*   Trying 2600:9000:201f:b000:14:513f:eb40:93a1:443...
* Immediate connect fail for 2600:9000:201f:b000:14:513f:eb40:93a1: Network unreachable
*   Trying 2600:9000:201f:e800:14:513f:eb40:93a1:443...
* Immediate connect fail for 2600:9000:201f:e800:14:513f:eb40:93a1: Network unreachable
*   Trying 2600:9000:201f:f600:14:513f:eb40:93a1:443...
* Immediate connect fail for 2600:9000:201f:f600:14:513f:eb40:93a1: Network unreachable
* Connected to www.rust-lang.org (<IP_ADDRESS>) port 443 (#0)
* ALPN: offers http/1.1
*  CAfile: /etc/ssl/cert.pem
*  CApath: /etc/ssl/certs
} * TLSv1.3 (OUT), TLS handshake, Client hello (1):
} (512 bytes of data)
{ z* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ (122 bytes of data)
{ { *{ * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{
       http/1.1{ (5 bytes of data)
{ * TLSv1.3 (IN), TLS handshake, Certificate (11):
{ (4988 bytes of data)
{ { * TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ (264 bytes of data)
{ 5{ * TLSv1.3 (IN), TLS handshake, Finished (20):
{ (36 bytes of data)
} * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} } 5} * TLSv1.3 (OUT), TLS handshake, Finished (20):
} (36 bytes of data)
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=www.rust-lang.org
*  start date: Sep 12 00:00:00 2021 GMT
*  expire date: Oct 11 23:59:59 2022 GMT
*  subjectAltName: host "www.rust-lang.org" matched cert's "www.rust-lang.org"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
} I} > GET / HTTP/1.1
Host: www.rust-lang.org
Accept: */*

{ (5 bytes of data)
{ * Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< Content-Length: 19392
< Connection: keep-alive
< Server: Rocket
< X-Xss-Protection: 1; mode=block
< Strict-Transport-Security: max-age=63072000
< X-Content-Type-Options: nosniff
< Referrer-Policy: no-referrer, strict-origin-when-cross-origin
< Content-Security-Policy: default-src 'self'; frame-ancestors 'self'; img-src 'self' avatars.githubusercontent.com; frame-src 'self' player.vimeo.com
< Date: Sun, 01 May 2022 19:45:23 GMT
< Via: 1.1 vegur, 1.1 75964e4626dd702b8dac2690031df25a.cloudfront.net (CloudFront)
< Vary: Accept-Encoding
< X-Cache: Miss from cloudfront
< X-Amz-Cf-Pop: MUC50-P2
< X-Amz-Cf-Id: 7evcox1ILX5OZ_aY7ukZiNPitvw-xfrwi42ukMApmdvbk1wOuIBBMg==
<

This is getting more into curl internals, but I believe when not specified curl will default to using whatever cert bundle paths the SSL library is configured to use by default. Perhaps on your system, OpenSSL was built to use /etc/ssl/cert.pem but LibreSSL was not built with any default.
It could also be that you have either the SSL_CERT_DIR or SSL_CERT_FILE environment variables set, which OpenSSL looks at by default when the application does not load a particular CA bundle, but I believe LibreSSL does not do this.

Sorry, forgot to follow up on this, but I do now know the cause of the behavior you are seeing. The reason why it works by default when using OpenSSL is because the curl crate uses openssl-probe during initialization to search common CA certificate paths and populate the SSL_CERT_FILE environment variable if it is not already set. OpenSSL will then use this environment variable automatically to discover and use the CA certificate store.
This breaks down when using LibreSSL, because LibreSSL ignores the SSL_CERT_FILE environment variable entirely and so this probing behavior isn't used. It is then up to the compiler of LibreSSL to know where it should be looking for CA certificates automatically for the system it is built on, or for the application to do this itself. This fails when statically linking LibreSSL because you are the one who is building LibreSSL, and not having given LibreSSL a default CA path at build time, it is up to the caller to specify a CA path at runtime. This behavior is described by the OpenSSL crate (which also will build LibreSSL).
So in either case, whether using LibreSSL or OpenSSL, when statically linking the SSL library, it will have no default CA path configured. openssl-probe will find and set the right path automatically at runtime for OpenSSL, but nothing will happen at runtime for LibreSSL and so LibreSSL is left without any default CA path to use.
Now the search paths that curl checks in its configure script do in fact "save the day" by default when compiling on a system using LibreSSL and running the resulting program on the same system, because curl will set CURLOPT_CAINFO to be CURL_CA_BUNDLE by default. That said, this is still not good behavior, because running the resulting binary on a different system also using LibreSSL but with its CA path in a different location will unexpectedly fail. It might be possible to convince me otherwise, but I am firmly of the opinion that searching CA paths at compile time is (for most applications) the wrong behavior and a footgun when statically linking.
Aside: Setting CA path at compile time can make sense when compiling a dynamic library intended to be installed system-wide. For example, Linux package maintainers compiling libcurl to be installed system-wide on their distro know where their distro stores its CA certificates, and can simply set it as the default. Any application that loads that system-wide library will then "magically" use the correct CA path without needing to do anything extra.
So in conclusion, I am still against this PR as-is. When statically linking curl with LibreSSL, at least as it stands today, you're going to have to set the CA paths yourself in your application. Arguably doing anything super fancy here is kind of outside the scope of this crate.
Now if there was a way to make the found path info produced by openssl-probe work with LibreSSL then I might be open to that. It would be a more modest change, and it would be correct behavior by default. In theory this could be done by secretly setting CURLOPT_CAINFO every time a new easy handle is created. I'm not sure if such a thing would be appropriate though since we try to stick pretty close to vanilla libcurl behavior, I'll have to think about that.

Thanks for you reminding me. These commit just thinking about build and run the application code with libressl on mine system configuration, but breaks the final binary's protablity on other *nix systems. So I'll find out the other way to setting a default ca bundle path at runtime. If the workload would be done on this PR, I'll re-open it.


Running wollemi from please

Installation instructions for a please rule have been removed here: https://github.com/tcncloud/wollemi/commit/b344d6a6871393696c510df33c4f45b069a166a6
The commit message references an issue, but I couldn't find any more details about it.
What is that issue exactly? It's be nice to add that installation method back.

@brian-bice I'm working on our internal tooling and would like to integrate wollemi into it using please aliases. Can you help me figure out how to do that? Thanks!

@sagikazarmark we will add back that in the readme

@sagikazarmark Sorry, it would have been much better had I defined what the actual issue was in the commit message.
The wollemi binary needs to know the GOROOT path to be able to distinguish external imports from GOROOT imports. In the case of the build rule, and the downloaded binary, I think the GOROOT essentially gets set to empty string which is wrong. This makes wollemi think that stdlib imports like database/sql are actually external imports and unable to resolve them. At the time I wasn't sure how to fix this in a generalized way which is why I temporarily removed it from the README.
I might be able to dig back into this issue over the weekend but probably not sooner. But maybe this is something you already know how to fix? It may just be a matter of defining that build rule differently?
@sagikazarmark What is a please alias? I don't think I have heard that terminology before. Could help me to understand what those are or point me to some documentation which explains those?

Ah, okay, I guess that can be worked around.
Alias as defined here: https://please.build/config.html
Basically I want to give the devs a command like plz wollemi to run wollemi in a project.

The following snippet will create a shell script that sets GOROOT to the one used by please:
build_rule(
    name = "wollemi",
    outs = ["wollemi.sh"],
    binary = True,
    cmd = "cat > \"$OUT\" << EOF\n#!/bin/sh\nexport GOROOT=$(\"$TOOLS_GO\" env GOROOT)\n$(out_exe :wollemi-binary) \\\\$@\nEOF\n",
    tools = {"go": [CONFIG.GO_TOOL]},
    visibility = ["PUBLIC"],
    deps = [":wollemi-binary"],
)

Output:
#!/bin/sh
export GOROOT=/usr/local/Cellar/go/1.15.2/libexec
plz-out/bin/wollemi $@

The go root is no longer set automatically in all build rules. I felt it was a bit odd because please isn't specifically a go build system. The go binaries don't really need that variable to figure out where the go root is most of the time. I think something like above makes sense :)

The advantage of the above script is that it works with go_toolchain as well. (compared to just using go)


Support match_phrase_prefix function in SQL/PPL query engine

Related design is presented in issue #182
Todo list

[ ] Support the match_phrase_prefix functionality by pushing it down to the search engine
[ ] Enable match_phrase_prefix function in SQL and PPL syntax and parser, including all the available parameters
[ ] Add unit tests. (Unit tests are mandatory for all code changes.)
[ ] Add integration test cases for match_phrase_prefix
[ ] Update user manual

Function details
The match_phrase_prefix function maps to the match phrase prefix query used in search engine. This query returns documents that contains the words of a provided text, in the same order as provided. The last term of the provided text is treated as a prefix, matching any words that begin with that term.
Syntax:
match_phrase_prefix(field_expression, query_expression[, option=<option_value>]*)
Available options:

analyzer
max_expansions
slop
zero_terms_query

Sample queries:
# Search query
GET my_index/_search
{
  "query": {
    "match_phrase_prefix": {
      "message": {
        "query": "quick brown f"
      }
    }
  }
}

# SQL
SELECT * FROM my_index WHERE match_phrase_prefix(message, "quick brown f")

# PPL
source=my_index | where match_phrase_prefix(message, "quick brown f")

fixed by https://github.com/opensearch-project/sql/pull/661 and https://github.com/Bit-Quill/opensearch-project-sql/pull/79


Eror communicating with Nuki Web API

Hello and thank you for this awesome development.
I am trying to install it but getting the error below. Can you please advice?

Here is the log:
2021-12-16 13:20:51 ERROR (MainThread) [custom_components.nuki_ng.config_flow] Failed to get list of devices from web API: Http response: 401
Traceback (most recent call last):
File "/config/custom_components/nuki_ng/config_flow.py", line 37, in find_nuki_devices
response = await nuki.web_list()
File "/config/custom_components/nuki_ng/nuki.py", line 173, in web_list
resp = await self.web_async_json(
File "/config/custom_components/nuki_ng/nuki.py", line 143, in web_async_json
return await self.async_json(lambda r: cb(r, {
File "/config/custom_components/nuki_ng/nuki.py", line 40, in async_json
raise ConnectionError(f"Http response: {response.status_code}")
ConnectionError: Http response: 401

It worked now! I think it was an issue with Nuki web.

Closing, as the issue has been resolved


JIT-ReleaseX64 - JIT-COMPACTEVERY-ReleaseIA32 result code divergence

Not reproducible locally.
Isolate (/b/s/w/itsAbRDO/dart_fuzzFLGWVM) NO-FP : JIT-ReleaseX64 - JIT-COMPACTEVERY-ReleaseIA32: !DIVERGENCE! 1.15:4096467761 (ResultCode.error vs ResultCode.success)

fail1:
86780160
throws
xoJdL(P
[-35]
{-29, 55, 96, 58, 23}
true
16
0.5282283878475833
P&A
[17, 57, -9223372030412324863, 67]
{6, -96}
{14: u, 63: , 0: !ba+e2, 91: H, 34: 9Wmâ™¥, 65: oðŸ˜€4@, 59: 36XðŸ˜€wðŸ˜€, 88: lU4ðŸ˜€mx}

This one is the same as the mysterious "empty fail" bug under investigation in https://github.com/dart-lang/sdk/issues/37632


reconsider building packages via docker?

I think the tooling has improved considerably and its fairly straightforward to compile binaries within a docker image without having to spin up an ec2. I'm considering using this for working with some of my colleagues that work exclusively in R and was hoping to make it as easy and painless as possible for them to get an RScript scraper deployed with precompiled binaries
I used this repo to build some python library binaries in the past: https://github.com/AlJohri/aws-lambda-lxml. the whole thing boiled down to:
docker run -v $(pwd)/"$version/py36/":/outputs -it lambci/lambda:build-python3.6 pip install lxml=="4.2.4" -t /outputs/
tar -czvf "4.2.4/py36/lxml-4.2.4.tgz" "4.2.4/py36/lxml"
aws s3 cp 4.2.4/py36/lxml-4.2.4.tgz s3://mybucket/lambda-compiled-binaries/py36/

see build.sh
would you consider a PR switching to docker instead of ec2?

The idea behind this tool was to limit the number of software installed locally so that it can work without a problem on any OS. Indeed, Docker speeds development / deployment and I like it a lot. However, it requires Docker: it conflicts with VMs on Windows, not everybody has it installed / knows how to configure it and use it.
That being said, I see deployment using Docker as a possible option, not as a complete switch. Things to keep in mind for a PR:

read option regarding EC2 vs Docker from the config file(s)
reuse Docker images whenever possible (e.g. Python + compiled R packages, same as "custom AMI"), save the info in the config file
DRY: whenever possible, the same script should run on EC2 and Docker (to keep future maintenance low)
it's a framework, i.e. keep it flexible
code comments to explain code intent / why
status messages / checks to let the user know what is going on
as much as possible, fail early (e.g., do not copy to S3 if zip is incomplete)
updated documentation to reflect Docker usage (for this project)
test on Windows (I can help with this one) and OSX

For your application, please make sure firth that the unpacked zip fits in AWS lambda (some R packages for scrapping + dplyr might be too big).


How to bind ctrl+c to terminate current running command?

Hi, I've been using this lib building a dynamodb prompt, it's all good until I try to kill a query running too long.
Ctrl+c seems can't kill what is running in that executor function, so I looked up in the docs, but can't find any useful tips.
Can someone help me with this, thanks~~

I can only use the second method, but after pressing ctrl+c does not trigger cancel.
It inputs some ^C instead, so my cancel function is not being triggered.
Still working on it.

OK. I'll prepare sample code for canceling pattern via context package.

@c-bata After some digging I found a way to do this.
I can't use the build-in keybindings of go-prompt, because while the executor is running, the channel select function is blocked.
So I just have to create another goroutine listening to os.Interrupt then use cancel function to cancel the running query, which is another goroutine.
The main executor function will have to wait until ctx.Done() so that new lines won't popup.
Code is like below:
		ctx, cancel := context.WithCancel(context.Background())
		c := make(chan os.Signal, 1)
		signal.Notify(c, os.Interrupt)
		go func() {
			select {
			case <-c:
				cancel()
			}
		}()
		go func() {
			defer cancel()
			if sqlparser.SelectRegexp.MatchString(s) {
				// add surfix "END" for rexexp matching
				executors.Select(s + " END")
			}
			if sqlparser.DescRegexp.MatchString(s) && sqlparser.TableRegexp.MatchString(s) {
				executors.DescribeTable(s + " END")
			}
			// TODO require WHERE field, update all seems not so safe?
			if sqlparser.UpdateRegexp.MatchString(s) {
				executors.Update(s + " END")
			}
			// TODO support SHOW TABLE
		}()
		select {
		case <-ctx.Done():
			return
		}

Thanks for the help, sir, looking forward to see more awesome prompts built with this.

the signal os.Interrupt is also been trapped by build-in keybindings of go-prompt

It's due to SetRaw() set syscall.ISIG negative here, which prevents ctrl-c to generate signal, more about termios settings
My solution is to keep the original termios settings before (*prompt.Prompt).Run() changing it, and restore the original settings in executor to enable ctrl-c, then use the way that @FrontMage metioned to catch the signal.
Here is a runnable example:
package main

import (
	"context"
	"os"
	"os/signal"
	"syscall"

	"github.com/c-bata/go-prompt"
	"github.com/pkg/term/termios"
	"golang.org/x/sys/unix"
)

var fd int
var originalTermios *unix.Termios

func Excutor(input string) {
	// restore the original settings to allow ctrl-c to generate signal
	if err := termios.Tcsetattr(uintptr(fd), termios.TCSANOW, (*unix.Termios)(originalTermios)); err != nil {
		panic(err)
	}

	if input == "test" {
		ctx, cancel := context.WithCancel(context.Background())
		c := make(chan os.Signal, 1)
		signal.Notify(c, os.Interrupt)

		go func() {
			select {
			case <-c:
				cancel()
			}
		}()
		go func() {
			defer cancel()
			for { // long task
			}
		}()
		select {
		case <-ctx.Done():
			return
		}
	}
}
func completer(d prompt.Document) []prompt.Suggest {
	s := []prompt.Suggest{}
	return prompt.FilterHasPrefix(s, d.GetWordBeforeCursor(), true)
}

func main() {
	var err error
	fd, err = syscall.Open("/dev/tty", syscall.O_RDONLY, 0)
	if err != nil {
		panic(err)
	}
	// get the original settings
	originalTermios, err = termios.Tcgetattr(uintptr(fd))
	if err != nil {
		panic(err)
	}

	p := prompt.New(Excutor, completer)

	p.Run()
}


dts: arm: st: Fix memory mapping and size for STM32L47x/8x/9x/ax

Split and fix the total SRAM size for STM32L47x/L48x/L49x/L4Ax devices.
Those MCUs with up to 320 Kbytes SRAM:
• 96 Kbytes SRAM1 and 32 Kbyte SRAM2 on STM32L47x/L48x.
• 256 Kbyte SRAM1 and 64 Kbyte SRAM2 on STM32L49x/L4Ax devices
The sram0 node at address 0x20000000 and sram1 at address 0x10000000
Fixes https://github.com/zephyrproject-rtos/zephyr/issues/79607
This PR extends what was done by  https://github.com/zephyrproject-rtos/zephyr/pull/71456/

Adding the definition for the stm32L4plus devices


Marfa Dark Theme results in illegible stats

I've noticed that when using the Marfa Dark Theme (via micro.blog plugin), the Stats page doesn't render well. See https://canion.blog/stats/

Thank you for that feedback, Andrew. I wish I could fix it with plugin's styling. At least, I am not aware of a fix that will cover table styling for all the themes. For Marfa specifically, you could add below snippet in custom CSS ("Design" -> "Edit CSS").
tr:nth-child(odd)>td {
  background: initial;
}

Let me know if you think there's a better way.

Thanks Amit. After I posted this support issue I realised that it was a common problem with tables across Marfa. I've inserted your CSS, which you are right does seem to make the most sense. Thank you!


Enhancement: add 'content' option to 'spo listitem batch add'

In the spo listitem batch add command we have the opportunity to load the CSV content from a filePath.
I'd like us to extend this to be able to load the csv content directly from a string.
This is useful, for example, in PowerShell scripts when building up a set of items to post and using the ConvertTo-CSV commandlet to get a csv string from that.
The idea is that you can work within memory and don't need to save a file to disk if you don't want to. I mean: why save to disk first if you don't have to. Especially with CSV, which is just string content anyway. When running (for example) in an Azure Function, saving to disk is an extra thing you have to think about: what name are you going to use, is that unique, and do you need to clean up afterwards. All these things can be ignored when just working from memory.

Option
Description

-p, --filePath [filePath]
The absolute or relative path to a flat file containing the list items. Specify filePath or csvContent, but not both.

-c, --csvContent [csvContent]
A string content in CSV-format containing the list items. Specify filePath or csvContent, but not both.

Good point! Any other ideas @pnp/cli-for-microsoft-365-maintainers?

csv or csvContent sounds fine to me 👍

Can I work on this one?

csvContent would be clearer. Just csv make it ambiguous as to if we're expecting a file path or a string


Supporting Range over Star-Tree File Formats

Description
This change supports range over the children over star-tree file formats.
Related Issues
Resolves #16190
Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@sarthakaggarwal97 will you be taking this to closure?
If not, @bharath-techie - would you like to help on this?

@sandeshkr419 waiting on @expani's changes on query side to check what's required. We'll need tighter integration involving changes in query interfaces all the way to file formats, so we'll either ways pick it up in another PR


Publish on crates.io

Your implementation is the only one in Rust, it's unique and would have been useful for many. It definitely is for me. Publishing it would bring the joy to more people as well as attract more potential contributors.

I was pointed to another implementation in Fuchsia's Future eXperience tool suite:
https://cs.opensource.google/fuchsia/fuchsia/+/main:src/developer/ffx/lib/fastboot/interface/src/fastboot_interface.rs
https://cs.opensource.google/fuchsia/fuchsia/+/main:src/developer/ffx/lib/usb_fastboot_discovery/src/lib.rs
Kudos to @raggi https://mastodon.social/<EMAIL_ADDRESS>

@orangecms nice finding, though it depends on Fuchsia traits, so it's not easy to use as a separate code without slight modification. Thus, I think, your fork still needs to be published on crates.

Sure, my intent was just to add the reference so we can check if anything is missing or we get stuck etc..
I'm seeing about ironing out a few things and will then take care of publishing.
Here is the corresponding tracking issue in my fork:
https://github.com/platform-system-interface/fastboot/issues/2


How to get accesscontrol example work properly?

hi, i'm henry
I am new here and i am new in programming
Step 2: Describe your environment

OS version: window 7 ultimate
Arduino IDE version: 1.6.10
MFRC522 Library version: latest
Arduino device: uno
MFRC522 device: _____

Step 3: Describe the problem
i try example AccessControl from library RFID. The code I have uploaded and run, I tried it but then stopped as shown in the picture

Then I close the monitor serial and scan the master card, but I get stuck again when I try to scan other cards besides the master card.

Steps to reproduce:

I tried serial monitor many times

Expected Results:
I want the program to run properly

The example was created by @omersiar and updated by @beyondszine . Maybe they can help. Otherwise you have to find it out yourself. Best.

Huhuhu, I have tried many ways, but I do not dare to change the code, this code is too complicated for me, considering I'm still very beginner.
Thanks before..

Fresh board's eeprom may need to be erased. either use wipe button or eeprom_clean example from IDE. This should solve your problem.

I have tried wipe button many times and not work, It just makes me repeat choose mastercard.
But i will try eeprom cleann, thank youu senpaiii .....
( :

No, you need to press wipe button before powering on arduino. and keep it
pressed
22 Tem 2017 08:37 tarihinde "henryprobosantoso"<EMAIL_ADDRESS>yazdı:

I have tried wipe button many times and not work, It just makes me repeat
choose mastercard.
But i will try eeprom cleann, thank youu senpaiii .....
( :
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/miguelbalboa/rfid/issues/327#issuecomment-317157403,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF4LRolBnjz2T6wbyRGUsNBlcYTqyTWQks5sQYqXgaJpZM4OfmB-
.

Mr @omersiar , thank youu , i try eeprom clear and it work, im so happy.
I dont understand about press wipe before powering arduino, it means no power ? if there is no power how can it work? and i dont understand why my eeprom full, But I just this time using the example of access control program

nice, your are asking good questions, keep up learning.
step by step you will learn all the details. try examples, and look for more at the forum also check out arduino reference pages also playground.

thank youuuuu.....

@omersiar , heiii , excuse me ,
Can i make my rfid tag data to be the default or delete all data that i have input to be the original

i did not understand what you mean, however you can always wipe all the
data, or you can re-program your master card.
22 Tem 2017 11:56 tarihinde "henryprobosantoso"<EMAIL_ADDRESS>yazdı:

@omersiar https://github.com/omersiar , heiii , excuse me ,
Can i make my rfid tag data to be the default or delete all data that i
have input to be the original
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/miguelbalboa/rfid/issues/327#issuecomment-317168378,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF4LRiOsFz6yfhZOIuEnbPl1d4ipHMnJks5sQbkmgaJpZM4OfmB-
.

Noo , i try the other example from library, the example make me can write my name to the rfid card when it scanned, but i dont know how to erase the data that i wrote

okay,  i believe there is no erase so you need to re-write  "0" other than your name, GitHub issues maintained for the Library issues itself. You can ask your questions on other platforms. Everytime you post a question we got an email about it. we can lose track here. You can close this issue now, thank you.

@henryprobosantoso If you have a better description text for the example, please make a pull request. Thanks.


reset code after several faild attempts

After several failed attempts, reset paranoid_verification_code
protection against brute force

it's not better to clear the token?

it's not better to clear the token?

theoretically I can sign-out a user, or lock his account, however that adds a dependency to other Devise modules (which theoretically may not be used). My call was for really simple regeneration of verification code, I'm not saying it's best one but best for now.

you should not give some information about brute force protection

should I remove that from the view ?

Under the aspect of safety, i think it was better to remove. you can readd it in you custom screen if you needed, or?

I agree with with that, I'll just create Wiki entry so if anyone need similar functionality he/she may use it
I'll fix it in next pull request

https://github.com/phatworx/devise_security_extension/pull/121


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(package): add xo from template
chore(package): add nyc from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template
chore(package): set $.ava.extensions='js,mjs' as in template

Codecov Report

Merging #449 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #449   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          29     29
=====================================
  Hits           29     29

Continue to review full report at Codecov.

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

Coverage remained the same at 97.619% when pulling b09ce94c6dfb86a931986af4986d4230c5b67fad on template-sync-1 into 6f978c72966ac3c040851d617b64705f41d54806 on master.


GiantPanda

@edsammy  since you updated to Eagle 8.2.1 the brd and sch files, won't upload to MacroFab "...whether you’re using Eagle version 6.x or Eagle version 7.x...." it doesn't look like they take Eagle 8 yet.
GIANTpanda.brd
GIANTpanda.sch

Looks like Macrofab supports it now! Just uploaded cleanly.

Thanks @edsammy xD


add screenshots

@bituin can you come to SF for GitHub Universe? Because this definitely qualifies for the Hackathon Challenge 👍
Thank you for the great contribution! 🥇👍 🙏

@ilonabudapesti thank you! It will be a great honor to represent 1MWTT <3


Fix for default index on suggests

Fixes #1310

Left a few nitpick comments, but otherwise LGTM!  Great job @gmoskovicz !


Implement I8x16 shift for x86 SIMD

This PR adds an implementation of i8x16 shift. Since x86 does not have such an instruction (i.e. it stops at i16x8), we spent a considerable time discussing the best way to implement this for x86 in a spec issue. In the end, I chose to implement this with constant masks, for which I had to:

Make constants declarable in the function preamble: const42 = 0x.....
Add a const_addr instruction in order to get the base address of a constant in the constant pool

With this functionality in place, I then legalized ushr.i8x16 to the equivalent of these seven instructions:
v0 = band_imm [shift index], 7  # this is pre-existent in code_translator.rs
v1 = bitcast i64x2 v0           # this moves the shift index into an XMM register (could be scalar_to_vector)
v2 = x86_psrl v1                # I'm eliding some raw_bitcasts around this for clarity
v3 = ishl_imm [shift index], 4  # this gets the index into the mask
v4 = const_addr [mask ref]      # a RIP-relative LEA
v5 = load_complex v3, v4        # MOVUPS the mask
v6 = band v2, v5                # mask off the bits that would have been zeroed in a true ushr.i8x16```

2f648ea is actually not directly related to this PR but is useful for the benchmark I am attempting to run.

I don't think the build error is related to this PR: something about proptest, https://github.com/bytecodealliance/wasmtime/pull/1377/checks?check_run_id=571403464#step:4:344, in wiggle... @pchickey, how do I fix it?


Add RequestHook.id

The tests are green.

all tasks are green (except travis.test-functional-local-headless-chrome) https://github.com/DevExpress/testcafe/pull/6065#issuecomment-803281194
the travis.test-functional-local-headless-chrome task is green https://travis-ci.com/github/testcafe-build-bot/testcafe/jobs/492697537


Passing router variables to models

Hi is it possible to pass router params as variables to a model?

Hi @rollymaduk. I assume you're trying to call an effect or a reducer on your model, and you want route params available to them. You can this by passing the route params into your send() call, ie.
app.router((route) => [
  route('/:user', UserView)
])

function UserView (state, prev, send) {
  if (state.params.user !== prev.params.user) {
    send('fetchUser', state.params.user)
  }
}

Hope this helps

@timwis thanks that's what I was looking for


Upgrade to pandas version 2.1.0

Hello,
We just recently bought an API license only to realise the Python SDK is only compatible with pandas < 2.
We're using pandas 2.0.2 so this is a bit of a bummer. There's so much within the SDK we would love to take advantage of but won't be able to until this upgrade is made.

fixed in version 8.0.0


Wrong solution is accepted when submitted

Challenge Return Largest Numbers in Arrays has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36.
The code below uses map/reduce as suggested in the medium forum (I've reviewed the solutions over there) and is accepted when submitted.
The problem is that there is an assumption that in every subarray not all of the values are negatives and it is not shown in the description of the problem. That is, if one of the subarray contains only negatives values, the accepted solution below isn't correct.
My code:

function largestOfFour(arr) {
  return arr.map(function(subArray) {
    return subArray.reduce(function(prev, curr) {
      return (curr > prev ? curr : prev);
    }, 0);
  });
}

largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

@guyziv2110
So if I get you right, your problem is that when 1 array is full of only negative numbers the output is not correct.

I tried that and as for others to see, the output should be -13 as a highest number, but the output shows 0 is the highest one.

@guyziv2110 Thank you for reporting this. Indeed the second argument for reduce should be  Number.NEGATIVE_INFINITY or some other extremely low number to counter this case.
Are the solution examples you found owned by us?  I would say yes, but we would possibly need to update to wiki also.

@Bouncey Yes. After I solved the problem by myself I walked through the solution for this problem posted in medium (https://medium.freecodecamp.com/three-ways-to-return-largest-numbers-in-arrays-in-javascript-5d977baa80a1) and found this issue.

Although that article is on the FreeCodeCamp medium blog, I would think it is owned by @SonyaMoisset.
@QuincyLarson would it be Sonya that needs to make the edit if she agreed to it?

@Bouncey We should add a test case that includes negative numbers in a sub array to make that solution fail :sweat_smile:

First-timers!!
Add a new test with an array containing only negative numbers i.e -24
The code for this challenge is here
Be sure to follow CONTRIBUTING.md
And hit us up in Contributor Chat if you have any problems!
Good luck and Happy Coding!

@Bouncey :+1:

@Bouncey  can I take this one?

:+1:
Happy Coding!
On Monday, 9 January 2017, Rajesh Kathiriya<EMAIL_ADDRESS>wrote:

@Bouncey https://github.com/Bouncey can I take this one?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/FreeCodeCamp/FreeCodeCamp/issues/12419#issuecomment-271270310,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARtk5p7Dw0TOnXWqGkGyfyUQSz8PBSAJks5rQiSngaJpZM4LdbH0
.

@Bouncey I have added a test case for negative values in the array. Please do review the above PR.

@91aman in the future, please comment on the thread before working on the PR. @rajpatel507 looks like there is a PR in process at this point. I'm sure we'll have more first-timer issues soon, or feel welcome to look at our issue backlog.

@dhcodes Duly noted. will Inform in the thread before working on any issues.

I'd like that to fix this in the code you don't need Number.NEGATIVE_INFINITY, removing the , 0 is enough.
prev will then be undefined on the first run. Nothing is larger than undefined, therefore it will always return false and use curr on the firsts run.

@systimotic I agree with you, not giving initial value 0 will work. The explanation is not correct.
If 0 is not given, prev would not be undefined, In the first run, prev would be the first value of the array, and the curr would be the second value of the array. The comparison would be between the first 2 values of the array.

@91aman That was a stupid mistake, sorry. 😳 You're absolutely right, thanks for reminding me! ❤

Just to be clear before I merge this in, making this change will nullify the basic and intermediate solutions on the wiki page for this challenge; only the advanced solution passes the added "all negatives" test. https://forum.freecodecamp.com/t/algorithm-return-largest-numbers-in-arrays/16042
Seems if we make this change, we should also change the solutions on the wiki article.

@dhcodes  I agree, we will need to change both the basic and intermediate solutions. Can you give me some pointers as to where we have the source code of the wiki article?  I can fix it.

@91aman it's in his comments above yours:

https://forum.freecodecamp.com/t/algorithm-return-largest-numbers-in-arrays/16042

@91aman I made the edit on the forum 🙂

@systimotic Thanks, I see that you have changed the intermediate solutions. We will also need to change the basic solution where we are still doing var largestNumber = 0;.

Wow, I'm really slacking on this issue! Thanks @91aman, I updated and tested that as well.

@systimotic Awesome, Thanks :)


Add solutions in Swift to days 3, 4 and 5

Add solutions in Swift to days 3, 4 and 5.

hey @penelopearaujo  i would request you to create a new branch in your repo and make commit to it for day 3,4 and 5 and then raise PR from that branch so that it don't have the commit for Day 0 in PR.

@penelopearaujo any update on it?

Done! ;)


Cleaned lint identified by JSHint

Ran JSHint on the output of make-sync-function and addressed the issues it identified.

👍


if --pool not provided, run on all pools

I have a suggestion, but not complete code.
If you have multiple pools, just one pool, or add pools later, it is more convenient to have a script which always keeps up.
Suggestion: if -p is not specified do something like this:
#/bin/sh

pools=`zpool list -H -o name`
for pool in ${pools}
do
  echo do a scrub check on that $pool
done

The above can be invoked inside the existing code.
Sample output:
[dan@slocum:~/src/check_zpool_scrub] $ sh ~/bin/zpools.sh
do a scrub check on that dev-ingress01
do a scrub check on that jester
do a scrub check on that system
do a scrub check on that tank_fast

Does this sound OK to you?

Sounds OK! PR?

After giving it some thought, it's as if I would use check_zpool_scrub as a separate script, and invoke it from a script which looks like the above.  Let me ponder a bit longer.

How about this?
check_zpool_scrub.txt

Very nice!
#!/bin/sh

OUTPUT=""
STATE=0

# sort in reverse order, because we append in that order
pools=`zpool list -H -o name | sort -r`
for pool in ${pools}
do
  OUTPUT="$OUTPUT `check_zpool_scrub --pool=$pool --warning=777600 --critical=1209600`"
  LAST_STATE=$?
  if [ ${LAST_STATE} -gt ${STATE} ]
  then
    STATE=${LAST_STATE}
  fi

done

echo $OUTPUT
exit ${STATE}

5f931c0828187cf3d4fd4e3ca2b6028b70558db6


fix: precision not enough should not throw Error (#7096)

Precision not enough should not throw Error.
Approved-By: ZENOTME
(cherry picked from commit 4ba85a8c233e4e8cd0274d77c4bf5f6e731f64ab)
I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
A cherry pick of #7096
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)

Seems like get stuck by license header check...


unused handler 'systemd restart tmp.mount'

code missing to notiiy tmp.mount handler for when 'rhel8cis_tmp_svc: true' in Section 1 vars

looks like the OS is providing a seeded tmp.mount which doesn't provide the noexec mount option.  the custom tmp.mount will still need to be deployed
[root@rhel8-dev2 system]# cat /usr/lib/systemd/system/tmp.mount

#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Temporary Directory (/tmp)
Documentation=man:hier(7)
Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
ConditionPathIsSymbolicLink=!/tmp
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target
After=swap.target

[Mount]
What=tmpfs
Where=/tmp
Type=tmpfs
Options=mode=1777,strictatime,nosuid,nodev

# Make 'systemctl enable tmp.mount' work:
[Install]
WantedBy=local-fs.target

Hi @erpadmin
Thank you for highlighting this issue. I have created a new branch https://github.com/ansible-lockdown/RHEL8-CIS/tree/tmp_mount_%23110 for this fix.
If possible could you check if this works with your setup and i will raise the PR.
Thanks once again
uk-bolly

This issue was resolved in release 1.4.0


Update *Models

Closes #69
Changes

rewritten Device from the start to make it more swift-y:

call AnyDevice.random() for a randomly generated one
call brand-specific types, e.g. Samsung.galaxyS6 or Samsung.random()
SessionCaches from this commit are not compatible with previous ones

added a ParsedResponse and IdentifiableParsedResponse protocols

use Identifier<Element> for implementing both/either an integer primaryKey and/or a string identifier

TODO

rewrite all Models

you should consider that sometimes the pk is string
It happened a few times for me, can't remember which endpoints, but we should handle it to prevent crashing.

you should consider that sometimes the pk is string
It happened a few times for me, can't remember which endpoints, but we should handle it to prevent crashing.

For sure. I wasn't intending primaryKey = parsed as an Int. Just that, pks are always representing long integers, even when they're returned as String. And identifiers (i.e. mediaId) are always intended to be Strings.
So I'm still going to try? for both String.self and Int.self when decoding .pk, don't worry @TheM4hd1  😊

Up until now all dependencies (except for GzipSwift) have been imported directly into the library, which makes everything pretty unreliable, and it's completely undocumented (I'm talking about the CommonCrypto and the KeychainSwift stuff).
Since we're now forcing the user to use CocoaPods (maybe we should working on supporting Carthage or even the Swift Package Manager for 2.0 as well), I've added CryptoSwift and keychain-swift as CocoaPods dependencies, instead of loose files, like they used to and added them in the README for attribution.
I think it makes everything easier to maintain and also clearer to end users, and I truly believe that as much as you hate external dependencies, this time is for the best 😊
What do you think?
@TheM4hd1

That's right, because we are forcing to use CocoaPods we should move keychain and crypto as external dependencies, it makes much more sense.
and about supporting other dependency managers, Personally I'm not a fan of Carthage or SPM, in my opinion Cocoapods is enough.

I don't like them either, personally, but I feel like if it's not too much work we could try and implement it nonetheless: more options for people to actually use the library.
At last the Swift Package Manager, which is soooo much better in Xcode 11.
It's surely not a priority though, imho.

I've updated most models.
Some methods (e.g. all the former .post-only ones) still retain the old ones, but I would like to hear your feedback with all the new DynamicResponse mechanism 😊 @TheM4hd1
Basically, the user can still read the entire response (entire meaning entire,  even properties we didn't know existed, or that might exist in the future), but some common properties have useful accessories.

Mind-blowing update !!, it's much more better than older models but complex.
Can you describe about these new models, how they works, decoding and ...
for the ones (even me) who used old models this a huge step. I think that would be nice if you add a description about it, the use case and .. anything about these new models.
Crazy Update !! :D

I will update the documentation as soon as I'm done with everything 😊
Glad you like it man 💪

Sure 😊

All done 💪 (Travis should be fine rn)


[SMALLFIX] Use static imports for standard test utilities

Use static imports for standard test utilities in /alluxio/core/common/src/test/java/alluxio/security/authorization/AclActionsTest.java

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3363/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3365/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3367/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3368/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3422/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3424/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3425/
Test FAILed.

/usr/src/alluxio/core/common/src/test/java/alluxio/security/authorization/AclActionsTest.java:16: error: Extra newline

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3426/
Test PASSed.

alluxio-bot, merge this please


Optimize parsing of series dates

it looks good, but I do need to runt tests on it.
But do fix the linting errors.
U find the linting tools in scripts\lint_tools.py to verify locally.

All is good 🥳🥳🥳


add a boxed function for conditional functionalization

This PR is a POC for conditional functionalization, tested with diag_embed
Test:
>>> import torch
>>> from  functorch import vmap
>>> vmap(lambda x: torch.diag_embed(x))(torch.ones(2, 2, 2))
__main__:1: UserWarning: There is a performance drop because we have not yet implemented the batching rule for aten::diagonal_scatter. Please file us an issue on GitHub so that we can prioritize its implementation. (Triggered internally at  /raid/hirsheybar/pytorch-functionalization/functorch/functorch/csrc/BatchedFallback.cpp:106.)
tensor([[[[1., 0.],
          [0., 1.]],

         [[1., 0.],
          [0., 1.]]],

        [[[1., 0.],
          [0., 1.]],

         [[1., 0.],
          [0., 1.]]]])

Note the warning: diag_embed decomposes into a call to diag (a view op), and to properly remove aliases the functionalization pass eventually makes a call to diag_scatter (a new op that I added in my functionalization pass PR stack). It should be easy enough to add batching rules for the new diag_scatter/slice_scatter/select_scatter ops that I added.
A couple things to note:
(1) This is the slightly more efficient version of conditional functionalization that "fuses" the functionalization and vmap passes into a single level. Basically, we set up TLS in such a way that when you call into vmap(diag_embed), we sandwich FunctionalizationKernel -> BatchingRule between the FrontFallback and BackFallback kernels.
           BackFallback(base2)

(2) Annoyingly, I think the most common inplace op that composite kernels use (that breaks functorch) is copy_, which doesn't have a corresponding out-of-place variant. Technically, copy_ would need an out-of-place and an out= variant in order to be supported. The above test only works locally because I added a hack in the codegen to deal with copy_.
I think that the out-of-place version of copy_() is pretty much just a call to clone(), so I burned "copy_() -> clone()" into the codegen locally to get things to work.
Maybe, if copy_() is an important enough one-off case, then this a justifiable hack? Otherwise we'd need to consider adding the other variants of copy_.
(3) I wrote it as a boxed kernel, which adds a bit of overhead (a second trip through the dispatcher to hit the at::native:: composite kernel). There's probably a messy template metaprogramming way to not used boxed fallbacks

I'm cleaning up old PRs in preparation for the functorch->pytorch merge; we've already landed functionalization in some form so closing this.

sorry for not cleaning these up :)

No need to apologize, I leave PRs open all the time too haha


在EMUL-snapshot中alert card内放置svg图标可能会出现错版

此bug已知，正在修复

已在快照版本内修复
Has been fixed in the snapshot version

已在快照版本内修复
Has been fixed in the snapshot version


Make output gofmt-compliant

This PR fixes some stray whitespace in the template (and thus generated code). Also, map values are now lined up, so now the code fully complies the Go code style and passes gofmt without any changes.

@m1 @cyx Hope this repo is alive.


Add deprecation warning to SMTP Sections page

Reason for the change: Low usage features are being deprecated. This informs customers of the upcoming change.
Link to original source: https://sendgrid.com/docs/API_Reference/SMTP_API/section_tags.html

Hello @astuteape,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


Move jlink related parameters into a complex object

Currently, the plugin uses a number of parameters which are mostly related to jlink command. These can be passed into a complex object, making the configuration more user friendly.
For example:
<plugin>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>0.0.4</version>
    <configuration>
        <stripDebug>true</stripDebug>
        <compress>2</compress>
        <noHeaderFiles>true</noHeaderFiles>
        <noManPages>true</noManPages>
        <launcher>hellofx</launcher>
        <jlinkImageName>hello</jlinkImageName>
        <jlinkZipName>hellozip</jlinkZipName>
        <mainClass>hellofx/org.openjfx.MainApp</mainClass>
    </configuration>
</plugin>

should be used as:
<plugin>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>0.0.4</version>
    <configuration>
        <jlink>
            <stripDebug>true</stripDebug>
            <compress>2</compress>
            <noHeaderFiles>true</noHeaderFiles>
            <noManPages>true</noManPages>
            <launcher>hellofx</launcher>
            <imageName>hello</imageName>
            <zipName>hellozip</zipName>
        </jlink>
        <mainClass>hellofx/org.openjfx.MainApp</mainClass>
    </configuration>
</plugin>

The disadvantage of implementing this would be to loose the ability to define these parameters via command line as Maven doesn't support complex parameters as system property.
We have to decide if this bargain is worth it.

I feel no need. The parameters, at least some of them are universal. Today some of them seem to be relevant exclusively for jlink, but in the future, a given parameter might seem relevant elsewhere also. So they can be seen as simple parameters alone, they just happen to be exclusively used by jlink.

All the universal parameters like options, mainClass etc. will continue to exists. Only the parameters that are specific to jlink will move into the <jlink>.

but in the future, a given (jlink) parameter might seem relevant elsewhere also

I would say there is a negligible chance of this.

I'd prefer the second, nested, variant unless you decide to name all parameters in a way that makes it clear, they belong to jlink.
But still, using a nested <jlink> looks much cleaner, in my opinion.

I prefer the first, simple notation. The javafx-maven-plugin wraps functionality of different plugins like compile, assemble and bundling. So, all the config parameters belong to java fox-maven-plugin. IMHO, no need to know that some of these belong to jlink.

I don't think the switch is worth it, given the fact that we loose a lot of functionality. At best, we can rename the jlink specific parameters to better reflect that they are only used for jlink.
Another option that is currently available, is to move the jlink configuration to a different execution section that is only executed during a certain phase. This can only be used if always running the jlink goal during that phase is desirable.
<plugin>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>0.0.4</version>
    <configuration>
        <mainClass>${mainClassName}</mainClass>
    </configuration>
    <executions>
        <execution>
            <id>javafx-jlink</id>
            <phase>package</phase>
            <configuration>
                <jlinkVerbose>true</jlinkVerbose>
                <jlinkZipName>abcd.zip</jlinkZipName>
            </configuration>
            <goals>
                <goal>jlink</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Hi @tiainen !
Thank you for the feedback. Don't you think that the parameters list will keep increasing and go out of proportion in the future. For example, if the jlink parameters increase in the future, as it has been in the past. Or, if we wish to include jpackage functionality in the plugin.

In the end it might be better to completely separate the jlink/jpackage functionality into a new plugin.


added the openapi spec on /api/openapi

Also you forgot to update the version in the rollout app
https://github.com/datawire/emojivoto/blob/jbeck/add_swagger_spec/manifests/argoproj.io_v1_rollout_web-app.yaml#L38


Implement Owen's T function and use it in stats.skewnorm

It would be nice to have an implementation of the skew-normal distribution in scipy. I spent an entire day trying to generate random numbers from a skew-normal distribution in python (when Mathematica could do 50,000 in 6ms, I could only manage 2 minutes). I finally found this implementation on the mailing list and using that I could generate a set in 11ms!
In that implementation there is also an implementation of Owen's T function. This is used in the CDF of the skew-normal distribution. If the skew-normal is implemented, this function might as well go into scipy.special as it is an important function in statistics.
I'm no expert, but the implementation seems well developed with tests, and comes with a license.
Thanks for taking the time to consider my request! I love scipy :)

If the code you linked was written by looking at R's sn package (GPL), then we can't use it in scipy, since it isn't license compatible.  Boost has Owen's T function, which could be converted and used.

As to generating random numbers using that distribution, this page's solution B seems fairly straightforward.

I should be able to have a go at implementing this

Awesome! It would still be greatly appreciated :)

So implementing solution B from @ewmoore's link we can beat mathematica and generate 50,000 samples in 5ms. I just have to tidy it up then I'll make a PR

Made a PR for this now #5627

gh-5627 has been merged. It implements skewnorm with a generic cdf, rather than the Owens function.

Removing the special tag since that part is complete.

import scipy.stats

shape = (1, 50000)
%time x = scipy.stats.skewnorm.rvs(a=0.75, size=shape)
%timeit x = scipy.stats.skewnorm.rvs(a=0.75, size=shape)

CPU times: user 9.21 ms, sys: 0 ns, total: 9.21 ms
Wall time: 10.9 ms
100 loops, best of 3: 5.59 ms per loop

Owen's T function was implemented
And skewnorm seems pretty fast.

@ev-br @dnlbunting In #5627 you said

"What I haven't done is implement Owen's T function, which would likely improve the speed/accuracy of the cdf function a bit compared to the default integration in _distn_infrastructure currently used."

Now that Owen's T function is implemented would it be worth revisiting this?

Nevermind this was already done in https://github.com/scipy/scipy/pull/8473


Move Mvc.Core and it's dependencies to netstandard1.6

DependencyModel was changed to target netstandard1.6 in rc3. We should preemptively update Mvc.Core and it's dependencies to netstandard1.6 prior to picking this packages up.

Fixed in https://github.com/aspnet/Mvc/commit/bb226aef6be3e91c23e4ced99a6b8baae4fceac8


Add Drag n Drop support

Add AppWindow for support Drag and Drop into window (Example : Add game directory to ScummVM)
BSzili has already implemented this on his fork, perhaps you may pick some code from him or just merge/reuse his changes
https://github.com/BSzili/SDL/commit/3b057a068eb936ccca8cf1aab3fb23a81e13a2e3

It was added in 2017, have you tried it?

Mmm yep sorry i think you are right, i was used an old version of ScummVM and drag wasn't work but this seems working with the latest release.. you can probably close the ticket

I'm not sure how ScummVM is using the feature. I tested SDL's own testdropfile binary and while files are supported, directories may not. SDL documentation is not so clear regarding path parts. But you confirm it works in the ScummVM context?

Yeah can confirm that dropping files works, but to be honest i did not tested with directories and i don't know how it is supposed to work
Maybe lets take the ticket opened; so we can discuss the issue with Raziel

I'm not sure if i can add that much to the conversation.
I just tried with a pretty recent SDL2 build of ScummVM and neither files nor dirs can be "dropped" onto the SDL window, their icons get "crossed" out and produce a screen flash on doing so.
While i know that it is about d&d'ing onto an app icon, i'm not sure how user friendly that would be.
otoh maybe i'm talking about something completely different...
I mean

the user has to have the windowed app running
the user needs to browse to one of the "enter or choose path or game to add" option tabs
the user has to iconify the app
the user has to d&d the file/path onto the app/iconified icon
This sounds like a massive pita to me

What i can add is that

ScummVM/SDL2 refuses to accept files/paths that are dropped onto it's main window
Dropping a file or path onto the iconified app icon will bring the window back up, but nothing else
I don't think (but i also don't know) if ScummVM even has a drag&drop mechanic built into it's code.

Well, now full path is used and as far as I can see, ScummVM recognized "fullpipe" game when dropped to the launcher window. ScummVM -d5 (for debug) should show the processed path.

Awesome, one point less from my wish list

Bravo capehill ! :-)

Closing with 2.0.14 RC1.

Closing with 2.0.14 RC1.


add turkish translation that is not working

i copied english folder and opened them using libreoffice calc
when i imported it, only general.csv worked
i am now copying other languange files and renaming them to see the result
meanwhile i uploading them for translation

release_installer.csv didnt imported very much,while my other broken files imported with translation files somewhat.

Hi!

release_installer.csv didnt imported very much

There is an extra comma at the end of the header row:

while my other broken files imported with translation files somewhat

It looks like LibreOffice is removing double quotes surrounding the values when it saves the files. Some strings in your files are parsed incorrectly and cause errors (like the one below), and this may be why. Or maybe it's something else. Not sure why some characters are not showing for me.

Try using a plain text editor instead, like VS Code. I tried using LibreOffice too, at first, but found that it is actually more convenient to edit translations as text rather than a spreadsheet.
Again, to be safe, make sure every field is surrounded with quotes, like in the other translations.
Thanks for your effort! 👍

currently making last touches on godot editor, finding flags and adding it to godot, i sill make a new pr once it is finished


Add typedefs and update deps

This PR contains two changes:
Adding TypeScript definition file, and bumping all deps.
I understand there's a good few changes, but I thought I might as well update deps as well. Feel free to ask any questions, or flat out reject parts. Here's an outline of all substantial changes contained:

Add index.d.ts. This is a minimal implementation, ideally we would reference the libraries themselves, but this plays nice.
Update essentially all deps.
Migrate Husky 4 to 7, this involves moving config from package.json to .husky/
Update index.js to pass linter requirements, specifically import process instead of relying on globals, and convert Array#forEach to for...of
Bump minor version. This PR adds features, but backwards compatibly, so I thought it fitting according to SEMVER.

Thanks for the PR @Nicholaiii! See @shadowgate15 comments above.  As a side note, you could hook up https://nicholai.dev/ with https://forwardemail.net 😄

I agree with the sentiment, but this would be a breaking change.
Also, net.Server.close() returns the instance of Server, not Promise<void>.
Generally I decided to err on the side of caution, importing Server from node:http would have been sane, but not assuredly backwards compatible.
I think the type-safer, non-breaking alternative is using unknown

I think I would be okay with using unknown instead of void.

This should do the trick.

@Nicholaiii that would be good and also make the returns Promise<unknown> not just unknown.

Here we go. I think this is as full as it gets without setting up a full ts pipeline.

@niftylettuce this is good


Tool is not able to read the parameter in the post request which is saved in the file

getting (no parameter(s) found for testing in the provided data (e.g. GET parameter 'id' in 'www.site.com/index.php?id=1') )
error when using the file to test the scenario.
allocationaddress-data.txt
attaching the file for the same please look into this and please suggest if I am doing anything wrong.
And it is a request also can you provide a tutorial to test REST API both method get and post it will be very helpful.

@Jogissingh you are providing a wrong request file a valid request should look like:
POST /recovery/fos/allocation/address-data HTTP/1.1
HOST: redacted[.]com
Authenticationtoken: a720d029-3fa3-4a28-809f-5219efc58799
Referer: https://redacted[.]com/abc.html
Content-Type: application/json
Lang: en_in
Content-Length: 109
Accept-Encoding: gzip, deflate
User-Agent: okhttp/4.9.2

{"loan_id":["Online19"],"allocation_month":"2023-5-01","company_id":"b2d11f40-1337-4309-ab19-982e44f28675"}


Update obsolete compile to implemenation

Hi, as React native 0.56.0 is released with MAJOR android changes such as:
-Gradle 3.5.1
-Compile using Android SDK 26
-Google Maven repo
-etc
more about Change log, specially of Android Here, https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md#android-projects-are-now-compiled-using-the-android-26-sdk
and https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md#android-specific-changes
Aslo as Per Google new "Google Play's target API level requirement", mentioned here  https://developer.android.com/distribute/best-practices/develop/target-sdk

Google Play will require that new apps target at least Android 8.0 (API level 26) from August 1, 2018, and that app updates target Android 8.0 from November 1, 2018.

It's clear that Android would be moving to new Gradle and new SDK changes, Thus creating a new type of error that is:
"Configuration 'compile' is obsolete and has been replaced with 'implementation' or 'Api'"
more about the Old and new configuration please see this https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration?utm_source=android-studio#new_configurations
at the heading of "Use the new dependency configurations"
Therefore, all old "compile" should be now "implementation" or "provided" should be "compileOnly"
I have tested the with "compile" and "implementation" in my current release ready product and also by "renaming" "compile" to "implementation".
ext {
    buildToolsVersion = "26.0.3"
    minSdkVersion = 16
    compileSdkVersion = 26
    targetSdkVersion = 26
    supportLibVersion = "26.1.0"
}

Also tested with higher andorid SDK configs such as of below:
ext {
    buildToolsVersion = "27.0.3"
    minSdkVersion = 19
    compileSdkVersion = 27
    targetSdkVersion = 27
    supportLibVersion = "27.1.1"
}

so SDK 27 was also compiled successully. test on Android phone with ADK 23 all looks good. Thus, react-native-svg was working just fine as intended. thank you so much for this package.
Therefore, Please would it be possible to merge as i am sure many new projects and old one are going to update specially Gradle and SDK as of Google new requirements.
related mention of Upgrading issue mention here https://github.com/facebook/react-native/issues/20273#issuecomment-405959030
Moreover, if someone still have any issue after upgrading everything successfully, then he should use following in build.gradle under andorid/build.gradle

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27
                buildToolsVersion '27.0.3'
                supportLibVersion = "27.1.1"
            }
        }
    }
}

v6.5.0 published @yeomann


'Added rawTotal as required param to CartPriceField' added to UPGRADE…

1. Why is this change necessary?
In commit https://github.com/shopware/platform/commit/4cac5531889924f2132b94a900f1fd18eccf74ff#diff-f001621e9b9728cd1471e5c718f0b2e09a8715f551863112b79e22087d9558f2
the rawTotal param was added as a required param to CartPrice field. It should be documented that this param is now required when creating an order through the API.
2. What does this change do, exactly?
Document the required param rawTotal in the 6.4-changelog
3. Describe each step to reproduce the issue or behaviour.
/
4. Please link to the relevant issues (if any).
/
5. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] I have created a changelog file with all necessary information about my changes
[x] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-16829
Please use this issue to track the state of your pull request.

Hi, thanks for your PR. As you can see your pr was already merged.


Not able to download the complete dataset.

I'm trying to download all SHA1 hash passwords into a single file, but the process isn’t completing. I ran this command haveibeenpwned-downloader pwnedpasswords to download all the hashes into one text file, but only 14% of the data was downloaded. Then I tried another set of commands to download the hashes into a directory with multiple text files, but that process also didn't finish and only completed 8% of the total dataset. Can someone please help here?
ranjeet@MacBook-Pro-5 ~ %  haveibeenpwned-downloader pwnedpasswords
Hash ranges downloaded ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  14% 00:00:00

Finished downloading all hash ranges in 7,14,218ms (212.37 hashes per second).
We made 1,51,771 Cloudflare requests (avg response time: 170.97ms). Of those, Cloudflare had already cached 1,51,771 requests, and made 0 requests to the Have I Been Pwned origin server.

ranjeet@MacBook-Pro-5 ~ % haveibeenpwned-downloader hashes -s false -p 64
Hash ranges downloaded ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   8% 00:00:00

Finished downloading all hash ranges in 3,12,657ms (279.54 hashes per second).
We made 87,401 Cloudflare requests (avg response time: 208.67ms). Of those, Cloudflare had already cached 87,401 requests, and made 0 requests to the Have I Been Pwned origin server.

I had the same issue with .NET 8.0.403. The download finished without any error message bute the file was always to small (between 100 - 300 MB - different size with every attempt). After uninstalling .NET 8 und installing .NET 6 (6.0.427) the download was fine again.

I made an update to the application a few hours ago. If you can try this again with the latest SDK and report back, that would be awesome :)

I installed newest .Net 8 and updated the haveibeenpwned-downloader to Version 0.5.21. Now i get more errors.

I installed newest .Net 8 and updated the haveibeenpwned-downloader to Version 0.5.21. Now i get more errors.

These errors are warnings and should be OK, as it retries the downloads for these files instead of just quitting. I should make these warning messages a little clearer :)

I have also given it a try and was able to download the complete dataset without any error, Thanks for looking into it!!

I tried again. Alot of warnings but the download seems to finish. I did the same download from my debian server. This download was without any warnings and the file is slightly larger.


User enable all three option for the force password reset fail

Affected: 5.8.0-Alpha2
Severity: Critical
Priority: High
Component: User Mgt
Type: Bug
IS management console allow to enable all three options of  force password reset . If this  is a valid one, Once the admin user force to reset the password
Expected results are,

All three type of options should be receive to choose. (Password Reset via Recovery Email/ Password Reset via OTP and Offline Password Reset)
Once the user selected one option and proceed,  password reset should be successfully and  after others two options should be invalid

Actual results are,

Receive only two options (Password Reset via Recovery Email/Offline Password Reset)
-Offline Password Reset is not working

Steps to reproduce:

Enable all three options of force password reset [1]
Create user
Send soap request for the force password reset
User attempt to login to the dashboard
User receive the password reset notification
User try with offline password reset option
User try with  Password Reset via Recovery Email option

[1] https://docs.wso2.com/display/IS580/Forced+Password+Reset

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


MacVim updates broke command-e mappings

How to reproduce
vim -u NONE

:map <D-e> :
Now press command-e.
Nothing happens, except the "Edit" Mac menu flashes as it's activated.
There's now no way to map command-e in MacVim. This used to work.

This will be fixed in a later update when I fix misc menu issues. Basically the default Cmd-E (search text in selection and share to find pasteboard) is supposed to only take over when in visual mode like before, but right now it is overriding default key bindings even in normal or other modes.
For now, use the following in your gvimrc (not vimrc) to unmap the default <D-e> mapping:
macm Edit.Find.Use\ Selection\ for\ Find key=<nop>

This should let you map your own <D-e>


Simultaneous Hangup Not Being Informed

Hi,
I know AsterNet is not having much support, but I would like some help on how to handle this bug.
When I'm finishing 2 or more calls at the same time, somehow on AsterNet, one of the calls are not handled. I turned debug messages on and it is clear AsterNet is logging just one of the HangupRequest on Manager Reader. No matter how long I wait I'll never see the other call HangupRequest mesage.
As you can see below:

Debug:[ManagerReader-47] ManagerReader:Run - Event: Newchannel ####
Debug:[ManagerReader-47] ManagerReader:Run - Privilege: call,all
Debug:[ManagerReader-47] ManagerReader:Run - Channel: SIP/Elastix TRUE Outgoing-00000073
Debug:[ManagerReader-47] ManagerReader:Run - ChannelState: 0
Debug:[ManagerReader-47] ManagerReader:Run - ChannelStateDesc: Down
Debug:[ManagerReader-47] ManagerReader:Run - CallerIDNum:<PHONE_NUMBER>6
Debug:[ManagerReader-47] ManagerReader:Run - CallerIDName:<PHONE_NUMBER>6
Debug:[ManagerReader-47] ManagerReader:Run - ConnectedLineNum:
Debug:[ManagerReader-47] ManagerReader:Run - ConnectedLineName:
Debug:[ManagerReader-47] ManagerReader:Run - Language: en
Debug:[ManagerReader-47] ManagerReader:Run - AccountCode:
Debug:[ManagerReader-47] ManagerReader:Run - Context: from-trunk-sip-Elastix TRUE Outgoing
Debug:[ManagerReader-47] ManagerReader:Run - Exten: 4800
Debug:[ManagerReader-47] ManagerReader:Run - Priority: 1
Debug:[ManagerReader-47] ManagerReader:Run - Uniqueid:<PHONE_NUMBER>.115
Debug:[ManagerReader-47] ManagerReader:Run - Linkedid:<PHONE_NUMBER>.115
Debug:[ManagerReader-47] ManagerReader:Run -

.....
Debug:[ManagerReader-47] ManagerReader:Run - Event: Newchannel ####
Debug:[ManagerReader-47] ManagerReader:Run - Privilege: call,all
Debug:[ManagerReader-47] ManagerReader:Run - Channel: SIP/Elastix TRUE Outgoing-00000075
Debug:[ManagerReader-47] ManagerReader:Run - ChannelState: 0
Debug:[ManagerReader-47] ManagerReader:Run - ChannelStateDesc: Down
Debug:[ManagerReader-47] ManagerReader:Run - CallerIDNum:<PHONE_NUMBER>5
Debug:[ManagerReader-47] ManagerReader:Run - CallerIDName:<PHONE_NUMBER>5
Debug:[ManagerReader-47] ManagerReader:Run - ConnectedLineNum:
Debug:[ManagerReader-47] ManagerReader:Run - ConnectedLineName:
Debug:[ManagerReader-47] ManagerReader:Run - Language: en
Debug:[ManagerReader-47] ManagerReader:Run - AccountCode:
Debug:[ManagerReader-47] ManagerReader:Run - Context: from-trunk-sip-Elastix TRUE Outgoing
Debug:[ManagerReader-47] ManagerReader:Run - Exten: 4800
Debug:[ManagerReader-47] ManagerReader:Run - Priority: 1
Debug:[ManagerReader-47] ManagerReader:Run - Uniqueid:<PHONE_NUMBER>.117
Debug:[ManagerReader-47] ManagerReader:Run - Linkedid:<PHONE_NUMBER>.117
Debug:[ManagerReader-47] ManagerReader:Run -

.....
Debug:[ManagerReader-47] ManagerReader:Run - Event: HangupRequest ####
Debug:[ManagerReader-47] ManagerReader:Run - Privilege: call,all
Debug:[ManagerReader-47] ManagerReader:Run - Channel: SIP/Elastix TRUE Outgoing-00000073
Debug:[ManagerReader-47] ManagerReader:Run - ChannelState: 6
Debug:[ManagerReader-47] ManagerReader:Run - ChannelStateDesc: Up
Debug:[ManagerReader-47] ManagerReader:Run - CallerIDNum:<PHONE_NUMBER>6
Debug:[ManagerReader-47] ManagerReader:Run - CallerIDName:<PHONE_NUMBER>6
Debug:[ManagerReader-47] ManagerReader:Run - ConnectedLineNum: 131
Debug:[ManagerReader-47] ManagerReader:Run - ConnectedLineName: TARM 131
Debug:[ManagerReader-47] ManagerReader:Run - Language: en
Debug:[ManagerReader-47] ManagerReader:Run - AccountCode:
Debug:[ManagerReader-47] ManagerReader:Run - Context: from-internal-xfer
Debug:[ManagerReader-47] ManagerReader:Run - Exten: 444
Debug:[ManagerReader-47] ManagerReader:Run - Priority: 39
Debug:[ManagerReader-47] ManagerReader:Run - Uniqueid:<PHONE_NUMBER>.115
Debug:[ManagerReader-47] ManagerReader:Run - Linkedid:<PHONE_NUMBER>.115
Debug:[ManagerReader-47] ManagerReader:Run -

If I wait 3 seconds or more to finish the second call, everything works fine.
What could be the possible issue?
Full log is Simultaneous Hangup.txt

Which version of AsterNET are you using?
Which version of Asterisk are you using?

Hi Dean,
Thanks for the help.

Which version of AsterNET are you using?

Assembly Version <IP_ADDRESS>
I think that was 1.3.0, forked by me on 4th July 2019

Which version of Asterisk are you using? Asterisk 13 using CHANSIP Channel

Can you show the code you use to make the HangupRequest call?

I'm using the Logger class in WinForm project gave as sample. The code is:

#region Debug

    public void Debug(object o)
    {
        string caller = debugInfo();
        if (isVisible(MessageLevel.Debug, caller.GetHashCode()))
            writeLine("  Debug:", string.Concat(caller, " - ", o.ToString()));
    }

    public void Debug(string msg)
    {
        string caller = debugInfo();
        if (isVisible(MessageLevel.Debug, caller.GetHashCode()))
            writeLine("  Debug:", string.Concat(caller, " - ", msg));
    }

    public void Debug(string format, params object[] args)
    {
        string caller = debugInfo();
        if (isVisible(MessageLevel.Debug, caller.GetHashCode()))
        {
            string s = string.Concat(caller, " - ", string.Format(format, args));

            writeLine("  Debug:", s);
        }
    }

    public void Debug(string msg, Exception ex)
    {
        string caller = debugInfo();
        if (isVisible(MessageLevel.Debug, caller.GetHashCode()))
            writeLine("  Debug:", string.Concat(caller, " - ", string.Format("{0}\n{1}", msg, ex)));
    }

    #endregion

I'm using the Logger class in WinForm project gave as sample.

I was asking for your code where you are doing the HangupRequest call, not the logging method.

I'm using the Logger class in WinForm project gave as sample.

I was asking for your code where you are doing the HangupRequest call, not the logging method.

    internal void Init()
    {
        ManagerCon = new ManagerConnection(Address, Port, User, Password);

        ManagerCon.FireAllEvents = false; // Debug: faz exibir todos eventos via Manager_UnhandledEvent (armazena no log)
        ManagerCon.Hangup += Manager_Hangup;
        ManagerCon.HangupRequest += Manager_HangupRequest;

        ManagerCon.KeepAlive = true;
        ManagerCon.PingInterval = 10000;

        Connect();
    }

    private void Manager_Hangup(object sender, HangupEvent e)
    {
        Debug.WriteLine(e.UniqueId, e.Attributes["linkedid"], e.CallerIdNum, e.Channel, e.ChannelStateDesc);
    }

    private void Manager_HangupRequest(object sender, HangupRequestEvent e)
    {
        Debug.WriteLine(e.UniqueId, e.Attributes["linkedid"], e.CallerIdNum, e.Channel, e.ChannelStateDesc);
    }

That is you making connection, and then again more logging.
Where are you sending the HangupRequest request action?

That is you making connection, and then again more logging.
Where are you sending the Hangup action to the Asterisk?

Well, I'm sorry if I wasn't clear. But I'm not sending any Hangup action. I'm just hanging up two phone calls at the same time, and somehow I am not receiving both messages, just one of them. Looks like one of the messages are just not being fired.
If I wait 3 seconds to hangup the second call from the first one, I do receive both messages.
Now I would like some help to figure out why I'm not receveing these concurrent events. I dont think Asterisk are scaping one of them. Could be some thread locking the second message?

Ah, so this is an XY problem. You aren't trying to send a Hangup action, you are trying to detect when a phone changes from busy to available.
The HangupRequest event is raised when a Hangup action is sent. So this not what you are looking for.
I would suggest you using the NewState event.
See: https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerEvent_Newstate

Ah, so this is an XY problem. You aren't trying to send a Hangup action, you are trying to detect when a phone changes from busy to available.

Well sir, I didn't say that any moment, I said: "When I'm finishing 2 or more calls at the same time, somehow on AsterNet, one of the calls are not handled."
Any moment I said I was sending an Action command, that was your interpretation. Anyhow I'm sorry if I lead you to a mistake.

The HangupRequest event is raised when a Hangup action is sent. So this not what you are looking for. As far as I know at least, the Asterisk documentation is so limited.
See: https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerEvent_HangupRequest

Ok, that is a good point but I could grab the HangupRequest event even if I'm not sending a Hangup request action. It is not working fine when I'm finishing 2 or more calls at the same time. Also as you can see on log, I never sent any Hangup action but even like that I could generate a HangupRequest event. How?

I would suggest you using the NewState event.
See: https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerEvent_Newstate

Thanks, I'll give that a shot but I dont think this is going to work very well.
NewState event is fired just for channel's event but in this case, when a call is finished the channel is "closed", this is not coming back to Down state. So if I don't have the hangup event and I don't have the down state for the channel how what you were thinking? I coudn't follow you.

I don't know how the Hangup event works from Asterisk, so maybe you should start by asking on the Asterisk community forum. Once you know if the Hangup AMI event is even sent as you think it is, we can check if it is an AsterNET issue. I doubt that it is AsterNET that is randomly ignoring some of the events.
You can also try to monitor the AMI messages yourself if you want, for example with Fiddler if you know how to use it. Then you can see exactly what the Asterisk server is sending and compare it to what AsterNET is receiving.

I don't know how the Hangup event works from Asterisk, so maybe you should start by asking on the Asterisk community forum. Once you know if the Hangup AMI event is even sent as you think it is, we can check if it is an AsterNET issue. I doubt AsterNET is just randomly ignoring some of the events.
The log in your opening post clearly only shows one Hangup event (and for some reason a HangupRequest event) being received, so I don't think this is an AsterNET issue.
You can also try to monitor the AMI messages yourself if you want, for example with Fiddler if you know how to use it. Then you can see exactly what the Asterisk server is sending and compare it to what AsterNET is receiving.

Hi Dean,
Yeah, I logged all the messages sent by Asterisk AMI via telnet, and Asterisk is sending both mesages. I do have full log if you want to see, but you can try it by your self just doing telnet and logging in via AMI like this: http://the-asterisk-book.com/1.6/asterisk-manager-api.html

Simultaneous Hangup Telnet Log.txt
I added "events:on"
telnet <IP_ADDRESS> 5038
ACTION:LOGIN
ACTIONID: 1
USERNAME:admin
SECRET:mystrongpass
EVENTS:ON

Later I key pressed ENTER, sou I could see the log:

What do you think it is? Threads? Buffer?

Simultaneous Hangup Telnet Log.txt

Did you have AsterNET running at the same time? Would be interesting to see the two logs side by side.

Simultaneous Hangup Telnet Log.txt

Did you have AsterNET running at the same time? Would be interesting to see the two logs side by side.

Yes I had, and I can say I was worried because a lot of messages are sent by AMI and it is not managed by AsterNet, at least it didn't show important messages like "SoftHangupRequest".
I'm looking for some explanation. I was wondering if it could be some buffer limit but I really don't know where else to look.

Yes I had,

And if you don't supply both logs, you will have to look at it yourself.

and I can say I was worried because a lot of messages are sent by AMI and it is not managed by AsterNet, at least it didn't show important messages like "SoftHangupRequest".

SoftHangupRequest isn't implemented in AsterNET at all., so that is a bad example. The only thing we are interested in right now is the Hangup event.

I'm looking for some explanation. I was wondering if it could be some buffer limit but I really don't know where else to look.

I haven't a clue what the issue is without seeing the two logs to compare. But you are free to investigate on your own.
I know the network part of AsterNET is weird, but I have never figured out how it could be better written.

at least it didn't show important messages like "SoftHangupRequest".

SoftHangupRequest isn't implemented in AsterNET at all., so that is a bad example. The only thing we are interested in right now is the Hangup event.

I'm looking for some explanation. I was wondering if it could be some buffer limit but I really don't know where else to look.

I haven't a clue what the issue is without seeing the two logs to compare. But you are free to investigate on your own.
I know the network part of AsterNET is weird, but I have never figured out how it could be better written.

Well I did some tests and I found something a bit weird.
I deleted the "logger.Debug(line)" ManagerReader.Run after lieQueue.Deque and I put "logger.Debug(line)" inside ManagerReader.mrReaderCallbback and all ilnes were written as same as TCP on Prompt Cmd.
When I came it back as it was, some lines on a few tests weren't written. So we have something between these 2 steps, maybe on Thread pool or while locking the Queue, I really don't know what could possible be.
Furthermore, sometimes the HangupRequestEvent is not fired.
I will need to look at the code very carefully to figure out how to improve it. Maybe some middleware to handle the queue.

Furthermore, sometimes the HangupRequestEvent is not fired.

Yeah like I said. The Asterisk documentation is horribly lacking in this area, so finding out how HangupRequestEvent and HangupEvent actually work first might be a good idea.
Anyway, I am curious as to what you will find! ^^


Fix empty column issue

This PR fixes #
Fixes the issue where columns shift left when there is no content

Pull Request Test Coverage Report for Build 397381236

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 41.143%

Totals

Change from base Build 397262449:
0.0%

Covered Lines:
21852

Relevant Lines:
48649

💛  - Coveralls


[sort-comp] static getter should be treated as static method over common getter

Configuration (airbnb):
{
  rules: {
    'react/sort-comp': ['error', {
      order: [
        'static-methods',
        'instance-variables',
        'lifecycle',
        '/^on.+$/',
        'getters',
        'setters',
        '/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/',
        'instance-methods',
        'everything-else',
        'rendering',
      ],
  }
}

Here is a simple example:
import PropTypes from 'prop-types';
import React from 'react';
import cx from 'classnames';

export class Icon extends React.Component {
  static propTypes = {
    name: PropTypes.string,
  };

  static get defaultProps() { // LINT ERROR
    return {
      name: 'defaultIcon',
    };
  }

  shouldComponentUpdate(nextProps) {
    return this.props.name === nextProps.name;
  }

  render() {
    return (
      <i // eslint-disable-line jsx-a11y/no-static-element-interactions,jsx-a11y/click-events-have-key-events
        className={cx('s', `s-${this.props.name}`)}
      />
    );
  }
}

It causes an error on static get defaultProps() and error message is getter functions should be placed after shouldComponentUpdate [react/sort-comp].

This is correct; also, using static getters like this is a big performance hit. Use Icon.defaultProps =  instead.

@ljharb Thank you. Actually, we are using static get defaultProps() in our project in order to avoid memory leak.
However, besides performance problem of this pattern (maybe anti-pattern), I think static getters should be treated as static or static getters rather than common getters.

I'm not sure how there would be a memory leak from an object created once and assigned as a property.
It might make sense to make a separate category for "static getters", but it's absolutely an antipattern to use them in the first place.


Input re-structuring

This PR moves to a transceiver model to allow for easier bi-directional communication.
Instead of having explicit ToStreamer and FromStreamer protocols, we now have a unified protocol with each message type capable of supporting bi-directional messaging.
NOTE: This is a breaking change from 5.1.x and will require users using a version of UE >5.1.x to use the new input system.

Closed as it's no longer needed


Does Beast Provide a Way to Get IP Address From Domain Name?

My question is as the title suggests: Is there a way in Beast to get an IP address from a domain name, or do I have to find out how to do this manually?  Thanks in advance for replies.

Beast doesn't know anything about TCP/IP or domain names. You should already be familiar with Boost.Asio, the class you are looking for is boost::asio::ip::tcp::resolver. Also, the Beast examples demonstrate how to perform DNS lookups:
https://github.com/boostorg/beast/blob/1da229a27c6f0539d422bcedbcf47cfe2517164a/example/http/client/sync/http_client_sync.cpp#L57


Proposal: Drop support .NET 4.0 (and add 4.6)

From https://docs.microsoft.com/en-us/lifecycle/faq/dotnet-framework

.NET Framework 4: .NET Framework 4 did not ship in any operating system. Support for the .NET Framework 4 on Windows Server 2003 SP2 ended on July 14, 2015, and support on all other operating systems ended on January 12, 2016.

related #3817

Along with also dropping Silverlight and Xamarin-builds

When removing .Net4 and adding .Net46, then I think we should remove the custom NLog defines NET3_5 + NET4_5 + NET4_6 and instead use the default ones NET35 + NET45 + NET46
Also the defines should changed from opt-in:
#if NET45 || NET46
// blah blah
#endif

To opt-out:
#if !NET35
// blah blah
#endif


Need a Login API Details

Hi,
Anyone please help me to provide the Login API Details. Because I am not able to find out at /Api-doc/ url

https://inventree.readthedocs.io/en/latest/extend/api/#authentication

Thanks @SchrodingersGat