Prevent parallel blockchain updates

A single address can not publish multiple transactions to the chain concurrently. If it does, we see this:
$ cargo run --package xdbg -- -d -b local generate -e identity -a 5
    Finished `dev` profile [unoptimized] target(s) in 0.20s
     Running `target/debug/xdbg -d -b local generate -e identity -a 5`
Error:
   0: API error: API client error: mls error: status: Internal, message: "error publishing group message: rpc error: code = Internal desc = error publishing identity update: nonce too low", details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc"} }
   1: API client error: mls error: status: Internal, message: "error publishing group message: rpc error: code = Internal desc = error publishing identity update: nonce too low", details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc"} }
   2: mls error: status: Internal, message: "error publishing group message: rpc error: code = Internal desc = error publishing identity update: nonce too low", details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc"} }
   3: status: Internal, message: "error publishing group message: rpc error: code = Internal desc = error publishing identity update: nonce too low", details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc"} }

This introduces a lock to prevent concurrent/parallel transactions.
This won't work in a HA scenario as multiple payer processes can have the same private key. The solution is to give a new key to every payer.
My understanding is that ALL transactions from a single address have to be ordered. That is why both group messages and identities use the same mutex. @fbac is that accurate?

Summary by CodeRabbit

Bug Fixes

Improved thread safety for publishing messages and identity updates to the blockchain.

I think the solution to this is to change the parameters for the transaction to allow for paying a higher gas price. But will have to investigate more.

I see. There must be another way of getting unique nonces without serializing the requests. But serializing is fine as a band-aid.

I am experimenting with atomic ints, maybe they dont have to be submitted in order?

The lock-free-ish solutions is pretty fast:
$ time cargo run --package xdbg -- -d -b local generate -e identity -a 5000
    Finished `dev` profile [unoptimized] target(s) in 0.25s
     Running `target/debug/xdbg -d -b local generate -e identity -a 5000`
xdbg::app::generate::identity ensuring identities registered & latest association state loaded...
        total_states 5000
xdbg::app::generate identitites generated

real    1m17.652s
user    2m40.287s
sys     8m50.728s

@mkysel, just a heads up - it seems that the golang race tests are failing after this PR

@richardhuaaa those have been flaky for some time now. The CI on this PR passed and so did the push to main.


mbed dm init without API key gives out ugly backtrace, it would be better to handle the exception

Currently if I run "mbed dm init ..." without any API-key defined, it gives quite long backtrace from cloud-sdk which can be confusing to understand.
It would be more clear to catch this Exception and point to either use "-a" flag to provide the API-key, or define CLOUD_SDK_API_KEY parameter.

Hi @teetak01, I'm currently doing this in an mbed-os PR: https://github.com/ARMmbed/mbed-os/pull/9635

Internal Jira reference: https://jira.arm.com/browse/MBOCUSTRIA-866

@teetak01 Mind retesting with master? It just came in :)


i18n(es): update server-side-rendering.md

What kind of changes does this PR include?

New or updated content
Translated content

Description

Updates the server-side-rendering page to have the latest copy about what it is need it to enable SSR

Reviewed, left some suggestions! 💪


Implemented topoSort and added skeleton for areaOfConvexPolygon.

Closes #361

[x] Running yarn lint does not trigger any linter errors
[x] The test of the method you have fixed is passing
[x] You have written a new skeleton method for someone else to work on!
[x] You have written tests to accompany your skeleton method

Hey @Ampretuzo - if you could please resolve the current merge conflicts, we can get this in! Thanks

@BlakeGuilloud traverse method depends on added metadata to the graph argument, so probably no. I put it there for readability actually.
btw, how did it come my skeleton implementation was merged first? Not good, not good :)

@Ampretuzo thanks for the contribution. We have a lot of PRs so if a skeleton method is in a separate PR then we probably took it at face value and merged it as a help. I merged this one without a skeleton because of that. Happy Hacktobering.


Forward/Back Button for Last Note Edited

The ability to navigate through the notes edited from starting the application would be helpful. This would function much like forward-back in most browsers.
I have mentioned this on Superuser.com (http://superuser.com/questions/349485) in which this rambling discussion was mentioned: https://github.com/scrod/nv/issues/64. I think it's a much more likely feature for nvALT than NV.
Thoughts? Interest?

I hadn't seen the above suggestion when I submitted this feature request for nvALT:
I am a big fan of nvALT which I use (with DropBox and Trunk Notes) all the time.
I would like to suggest a new feature: go back and go forward (like in a browser), either buttons or menus or both, but most importantly with keyboard shortcuts.
For instance, if I write something in one note and have to look something up in another one, and then want to go back to the first note, it would be nice to be able to just be able to use a keyboard shortcut.
Best wishes,
Thomas


Pass all the parameters to Dataloader

Hi,
First of all, amazing work!
I have noticed that the train is really slow compared to a naive implementation with PyTorch. I am doing image segmentation, and with my dataset (4k image  128x128) with a 'vanilla' code I do one epoch every  30 seconds, while with skorch I do one epoch every  37 seconds!
I think the user should be able pre-defined Dataloader.  This will also allows a better integration with existing code since usually people are used to first define their Dataloader.
Also, in the NeuralNet constructor, there is a param iterator_train but it takes a constructor so I hacked it and I changed this line
# net.py line 1111
return  iterator(dataset, **kwargs)

to
return  iterator

This allows to directly pass a custom dataloader to the model and improve performance, I now get the same time.
ds = TensorDataset(...)
dl = Datoader(ds, ...)

net = NeuralNet(iterator_train=dl)

net.fit(ds) # I still have to pass something here

So what if we had the possibility to directly pass a Dataloader in the fit method?
An other solution could be to pass all the parameters, for example the num_workers somewhere before initialise the dataloader in net.py

I'm not sure I entirely understand your problem/proposal, but maybe this information can be relevant. It's possible to pass DataLoader parameters (such as num_workers) to the NeuralNet constructor:
net = NeuralNet(
    iterator_train__num_workers=4,
    iterator_train__pin_memory=True
)

so I hacked it and I changed this line...

This is certainly no 'hack' :) We intended NeuralNet to be easily subclassed, so that overriding get_* methods such as get_iterator should be as easy as possible.
That said, your change could be flawed because you don't always want to return the same DataLoader from get_iterator. Say you want to train on some data and then predict on other data: with your change, you get back the same data for both.
I wonder how the change you mentioned can make such a big difference. Could you maybe post some code that shows what iterator and dataset you are using? The main difference is that before your change, the DataLoader is initialized once per epoch, and after, only once per fit call. But initializing the DataLoader should not take much time.

@taketwo Thank you to show how to actually pass the parameter. But, is this, in your opinion a little ugly? Would it be better to have the ability to pass your DataLoader?
@benjamin-work It was slower since I was not able to pass the correct num_workers now everything is perfect
Also, what If I want to change the DataLoader at run time? I should create a new NeuralNet, right?
Thank you for the fast reply :)

But, is this, in your opinion a little ugly?

I don't think it's ugly, we borrowed this from sklearn and use it consistently to pass "deep" parameters around.

It was slower since I was not able to pass the correct num_workers now everything is perfect

Great, otherwise something would have been wrong.

Also, what If I want to change the DataLoader at run time? I should create a new NeuralNet, right?

No, there should be no need to create a new NeuralNet. So I believe there are two things that need explaining.
First sklearn (and as an extension skorch) has the rule that your data should never be an attribute of the model, you should only pass it to the model via the correct methods like fit and predict. One advantage is, for example, that when you save your model, you don't save all your data as well (resulting in a potentially huge model file).
Second, I think of the DataLoader more as a way to access your data, not the proper data container itself (that would be the Dataset). Therefore, I would not initialize the net with an initialized DataLoader but rather only create it once it's needed.
All of this then has the advantage that you can easily call your model with different data:
net.fit(X_train, y_train)
net.predict_proba(X_valid)
net.predict(X_test)

Great answer! Just a small addendum to address this question:

Also, what If I want to change the DataLoader at run time? I should create a new NeuralNet, right?

You can do the following at "run time", after the model was instantiated:
net.set_params(iterator_train__num_workers=4)

Thank you


Extracted the nib loading function to a protocol I always use. Edited the README to reflect the updates.

This is great. I've been meaning to do this myself. Thanks Matt!!!
I'll try and take a look next week.

No problem!


improved server site docs

@joernu76 that gifcycle is currently only in  the latest rtfd doc. stable will be done with the major release.


Support multiclass labellers

Looks like the labellers that I've implemented will work out-of-the-box.


Data refresh using code

Hi, is it possible to refresh the data in the activity timeline component using code?
Many thanks!

Hi @dolotinaelvira1, if you use the unmanaged code, you could use the refreshData method in the activityTimeline.js.


Redis Get silently returns an empty []byte for stored []byte values

The issue is similar to https://github.com/eko/gocache/issues/166 but for Redis with []byte values. When getting a []byte value the cache returns an empty []byte without an error. This is because the Redis implementation always returns strings and fails when trying to convert the value to string. Since it silently fails, it was difficult to debug.
Steps for Reproduction

Set up a cache manager with a Redis store:

redisStore := redis_store.NewRedis(redis.NewClient(&redis.Options{
	Addr: "<IP_ADDRESS>:6379",
}))
cacheManager := cache.New[[]byte](redisStore)

Set a []byte value

value := []byte{1, 2, 3, 4}
err := cacheManager.Set(ctx, "key", value, store.WithExpiration(15*time.Second))
if err != nil {
	panic(err)
}

Get the value

cachedValue, err := cacheManager.Get(ctx, "key")
if err != nil {
	panic(err)
}

Check how the returned value has len = 0

fmt.Printf("cached value len: %v\n", len(cachedValue))

Expected behavior:
The returned value is the stored []byte not and empty value
Actual behavior:
It silently returns an empty []byte instead of the stored value
Platforms:
macOS and dockerized Linux from scratch
Versions:
gocache v4.1.3
go 1.21
Redis store v4.2.0
Redis client v9.0.5
Redis server 7.0.12

@eko  Maybe we can add a Mashaler and Unmashaler to the cache and allow users to choose whether to use them or not? This will solve the problem of this type mismatch.

any workaround for this ?

related https://github.com/eko/gocache/issues/197

