Encourage users to upgrade to a securer version of npm

What
We want to make sure our users are using a secure version of npm, following a recommendation by the GitHub security blog.
Why
Older versions of npm have a security vulnerability that can be used to run arbitrary code on a user's laptop when installing a package, even if they don't want it to [1].
Who needs to know about this
Developers, Content designers, PM?
Done when

[ ] Thing to do

We've just merged a change to the repo to help users who are using Node Version Manager (nvm) to use a more secure version of npm, however we don't tell users to use nvm, so this might not help many users.
We've also published a message in the prototype-kit x-gov Slack channel, but the instructions are fairly technical.
We could look at other ways to encourage users to upgrade, for instance by putting something in the release notes, or even making changes to the install script and package.json file to warn them if they are using an insecure version.

@lfdebrux @joelanman @domoscargin and I had a chat about including something in the 9.15.0 release notes about this. This was prompted by a discussion about the change to the .nvmrc file being included in the Changelog.
We don't think many people will be using nvm, so it's difficult to know what to put in the release notes regarding that change specifically. We could do something like:

We don't think many people will be affected by this change. If you are using Node Version Manager (nvm) you should run nvm install and nvm use to make sure you're using a secure version of Node and npm.

However, @lfdebrux suggested dropping the documentation for that specific change and instead using the release notes as a good place to flag generally about the vulnerability, even for people not using nvm. This could be similar to the message that was put out on Slack when the incident happened. Laurence is going to draft a PR and we'll ask Eoin to take a look before it's merged.


Remove npm requirement from package.json

A continuation of #1.
This is causing headaches for us downstream. Using a higher npm version shouldn't have an impact on the functionality of the package.

This actually isn't needed, oops.


Target-level incremental re-building when build.sc changes

The goal of this ticket would be to make it so that changing build.sc code does not aggressively invalidate all target caches, and instead can invalidate only the ones downstream of the code change. This would make Mill more suitable for larger projects and monorepos, where invalidating the whole world becomes an increasingly expensive operation as the size of the codebase grows.
This global invalidation is somewhat mitigated by Zinc's incremental compilation, but that only applies to Scala targets and not any of the other things Mill builds. Duplicating it for all target types, even ad-hoc user defined targets, is probably unfeasible
This is probably not as difficult as it seems:

SBT already has this functionality for re-running tests on changes, making use of the analysis files generated by the Zinc incremental compiler.

The com.lihaoyi:::acyclic plugin takes another approach, but also involves dumping the fine-graph code-level dependency graph during compilation

It is unlikely we will be able to catch all dependencies, e.g. if someone is mucking around with shared mutable state we can't see that, but that's already a limitation in the current Mill approach. Assuming the code lacks shared mutable state, we should be able to invalidate things as precisely in response to code changes as we currently do in response to T.input changes
Roughly, that would involve the following steps:

Replace Ammonite script running with a MillBuildModule, to compile the build.sc using Mill itself, to unlock access to Zinc and incremental compilation. This would also put everything into one compilation unit, simplifying things if we choose to go with the compiler plugin approach, although not strictly necessary

Using either approach above (SBT or Acyclic), make the classpath hash that we feed into the target cache keys only dependent on the external classpath, and use the internal graph/hashes computer from Zinc or our own compiler plugin to provide fine-grained invalidation for changes

(Optional) do bytecode analysis to allow fine grained invalidation of external classpath changes too (probably not worth the hassle, but it's an option if we choose to do so)

CC @lefou @lolgab, WDYT?

Does that mean, a changed build.sc wide variable will only affect those targets who use it (as well as their downstream users), all other targets do not need to recompute? This would be great!

that's right. Even if the change was in a helper function or something, we could crawl the call graph and figure it out. After all, that's what SBT does for testquick, and what acyclic does to find inter-file circular dependencies

We already have caching which works at build file level.
What we do is to get the class where a target is defined and we get an identifier for the build file from that class name.
Then we use the file imports tree from ammonite to build a hash for the script and its dependencies.
Since we don't know dependencies between classes from Ammonite (haven't investigated if it's already possible to do that), we remove any inner classes from the identifier so we can treat a script as an atomic thing.
Having said this, I hope that we can build on top of the existing functionality, maybe by increasing the granularity of the current working solution from file-level to class-level.
To do that we need to stop removing inner classes from identifiers and have a way to construct the importTree that keeps dependencies between classes instead of just dependencies between files.

@lolgab It's not clear to me, whether you argue against this proposal or just try to provide an implementation idea based on Ammonite.
I'd also like to use existing mechanisms to deduce code dependencies.
I haven't inspected async in this context, so I can't tell much about it, but I assume Haoyi is knowing it very well. The idea to use zinc analysis sounds even nicer to me, as there is already some API and tooling to produce it. But I have zero experience using said API to get the information we might want.
The use of zinc analysis requires a different build process though, hence @lihaoyi suggested the MillBuildModule approach, which isn't ready to use yet. But a switch to build Mill with Mill is kind of eating the own dog food, we better control what we need without much additional cost, as we maintain a ScalaModule anyways. We would immediately profit from incremental compilation. And when included files are disentangled from each other (in contrast to current Ammonite script compiler approach), the whole foreign module story would profit, as we even might be able to use the cache locations of the foreign modules directly, which would reduce the amount of redundant build work and cache storage even further.

I think long term Ammonite scripts are a dead end: they support a lot of dynamism nobody actually want, and in exchange cannot support incremental-compilation/pre-compilation/packaging/etc. that people actually need. They also duplicate a lot of what Mill does: dependency analysis, file hashing, invalidation, etc. but in an ad-hoc manner.
Long term I believe we should replace them with Mill's own bootstrap scriptrunner or with ScalaCLI. From a dependency hygiene perspective, I'd try the Mill approach first. Not having to debug two different build servers, deal with two separate configuration frameworks, two sets of business logic libraries, etc.  would be a huge advantage over both the status quo or going with ScalaCLI

@lefou I'm all in for this proposal! I should have said clearly!
What I wanted to say is that we don't need to start from scratch but provide a class-level dependency tree (which might come from the MillBuildModule and zinc, but I don't know how it would work) instead of the file-level dependency tree taken from Ammonite today.
Once we do that, most of the existing implementation can probably be reused.

I had trouble in the past with undercompilation in zinc. This is especially relevant when macros are used, which is the case in Mill. Beside using zinc in MillBuildModule, I think if we can get some kind of source dependency tracking in pure Scala code (like it is done in async) I would have more confidence in it's accuracy. This also means we are less coupled to zinc internals.
When building projects, it's easy to just drop incremental compilation results, but it may be a bit harder to even detect when Mill uses cached values based on incorrect code path dependencies.

Doing this in userland Scala code is unlikely to work. Scala code is opaque unless lifted into some M[T] the way we do Task[T], and lifting every single method call into a Task is unfeasible. It would also defeat the purpose of letting people write build logic in plain Scala.
We'd need to go one level deeper and do it at the language/runtime level: either a Scala compiler plugin or a JVM bytecode analyser. Not sure which one is easier to implement, but both should be doable

Thanks for clarifying. I guess I triggered you by saying "pure Scala", while I had some macro or compiler code in mind, sorry. You are the expert here. IMHO, we should use whatever is the easiest path to success. I have no clear picture of how complex it is, but I hope I can understand it in principle once it arrives.

@lefou you mentioned MillBuildModule isnt ready to use. What's the status of that? Is there a PR or something I can commandeer if I wish to push it forward?

Thanks, I think I understand.
We should be able to drop the Ammonite-specific idiosyncracies right? Since we're aiming to drop Ammonite, as long as we can compile and run the build file, it shouldn't matter if we don't e.g. follow the Ammonite package prefix convention

Thanks, I think I understand.
We should be able to drop the Ammonite-specific idiosyncracies right? Since we're aiming to drop Ammonite, as long as we can compile and run the build file, it shouldn't matter if we don't e.g. follow the Ammonite package prefix convention

