Support NetCore for SqlAppAuthenticationProvider

There is currently not a good way to pass Azure SQL authentication tokens through EF Core initialization processes. A major obstacle has been lack of support for configuring async authentication delegate or similar in SqlClient. SqlAppAuthenticationProvider now offers a solution to avoid configuring tokens entirely, and addresses the async issue in a robust manner, but it is not available for ASP.NET Core.
I'd like to see NETSTANDARD2.0 and/or other NetCore-target compilation directives in the SqlAppAuthenticationProvider project. For example: https://github.com/syndicatedshannon/azure-sdk-for-net/commit/57e3dd6fea23d2cefcf04508dcbc5f88b7d221a0 (note this approach depends on the Microsoft.Data.SqlClient library, as opposed to System.Data.SqlClient).
The previously-explored alternatives specific to EFCore are discussed fairly thoroughly here:
https://github.com/aspnet/EntityFrameworkCore/issues/13261

Thank you for filing this issue and all the work you have done! I'm in SQL DB team, please bear with me while I who has more expertise in SqlAppAuthenticationProvider so that we can make progress here.

@syndicatedshannon Thank you for your suggestion, but unfortunately it is currently not possible for SqlAppAuthenticationProvider to support NetCore due to critical dependencies that NetCore is missing, as you have pointed out. More specifically, SqlAppAuthenticationProvider has strong dependencies on the new SqlAuthenticationProvider functionality in System.Data.SqlClient that was introduced in  .NET Framework 4.7.2, that allows it to be registered as an authentication provider through just a configuration change.
So the best way forward is to ensure continuing development into the feature parity between .NET and NetCore's SqlClient such that there could be a NetCore implementation of SqlAppAuthenticationProvider in the future. I will certainly pass your request along, as I would like to see this functionality in NetCore as well.

@nonik0 I'm sure you are correct and I'm overlooking something, but I expected you to cite a different obstacle, and don't understand the one did you cite.
I understood that the SqlClient track was being moved out to Microsoft.Data.SqlClient to permit more frequent updates, independent of System assembly releases. This specific functionality does currently have parity in that new track. EF Core 3.x is also dependent on that track. That's why my cheap hack shown in the diff above works. It looks like it should also support NetFX, being dependent on NETSTANDARD2.0.
So I don't understand your comment exactly as it's written. But again, I wouldn't be surprised to find I've overlooked or misunderstood a dependency somewhere. Or perhaps I misunderstand the nature of the Microsoft.Data.SqlClient track.
I had instead expected to hear that there were breaking changes in the move to Microsoft.Data.SqlClient, and they were WIP. Or that this new SqlClient has another breaking dependency.

@syndicatedshannon Thanks for your reply, and I apologize for not fully looking further into Microsoft.Data.SqlClient in my initial response. Based off this blog post, it looks like I may be wrong and you are correct here in regards to what parity currently exists.
Moving forward, I will allocate some time soon to investigate further and see what we can do to bring more feature parity for SqlAppAuthenticationProvider to .NET Core.