Redis cache apparently only supports strings not []byte
Even if implemented encoding.BinaryMarshaller and Unmarshaller it uses only marshaller and fails to assert types later in this piece of code
func (c *Cache[T]) Get(ctx context.Context, key any) (T, error) {
	cacheKey := c.getCacheKey(key)

	value, err := c.codec.Get(ctx, cacheKey)
	if err != nil {
		return *new(T), err
	}

	if v, ok := value.(T); ok { // value is always string for redis
		return v, nil
	}

	return *new(T), nil // returns nil, nil or empty, nil for any non string type
}

And with interface of codec that doesn't receive and type information in parameters it's not really possible to properly assets anything unless interface is changed to allow this:
	err := c.codec.Get(ctx, cacheKey, &value)
this way type information can be passed down into redis store and handled properly


Fix volatile keys with SELECT UNLESS CONFLICT ELSE

Follow up to #1639.
Currently we duplicate the constraint expression in both the INSERT and the SELECT generated in the ELSE branch. If the expression is volatile, it might evaluate to different values in each branch, which is bad.
We need to hoist the computation out, at least when it is nontrivial.

@msullivan Has this been fixed?

We disallow volatile keys there now, so we can't miscompile anything, but we don't support it, which we should.


crypto/x509: go get regression from go1.7 to go1.8 on CentOS due to cert file lookup paths change

What version of Go are you using (go version)?
go version go1.8rc3 linux/386
What operating system and processor architecture are you using (go env)?
GOARCH="386"
GOBIN=""
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/usr2/ps/isp/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_386"
GCCGO="gccgo"
GO386=""
CC="gcc"
GOGCCFLAGS="-fPIC -m32 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build005892966=/tmp/go-build"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"

What did you do?
go get -d -u <package location>
What did you expect to see?
Successful completion of go get
What did you see instead?
package <package location>: unrecognized import path "<package location>" (https fetch: Get https://<package_url>?go-get=1: x509: certificate signed by unknown authority)
Using go version go1.7.4 linux/386, this worked successfully. We are using our own CA, and the package_url is our own internal server.

Doing more research looks like https://github.com/golang/go/blob/ce645534e481368b4ec6141d48eb361422e423b8/src/crypto/x509/root_linux.go#L10 was added in go1.8. On our server we have both /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem and /etc/pki/tls/certs/ca-bundle.crt. In go 1.7.4, it would find /etc/pki/tls/certs/ca-bundle.crt, which has the root certificate. In go 1.8rc3, it found /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem first, which doesn't have the root certificate.
Our server is CentOS 6.8.

If this were found during the Go 1.8 beta testing period, or even an earlier rc, it would've been easier to fix. It might be too late now. :-/
As a workaround, can you just add your certs to the first location?
Do other popular TLS clients read & merge all files?
/cc @agl

@bradfitz  By default the openssl command was working correctly. It was able to verify the certificate.

Here is a snippet from man verify.
"The process of ’looking up the issuers certificate’ itself involves a number of steps. In versions of OpenSSL before 0.9.5a the first certificate whose subject name matched the issuer of the current certificate was assumed to be the issuers certificate. In OpenSSL 0.9.6 and later all certificates whose subject name matches the issuer name of the current certificate are subject to further tests."
Which to me sounds like it keeps looking.

I think that section of the man page is suggesting that it'll check multiple certificates from a file, as opposed to merging several files. Generally OpenSSL is configured with https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_load_verify_locations.html which takes a single file and a single directory for hash lookups. Of course, OpenSSL is very complex and it's possible to make things happen differently and there's the possibility of distro-specific patches too.
Why do we think that the system OpenSSL isn't just looking at /etc/pki/tls/certs/ca-bundle.crt?

Why do we think that the system OpenSSL isn't just looking at /etc/pki/tls/certs/ca-bundle.crt?
I not saying it doesn't, but with the change in go1.8, go isn't looking there by default.

I am still trying to research this, but it looks like in CentOS 6 (not sure what dot revision it was introduced) there is a legacy way and a new way to handle certs.

@bradfitz I am leaning toward this being a breaking change for CentOS 6, because I believe by default CentOS 6 uses the legacy method, which is /etc/pki/tls/certs/ca-bundle.crt. I am by no means an expert in this though.

To clarify: does CentOS include both /etc/pki/tls/certs/ca-bundle.crt and /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem but expect that the former is the default?

If we got this bug report two months a fix would've been much easier.
Between go1.8beta1, go1.8beta2, go1.8rc1, go1.8rc2, and go1.8rc3 we make fewer and smaller and safer changes. We're basically not making changes at this point of the release cycle. We can't risk causing regressions for other crypto/x509 users. The fact that we only got one bug report about this (and so late) suggests this isn't an issue that will impact many people at least.
Unless there's a great diagnosis of what's happening and a super minimal and obviously-correct fix, you'll probably have to just modify both *.crt files, use a locally-patched Go, stay on Go 1.7, or wait for Go 1.9. Sorry.

@bradfitz I have already worked around the issue, I am more just worried about the CentOS 6 user that this might break. What population of them have test go1.8?

To clarify: does CentOS include both /etc/pki/tls/certs/ca-bundle.crt and /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem but expect that the former is the default?

@agl I believe Yes and Yes. I don't have a "stock" CentOS 6 box though.

It sounds like we could just flip the order of the two entries then, but I'd love to get some clarification from RedHat about their policy here. I'll see if I can reach someone who'll claim to know.

@bradfitz  @agl I am wondering for easier discovery and because this doesn't just impact go get if the title should now be
crypto/x509: "certificate signed by unknown authority" regression from go1.7 to go1.8 on CentOS due to cert file lookup paths change.

(I've emailed @nmav to see if we can get word about what the "correct" answer is here.)

In RHEL7 the files to use for openssl apps are /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem [0]. ca-bundle.crt is a link to the first one.
In RHEL6 the primary file is ca-bundle.crt. (There it is optional for an administrator to enable the rhel7 trust management, by running update-ca-trust enable. In that case tls-ca-bundle.pem and ca-bundle.crt should be the same file).
Based on the above I think using ca-bundle.crt seems like a safe choice.
[0]. http://www.unix.com/man-page/centos/8/update-ca-trust/

@agl As a side note, I have noticed the following.
CentOS 7
~$ ls -alh /etc/pki/tls/cert.pem
lrwxrwxrwx. 1 root root 49 Nov 29 02:53 /etc/pki/tls/cert.pem -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem

CentOS 6
~$ ls -alh /etc/pki/tls/cert.pem
lrwxrwxrwx. 1 root root 19 Jun  8  2016 /etc/pki/tls/cert.pem -> certs/ca-bundle.crt

Not sure if it would make sense to just point at /etc/pki/tls/cert.pem?

@bradfitz @agl It looks like ce645534e481368b4ec6141d48eb361422e423b8 is the commit that caused this problem. It also looks like it was a fix for #15749. On CentOS 7 though, /etc/pki/tls/certs/ca-bundle.crt is linked to /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem. So, I think there was a different cause for the issue in #15749.

I defer to @agl to decide what to do here.
@agl, we ship Feb 14th. It'd be nice to have this done before then. There might be an -rc4.

I agree that CL 36093 is too much for Go 1.8. Can we just move the new RHEL7 line down to the bottom of the preference list for Go 1.8?
ping @agl

Sent CL 36429 to reorder the list. I checked, and the line was added for #17549, which was "can't find any certs"; that is, on the system we were trying to fix, none of the listed files existed. On this CentOS 6 system, the existing files were better than the new file, but putting the new file earlier in the list broke things. Moving the new file to the end of the list should keep #17549 fixed and still fix this issue.

It's still unclear why /etc/pki/tls/certs/ca-bundle.crt didn't exist in #15749, but Russ's change should still take care of that so LGTM.

https://go-review.googlesource.com/36530 for cherry-pick to Go 1.8.

Closing. CL 36093 mentions this issue but is really about a broader thing. This specific issue should now be fixed entirely.


Gzip OBJ files

@puckey, I've deployed a change. now app engine will GZIP the obj files (They were getting the wrong mime-type before)


broker: add optional ReadRequest.BeginModTime constraint

If provided, the broker read API will skip the read offset over persisted fragments having a modification time that falls before the bound. This can be used to efficiently skip over undesired historical prefixes of journal content given a wall-time lower bound.

This change is

Tested end-to-end using file:// stores on a (modified) Flow local stack.

I thought of a corner case, and not really sure if we should do anything to handle it:
Suppose I've gone back and edited a fragment back in the history.

Yep, that's fine. This is why the contract is "you won't get fragments who's store modification time is before BeginModTime", not "you won't see data written before BeginModTime. Clients are required to filter if they want the second meaning. This is only an optimization that can cut out a lot of data that's trivially proven to be before the time of interest.


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 11:51:29 on 2023.05.26
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 9, errors out: 0
Original problem ID: 22571
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=22571

Problem has been resolved in 18m 0s at 12:09:29 on 2023.05.26
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 22571


Update collections.md to fix syntax error for generating ID list

@ruaanviljoen, thank you so much for this.


refresh token rotation

Added refresh token rotation.
Fixes #519

A few comments, but overall looks good. Thanks!

Thanks for your comments. I see an user could have some refresh tokens for the same client and there is a TODO.  Is it correct? I can change it here or in another PR if you think it isn't a valid feature.

Probably best for a different PR :)

Ok @ericchiang, revamped

small nit but other than that tested locally and lgtm

lgtm!


Tests need to be refactored

Story
These tests have a number of problems as noted in the task list

duplicate of #1027


Need example yml file

Currently hard to know how to quickly get everything configured

You added a config.json which contains yaml.

Hi Jimmy,
Thank you very much for pointing that out. It is fixed now. :)
If you have any questions, please let me know I am always happy to help.
Kind regards,
Kasia
On 23 February 2016 at 23:38, Jimmy Zelinskie<EMAIL_ADDRESS>wrote:

You added a config.json which contains yaml.
—
Reply to this email directly or view it on GitHub
https://github.com/cloud66/habitus/issues/4#issuecomment-187968596.

--
Kasia Hoffman
Developer Outreach
Cloud 66 - DevOps as a Service. http://www.cloud66.com/
Watch Cloud 66 video https://vimeo.com/140805437.


JSONP polling support

Hi, we have to support some very old IE versions that will initiate JSONP-polling instead of XHR-polling. Do you think we can write our own JSONP-polling handler, hook it up with the netty pipeline and make it to work? Thanks.

JSONP-polling handler
JSONP-polling already implemented. Why do you need to write own version?

Thanks for the prompt reply. I thought you only implemented websocket and xhr-polling as listed under the "Features" section of this wiki page. In our testing, if it is IE7 and lower, the socket.io client failed to establish a connection. Did we miss something?