I think working with default package (no package at all) has issues (you simply can't) once you try to import from another script which belongs to a package (because it is in a subdir). But choosing the same top-level package as the tool is probably not a good idea. The build script has not the same origin, and mechanisms like access restrictions with private[package] may not be effective.

Best is to come with some cryptic-generated package name, e.g. mill$$yolo.

Implemented in #2417


Container looses internet access when added manually to calico network

Not sure if this is expected behavior, but I'm pretty sure it worked (as in I had internet access after adding the container to the network) in a previous release (before version 0.4.7)
I start a container with docker, leaving the default networking, and not using powerstrip or libnetwork
docker run -dti --name test ubuntu
I confirm the container can access the internet
docker exec test ping google.com
PING google.com (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=55 time=20.8 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=55 time=18.1 ms

I add the container to the calico network
./calicoctl container add test <IP_ADDRESS>
I note now that the container cannot access the internet as the ping command does not print any output (or eventually prints ping: unknown host google.com)
calicoctl version 0.5.3

@flipchart I suspect what's happening here is that your container can send packets to the Internet just fine, but the replies aren't routed back to the container.  You can turn on NAT for outbound traffic, which should allow outbound Internet access:  https://github.com/Metaswitch/calico-docker/blob/master/docs/FAQ.md#how-can-i-enable-nat-for-outgoing-traffic-from-containers-with-private-ip-addresses

Outgoing NAT doesn't seem to have resolved the issue. I used the following commands:
./calicoctl pool add <IP_ADDRESS>/16 --nat-outgoing
docker run -dti --name nat ubuntu
./calicoctl container add nat <IP_ADDRESS>
docker exec nat ping google.com

No output from the last one. I assigned a profile to the container as well which allowed everything.
After I had run the above tests, I decided to remove the container from the calico network (calicoctl container remove nat) to see if internet connectivity was restored, but it was not. I had a look at the output of ip route for the newly created container (before adding to the calico network), when the container had been added to the calico network, and then after the container had been removed from the calico network. See output below:
Before calico
default via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/16 dev eth0  proto kernel  scope link  src <IP_ADDRESS>

After calico
default via <IP_ADDRESS> dev eth1
<IP_ADDRESS> dev eth1  scope link
<IP_ADDRESS>/16 dev eth0  proto kernel  scope link  src <IP_ADDRESS>

After removing from calico
<IP_ADDRESS>/16 dev eth0  proto kernel  scope link  src <IP_ADDRESS>

So I don't get my default gateway back after removing from calico which could be why I can't get internet access after leaving the calico network. My understanding and experience with networking is very limited, especially with Linux so forgive me if I'm showing expected behavior as something strange :) However, I believe that adding and removing a container from the calico network should be reverse operations and leave the container in its original state when both have been performed successively.

@flipchart thanks for the update.  Let's try to divide and conquer.  You can't ping google.com; I'm interested if it's DNS failing, connectivity to the Internet failing, or both.
Can you ping <IP_ADDRESS>?  If so, then we're just looking at a DNS resolution issue.
From within the container, what's inside resolv.conf?  e.g.
cat /etc/resolv.conf

Thanks for the response. I've run the commands you requested, but to no avail. I ran them with containers on both a --nat-outgoing pool and regular pool with the same results
So probably not a DNS issue (alone). Below is the result after adding to the calico network
root@5ac2f4ffadd9:/# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
^C
--- <IP_ADDRESS> ping statistics ---
27 packets transmitted, 0 received, 100% packet loss, time 26001ms

Below output is received no matter when run (before calicoctl container add, after adding, and after removing)
root@5ac2f4ffadd9:/# cat /etc/resolv.conf
# This file is managed by systemd-resolved(8). Do not edit.
#
# Third party programs must not access this file directly, but
# only through the symlink at /etc/resolv.conf. To manage
# resolv.conf(5) in a different way, replace the symlink by a
# static file or a different symlink.

nameserver <IP_ADDRESS>

I didn't mention it before, but my environment is Windows 10, Vagrant 1.7.4, VirtualBox 5.0.0, CoreOS 717.3.0 guest, and docker:
Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 7c8fca2-dirty
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 7c8fca2-dirty
OS/Arch (server): linux/amd64

Hi @flipchart I've just reproed your issue locally, but I'm still not sure what's going on. I'm fairly certain there's a bug here so I'll continue looking at it tomorrow and try to get a fix in ASAP.

Hi @flipchart,
I looked into this a bit more.  The issue is that you have not set up a security profile to use with your container.
When a container is added to Calico, Calico takes over all networking.  The container cannot send or receive traffic until it has been assigned a security profile.  You can create a profile and assign it to the container.  By default, the profile will allow the container to send outbound traffic anywhere, but the container will only be able to receive traffic from other containers that have been assigned the profile.
Using NAT, as Spike mentioned above, will allow outbound internet access once you have a profile assigned.
Here's an example:
calicoctl node
docker run -dti --name test ubuntu
docker exec test ping -c 3 <IP_ADDRESS>
# PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
# 64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=56 time=5.28 ms
# 64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=56 time=4.66 ms
# 64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=56 time=4.84 ms

calicoctl pool add <IP_ADDRESS>/16 --nat-outgoing
calicoctl container add test <IP_ADDRESS>
docker exec test ping -c 3 <IP_ADDRESS>
# No connectivity, let's add a profile

calicoctl profile add PROF_TEST
calicoctl container test profile set PROF_TEST
docker exec test ping -c 3 <IP_ADDRESS>
# PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
# 64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=56 time=4.69 ms
# 64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=56 time=5.14 ms
# 64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=56 time=4.79 ms

Let me know if this works!

I can no longer repro the problem so closing. @flipchart please let us know if you're still hitting this issue and we'll reopen and investigate further.


WIP: Toronto Face Database

For now is rather a quick "I need TFD 48x48"-hack. But I would extend it to be a polished dataset for the 48x48 and 96x96 TFD.
I'm not sure how to best deal with the 5 different folds defined for this dataset. But I did not look into the 'splits' interface yet. Does it support fancy-indexing instead of simple slices to specify splits?

The 'split' interface doesn't support fancy indexing yet, but it shouldn't be overly complicated to implement. I'll have a look at that this week if I have time.

Is the URL for TFD publicly available? If so, we should make a downloader for it. If not, it may still be interesting to have a downloader and have its subparser require the URL as a command-line argument.

Could you elaborate on how the folds variable in the TFD_48x48.mat file is organized?

No, AFAIK there is no publicly available URL to download it.
It seems the established way to get access to is to contact the author/collector Joshua M Susskind (http://aclab.human.cornell.edu/people/josh/). I will contact him and ask him what he recommends we should do.
The folds matrix in TFD_48x48.mat is of shape (102236, 5) and of type uint8. For each image there is one row; and it defines 5 different folds (== 5 columns).
A 0 element indicates the image is unlabeled; a 1 indicates it should be used as a training example, a 2 indicates it should be used as a validation set example and a 3 indicates it should be used as a test set example. In other words: The set of unlabeled examples is the same for all 5 folds, but each fold assigns the labeled examples differently to the train/valid/test sets. I did not implement the different folds (and I'm not yet sure what the best approach would be).
I think there is another open question with this dataset: There is a version with 48x48 images, and a version with 96x96 images. There are obviously multiple options how we could handle this -- I currently think we should choose one these:

Use two different dataset classes (TorontoFaceDataset48 and TorontoFaceDataset96), two different hdf5 files and two different conversion scripts.

Use two different dataset classes (TorontoFaceDataset48 and TorontoFaceDataset96) but have them both load the data from one common .hdf5 file which is created by a single conversion script which merges the TFD_48x48.mat and TFD_96x96.mat files Josh distributes into one.

If the author is comfortable with the idea, it would be great to have it publicly available. If not, like I said, I would still make a downloader script but require that the user enters the URL as a command-line argument for the sake of consistency.
We're increasingly trying to stay as close as possible to the original data, so we'd definitely need to keep the two datasets separate.
I'm facing a similar issue for SVHN, where format 1 contains uncropped images and format 2 contains cropped images. I've decided to keep both formats under the same name, but have the format be an argument to the downloader, the converter and the dataset. You can have a look at my PR (#133) to see how I've implemented it.

I don't think it's a matter of the author's wishes but of license
agreements, sadly.

Alright. Let's go with the URL-required-in-downloader option, then.

It's a pretty sad thing for TFD that it is so license-ridden. It's a useless barrier to research and innovation.

Yes -- and I guess it's also annoying for Joshua to distribute his processed files only to persons who can show that they have acquired the  necessary licenses.

Yes, it must be.

@jbornschein I'm doing a cleanup of the open PRs. Would you still like to go ahead with this one?

Oh, I totally forgot about this one.
I'll take a closer look and either finish it or close the PR within the next week.


Error: Failed to copy generic files

Hi, version 2.6.0 is giving me this error when trying to backup. I have iPhone9,4 - iOS 14.6, checkra1n

Hey, thanks for reporting this! Would you mind enabling developer mode, by long pressing on the Snorlax, and sharing a screenshot/recording of the log output seen at the bottom of the progress view during a backup? Thanks again!

I made a record.
https://github.com/L1ghtmann/IAmLazy/assets/31702699/fd0f2923-0963-4af5-ad83-c830a827bd4f

how to fix ti?

@ovocie where is your XenHtml from?
@ytx0574 would you mind sharing more about what you're experiencing? Version, device, jb, etc. Also, if you could provide a screen recording of the backup with debug view enabled like ovocie that would be great.
Thanks both!

@L1ghtmann where can I find a debug output?

@ovocie can you spot any errors in the debug output?
@ytx0574 would you mind sharing more about what you're experiencing? Version, device, jb, etc. Also, if you could provide a screen recording of the backup with debug view enabled like ovocie that would be great.
Thanks both!

My debug video is the same as @ovocie, my environment: iPhone12Pro Max 14.2.1 Taurine

I carefully analyzed the logs, and there were so many errors that I didn't know which ones were fatal. Because when I did the backup with another device, there were also errors, but it worked

Thank you both for the information. I apologize for not being super present in fixing this. I intend to take a closer look this weekend. At a bare minimum, I plan to improve the debugging output so it's easier to see what's going on. Will let you both know when that happens

I don't know how to set up an environment to run your code, it would be nice if you could record a video to provide a guide, MacOS13.6.3/Xcode15/MonkeyDev

https://theos.dev/docs/installation
git clone --recursive
cd
make clean package

also pass THEOS_PACKAGE_SCHEME=rootless if applicable

我禁用了备份时的dismissviewcontroller, 并从日志里面找到如下
Failed to create /tmp/me.lightmann.iamlazy/trousers/etc! Info: The file “etc” couldn’t be saved in the folder “trousers”.
当我删除trousers, 它工作了

https://theos.dev/docs/installation
git clone --recursive [this repo]
cd [local repo dir]
make clean package

also pass THEOS_PACKAGE_SCHEME=rootless if applicable

I disabled dismissviewcontroller when backing up, and found the following in the log
Failed to create /tmp/me.lightmann.iamlazy/trousers/etc!  Info: The file “etc” couldn’t be saved in the folder “trousers”.

When I removed the trousers, it worked
Thanks @L1ghtmann

So the package trousers caused the backup to fail? If so, can you please share where the tweak is from. I'd like to investigate further. Thank you so much for your assistance!

It seems that very early on, I installed screendump's generated dependency plugin

Hey @ytx0574, I have just sent v2.6.1 in for publishing. It greatly improves the error handling and debug view. If you are still encountering this issue and wouldn't mind, could you try it out when it's live and share the error(s) you encounter. The log can be viewed from 'Show Details' in the error/post-op prompt. Thanks!

okay, I'll try. thanks for update, bro.


Order of lines in GAM ouput

When I run the following command (a second time) via SSH:
gam.py create group<EMAIL_ADDRESS>2>&1
The output is in this order:
Creating group<EMAIL_ADDRESS>[blank line]
ERROR: 409: Entity already exists. – duplicate

But when I run it through PHP with an exec() function (using the return array option), the array returned looks like this:
array {
[0]=> string(0) ""
[1]=> string(46) "ERROR: 409: Entity already exists. - duplicate"
[2]=> string(38) "Creating group<EMAIL_ADDRESS>}

So, because I’m expecting the consistency in the order of the lines returned, with the last line containing the error, it complicates how I need to parse the result.
I'm not sure this is a GAM discrepancy, but it is annoying! :)

The "Creating group ,,," line is written to stdout; the blank line and the
error line are written to stderr.
When running Gam you get them in chronological order as you would expect.
Your PHP exec function seems to be giving you stderr, then stdout.
This not not a Gam discrepancy, PHP exec is what's annoying you.
Ross
On Sun, Jun 4, 2017 at 4:34 PM, sitecarp<EMAIL_ADDRESS>wrote:

When I run the following command (a second time) via SSH:
gam.py create group<EMAIL_ADDRESS>2>&1
The output is in this order:
Creating group<EMAIL_ADDRESS>[blank line]
ERROR: 409: Entity already exists. – duplicate
But when I run it through PHP with an exec() function (using the return
array option), the array returned looks like this:
array {
[0]=> string(0) ""
[1]=> string(46) "ERROR: 409: Entity already exists. - duplicate"
[2]=> string(38) "Creating group<EMAIL_ADDRESS>}
So, because I’m expecting the consistency in the order of the lines
returned, with the last line containing the error, it complicates how I
need to parse the result.
I'm not sure this is a GAM discrepancy, but it is annoying! :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/508, or mute the thread
https://github.com/notifications/unsubscribe-auth/AIU8L9GWTSa1mWSkmwEvYiOjpn5XSMHjks5sAxTOgaJpZM4Nve7T
.

--
Ross Scroggs
<EMAIL_ADDRESS>

Okay, thanks! I'll accommodate returns of various formatting.


add optional syntax highlighting

This makes debugging XML elements much easier, and doesn’t add any dependency when it is disabled.

Thanks!


Is it possible to have 1.2 RC released

The latest code has some useful featues like jsonPath support in EnvoyPatchPolicy, is it possible to have a release of gateway and helm chart for 1.2 RC ?

1.2.0-rc.1 should release in early October
you can use the bleeding edge release tag v0.0.0-latest until then to try out the latest unreleased features
https://gateway.envoyproxy.io/latest/install/install-helm/#install-with-helm


Failed to change container size from Environment UI

Env as local and created with default small sized apache2 containers: three were created for the env. I was simply upgrading their size from small to medium on all of them and pressing change on this pre-created local environment and got stuck like this:

Attached is the karaf.log file.
karaflogs2016-07-24 19-34-31.txt

Larik please use io.subutai.core.lxc.quota.api.QuotaManager#setQuota

@larenso use io.subutai.common.peer.ContainerHost#setQuota


EasyOcr Constructor refactor, enable customization of underline eazyocr instance

For convinienvce of usage much of EasyOcr features (e.g custom models), it woul'd be greate having ability to pass params of EasyOcr constructor
Maybe you'd consider to open branches for commiting. I think many of us would like to contribute. Thanks for your work great library 💯  🎉

Hi,
Yep, it is definitely possible to allow constructor kwargs for all of the open-source OCRs.
I will update the code to do so.
Meanwhile, you can submit your contribution if you want using the "usual" way: fork --> PR. Otherwise, it would most likely get way too messy way too quick


Add no-args contructors for abstract constructors to support quarkus client injection.

This is an enabler for @ApplicationScoped beans in the java clients using this library.
Code comment mostly says it:
/***

No args constructor to support synthetic creation of no-args constructor in CDI in impls for normal scope bean
proxying. Supports producers (@Produces) of @ApplicationScoped beans in containers like Quarkus.
(https://github.com/quarkusio/quarkus/issues/22669#issuecomment-1006147659)
*/

/lgtm


Increase amount of playwright workers

Try to saturate the circleci worker more by running tests in parallel. According to insights, the test_unit workflow takes 17m24s on average (This is an overestimation because failing runs often take much longer due to retries). The test_unit workflow of this PR ran in 10m47s. Which is about 65% of the average, a 35% reduction in duration.
I had to update the test to run on a different port for each testcase as running on the default port resulted in race conditions. Toolpad does select a different port when the default one is in use, but this isn't built in a way that can handle concurrency-safe starting on two Toolpad processes simultaneously without specifying a port.
CPU usage before:

CPU usage after:

looks great if our current plan can take it!

We are building the same things in less time on the same resources. Which means we'll actually be using fewer credits per pipeline.


Cannot install plugin

Hi everybody,
The following error is produced when applying changes to project structure:
Error |
Resolve error obtaining dependencies: Could not find artifact org.grails.plugins:spring-security-ui:jar:1.0-RC3 in grailsCentral (http://repo.grails.org/grails/plugins) (Use --stacktrace to see the full trace)
Error |
Resolve error obtaining dependencies: Could not find artifact org.grails.plugins:spring-security-ui:jar:1.0-RC3 in grailsCentral (http://repo.grails.org/grails/plugins) (Use --stacktrace to see the full trace)
Error |
Resolve error obtaining dependencies: Could not find artifact org.grails.plugins:spring-security-ui:jar:1.0-RC3 in grailsCentral (http://repo.grails.org/grails/plugins) (Use --stacktrace to see the full trace)
Error |
Could not find artifact org.grails.plugins:spring-security-ui:jar:1.0-RC3 in grailsCentral (http://repo.grails.org/grails/plugins)
Environment:

Java 1.7
Grails 2.3.8
IntelliJ IDEA 15 as IDE

Dependency added to BuildConfig.groovy:
compile "org.grails.plugins:spring-security-ui:1.0-RC3"
Thanks in advance.

I got it to install using their latest release:
compile "org.grails.plugins:spring-security-ui:3.0.0.M2"

@Timzawrzzz that's the version for Grails 3, the issue was raised against Grails 2

It's looking for a jar file, did you put the plugin dependency in the dependencies section? It has to be in the plugins section with the rest of the plugins.

Hi @ManuelitoCalles and thank-you for submitting this issue!
Did Burt's recommendations work for you?  Has this been resolved?

I'm opting to close this Issue because it is not reproducible.
@ManuelitoCalles  please contact me if this is is still an issue for you and you would like it reopened.

yes This is still an issue for me @ddelponte

ng process on monir-PC/<IP_ADDRESS>
Loading Grails 2.5.4
|Configuring classpath
Error |
Resolve error obtaining dependencies: Could not transfer artifact org.grails.plugins:tomcat:zip:<IP_ADDRESS> from/to grailsCentral (https://repo.grails.org/grails/plugins): Received fatal alert: protocol_version (Use --stacktrace to see the full trace)
Error |
Resolve error obtaining dependencies: The following artifacts could not be resolved: cglib:cglib-nodep:jar:2.2.2, org.grails:grails-datastore-test-support:jar:1.0.2-grails-2.4, org.grails.plugins:scaffolding:zip:2.1.2, org.grails.plugins:cache:zip:1.1.8, org.grails.plugins:asset-pipeline:zip:2.5.7, org.grails.plugins:hibernate4:zip:4.3.10, org.grails.plugins:database-migration:zip:1.4.0, org.grails.plugins:jquery:zip:1.11.1: Could not transfer artifact cglib:cglib-nodep:jar:2.2.2 from/to grailsCentral (https://repo.grails.org/grails/plugins): Received fatal alert: protocol_version (Use --stacktrace to see the full trace)
Error |
Resolve error obtaining dependencies: The following artifacts could not be resolved: org.grails.plugins:scaffolding:zip:2.1.2, org.grails.plugins:cache:zip:1.1.8, org.grails.plugins:asset-pipeline:zip:2.5.7, org.grails.plugins:hibernate4:zip:4.3.10, org.grails.plugins:database-migration:zip:1.4.0, org.grails.plugins:jquery:zip:1.11.1: Could not transfer artifact org.grails.plugins:scaffolding:zip:2.1.2 from/to grailsCentral (https://repo.grails.org/grails/plugins): Received fatal alert: protocol_version (Use --stacktrace to see the full trace)
Error |
Resolve error obtaining dependencies: The following artifacts could not be resolved: org.grails.plugins:scaffolding:zip:2.1.2, org.grails.plugins:cache:zip:1.1.8, org.grails.plugins:asset-pipeline:zip:2.5.7: Could not transfer artifact org.grails.plugins:scaffolding:zip:2.1.2 from/to grailsCentral (https://repo.grails.org/grails/plugins): Received fatal alert: protocol_version (Use --stacktrace to see the full trace)
Error |
Could not transfer artifact org.grails.plugins:tomcat:zip:<IP_ADDRESS> from/to grailsCentral (https://repo.grails.org/grails/plugins): Received fatal alert: protocol_version
|Run 'grails dependency-report' for further information.

I am new in grails i use grails-2.5.4 and jdk1.7.0_80 when i try to create a project it show this error

Here's a few suggestions/questions:

does it work if you create a new grails project at the command line?
have you tried removing ~/.grails/ivy-cache and then create a new project?
have you tried grails clean followed by grails refresh-dependencies?
have you tried creating a new project with IntelliJ instead of GGTS?

This is just an ssl issue (TLS 1.2). Fix would be to upgrade your java version to 1.7.0_131 or above.
Also adding -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 as parameter for example compile process workrs for me.
grails compile -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2

Thanks @smakela !  Closing

Compile with -Dhttps.protocols did have not worked for me.
That's what I did
https://github.com/grails/grails-core/issues/11082#issuecomment-943468796


Edited README via GitHub

Added a note about the quarantine flag, which causes a silent failure to load the plugin.

After more research and some other patches to add, I'm going to provide the plugin as a .pkg, where you can explicitly set the file permissions up front.


Peek does not display .cfg files

Description of the new feature / enhancement
Please allow viewing .cfg files. They are numerous in Microsoft Flight Simulator and are simply text files.
Scenario when this would be used?
Viewing .cfg files
Supporting information
No response

/dup #26760


NameError: global name 'install_dirs' is not defined

When doing python setup.py install the script has referred to install_dirs  instead of install_dir.
A quick fix in the script is necessary.

Hello,
I am keen to learn what solution was found for this, as I am encountering the same problem.
Regards

Look at the pull requests, they have the fix, or clone from my fork.

No the issue still exists. Could you send a pull request of the same?
I've manually corrected mine.

Can you confirm what this is in relation to?
On Tue, 30 Oct 2018 at 13:38, Varun Sundar<EMAIL_ADDRESS>wrote:

No the issue still exists. Could you send a pull request of the same?
I've manually corrected mine.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/uoip/pangolin/issues/5#issuecomment-434241755, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AlcdUNC_9fyDb12ZhQaki9EQlWPli97Cks5uqCUUgaJpZM4SCy7t
.

NameError: global name 'saring_id_group0' is not defined how to fix it ? Plz help

For anyone coming across this issue, as mention by @plasticuproject, simply renaming all install_dirs instances to install_dir in setup.py and running the command python setup.py install should work.


move some spoof helpers to the spoof package

This helps avoid pulling in the pkg/test globals
Note: I left aliases so this shouldn't be a breaking change

/hold checking downstream

/retest metrics flake

/retest

new flake configmap - TestInformedWatcher
https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_pkg/1827/pull-knative-pkg-unit-tests/1318663218943496192
/retest

/retest

had to rebase - github actions don't merge HEAD so downstream bumping breaks

/lgtm

yeah I looked and saw all the failures from like october so I ignored them

/hold cancel


Update base image to Valetudo 2021.09.1

could you please update to 2022.01.0

Not yet, there are problems to merge the new code


Add measurementtype for METABOLIC_AGE

Added the measurementtype for METABOLIC_AGE.  This addresses https://github.com/joostlek/python-withings/issues/434
Proposed Changes

An error is being logged stating the 227 is an unsupported value for the MeasurementType enumeration.  This adds that value to the enum with a name of METABOLIC_AGE.

Related Issues

https://github.com/joostlek/python-withings/issues/434

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (107dea7) to head (3132c08).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #477   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines          769       770    +1
  Branches        51        51
=========================================
+ Hits           769       770    +1

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


Replace usage of the built-in git.pull & git.pullRebase commands with a pure implementation

Might fix: https://github.com/eamodio/vscode-gitlens/issues/863

Closing this as GitLens will continue to rely on the VS Code pull implementation.

Closing this as GitLens will continue to rely on the VS Code pull implementation.


Add roslyn dev15-preview-4-dogfood branch

@dotnet/roslyn-infrastructure  @mmitche Who has access to merge this?

Tagging other likely suspects directly: @jaredpar @davkean @jasonmalinowski @tannergooding

Merged

Thanks!


improve documentation to get this running on Google Cloud-Run

After trying to get this container to work on google cloud run, there are issues where the conversions are not working.
I have tested a CURL request upload an image to convert to PDF works locally on docker, also worked on Azure Container Instances,
here is cloud-run issue
020-01-28T22:39:40Z{level: error, msg: context deadline exceeded, op: xhttp.officeHandler: xhttp.convertSync: xcontext.MustHandleError: printer.officePrinter.Print: printer.unoconv: xexec.Run, trace: 7a9DlMappjt4PGv0x0AdIuvQ6Ehq8WLO}
The setup was deploy container to google container registry, then setup cloud deployment, changed port to 3000, no security, and it uploads file but fails.

Sorry for the delay ; you should increase the waitTime even more. Or try to increase the available memory on your CloudRun instance.

Yes I had it set for up to 5 min, when i run this locally, or on Azure it returns in under 2 seconds, with my tests.  I suspect there is something wrong with how this deployment works in cloud-run, there might be some optimizations needed for google-cloudrun stability.

I tested it yesterday on cloud run and even though the startup is slow, it works perfectly.

Same I've tested it a few weeks back and it worked perfectly fine 🤔

Hey guys do you have a tutorial/blog post on how to config the image to run correctly in cloud run? I successfully deploy on cloud run but port 3000 doesn't seems to be receiving request, should I do something with the ports like switching to 80?
Thanks in advanced! awesome tool!


chore(license): add license check in Travis

Signed-off-by: mittachaitu<EMAIL_ADDRESS>
**What this PR does **:
This PR does the following changes:

Add license check in the Travis.
Copy the source code from src/assert.h to src/assertion.h
Add license content for missing files.

How I Verified:

Pushed the changes without adding a license file and Travis failed.

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Checklist:

[ ] Fixes #
[ ] Labelled this PR & related issue with documentation tag
[ ] PR messages has document related information
[ ] Labelled this PR & related issue with breaking-changes tag
[ ] PR messages has breaking changes related information
[ ] Labelled this PR & related issue with requires-upgrade tag
[ ] PR messages has upgrade related information
[ ] Commit has unit tests
[ ] Commit has integration tests

check_license

Done


aktuelle Wettermesswerte

https://opendata.dwd.de/weather/weather_reports/poi/

you are right, the values are already 10 minutes old

The values are only reported every hour and updated 40 minutes after the hour. Do you really want these values?

I think I was posting this as a reaction to your post
Please note, that the "current" weather values are not measured values. The values shown are the forecasted values for the actual hour. The forecast itself is updated every 6 hours. If anyone knows a source for actual measurements, please let me know.
(weather data for HA)


Auto-Reconnect

Hello, I connect my devices using MQTT, but rely on a cellular network that drops out occasionally causing a keep-alive failure or other type of disconnection. Currently I am using the following code to auto-reconnect. However, it often does not work. I wanted to see if you had any suggestions @adam-fowler as to the best way to cleanly shutdown and restart the MQTT client.
        client.addCloseListener(named: "close") { [unowned self] result in
            DispatchQueue.main.async { [unowned self] in
                switch result {
                case .success:
                    print("MQTT client \(self.clientIdentifier) closed without error")
                    try? self.stopClient()
                    self.client = try? self.createMQTTClient(jwtString: try self.createJWT())
                case .failure(let error):
                    print("MQTT client \(self.clientIdentifier) disconnected with error:")
                    dump(error)
                    try? self.stopClient()
                    self.client = try? self.createMQTTClient(jwtString: try self.createJWT())
                }
            }
        }

Also wanted to add snippets for closeClient() and createMQTTClient(jwtString:):
    private func createMQTTClient(jwtString: String) throws -> MQTTClient {
        try stopClient()

        return MQTTClient(
            host: Constants.HostURL,
            port: Constants.Port,
            identifier: clientIdentifier,
            eventLoopGroupProvider: .createNew,
            configuration: .init(userName: Constants.UserName,
                                 password: jwtString,
                                 useSSL: true,
                                 tlsConfiguration: .niossl(tlsConfiguration))
        )
    }

    public func stopClient() throws {
        try client?.disconnect().wait()
        try client?.syncShutdownGracefully()
    }

You shouldn't need to shutdown the client if you lose the connection. You should be able to call
client.connect(cleanSession: false)

to reconnect. Obviously if you have lost connection because of a lose of network it isn't guaranteed you will reconnect until the network comes back.

@ksinghal did this work?

Closing as received no response

Hi, I'm trying to achieve an auto-reconnect feature but I'm not sure how to proceed. Right now my code is simply:
client.addCloseListener(named: "Close listener") { _ in
    DDLogWarn("Connection closed, try to reconnect")
    _ = client.connect(cleanSession: false)
}

But I'm not sure if it's the right way to proceed. Perhaps, a built-in auto-reconnect would be nice

@flowbe In the iOS sample I wrote, I have the following. I moved the call to the main thread because I also had some UI changes to make but I guess your code above would work as well. The only thing you'll need to watch out for is you have a small amount of time where you aren't connected and any attempts to send messages over that time will fail.
self.client.client?.addCloseListener(named: "EmCuTeeTee") { result in
    DispatchQueue.main.async {
        self.connect(cleanSession: false)
    }
}

Thanks for your reply. I tried this code but I noticed that it doesn't do what I want because if the reconnect fails then it's over. Here is a sample code for a smarter reconnect method:
let reconnectDelay: Double = 5
let queue = DispatchQueue(label: "mqttqueue")

client.addCloseListener(named: "Close listener") { _ in
    print("Connection closed")
    queue.async {
        reconnect()
    }
}

func reconnect() {
    guard !client.isActive() else { return }
    print("Reconnecting…")
    do {
        _ = try client.connect(cleanSession: false).wait()
        print("Connection successful")
    } catch {
         print("Error while connecting: \(error)")
         queue.asyncAfter(deadline: .now() + reconnectDelay) {
            self.reconnect()
        }
    }
}


Merge Factorization

This change introduces factorization of the tokenization table, into smaller wte and lm_head with scale_up and scale_down matrices:

For larger tokenizations this can potentially reduce the size of the model, and also lend to novel manual settings for the wte.
Added features are:

option to use wte and scaling matrices
ability to export wte to npy
ability to import wte from npy
ability to freeze imported wte
ability to view heatmap signature of wte's in npy format

next import and export of scaling matrices

Moving work in this PR to:
https://github.com/ReaLLMASIC/nanoGPT/pull/258


Project instructions componets

ADR updated with notes from discovery work.
Components that potentially need creating or replicating:

Wysiwyg
Badge
KnowledgeQuiz:

Question
Answer

Navigation
Ingredient/Accordion
Progress Bar (with "<" and ">" nav links)

Originally posted by @PetarSimonovic in https://github.com/RaspberryPiFoundation/editor-ui/issues/690#issuecomment-1752845730

Note - needs breaking down into individual components & think about aspects that could be done in the design system

dependent on https://github.com/RaspberryPiFoundation/editor-ui/issues/741

Progress Bar done in the Instructions Panel PR but needs styling

Notes:

current html and classes passed through from projects site
adding styles for the existing classnames works for inline styles
image sizes (i.e. screenshots) need sorting
check list items and accordions need styles adding
add docs for each styles with example snippets

used this as a parent ticket and all child have been completed and closed


best practices:

This PR is for the best practices exercise.

Hey @Paulinelali Nice job implementing the requirements. You have done an amazing job so far 😄 .
Here are some suggestions to make your code and project even better:

I implore you to write a descriptive PR title so that anybody can have a full idea while seeing the title.
In my suggestion, your PR summary should be self-explanatory and it should contain all the changes you want to merge and have a code review on.
You can initialize all the variables at the start of the function as a JS best practice.
You can use arrow functions instead of previous versions of functions.
You can work on the margins and small details to make your project look more user-friendly.


Segmentation Fault when Using an ItemsRepeater in a Scrollviewer

Describe the bug
On Debian Buster, when you use an ItemsRepeater inside of a ScrollViewer and start to scroll after a little while you get a segmentation fault error. This only occurs when using .net 6.
To Reproduce
Steps to reproduce the behavior:

Go to Example Repository
Download and run the code
Scroll down until crash (should occur quickly)
See error on terminal

Expected behavior
Ability to keep scrolling down and view all data without crashing.
Screenshots
No screenshots.
Desktop (please complete the following information):

OS: Linux - Debian Buster
Version 10.11

Additional context
Does not occur on windows 10. Using the .net 5 sdk lets the program run normally as expected

This was an issue in .NET, not Avalonia, and can be closed.


Fix some bugs for training with triplet, add training log module, and add more default data support.

774

 Quality gate: Failed
280 Issues

 17 Vulnerabilities
 261 Code issues
 2 Anti-patterns

Details


Elements Property Text Fields Not working properly

Describe the bug
Currently the Text Fields have a upper limit restriction but it works only when the user clicks on the arrow manually. If the user types in the fields, then these restrictions do not work. Also we can enter e, E, ., +, - along with the numbers in the text field.
Some Restriction that need to be fixed in the Text Field while typing the value are listed below (Do add more if I have left out any ):
All the Input Elements, Output(Single element), All the Gates, All elements in Decoders and Plexers, DFlipflop, DLatch, RAM, EEPROM, TestBench Elements, Misc Elements Excluding Arrow, rectangle and text should have a restriction on bitwidth upto 32.
Delays must not exceed 100000.
Keyboard Buffer Size must not exceed 100.
Rectangle Cols and rows must not exceed 1000.
Text Font Size should not greater than 84.
Gates Input size must not exceed over 10.
To Reproduce
Steps to reproduce the behavior:

Go to 'circuitverse.org'
Click on 'Any Element'
Scroll down to 'Properties'
See error

Expected behavior
These restriction/Upper limits should work while entering the value as they work when we make use of arrows in the field to increment the value.
Device Information [optional]:

OS: [Windows 10]
Browser [Chrome]

Are you working on this issue? (Yes/No)
No

@Shivansh2407 is this issue present in new UI?

The upper limit restriction now work perfectly @satu0king . But now we can enter alphabets too along with the numbers, and on pressing enter, it clears aways the content in the field. So I guess, we now only need to restrict alphabets to the field. rest all works fine. Please let me know your views 👍

The upper limit restriction now work perfectly @satu0king . But now we can enter alphabets too along with the numbers, and on pressing enter, it clears aways the content in the field. So I guess, we now only need to restrict alphabets to the field. rest all works fine. Please let me know your views 👍

This is because of the plugin we are using. @abstrekt might know more.


Check updates in peer dependencies

Clear and concise description of the problem
I maintain some pkg in my work and when upgrade the deps of devDependencies and dependencies I always forgot to match the peerDependencies with the new devDependencies.
Suggested solution
Include the packages in peerDependencies in the list of packages to check and update.
Maybe include in the -D param or create a new one -P --peer
Alternative
Update the list with copy paste the devs that include
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Looking for the feature, maybe I could send a pr later when I have time, for the reason see https://github.com/antfu-collective/taze/pull/69#issuecomment-2537798510


Display public base URL in front of Path field of HTTP Endpoint activity

We should also display the configured public base URL in front of the input field to make it abundantly clear what the full URL is going to be.

Is this not already in the studio using the MudBlazor Adornment?

You're right, we should close this issue. Thanks 😄


Pyro l4t r28.1

The proposed patches make use of machine definitions consistent and distinct from SOC.  Patches were build validated with core-image-minimal and tegra{186|210}-minimal-initramfs.

The tegra<nnn>s are the SOC family designators (from soc-family.inc in OE-Core), rather than MACHINEs.  This makes it easy to create other MACHINEs that use the same SOC/SOM without having to update the compatibility settings for all the recipes.
The jetson-<xxx>  MACHINEs are the development boards, and while that's not an ideal naming, it's consistent with common usage.  There's no issue with having hyphens in MACHINE names.
I originally created a separate -minimal-init and -minimal-initramfs recipes for the TX2 (tegra186) because I wasn't sure I could share the same recipes between TX1 and TX2.  Now that support for the TX2 is in place, it looks like we can, so if you'd like to rework the patches to include just those changes, that would be great, thanks!


Double-check harness and warm up heuristics

Kokubun's compilation time investigation made me want to check if we're including compilation time during benchmarking iterations on yjit-bench. The answer is that for the lobster benchmark, which is the largest of our headline benchmarks, yes we are. We're using a fixed number of warm-up iterations (15), and this is enough for smaller benchmarks such as railsbench, but not for lobsters.

However, for lobsters, this value doesn't reach a stable zero for a long while. It slowly trends towards zero, but there's a looong tail with a few blocks being compiled even after 300 iterations. My guess is that there is a long tail of low-probability branch stubs that keep slowly being hit.

 Are we using the same fixed 15 warm-up iterations?
@k0kubun The second question is what do we want to do about this? We may want to implement the same solution in both yjit-metrics and yjit-bench, even though they don't use the same harness.
In theory we can just bump the number of iterations for warm-up to a bigger value, but this doesn't seem great, because it will slow down smaller benchmarks. Another solution is to have some kind of adaptive mechanism. We could decide that a benchmark is warmed up when it doesn't compile any new blocks for 5 iterations, for example, and also make sure that benchmarks run for at least 8-10 warm up iterations minimum. That may actually speed up things for smaller benchmarks. I guess as a first step I will check with all of the headline benchmarks that this heuristic would actually work.
@nirvdrum a third question is what are we actually compiling in lobsters after 300+ iterations? Am I correct in assuming that it's branch stubs being hit? This is a question to be answered using the compilation log, and once we have that answer, we may want to think of heuristics to stop compiling new code.

Update: doing some quick empirical testing on our headline benchmarks, it looks like an adaptive heuristic which goes something like "we are done warming up after a minimum of 8 iterations, and after we've compiled zero blocks for 4 iterations" would probably work decently well in practice. Though it wouldn't be 100% perfect.
The hexapdf benchmark exhibits a similar long-tail behavior as lobsters. It has a weird spike in compiled blocks at iteration #31, and this spike occurs after 8 iterations with zero blocks compiled.
An alternative way to do adaptive warm-up could be to benchmark for a minimum of 30 iterations, and then we can check in-hindsight if we stopped compiling after the 10th iteration. If not, count the first 30 iterations as warm-up and then run for another 30 iterations, then check how much we compiled during those 30 new iterations, keep going until we get a minimum number of benchmarking iterations with zero or near-zero new blocks compiled.
A third way to go would be to just increase the number of warm-up iterations to 40 and call it good enough (though that could obviously slow down some benchmarks). I'm actually seeing that a number of benchmarks have a spike in compiled blocks after 30 iterations, which makes sense given our call threshold heuristic.

I guess I'd prefer not defining the number of warmup iterations by hand for each benchmark as it seems failure-prone. We could change how YJIT decides to compile code and break our manually set iteration counts without noticing. I could try to experiment with different heuristics for adaptable warm-up.

Given that it's coming from an eval, I suspect that the warmup of lobsters may never end (until it hits the --yjit-exec-mem-size limit). If that's the case, we can't fix this from yjit-bench's side. We should see if we can fix how they use htmlentities.gem.

Hmm yeah. If there was a way to get rid of that eval it would be ideal. If not, then we would have to settle for "still compiling but not compiling much proportionally" to be good enough.

@rwstauner can you provide some context on how warm-up is handled in yjit-metrics?

it just kept compiling encode_basic@(eval at /opt/rubies/ruby/lib/ruby/gems/3.4.0+0/gems/htmlentities-4.3.4/lib/htmlentities/encoder.rb:81)

I think this is what Jean fixed:
https://github.com/lobsters/lobsters/pull/1320
That PR has merged, but we haven't synchronized that over to yjit-bench yet.

The current default that yjit-metrics is using is a static 10 warmups:
https://github.com/Shopify/yjit-metrics/blob/7938da4d7214d631052ca784f505bf5dda5a4eda/continuous_reporting/benchmark_and_update.rb#L72

Looking at the 2024-09-18 results for arm, these are the results where warmup (10 iterations) is already taking more than 30s:
                     max        avg     total
       30k_methods: 5.46        3.85    38.51
     fannkuchredux: 6.46        4.30    43.01
        psych-load: 4.62        4.56    45.60
           fluentd: 5.76        4.63    46.30
           hexapdf: 6.97        5.42    54.21
        railsbench: 7.50        5.99    59.88
         optcarrot: 8.18        7.98    79.83
         ruby-json: 8.23        8.22    82.15
           graphql: 9.67        9.30    93.01
           rubykon: 18.87       18.60   185.97

Only 4 of those are currently taking more than 1 minute to do 10 warmup itrs.
Most warmup itrs currently look to be under 1s, so doing up to 30 warmups or 60 seconds would probably get us pretty far.

With respect to Rubykon, that benchmark seems to take especially long to run with CRuby, but it is 3x faster with YJIT. Maybe one simple thing that we can do is cap the warmup iterations for CRuby to 4 or 5 iterations, and use a variable warm-up for YJIT?
I'm also going to go look if I can edit Rubykon to have a faster per-iteration time, because it is super duper slow on CRuby.


2.3.x based BC brake in changes

Recently there was personal-translation feature branch developed. It includes these changes. Doctrine 2.2 was released today and I plan to merge these changes into master in few days.
The most interesting and useful change is having translations with real foreign keys, and standard doctrine collection to manage them. Also now it is possible to map only mappedsuperclasses and avoid generation of ext_ tables.

merged


Delete individual points (scatterplot)

Brush to delete points rather than entire group

Done - should be working now.


Working proof-of-concept for StreamAlert Normalization v2

to: Nobody
cc: @airbnb/streamalert-maintainers
Background
I got really interested in this personally and I just kinda hacked together something.
THE BIG IDEA
Make streamalert:normalization searchable by dropping all Normalized data into a new Athena artifacts table.
New components

Firehose Data Transformation
Firehose Data Transformer Lambda
New Configuration (?)
New Firehose for Artifacts (Not done)
New Athena Table (Note done)

Testing
The prototype works on stage. But it has a lot more to go. Configuration.... etc

@chunyong-lin has taken over this in her own branch


Adding Kth Element Python Code

Hello @JVBravoo
Thank you for contributing. Add the description for the PR and make necessary change(s) in the code.


add on_shoulder as event in observation

BUG REPORT
High Level Description
Currently the Events in events.py is missing "on_shoulder" which is part of done_creteria
class Events(NamedTuple):
    collisions: bool
    off_route: bool
    reached_goal: bool
    reached_max_episode_steps: bool
    off_road: bool
    wrong_way: bool
    not_moving: bool

@dataclass(frozen=True)
class DoneCriteria:
    """Toggleable conditions on which to trigger episode end."""

    collision: bool = True
    """End the episode when the agent collides with another vehicle."""
    off_road: bool = True
    """End the episode when the agent drives off the road."""
    off_route: bool = True
    """End the episode when the agent drives off the specified mission route."""
    on_shoulder: bool = False
    """End the episode when the agent drives on the road shoulder."""
    wrong_way: bool = False
    """End the episode when the agent drives in the wrong direction, even though it
    may be driving on the mission route.
    """
    not_moving: bool = False
    """End the episode when the agent is not moving for 60 seconds or more. To account
    for controller noise not moving means <= 1 meter of displacement within 60 seconds.
    """

SMARTS version
0.4.15
Steps to reproduce the bug
run any scenario and check observations
Resulting and expected behaviour
users should get "on_shoulder" as part of events in observations.

resolved in #717


Issue 177 extend persistence

Implemented column sort persistence as per #177:

Updated State object to react to sort changes
Added sort-initialized and sort events to AdapterSortabletable adapter
Updated unit tests
Updated demos

:+1:


Utils types not being applied when used inside of a variant.

Bug report
Describe the bug
Utils function types are not being inferred inside a variant
const { styled } = createCss({
  theme: {
    colors: {
      primary900: "#0000d6",
      primary500: "blueviolet",
      primary100: "#d4bff9",
      white: "white"
    }
  },
  utils: {
    size: () => (values: (number | string)[]) => ({
      width: values[0],
      height: values[1] || values[0]
    })
  }
});

const Button = styled("button", {
  borderColor: "$primary900",
  backgroundColor: "$primary500",
  color: "$white",
  padding: "0.5rem",
  minWidth: 175,
  size: ["50px", "10px"], // this works
  variants: {
    variant: {
      primary: {
        size: ["50px", "10px"] // this doesn't work
      }
    }
  }
});

To Reproduce
https://codesandbox.io/s/stitches-disabled-button-forked-xv49k?file=/src/App.tsx
Expected behavior
The types should work the same when utils functions are used inside variants
System information

OS: Linux
Browser (if applies) safari
Version of Stitches: 0.1.0-canary-18
Version of Node.js: v15.2.1

Fixed in 0.1.0

Still not fixed, please check code sandbox.

Ah, yes, we still have the typescript issue. My bad.

Closing in favour of https://github.com/modulz/stitches/issues/602


Time difference Uit kalender

The link from the Output Database to the Calendar application has been successful. However, there is a structural time difference of 1 hour at all events. How can we solve this? It appears that it is not possible to manually change this.

https://github.com/our-city-app/oca-backend/pull/575


JSDoc cannot resolve namespaces from required modules

TypeScript Version:  2.7.0-dev.201xxxxx
Follow up on https://github.com/Microsoft/TypeScript/issues/14056
Code
In a simple JS node project, with index.js:
const stream = require('stream')

/**
 * @param {stream.Readable} stream
 */
function foo(stream) { ... }

Expected behavior:
stream.Readable is correctly resolved even though it is really used as value here
Actual behavior:
Error:  'Cannot find namespace 'stream'.'

Duplicate of https://github.com/Microsoft/TypeScript/issues/16489

Thanks @mhegazy! Closing as duplicate of #16489


Add rollup

Resolves https://github.com/Azure/ms-rest-nodeauth/issues/35.

This library is not intended for use in the browser. I assume rollup is used to produce es6 modules. Is that correct?

Rollup is just used as a bundler to reduce the size of your distributed package. That is very useful in the browser scenario, but it could also be nice in the Node.js world. We're already using rollup in ms-rest-js for both the browser and Node.js scenarios, so this PR is really about bringing parity to this repository from ms-rest-js.

I see. That sounds cool


Too expensive db compaction

2022-11-16T19:14:16.019+0800	INFO	persisted to disk	{"blocks": 35, "keys": 5761, "headerHeight": 1670727, "blockHeight": 1670726, "took": "21m58.6459253s"}
2022-11-16T19:50:15.280+0800	INFO	persisted to disk	{"blocks": 26, "keys": 5521, "headerHeight": 1838889, "blockHeight": 1838888, "took": "25m2.0089036s"}

I found the current storage schema use hash instead height as key. Since the hash act as random value, this will greatly increase the leveldb's compaction burden. Please try to use height as block key, height+ txIndex as transaction key.

You can try BoltDB and see if it makes any difference in your scenario.
This was considered previously, but blocks are naturally identified by hashes and changing to height-based key will require storing additional data and lead to additional DB lookups in many cases.
20m+ persist time seems to be a hardware problem to me. I regularly have to resynchronize the chain and my SSD has a lot wear, but even then it's rarely 10s+.

I think in most cases, only the recently generated blocks/transactions will be accessed, so cache the latest 1024 hash-> height map in memory will remove the additional DB lookup.  And it will require little additional storage, since the hash key is now replaced with short uint64 key.

And it will require little additional storage, since the hash key is now replaced with short uint64 key.

Plus the hash->index mapping which takes additional space.
It can be changed only if there is a clear performance benefit, but I doubt there is one even considering any caches, likely it's going to be about the same or slightly worse.

headerHashes will be changed eventually to not store all of the hashes, absent that hash->index needs to be resolved somehow.


Bug: Using --enable_ssl doesn't always turn on SSL

It appears that the database connection does not actually use an SSL when you specify --enable_ssl=True , unless you also manually append ?tls=custom to your dsn.
The go mysql driver docs say we're supposed to register the custom TLS configuration, which we do, but then also call sql.Open() with the string ?tls=customTLSConfigName appended to the dsn.
Currently we register the TLS config but we never append the tls=custom parameter. So unless the user manually appends it, SSL is not used. Since knowing to append the parameter requires reading this code or reading the driver's implementation example I'm not sure many users would know to add it.
How about we change the code to always use SSL when the SSL switch is set?

Repro steps:

Create any simple SQL file, with contents like SELECT * FROM tablename;
On one terminal or process, start tshark with something like tshark -f "tcp port 3306" -x -P -i eth0
Run cloudsql-import with --enable_ssl=True but no ?tls string appended to the dsn. Make sure to use a fake password, or one you don't care about!
Note that tshark can capture information about the network traffic as it is sent
Run cloudsql-import again with --enable_ssl=True with ?tls=custom appended to the dsn. Note that tshark cannot read the login traffic sent.

You can also test this by setting your CloudSQL database to require SSL connections (under Access Control -> SSL). With this set, the database will refuse the connection even if you specify --enable_ssl=True and use the correct password but neglect to append ?tls=custom to the dsn. Again, you should temporarily change the password for the account you use, or reset the password for this account after you run the test, so the account isn't compromised.
Example of network traffic below:
Traffic with regular connection
(connection request denied; no SSL connection)
42538 > mysql [SYN]
mysql > 42538 [SYN, ACK]
42538 > mysql [ACK]
MySQL 144 Server Greeting proto=10 version=5.5.46
42538 > mysql
MySQL 159 Login Request user=username db=dbname
	contains 'mysql_native_password'
mysql > 42538 [ACK]
MySQL 147 Response Error 1045 // access denied
mysql > 42538 [FIN, ACK]
42538 > mysql [FIN, ACK]
mysql > 42538 [ACK]

Traffic with ?tls=custom
42540 > mysql [SYN]
mysql > 42540 [SYN, ACK]
42540 > mysql [ACK]
MySQL 144 Server Greeting proto=10 version=5.5.46
42540 > mysql [ACK]
MySQL 102 Login Request user=
[TCP segment of a reassembled PDU]
	Can see certificate set for database, e.g.
	'project-id:database-id'
mysql > 42540 [ACK]
mysql > 42540 [ACK]
[TCP segment of a reassembled PDU]
[TCP segment of a reassembled PDU]
mysql > 42540 [ACK]
[TCP segment of a reassembled PDU]
mysql > 42540 [ACK]
[TCP segment of a reassembled PDU]
[TCP segment of a reassembled PDU]
[TCP segment of a reassembled PDU]
mysql > 42540 [ACK]
mysql > 42540 [ACK]
mysql > 42540 [ACK]
[TCP segment of a reassembled PDU]
[TCP segment of a reassembled PDU]
[TCP segment of a reassembled PDU]
mysql > 42540 [ACK]
mysql > 42540 [ACK]
[TCP segment of a reassembled PDU]
mysql > 42540 [FIN, ACK]
[TCP segment of a reassembled PDU]
mysql > 42540 [FIN, ACK]
mysql > 42540 [RST]
mysql > 42540 [RST]


incorrect .modules file without files[] section in published artifact

Expected Behavior

The published artifact should have the correct .module file with files[] section and path to generated JAR
Current Behavior

The issue is that generated artifact in maven repository .m2 (both local and artifactory) doesn't have files[] section in .module file (.m2\repository...\dependency\X.X.X{artifact name}.module) in a published artifact. Artifact is successfully checked by Gradle during the build, but it is absent on the classpath as JAR location is missing in .module file. Disabling the generation of .module file fixes an issue as the pom file is correct.
Context
The idea is to publish generated OpenApi artifact and then use it in another project. Also, this publishable logic is located in another Gradle plugin and provides such functionality in the target project (buildSrc in the example below)
Steps to Reproduce
An example GitHub project https://github.com/mikita-herasiutsin/spike-variant-publish
Reproducing steps:

./gradlew publishToMavenLocal. OpenApi will generate JAR from client-app\src\main\resources\api.yml and then publish it locally
./gradlew build. Build fails as it can't reference class from generated jar client-app\src\main\kotlin\org\spike\TestAppKt.kt
It can be fixed just by disabling the generation of .module file buildSrc\src\main\kotlin\com\spike\publish\Utils.kt:49

Your Environment

It fails on both Windows and Linux environments

Gradle module metadata will not properly handle the artifact notation that you use because it cannot associate it to any variant. This way of adding artifacts only works for pure Maven publications.
Instead, you must attach the artifacts to an outgoing configuration. This looks close to what you have here except that you must not use an existing configuration like implementation here. You must create an outgoing configuration, like:
val elements = configurations.create("myVariantElements") {
     isCanBeConsumed = true // outgoing configuration
     isCanBeResolved = false
     attributes {
        // set your attributes here
     }
    outgoing.artifact(myTask) // this is where you attach the artifact
}

Gradle module metadata will not properly handle the artifact notation that you use because it cannot associate it to any variant. This way of adding artifacts only works for pure Maven publications.
Instead, you must attach the artifacts to an outgoing configuration. This looks close to what you have here except that you must not use an existing configuration like implementation here. You must create an outgoing configuration, like:
val elements = configurations.create("myVariantElements") {
     isCanBeConsumed = true // outgoing configuration
     isCanBeResolved = false
     attributes {
        // set your attributes here
     }
    outgoing.artifact(myTask) // this is where you attach the artifact
}

Thanks a lot! You saved a lot of time :) It works now in that branch https://github.com/mikita-herasiutsin/spike-variant-publish/tree/fix/correct_configuration_for_publishing
I guess ticket can be closed


[feature request] Adding a delimiter character

It would be great to be able to make the list only activate when a certain character is typed, say the "@" character. I realize this is a bit of a deviation from the original goal of the code.

Hey!, I've just added your suggestion to the last 1.1.0 version. Please take a look. I'd enjoy your feedback. Thanks!.


Custom Variant Classification Breaks Oncoplot

An example of oncoplot breakage is
library(maftools)
plotData <- data.frame(Hugo_Symbol = c("TP53", "MYC", "TP53"),
                       Chromosome = '.',
                       Start_Position = '.',
                       End_Position = '.',
                       Reference_Allele = '.',
                       Tumor_Seq_Allele2 = '.',
                       Variant_Classification = rep("Splice Site", 3),
                       Variant_Type = '.',
                       Tumor_Sample_Barcode = c("John", "John", "Sam"))
copyTable <- data.frame(Gene = "KRAS", Sample = "John", Status = "Del")
MAF <- read.maf(plotData, cnTable = copyTable, vc_nonSyn = "Splice Site")
  NOTE: Removed 1 duplicated variants
oncoplot(MAF)

Colours are missing from the plot and MYC is lost entirely. There's no duplicated variant, but it's considered to be one and removed by read.maf. I don't like using labels which look like computer code (containing _ or ,) in publication graphics so I want to rename the classes to look more like those used in professional graphics.

Hello,
oncolplot has a pre built color coding schemes for standard MAF variant classification entries. Since, you're using own terms, you will also have to provide manual color list. For the first step, you can use read.maf with removeDuplicatedVariants = FALSE
Below code works for your toy data.
> read.maf(plotData, cnTable = copyTable, vc_nonSyn = "Splice Site", removeDuplicatedVariants = FALSE)
> cols = RColorBrewer::brewer.pal(n = 3, name = "Dark2")
> names(cols) = c('Splice Site', 'Amp', 'Del')
> oncoplot(maf = x, colors = cols)

Indeed. The documentation didn't specify that an explicit colour scheme is mandatory, though.


Create Coda views for tracking capacity/workload

The goal here is to have views in Coda that we can use to check if people are overloaded going into a new sprint.

Initial metrics created but still need to review them with Jason. Meeting scheduled for 4/15 to do that.

Initial metrics are created here: https://coda.io/d/Data-Services-Engineering_dY5Oul8-jdi/Workload-Capacity-Metrics_susmb#_lusHv
Metrics are controlled by the assignee and sprint filters at the top of the page.
What's missing is the context of being able to see people's past avg # of issues closed and avg. closed using the multiplier score. This will be useful to show is the work assigned this sprint above someone's usual baseline effort.
I believe the way to add these will be to create a new table built on top of the GitHub Project Items sync which summarizes these counts by person. This will likely need to use the "Assignee is X" columns I created for everyone on the team in the Project Items table. I envision the new table would look like this:

Person's name (you might manually populate a table with these)
Sprint
Issues Closed (use a formula): If "assignee is [person]" AND Status = "Done" THEN count of issues (this is pseudo-code, actual Coda syntax will be a bit different)
Avg. Issues Closed Multiplier (use a formula): If "assignee is [person]" AND Status = "Done" THEN sum(Multiplier Closed)

Then create a chart on the Metrics page showing the summarized average by person, by sprint.
Once that gets done, work with Jason to create a process for reviewing this each new sprint to make sure nobody is overloaded.
@junlee-analytica

Closing this as a baseline set of metrics has been created here: https://coda.io/d/Data-Services-Engineering_dY5Oul8-jdi/Workload-Capacity-Metrics_susmb#_luaNC
There are some additional tweaks I plan to make to improve this which I will create new issues for.


rdf4j-runtime packaging is too low level in 3.0.1 compared to 3.0.0

3.0.1:
https://mvnrepository.com/artifact/org.eclipse.rdf4j/rdf4j-runtime/3.0.1

3.0.0:
https://mvnrepository.com/artifact/org.eclipse.rdf4j/rdf4j-runtime/3.0.0

Looks like the way that 3.0.1 is creating a fat jar is very different from 3.0.0. 3.0.0 seems to just depend on a bunch of other modules, while 3.0.1 is just including all the code from those modules directly.
This makes a big difference for end users because the rdf4j-runtime could previously be used with a bunch of exclusions for things like spin and lucene modules if the user didn't want these (usually because they cause conflicts). Now the rdf4j-runtime can pretty much only be used if you are willing to include everything.

@jeenbroekstra any chance you know how to convert back to how the runtime module was built for 3.0.0?

I'm having a look.  I may goofed when merging the various pom configurations as part of the repo merge.

https://mvnrepository.com/artifact/org.eclipse.rdf4j/rdf4j-runtime/3.0.2
Your fix worked @jeenbroekstra


Family Account

Hi
A sample to avoid after a ban the comeback of haters , trollers and cheaters using their shared library of steam's games .

import json
import requests

steam_id_64 = "yyyyyyyyyyyyyyyyyyyyyyyyyyY"
# Steam developer web API key , https://steamcommunity.com/dev?l=french
steamDevId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
idgame      = "686810"

# Need to have a kind of whitelist to avoid sending requests
# to the steam API for known accounts

# Use this sample after verifying that the account is not banned

# Here check if the steamid is in white list , do nothing
# else use the code  below

urltocheck = "https://api.steampowered.com/IPlayerService/IsPlayingSharedGame/v0001/?key="+steamDevId+"&steamid="+steam_id_64+"&appid_playing="+idgame+"&format=json"

response = requests.get(urltocheck)

if response.status_code == 200:
    todo = json.loads(response.text)
    # print(todo)
    # print(todo["response"]["lender_steamid"])

    if todo["response"]["lender_steamid"] == "0" :
        print("Not Shared")
        # Add to a whitelist
    else:
        print("Is shared")
        # Here need to check in the banlist if this steamid is banned or not
        # Ban -> ban the shared account with the steamid
        # Not ban -> add to a whitelist
else:
    print("status_code Not 200")

Intresting. I'll have a look at that when I can.
You could add the code for it also in https://github.com/MarechJ/hll_rcon_tool/blob/8cbf77d4733f2fa09830e70dce743d6c3a93dbfc/rcon/hooks.py#L67
You can use the @ttl_cache(<seconds>) if you're afraid of hammering steam too much, although this hook is only on player connection so it's not called that often

Has this feature been explored yet ?

Nope :/

Is that even possible ? I mean with profile being private, these information may not be available or locked ?

May be : https://partner.steamgames.com/doc/webapi/ISteamUser

May be : https://partner.steamgames.com/doc/webapi/ISteamUser
https://partner.steam-api.com/ISteamUser/CheckAppOwnership/v3/

I took a look and there Family sharing, local sharing and such stuff. Also a profile being private prevents you from reading this information … de are screwed

An API aberration.
Perhaps we should warn players with a private profile that they must connect at least once with a public profile
or use a discord bot to validate their profile (it would be stupid to queue to get kicked). a few minutes later).
Use two whitelists:

one containing the players who own the game.
a second for shared accounts containing owner/family steamID pairs)

I'll have to go back to the CFR as soon as I have time.


Encrypt passwords

This PR enables password encryption. Passwords will be encrypted and checked by using the BCryptPasswordEncoder of the spring framework.

Encryption is done when a new user is being created
The Shogun2AuthenticationProvider will check if a given raw password string (e.g. from a login mask) matches the password hash from the database.

Please review and merge.

After 30ae54c (fix build) the coverage/coveralls failed because the coverage decreased (-2.3%).
I configured coveralls to fail only, if:

coverage of project gets below 50 %
coverage decreases more than 5 %

Afterwards i restared the travis build manually.

We need to remember, as soon as we have a web-interface for updating existing users, this logic will also be needed there. I am not sure but would assume that a simple saveorupdate would not handle the encryption at all.
Otherwise, this looks good to me!

:+1:


Eye dropper

already built into chrome devtools

now it can be accessed directly. should get an icon in the sidebar
https://twitter.com/tomayac/status/1432969851811794944?s=20


How to get full rowData in customBodyRender?

I have a table that I generate columns and data for dynamically. The server provides me with the columns that I should build as well as the data. In one of the columns, I am using customBodyRender to render a  with an onClick handler that will link to another part of the application based on an ID from the dame row.
I would like to to receive the full row data (Specifically, receive the ID) from the row rather than just the individual cell value in customBodyRender. Is this possible? I tried inspecting the tableMeta value, but it does not contain rowData either.
Current Behavior
I only receive the individual cell value, not the entire rowData.

Tech
Version

Material-UI
latest

MUI-datatables
latest

React
latest

browser

etc

This can be closed. I was able to get rowData once it fully populated

@brymon68 , I am facing the same issue. Could u please explain how u resolved this with an example?

@neenu-n - I would recommend setting a breakpoint within customBodyRender. You will eventually only receive the cell data but after enough steps, you will see your entire rowData.

@neenu-n - I would recommend setting a breakpoint within customBodyRender. You will eventually only receive the cell data but after enough steps, you will see your entire rowData.

What o_O?


Crash sidebar

@federicoviceconti thank you for the PR but I believe this is being addressed here https://github.com/leoafarias/sidekick/pull/89


Searching pattern from URL

Hello
Can we add support for search text and direction from URL.
I want to add to url parameter search=my_text and log will be opened and search the token in file
I want to add to url parameter search_direction=forward/backward and log will be opened and search the token in file in given direction. forward is default
e.g.
?log=mylog.log&search=my_text&search_direction=backward
Another feature I suggest is location when opening file. today when I open file Scroll is set to end of file.
I want to add to url parameter scroll=top/bottom

Hello.
Good ideas. It would be nice to have these features.


Where is getMessagesReactions() in TDLib?

How can i call getMessagesReactions in TDLib?  I mean this.

TDLib doesn't provide access to Telegram API methods, you need some other library for this. This method is called automatically by TDLib whenever the list of chosen reactions on a message needs to be refreshed.

TDLib doesn't provide access to Telegram API methods, you need some other library for this. This method is called automatically by TDLib whenever the list of chosen reactions on a message needs to be refreshed.

So how can i get current status of reactions on a post? i.e the submitted reactions  and  count of them?

Reactions are available in message.interaction_info.reactions and updateMessageInteractionInfo can be sent to update them.


Performance/StringInclude incorrect auto correction

The cop Performance/StringInclude auto corrects incorrectly.

Expected behavior
The code x =~ /foo/ should be auto corrected as x&.include?('foo')
Actual behavior
The code x =~ /foo/ is auto corrected as x.include?('foo')
Steps to reproduce the problem
> nil =~ /foo/ ? :ok : :nok
 => :nok
> nil.include?('foo') ? :ok : :nok
NoMethodError (undefined method `include?' for nil:NilClass)
> nil&.include?('foo') ? :ok : :nok
 => :nok

RuboCop version
∴ rubocop -V
0.87.1 (using Parser <IP_ADDRESS>, rubocop-ast 0.1.0, running on ruby 2.5.5 x86_64-darwin18)

Duplicate of https://github.com/rubocop-hq/rubocop-performance/issues/145


esps3857.fromEPSG4326() is returning NaN for Y when Math.tan() returns negative value

In the output file for proj.js I noticed that the function only converts the longitude.
_ol_proj_.toLonLat = function(coordinate, opt_projection) {
  var lonLat = _ol_proj_.transform(coordinate, opt_projection !== undefined ? opt_projection : 'EPSG:3857', 'EPSG:4326');
  var lon = lonLat[0];
  if (lon < -180 || lon > 180) {
    lonLat[0] = _ol_math_.modulo(lon + 180, 360) - 180;
  }
  return lonLat;
};

I am not 100% sure why the latitude is being untouched
I was able to finish this function by added a few lines.
_ol_proj_.toLonLat = function(coordinate, opt_projection) {
  var lonLat = _ol_proj_.transform(coordinate, opt_projection !== undefined ? opt_projection : 'EPSG:3857', 'EPSG:4326');
  var lon = lonLat[0];
  var lat = lonLat[1];
  if (lon < -180 || lon > 180) {
    lonLat[0] = _ol_math_.modulo(lon + 180, 360) - 180;
  }
  if (lat < -90 || lat > 90) {
    lonLat[1] = _ol_math_.modulo(lat + 90, 360) - 90;
  }
  return lonLat;
};

Things were working properly after that.

Not sure what you were trying to achieve, but latitudes are always in the range of -90 to 90. The reason why longitudes are not is because there is no other pragmatic way to express lines and polygons that cross the date line than using coordinates lower than -180 or higher than 180.

Perhaps I should change the title to "Proj.toLonLat() is returning NaN"
I added the IF because there is already validation for the lonlat[0]. I was following convention... if it does not need to be included, I will remove it. That said, the statement in the condition fixed the issue.
Without the statement in the second condition   return lonLat; is returning an array with index[1] being NaN.
This is what I was doing to get the error... nothing fancy
getCenterOfExtent(Extent){
    const xy =  olExtentUtil.getCenter(Extent);
    const latlng = Proj.toLonLat(xy, 'EPSG:3857');
    return latlng;
}

And like I said, the second index in latlng is NaN

This is expected for coordinates outside the projection's validity extent. For EPSG:3857, this is latitude -85.06 to 85.06 (see https://epsg.io/3857).
The change you suggested above would not change the latitude if it was NaN already.

You are correct, I went to double check the values to respond to this post and I realized that it was not that function. It is the Proj,transform() function.
More specifically... it is when the esps3857.fromEPSG4326() function is called from transform
Stepping through the code, I found this:

on line 105-106:
var y = _ol_proj_EPSG3857_.RADIUS * Math.log(Math.tan(Math.PI * (input[i + 1] + 90) / 360));
Which is returning NaN because you cannot take the log of a negative number.
By changing the formula to:
var y = _ol_proj_EPSG3857_.RADIUS * Math.log(Math.abs(Math.tan(Math.PI * (input[i + 1] + 90) / 360)));
and passing: 5259029.15946701 into it I got

Latitudes are expected to be in the range of -85.06 to 85.06. You are probably passing projected coordinates instead of longitudes and latitudes to ol/proj/fromLonLat or epst3857/fromEPSG4326.

Latitudes are expected to be in the range of -85.06 to 85.06. You are probably passing projected coordinates instead of longitudes and latitudes to ol/proj/fromLonLat or epst3857/fromEPSG4326.


Rounded rectangle outline doesn't perfectly align with the shape

The error can be seen here:

Minimal SVG:
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="14" height="14" rx="6" ry="6" fill="#fac"/></svg>
The code for drawing is in handles_manager.gd, the _draw() function.

This is an upstream bug in ThorVG: https://github.com/thorvg/thorvg/issues/1824
When it is fixed, it will be fixed automatically.

Fixed in Godot 4.2.2.rc2


⚠ Bofrost.fr has degraded performance

In 68b6bfc, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1713 ms

Resolved: Bofrost.fr performance has improved in 35e356e after 7 minutes.


Move curl.me/validator to docs site

Just a heads up, we were testing this out today and noticed an issue.
The examples given in the docs result in an error:
write_files: Additional property write_files is not allowed
Surely this is wrong!?
Anyway, we're trying to find out why our cloud-config isn't resulting in a running OS, and the built-in validation isn't returning errors, and your version is returning false errors.


Switch common/ndc to internal types

What changed?
Switched common/ndc to internal types

Why?
To propagate internal types throughout Cadence codebase.

How did you test it?

Potential risks

Coverage decreased (-0.01%) to 61.09% when pulling 67b888602b65d38b22deb9309838ab8fe2bf9f99 on vytautas-karpavicius:common-ndc into a5aaeb1512acd4be1b242f64d2377524eccece03 on uber:master.


adding getentropy/getrandom to dragonflybsd.

@devnexen @JohnTitor what is needed to merge this? A quick look at the CI seems to indicate that the failure is not related to this pr?


RadioGroup not working with boolean value

Describe the bug
const {field, model, read} = useForm(MyModel);
 <VerticalLayout style={{ alignItems: 'stretch', width: '18rem', maxWidth: '100%' }}>
                    <TextField label="Title" {...field(model.title)} />
                    <NumberField label="Order" {...field(model.order)} />
                    <RadioGroup label="Status" {...field(model.isEnabled)} >
                        <RadioButton value="true" label="Enable" />
                        <RadioButton value="false" label="Disabled" />
                    </RadioGroup>
                </VerticalLayout>

on calling read(model) getting error on browser The radio button with the value "true" was not found.
`
Expected-behavior
No response
Reproduction
const {field, model, read} = useForm(MyModel);
<VerticalLayout style={{ alignItems: 'stretch', width: '18rem', maxWidth: '100%' }}>
<TextField label="Title" {...field(model.title)} />
<NumberField label="Order" {...field(model.order)} />
<RadioGroup label="Status" {...field(model.isEnabled)} >

System Info
Chrome browser

Thanks. This is maybe related: https://github.com/vaadin/hilla/issues/177

Thanks. This is maybe related: https://github.com/vaadin/hilla/issues/177

It has not been fixes since 2 years?


OwnershipUtils: fix a warning

Removed a left over from the work on the borrowed-from instruction

@swift-ci smoke test


reporting build problems to TeamCity

Most likely this is going to trigger a PR from the core maintainers, but according to the TeamCity docs, the proper method to fail the build is now by calling ##teamcity[buildProblem description="Build script failure.  Examine logs for further information."].  In the TeamCity helper method(s), there doesn't seem to be anything available to support this.
Is the project being actively maintained enough to submit and have a PR accepted?

Yep, submit away.  :)  This is the wrong repository for the TeamCity helpers, though, so I'll close the issue here, and you can open a PR over in https://github.com/psake/psake-contrib .

@dealproc yip, I will happily accept any PR's into that repo, and publish new packages when required.


Should we remove -g when invoking tini for the docker image?

Is your feature request related to a problem? Please describe.
Right now, the buildkite docker image invokes tini with the -g option, which signals all children processes when a signal is received:
https://github.com/krallin/tini#process-group-killing

With the -g option, Tini kills the child process group , so that every process in the group gets the signal. This corresponds more closely to what happens when you do ctrl-C etc. in a terminal: The signal is sent to the foreground process group.

Describe the solution you'd like
Do we want to remove this so jobs have a chance to finish before they receive the signal from buildkite itself when the grace period expires?

Interesting!
So our docker entrypoint.sh runs under #!/bin/bash as PID 1 and does this:
exec /sbin/tini -g -- ssh-env-config.sh /usr/local/bin/buildkite-agent "$@"

PID 1 should be replaced by tini via the exec call, so that's good so far. And it runs ssh-env-config.sh as a subprocess (PID > 1, PPID == 1)
ssh-env-config.sh comes from https://github.com/buildkite/docker-ssh-env-config and runs via #!/bin/bash. Neither the README nor a search through the repo/issues/etc mention anything about signal handling, so it may not have been explicitly considered.
However ssh-env-config.sh ends in [[ $1 ]] && exec "$@", and that exec call should again replace the /bin/bash process with /usr/local/bin/buildkite-agent as a direct subprocess of /sbin/tini.
Let's validate that in a buildkite/agent:alpine container I have running:
$ docker exec 4ac1948e2ee2 ps -o ppid,pid,args
PPID  PID   COMMAND
    0     1 /sbin/tini -g -- ssh-env-config.sh /usr/local/bin/buildkite-agent start
    1     7 /usr/local/bin/buildkite-agent start

Certainly looks like tini would pass the signal to buildkite-agent even without the -g 👍🏼
I also took a look through commit history, the first mention of /sbin/tini was in 88e949da20fb105eb2fc75806ec05db283deaba1 and it arrived with -g; there's no evidence of it being added for a particular reason or to fix a particular issue.
So, I think you're right, we should drop the -g.

@com6056 https://github.com/buildkite/agent/releases/tag/v3.39.0 includes #1763 to fix this 🚀


Problems with docs

Rasa Core version:
master
Python version:
3.6
Operating system (windows, osx, ...):
osx
Issue:
Simple Bot tutorial:

[x] - 3. -> user actions sounds misleading bc the user has intents
[x] - actually just also add an asterisk * when we say asterisk
[x] - explain what epoch is
[x] - explain how to restart the bot
[x] - pip install with updated Core for ppl who had it before already (probably more for installation page)
[ ] - “pip install rasa_nlu[spacy]” - didn’t install everything - recheck (probably more for installation page)

Content of domain file (if used & relevant):

@Ghostvv Where does the spacy installation fail? I just tried
pip install rasa_nlu[spacy]
python -m spacy download en_core_web_md
python -m spacy link en_core_web_md en

in a clean env and that worked just fine.

i can't remember tbh, i think the installation did not failed, but did not install the last version, and bot didn't work, also python -m spacy download en  worked better and linked automatically

seems to work, let me know if you have more insights into this issue and think there is something that needs fixing in rasa nlu.


gif: crates.io release?

 Maybe a beta version first?

I think a beta release would be good. Maybe after #177 lands?

ok, let's go!


Drop-seq must use either "cell" or "nucleus" in suspension_type

See three.
The Drop-seq item in the suspension_type table must be updated to:
suspension_type

Key
suspension_type

Annotator
Curator

Value
categorical with str categories. This MUST be "cell", "nucleus", or "na".
This MUST be the correct type for the corresponding assay:

For Assay
MUST Use

Drop-seq [EFO:0008722]
"cell" or "nucleus"

If the assay does not appear in this table, the most appropriate value MUST be selected and the curation team informed during submission so that the assay can be added to the table.

Closed. Included with @nayib-jose-gloria's earlier PR.


Noise instead of sound in many wav files

This wav file https://drive.google.com/file/d/1sSCpvA-5a7nL2PV8vW3Yo08jo_GNiZ6_/view?usp=sharing
and many others generate noise instead of actual sound when using loadfile(). Could someone check it?

Pending to check if #13 fixed this, please confirm!

thanks! that file (https://github.com/Gianclgar/GDScriptAudioImport/issues/10#issue-1020839552) sounds right on my system.
And I can't hear noise in other files but

I can't here some files for example https://drive.google.com/file/d/15bF8wStirBZR0x8wT2Rdr5OMPYpcT0G2/view?usp=sharing https://drive.google.com/file/d/1vCU37n0Cj4u4aHTMHGD0BQEPgX-wLDzM/view?usp=sharing https://drive.google.com/file/d/1bg8UoU4KzMsmmYC2hvJyHa9EPUepwQm8/view?usp=sharing ()
some audio has wrong length? for example https://drive.google.com/file/d/1ecFfuiWBDRFtRcokDBllB_MbawFaiqRP/view?usp=sharing https://drive.google.com/file/d/1q1YhX6wfVfO4ffdG_Mf_en9epuPYvGQH/view?usp=sharing

should I create a new issue?

Actually I found a file that makes noise but it seems it's corrupted
It sounds fine in Reaper, but in Godot it has noise even when I have it in res//: and play from the Godot editor
https://drive.google.com/file/d/1dGZdn8K-m_Kd7xGqREMRa0Y7zl8xRmVP/view?usp=sharing


Improve docs/supplemental files for plugins

While trying to add docs for plugins on the wiki, I noticed some issues in the plugin docs:

The JSON schema didn't allow $schema as a key.
The TypeScript types contained the wrong event type.
register_callback wasn't documented at all.
No Lua metadata for plugins was present. LuaLS seems to be the most common language server.

Would be cool if the docs/plugin-meta.lua file could be auto-generated since it's a bit of a duplicate of LuaAPI.hpp

I can work on that. In the mean time this PR is a good step towards that.