Hi!
Microsoft.Data.SqlClient will soon be supporting "Active Directory Managed Identity" authentication mode (WIP https://github.com/dotnet/SqlClient/issues/616) that'll apply to .NET Framework, .NET Core and .NET Standard without any customization/override needed.
Also System.Data.SqlClient (.NET Core) does not support AD authentication modes - making the override impossible, so transition to Microsoft.Data.SqlClient would be needed in any case.

The AppAuthentication library has reached end-of-life and is no longer maintained or supported.   Alternatives for using Azure AD with SQL Server can be found in Connect to Azure SQL with Azure AD authentication and SqlClient.
Closing this out.


Generate Secrets in custom PLIST

Instead of doing this, might be a good idea to generate the secrets similarly to this so that nobody can do anything malicious.
Due to the nature of secret generation, @rnystrom would have to take this one on and instruct contributors to generate their own personal clientId/secret for their use.

I used to have this file checked in w/ some placeholders, then I moved it and all my secrets are out (oh no).
Cool script! I like this.

Could probably even leave the debug secret checked in, since it won't hit prod

Justed used bfg to strip secrets from git history and removed Secrets.swift from git index. Should be g2g now.


Add Lattice PK static test

Pull Request Test Coverage Report for Build 2

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

Totals

Change from base Build 1:
9.9%

Covered Lines:
67

Relevant Lines:
67

💛  - Coveralls


System mode does not work on macOS

Describe the bug
When I launch my app on macOS and set the mode to system, the theme is not matched to the macOS system theme. The system theme works fine on Android and iOS.

@friebetill This has been recently fixed. Which version are you using?

I am using the latest version 2.2.0. Restarting the app with the macOS dark theme active, doesn't solve the problem either.

@friebetill Interesting!

Please share example code to reproduce this.
Please share steps to reproduce

I have found the error in my code 🙈
Thank you for your attention!


Dual axis chart color

SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Assuming this isn't going forward after this amount of time and no PR description, but please feel free to re-open if this is something you want to pursue!


Travel management

Have you read the Contributing Guidelines ?
(Write your answer here.)
Description
(Write your answer here.)
Fixes #713

Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
(Write your answer here.)

@DragonUncaged Is this a website ? or a desktop application

@DragonUncaged Is this a website ? or a desktop application

Website

@DragonUncaged Is this a website ? or a

it is Website.
So i will add it in advanced web development

So why you add this one in desktop ?
No just add this one under intermediate(web development)

@DragonUncaged Is this a website ? or a

it is Website.
So i will add it in advanced web development

So why you add this one in desktop ? No just add this one under intermediate(web development)

Added


Problem making a request through the gatekeeper

I'm having problems making requests through the gatekeeper.
I try this command:
"id="003";h64=$(echo -n "{"alg":"HS256","typ":"JWT"}" | base64);p64=$(echo -n "{"id":"$id","exp":$((date +"%s"+10))}" | base64);k="b9b8d527a1a27af2ad1697db3521f883760c342fc386dbc42c4efbb1a4d5e0af";s=$(echo -n "$h64.$p64" | openssl dgst -hmac "$k" -sha256 -r | cut -sd ' ' -f1);token="$h64.$p64.$s";curl -v -H "Authorization: Bearer $token" -k https://<IP_ADDRESS>/v0/getbestblockinfo"
but I get "404 page not found" error. All the log here [0].
If I make the call direcly on the proxy (echo "GET /getbestblockinfo" | docker run --rm -i --network=cyphernodenet alpine nc proxy:8888 -) I get results.
On https://localhost/welcome is all green except bitcoin feature but the node is update and syncing ok. If I use https://cyphernode on a request call on the machine cyphernode is running I get: "Could not resolve host: cyphernode" error.
¿Why could I get "404 page not found" making a request through the gatekeeper?
Thanks! :-D
[0] *   Trying <IP_ADDRESS>...

TCP_NODELAY set
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 443 (#0)
ALPN, offering h2
ALPN, offering http/1.1
successfully set certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
TLSv1.2 (OUT), TLS handshake, Client hello (1):
TLSv1.2 (IN), TLS handshake, Server hello (2):
TLSv1.2 (IN), TLS handshake, Certificate (11):
TLSv1.2 (IN), TLS handshake, Server key exchange (12):
TLSv1.2 (IN), TLS handshake, Server finished (14):
TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
TLSv1.2 (OUT), TLS change cipher, Client hello (1):
TLSv1.2 (OUT), TLS handshake, Finished (20):
TLSv1.2 (IN), TLS handshake, Finished (20):
SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
ALPN, server accepted to use h2
Server certificate:
subject: CN=TRAEFIK DEFAULT CERT
start date: May 29 13:22:40 2019 GMT
expire date: May 28 13:22:40 2020 GMT
issuer: CN=TRAEFIK DEFAULT CERT
SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
Using HTTP2, server supports multi-use
Connection state changed (HTTP/2 confirmed)
Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
Using Stream ID: 1 (easy handle 0x55a776d6d900)

GET /v0/getbestblockinfo HTTP/2
Host: <IP_ADDRESS>
User-Agent: curl/7.58.0
Accept: /
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjAwMyIsImV4cCI6MTU1OTE0NTQ5MH0=.7f9ac409f785bba25c3d493f1ca7eacd151e8f3270b8a905c98519eb224f746c

Connection state changed (MAX_CONCURRENT_STREAMS updated)!
< HTTP/2 404
< content-type: text/plain; charset=utf-8
< x-content-type-options: nosniff
< content-length: 19
< date: Wed, 29 May 2019 15:58:01 GMT
<
404 page not found
Connection #0 to host <IP_ADDRESS> left intact

The problem was apache2.
It was on and blocking port 443 as I could see with this commad: sudo lsof -i -P -n | grep LISTEN

I'm having problems making requests through the gatekeeper.
I try this command:
"id="003";h64=$(echo -n "{"alg":"HS256","typ":"JWT"}" | base64);p64=$(echo -n "{"id":"$id","exp":$((date +"%s"+10))}" | base64);k="b9b8d527a1a27af2ad1697db3521f883760c342fc386dbc42c4efbb1a4d5e0af";s=$(echo -n "$h64.$p64" | openssl dgst -hmac "$k" -sha256 -r | cut -sd ' ' -f1);token="$h64.$p64.$s";curl -v -H "Authorization: Bearer $token" -k https://<IP_ADDRESS>/v0/getbestblockinfo"
but I get "404 page not found" error. All the log here [0].
If I make the call direcly on the proxy (echo "GET /getbestblockinfo" | docker run --rm -i --network=cyphernodenet alpine nc proxy:8888 -) I get results.
On https://localhost/welcome is all green except bitcoin feature but the node is update and syncing ok. If I use https://cyphernode on a request call on the machine cyphernode is running I get: "Could not resolve host: cyphernode" error.
¿Why could I get "404 page not found" making a request through the gatekeeper?
Thanks! :-D
[0] *   Trying <IP_ADDRESS>...

TCP_NODELAY set
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 443 (#0)
ALPN, offering h2
ALPN, offering http/1.1
successfully set certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
TLSv1.2 (OUT), TLS handshake, Client hello (1):
TLSv1.2 (IN), TLS handshake, Server hello (2):
TLSv1.2 (IN), TLS handshake, Certificate (11):
TLSv1.2 (IN), TLS handshake, Server key exchange (12):
TLSv1.2 (IN), TLS handshake, Server finished (14):
TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
TLSv1.2 (OUT), TLS change cipher, Client hello (1):
TLSv1.2 (OUT), TLS handshake, Finished (20):
TLSv1.2 (IN), TLS handshake, Finished (20):
SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
ALPN, server accepted to use h2
Server certificate:
subject: CN=TRAEFIK DEFAULT CERT
start date: May 29 13:22:40 2019 GMT
expire date: May 28 13:22:40 2020 GMT
issuer: CN=TRAEFIK DEFAULT CERT
SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
Using HTTP2, server supports multi-use
Connection state changed (HTTP/2 confirmed)
Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
Using Stream ID: 1 (easy handle 0x55a776d6d900)

GET /v0/getbestblockinfo HTTP/2
Host: <IP_ADDRESS>
User-Agent: curl/7.58.0
Accept: /
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjAwMyIsImV4cCI6MTU1OTE0NTQ5MH0=.7f9ac409f785bba25c3d493f1ca7eacd151e8f3270b8a905c98519eb224f746c

Connection state changed (MAX_CONCURRENT_STREAMS updated)!
< HTTP/2 404
< content-type: text/plain; charset=utf-8
< x-content-type-options: nosniff
< content-length: 19
< date: Wed, 29 May 2019 15:58:01 GMT
<
404 page not found
Connection #0 to host <IP_ADDRESS> left intact

Hi @aitoribanez
Try with https://<IP_ADDRESS>:2009/v0/getbestblockinfo, you should have more luck.  A lot of stuff changed in the last releases and unfortunately some info in the docs didn't follow.
Port 443 is used by traefik for accessing the "cypherapps", which are the web applications using cyphernode.  The welcome app and Spark Wallet are cypherapps that are accessible through traefik, on port 443.
But the Cyphernode API (the gatekeeper) is listening on port 2009.
Also, if you want to use https://cyphernode as the url, you have to have "cyphernode" in your hosts file (with the good IP address) or use a DNS server that will know what's the IP address for "cyphernode".
Don't forget to change "b9b8d527a1a27af2ad1697db3521f883760c342fc386dbc42c4efbb1a4d5e0af" with your generated key, found in your encrypted client.7z file (downloadable from the welcome web page) or found in the keys.properties file found inside the installed cyphernode/gatekeeper directory on the host.
Let me know if it fixes your problems!
Thanks for the issue, I'll improve the docs!

First for all thanks @Kexkey  for the information and the last reply! :-D
I try with this command:
"id="003";h64=$(echo -n "{"alg":"HS256","typ":"JWT"}" | base64);p64=$(echo -n "{"id":"$id","exp":$((date +"%s"+10))}" | base64);k="b9b8d527a1a27af2ad1697db3521f883760c342fc386dbc42c4efbb1a4d5e0af";s=$(echo -n "$h64.$p64" | openssl dgst -hmac "$k" -sha256 -r | cut -sd ' ' -f1);token="$h64.$p64.$s";curl -v -H "Authorization: Bearer $token" -k https://<IP_ADDRESS>:2009/v0/getbestblockinfo" and I get 402 forbidden. Here [0] is the log.
If I make as bash client do (https://github.com/SatoshiPortal/cyphernode/blob/dev/clients/shell/cyphernode-client.sh) with their credentials (https://github.com/SatoshiPortal/cyphernode/blob/dev/clients/shell/cyphernode.conf) as:

p64=$(echo -n "{\"id\":\"${id}\",\"exp\":$((`date +"%s"`+10))}" | base64)
s=$(echo -n "$h64.$p64" | openssl dgst -hmac "$key" -sha256 -r | cut -sd ' ' -f1)
token="$h64.$p64.$s"
curl -v -H "Authorization: Bearer $token" -k "https://<IP_ADDRESS>:2009/v0/getbestblockinfo"

I get 402 forbidden too. :-D
¿Any ideas?
[0] bash: date +%s+10: syntax error: operand expected (error token is "%s+10")

Trying <IP_ADDRESS>...
TCP_NODELAY set
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 2009 (#0)
ALPN, offering h2
ALPN, offering http/1.1
successfully set certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
TLSv1.2 (OUT), TLS handshake, Client hello (1):
TLSv1.2 (IN), TLS handshake, Server hello (2):
TLSv1.2 (IN), TLS handshake, Certificate (11):
TLSv1.2 (IN), TLS handshake, Server key exchange (12):
TLSv1.2 (IN), TLS handshake, Server finished (14):
TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
TLSv1.2 (OUT), TLS change cipher, Client hello (1):
TLSv1.2 (OUT), TLS handshake, Finished (20):
TLSv1.2 (IN), TLS handshake, Finished (20):
SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
ALPN, server accepted to use http/1.1
Server certificate:
subject: CN=cyphernodehost
start date: May 29 00:17:33 2019 GMT
expire date: May 26 00:17:33 2029 GMT
issuer: CN=cyphernodehost
SSL certificate verify result: self signed certificate (18), continuing anyway.

GET /v0/getbestblockinfo HTTP/1.1
Host: <IP_ADDRESS>:2009
User-Agent: curl/7.58.0
Accept: /
Authorization: Bearer e2FsZzpIUzI1Nix0eXA6SldUfQ==..5d9f67fee6c587585da2b3041ed50d930aa9a777f559052db4fa6f90e1a12aa8

< HTTP/1.1 403 Forbidden
< Server: nginx/1.15.10
< Date: Wed, 29 May 2019 19:56:12 GMT
< Content-Type: text/html
< Content-Length: 154
< Connection: keep-alive
<

403 Forbidden

403 Forbidden
nginx/1.15.10

* Connection #0 to host <IP_ADDRESS> left intact

Hi @aitoribanez
The 403 Forbidden response means your JWT is not good.  You need to replace the key b9b8d527a1a27af2ad1697db3521f883760c342fc386dbc42c4efbb1a4d5e0af with your generated key.  That b9b8d5... key is just an example for the docs.
To find your generated keys, look in the file certs.7z (you need your cyphernode admin passphrase you entered when running cyphernode setup to decrypt that file) for the file called keys.txt and you will find your keys in there.  Use ID 003 (admin role) to make sure you can access all the API functions.
You can download that file from your welcome page, https://<IP_ADDRESS>/welcome :

I download certs.7z from https://<IP_ADDRESS>/welcome/certs.7z. When unzipped, add the password and I open keys.txt. Take the token for 003 and call to the same command but with this token:
id="003";h64=$(echo -n "{"alg":"HS256","typ":"JWT"}" | base64);p64=$(echo -n "{"id":"$id","exp":$((date +"%s"+10))}" | base64);k="TOKEN";s=$(echo -n "$h64.$p64" | openssl dgst -hmac "$k" -sha256 -r | cut -sd ' ' -f1);token="$h64.$p64.$s";curl -v -H "Authorization: Bearer $token" -k https://<IP_ADDRESS>:2009/v0/getbestblockinfo"
but I still get 403 forbidden.

Today I try another time. I see that the command give an error:
"bash: date +%s+10: syntax error: operand expected (error token is "%s+10")" and $h64 gets empty.
I see that your original call has apostrophes inside date and that was the problem of the error. After change that on the command, I started getting results! :-D
Here [0] the command I use:
id="003";h64=$(echo -n "{"alg":"HS256","typ":"JWT"}" | base64);p64=$(echo -n "{"id":"$id","exp":$((date +"%s"+10))}" | base64);k="KEY";s=$(echo -n "$h64.$p64" | openssl dgst -hmac "$k" -sha256 -r | cut -sd ' ' -f1);token="$h64.$p64.$s";curl -v -H "Authorization: Bearer $token" -k https://<IP_ADDRESS>:2009/v0/getbestblockhash
Two more questions:

To call to the gatekeeper I could use JS or bash clients (https://github.com/SatoshiPortal/cyphernode/tree/master/clients) to call from server or client (web application) ¿right?

cyphernode runs well on a raspberry pi 3b+ with the block data previously synced with or without prunning ¿right?

Thank you very much! :-D

Good, happy to hear that it works!  Yes, the reverse apostrophes were important.
You can use any language as the gatekeeper's client.  We have examples in the clients/ to start with and you can also see how the Welcome App is built as a Golang client.
Yes, cyphernode runs on a RPi.  I run it on a RPi 2 as well as 3.  You definitely should pre-sync the Bitcoin data on another machine though, since the Pi is pretty slow.  If you set cyphernode to use a pruned bitcoin node, you won't be able to use Lightning Network and won't have the "fees" on watched transactions.  Better to have a full archival node.  I use LVM2 to combine multiple USB sticks into one big storage device.

I will continue traying with the client on JS.
Then I want to a more calls to Bitcoin RPC inside cyphernode.
Thanks for all! I will open an issue, when I'm in trubbles! :-D


[AutoPR search/resource-manager] [Azure Search] Add L-Series SKU values to management plane

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5386

Build output:

This PR has been merged into https://github.com/Azure/azure-sdk-for-java/pull/3059


Request: Wait for one promise to fulfill while ignoring rejections

I have multiple promises that can be pending for a long time, or get rejected early on. I'm looking for a way to find out which is the first to fulfill.
For example: One promise gets rejected, another fulfills and a third is still pending.
In this case I would like the new promise to fulfill.
When all promises get rejected I would like the new promise to reject with an array of errors.
I can't use race, since it will reject once my first promise will reject.
I can't use when(fulfilled:), since it will reject once one of my promise rejects and will continue after the first promise fulfills.
I can't use when(resolved:), since it will continue after the first promise resolves.
What I'm looking for might not exist (yet) but I would expect it to be called something like  race(fulfilled:)

when(resolved:) may work, but it still waits for all promises. race will work, hold onto the promises and check each one before deciding what to do.

when(resolved:) may work, but it still waits for all promises. race will work, hold onto the promises and check each one before deciding what to do.

Could you show an example on how to this? I'm using race for caching. I want to call cache and network at the same time and then return what ever finish first, however right now if cache is empty and the promise rejects I will not get the result from the network.

Implemented.


Adding custom attributes and custom fields like div

Hi,
How can i add custom attributes into the fields and also i need to add div field. Could you please help me to do this.

How can i add custom attributes into the fields and also i need to add div field. Could you please help me to do this.


the current train code include gradient accumulation or not?

If include, please point out the position in the code.

No, there is no gradients accumulation at the moment.

There is gradients accumulation now in the train_msc.py script. Please refer to README for more information


Update FAQ.md

Rasbibolt doesn't have instructions on how to set up wifi using wpa_supplicant.conf anymore, changing faq, adding two external sources.

This is already fixed in the dev branch that will be merged shortly: https://github.com/rootzoll/raspiblitz/blob/dev/FAQ.md#is-it-possible-to-connect-the-blitz-over-wifi-instead-of-using-a-lan-cable
If you like to add information to the new version, please make a PR to the dev branch. Closing this PR.


Does not automatically redeploy when whatwg/wattsi changes

Not sure what the best solution is for this... @foolip, any ideas?

Here's what I did for sg+whatwg.org:
https://github.com/whatwg/sg/blob/6108ab963ac45d529eae4ecd64f843c90019d7b4/.github/workflows/dispatch.yml#L14-L17
https://github.com/whatwg/whatwg.org/blob/c4302d4fd1f23cf7496acace0dc3f7161c087d24/.github/workflows/build.yml#L9-L12

That is very nice. Unfortunately we need to kick off a DigitalOcean deploy which is not done through GitHub actions :(.


Improve error message when filled-in Marathon template is parsed

Here's an example of the current message:
Package file [marathon.json] is not JSON: expected : got a (line 20, column 488)

This could be reworded to give more help to the user, for example:
Unable to parse filled-in Marathon template as JSON; there may be an error in the package's Marathon template or default configuration options, or in the installation request's options. Parsing error was: expected : got a (line 20, column 488)

The error is generated here.

How do I reproduce the error?

One way would be to have a Universe package with a marathon.json.mustache file that contains a malformed JSON document. When the mustache template is filled in, Cosmos attempts to parse the resulting file as JSON, which produces this error.


Fix deprecation of set-output

Addresses https://github.com/jupyterhub/team-compass/issues/579 for this repo.

I added a changelog entry for v3.0.6 into this like you did in https://github.com/jupyterhub/action-k3s-helm/pull/73 @manics. Agree to go for a patch release on merge?


How to send Direct message?

Hi
I would like to know how is possible to send a Direct Message to a user?
Also is it possible to send Mass Direct Messages?
Thanks

you can use the "reply Direct Message" function. And to send in bulk you will have to get all the ids you want to send, make a loop and send them one by one.
e.g:
const welcomeMessage = 'Hello guyssssss";
const pkListUsers = [function to get your contact list];

for (user of pkListUsers) {
   await replyDirectMessage(ig, {userId: user.pk}, welcomeMessage);
}


[Chore] tag v3.5.2 (20230830)

Description
chore commit for tagging v3.5.2.
Commits since v3.5.1
tag/v3.5.1...ff78f19
Bug fix

#240
#250

Features

#244
#245
#246

Chore

#248
#251
#252

Deps

#241
#243
#247

Major changes

#244, #245, #246:  otaclient and otaproxy now supports using external cache source to speed up OTA progress and reduce the dependency of network.

Closed as feature update is introduced, we should tag it as v3.6.0.


runtime: use epoll_pwait2 where available

Linux kernel 5.11 (February, 2021) added the epoll_pwait2 system call.  It is exactly like epoll_pwait except that the timeout argument is a struct timespec.  This permits specifying a timeout with nanosecond precision, where epoll_pwait and epoll_wait only permit millisecond precision.  We should change runtime/netpoll_epoll.go to use epoll_pwait2 when available to get higher precision delays.
CC @golang/runtime

Specifically, this will help with https://github.com/golang/go/issues/44343#issuecomment-1029365697 on Linux.

Does anybody work on this? I can take on it.

Thanks.  I suggest that you sketch out what you will do before implementing, to make sure that it seems like a good approach.

@ianlancetaylor, I've just discovered the patch from @prattmic: https://go.dev/cl/363417.
As far as I can tell, it only lacks runtime·epollwait2 implementations for other than amd64 platforms. Are there some reasons you didn't move with the CL 363417 forward? Thanks!

Thanks, @prattmic. I'll prepare CL then and will do some benchmarking.

Since this is Linux-only, it could use the new runtime/internal/syscall
package, rather than implementing it in assembly for all architectures.

I have a few questions. @prattmic, in your CL you use _ENOSYS to define if the syscall exists. But I cannot find its definition anywhere other than in the "golang.org.x/sys/unix" package (ENOSYS there).
And in a broader context, if we go with  runtime/internal/syscall, where should syscall numbers (e.g. SYS_epoll_pwait = 281, SYS_epoll_pwait2 = 441 for amd64)  be defined? Currently, they are in runtime/sys_linux_xxx.s along with the syscall assembly implementations. I reckon all these definitions should end up in runtime/internal/syscall at the end of the day. But what to do with epoll_pwait2 while it's not there? I don't think using definitions from "golang.org.x/sys/unix" in runtime is a good idea. Or is it? Should I (try to) add sysnums to the runtime/internal/syscall?
Thanks!

The constant _ENOSYS was removed from the runtime package in https://go.dev/cl/389354.  It would be fine to revert that part of that CL for this purpose.

For the syscall number constants, I would create new per-arch files in runtime/internal/syscall to define those constants. Eventually, we'll want to shift all of the constants out of sys_linux_xxx.s and into that package (and ideally generate them).
Which packages the runtime can import are very restricted, so it wouldn't be able to import golang.org/x/sys/unix. We might eventually want to use the same code generation mechanism for both, but that's down the road.

For the syscall number constants, I would create new per-arch files in runtime/internal/syscall to define those constants. Eventually, we'll want to shift all of the constants out of sys_linux_xxx.s and into that package (and ideally generate them).

Yes, this is what I was thinking to do. To generate those constants (like it's done in golang.org/x/sys/unix) and put them into runtime/internal/syscall.
Or in this CL I should only have SYS_epoll_pwait, SYS_epoll_pwait2 constants. And all the rest should be generated in the separate CL later on?

Ah, as far as I can see there is no generator for the runtime now. Hence no easy way to generate syscall defs.
So I'll probably just add constants manually. Still, should be there only SYS_EPOLL_PWAIT and SYS_EPOLL_PWAIT2,  or copy all syscalls from golang.org/x/sys/unix's zsysnum_linux_xxx.go files?

I think for now you can just add the epoll constants you need for the CL.

Hi, I'm again with questions.

I made functions for epoll_pwait and epoll_pwait2 calls in runtime/netpoll_epoll.go instead of assembler once, which looks like this:

var _zero uintptr
func epollwait2(epfd int, events [int]epollevent, nev, ts *timespec) (n, errno int) {
	var ev unsafe.Pointer
	if len(events) > 0 {
		ev = unsafe.Pointer(&events[0])
	} else {
		ev = unsafe.Pointer(&_zero)
	}
	r1, _, e := syscall.Syscall6(syscall.SYS_EPOLL_PWAIT2, uintptr(epfd), uintptr(unsafe.Pointer(&events[0])), uintptr(len(events)), uintptr(unsafe.Pointer(&ts)), 0, 0)
	return int(r1), int(e)
}

...

But then I thought, it makes sense to define these funcs in runtime/internal/syscall if we are switching to this package anyway. But for that, I'd have to move at least type epollevent struct definition from runtime/defs_linux_xxx.go to runtime/internal/syscall/defs_linux_xxx.go (which I've already created for SYS_EPOLL_PWAIT and SYS_EPOLL_PWAIT2 definitions). What do you think about that?
It that case, it's also worth moving into internal/syscall defs of _EINTR, _EAGAIN, _ENOMEM, _ENOSYS and making syscall.EpollPwait return Go error instead of errno. But it's for sure should be in a different CL, rather related to https://github.com/golang/go/issues/51087.

Is there any reason why arguments and return values of epoll* funcs are int32 not int? Should I stay with int32 or may I switch to int in new epollwait* funcs?

I'd also redo other syscalls in runtime/netpoll_epoll.go to use runtime/internal/syscall for consistency reasons. But I'm not sure if to make it in this CL or make a new one (and an issue) for that.

Cheers!

But then I thought, it makes sense to define these funcs in runtime/internal/syscall if we are switching to this package anyway. But for that, I'd have to move at least type epollevent struct definition from runtime/defs_linux_xxx.go to runtime/internal/syscall/defs_linux_xxx.go (which I've already created for SYS_EPOLL_PWAIT and SYS_EPOLL_PWAIT2 definitions). What do you think about that?

I think that sounds good.

_It that case, it's also worth moving into internal/syscall defs of _EINTR, _EAGAIN, _ENOMEM, _ENOSYS and making syscall.EpollPwait return Go error instead of errno.

error is an interface type, which may not be safe to use everywhere in the runtime that we need to make syscalls. But we potentially use an explicit Errno type for a bit stronger typing than the existing uintptr.

Is there any reason why arguments and return values of epoll* funcs are int32 not int? Should I stay with int32 or may I switch to int in new epollwait* funcs?

They use int32 because the kernel interface only accepts 32-bit integers. Note that int is 32-bits in the kernel on all architectures (see page 2.

I'd also redo other syscalls in runtime/netpoll_epoll.go to use runtime/internal/syscall for consistency reasons. But I'm not sure if to make it in this CL or make a new one (and an issue) for that.

I think you should have at least 2 CLs: one (or more) moving things to runtime/internal/syscall with no behavior changes, and one adding and using epoll_pwait2.

Hi Michael, thank you for the feedback and explanations.

I think you should have at least 2 CLs: one (or more) moving things to runtime/internal/syscall with no behavior changes, and one adding and using epoll_pwait2.

Sounds good to me.
Cheers!

It seems this has missed 2 releases. Moving to backlog.
Please comment if you plan to work on it in Go 1.22 and I'm happy to move it there. Thanks!

Hi @dAdAbird, are you planning on returning to this?


Lint examples, add editorconfig linting

Fixes #112.  /cc @reznord

@developit here it is throwing the following error:
error  Expected line before comment  lines-around-comment
I guess this is the reason why it is failing in the tests.

@thangngoc89 tests are failing because globs aren't expanded - from what the readme says there should be globstar available in the shell
I might be crazy here but why we don't just write js script that uses node-glob & editorconfig-tools 😆

@rkostrzewski Not sure why I were tagged here?

I've messed up 😛

I've been searching for an npm module that will expand bash-style globs for a command.  I can't find one - anyone know of one?

If there's a config that matches, sure

Do we really need this PR now? Since we have totally isolated the examples into templates.

Don't think so!


cifar100 pretrain model?

Hi:
Your research is amazing,
i spend a lot of time to know this fantastic article,
and, i have some idea want to try for small scale dataset,
Did you have all the cifar100 pretrained model?
or how can I get pretrained model,
Can you give me some tips?
Best regard!
Thank you so much!!
Wang-Y-S

Hi @Wang-Y-S,
Thanks for your message.
Unfortunately, I don't have a model train on CIFAR-100 from scratch currently available.
If you want to train one you can use the Deit training config on ImageNet but maybe it's better not use erasing, train for 1000 epochs with a convent teacher trained on CIFAR-100.
Best,
Hugo


Add a "createProgressBar" function

Made for the addSong or playSong events.

Are you able to fix the linting? You should be able to run npm run format to fix it

Are you able to fix the linting? You should be able to run npm run format to fix it

Yes, I will work on that now.

Are you able to fix the linting? You should be able to run npm run format to fix it

Had to go through a lot to fix that ☹. Anyways it's done!

such a really util thing, i'll search the perfect emojis for the bar

such a really util thing, i'll search the perfect emojis for the bar

Idk the radio emoji looks good imo.

such a really util thing, i'll search the perfect emojis for the bar

Meh, looks fine to me


Require cumulusci-2.0.0b94

Awesome @cpolcyn - lets get this into MetaCI staging and do an end to end of CumulusCI-Test just to make sure that nothing got weird in our normal deployment flows...


AIRAVATA-2282 notification sort: Prevent int overflow

Instead of returning the difference as a long and casting to an int,
which risks integer overflow, just return 1 or -1 corresponding to the
sign of the difference.
Note: this branch was branched from master which is ahead of develop by a few spurious commits.  My change for this bug fix is really just NotificationRegistry.java change.

@scnakandala  can you review this when you get a chance? Thanks.


Remove id/blob getters from HashedBlob

Motivation
We're keeping the fields public to make it easier to write different parts of the code that use this
Proposal
So we don't need the getters anymore, since the fields are public.
Test Plan
CI

#2328  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @andresilva91 and the rest of your teammates on  Graphite

Ah I see, makes sense 🤔 let me see if I can make that happen in a separate PR


[Fix] Make overload signature compatible in FromEventObservable

Description: Fix compilation error in FromEventObservable.ts file:
static create<T>(target: EventTargetLike, eventName: string, selector: SelectorMethodSignature<T>): Observable<T>;
       ~~~~~~

dist/cjs/src/observable/FromEventObservable.ts(57,10): error TS2394: Overload signature is not compatible with function implem
entation.

This is my first contribution to this repo so if there is something missing please let me know =)
Thanks.

I think we may need massive dependency update in next branch, by reading travis failure logs. :(

@kwonoj actually I just fixed those errors in unit tests and they are passing on my local machine.
Will submit that PR shortly


chore: add transformers

I extracted the transformer definition from the PR #139 to keep it lean.
Someone can either:

create a custom transformer using the Transformer class
use the built-in transformers

and so forth for the others At least, I don't see what the Transformer class brings to the table here.

To reduce the amount of exposed objects from the SDK. I wanted all the built-in transformers to be under a single object

I converted the Transformer class into a type.
However, the builtin transformers should be a singleton for the reasons mentioned above


dartdoc support

One useful feature of Storybook is the Docs tab which supports components or MDX.
I feel like one potential way to support this in dashbook is to load the dart docs in an iframe (if web) or a webview (if mobile).  Each story could accept a dartDocUrl.

It would also definitely be nice to have support for Markdown, I was just thinking of loading dart docs as a quick and easy solution that doesn't require developers to author something separate.

It would also definitely be nice to have support for Markdown, I was just thinking of loading dart docs as a quick and easy solution that doesn't require developers to author something separate.


Count Sort- Algorithms

Desciption:
Count sort code in Algorithm section
Programming Language

[x] C++

@sameeksharl @ravikr126 please assign this issue to me under LGMSOC

@sameeksharl @ravikr126 please assign this issue to me under LGMSOC


Docs: Guides: Overriding presets: Fix section name

Hi, thanks for your help. I merged it with your PR, and we will have a release this week.🌟


 Improvements look nice ...

checkout@v2: feel free to open a PR

will test it first ... just found it out :)


Improves performance of data blender queryset in some cases

Improves performance of data blender queryset by just returning primary dataset whenever only metrics of the primary dataset are used. Raises SlicerException whenever a secondary dataset
needs to be joined, due to a metric, but one of the requested dimensions is not mapped to its equivalent in the secondary dataset.

Coverage increased (+0.2%) to 91.022% when pulling 24c13fd43a9a8c85dfa32cd5bb7658912a96af23 on x8lucas8x:improve-blending-performance-in-some-cases into eba160fec1233a3700c4b8f269c9a297d60f6dd9 on kayak:master.


Deprecate the global imageCache getter

Description
Deprecate global imageCache in favor of PaintingBinding.instance.imageCache
Related Issues
n/a
Tests
I added the following tests:
n/a
Checklist
Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[ ] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes

Need to check whether this breaks google.

This requires a larger migration in google3. I'll leave this for another time since the change is not critical.


definition & use of attributes ”elevation” of type ”heightAboveGround” for feature types Room and AbstractBuildingSubdivision

The feature types Room and AbstractBuildingSubdivision have an attribute called ”elevation” and of type ”heightAboveGround”.
This is to be clarified.
It is recommended to

Provide a definition for these attributes.
Choose relevant attribute name and type.

Was resolved in commit edb0134.

Feature Type AbstractBuildingSubdivision: attribute "elevation" is now of type "Elevation"
FeatureType Room: attribute "elevation" was changed to "roomHeight" of type "RoomHeight"


Doesn't work in Laravel Nova

Not testet Nova, but you are more then welcome to donate so I can get nova to test ;)

Any updates on this? I have the same issue.

Not testet Nova, but you are more then welcome to donate so I can get nova to test ;)


Create tests for catmath.py

Add tests for catmath.py

Coverage increased (+4.6%) to 41.379% when pulling 5ef2f717aa084972ded38d69b7023938e23eb3b9 on sheffnercarlisle:tutorial_wip into cad3d2ba400a71b24a6aee9b7ecf44938b97fa0a on keeppythonweird:master.


⚠ Bofrost.be has degraded performance

In 0fd6f0c, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1087 ms

Resolved: Bofrost.be performance has improved in 5f1c5cc.


Opendaq with findpkg redirect

See individual commits for details. These changes allow JetModule to work with preinstalled (non-fetched) SDKs.

 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.


canthus terms

Add:
abnormal canthus morphology
DEF: any structural anomaly of either corner of the eye where the upper and lower eyelids meet; more specifically, the inner and outer canthi are, respectively, the medial and lateral ends/angles of the palpebral fissure
SYN: abnormal canthi
SYN: abnormal palpebral commissure morphology
SYN: abnormal palpebral commissures
SOURCE: https://en.wikipedia.org/wiki/Canthus
abnormal inner canthus morphology
DEF: any structural anomaly of the inner corner of the eye where the upper and lower eyelids meet; the medial end/angle of the palpebral fissure
SYN: abnormal medial canthus morphology
abnormal outer canthus morphology
DEF: any structural anomaly of the outer corner of the eye where the upper and lower eyelids meet; the lateral end/angle of the palpebral fissure
SYN: abnormal lateral canthus morphology
Anna

abnormal canthus morphology MP:0030163
abnormal inner canthus morphology MP:0030164
abnormal outer canthus morphology MP:0030165


AKI-516: Quickly return null when asked to create impossible block te…

…mplates

This prevents users from seeing many messages like "Tried to create 2 PoS blocks in a row!"
It also reduces unnecessary work

Description

Fixes Issue # .
Type of change

[ ] Bug fix.
[ ] New feature.
[ ] Enhancement.
[ ] Unit test.
[ ] Breaking change (a fix or feature that causes existing functionality to not work as expected).
[ ] Requires documentation update.

Testing

Closing this until we fix an issue with the mining pool interaction, and then confirm that this commit works as intended.


Container ID and Hostname are not the same.

Description
I used to be able to access the current running ContainerID within the container itself by using an environment variable HOSTNAME (v. 1.12~)
However, in the current version 1.13.0-rc2, the good old behavior seemed strange, ContainerID and HOSTNAME are not the same anymore.
Also, it much worst as the different container (different ContainerID) got exactly the same HOSTNAME (e.g. "7103ce58678c") when I run it from the same image.
Steps to reproduce the issue:
---- Container 1 (id 3f6c14757a10) ----
root@3f6c14757a10: docker run --rm -it image bash
root@3f6c14757a10: echo $HOSTNAME
7103ce58678c

---- Container 2 (id 684ff6a8e8dd) ----
root@684ff6a8e8dd: docker run --rm -it image bash
root@684ff6a8e8dd: echo $HOSTNAME
7103ce58678c

Describe the results you expected:
I used to be able to access the ContainerID from within the container itself.
This is very useful when I need to dynamically modify the current running container from within the container, through a docker.sock.
Output of docker version:
Client:
 Version:      1.13.0-rc2
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   1f9b3ef
 Built:        Wed Nov 23 06:32:39 2016
 OS/Arch:      linux/amd64

Server:
 Version:             1.13.0-rc2
 API version:         1.25
 Minimum API version: 1.12
 Go version:          go1.7.3
 Git commit:          1f9b3ef
 Built:               Wed Nov 23 06:32:39 2016
 OS/Arch:             linux/amd64
 Experimental:        false

Output of docker info:
Containers: 7
 Running: 7
 Paused: 0
 Stopped: 0
Images: 62
Server Version: 1.13.0-rc2
Storage Driver: overlay
 Backing Filesystem: extfs
 Supports d_type: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay weavemesh
Swarm: active
 NodeID: dp6wemenqlux1kjo95p9aih53
 Is Manager: true
 ClusterID: 45hwgqkhb5mp5bbmc8ygfhexl
 Managers: 1
 Nodes: 1
 Orchestration:
  Task History Retention Limit: 10
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: <IP_ADDRESS>
 Manager Addresses:
  <IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc version: 51371867a01c467f08af739783b8beafc154c4d7
init version: 949e6fa
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-51-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 1.953 GiB
Name: stylixvm
ID: NQTM:7MTH:3PXO:BL7T:7YYD:PDUU:LWMW:IOHT:QLW7:EUK4:E5NA:6Z76
Docker Root Dir: /mnt/data_disk/docker
Debug Mode (client): false
Debug Mode (server): false
Http Proxy: http://<IP_ADDRESS>:8080
Https Proxy: https://<IP_ADDRESS>:8080
No Proxy: localhost,<IP_ADDRESS>/8
Username: stylix
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

At first, I thought this was related to https://github.com/docker/docker/issues/28149, but I'm not able to reproduce your issue, I tried several scenarios;
Running from a "plain" ubuntu image;
$ docker run -it --rm ubuntu bash -c 'echo $HOSTNAME && hostname'
406538c1025a
406538c1025a

$ docker run -it --rm ubuntu bash -c 'echo $HOSTNAME && hostname'
a6ee2cc2cbab
a6ee2cc2cbab

Building a new image locally, and run containers from that;
$ cat > Dockerfile <<EOF
FROM ubuntu:latest
RUN echo "foo"
EOF

$ docker build -t foo .
Sending build context to Docker daemon 2.048 kB
Step 1/2 : FROM ubuntu:latest
 ---> 4ca3a192ff2a
Step 2/2 : RUN echo "foo"
 ---> Running in 9407330c90b8
foo
 ---> 7457621f88ca
Removing intermediate container 9407330c90b8
Successfully built 7457621f88ca

$ docker run -it --rm foo bash -c 'echo $HOSTNAME && hostname'
4fc0ef8a07cd
4fc0ef8a07cd

$ docker run -it --rm foo bash -c 'echo $HOSTNAME && hostname'
934d23dc7551
934d23dc7551

The only way I was able to pin the hostname is when explicitly setting it as an env-var in the docker file;
$ cat > Dockerfile <<EOF
FROM ubuntu:latest
RUN echo "foo"
ENV HOSTNAME foobar
EOF

$ docker build -t foobar .
Sending build context to Docker daemon 2.048 kB
Step 1/3 : FROM ubuntu:latest
 ---> 4ca3a192ff2a
Step 2/3 : RUN echo "foo"
 ---> Using cache
 ---> 7457621f88ca
Step 3/3 : ENV HOSTNAME foobar
 ---> Running in f0dd882c1c6b
 ---> 22020a0e388f
Removing intermediate container f0dd882c1c6b
Successfully built 22020a0e388f

$ docker run -it --rm foobar bash -c 'echo $HOSTNAME && hostname'
foobar
7946329da287

$ docker run -it --rm foobar bash -c 'echo $HOSTNAME && hostname'
foobar
1c0cd7bf0ba6

Would you be able to provide the exact steps to reproduce your issue?

To verify if it's due to something that changed in docker build, I also tried to build an image on a docker 1.10 daemon, then loading the built image into a docker 1.13-rc2 daemon, and running a container from that, but I was also not able to reproduce.
(note: for "introspection" of the container, you may be interested in https://github.com/docker/docker/pull/26331)

Thanks @thaJeztah, introspection is a very interesting feature, I will try and wait for the stable release soon.
For the problem, it appears after I used the custom prebuild image (instead of building most of things from scratch).
So, I will check if that prebuild image contains an ENV HOSTNAME in any step.
Note: I'm actually out of my terminal, so I cannot try until tomorrow.

@stylixboom thanks in advance! It's possible there is a bug somewhere, I just wasn't able to reproduce the issue, so if you can provide the steps to reproduce, the maintainers can look into it, and verify if it's a bug or not

@thaJeztah Yes, I found that ENV HOSTNAME is in my bootstrapped image.
This is not an issue for docker anymore.
Thank you for this investigation.
Note: waiting for introspection :)

Thanks for checking! Glad to hear it's not a regression. I'll close this issue


Release/v.0.1.3

I'm tempted to make this actually the version 0.2.0 or even 1.0.0. What do you think?

Codecov Report
Attention: 10 lines in your changes are missing coverage. Please review.

Comparison is base (6c9cb03) 69.90% compared to head (2461cab) 71.33%.

Files
Patch %
Lines

mango/config/base_config.py
64.28%
10 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #107      +/-   ##
==========================================
+ Coverage   69.90%   71.33%   +1.42%
==========================================
  Files          40       11      -29
  Lines        2263      729    -1534
==========================================
- Hits         1582      520    -1062
+ Misses        681      209     -472

Flag
Coverage Δ

clients-tests
64.86% <ø> (?)

config-tests
88.04% <64.28%> (?)

data-tests
96.34% <100.00%> (?)

unit-tests
?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[v2.8] KDM Update for K8s September patch release

KDM Updates
TO BE RELEASED: Enabled with Rancher v2.8.0

New Kubernetes Version
Min Rancher Version
Min RKE Version

1.27.6-rancher1-1
2.8.0-patch0
1.5.0-rc0

1.26.8-rancher1-1
2.7.5-patch0
1.4.6-rc0

1.25.14-rancher1-1
2.7.2-patch0
1.4.0-rc0

Rancher System Images & Add-ons
Note: Please update system images and add-ons in the template as needed.
TBD
Developer Changelog

Add templates for new K8s versions. If a template that hasn't been released yet already exists, update it in place.
Update the default K8s version, and add or update the version information (MinRancherVersion and MinRKEVersion) in k8s_version_info.go for new K8s versions if needed (Use table from above).
Confirm versions for system images, add-on templates are correct using versioning reference table from below (expand details to view the table). Update the table if new versions are introduced.
Confirm add-on template version constraints in template.go are correct using versioning reference table from below (expand details to view the table). Update the table if needed.

Versioning Reference

Expand for system images & add-on templates versioning table

Note: Truncated repository names with a * indicates there are multiple images with that prefix. All repository names that match a truncated prefix should be checked for the same version stated in the table.
For example: rancher/weave-* matches weaveworks/weave-kube and weaveworks/weave-npc, and they should both have the same version.
v1.26.8-rancher1-1

Repository
Tag

rancher/mirrored-coreos-etcd
v3.5.6

rancher/hyperkube
v1.26.8-rancher1

rancher/rke-tools
v0.1.89

rancher/mirrored-k8s-dns-*
1.22.8

rancher/mirrored-cluster-proportional-autoscaler
1.8.6

rancher/mirrored-coreos-flannel
v0.24.4

rancher/flannel-cni
v0.3.0-rancher7

rancher/mirrored-calico-*
v3.25.0

weaveworks/weave-*
2.8.1

noiro/* (All ACI images)
<IP_ADDRESS>.1d150da

rancher/mirrored-pause
3.7

rancher/nginx-ingress-controller
nginx-1.7.0-rancher1

rancher/mirrored-nginx-ingress-controller-defaultbackend
1.5-rancher1

rancher/mirrored-jettech-kube-webhook-certgen
v1.1.1

rancher/mirrored-metrics-server
v0.6.2

rancher/mirrored-coredns-coredns
1.9.4

rancher/mirrored-cluster-proportional-autoscaler
1.8.6

rancher/kubelet-pause
v0.1.6

rancher/mirrored-k8s-dns-node-cache
1.22.10

Add-on Name
Add-on Template Version Constraint

Calico
calicov319

Canal
canalv319

Flannel
flannelv115

CoreDNS
coreDnsv183

KubeDNS
kubeDnsv116

MetricsServer
metricsServerv050

Weave
weavev120

Aci
aciv500

NginxIngress
nginxIngressv110Rancher3

Nodelocal
nodelocalv121

v1.25.13-rancher1-1

Repository
Tag

rancher/mirrored-coreos-etcd
v3.5.4

rancher/hyperkube
v1.25.13-rancher1

rancher/rke-tools
v0.1.87

rancher/mirrored-k8s-dns-*
1.22.8

rancher/mirrored-cluster-proportional-autoscaler
1.8.6

rancher/mirrored-coreos-flannel
v0.15.1

rancher/flannel-cni
v0.3.0-rancher7

rancher/mirrored-calico-*
v3.24.1

weaveworks/weave-*
2.8.1

noiro/* (All ACI images)
<IP_ADDRESS>.1d150da

rancher/mirrored-pause
3.6

rancher/nginx-ingress-controller
nginx-1.2.1-rancher1

rancher/mirrored-nginx-ingress-controller-defaultbackend
1.5-rancher1

rancher/mirrored-jettech-kube-webhook-certgen
v1.1.1

rancher/mirrored-metrics-server
v0.6.2

rancher/mirrored-coredns-coredns
1.9.4

rancher/mirrored-cluster-proportional-autoscaler
1.8.6

rancher/kubelet-pause
v0.1.6

rancher/mirrored-k8s-dns-node-cache
1.22.10

Add-on Name
Add-on Template Version Constraint

Calico
calicov319

Canal
canalv319

Flannel
flannelv115

CoreDNS
coreDnsv183

KubeDNS
kubeDnsv116

MetricsServer
metricsServerv050

Weave
weavev120

Aci
aciv500

NginxIngress
nginxIngressv110Rancher3

Nodelocal
nodelocalv121

v1.24.17-rancher1-1

Repository
Tag

rancher/mirrored-coreos-etcd
v3.5.4

rancher/hyperkube
v1.24.17-rancher1

rancher/rke-tools
v0.1.87

rancher/mirrored-k8s-dns-*
1.21.1

rancher/mirrored-cluster-proportional-autoscaler
1.8.5

rancher/mirrored-coreos-flannel
v0.15.1

rancher/flannel-cni
v0.3.0-rancher6

rancher/mirrored-calico-*
v3.22.0

weaveworks/weave-*
2.8.1

noiro/* (All ACI images)
<IP_ADDRESS>.1d150da

rancher/mirrored-pause
3.6

rancher/nginx-ingress-controller
nginx-1.2.1-rancher1

rancher/mirrored-nginx-ingress-controller-defaultbackend
1.5-rancher1

rancher/mirrored-jettech-kube-webhook-certgen
v1.1.1

rancher/mirrored-metrics-server
v0.6.1

rancher/mirrored-coredns-coredns
1.9.3

rancher/mirrored-cluster-proportional-autoscaler
1.8.5

rancher/kubelet-pause
v0.1.6

rancher/mirrored-k8s-dns-node-cache
1.21.1

Add-on Name
Add-on Template Version Constraint

Calico
calicov319

Canal
canalv319

Flannel
flannelv115

CoreDNS
coreDnsv183

KubeDNS
kubeDnsv116

MetricsServer
metricsServerv050

Weave
weavev120

Aci
aciv500

NginxIngress
nginxIngressv110Rancher3

Nodelocal
nodelocalv121

/backport v2.7-KDM-Sep-2023-patches

Fresh install checks - PASS

On rancher version v2.8.0-alpha2, KDM pointing to dev-v2.8 branch, cluster creation succeeds for v1.25.14-rancher1-1, v1.26.9-rancher1-1 and v1.27.6-rancher1-1 on all network providers - canal/flannel/weave/calico
Network checks look good
Canal network checks look good

Upgrade checks - PASS

On rancher v2.7.8-rc1, KDM pointing to release-v2.7, cluster creation succeeds for k8s v1.25.13-rancher1-1, v1.26.8-rancher1-1 and v1.27.5-rancher1-1 versions with all network providers.
Pre-upgrade checks look good.
Upgraded the rancher to v2.8.0-alpha2.
Post upgrade checks look good.
Made sure the KDM points to dev-v2.8.
Upgraded cluster to k8s versions -  v1.25.13-rancher1-1, v1.26.9-rancher1-1 and v1.27.6-rancher1-1
Post upgrade checks look good.

RKE default k8s version - PASS
dev-v2.8 should have the default as v1.27.6-rancher1-1
 "RKEDefaultK8sVersions": {
  "0.3": "v1.16.3-rancher1-1",
  "default": "v1.27.6-rancher1-1"
 }

RKE checks using v1.5.0-rc8 passed successfully. All checks passed, hence closing the issue.
Made sure all the images are getting pulled successfully.


Routing for result-app added

Issue
Fixes #71
Description
Please describe your pull request.
Testing
Describe the best way to test or validate your PR.

Can you please accept the PR so that the review process will start @keithrfung


F/protobuf buf

An attempt to use buf to export third party protobuf files required by Injective protobuf.
That way, buf export could be used, instead of relying on git submodule for obtaining the Injective protobuf files.
buf export is now being used to export Injective protobuf files(!)
TODO:

Define what the exact versions / tags of both, Cosmos SDK and Injective protobuf files are, that need to be used / referenced here.

Finally, perhaps it's a good idea to increase the version number of these package. And publish them to crates.io.


i18n should respect .Site language

Hi,
I started to using Hugo a month ago or so, experiencing some issues with multilingual mode. To explain a bit, I have a lot of pages in Italian, that is main language, under /content, and some others in English, under /content/en/. Main (Italian) home lists posts from all languages, showing information (like date, "continue reading" label and comment counter) localized according to post language. Now, take reading label for example (comment counter is a little more complex, I wrote an article about it, that I'd like sharing for documentation). But to obtain this result I had to use .Site.Params.param mechanism, because of i18n always returns translation from (in this case) main home language, and I found no way to force it to other language.

f i18n always returns translation from (in this case) main home language

No that's not true, and there are plenty of sites out there to prove that.
Take further questions at https://discourse.gohugo.io/


shorten circles cutscene

source code for patching the zev.dat: https://github.com/lepelog/zeldaevent/blob/master/examples/eldin_bridge.rs

Fixed the speed, the bridge now fits perfectly in the gap

Tested in a co-op seed - worked fine.

Has been tested a bunch of seeds with no reported issues.


LaTeX support?

Hello, I am wondering if MDX supports LaTeX markdown for mathematics - if so I would appreciate documentation or a link to such documentation as I could not find it - if not the implemenation would not go unused.

You're not wrong, there's no such support at the moment. This has been requested before - I wonder how would you like to see the editing experience? To clarify what I mean, rendering the resulting latex is pretty much straightforward, but how would you like to get the editing going - like some form of a source code?

I think latex needs to be writable not as a toolbar button, so I could write the maths and when im off the line or something along those lines - it would be rendered. Let me know if this is not clear enough, I don't know how to explain it

Hey, if you're still searching for it, you should try using MathLive inside the editor, I just did that. Make a component with a radix dialog, a button with the same classes as the toolbar button with an svg icon inside it and insert a  inside it. After you're done, just get the value of the math-field and insertMarkdown it into the editor.
Check their documentation on their website, it's a pretty good LaTeX editor

you should try using MathLive inside the editor, I just did that.

MathLive was the first thing coming to my mind, too. Do you happen to have an example of integrating MathLive with MDXEditor?

you should try using MathLive inside the editor, I just did that.

MathLive was the first thing coming to my mind, too. Do you happen to have an example of integrating MathLive with MDXEditor?

Actually, yes! You can check my github, it's in
https://github.com/hahhen/forum_teste/tree/main/src/components/editor
Actually, it's not a proper MDXEditor plugin, since it doesn't implement the plugin functionalities, but it works well enough

does anyone have an example on how to do this? the link posted above seems to be deleted

https://github.com/hahhen/cpsforum/blob/master/src%2Fcomponents%2Feditor%2Finsertmathlive.jsx

Refer to the mathlive documentation: renderMathInElement renders based on the element id that is sent as the function's parameter. My editor is wrapped by a div of which id is "editor". If anything else bugs, you can check my editor and sort it out, it's in the same folder as the insertMathLive


Led blink request

Hi,
Could you add led blink when it be pooling light?
For Esp12E on board led connected to gpio 2. So,
First: #define LED_GPIO 13 should change as #define LED_GPIO 2
Second: You can call a led_code function at the end of that task
void light_sensor_task(void *_args) {

    // thaks to https://github.com/peros550/esp-homekit-multiple-sensors/blob/master/examples/multiple_sensors/multiple_sensors.c

    int loop_count = 60;

    uint16_t analog_light_value;
    while (1) {
        analog_light_value = sdk_system_adc_read();
        //The below code does not produce accurate LUX readings which is what homekit expects. It only provides an indication of brightness on a scale between 0 to 1024
        //More work needs to be done so that accurate conversation to LUX scale can take place. However this is strongly dependent on the type of sensor used.
        //In my case I used a Photodiode Light Sensor
        currentAmbientLightLevel.value.float_value = (1024 - analog_light_value);
        homekit_characteristic_notify(&currentAmbientLightLevel, HOMEKIT_FLOAT((1024 - analog_light_value)));
        printf ("%s: Light level: %i\n", __func__, (1024 - analog_light_value));
        if (loop_count == 10){
            snprintf (post_string, 150, "sql=insert into homekit.lightsensorlog (LightSensorName, LightLevel) values ('%s', %f)", accessory_name, currentAmbientLightLevel.value.float_value);
            printf ("%s: Post String: %s\n", __func__, post_string);
            vTaskResume( http_post_tasks_handle );
            loop_count = 0;
        }
        vTaskDelay(5000 / portTICK_PERIOD_MS);

       // FOR EXAMPLE HERE //

        loop_count ++;
    }
}

I have designed a custom device with esp12e which is the most popular esp8266 module. I have put it in the box which I have designed as well. The box has transparent face and when the led of esp flickering, box look so nice. Indeed, sometimes, Esp crashes, I don't know why. So, It can help me to see If there is no led blink, I should do something for device.
P.s: Unfortunately, there is no any chance to connect a led to default pin, gpio 13. I can only use on board led of esp. That's why I want that you change it.

Sorry this may  be good in your setup, but in my setup the box is not transparent and I therefore use and external LED. I also use ESP12E


Revert static cast for MSVC.

Revert one commit of #219. That cast is needed for MSVC compiler.

Thanks for catching this @pravic!


Update feed.atom

Learn Build status updates of commit af4e1ad:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/feed.atom
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 091802b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/feed.atom
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Not detecting certain visuals

Is it really a Bug report?
Yes.
Botty Version
0.8.1 from source
Describe the bug
The bot does not appear to be detecting certain visuals in the game as identified in the picture below. GeForce Experience optimization has been removed from game and I re-ran the adjust settings option. Bot completely unable to run as it can't detect waypoints or detect town portal tome or find hell_BTN/loading.
To Reproduce
Perform settings adjust via f9
Restart D2
Run bot from character select screen with f11
Expected behavior
Bot should detect visuals and be able to run
Screenshots / Video

I was loading the wrong executable. Not an issue. Thanks!


-Z build-std prevents build.rs recompilation

Problem
When -Z build-std is used, changing RUSTFLAGS environment variable (at least, didn't check other reasons) doesn't result in build.rs recompilation.
Steps

Have a project with build.rs, I used writing of current time into a file for verification purposes
Compile once with RUSTFLAGS="-C target-cpu=skylake" cargo +nightly build -Z build-std --target x86_64-unknown-linux-gnu
Try to recompile with RUSTFLAGS="-C target-cpu=x86-64-v2" cargo +nightly build -Z build-std --target x86_64-unknown-linux-gnu (note different target CPU)

A the result build.rs is not recompiled in step 3, which in case of building C libraries there results in libraries compiled for the wrong CPU.
Removing -Z build-std from above commands results in build.rs recompiled correctly.
Possible Solution(s)
No response
Notes
No response
Version
cargo 1.78.0-nightly (7065f0ef4 2024-03-12)
release: 1.78.0-nightly
commit-hash: 7065f0ef4aa267a7455e1c478b5ccacb7baea59c
commit-date: 2024-03-12
host: x86_64-unknown-linux-gnu
libgit2: 1.7.2 (sys:0.18.2 vendored)
libcurl: 8.6.0-DEV (sys:0.4.72+curl-8.6.0 vendored ssl:OpenSSL/1.1.1w)
ssl: OpenSSL 1.1.1w  11 Sep 2023
os: Ubuntu 22.04 (jammy) [64-bit]

Thanks for the report! If you removed -Z build-std, did you also remove the --target flag? Also, when you say whether or not build.rs is recompiled, is it important to you that the build script itself is recompiled, or just that it runs again and picks up the new CARGO_ENCODED_RUSTFLAGS? It's unclear what C libraries you are referring to, or how they are being built, or how this relates to the build script and RUSTFLAGS. If you can provide a complete and minimal reproduction, it can be helpful to see exactly what you are doing and trying to accomplish.
Assuming that you removed --target, and that you only care about running the script again, then this unrelated to -Z build-std and is a duplicate of #13003.

Thanks for the report! If you removed -Z build-std, did you also remove the --target flag?

No, just -Z build-std to minimize changes. --target on its own doesn't cause any issues for me.

Also, when you say whether or not build.rs is recompiled, is it important to you that the build script itself is recompiled, or just that it runs again and picks up the new CARGO_ENCODED_RUSTFLAGS?

Apologies, I meant that whatever build.rs compiles to doesn't re-run on CPU change.

It's unclear what C libraries you are referring to, or how they are being built, or how this relates to the build script and RUSTFLAGS.

build.rs calls https://github.com/rust-lang/cc-rs when run. So the first time it compiled libraries for Skylake with certain newer instructions and later when I recompiled for different CPU without clearing target I discovered that it crashes on older processors due to newer instructions being still in the library. I later reduced and reported the issue.

Hm, I'm not aware of cc looking at the target-cpu. Can you please post a complete, minimal reproduction, along with exactly what appears to not be being picked up in the build script? Here's exactly what I'm seeing:
[package]
name = "foo"

[build-dependencies]
cc = "1.0.90"

// src/main.rs
fn main() {}

// build.rs
fn main() {
    cc::Build::new().file("foo.c").compile("foo");
}

/* foo.c */

RUSTFLAGS="-C target-cpu=skylake" CC_ENABLE_DEBUG_OUTPUT=1 cargo build -vv -Zbuild-std --target x86_64-unknown-linux-gnu

The exact compiler command this displays as running:
[foo 0.0.0] running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-Wall" "-Wextra" "-o" "/home/eric/Temp/foo/target/x86_64-unknown-linux-gnu/debug/build/foo-dcda6d277b285a73/out/d1fba762150c532c-foo.o" "-c" "foo.c"

Notice that it does not mention -mcpu or anything like that. Running with a different CPU:
cargo clean
RUSTFLAGS="-C target-cpu=x86-64-v2" CC_ENABLE_DEBUG_OUTPUT=1 cargo build -vv -Zbuild-std --target x86_64-unknown-linux-gnu

doesn't change the output. cc is building it identically.

// build.rs
fn main() {
    std::fs::write(
        format!("{}/rustflags.rs", std::env::var("OUT_DIR").unwrap()),
        std::env::var("CARGO_ENCODED_RUSTFLAGS").unwrap_or_default(),
    )
    .unwrap();
}

// src/main.rs
fn main() {
    println!(
        "{}",
        include_str!(concat!(env!("OUT_DIR"), "/rustflags.rs"))
    );
}

Now do:
RUSTFLAGS="-C target-cpu=skylake" cargo +nightly run -Z build-std --target x86_64-unknown-linux-gnu
RUSTFLAGS="-C target-cpu=x86-64-v2" cargo +nightly run -Z build-std --target x86_64-unknown-linux-gnu

You will get:
-Ctarget-cpu=skylake
-Ctarget-cpu=skylake

But should have gotten:
-Ctarget-cpu=skylake
-Ctarget-cpu=x86-64-v2

Thanks! That looks to be a duplicate of #13003, so closing in favor of that.


ubuntu packages

Create ubuntu deb packages
Build debs using launchpad's service. https://help.launchpad.net/Packaging/PPA
TODO

freedesktop style icon installers for Pothos GUI

Considerations

Find an existing deb package for poco 1.5 or up
Multiple stand-alone packages for each pothos-* component

The PPA supports vivid, utopic, and trusty. There are debs for poco, pothos gui and toolkits, soapy sdr, and various up to date hardware drivers:

Linux desktop support added to pothos gui: https://github.com/pothosware/pothos-gui/issues/94
Documentation: https://github.com/pothosware/pothos/wiki/Downloads#ubuntu-package-repository
Pothos PPA: https://launchpad.net/~guruofquality/+archive/ubuntu/pothos/+packages
Future packaging work: https://github.com/pothosware/gnuradio/issues/4


how to use "class" keyword

In the provided examples,  all implementations are placed in a structure. I really want to try "class" since it supports standard c++. The compiler is complaining that something can not be in private. Question, what methods have been put in private in default.

class and struct are both standard c++, with the only difference being the default accessor. Public for structs, private for classes.
I strongly suggest you use a struct to void the pain of switching visibility for different members. The implements<> structure App inherits from uses CRTP  in the library's innards to actually invoke a user-defined overload of an interface method, such as those in your program above.
Otherwise you will need to make sure that you add public: before any of the interface overloads are defined, and change "implements<IFace1, IFace2, ...>" to "public implements<IFace1, IFace2, ...>.
Your life will be easier using struct.


SpotX New Theme not work WebNowPlaying Redux

Hi with new theme and new spotify udate not run WebNowPlaying Redux with destkop player........?????

if the desktop player stopped reporting then blame Spotify or your Spotify settings, if it's the website then let me know.


Eng version

Hey!
Thank you for your etcd-manage it works great. Im trying the English version/option but it doesn't translate everything. I used some sed commands(on RHEL7) to change the Chinese to English and it worked fine for the most part. Only the "filter"(筛选) button on the LOGS tab and the "repair directory"(修复目录) button on the SERVER tab dont translate for me. These are the sed command I used before I compiled the binary.
`sed -i 's/确定删除/Confirm delete/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Keys.vue
sed -i 's/key不能为空/key can not be empty/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Keys.vue
sed -i 's/添加成功！/Added successfully!/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Keys.vue
sed -i 's/保存成功！/Successfully saved!/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Keys.vue
sed -i 's/确定删除/Confirm delete/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Keys.vue
sed -i 's/日期/Date/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Logs.vue
sed -i 's/请选择日期/Please select a date/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Logs.vue
sed -i 's/用户/User/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Logs.vue
sed -i 's/类型/Types of/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Logs.vue
sed -i 's/筛选/Filter/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Logs.vue
sed -i 's/选择日期查看日志/Select date to view the log/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Logs.vue
sed -i 's/请选择日期/Please select date/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Logs.vue
sed -i 's/docker方式etcd非集群方式/Docker mode etcd cluster mode/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/bin/config/cfg.toml
sed -i 's/本地etcd/Local etcd/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/bin/config/cfg.toml
sed -i 's/本机环境/Native environment/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/bin/config/cfg.toml
sed -i 's/docker方式etcd集群方式/Docker mode etcd cluster mode/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/bin/config/cfg.toml
sed -i 's/docker方式etcd非集群方式/Docker mode etcd cluster mode/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/config/cfg.toml
sed -i 's/本地etcd/Local etcd/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/config/cfg.toml
sed -i 's/本机环境/Native environment/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/config/cfg.toml
sed -i 's/程序退出/Program exit/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/main.go
sed -i 's/启动HTTP服务/Start HTTP the service/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/http.go
sed -i 's/启用tls必须配置证书文件路径/Enable tls must configure certificate file path/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/http.go
sed -i 's/域名列表不能为空/The domain name list cannot be empty/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/http.go
sed -i 's/etcd服务不存在/The etcd service does not exist/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/http.go
sed -i 's/无权限访问/No access/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/http.go
sed -i 's/修复目录/Repair directory/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/EtcdServer.vue
sed -i 's/确定修复etcd key的目录问题/Determine the directory problem for repairing the etcd key/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/EtcdServer.vue
sed -i 's/获取列表/Get list/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/获取key列表错误/Get key list error/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/获取key列表错误/Get the value of the key/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/获取key值的值错误/Get the value of the key value incorrectly/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/获取etcd集群信息/Get etcd cluster information/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/获取服务节点错误/Get service node error/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/删除key/Delete key/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/删除key错误/Delete key error/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/保存key/Save key/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/保存key错误/Save key error/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/参数错误/Parameter error/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/目录不能修改/Directory cannot be modified/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/格式化显示key/Format display key/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/key不能为空/Key cannot be empty/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/不支持的格式/Unsupported format/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/获取etcd服务列表/Get the etcd service column table/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/配置为nil/Configured as nil/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/解析日志文件错误/Parse log file error/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/读取日志文件错误/Read log file error/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/没有日志/No log/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/查看日志错误/View log errors/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/获取key的值/Get the value of the key/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/配置为nil/Configured as nil/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/修复数据错误/Fix data error/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/解析日志文件错误/Parse log file error/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/读取日志文件错误/Read log file error/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/program/v1/v1.go
sed -i 's/路径文本框/Path text box/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Keys.vue
sed -i 's/语言/Language/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Keys.vue
sed -i 's/展示方式切换/Display mode switching/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Keys.vue
sed -i 's/方式展示/way display/g' /root/go/src/github.com/shiguanghuxian/etcd-manage/static/src/views/Keys.vue`

谢谢你的反馈，英语比较差，你提到的提示文字翻译问题，我会在下一版解决，谢谢你细心找到这些提示，万分感谢
Thank you for your feedback. English is poor. The problem of text translation of tips mentioned by you will be solved in the next edition. Thank you for finding these tips carefully. Thank you very much.

Ah great! do you have an indication when that will be released?
太棒了！ 你有什么指示何时发布？

Thank you for the fast reply. Ill wait until you are back. Enjoy the holiday!
恭喜发财 / 恭喜發財

Thank you for your attention. Happy New Year

已经将提示的中文改为了英文，但是注释中的中文没有修改，UI的使用中避免了中文提示。
The Chinese prompt has been changed to English, but the Chinese in the commentary has not been changed, and the Chinese prompt has been avoided in the use of UI.

Thank you! I'm going to test it out!

好的，有任何问题都可以联系我
Okay, you can contact me if you have any questions.

It works perfect and everything seems to be translated!

Thank you for your work

好的，我看下这个问题，解决了会和你说，谢谢你的反馈
Okay, I'll take a look at the problem and I'll tell you that. Thank you for your feedback.


Add option to create debug-symbols in a separate file

Currently, we either have the option to make the images alone or with the debug symbols included in the same tar.gz/zip file.
This change is to have the option of including the debug symbols in a separate package, outside the JDK archive. If this option is called, we basically take the debug symbols of each platform, copy them to a new folder and then delete them from the images folder, and that folder just created is zipped as an artifact.
Issue: https://github.com/AdoptOpenJDK/openjdk-build/issues/2042

A couple of small nit-picks. What I think I'm missing though is the creation of the debug symbols themselves for Hotspot builds. That would need to occur in build.sh in the configureDebugParameters and buildTemplatedFile functions. Do you think you could add that to this PR or add it as a separate PR?

@karianna I originally thought this as if you want to get a debug symbols package you also need to provide something like --with-native-debug-symbols=external to generate them yourself. But if I understand correctly, what you are saying is if we call out this option we would like to ensure the debug symbols are going to be generated, right?

A couple of small nit-picks. What I think I'm missing though is the creation of the debug symbols themselves for Hotspot builds. That would need to occur in build.sh in the configureDebugParameters and buildTemplatedFile functions. Do you think you could add that to this PR or add it as a separate PR?

@karianna I originally thought this as if you want to get a debug symbols package you also need to provide something like --with-native-debug-symbols=external to generate them yourself. But if I understand correctly, what you are saying is if we call out this option we would like to ensure the debug symbols are going to be generated, right?

That looks correct to me.  We can adjust if folks discover they're not getting what they expect.  I'll approve this but not yet merge as we're blocking updates until after next Tuesday's release of Java 15

run tests

@milderhc - this will need rebasing I'm afraid.


[IR] Add an order parameter to TransOp.

Previously you could only do a 1D transpose.  Now you can do an
N-dimensional transpose.
I think the changes to test-allocation.mlir and matmul.mlir are because
we now vectorize the shmem load/stores in transposes in cases where we
previously did not do so.
This is an improvement to some A100 benchmarks.  From inspecting the IR,
it appears that this is because previously we did
convert_layout: #blocked -> #shared
trans: #shared -> #shared1
convert_layout: #shared1 -> blocked1

but now we can do
convert_layout: #blocked -> #blocked1
trans: #blocked1 -> #blocked2.

This saves a roundtrip through shmem.

Woo, this is ready for review!

Thank you for the review!

Hey Justin,
This commit seems to break usage of Volta for us with CUDA_ERROR_MISALIGNED_ADDRESS error. This is what we retrieved from compute-sanitizer:
========= Invalid __shared__ write of size 8 bytes
=========     at 0x3130 in a_
=========     by thread (1,0,0) in block (0,0,0)
=========     Address 0x84 is misaligned
=========     Saved host backtrace up to driver entry point at kernel launch time
=========     Host Frame: [0x3050c2]
=========                in /usr/lib/x86_64-linux-gnu/nvidia/current/libcuda.so.1

So far we investigated that the issue is coming from:
%71 = triton_gpu.convert_layout %70 {allocation.offset = 0 : i32} : (tensor<32x32xf32, #mma>) -> tensor<32x32xf32, #blocked>
We’re still working on pinning down the cause of the issue. If you have any ideas which specific parts of the commit might be related, please let me know!

Reported as an issue here https://github.com/openai/triton/issues/3078 with more additional information and a reproducer from our investigations.


deps(react-native): Update bugsnag-cocoa to v6.10.3

@nickdowell can you rebase/merge next? It's upset at multiple people editing the changelog ☹


w3mimgdisplay ignores padding

First off, just built this and I love it.
My only slight problem is that image previews in ranger ignore the padding so the last character of text goes under the image. I think the image should be bumped down and to the right by the padding value (which is 20x20 for me). I am not sure if this is something you can fix here of if it is even your problem. Just thought I'd ask. Thanks!

First off, just built this and I love it.

Glad to hear that! Thanks for sharing :)

image previews in ranger ignore the padding so the last character of text goes under the image.

Sounds like a bug. Would you mind posting a screenshot?

Here you go:

Thanks! Sharp look for your i3 setup btw. :wink:

Actually it's bspwm but thanks! :D

In my alacritty, ranger cannot show images with w3m

@Iambecomeroot does this work as expected in other terminals?

@jwilm Since other terminals use other methods for padding (custom gtk css, for example) yes it works. Tested in termite.

It might be worth logging if the escape CSI 13 ; 2 t is sent by w3m to check for text position inside the terminal.
That might be the only way to do this.


Performing multiple migrations ends up in prepared statement cache error

When performing database migrations, when AutoMigrate is called multiple times to add new columns in a Table the following error is observed:
    main_test.go:55: Failed, got error: ERROR: cached plan must not change result type (SQLSTATE 0A000)

This was identified as part of an upgrade task we were working where we are trying to update from gorm.io/gorm v1.21.7 to v1.23.10.
The commit in this PR contain the needed changes to reproduce the issue. Modifications made:

docker-compose file modified to only create postgresql
the postgresql connection created in db.go is created with the PrepareStmt: true attribute for its gorm.Config
The gorm.io/gorm dependency has been updated from v1.23.4 to v1.23.10. This has also indirectly updated other relevant dependencies like gorm.io/driver/postgres from v1.3.5 to v1.3.10 among other dependencies. go mod tidy has been applied after that too.
The GORM_BRANCH statement in the main_test.go file has been modified from master to v1.23.10
The TestGORM Go test has been removed from main_test.go as it is not needed to reproduce the issue
The TestGormMigrationWithPreparedStatements has been added. The test performs the following:

Creates the my_tables table in the PostgreSQL db by using DB.AutoMigrate with a MyTable struct type defined for this PR containing some attributes (see call to migrateT1)
Adds a new column in the my_tables  in the PostgreSQL db by using DB.AutoMigrateagain with a redefined MyTable struct type containing a new field (see call to migrateT2)
Adds a new column in the my_tables in the PostgreSQL db by using DB.AutoMigrate again with a redefined MyTable struct type containing a new field (see call to migrateT3)

To reproduce the issue run:
docker-compose up

and then:
GORM_DIALECT=postgres ./test.sh

The error shown at the beginning of this comment will be shown.
As explained, this issue was identified when we were migrating from gorm.io/gorm v1.21.7 to v1.23.10 in a project where we are using it. In v1.21.7 the reported issue does not seem to happen.

Additional logs:
GORM_DIALECT=postgres ./test.sh execution:
msoriano@localhost:~/go/src/github.com/miguelsorianod/playground (gorm-automigrations-error)$ GORM_DIALECT=postgres ./test.sh
git clone --depth 1 -b v1.23.10 https://github.com/go-gorm/gorm.git
Cloning into 'gorm'...
remote: Enumerating objects: 173, done.
remote: Counting objects: 100% (173/173), done.
remote: Compressing objects: 100% (167/167), done.
remote: Total 173 (delta 11), reused 42 (delta 4), pack-reused 0
Receiving objects: 100% (173/173), 201.28 KiB | 1.42 MiB/s, done.
Resolving deltas: 100% (11/11), done.
Note: switching to '328f3019825c95be6264cc94d3b4c32fe3cf61d1'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

testing postgres...
2022/10/04 17:50:22 testing postgres...
=== RUN   TestGormMigrationWithPreparedStatements
Migrating T1

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:167
[0.552ms] [rows:1] SELECT count(*) FROM information_schema.tables WHERE table_schema = CURRENT_SCHEMA() AND table_name = 'my_tables' AND table_type = 'BASE TABLE'

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:140
[8.357ms] [rows:0] CREATE TABLE "my_tables" ("id" bigserial,"created_at" timestamptz,"updated_at" timestamptz,"deleted_at" timestamptz,"field_one" text,PRIMARY KEY ("id"))

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:108
[4.555ms] [rows:0] CREATE INDEX IF NOT EXISTS "idx_my_tables_deleted_at" ON "my_tables" ("deleted_at")
Migrating T2

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:167
[0.511ms] [rows:1] SELECT count(*) FROM information_schema.tables WHERE table_schema = CURRENT_SCHEMA() AND table_name = 'my_tables' AND table_type = 'BASE TABLE'

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:42
[0.569ms] [rows:1] SELECT CURRENT_DATABASE()

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:369
[13.187ms] [rows:-] SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'gorm' AND table_schema = CURRENT_SCHEMA() AND table_name = 'my_tables'

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:524
[0.695ms] [rows:-] SELECT * FROM "my_tables" LIMIT 1

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:439
[11.487ms] [rows:-] SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'gorm' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'my_tables' AND constraint_type = 'UNIQUE'

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:451
[13.618ms] [rows:-] SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'gorm' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'my_tables'

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:482
[1.246ms] [rows:-] SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type
		FROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())
		WHERE a.attnum > 0 -- hide internal columns
		AND NOT a.attisdropped -- hide deleted columns
		AND b.relname = 'my_tables'

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:186
[1.384ms] [rows:0] ALTER TABLE "my_tables" ADD "new_field_two" text
Migrating T3

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:167
[0.758ms] [rows:1] SELECT count(*) FROM information_schema.tables WHERE table_schema = CURRENT_SCHEMA() AND table_name = 'my_tables' AND table_type = 'BASE TABLE'

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:42
[0.418ms] [rows:1] SELECT CURRENT_DATABASE()

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:369
[9.750ms] [rows:-] SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'gorm' AND table_schema = CURRENT_SCHEMA() AND table_name = 'my_tables'

2022/10/04 17:50:22 /home/msoriano/go/pkg/mod/gorm.io/driver/postgres@v1.3.10/migrator.go:524 ERROR: cached plan must not change result type (SQLSTATE 0A000)
[0.719ms] [rows:-] SELECT * FROM "my_tables" LIMIT 1
    main_test.go:55: Failed, got error: ERROR: cached plan must not change result type (SQLSTATE 0A000)
--- FAIL: TestGormMigrationWithPreparedStatements (0.08s)
FAIL
FAIL	gorm.io/playground	0.336s
FAIL

docker-compose logs:
msoriano@localhost:~/go/src/github.com/miguelsorianod/playground (gorm-automigrations-error)$ docker-compose up
Creating playground_postgres_1 ... done
Attaching to playground_postgres_1
postgres_1  | The files belonging to this database system will be owned by user "postgres".
postgres_1  | This user must also own the server process.
postgres_1  |
postgres_1  | The database cluster will be initialized with locale "en_US.utf8".
postgres_1  | The default database encoding has accordingly been set to "UTF8".
postgres_1  | The default text search configuration will be set to "english".
postgres_1  |
postgres_1  | Data page checksums are disabled.
postgres_1  |
postgres_1  | fixing permissions on existing directory /var/lib/postgresql/data ... ok
postgres_1  | creating subdirectories ... ok
postgres_1  | selecting dynamic shared memory implementation ... posix
postgres_1  | selecting default max_connections ... 100
postgres_1  | selecting default shared_buffers ... 128MB
postgres_1  | selecting default time zone ... Asia/Shanghai
postgres_1  | creating configuration files ... ok
postgres_1  | running bootstrap script ... ok
postgres_1  | performing post-bootstrap initialization ... ok
postgres_1  | syncing data to disk ... ok
postgres_1  |
postgres_1  |
postgres_1  | Success. You can now start the database server using:
postgres_1  |
postgres_1  |     pg_ctl -D /var/lib/postgresql/data -l logfile start
postgres_1  |
postgres_1  | initdb: warning: enabling "trust" authentication for local connections
postgres_1  | You can change this by editing pg_hba.conf or using the option -A, or
postgres_1  | --auth-local and --auth-host, the next time you run initdb.
postgres_1  | waiting for server to start....2022-10-04 23:50:06.786 CST [49] LOG:  starting PostgreSQL 14.5 (Debian 14.5-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
postgres_1  | 2022-10-04 23:50:06.789 CST [49] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
postgres_1  | 2022-10-04 23:50:06.802 CST [50] LOG:  database system was shut down at 2022-10-04 23:50:06 CST
postgres_1  | 2022-10-04 23:50:06.813 CST [49] LOG:  database system is ready to accept connections
postgres_1  |  done
postgres_1  | server started
postgres_1  | CREATE DATABASE
postgres_1  |
postgres_1  |
postgres_1  | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
postgres_1  |
postgres_1  | 2022-10-04 23:50:07.015 CST [49] LOG:  received fast shutdown request
postgres_1  | waiting for server to shut down....2022-10-04 23:50:07.018 CST [49] LOG:  aborting any active transactions
postgres_1  | 2022-10-04 23:50:07.020 CST [49] LOG:  background worker "logical replication launcher" (PID 56) exited with exit code 1
postgres_1  | 2022-10-04 23:50:07.021 CST [51] LOG:  shutting down
postgres_1  | 2022-10-04 23:50:07.041 CST [49] LOG:  database system is shut down
postgres_1  |  done
postgres_1  | server stopped
postgres_1  |
postgres_1  | PostgreSQL init process complete; ready for start up.
postgres_1  |
postgres_1  | 2022-10-04 23:50:07.140 CST [1] LOG:  starting PostgreSQL 14.5 (Debian 14.5-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
postgres_1  | 2022-10-04 23:50:07.140 CST [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
postgres_1  | 2022-10-04 23:50:07.140 CST [1] LOG:  listening on IPv6 address "::", port 5432
postgres_1  | 2022-10-04 23:50:07.146 CST [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
postgres_1  | 2022-10-04 23:50:07.159 CST [63] LOG:  database system was shut down at 2022-10-04 23:50:07 CST
postgres_1  | 2022-10-04 23:50:07.171 CST [1] LOG:  database system is ready to accept connections
postgres_1  | 2022-10-04 23:50:22.554 CST [70] ERROR:  cached plan must not change result type
postgres_1  | 2022-10-04 23:50:22.554 CST [70] STATEMENT:  SELECT * FROM "my_tables" LIMIT 1


Loading In Chunks - scrollToIndex

link: https://rintoj.github.io/ngx-virtual-scroller/about
tested on version: 4.0.1 ( also happening in older 3.0.3 )
Reproduction steps:

go to Samples / LOADING IN CHUNKS
don't scroll the table
click "ScrollToIndex 50" button
you can see that, you have only moved 4-5 rows away from the initial position.
every time you press that button it will take you again couple of more rows away from the previous position.

Expected behavior:
after clicking on the above mentioned button, it should take you to the row with index 50.
Note:

it only works when you scroll the table to the 50th index, then return back to the top, click on the "ScrollToIndex 50"..

can at least anyone confirm if this ever worked correctly?