it switches to jsonp in ie9... is it work good with native nodejs version of socketio server?

I see. I got the same result when testing against a nodejs socket.io server and it didn't work with IE7 and lower. Now I am thinking maybe I used some features in my client and those were not supported in IE7. Did you ever test IE7 and even lower IE versions? Thanks a lot.

@gding8 I have an application using netty-socketio working with IE6 given that you install Flash in the browser, so the transport is flashsocket

@pablojr Interesting! I read IE doesn't support websocket until IE10. So with flashsocket, is the websocket protocol actually implemented in the flash objects (SWF files)?

@gding8 i think @pablojr talking about old version of netty-socketio 1.6.x not 1.7.x. New socketio client has dropped flash-transport support

@gding8 yes, @mrniko is right  I keep using an old version (1,x?) which contains the required SWF files to support flashsocket. So you need to provide Flash player for that code to work properly. I'm away for actual code, I can reply better next week. You may want to take a look at old revisions of this project

Thanks guys. I reran my test using netty-socketio 1.7.3 and socket.io-1.3.4.js, I couldn't even get IE9 to work. The same client code works fine against a nodejs server down through IE8. According to the sniffer trace, the netty-socketio server definitely didn't send any data to the client although the handshake seemed being completed OK. On the server machine, I could see a TCP socket connection established and a couple of other connections were flapping. I think that's how polling mode is supposed to work if I understand it right.
I have such a simple test client (see below). What is wrong?

Update: we switched to latest release (netty-socketio 1.7.7) and the client in IE8 worked. Something must have been fixed since 1.7.3.


fix: fix scripts.scully script to use npx instead of npm

Before:
 jsonContent.scripts.scully = 'npm scully --' + params;
After:
 jsonContent.scripts.scully = 'npx scully --' + params;
PR Checklist
Please check if your PR fulfills the following requirements:

[ ] The commit message follows our guidelines: https://github.com/scullyio/scully/blob/main/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

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


Info Addon: globally customize default values

My usage of the info addon is such that I'd prefer that the story's source code is never truncated. Therefore, it'd be great if there were a way to set the default options globally, rather than on a per-story basis, perhaps like this:
// in config.js
import InfoAddon from '@storybook/addon-info';

setAddon(InfoAddon({
  maxPropsIntoLine: Infinity,
  maxPropObjectKeys: Infinity,
  maxPropArrayLength: Infinity,
  maxPropStringLength: Infinity,
});

It's been added.
https://github.com/storybooks/storybook/tree/master/addons/info#global-options


Added new exception for region-locked videos.

Example video that's region-locked in the US: https://www.youtube.com/watch?v=hZpzr8TbF08
This checks the availableCountries element in the initial player response, and compares it to the youtube-detected country of the request.

cc: @RONNCC


ECS encoding and ES transport updates; Exporter batch support

This PR contains various changes related to ECS encoding and ES transport in the csa branch:

Exporter encoder and transport protocols support batch processing:

Encoder's Encode method expects engine.Record array, returns aEncodedData array: Encode(recs []*engine.Record) ([]commons.EncodedData, error)
Transporter's Export method expects EncodedData array: Export(data []commons.EncodedData) error
Batch size controlled by buffer parameter in exporter process loop

Elastic transport module enabled

Creates ES BulkIndexer object at batch start
Adds messages from passed ECS data to indexer
Executes bulk ingestion at batch end

ECS encoder updates:

Populates ECS community_id attribute according to standard
Dropped ECS original attribute

Exporter main module: Fixed index error during iteration over buffer in process loop

LGTM. Additional modifications implemented include:

pre-allocated buffers and buffers reuse for batch encoding of telemetry record arrays (performance optimization)
fixed bug in terminal export (where the wrong variable was printed to the terminal)


Add a Free Column with Rate Limit?

Would be nice to have a column with the FREE TIER limits.

I agree, this would be nice to have.

Keeping it simple and leaving this out


Selenium Test not running, chrome version

Description
Selenium test fail when run on Windows Server 2019 image
Area for Triage:
Win Server 2019
Question, Bug, or Feature?:
Bug
Virtual environments affected

[ ] Ubuntu 16.04
[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] macOS 10.15
[ ] macOS 11.0
[ ] Windows Server 2016 R2
[x] Windows Server 2019

Expected behavior
Visual Studio Selenium test on Chrome should run.
Actual behavior
The selenium test don't run, Chrome Driver installed 87.0.4280.20 but the Chrome browser installed is 86.0.4240.198.
Error shown:

Error: System.InvalidOperationException: session not created: This version of ChromeDriver only supports Chrome version 87
Current browser version is 86.0.4240.198 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe (SessionNotCreated)

@jfsanchezaguilar , looks like you update ChromeDriver in runtime.
Both Chrome and ChromeDriver are 86.x on 20201116.1 image. See details in https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md#browsers-and-webdrivers

@maxim-lobanov you are right, one of the developers added the nuget for the chrome driver, so this cause the test to use the latest version for the chrome driver. Sorry for the inconvenience.

Sure, no problem

@maxim-lobanov Hi, is there any ETA for updating to 87.x?
We would like to use selenium-stadnalone 6.22.2 which has a fix for Edge driver incorrectly downloaded on Linux
(https://github.com/vvo/selenium-standalone/issues/515). Currently we observe this bug in GitHub Actions:
     Error: Missing /home/runner/work/web/web/node_modules/selenium-standalone/.selenium/chromiumedgedriver/latest-x64-msedgedriver
      at /home/runner/work/web/web/node_modules/selenium-standalone/lib/check-paths-existence.js:16:29
      at suppressedCallback (fs.js:215:5)
      at FSReqCallback.oncomplete (fs.js:156:23)

However, the version with a fix already uses 87.0.4280.20.
So we can't run tests using older selenium-standalone version locally (the ChromeDriver that it uses fails with Chrome 87). But we can't update it either because of the fact that it breaks CI. Is there anything we could do about it?

@web-padawan , approximately end of this week.


Providing RSS feeds

Dear all,
I am looking for RSS feeds from arxiv-sanity, but unfortunately it seems that it is not provided. Does this feature sounds good to you? If yes, I can start developing it through a fork.
Regards,
Noël.

+1 very interested in this, happy to help

How's your progress? Would love to see this feature!

Thanks for your interest! Sadly I was too much busy these last months to develop the RSS feature, then I forget it... But that's cool, it's like a reminder to me 👍

I would also be insterrested by RSS feeds!
Meanwhile, have a look at related issue: https://github.com/karpathy/arxiv-sanity-preserver/issues/139

As a stop-gap, I created this: https://github.com/dend/arxiv-sanity-feeds. Should help with tracking some of the key feeds.


[B22] Infusion Stabilizer energy intake/speed issues, aka supercharging your stabilizer

Using The One Probe i noticed that the Infusion Stabilizer's internal energy storage would drop down to 0 a lot and I was worried that I somehow didn't give it enough juice, even though I was supplying more than the required 100 RF/t.
So I added another power connector to another intake to see what would happen.
Long story short: If you supply RF through more than 1 connector, the Infusion stabilizer runs at roughly double the speed, while at the same time not using up more RF to achieve the same task (here: stabilizing a newly placed runic matrix from base stability to very stable, when the Infusion Stabilizer stops working)
Takes about 15 seconds with two connectors in use and 30 seconds with just one.
However, using 5 Vis Generators will also require 30 seconds.
Skimming over the code, I think the issue lies with the refill speed of the Stabilizers internal storage and the way it uses up it's energy.
It has an internal storage of 1000 RF and it will try and use ALL of it every 5 ticks, meaning it potentially uses up 200RF per tick, on average. While the intake is limited to 100RF per tick, that appears to be only per connector, meaning that you can match the 200RF max usage using two connectors.
Just reporting this, because I don't think that it is intentional, looking at the changelog of 6.1.BETA18.
I recommend simply changing
int m = this.energy / 100;
to
int m = min(this.energy, 5*<n>) / 100;
effectively setting the maximum usage to n RF per tick (n would be 100, but maybe that can be turned into a variable for ease of later adjustment)
If I wrote something unintelligibly, please notify me. I wrote this issue alongside discovering the mechanics and also am feeling a bit daft atm.

Good catch.

Actually, now that I looked at the code and ran some tests to double-check this is not the case. It does indeed as as much RF as it can, and it does consume as much RF as it tried to use. Later in the code the multiplier (m variable) is used to actually consume the RF from the energy store.
One minor issue is that it cannot receive more than 100 RF per side. I am going to up this to 1000 RF, but overall it will still be limited by it's capacity of 1000 RF.

Will vis generators be able to fully power a stabilizer then?


Does not explain interaction between the parameters

The page does not explain interaction between the parameters, i.e. is -ScanPath only used for -ScanType Custom?

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

ID: 69faff6c-55a5-a2b3-06c5-bd543e5c58cd
Version Independent ID: 220d9ccc-356c-08c9-087a-0eb3309d902b
Content: Start-MpScan (Defender)
Content Source: docset/winserver2022-ps/defender/Start-MpScan.md
Product: w10
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


59 combine existing components new

Made a few modifications from the previous implementation by prebbe<EMAIL_ADDRESS>and raghunandanarava<EMAIL_ADDRESS>

Working as expected, the output displays the header, payload, and the discovery information


add a test readme file

I guess you are new to github. Please experiment in your own account and repositories to learn how github works, as people get notified when you make tests like this in other people's repositories.

I guess you are new to github. Please experiment in your own account and repositories to learn how github works, as people get notified when you make tests like this in other people's repositories.


Fix codeclimate

Coverage remained the same at 78.904% when pulling b041412bc9ef024bfecaf70de0762f7fc7fa593f on Codeclimate into 1b08dcac858a654492cae02950afa4795be91904 on development.

Tudo certo!


Event to revoke consent

Is there a way to dispatch an event when user clicks Reject button or Accept button when choice is inactive?
For example, user comes to website and clicks Accept. To make it simple we only have analytics. It will dispatch an event and using on:analytics={myCustomFunction} we can handle our analytics.
If user decides that he/she wants to revoke consent, but clicking Reject button, nothing happens. Also nothing happens if user clicks Accept when analytics is unchecked under settings. User should be able to revoke/remove cookies via cookie consent element. Yes, they can always clear cookies in browser, but most users aren't tech savvy and I think it's part of GDPR to enable user to revoke its consent.

I'll second that. Especially as it is part of being GDPR-compliant (which is stated in the Readme). A simple true/false value representing the consent given attached to the custom event  (like on:analytics) should suffice to easily run opt-out functions to revoke cookies.
I would appreciate this change very much!

The way this is GDPR compliant is that you don't run any sort of non-gdpr compliant code until the user consents to those types of code, by clicking Accept. If they Reject or ignore, then you don't do anything.
That being said I'm not averse to events being run when the choices change. Feel free to open a PR and I will review.

Ok, I will create PR as soon as I can

@antony Did you have a chance to look at my PR (#67)? Any suggestions how to make it better? Thanks!


Syntactic sugar for outputting result variables

Easily capture and print result variables at the same time using new = << syntax.
Closes #418
Checklist before requesting a review

[x] Performed a self-review of my code
[x] Formatted my code with pkgmt format
[x] Added tests (when necessary).
[x] Added docstring documentation and update the changelog (when needed)

:books: Documentation preview :books:: https://jupysql--501.org.readthedocs.build/en/501/

looks like this is still WIP - setting this as a draft

@edublancas The work on this is finished (or at least ready for review), I reckon you marked this as WIP because of CI failing?
In CI, the issue shown by pkgmt lint is this:
./src/tests/test_command.py:16:89: E501 line too long (93 > 88 characters)

I indeed didn’t run pkgmt lint before submitting this PR (perhaps that can be added as a checkbox in the PR template?)
What’s interesting is that I did run pkgmt format, but we’re dealing with a [rather obscure case where black doesn’t reformat long strings](https://github.com/psf/black/issues/1802), but flake8 (used in pkgmt lint) does enforce it.
In any case, I manually split the offending string in 2 lines, so that’s been fixed now.

Theres 2 other checks failing, but I don’t think these are caused by any of the changes I made - separate issues?

workflow-edited / changelog-edited: failing a check on .github/workflows/ci-integration-db-live.yaml, but I didn’t change this file.
docs/readthedocs.org:jupysql: failing on doc/api/magic-sql.md, looks like there is a syntax error in the a query in this file, but I didn’t change this file.

the errors you're seeing in the CI are indeed unrelated to your PR, so please rebase so you can get the fixes.

once that's done, please request my review (is it visible to you?)

@edublancas please review :)
FYI:

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review

I noticed that the only combination that works is var= <<,
this won't work: var =<<, var = <<

I considered this, but stuck with var= << because that's the python f-string format and the simplest case to implement. I agree though that it would be good to have some flexiblity, IMO that's preferable over "did you mean: var= <<?".
I'll have a look at this, I don't think it should be very hard to implement. Heads up that it will probably take me a week or more to find some time to work on this though...

thanks! opened https://github.com/ploomber/jupysql/issues/525 to follow up the improvements!

Great, thanks!


CPU limit behaviour for istio-proxy changes from 1.6+

Bug description
There are numerous known issues with overzealous docker CPU throttling, for certain critical components - such as istio-proxy, we do not set CPU limits, only CPU requests.
On 1.5 you could achieve that with:
  proxy:
    resources:
      requests:
        cpu: 30m
        memory: 65Mi
      limits:
        memory: 512Mi

Which mapped into the injection-template:
          "resources": {
            "limits": {
              "memory": "512Mi"
            },
            "requests": {
              "cpu": "30m",
              "memory": "65Mi"
            }
          },

However, on 1.6, the same configuration in istiooperator.yaml, the cpu when omitted is defaulted to 2000m
          "resources": {
            "limits": {
              "cpu": "2000m",
              "memory": "512Mi"
            },
            "requests": {
              "cpu": "30m",
              "memory": "65Mi"
            }
          },

This has led to some unwanted throttling on core services such as ingress-nginix, and caused a spike iin container_cpu_cfs_throttled_seconds_total cardinality in prometheus (almost doubled, due to now including istio-proxy)
It's worth noting that for 1.6 we're using istioctl manifest generate, whereas on 1.5 we were using the helm template.
[ ] Docs
[x] Installation
[ ] Networking
[x] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience
[ ] Developer Infrastructure
Expected behavior
It to work like 1.5, or if the behaviour has changed for a good reason, clearly explaining why in the upgrade notes for 1.6
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version --short and helm version if you used Helm)
1.6.13
How was Istio installed?
Helm
Environment where bug was observed (cloud vendor, OS, etc)

Is this just an (undocumented) defaulting change or is it also not possible to unset the limit?

@howardjohn I can't seem to unset it, so it could be both an intentional change but then also an issue that I can't remove it

1.5 chart:
        resources:
          {{ if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -}}
          requests:
            {{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) -}}
            cpu: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU` }}"
            {{ end}}
            {{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -}}
            memory: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory` }}"
            {{ end }}
        {{ else -}}
      {{- if .Values.global.proxy.resources }}
          {{ toYaml .Values.global.proxy.resources | indent 4 }}
      {{- end }}

Seems like it would set it if you didn't have an annotation, and we didn't support setting limit via annotation
$ helm template . -f /tmp/values.yml | k grep ConfigMap/istio-sidecar-injector | toJson | jq .data.values -r | jq '.global.proxy.resources'
{
  "limits": {
    "cpu": "2000m",
    "memory": "512Mi"
  },
  "requests": {
    "cpu": "30m",
    "memory": "65Mi"
  }
}

Suggest the CPU is set there as well
How did you actually get this below?

Which mapped into the injection-template:
      "resources": {
        "limits": {
          "memory": "512Mi"
        },
        "requests": {
          "cpu": "30m",
          "memory": "65Mi"
        }
      },

Stumbled upon a similar issue. In 1.6 it was possible to set proxy.resources.limits to null and it removed limits. After upgrade to 1.7 it stopped working in spite of it is unset in istiooperators.install.istio.io as expected.

Stumbled upon a similar issue. In 1.6 it was possible to set proxy.resources.limits to null and it removed limits. After upgrade to 1.7 it stopped working in spite of it is unset in istiooperators.install.istio.io as expected.

Stumbled upon a similar issue. In 1.6 it was possible to set proxy.resources.limits to null and it removed limits. After upgrade to 1.7 it stopped working in spite of it is unset in istiooperators.install.istio.io as expected.

I am facing the same issue, setting the limit to "null" does not work with version 1.11.3. Did you find any resolution to this?

Stumbled upon a similar issue. In 1.6 it was possible to set proxy.resources.limits to null and it removed limits. After upgrade to 1.7 it stopped working in spite of it is unset in istiooperators.install.istio.io as expected.

@messiahUA I am facing the same issue, setting the limit to "null" does not work with version 1.11.3. Did you find any resolution to this?

unfortunately, no

@awalther52 how you do this?
When i set limits.cpu: null, the cpu limit still uses the default 2000m
When i set limits.cpu: "null" and initially deploy Deployments, I get following error:
request: failed to run injection template: failed applying injection
overlay: unmarshal patched pod: quantities must match the regular
expression '^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$'````

Of course, because "null" is not parsable with the given regex.

When i set the limits.cpu to something regex parsable, then deploy the Deployment, then set limits.cpu: "null", then redeploy the Pod, it works without the error. But this is not the optimal solution for us.
Do you have any hint for me?


Usdc on base goerli

[ ]  add everything else needed for USDC wrapper to sSUD, including a Spot Market for sUSDC
[ ] consider any fees required
[ ] add everything else needed for USDC as collateral in SC Pool

superseded by all in one andromeda config


Update test-network to use org level ca-cert.pem

Although test network scripts functionally worked, they demonstrated
some strange patterns around use of the ca cert.
This change makes it clear that the ca cert is configured and used
at the org level, and not related to any individual peer or orderer node.
Also that when connecting to individual servers, clients can pass the
org level CA cert as the root of trust when establishing TLS connections.
Signed-off-by: David Enyeart<EMAIL_ADDRESS>

@denyeart - good job with this PR.  You must have a bit of a headache after reviewing all the cert usage in context.  👍


Misleading URL

The URL for this page is 'https://docs.microsoft.com/en-us/azure/app-service/containers/quickstart-nodejs'
which suggests the page has information regarding deploying a container to Azure App Service, but that is not the case.

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

ID: 116d6e28-471b-2cf4-3eb8-6249b4ef3016
Version Independent ID: f199d3a2-0c11-e2d6-18f0-d081c76d511d
Content: Create a Node.js in Azure App Service on Linux
Content Source: articles/app-service/containers/quickstart-nodejs.md
Service: app-service-web
GitHub Login: @cephalin
Microsoft Alias: cephalin

@xtellurian Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@xtellurian Hi thanks. Technically it's true because App Service is deploying a built-in Node.js docker image to run the Node.js app in a container. However, you're right that it's not running your custom container. For running a custom docker image, please see: https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-custom-docker-image.
This is our content decision to have built-in and customer image content both under the "container" path. #please-close

@xtellurian We will now proceed to close this thread. If there are further questions regarding this matter,
please reopen it and we will gladly continue the discussion.


Minimize dependencies

This contains

dropping code in test/ and scripts/
go mod tidy

Merging with the understanding that deleted code can be re-added anytime after the dependency architectural question (depend on shepherd or on the whole Rancher) is decided.


Static patient name lookup

Summary
Moves the generation of fake patient names to a dev script rather than during realtime. See this snippet from faker usage docs:

Using the browser is great for experimenting 👍. However, due to all of the strings Faker uses to generate fake data, Faker is a large package. It's > 5 MiB minified. Please avoid deploying Faker in your web app.

This PR listens to them and generates the fake patient names at build time rather than at runtime.
New Behavior
None in the app. New script you can run now npm run build:names
Code Changes

Added scripts/generatePatientNames.ts to generate a list of patient names by gender
Add data/names.ts for lookups
Update util/randomizer.ts and util/fhir.ts to not use faker library and just pull from existing lookup
Move faker to dev dependencies
Add npm script to build patient names
Update build script to run the relevant files in scripts before doing a production build
Add scripts/generatePatientNames.ts to be excluded in typescript compilation so faker doesn't ship with the app

Testing Guidance
Test both npm run build:names and npm run build, you should see the output.
Test creating patients in the app and make sure the names/genders are still randomized and appropriate

@sarahmcdougall I pushed up a fix for the above thread, I'm gonna amend my testing instructions also to say:
npm run build
npm start

This will run the production build of the app, which we should make sure works with the recent tsconfig changes :)


scientific notation for large numbers of reads

command:    bedtools   genomecov   -d   -g genome.size  -ibam in.bam   >  out.cov
genome.size  consists of a single RNA  "myRNA", length = 8 kb nucleotides.
in.bam  contains > 15 million reads aligned to "myRNA".
For some positions on the RNA, there is coverage > 1 million.  But in the coverage file out.cov,  BEDTOOLS  uses scientific notation for the coverage at position with > 1million depth.
ex:

...
myRNA  1238    1.06464e+06
myRNA  1239    1.06471e+06
myRNA  1240    1.06482e+06
myRNA  1241    1.06494e+06
...

Can BEDTOOLS  please be corrected to output the full, exact integer, NOT in exponent notation?
Thank you

Yep, I will look into it.

Any update on this issue?

@camelest  I tried bamCoverage in deepTools.
It generates binned bigwigs, which were sufficient for my purpose.
If you need single bp resolution, the deepTools would not be the option

@hd00ljy Thank you so much for the information. I will give it a try!

@arq5x . what precision do we want for default here? 4, so like 123.4343 ?

@brentp @arq5x I think we want something like 1,064,643 (instead of 1.06464e+06).
(I also had similar problems mentioned here
By the way in a different situation when I perform
bedtools merge -c 5 -o sum -I input.bam
even if the sum exceeds > 1million, I don't find any scientific notation. I'm wondering where the difference comes.

oh. right. I was thinking this was a float. I will make a PR. Thanks for following up.

Thank you so much for your response!

bedtools.static.gz
Hi, care to try out this binary to see if it resolves your issue? Just gunzip, chmod +x and then use as ./bedtools.static genomecov ...

@brentp Thank you so much for your prompt response. I checked it but somehow still found "e"... Is it because I'm applying -5 options?
./bedtools.static genomecov -ibam input.bam -5 -bg -strand + > output.bedGraph
grep "e" output.bedGraph
chr11   65499044        65499045        1.0946e+06
chr19   48965308        48965309        1.24953e+07

Thanks for following up. Indeed, I see why the fix doesn't work. (The ternary must have a fixed type and it still chooses float).

so we can adjust this by messing with the fmtflags. Here is the test code using the number above from @camelest
output is shown after // comment.
#include <cstdint>
#include <iostream>

int main() {
    double f = 12495300.0;
    std::cout << f << std::endl; // 1.24953e+07

    std::cout.setf(std::ios_base::fixed);
    std::cout << f << std::endl; // 12495300.000000

    std::cout.precision(0);
    std::cout << f << std::endl; // 123000000
}

So, we can safely set to std::cout.setf(std::ios_base::fixed); which avoids the scientific notation.
And when scale == 1.0, I think we can't universally set precison(0), but I can add that (and restore default) in functions that should write integers.
@arq5x you ok with this approach?
I would use std::cout.setf(std::ios_base::fixed); in genomeCoverageMain.cpp
and the apply precision(0) and restore default in the appropriate functions.
Or, I could apply fixed and restore default in each function as well.

There are sections like this in ReportGenomeCoverage:
   // loop through the depths for the entire genome
    // and report the number and fraction of bases in
    // the entire genome that are at said depth.
    for (histMap::iterator genomeDepthIt = genomeHist.begin(); genomeDepthIt != genomeHist.end(); ++genomeDepthIt) {
        int depth = genomeDepthIt->first;
        CHRPOS numBasesAtDepth = genomeDepthIt->second;

        cout << "genome" << "\t" << depth << "\t" << numBasesAtDepth << "\t"
            << genomeSize << "\t" << (float) ((float)numBasesAtDepth / (float)genomeSize) << endl;
    }

where we want the floating (or scientfic format) retained. For what I proposed above, we'd always get the float (with apparently 6 decimals of precision) but depending on how we do it, we could get a scientific format in some cases.

I wonder if moving to printf or separate court calls would be better so that we can have fine-scale control over the precision for integers (such as depth) and floats (such as fraction of bases at depth)

Integers are printed as expected. The problem is the scale parameter which turns ints into floats even with it is 1.0.
 It would be really nice if we can choose to output integer as in "precision(0)".

I will make a PR that sets precision(0) where appropriate and when scale == 0. It will reset precision to the default after each function call.

@camelest . I added a test this time for the latest fix, but if you could verify that this works on your data, it would be much appreciated.
bedtools.static.gz

@brentp I tested it and it worked perfect! Thank you so much for your quick solution.
./bedtools.static genomecov -ibam input.bam -5 -bg -strand + > output.bedGraph
grep "65499044" output.bedGraph
chr11   65499044        65499045        1094599


Last row is covered by BottomBar in iOS Safari

It makes the last row unclickable.
Desktop Safari is fine, curiously enough.

As a player you can fix it by expanding the URL bar o_O That moves the content up for some reason.

Middle is at the start. Right is after collapsing the URL bar, left is after re-expanding the URL bar.


fix(versions): update Activiti/activiti-cloud-runtime-bundle-service versions into develop

UpdateBot pushed maven dependency: org.activiti.dependencies:activiti-dependencies to: 7.1.119

UpdateBot commands:
updatebot push-version --kind maven org.activiti.dependencies:activiti-dependencies 7.1.119 org.activiti.api:activiti-api-dependencies 7.1.58 org.activiti.core.common:activiti-core-common-dependencies 7.1.65 org.activiti.build:activiti-parent 7.1.32


Clojurescript + re-frame solution

Here's my commits: https://github.com/decoursin/flux-challenge.
Thank you!

Hi, thanks for the submission.
Problems:
This flickering should not happen when the page is loaded:

And the up scroll button should have been enabled in this case:

The up button is disabled because the up/down buttons are reverse -- what I mean is that, compared to the images on the readme, up goes the other way. So when you're down arrow is disabled, my up arrow is disabled. So it's either a problem that my arrows go the wrong way, or you're ok with it.
I'm a little confused what you mean by flickering. Are you talking about the planets at the top?

You can just compare your submissions to other submissions. They should all work in the same way.

Well, we know they don't all work exactly the same way. Yes, I can change it.


Use GPU when invoking torchani

Dear molssi developers:
I found my workstation is not using GPUs when executing the computing using torchani. Are there some environment variables I need to set?
Here is the code I've used:
import qcengine as qcng
import qcelemental as qcel

mol = qcel.models.Molecule.from_data("""
O  0.0  0.000  -0.129
H  0.0 -1.494  1.027
H  0.0  1.494  1.027
""")
ret = qcng.compute(inp, "torchani")
ret

Here is the output of  ret.provenance:
Provenance(creator='torchani', version='unknown', routine='torchani.builtin.aev_computer', wall_time=0.008759737014770508, cpu='Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz', username='root', hostname='VM-121-111-centos', qcengine_version='v0.20.1')

Context:
I'm using this https://github.com/openforcefield/bespoke-fit package to refit some force filed parameters, when using torchani as the QC backend, it consumes a lot of memory and ran quite slow, so I'm finding ways to move the model to GPU to accelerate the computation.


Change method to determine OS release

/etc/redhat-release is an easily modified and sometimes messed with file, because of older applications my company does modify this file.
It is arguable but one should not assume /etc/redhat-release is correct, only sure fire way is to look at uname output.
This method is reusable on RHEL7 as well where the contents of redhat-release change, just in case we have to update udev on RHEL7.
I tested on:
CentOS 6.5, RHEL 6.5, and Center 7

@MrHyatt Thanks!

@joshsamuelson , no biggie, trivial change, thanks for the merge. Hoping to contribute more, just getting my feet wet.


possible use of pointers to uninitialized memory

Not sure if this is new and/or benign, but this is some output from valgrind when I ran it against shoop (shoop does call udt::init() before anything else):
 - opening UDT connection...--72272-- UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option
--72272-- UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option (repeated 2 times)
--72272-- UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option (repeated 4 times)
--72272-- UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option (repeated 8 times)
==72272== Syscall param socketcall.setsockopt(optval) points to uninitialised byte(s)
==72272==    at 0x1004BE61A: setsockopt (in /usr/lib/system/libsystem_kernel.dylib)
==72272==    by 0x10005E188: CChannel::setUDPSockOpt() (in ./shoop)
==72272==    by 0x10005E05C: CChannel::open(sockaddr const*) (in ./shoop)
==72272==    by 0x100057C44: CUDTUnited::updateMux(CUDTSocket*, sockaddr const*, int const*) (in ./shoop)
==72272==    by 0x100058A0F: CUDTUnited::connect(int, sockaddr const*, int) (in ./shoop)
==72272==    by 0x10005AB6B: CUDT::connect(int, sockaddr const*, int) (in ./shoop)
==72272==    by 0x100055420: udt::UdtSocket::connect::h2a91626526f535c9 (in ./shoop)
==72272==    by 0x10002A8D5: shoop::Client::start::hda7a47089cfa5180 (in ./shoop)
==72272==    by 0x100004AD4: shoop::main::h1fe382b97e9e8cca (in ./shoop)
==72272==    by 0x10007F68A: __rust_maybe_catch_panic (in ./shoop)
==72272==    by 0x10007DCD6: std::rt::lang_start::haaae1186de9de8cb (in ./shoop)
==72272==    by 0x1003125AC: start (in /usr/lib/system/libdyld.dylib)
==72272==  Address 0x1047e593c is on thread 1's stack
==72272==  in frame #1, created by CChannel::setUDPSockOpt() (???:)
==72272==
==72272== Thread 5:
==72272== Conditional jump or move depends on uninitialised value(s)
==72272==    at 0x100069CB6: CRendezvousQueue::updateConnStatus() (in ./shoop)
==72272==    by 0x10006AC75: CRcvQueue::worker(void*) (in ./shoop)
==72272==    by 0x10061499C: _pthread_body (in /usr/lib/system/libsystem_pthread.dylib)
==72272==    by 0x100614919: _pthread_start (in /usr/lib/system/libsystem_pthread.dylib)
==72272==    by 0x100612350: thread_start (in /usr/lib/system/libsystem_pthread.dylib)

You're on OSX, right?

yep, sorry forgot to mention.

If i'm reading this valgrind trace correctly, it looks to be complaining about the optval (2nd from last) parameter of setsockopt.  Since you're on OSX, I think this is the code in question:
https://github.com/eminence/udt/blob/master/udt4/src/channel.cpp#L143-L149
      // BSD system will fail setsockopt if the requested buffer size exceeds system maximum value
      int maxsize = 64000;
      if (0 != ::setsockopt(m_iSocket, SOL_SOCKET, SO_RCVBUF, (char*)&m_iRcvBufSize, sizeof(int)))
         ::setsockopt(m_iSocket, SOL_SOCKET, SO_RCVBUF, (char*)&maxsize, sizeof(int));
      if (0 != ::setsockopt(m_iSocket, SOL_SOCKET, SO_SNDBUF, (char*)&m_iSndBufSize, sizeof(int)))
         ::setsockopt(m_iSocket, SOL_SOCKET, SO_SNDBUF, (char*)&maxsize, sizeof(int));

It appears that both m_iRcvBufSize, m_iSndBufSize (initialized in the constructor) and maxsize are both initialized.   Do you see anything that I might be missing?

on linux it's fine, wondering if this is a valgrind OS X issue... I don't see anything missing in what you're saying.


Document unwinding ABI extern "C"

The current documentation of the extern "C" ABI in the reference says:

extern "C" -- This is the same as extern fn foo(); whatever the default your C compiler supports.

When it comes to whether C functions can unwind, the C compiler defaults on most platforms is that these cannot unwind. An exception is MSVC, where AFAICT all functions can always unwind (e.g. even C++ noexcept functions are allowed to be unwound by specific exceptions like, e.g., the one thrown by longjmp).
If this is actually the intended behavior we probably should not emit nounwind for extern "C" functions on Windows. That would have fixed https://github.com/rust-lang/rust/issues/48251 in a different way since that would have allowed longjmps from C into Rust. In the LLVM issue different strategies to allowing nounwind there but fixing things at the LLVM level are being discussed: https://bugs.llvm.org/show_bug.cgi?id=36508.
So as written, whether extern "C" functions can unwind is platform dependent. Is this the intended behavior ? If so, we should clarify this. The earliest I can trace this documentation is https://github.com/rust-lang-nursery/reference/commit/3461ff1feb4956f168c74c9a906af2c61410b080
cc @Centril @nagisa @eddyb

That's an awfully vague description in the reference....
I don't think emitting nounwind should be platform dependent.

So I just checked and MSVC does enable unwinding by default for C code: https://gcc.godbolt.org/z/-1Yu7T

I don't think emitting nounwind should be platform dependent.

Note that emitting nounwind might not need to be platform dependent to support what the reference currently says. Apparently, nounwind does not mean "does not unwind", but rather "does not unwind in certain specific ways that are platform dependent". So for MSVC targets, nounwind functions can actually unwind in some ways, and that's ok according to LLVM.


Is there 'finding lines in all buffers" in addition to FzfPreviewLines?

Hi, I'm really enjoying fzf-preview. Thanks for this valuable project!
FzfPreviewLines seems for finding lines in current buffer. Is there a similar command but for finding lines in all loaded buffers?
I found that, in junegunn/fzf.vim, there are
:Lines [QUERY] | Lines in loaded buffers
:BLines [QUERY] | Lines in the current buffer

As I thought, implementation including preview may take a little time.
I will consider implementing it in the future.
Thanks.

Here is another interessed one!

Same here

Add FzfPreviewBufferLines command from #104


Exp15: NVP_4 vs NVP_5

While we are still trying to compare NVP_4 to our base NVP, it is also worth taking a look at NVP_5 (#39) which forfeits the texture resolution phase of the network. Similar to the configuration in Exp14 (#35) we will run NVP_5 under the same hyper-parameters. Tensorboard event history will also be copied from the results of #35 in order to more easily compare as training progresses.

Trial in progress

Trial completed and NVP_4 easily defeats NVP_5. With that being said, it's worth noting that NVP_4 has ~1.1mil more parameters (in the encoder) than NVP_5. Further study should be done on whether these parameters are better spent in a resnet configuration or in the texture resolution configuration that NVP_4 currently employs.
It's also worth considering whether the decreased parameter count of NVP_5 would call for a decreased learning rate as well, and that consequently the learning rate was set too high leading to poor performance. Both should be tested.


About data processing

Warm greeting
I am new user i am doing data processing
LC-MC/MS data
I have done preprocessing.
I have searched many databases but targetted class of compounds ie diterpenoid alkaloids are not found in any freely available database
so i have to do it manually by searching fragments
so is there any option that i can get list of Molecular ion peak and corresponding fragment details in any file.
Just as in export feature list we get Excel sheet (gnps format) having RT M/Z AND AREA , so is there any option where fragments are also mentioned?

Hi, the fragments are in the .mgf file created during the gnps export.


[#1690] improvement(core): Make the value of entity more readable in log

What changes were proposed in this pull request?
Decode the byte array to entity and corresponding type and creation time.
Why are the changes needed?
To make logs easier to read.
Before:

Physically delete key that has newer version: ml/ _\xC00\xAF?\x99\xA3\x1F\xF9\xCB\x14?W\x17\xE6\x0B, a newer version ml/ _\xC00\xAF?\x99\xA3\x1F\xF9\xCB\x14=0\xBB\xA4\xA9

after:
name identity: 'test_2019', entity type: 'METALAKE', createTime: '2024-01-24 21:27:50(1706102870533)', newVersion createTime: '2024-01-24 21:28:04(1706102884326)', key: 'ml/\x06\xC6\x1E\xD7\x85Z\xC3\xC3\x1F\xF9\xCB\x11`\xB7\xEB\xFE\x0C', newVersion key: 'ml/\x06\xC6\x1E\xD7\x85Z\xC3\xC3\x1F\xF9\xCB\x11_\xE0g\xFC\xE0'

Fix: #1690
Does this PR introduce any user-facing change?
N/A
How was this patch tested?
Not yet.

Blocked by #1664


Fixes #19 Breaking test suite test_support becomes test.support in py3

Use sys.version_info to determine use of test_support
Use test.support from python3 as test_support

This issue was mentioned by @irl and I believe this is a required patch. 😄

Hi @sudheesh001, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Sudheesh Singanamalla). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

Can you do try catch instead of version checking, in case this becomes a problem in python 4?


unable to burn SRT to video file

For the past few months, I've been going through my library burning any forced English subs. It's been great so far, until today. I've tried burning this SRT on two separate machines now -- the primary one that I've been using is Windows 7, but I also tried with latest updates on my MBP running macOS 10.14.2.
Here is the log from the last failure.
Any help is greatly appreciated, as is the toolset in general.

@seventhaxis Thanks! I'm glad you find my tools useful.
Unfortunately, I don't see anything wrong in your .log file. This line:
[15:51:43]  * subtitle track 1, Unknown [SRT] (track 0, id 0xff, Text) -> Render/Burn-in, offset: 0, charset: ISO-8859-1

... indicates that your .srt file was correctly burned into your video. Do you not see any subtitle at all?
It would help if I could see the command line you used and if you could attach the .srt file here.
Thanks.

Thanks @donmelton for your quick reply. I do not see any burned subs when viewing the file. The subtitle file I am using is archived and attached, and below is the command args I'm using for this (and other) executions:
transcode-video --no-log -q --target big --no-auto-burn --burn-srt "Subtitles\Television\Silicon Valley\s04e10.Server Error.srt" path\to\video.mkv

@seventhaxis Thanks the extra information! Unfortunately, nothing stands out as being a problem. So I have no idea why it wouldn't be working.
I'll try to burn your subtitle into a different piece of video to see what happens once I'm back at my development machine.

Thanks @klogg416 -- yeah I'm trying to put as much effort into making sure each file is perfect, so I'm definitely aligned with your thinking. After extracting the subtitles, I go in and proofread, then I make sure the timestamps align with the speaking.
For this specific SRT file, if I am playing the video within VLC and import the subtitles, they work fine. It's only when attempting to burn them that I'm not seeing anything. I checked a lot of the video to see if maybe they were displaying elsewhere, but I couldn't find anything.

Sorry for dealy boys. I'm not sure about your --bind-srt-encoding utf-16le an whether it will work - what I have done is that I just double check an SRT file before using it. It's funny that I lasted all this time without hitting one of the Endian files. Shrug, what can you do.
Thanks again!

Hope all is well @donmelton. So I'm having the same issue, only this time I feel like I ensured the SRT is encoded to UTF-8. If you have the time, please see the attached log file and let me know what you think is going on.
Log File

@seventhaxis Welcome back! When you write "the same issue," do you mean that the subtitle is not being burned or that the text looks missing or that it looks garbled or what?
Because there doesn't appear to be anything odd that I can see in your .log file. Your subtitle is being interpreted in ISO-8859-1 format (i.e. latin1) and correctly burned into your video. Have you tried adding --bind-srt-encoding utf adding to your command line?

Wow, thanks for the quick reply @donmelton -- always super impressed. Seriously, where's the tip jar?
Yeah I meant that it's not being burned to the output file. I'm attaching another log from a subsequent try this morning and the SRT I used.
Avengers.Infinity.War.2018.log
Avengers - Infinity War (2018).srt.zip
Is that param being used in place of '--bind-srt' or in addition to? For example, if I use the following command...
'transcode-video --no-log -q --target big --no-auto-burn'
...would I just append that at the end there before specifying the target MKV file?

@seventhaxis No problem. That's what I'm here for. :) And sorry for the delay this time but I just got up.
Looking at your .srt file:
0
00:00:00,000 --> 00:00:00,000

1
01:37:46,579 --> 01:37:47,905
Of course, brother.

...It appears to contain an empty subtitle at the beginning which might be confusing HandBrake. Have you tried deleting that? I just OCR-ed the forced subtitle in my copy of "Avengers_ Infinity War (2018)" and it doesn't contain that "0" entry.
The --bind-srt-encoding option would be used immediately after the --burn-srt option, which you seem to be doing. But the .srt you included appears to be in utf8 format anyway so it's unnecessary.
My apologies for the error that you saw! I made a typo in my haste to write that previous comment. The command should have been: --bind-srt-encoding utf8
Also, you should know that always adding --no-log -q to your transcode-video command line is not a good idea since you will never be aware of certain problems that can occur during transcoding.
I'm burning your subtitle now into my copy of "Avengers_ Infinity War (2018)" to see what happens. Stay tuned...

Okay thanks for the update - of course this is no rush! Yeah for most of my subs I add an empty 0 line but I can try without. Will report back.

@seventhaxis Don't edit those blank lines from your subtitles yet. Because you probably need to edit something else.
Your original subtitle didn't burn for me either. But it wasn't because of the empty line. I just noticed your subtitle contained bogus characters between the line feed and the 1 to start the actual subtitle.
Here's the output of hexdump -C on your subtitle file:
00000000  30 0a 30 30 3a 30 30 3a  30 30 2c 30 30 30 20 2d  |0.00:00:00,000 -|
00000010  2d 3e 20 30 30 3a 30 30  3a 30 30 2c 30 30 30 0a  |-> 00:00:00,000.|
00000020  0a ef bb bf 31 0a 30 31  3a 33 37 3a 34 36 2c 35  |....1.01:37:46,5|
00000030  37 39 20 2d 2d 3e 20 30  31 3a 33 37 3a 34 37 2c  |79 --> 01:37:47,|
00000040  39 30 35 0a 4f 66 20 63  6f 75 72 73 65 2c 20 62  |905.Of course, b|
00000050  72 6f 74 68 65 72 2e 0a                           |rother..|
00000058

On line 00000020 you can easily see  ef bb bf, a string of bogus characters, between the 0a of the linefeed and the 31 of the number 1.
Editing this out with BBEdit results in the subtitle being burned. Problem solved.
So, how did you get this subtitle?

I got this by using mkvextract on the file and targeting the forced subtitle.

@seventhaxis Sorry I took so long to respond. AFK for most of the morning.
So this was a movie you got from Uncle Torrance instead of a Blu-ray rip? The usual way that happens is that the file has already been transcoded from someone else's Blu-ray rip. Which means that burning the subtitle is not a good idea. I would suggest that you don't bother transcoding this movie.
I've never used the Atom editor on macOS because of its poor reputation about memory footprint and performance. But if the Atom editor is not showing you at least some kind of character that you can delete in front that 1 in your .srt file, then I would certainly use a native editor like BBEdit instead.

Could you go into more detail as to why retranscoding my Uncle’s file is not a good idea? I’ve honestly been using this method for a few months now, on over 500 video files because it reduces the file size and I can hardcore the English subtitles into the movie.

@seventhaxis Every time you transcode, you degrade quality. That's the problem. But if you're able to significantly reduce the bitrate, it might be worth that depending on your storage needs.
However, I notice that you're using --target big on your command line. Which means for 1080p content, you're probably not saving more than about one third in bitrate when applied to the typical files available from our favorite uncle.
Just out of curiosity, with what are you viewing your video library? Plex or maybe Kodi?

Plex. Your tools here are consistently able to save about half the space while maintaining a 8-9 Mbps rate.
I realize this is getting a bit off-topic, but should I just forego all this retranscoding effort? If so, how do I effectively manage subtitles? I love having them burned in and not having to juggle the dozens of different kinds per file.

@seventhaxis No problem. Off-topic is allowed. :)
If you have subtitles in a test-based format (like .srt, .ssa, etc.), either within your video file or externally as a separate file, then Plex can display them for you without re-transcoding depending on your player.
See: https://support.plex.tv/articles/200471133-adding-local-subtitles-to-your-media/
Are you using a Roku or other device like that? If so, it can handle text-based subtitles easily.

Thanks man. Yeah I’ve been using Plex for a long time. I got tired of my uncle not having standardized audio codecs, dozens of unnecessary subtitles attached, and sometimes those subs are just wrong.
I guess I can look for another solution. Does mkvextract allow you to remove embedded sub files?
For example, I would watch a movie and realize 3/4ths through the movie that I DID actually need subs on for the foreign parts. Hard coding it gave me a chance to proofread before burning them.
What is your opinion?

@seventhaxis The mkvextract tool is for, well, extracting tracks as the name implies. But if you want to actually remove tracks then you need to remux your movie without those tracks using mkvmerge, essentially creating a whole new new, smaller movie.
I just let Plex handle any file I get from Uncle Torrance automatically since those usually don't require the video track to be dynamically transcoded. Even a puny NAS device running Plex server can usually handle dynamic audio transcoding without too much effort.
I only transcode my Blu-ray and DVD rips. My two cents.

Thanks @donmelton. I'm going to have to sit and think about this one. I don't want to waste my time but it seems like if the guy that created these tools says not to use them in this scenario, I need to defer to the expert hah!
As always, thanks for your help and all the best in the world.

@seventhaxis LOL! :) You are very welcome, sir.


Using Alterx as library is not generating any permutations

Description
When using the alterx as a library to generate subdomain wordlists, it appears to be generating zero permutations. I'm using the example code provided in alterx's repository i.e., https://github.com/projectdiscovery/alterx/blob/main/examples/main.go
Screenshot:

P.S.: I can't run with verbose mode as Options struct doesn't have the Verbose field.

Thanks for opening this issue. I updated the example code, see at https://github.com/projectdiscovery/alterx/pull/51.

Damn! I should've stared at code a little longer to find the real culprit. 😶🌫 Thanks for your help @dogancanbakir!


Problem Swift 2.3

Here the problems:

ERROR: RoundedLoader.swift:68:26: Method does not override any method from its superclass

override public func animationDidStop(anim: CAAnimation, finished flag: Bool) {
        guard animate, let key = anim.valueForKey("animation") as? String else { return }
        if key == "up" {
            startMoving(up: false)
        }
        else if key == "down" {
            startMoving(up: true)
        }
        if key == "rotation" {
            startswinging()
        }
    }

PlainLoader.swift:46:26: Method does not override any method from its superclass

override public func animationDidStop(anim: CAAnimation, finished flag: Bool) {
        guard animate, let key = anim.valueForKey("animation") as? String else { return }
        if key == "up" {
            startMoving(up: false)
        }
        else if key == "down" {
            startMoving(up: true)
        }
        if key == "rotation" {
            startswinging()
        }
    }

ERROR: FillableLoader.swift:315:34: Cannot assign value of type 'FillableLoader' to type
'CAAnimationDelegate?'

internal func startMoving(up up: Bool) {
        if (progressBased) { return }
        let key = up ? "up" : "down"
        let moveAnimation: CAKeyframeAnimation = CAKeyframeAnimation(keyPath: "position.y")
        moveAnimation.values = up ? [loaderView.frame.height/2 + rectSize/2, loaderView.frame.height/2 - rectSize/2 - extraHeight] : [loaderView.frame.height/2 - rectSize/2 - extraHeight, loaderView.frame.height/2 + rectSize/2]
        moveAnimation.duration = duration
        moveAnimation.removedOnCompletion = false
        moveAnimation.fillMode = kCAFillModeForwards
        moveAnimation.delegate = self
        moveAnimation.setValue(key, forKey: "animation")
        shapeLayer.addAnimation(moveAnimation, forKey: key)
    }

ERROR: FillableLoader.swift:337:35: Cannot assign value of type 'FillableLoader' to type 'CAAnimationDelegate?'

internal func startswinging() {
        let swingAnimation: CAKeyframeAnimation = CAKeyframeAnimation(keyPath: "transform.rotation.z")
        swingAnimation.values = [0, randomAngle(), -randomAngle(), randomAngle(), -randomAngle(), randomAngle(), 0]
        swingAnimation.duration = 12.0
        swingAnimation.removedOnCompletion = false
        swingAnimation.fillMode = kCAFillModeForwards
        swingAnimation.delegate = self
        swingAnimation.setValue("rotation", forKey: "animation")
        shapeLayer.addAnimation(swingAnimation, forKey: "rotation")
    }

ERROR: WavesLoader.swift:101:26: Method does not override any method from its superclass

override public func animationDidStop(anim: CAAnimation, finished flag: Bool) {
        guard animate, let key = anim.valueForKey("animation") as? String else { return }
        if key == "up" {
            startMoving(up: false)
        }
        else if key == "down" {
            startMoving(up: true)
        }
        if key == "shape" {
            startWaving()
        }
        if key == "rotation" {
            startswinging()
        }
    }

ERROR: WavesLoader.swift:39:34: Cannot assign value of type 'WavesLoader' to type 'CAAnimationDelegate?'

internal func startWaving() {
        let waveAnimation: CAKeyframeAnimation = CAKeyframeAnimation(keyPath: "path")
        waveAnimation.values = shapesArray(7)
        waveAnimation.duration = 2.0
        waveAnimation.removedOnCompletion = false
        waveAnimation.fillMode = kCAFillModeForwards
        waveAnimation.delegate = self
        waveAnimation.setValue("shape", forKey: "animation")
        shapeLayer.addAnimation(waveAnimation, forKey: "shape")
    }

ERROR: SpikeLoader.swift:62:26: Method does not override any method from its superclass

override public func animationDidStop(anim: CAAnimation, finished flag: Bool) {
        guard animate, let key = anim.valueForKey("animation") as? String else { return }
        if key == "up" {
            startMoving(up: false)
        }
        else if key == "down" {
            startMoving(up: true)
        }
        if key == "rotation" {
            startswinging()
        }
    }

FillableLoaders still does not support 2.3


Need help on MAC OS.

Skype meetings app running on MAC OS, unable to see the desktop the meeting starter is sharing.

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

ID: 7ce7a531-5b1f-f404-50a3-58eb285a0a1a
Version Independent ID: 61d27af3-cfd6-ed7f-102c-072721db0209
Content: Plan for Meetings clients (Web App and Meetings App)
Content Source: Skype/SfbServer/plan-your-deployment/clients-and-devices/meetings-clients.md
Product: skype-for-business-itpro
GitHub Login: @jambirk
Microsoft Alias: jambirk

Thank you for this feedback and for contributing to the wellness of the content! This is a good idea and we have added it into our backlog for triage and prioritization.

@nsshommo I have consulted with the PM for this and it's advised that if you are still having this desktop issue with Mac OS then to contact your helpdesk for assistance.


More file extensions to exclude

There's no limit to extensions we can blacklist but our aim is to block the most common ones.

There's no limit to extensions we can blacklist but our aim is to block the most common ones.

woff and woff2 are common, you can find them almost everywhere, and they contain nothing special.


Handle EXTENDED_ARG

The assembler should be able to handle large arguments and insert EXTENDED_ARG instructions as needed, updating jump locations as it goes. This requires a rewrite of the (currently very simple/sloppy) system which believes that each instruction takes 2 bytes.
I think it also makes sense not to have the assembly language itself accept EXTENDED_ARG as an instruction in the source, but to assemble them as needed based on the arguments provided and locations.

First attempt in 7125cf9, needs more testing but it could be ok...

On second thought, it would be a good idea to allow EXTENDED_ARG so that people can experiment and break things, as well as potentially allow for dumping in the output of the dis module and making their own changes.
For the dis module output, EXTENDED_ARG is present, but argument values are given as > 255. There could be a .noextend directive that simply truncates arguments over 255. This would allow for using dis output assuming junk before the instruction is ignored.

A better option than .noextend might be to wrap dis.dis and munge the output into the assembler format, adding consts, names, etc, and leaving arguments as numerical values.


Allow user-specification of TLS provider

#501 adds support for using OpenSSL for TLS instead the JDK (via Netty ALPN).  The current PR tries OpenSSL first, falling back to JDK if OpenSSL support isn't available.
It would be helpful to have a configuration value to specify the TLS transport which should be used, raising an exception if it's unavailable (rather than falling back on a slower method).

gRPC configuration was malleable enough to make this work.  We ought to have this available some time today.

By default, tcnative is chose if both are configured.  Any code we write is going to be more confusing than test code managing the inclusion of the tcnative jar.


Fix/add filter translations

Pull Request Template
Issue Overview
This PR addresses #issue

[x] This change addresses the issue in full
[ ] This change addresses only certain aspects of the issue
[ ] This change is a dependency for another issue
[ ] This change has a dependency from another issue

Description
Added translations for most of the filter text.
Still need to add in the labels/values: studio, any, and the DAHLIA link text. This will be done in another PR. (I added the translations in this PR, but need to use t() to reference them in a new PR.)
Listings filter:

Landing filter:

How Can This Be Tested/Reviewed?
View the files for the changes. Can also run the public site and change the languages on the Landing & Listings page & verify that the filters are translated.
Checklist:

[x] My code follows the style guidelines of this project
[ ] I have added QA notes to the issue with applicable URLs
[x] I have performed a self-review of my own code
[x] I have reviewed the changes in a desktop view
[x] I have reviewed the changes in a mobile view
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[x] I have assigned reviewers
[ ] I have run yarn generate:client and/or created a migration if I made backend changes that require them
[ ] My commit message(s) is/are polished, and any breaking changes are indicated in the message and are well-described
[ ] Commits made across packages purposefully have the same commit message/version change, else are separated into different commits

Reviewer Notes:
Steps to review a PR:

Read and understand the issue, and ensure the author has added QA notes
Review the code itself from a style point of view
Pull the changes down locally and test that the acceptance criteria is met
Also review the acceptance criteria on the Netlify deploy preview (noting that these do not yet include any backend changes made in the PR)
Either explicitly ask a clarifying question, request changes, or approve the PR if there are small remaining changes but the PR is otherwise good to go

On Merge:
If you have one commit and message, squash. If you need each message to be applied, rebase and merge.

Should we add replacements for (For San Francisco listings, please go to DAHLIA) ?


[Improve] add test case

Purpose of this pull request
add test case https://github.com/apache/seatunnel/pull/6521

Does this PR introduce any user-facing change?

How was this patch tested?

Check list

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

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

[ ] Update the release-note.

@Hisoka-X PTAL


Remove go back from UnknownError component

Purpose

Remove go back from UnknownError component.

Goals

Remove go back from UnknownError component.

Approach

Remove go back from UnknownError component.

User stories

N/A

Release note

N/A

Documentation

N/A

Training

N/A

Certification

N/A

Marketing

N/A

Automation tests

Unit tests

N/A

Integration tests

N/A

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? yes
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

Samples

N/A

Related PRs

N/A

Migrations (if applicable)

N/A

Test environment

N/A

Learning

N/A

Codecov Report

Merging #165 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #165      +/-   ##
==========================================
+ Coverage   13.96%   13.97%   +<.01%
==========================================
  Files          59       59
  Lines        2284     2283       -1
  Branches      426      426
==========================================
  Hits          319      319
+ Misses       1777     1776       -1
  Partials      188      188

Impacted Files
Coverage Δ

...portal/src/components/common/error/UnknownError.js
30% <100%> (+2.72%)
:arrow_up:

Continue to review full report at Codecov.

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


Update README.md

Introduced my self

created a branch, created a file and made a commit, and opened a pull request.


Use samalba/dockerclient instead of templating docker run commands for Swarm

See: https://github.com/docker/machine/pull/2202#issuecomment-154512024
We used a template which was pretty effective for getting started to run Swarm containers but, as noted in the linked issue, it is not compiler-safe and also is slightly hacky.  Using Sam's Docker client library would be preferable.

closed with https://github.com/docker/machine/pull/2521


When writing native js, the spell check works, but the car error does not work

like this.

I don't understand what you're asking.

I don't understand what you're asking.
Error checking doesn't work. It's an undefined variable, and logically speaking, an error should be reported, right?


non-consumable product

how to check product is purchased or not

Have a look at the documentation:
https://danielsaidi.github.io/StoreKitPlus/documentation/storekitplus/getting-started/


Create Notifications

please add Notifications to side menu https://zpl.io/a80gDpx
create Notifications item in Settings https://zpl.io/awkRBAM and https://zpl.io/290QGYW
create Notifications screen https://zpl.io/aMgOdd7 . All read notifications https://zpl.io/VKzxlmE
create Notification details view for "update" notification https://zpl.io/a808NWg
create Notification details view for "in the press", "hot news" etc.. https://zpl.io/2G08KZE
after tap on "address" notification - open screen with address details https://zpl.io/2pJwAJy
after tap on "transaction" notification - open screen with transaction details https://zpl.io/bej7Wkm
Empty notifications screen https://zpl.io/adJdPXe
when privacy mode is on do not show amounts on notifications https://zpl.io/25BPwm0

When open Notifications first time new notifications should be highlighted (as on design https://zpl.io/aMgOdd7). Notifications become read when user open it or if he goes to another screen and then come back (https://zpl.io/VKzxlmE).
In-app notification https://zpl.io/25BRje3

news
updates (if the app do not update automatically after 1-2 days)

Push notification https://zpl.io/2G0Kqn3

transactions (send, receive, failed)
AS (completed, failed, expired)
addresses (expired)

all screens here https://app.zeplin.io/project/5c73dc8aa74b4b4085a86a91/dashboard?seid=5ea6f40291822a2631a16cea

We need to remove the switcher "Address expiration", but notification of the expiration address to leave.

When the user selects "expired address now", the push notification is not displayed, but the notification is displayed on the notification screen as implemented in the desktop wallet.

Design for notification settings was also updated https://zpl.io/V4BmGdN

checked


Kubernetes DNS doesn't resolve external DNS addresses

Just upgraded to current master and login seems to have broken. Getting the same failure from both the APi through the browser and from pachctl (which makes sense: this is a pachd issue):
$ pachctl auth login
(1) Please paste this link into a browser:

https://github.com/login/oauth/authorize?client_id=d3481e92b4f09ea74ff8&redirect_uri=https%3A%2F%2Fpachyderm.io%2Flogin-hook%2Fdisplay-token.html

(You will be directed to GitHub and asked to authorize Pachyderm's login app on Github. If you accept, you will be given a token to paste here, which will give you an externally verified account in this Pachyderm cluster)

(2) Please paste the token you receive from GitHub here:
<MY_GITHUB_TOKEN>
error authenticating with Pachyderm cluster: rpc error: code = Unknown desc = error getting the authenticated user: Get https://api.github.com/user: dial tcp: lookup api.github.com on <IP_ADDRESS>:53: read udp <IP_ADDRESS>:44888-><IP_ADDRESS>:53: i/o timeout

It turns out that this login issue is a symptom of a larger issue that we've been struggling with for a while: when we deploy kubernetes in docker on our local machines, it uses its own kuberenetes-internal DNS server, which can resolve domains inside the cluster (e.g. for StatefulSets) but can't resolve domains outside the cluster

One fix: set the --cluster_dns flag in etc/kube/internal.sh to <IP_ADDRESS> (Google's public DNS server). The line to modify is: https://github.com/pachyderm/pachyderm/blob/master/etc/kube/internal.sh#L10

One fix that worked for me at about a year ago (I've been using kubernetes in minikube since then, which seems to handle internal and external DNS resolution by default) is to comment out dns=dnsmasq in /etc/NetworkManager/NetworkManager.conf, and then restart network-manager (sudo service network-manager restart), kubernetes, and docker

What's the status here?

It's a configuration bug / edge case w k8s. It happens when you run
dockerized k8s locally and are also trying to use enterprise auth features.
So I think our team is probably the only folks in the intersection of those
groups. (This shouldn't be an issue for any cloud deployments w ent auth
login).
I've hit and Matt has hit it. I usually opt for the <IP_ADDRESS> workaround.
I'm not sure how many users run dockerized k8s locally. And if they do, I'm
not sure how they run it (they might use our make task or not).
I think we can close this.
On Fri, Oct 20, 2017 at 5:37 PM, Joey Zwicker<EMAIL_ADDRESS>wrote:

What's the status here?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pachyderm/pachyderm/issues/2279#issuecomment-338351462,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkfwYeNxylSwVD86oMVKD5PgZ9rz97zks5suTzjgaJpZM4PVJFb
.

Leaving this here as a breadcrumb ... I'm now seeing this on k8s 1.7 w minikube running on my local machine w --vm set to none.
The solution posted here
Basically ...
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved

and edited /etc/resolv.conf to contain only:
nameserver <IP_ADDRESS>

Worked for me. (I did have to restart minikube).

@sjezewski  - How were you able to get that to work?  My minikube overwrites all settings on boot, including changes to systemd  (I'm on k8s 1.8 w/ a Hyper-v VM driver)

I don't have a perfect solution yet ... I'm doing it as needed (I don't reboot that often), though you could add it to a startup script somewhere.


There is no Migrate method.

Using Microsoft.EntityFrameworkCore.SQLite nuget v2.2.1 on a .Net Standard 2.0 project you reference as the "data model" project.  It contains a class called "DataContext" who inherits the dbContext class.  Successfully create the initial migration.  In my UWP application, in the constructor of app.xaml.cs, I create an instance of my "DataContext" class, assign it to the db variable and call "db.Database.Migrate()".  A CS1061 error indicates (translated) "'DatabaseFacade' does not contain a definition for 'Migrate'".  Suspecting that a partial class should have been created with this method somewhere during the initial migration, I searched the whole solution for a migrate method and could not find any.

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

ID: 439f9dd7-6fff-f3af-15a3-c4f407e2c041
Version Independent ID: 2779bb58-f0af-c9ee-cf40-50e24371a7fc
Content: Getting Started on UWP - New Database - EF Core
Content Source: entity-framework/core/get-started/uwp/getting-started.md
Product: entity-framework
GitHub Login: @rowanmiller
Microsoft Alias: divega

Got it...  I did not typed the "using Microsoft.EntityFrameworkCore;" in the app.xaml class.  I suggest to accentuate the need for it.

Duplicate of #481