Push artifacts to maven central

The build artifact should be available on maven central repository, thus allowing easy pulling from other projects without having to manually copy jars around :-)
Guide: https://maven.apache.org/repository/index.html

QPack is now be available on ossrh (the 0.0-SNAPSHOT version)
https://oss.sonatype.org/#nexus-search;quick~qpack

@joente nice! Let me give it a try :-)

@joente seems to be there:
https://oss.sonatype.org/content/groups/public/technology/transceptor/java-qpack/0.0-SNAPSHOT/
can you upload a stable release, i.e. without SNAPSHOT in the release number? Thanks :-)

Uploading to ossrh: https://oss.sonatype.org/service/local/staging/deploy/maven2/technology/transceptor/java-qpack/0.0/java-qpack-0.0.jar
Uploaded to ossrh: https://oss.sonatype.org/service/local/staging/deploy/maven2/technology/transceptor/java-qpack/0.0/java-qpack-0.0.jar (9.1 kB at 298 B/s)
Uploading to ossrh: https://oss.sonatype.org/service/local/staging/deploy/maven2/technology/transceptor/java-qpack/0.0/java-qpack-0.0.pom
Uploaded to ossrh: https://oss.sonatype.org/service/local/staging/deploy/maven2/technology/transceptor/java-qpack/0.0/java-qpack-0.0.pom (3.7 kB at 3.1 kB/s)
Downloading from ossrh: https://oss.sonatype.org/service/local/staging/deploy/maven2/technology/transceptor/java-qpack/maven-metadata.xml
Uploading to ossrh: https://oss.sonatype.org/service/local/staging/deploy/maven2/technology/transceptor/java-qpack/maven-metadata.xml
Uploaded to ossrh: https://oss.sonatype.org/service/local/staging/deploy/maven2/technology/transceptor/java-qpack/maven-metadata.xml (308 B at 188 B/s)

However, it seems that a proxy is used, maybe it takes some time for the package to appear in the repository?

@joente that's been pushed to staging, I think you need some extra step to move from staging to release: https://central.sonatype.org/pages/releasing-the-deployment.html

@unicolet, thanks, I expected to find the package in the staging repo and did not find it; but probably I'm missing something. I will read the document and see if it works, I'll let you know :-)

@unicolet, I'm a bit confused about this part in the documentation: (since our pom.xml has the nexus-staging-plugin configured, I would expect an automated release)

Nexus Staging Maven Plugin for Deployment and Release
The Nexus Staging Maven Plugin is the recommended way to deploy your components to OSSRH and release them to the Central Repository. To configure it simply add the plugin to your Maven pom.xml.
<build>
<plugins>
...
<plugin>
  <groupId>org.sonatype.plugins</groupId>
  <artifactId>nexus-staging-maven-plugin</artifactId>
  <version>1.6.7</version>
  <extensions>true</extensions>
  <configuration>
     <serverId>ossrh</serverId>
     <nexusUrl>https://oss.sonatype.org/</nexusUrl>
     <autoReleaseAfterClose>true</autoReleaseAfterClose>
  </configuration>
</plugin>

If your version is a release version (does not end in -SNAPSHOT) and with this setup in place, you can > run a deployment to OSSRH and an automated release to the Central Repository with the usual:
mvn clean deploy

I also found that it could take at least minutes to a couple of hours before things are synchronized? Any change that it just takes time?

@joente I can find the artifact in staging:
https://oss.sonatype.org/content/repositories/staging/technology/transceptor/java-qpack/
and I can download the snapshot using mvn, so it does look like one extra step is missing. I've never deployed to the public repos so I'm a newbie too :-)

I guess that is still the 0.0-SNAPSHOT, and not the 0.0 which I uploaded later. The latter should be available in ..service/local/staging/, not ..content/repositories/

I guess that is still the 0.0-SNAPSHOT

you're right, sorry my bad :-)

The package is available here: https://oss.sonatype.org/service/local/repositories/technologytransceptor-1000/content/technology/transceptor/java-qpack/0.0/java-qpack-0.0.jar

I see, some requirements are not met:

Javadoc
Developer info in pom.xml
sources.jar is missing
signature is missing.

I think it worked: https://oss.sonatype.org/service/local/repositories/releases/content/technology/transceptor/java-qpack/0.0/java-qpack-0.0.jar

@joente great work! and thanks :-)
mvn -U  dependency:get -Dartifact=technology.transceptor:java-qpack:0.0
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:get (default-cli) @ standalone-pom ---
[INFO] Resolving technology.transceptor:java-qpack:jar:0.0 with transitive dependencies
Downloading: https://repo.maven.apache.org/maven2/technology/transceptor/java-qpack/0.0/java-qpack-0.0.pom
Downloaded: https://repo.maven.apache.org/maven2/technology/transceptor/java-qpack/0.0/java-qpack-0.0.pom (5.4 kB at 10 kB/s)
Downloading: https://repo.maven.apache.org/maven2/technology/transceptor/java-qpack/0.0/java-qpack-0.0.jar
Downloaded: https://repo.maven.apache.org/maven2/technology/transceptor/java-qpack/0.0/java-qpack-0.0.jar (9.4 kB at 121 kB/s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.769 s
[INFO] Finished at: 2018-08-17T12:58:13+02:00
[INFO] Final Memory: 17M/295M
[INFO] ------------------------------------------------------------------------


Minor: stop using std::fmt, instead used core::fmt.

This is a coding standard, I have adopted in my own libraries, and well this is open source, so I want to start using this practice in modules that I use on a regular basis too..
It follows a recent trend in the rust community.
It is a aspiration, rather than an achievable goal - One day someone will try and run my library of an IOT device
and I will have to answer question on the lines of
What portions of the library can I still use in a "no_std" environment.
So the is a defensive change .. and to drop std::fmt and use core::fmt  where possible
I hope this helps.

Huh, that's interesting. There is no plausible path to no_std for Leptos, but seems like  good practice overall!


Acquire Using behavior

Hi, I know it's wrong place for the general questions but I can't get answer on stackoverflow or Azure portal support.
I see that Teams Bot have Acquire Using field in the product description. But I can't find any place where the behavior of this field is described. If I understand it correctly Teams app can be used with both personal and business accounts. So it looks like Acquire Using limits usage to only business account but I don't see anything about that in the manifest documentation. I also found that mostly all apps in the store requires Work or school account, e.g. Stackoverflow app but I found couple apps which also allow Microsoft account, e.g. Salesforce app. Does Microsoft account stands for personal?
So what does it mean and how can I change the requirements?
Stackoverflow question: https://stackoverflow.com/questions/62154460/teams-bot-acquire-using

Where are you seeing this property? Can you share an example?

Just got a call from Microsoft Partner support center. If I got it right this field is set by certification team and by design all Team applications requires Business or School account. Salesforce in the first post belongs to Outlook applications which is different class of applications and it's possible to choose who can use it.
So in a nutshell it's kind of business decision to limit all Teams applications only to business or school account. Also if got it right again it's not kind of documented limitation but just an internal rule.


HV2-1586

Purpose of this PR is to implement the Backup method, allowing a backup of a db to be created.

Per @itsmontoya notes, I'll take a look at using our "snapshotter" library instead.  I'll either close this PR or make changes and re-request reviews.

Also @itsmontoya let's sync up about any plans in place for backup/scale-out because I'm definitely not in the loop here :P

Thanks @itsmontoya for the notes, this is WAY more performant now :)

@itsmontoya the specific ask here is to get a one-off anonymized copy of prod so we can do performance and regression testing, not necessarily to build backups.
That being said, it looks like there's no good way to find out when this done, right? If it runs on a loop, can we get some notification (logs or otherwise) that it's finished so we know we can shut it off and grab the files?

@djeebus I appreciate the explanation of the use-case. I would say this validates the need for an external Hatch-only library to perform this task. It feels like added features/bloat of dbl that aren't super relevant to the majority of the usage.

Additionally, I also feel that our primary intended method for backups (using logger repository) would handle this use-case brilliantly as well. In addition, it will scale better with bigger DBs than the solution in the PR

@itsmontoya we can totally move this out of DBL and into Hatch :) However, I definitely want to sync up on where we are with logger repository and if that is something we can use now OR if we need to implement a temporary solution for this until logger repository is fully stood up :) Apologies if I'm ignorant on where we stand with log repo currently.

I'm going to be creating a new universal dump as a DBL history file within my next PR. Closing this as the future PR makes this obsolete. That being said, I appreciate this PR! It was a big eye opener that this functionality was needed.


fix/updates packages and docker

Updates Packages, adds "Update" command and updates Dockerfiles
Does broadly what it says on the tin. We've been running a fair bit on older packages, updating is always good.
New "Update" Command
The new update command updates the packages in package.json, it also convienently npm installs!
```shell
npm i -g npm-check-updates
& echo 'Check complete'
& ncu -us
& echo 'Updated package.json
& npm install
& echo 'Done'
```

Notice about new Node version!
The above was built using Node 21 which was released yesterday, if you're having issues. I'd recommend installing that version.
Also, If you're not already using it NVM is pog

Windows
Mac/Linux

Cool note. The above is an example of a Linux app running nativly on a Windows machine. WSL is so cool!
Changelog

Updates dockerfiles to target "lts"
Adds "update" and updates packages

Ignore the failed linting check above, update changes warnings on lint fails to errors. Won't compromise build.


Add Grammar tool to docs

Add grammar tool to docs and do the changes suggested by the tool.

passive
Checks for passive voice.
illusion
Checks for lexical illusions – cases where a word is repeated.
so
Checks for so at the beginning of the sentence.
thereIs
Checks for there is or there are at the beginning of the sentence.
weasel
Checks for "weasel words."
adverb
Checks for adverbs that can weaken meaning: really, very, extremely, etc.
tooWordy
Checks for wordy phrases and unnecessary words.
cliches
Checks for common cliches.


ObjectMapper failed to serialize response

Hi,
I'm trying to use AlamofireObjectMapper in a project with Switf 2 on Xcode 7.
I mapped an object into a class:
import Foundation
import ObjectMapper
class Item: Mappable {
var id: Int?
required init?(_ map: Map) {
}
func mapping(map: Map) {
id <- map["id"]
}
}
However, when I call it (as Github's example)
let URL = "xxx"
Alamofire.request(.GET, URL)
.responseObject("data") { (response: Response<Item, NSError>) in
print(response.result.value?.id)
print(response.result.error)
}
I got this error:
"Optional(Error Domain=com.alamofire.error Code=-6004 "ObjectMapper failed to serialize response." UserInfo={NSLocalizedFailureReason=ObjectMapper failed to serialize response.})"
This also happens with WeatherForecast example. What can be the problem?

i can't even compile, i get an error Value of type Request has no member 'responseObject'
Using swift 2.0 and xCode 7

I'm not sure why this is happening for you two... have you included the following line in your file?
import AlamofireObjectMapper

that did it. thanks.

i have the same issue "Value of type request has no member .responseObject",
import AlamofireObjectMapper is already added but issue is still exist.


Get electronVersion from package.json file

Addresses a comment made by an Electron core maintainer in https://github.com/electron/electron/pull/39380#discussion_r1287421204. Can we just pick the version from the package.json?
cc @goosewobbler

This should be straight forward though we should keep the override for the case where the tests are in a different repo from the application being tested.

we should keep the existing configuration item as an override

Yes, totally 👍

@christian-bromann Is there a way to override the chromedriver version used by WDIO?  I got the service working again by removing all the launcher code (and the wdio-chromedriver-service dependency), but I wouldn't be surprised if there are issues around CD version matching.

If you set browserVersion to version Electron requires Chromedriver to be, it should work. Since you set the binary in goog:chromeOptions it won't download any Chrome browser but will set up Chromedriver with the correct version.

Ok, thanks, in that case I think we can keep the lookup for the Chromedriver version which matches a given electron version and pass the correct Chromedriver version string to WDIO for download.

In case this approach is of interest, we just bug out to the node_modules folder and grab the package.json for packages we care about. This is mainly for keeping packages like electron, electron-chromedriver and browserslist on the same page via a set of 'versionCheck' unit tests.
import fs from 'fs';
import path from 'path';

export function findPackageJson(startDir: string) {
    let cur = startDir;
    // eslint-disable-next-line no-constant-condition
    while (true) {
        try {
            const testPath = path.join(cur, 'package.json');
            fs.accessSync(testPath);
            fs.accessSync(path.join(cur, 'node_modules'));   // has to be the right one
            return testPath;
        } catch (e) {
            let next = path.normalize(cur + '../');
            if (next === cur) {
                throw new Error('package.json not found');
            }
            cur = next;
        }
    }
}

export function nodeModulesDir(inPackageJson: string) {
    return path.join(path.dirname(inPackageJson), 'node_modules');
}

export function packageVersion(inPackageName: string, inNodeModulesDir?: string): string {
    let node_modules = inNodeModulesDir || (nodeModulesDir(findPackageJson(__dirname)));
    // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
    return (JSON.parse(fs.readFileSync(path.join(node_modules, inPackageName, 'package.json'), { encoding: 'utf8' })).version) as string;
}

@ForesightImaging thanks, I'll be taking a look at this issue once the service works again with the latest WDIO versions - progress here.

Released with v5.0.0


token null!!!!!!!!!!!!!

Since I’m using localStorage, the token returns as null on the server-side, but it becomes populated once the page is mounted. I also tried using the useCookie hook, but I encountered the same issue. How can I solve this?
Here reproduction: https://stackblitz.com/edit/github-nq5uve?file=package.json,nuxt.config.ts,pages%2Findex.vue

projecti will work with yarn

First of all I would avoid using multiple exclamation marks in issue title, surprisingly you will receive more attention without them.
I'd start of taking a step back and verify nuxt docs - there are tons of useful information there. Read about server directory, fetching data, state, differences between server and client and so on.. Also check vue docs, component lifecycle for example.
Understating 'basic stuff' is really, important.
We don't know your app's architecture, so we can't tell what's the best solution. But if you want to access token on a server, you can't obviously use localStorage as it's client-only. Maybe request done on server could help you. Or maybe you don't even need token server-side. Hard to tell.

As @mkierdev said. Please improve your issue and describe the problem + what you are trying to achieve.
And give it a descriptive title 🙏🏻


[Bug] Prover tries to communicate with the operator even if the connection failed, unable to reconnect

🐛 Bug Report
I observe 2 issues right now.

After the connection challenge exchange failed and the connection was not established, the prover still tries to send the messages. Probably it should ignore the disconnected peer until the next successful connection attempt.
The log is below, last message is repeated constantly:

Feb 15 23:35:10 root1822 snarkos[3851472]: 2022-02-15T22:35:10.478778Z DEBUG Connecting to <IP_ADDRESS>:4132...
Feb 15 23:35:10 root1822 snarkos[3851472]: 2022-02-15T22:35:10.499509Z TRACE Sending 'ChallengeRequest-A' to <IP_ADDRESS>:4132
Feb 15 23:35:10 root1822 snarkos[3851472]: 2022-02-15T22:35:10.520252Z TRACE Received 'ChallengeRequest-B' from <IP_ADDRESS>:4132
Feb 15 23:35:10 root1822 snarkos[3851472]: 2022-02-15T22:35:10.520265Z TRACE Sending 'ChallengeResponse-B' to <IP_ADDRESS>:4132
Feb 15 23:35:10 root1822 snarkos[3851472]: 2022-02-15T22:35:10.520595Z TRACE Failed to get challenge response from <IP_ADDRESS>:4132, peer has disconnected
Feb 15 23:35:11 root1822 snarkos[3851472]: 2022-02-15T22:35:11.438345Z  WARN Attempted to send to a non-connected peer <IP_ADDRESS>:4132
Feb 15 23:35:12 root1822 snarkos[3851472]: 2022-02-15T22:35:12.439630Z  WARN Attempted to send to a non-connected peer <IP_ADDRESS>:4132
Feb 15 23:35:13 root1822 snarkos[3851472]: 2022-02-15T22:35:13.440561Z  WARN Attempted to send to a non-connected peer <IP_ADDRESS>:4132

The prover can not reconnect to the operator, the same challenge response failure is observed, see the (pre-filtered) log below.

Feb 15 23:38:54 root1822 snarkos[3851472]: 2022-02-15T22:38:54.108284Z DEBUG Connecting to <IP_ADDRESS>:4132...
Feb 15 23:38:54 root1822 snarkos[3851472]: 2022-02-15T22:38:54.128997Z TRACE Sending 'ChallengeRequest-A' to <IP_ADDRESS>:4132
Feb 15 23:38:54 root1822 snarkos[3851472]: 2022-02-15T22:38:54.149802Z TRACE Received 'ChallengeRequest-B' from <IP_ADDRESS>:4132
Feb 15 23:38:54 root1822 snarkos[3851472]: 2022-02-15T22:38:54.149815Z TRACE Sending 'ChallengeResponse-B' to <IP_ADDRESS>:4132
Feb 15 23:38:54 root1822 snarkos[3851472]: 2022-02-15T22:38:54.149864Z TRACE Failed to get challenge response from <IP_ADDRESS>:4132, peer has disconnected
Feb 15 23:38:54 root1822 snarkos[3851472]: 2022-02-15T22:38:54.269559Z DEBUG Status Report (type = Prover, status = Ready, block_height = 308874, cumulative_weight =<PHONE_NUMBER>78, block_requests = 0, connected_peers = 16)
Feb 15 23:38:54 root1822 snarkos[3851472]: 2022-02-15T22:38:54.359022Z  WARN Attempted to send to a non-connected peer <IP_ADDRESS>:4132
.......
Feb 15 23:39:24 root1822 snarkos[3851472]: 2022-02-15T22:39:24.150909Z TRACE Skipping connection request to <IP_ADDRESS>:4132 (tried 30 secs ago)
........
Feb 15 23:40:01 root1822 snarkos[3851472]: 2022-02-15T22:40:01.264002Z  WARN Attempted to send to a non-connected peer <IP_ADDRESS>:4132
Feb 15 23:40:01 root1822 snarkos[3851472]: 2022-02-15T22:40:01.264008Z TRACE Skipping connection request to <IP_ADDRESS>:4132 (tried 67 secs ago)
Feb 15 23:40:01 root1822 snarkos[3851472]: 2022-02-15T22:40:01.264013Z  WARN Attempted to send to a non-connected peer <IP_ADDRESS>:4132
.......
Feb 15 23:42:05 root1822 snarkos[3851472]: 2022-02-15T22:42:05.054706Z TRACE Skipping connection request to <IP_ADDRESS>:4132 (tried 190 secs ago)
.......
Feb 15 23:42:35 root1822 snarkos[3851472]: 2022-02-15T22:42:35.975320Z  WARN Attempted to send to a non-connected peer <IP_ADDRESS>:4132
Feb 15 23:42:35 root1822 snarkos[3851472]: 2022-02-15T22:42:35.975324Z DEBUG Connecting to <IP_ADDRESS>:4132...
Feb 15 23:42:35 root1822 snarkos[3851472]: 2022-02-15T22:42:35.975373Z  WARN Attempted to send to a non-connected peer <IP_ADDRESS>:4132
Feb 15 23:42:35 root1822 snarkos[3851472]: 2022-02-15T22:42:35.996093Z TRACE Sending 'ChallengeRequest-A' to <IP_ADDRESS>:4132
Feb 15 23:42:36 root1822 snarkos[3851472]: 2022-02-15T22:42:36.016826Z TRACE Received 'ChallengeRequest-B' from <IP_ADDRESS>:4132
Feb 15 23:42:36 root1822 snarkos[3851472]: 2022-02-15T22:42:36.016836Z TRACE Sending 'ChallengeResponse-B' to <IP_ADDRESS>:4132
Feb 15 23:42:36 root1822 snarkos[3851472]: 2022-02-15T22:42:36.016874Z TRACE Failed to get challenge response from <IP_ADDRESS>:4132, peer has disconnected
Feb 15 23:42:39 root1822 snarkos[3851472]: 2022-02-15T22:42:39.909971Z DEBUG Status Report (type = Prover, status = Ready, block_height = 308884, cumulative_weight =<PHONE_NUMBER>55, block_requests = 0, connected_peers = 16)
......
Feb 15 23:43:10 root1822 snarkos[3851472]: 2022-02-15T22:43:10.282010Z  WARN Attempted to send to a non-connected peer <IP_ADDRESS>:4132
Feb 15 23:43:10 root1822 snarkos[3851472]: 2022-02-15T22:43:10.282134Z TRACE Skipping connection request to <IP_ADDRESS>:4132 (tried 34 secs ago)
Feb 15 23:43:10 root1822 snarkos[3851472]: 2022-02-15T22:43:10.282227Z  WARN Attempted to send to a non-connected peer <IP_ADDRESS>:4132
......

Steps to Reproduce
This probably depends on the network status but timestamps in the logs may help if operator logs for the same time period are examined.
Network layer state is ok, ping log is below:
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=59 time=20.7 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=59 time=20.6 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=59 time=20.6 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=59 time=20.6 ms

Expected Behavior

The first issue can be fixed if the prover will handle the connection status properly and will not attempt to send messages if the connection was not established or disconnected.
The prover should successfully reconnect after a certain delay (seems it's 180 sec for now). The second case looks like some application logic issue happens.

Your Environment

snarkos 2.0.2
rustc 1.58.1 (db9d1b20b 2022-01-20)
Ubuntu 20.04
AMD Ryzen 3900x, 64GB RAM, 2*1TB NVMe Raid 0
1GBPs network

Same
2022-02-09T15:56:15.340275Z DEBUG Connecting to <IP_ADDRESS>:4132...
2022-02-09T15:56:15.340319Z TRACE Skipping connection request to <IP_ADDRESS>:4132 (tried 117 secs
2022-02-09T15:56:15.340362Z TRACE Skipping connection request to <IP_ADDRESS>:4132 (tried 45 secs
2022-02-09T18:00:33.738836Z TRACE Sending 'PeerRequest' to <IP_ADDRESS>:4132
2022-02-09T18:00:33.738861Z TRACE Skipping connection request to <IP_ADDRESS>:4132 (tried 27 secs
2022-02-09T18:00:33.738866Z TRACE Skipping connection request to <IP_ADDRESS>:4132 (tried 108 secs
2022-02-10T03:39:09.719595Z TRACE Attempting connection to <IP_ADDRESS>:4132...
2022-02-10T03:39:09.719597Z TRACE Attempting connection to <IP_ADDRESS>:4132...
2022-02-10T03:39:09.719599Z TRACE Attempting connection to <IP_ADDRESS>:4132...
2022-02-10T04:50:02.079182Z  INFO aleo_prover::prover: Share found for block 282696 with weight 31
2022-02-10T04:50:04.540246Z  INFO aleo_prover::prover: Share found for block 282696 with weight 1163
2022-02-10T04:50:04.567121Z  INFO aleo_prover::prover: Share found for block 282696 with weight 3185
2022-02-16T06:30:01.609898Z TRACE Attempting connection to <IP_ADDRESS>:4132...
2022-02-16T06:30:01.609900Z TRACE Attempting connection to <IP_ADDRESS>:4132...
2022-02-16T06:30:01.609902Z TRACE Attempting connection to <IP_ADDRESS>:4132...
2022-02-16T06:30:01.609904Z TRACE Attempting connection to <IP_ADDRESS>:4132...
2022-02-16T06:30:01.609907Z TRACE Attempting connection to <IP_ADDRESS>:4132...
2022-02-16T06:30:01.609909Z TRACE Attempting connection to <IP_ADDRESS>:4132...
2022-02-16T06:30:01.609912Z TRACE Attempting connection to <IP_ADDRESS>:4132...
2022-02-16T06:30:01.609914Z TRACE Attempting connection to <IP_ADDRESS>:4132...
2022-02-16T06:30:01.609916Z TRACE Attempting connection to <IP_ADDRESS>:4132...

PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=46 time=246 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=46 time=232 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=46 time=229 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=46 time=227 ms
64 bytes from <IP_ADDRESS>: icmp_seq=5 ttl=46 time=233 ms
64 bytes from <IP_ADDRESS>: icmp_seq=6 ttl=46 time=239 ms
64 bytes from <IP_ADDRESS>: icmp_seq=7 ttl=46 time=229 ms

Not applicable to testnet3.


Add metric gauge to track the number of llc simultaneous segment builds

This PR adds a metric gauge to track the number of LLC simultaneous segment builds, which could help us debug what happened during the real-time segment completion.

Codecov Report

Merging #3566 into master will increase coverage by 0.14%.
The diff coverage is 46.66%.

@@             Coverage Diff             @@
##             master   #3566      +/-   ##
===========================================
+ Coverage     70.56%   70.7%   +0.14%
  Complexity        4       4
===========================================
  Files           997     997
  Lines         45765   45779      +14
  Branches       6135    6137       +2
===========================================
+ Hits          32294   32370      +76
+ Misses        11349   11292      -57
+ Partials       2122    2117       -5

Impacted Files
Coverage Δ
Complexity Δ

...manager/realtime/LLRealtimeSegmentDataManager.java
71.47% <100%> (+0.26%)
0 <0> (ø)
:arrow_down:

...com/linkedin/pinot/common/metrics/ServerGauge.java
96% <100%> (+0.16%)
0 <0> (ø)
:arrow_down:

...linkedin/pinot/common/metrics/AbstractMetrics.java
72.29% <27.27%> (-5.08%)
0 <0> (ø)

...in/pinot/core/query/pruner/ValidSegmentPruner.java
57.14% <0%> (-28.58%)
0% <0%> (ø)

...impl/dictionary/DoubleOnHeapMutableDictionary.java
68.88% <0%> (-6.67%)
0% <0%> (ø)

...e/operator/dociditerators/MVScanDocIdIterator.java
54.54% <0%> (-6.07%)
0% <0%> (ø)

.../impl/dictionary/LongOffHeapMutableDictionary.java
81.81% <0%> (-5.46%)
0% <0%> (ø)

...elix/core/relocation/RealtimeSegmentRelocator.java
68.75% <0%> (-5.21%)
0% <0%> (ø)

...not/broker/broker/helix/ClusterChangeMediator.java
62.9% <0%> (-3.23%)
0% <0%> (ø)

...manager/realtime/HLRealtimeSegmentDataManager.java
78.75% <0%> (-2.6%)
0% <0%> (ø)

... and 24 more

Continue to review full report at Codecov.

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


🐛 Allow exit code for dependencies with yield to always execute, by removing capacity limiter for them, to e.g. allow closing DB connections without deadlocks

Related to #3205
Tested this against https://github.com/harsh8398/fastapi-dependency-issue

If a new CapacityLimiter is created every time, then the token can be 1... Can't it?
The inf would make sense for a global limiter... Isn't it the case?

Yeah I guess it can be 1. Or we can make it a global. Either way.

Niceee! :nerd_face: :rocket:
I tested this with the example code in: https://github.com/tiangolo/fastapi/issues/3205
I used wrk and I ran twice:
$ wrk -c 100 -t 100 --timeout 60 "http://<IP_ADDRESS>:8000/"

Without the fix
Without the fix, I got first:
Running 10s test @ http://<IP_ADDRESS>:8000/
  100 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     3.40s     2.04s    8.05s    63.64%
    Req/Sec     0.00      0.00     0.00    100.00%
  22 requests in 10.09s, 3.05KB read
Requests/sec:      2.18
Transfer/sec:     309.54B

And then the second run I got:
Running 10s test @ http://<IP_ADDRESS>:8000/
  100 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     0.00us    0.00us   0.00us    -nan%
    Req/Sec     0.00      0.00     0.00      -nan%
  0 requests in 10.08s, 0.00B read
Requests/sec:      0.00
Transfer/sec:       0.00B

...this seems to reflect the deadlock. :tada: (I'm celebrating being able to see something broken, it's sometimes hard to see the broken part :sweat_smile: )
After that, I Ctrl+C the Uvicorn process, and it hung in there, at:
^C
INFO:     Shutting down
INFO:     Waiting for background tasks to complete. (CTRL+C to force quit)

After 7 minutes I force-killed the process. So, indeed, deadlock.
With the fix, outside
With the fix, putting a single global CapacityLimiter outside of the function.
First I got:
Running 10s test @ http://<IP_ADDRESS>:8000/
  100 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     4.97s     3.07s   10.02s    67.50%
    Req/Sec     0.00      0.00     0.00    100.00%
  40 requests in 10.09s, 5.55KB read
Requests/sec:      3.96
Transfer/sec:     562.78B

For the second run I got:
Running 10s test @ http://<IP_ADDRESS>:8000/
  100 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     6.31s     2.45s    9.64s    73.08%
    Req/Sec     0.00      0.00     0.00    100.00%
  26 requests in 10.09s, 3.61KB read
Requests/sec:      2.58
Transfer/sec:     365.96B

Third run:
Running 10s test @ http://<IP_ADDRESS>:8000/
  100 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     6.90s     2.76s    9.58s    83.33%
    Req/Sec     0.00      0.00     0.00    100.00%
  12 requests in 10.08s, 1.66KB read
Requests/sec:      1.19
Transfer/sec:     169.06B

Not sure why it keeps reducing the number of requests. It seems something would be still wrong, but not sure what. :pensive:
After that, and after I wrote this, I Ctrl+C the Uvicorn process, it finished immediately. So it seems it handled the deadlock.
I ran the whole thing again, and I Ctrl+C the Uvicorn process immediately after the 3 runs, and then it waited for a bit at:
^C
INFO:     Shutting down
INFO:     Waiting for background tasks to complete. (CTRL+C to force quit)

But after 50 seconds it terminated normally.
With the fix, local
Keeping the local CapacityLimiter created every time, as in this PR.
The first run I got:
Running 10s test @ http://<IP_ADDRESS>:8000/
  100 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     4.71s     2.90s   10.06s    65.00%
    Req/Sec     0.00      0.00     0.00    100.00%
  40 requests in 10.08s, 5.55KB read
Requests/sec:      3.97
Transfer/sec:     563.34B

The second run I got:
Running 10s test @ http://<IP_ADDRESS>:8000/
  100 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     5.26s     2.50s    8.48s    80.00%
    Req/Sec     0.00      0.00     0.00    100.00%
  5 requests in 10.09s, 710.00B read
Requests/sec:      0.50
Transfer/sec:      70.37B

And the third run I got:
Running 10s test @ http://<IP_ADDRESS>:8000/
  100 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     5.52s     2.99s    9.27s    50.00%
    Req/Sec     0.00      0.00     0.00    100.00%
  4 requests in 10.10s, 568.00B read
Requests/sec:      0.40
Transfer/sec:      56.25B

The results are similar to having a global CapacityLimiter than having a local one. The 5 or 4 requests are comparable to some of the other tests I ran with the global CapacityLimiter. It's in the same ballpark.
Terminating the process also worked as expected instead of hanging there in a deadlock.
For some reason, it's still being able to handle fewer requests every time. Maybe it's just that it's trying to read the file every time or something like that and there's a bottleneck in that, just in the file system. I'm not sure about that.

Checking the AnyIO docs I see that:

Capacity limiters are like semaphores except that a single borrower (the current task by default) can only hold a single token at a time.

Ref: https://anyio.readthedocs.io/en/stable/synchronization.html
Then I'm not sure if it could be problematic if the same thread worker tried to get the limiter again, and if that could block with the other thing running on the same thread that already got the limiter token.
Until we figure this out, I'll leave the local CapacityLimiter (as in this PR) to be safe (although in my local tests it didn't seem to affect, but not sure why).
But anyway, it seems that this clearly improves the situation.
I wish there was a way to test this, in pytest. But not sure how to replicate the whole problem and situation in a feasible way (not involving a whole setup for "benchmarks" with ab, Locust, or wrk).
For now, I'll merge this, but if anyone has any idea about how this could be tested, to have checks in CI making sure the problem doesn't happen again, it would be awesome.
Thanks @adriangb for all the investigation and work! :bow: :nerd_face: :cake:

I wish there was a way to test this, in pytest. But not sure how to replicate the whole problem and situation in a feasible way (not involving a whole setup for "benchmarks" with ab, Locust, or wrk)

It might be reproducible by talking pure-ASGI to the FastAPI app and launching multiple tasks using a TaskGroup? Might be hard to get the timing right though.
It might be worth trying to set the capacity limit to float("inf") instead of 1? Could the slowdown come from acquiring database connections? There's likely some semaphore there as well.

Hehe I was writing this and you commented before me :sweat_smile:

Ah, wait, I didn't read @Kludex comment properly. I didn't realize it could be an inf float. That probably makes sense and we can avoid creating a new object every time.

I just di that and updated the branch. :rocket:

Hehehe the tests have spoken... it seems we need to use the local variable after all. Otherwise AnyIO gets confused with what is the async backend. :joy:

wait

But I'm not sure how to make it fail instead of hang, if it just hangs it's gonna be more difficult to test

I think anyio.fail_on_after() should do the trick right? But if we were to put this in a test it might be good to figure out how to reproduce it without SQLAlchemy.

Hehehe the tests have spoken... it seems we need to use the local variable after all. Otherwise AnyIO gets confused with what is the async backend. joy

https://github.com/agronholm/anyio/blob/07b49f76597f353185c825e2acd1b1b9fe274727/src/anyio/_backends/_asyncio.py#L2068
https://anyio.readthedocs.io/en/stable/api.html?highlight=runvar#anyio.lowlevel.RunVar

@adriangb

I think anyio.fail_on_after() should do the trick right? But if we were to put this in a test it might be good to figure out how to reproduce it without SQLAlchemy.

Totally agree with that! That would be great. Not sure how but it would be great indeed.
@Kludex
Thanks for the links and pointers! (also on Discord)
Copying here for completeness, the issue about CapacityLimiters in Starlette: https://github.com/encode/starlette/issues/1724
The snippet to update the default token size of the default CapacityLimiter in https://github.com/encode/starlette/issues/1724#issuecomment-1179063924 and for FastAPI in: https://gist.github.com/Kludex/f889f02bb81adf3a8d63176ad4d8bcb1

In conclusion, for now I'll merge this with the local capacity limiter. Maybe at some point Starlette or FastAPI can have a way to customize different capacity limiters for different things (not sure, I haven't thought much about it) and then this could be set there.
And about the option of using a RunVar (semi pseudo-contextvar) for a global-loop-local capacity limiter, for now I'll leave the local variable as it's simpler and we can be more certain the implementation works well. The RunVar can have a cost involved while dealing with these pseudo-contextvars that might offset the cost of creating the local object in the function. And the implementation would certainly be more complex. So I'll rather keep this one, to be a bit more certain, and avoid the risk of introducing other complex errors (contextvars are my nemesis :joy:).
Thanks again you both for all the help! :bow: :cake:

This has been closed, but I am not really sure on the final solution as far as running syncronous SQLAlchemy with FastAPI. In my case, I am using FastAPI with SQLAlchemy and Oracle, which does not have a trusted async library.
If it is possible to use SQLAlchemy synchronously, what is the correct approach?

@nickswiss I'm not sure I understand the question or if there's something you're not being able to do. If you still have questions or problems, it's probably better to ask in a new GitHub issue, the template will guide you to structure the question in a way that will make it easier to help you, with an example I can run, etc.


Tests were not linked against prometheus-cc

Fixed typo in the CMakeLists file: tests were not linked against prometheus-cc

The original code seems like a copy-and-pasto to me. lgtm.

@wally-the-cartographer merge

Merge requested by authorized user SirVer. Merge queue now has a length of 1.


Caching for Kotlin scripts is broken if using importing

If we have file A that imports file B, rerunning the file A as a top-level script doesn't cause file B to be recompiled if B did change and A didn't.
Issue on the Kotlin side: https://youtrack.jetbrains.com/issue/KT-42101

Moved to FAQ: https://github.com/typesafegithub/github-workflows-kt/pull/1171


use system properties by default

The previous implementation completely ignores system properties like http.proxyHost and the like. http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/client/HttpClientBuilder.html (used by https://github.com/Mashape/unirest-java/blob/a31faff72bc7440a0293dd879dc5d3ef88c577c4/src/main/java/com/mashape/unirest/http/options/Options.java) provides the out of the box feature to consider these system properties.
This change simply uses said feature.

Hello, this should be resolved or addressed in Unirest 2. Please see the upgrade guide for important changes.
I merged in another Fork to supply this and the code is now drastically different so this can't merge anyway. In any case thank you so much for your time and patience. I hope as one of the new maintainers we can more responsive in the future.


The MAX_SERIALIZATION_TOTAL is orders of magnitude too low

Even a relatively simple replication of a short list 10 times causes MAX_SERIALIZATION_TOTAL to trigger and destroy the entire stack

https://github.com/gamma-delta/HexMod/blob/10c9d074b8d2c5dceaf2467f61cbc1ef8cfdb0e8/Common/src/main/java/at/petrak/hexcasting/api/spell/SpellDatum.kt#L110

I just checked - this is actually not the issue. The issue is that the serialization depth compounds in a way it really shouldn't.


chore: update maxgio92 affiliations

**What type of PR is
/kind documentation
Any specific area of the project related to this PR?
/area utils
What this PR does / why we need it:
This PR updates the affiliation of maxgio92.
Which issue(s) this PR fixes:
NA
Special notes for your reviewer:
NA

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: maxgio92
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [maxgio92]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


bro what is this? there is no MobileScanner :| you only added the clipper part(design),

there is no MobileScanner widget only design is there

Yeah that's exactly what I built , there was a pre existing qr scanner
library I just wanted a flexible overlay for it hence the scanner overlay
as the name says . I built this mainly cause I use it and a friend of mine
also wanted the same in his project so made it a package .
On Thu, Dec 28, 2023, 01:41 Bhaskar @.***> wrote:

there is no MobileScanner widget only design is there
Screenshot.from.2023-12-28.01-40-37.png (view on web)
https://github.com/Govind-S-B/qr_scanner_overlay/assets/115359430/f37eae52-8638-4b78-bf2d-89d87d9390f2
—
Reply to this email directly, view it on GitHub
https://github.com/Govind-S-B/qr_scanner_overlay/issues/2, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APAHEZ2JDU4367VBB6GVQULYLR6GXAVCNFSM6AAAAABBEW4WDKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2TONZTHE4TSNQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

The usage also indicates that , sorry if it was now clear enough. https://github.com/Govind-S-B/qr_scanner_overlay?tab=readme-ov-file#usage

sorry got it, actually i searched for scanner i found it so i thought this is a scanner!


'Rcplex2.o' failed

Hi,
I added export CPLEX_DIR=/path/to/your/copy/of/CPLEX_Studio/ to .bashrc.  I was trying to install the package in R but I'm getting following errors while I'm installing the package:

CPLEX_DIR environment variable, found (CPLEX_DIR=/fh/fast/ha_g/user/mko/CPLEX/cplex), will install CPLEX functionality
In file included from Rcplex2.c:2:0:
Rcplex2.h:4:10: fatal error: ilcplex/cplex.h: No such file or directory
#include <ilcplex/cplex.h>
^~~~~~~~~~~~~~~~~
compilation terminated.
/app/software/R/3.6.1-foss-2018b/lib/R/etc/Makeconf:167: recipe for target 'Rcplex2.o' failed

I confirmed that I can find ./include/ilcplex/cplex.h but I wonder where Rcplex2 is located.
Do you have any suggestions for this error?!
Thanks!

I think you may be one directory too far down?
ie try
CPLEX_DIR=/fh/fast/ha_g/user/mko/CPLEX/
as per installation instructions
NOTE: if CPLEX_DIR is set correctly then $CPLEX_DIR/cplex/include and $CPLEX_DIR/cplex/lib should both exist.
From: mjko1210<EMAIL_ADDRESS>Reply-To: mskilab/JaBbA<EMAIL_ADDRESS>Date: Tuesday, June 23, 2020 at 5:40 PM
To: mskilab/JaBbA<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [mskilab/JaBbA] 'Rcplex2.o' failed (#26)
Hi,
I added export CPLEX_DIR=/path/to/your/copy/of/CPLEX_Studio/ to .bashrc. I was trying to install the package in R but I'm getting following errors while I'm installing the package:
CPLEX_DIR environment variable, found (CPLEX_DIR=/fh/fast/ha_g/user/mko/CPLEX/cplex), will install CPLEX functionality
In file included from Rcplex2.c:2:0:
Rcplex2.h:4:10: fatal error: ilcplex/cplex.h: No such file or directory
#include <ilcplex/cplex.h>
^~~~~~~~~~~~~~~~~
compilation terminated.
/app/software/R/3.6.1-foss-2018b/lib/R/etc/Makeconf:167: recipe for target 'Rcplex2.o' failed
I confirmed that I can find ./include/ilcplex/cplex.h but I wonder where Rcplex2 is located.
Do you have any suggestions for this error?!
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/mskilab/JaBbA/issues/26__;!!C6sPl7C9qQ!B2DFDTQzLaIda1xoOTfpbAsib3hWbttDfxXHALmyaUv_Dgl_ra1PUspwJvHm1cviwnM$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/ABFUFY7VRBCZ7H7OLX6DFBDRYEOLRANCNFSM4OGCDAYQ__;!!C6sPl7C9qQ!B2DFDTQzLaIda1xoOTfpbAsib3hWbttDfxXHALmyaUv_Dgl_ra1PUspwJvHmsr2ySr8$.

This message is for the recipient’s use only, and may contain confidential, privileged or protected information. Any unauthorized use or dissemination of this communication is prohibited. If you received this message in error, please immediately notify the sender and destroy all copies of this message. The recipient should check this email and any attachments for the presence of viruses, as we accept no liability for any damage caused by any virus transmitted by this email.

Thanks, this is working now!


Opinionated template 2 -  Implement reservation form

Considering this, I wonder if this needs more discovery on what methods are most commonly used to track reservations (may make sense to embed a 3P service, rather than have manual reservations)

Oh i think all we wanted to do was add the calendar component. I think we can build what we have designed...maybe worth asking @tonyruscoe why we didnt build it first...

The form styles would have needed quite a bit of work to make them look like the mocks.
I think that work still needs to happen regardless of whether a reservation form is added though.


feat(e2e): Add cypress globals to eslint overrides

This diff eliminates the need to add /* global cy */ on top of cypress tests.
Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Sure @gikf. I also squashed the branch and rebased to latest main

@christianztamayo Thank you for your contribution to the site! :+1:
We're happy to accept these changes, and look forward to future contributions. :memo:


Can only resize grid items to a particular width

Is it only possible to resize grid items to a particular width? For e..g in the basic demo:
https://strml.github.io/react-grid-layout/examples/1-basic.html
...on dragging the bottom right corner of an item, it shows a pink/orange background, which seems to determine the width to which item can be resized to. Is there a way to resize the item to a random width(within minW and maxW) at all?

This is a function over how many columns you have, which is divided on the width of the whole grid layout. If these numbers are the same, they should behave like pixels. But then, make sure that margins are set to 0!
<GridLayout width={1024} cols={1024} margin={[0, 0]} ...
should work, for instance.

It seems like you need to set custom width / height on resizing the grid item
( Ignore this reply if I am wrong )
RGL has a prop in which we will be passing a function
onResize={ onCustomResize }

where the onCustomResize function will be like
function onCustomResize( layout, oldLayoutItem, layoutItem, placeholder ) {
    let customHeight, customWidth;
    // write whatever condition you want
    // set whatever customWidth / customHeight you want
    // mutate the layoutItem and placeholder obj directly ( their recommended way )
    layoutItem.h = customHeight;
    layoutItem.w = customWidth;
    placeholder.h = customHeight;
    placeholder.w = customWidth;
}

This worked for me... :100:


Create OpenTracing API compatibility bridge

Implement lightweight OpenTracing API compatibility bridge.

What is the status on this item?

OpenTracing will be supported soon, to be able to fully support OpenTracing we need to support Distributed Tracing (#244), this will be addressed right after.


Error in service-config override request

version: 2.3.6
The server submits a request as follows:
Sub Saving As: POST [{"service":"5AVXKEsztTfR5Y1SJ38Udt","config":"7P07njtP3N0Uib0RCfwmiN"}]

Error:
{"error":{"cause":{"field":"0.configId","reason":"0.configId in body is required","value":"<nil>"},"code":"COULD_NOT_VALIDATE","message":"The supplied request contains an invalid document or no valid accept content were available, see cause","requestId":"deVolJNJFl"},"meta":{"apiEnrollmentVersion":"0.0.1","apiVersion":"0.0.1"}}

Reading the specification for this endpoint indicates that the request should instead be:
- {"service":"5AVXKEsztTfR5Y1SJ38Udt","config":"7P07njtP3N0Uib0RCfwmiN"}
+ {"serviceId":"5AVXKEsztTfR5Y1SJ38Udt","configId":"7P07njtP3N0Uib0RCfwmiN"}

Fixed in Release 2.7.0


Bugfix: Select statement has invalid NULL check syntax when using implicit nil value #272

Select statement has invalid NULL check syntax when using implicit nil value #272

hi @mattn and @doug-martin any comments?

I just hit this, is there any update or workaround?


Add json formatted output for odo version command

[kind/Enhancement]

Which functionality do you think we should update/improve?
The odo version command should have json formatted output
Why is this needed?
To enable application users, such as adapters to process the output more easily

/kind enhancement
/priority medium

/remove-kind enhancement
/kind feature

Got something, how does this look
❯ ./odo version
odo v1.0.2 (HEAD)
❯ ./odo version -o json
{
"Version": "v1.0.2",
"GitCommit": "HEAD",
"ServerInfo": null,
"KubernetesEnv": {}
}
With server:

❯ odo version
odo v1.0.2 (HEAD)

Server: https://<IP_ADDRESS>:8443
Kubernetes: v1.11.0+d4cacc0

❯ ./odo version -o json
{
    "Version": "v1.0.2",
    "GitCommit": "HEAD",
    "ServerInfo": {
        "Address": "https://<IP_ADDRESS>:8443",
        "OpenShiftVersion": "",
        "KubernetesVersion": "v1.11.0+d4cacc0"
    },
    "KubernetesEnv": {}
}

/close
in favor of https://github.com/openshift/odo/issues/2614


Handle upgrade tests for releases

As we now have tests for the new releases framework, let's now expand them to also test upgrades.
### Tasks
- [ ] https://github.com/giantswarm/roadmap/issues/3537
- [ ] Test release upgrade from latest major
- [ ] Discuss upgrade paths with sig-product

Long-term we should test every possible supported upgrade path, so from the top of my head, e.g. if we are testing an upgrade to v29.3.4:

Test upgrade from any previous patch v29.3.y.
Test upgrade from any previous minor v29.x.y.

Test upgrade from the latest patch of every minor maybe, so it does not escalate, or
Test upgrade from any previous v29.x.y, as in theory all upgrade paths from any. v29.x.y should be supported.

Test upgrade from the previous major v28.x.y.

Test upgrade from the latest minor and the latest patch, so it does not escalate, or
Test upgrade from any previous v28.x.y, as in theory all upgrade paths from any v28.x.y should be supported, or at least from the latest v28 minor (any patch of the latest v28 minor).

The above could really push our CI to the limits, but there we have 2 more general questions:

What upgrade paths do we want to support in the product?
Do we want to test all supported upgrade paths?

Some notes taken from this Slack thread:

But for the Releases Test Suites it's tricky as you there don't want to test a change in the cluster chart only but the Release CR as a whole.

Once all providers are moved to using releases we should refactor the way the test suites work so that they're based around Release versions and not cluster App versions. So the upgrade tests shouldn't override the cluster-XXX version of the previous Release.


Feature Request - Launcher

Hello, please code a Program (exe) or a GUI for the whole process.

I've coded a GUI for it (VB6) and added some extra features by modifying the python script.
Search on youtube "GUI for First Order Motion Animation"
not sure if it would work for everyone.
I use a ini-file which has to be edited manually, some paths...

ok but where can i download it? can u send a link?

Ok.
Added download link in video description.
Made some changes to the program, read the included "!FOM_GUI.txt" how to install
Good luck if you try (let me know if it works for you)

Hey, i installed anaconda, added all Paths. but then i got an error:

I tried installing PyTorch, cause thats the only thing i found by searching: "torch download" ... How do i get "Torch" ?

I don't think that has nothing to do with my "!Animation.py". I only added some other functions.
Have you tried the original "demo.py" ? It should produce the the same error....

What do you mean with the 1st line? I dont understand... U mean that the error is not caused by the !Animation.py?

Ill try run the demo.py

I tried to run it but i got this error:

How do I install these modules? Maybe i just installed them wrong

I've added some functions to demo.py and renamed it !animation.py
The FOM_GUI writes a batch file that executes !animation.py instead of demo.py
Import Torch is the same in both of them

Okay, and that means what? How can I fix it? Sorry but i dont understand that much of programming

Animation Demo
To run a demo, download checkpoint and run the following command:
python demo.py  --config config/dataset_name.yaml --driving_video path/to/driving --source_image path/to/source --checkpoint path/to/checkpoint --relative --adapt_scale

How can i download the checkpoint

I ran it and i got same error

Look at the code page. There are two download-links for pretrained models.
Put them in a folder named checkpoints

Did you install first order model into an environment? What is the name of your environment.
Look at the first picture. Could not find anacondaenv . Did you change fom_gui.ini correctly? ...activate "environmentname"

Okay, sorry for "late" response, hope you are still online haha,
This is what I did in the Installation process:

Downloaded all files
Downloaded GitHub Folder and put it into the other folder
extracted the python_new.zip file into the GitHub Folder and replaced existing files
installed Anaconda3
Configured the fom_gui.ini file

fom_gui.ini File:
call D:\Programms\Anaconda3\Scripts\activate.bat
call conda activate Anacondaenv
cd D:\Desktop\Tools\Deepfakes\FOM_GUI_1\first-order-model-master
D:\Desktop\Tools\Deepfakes\FOM_GUI_1\first-order-model-master

I think thats the Problem, cause I did it wrong. I just used Miniconda as promt, not Anaconda promt... I installed Miniconda a while ago and I used that now, cause its the only thing that shows up if I search "Anaconda". How do I open the Normal Anaconda Promt instead?

I did some other things after this but I think 6. is done wrong. Also the envs folder in the Anaconda3 Folder (wich i think is the folder where all Enviroments are located) is empty..

Don't know if it works if not installed in an environment.
Did you "pip install -r requirements.txt" ?
I followed these instructions : https://www.youtube.com/watch?v=ICvNnrWKHmc
Some was quite different but I got it to work.
Changed my Github mail address to public. Maybe you can write a mail and I send you more instructions


1081/unit test cloud functions

Added jest to dev dependencies. Edited travis.yml so that it runs npm run test which would execute a simple jest test of whether 1+2=3.

Hey, @awong-dev @nburt, I wrote some of the tests that you mentioned on slack for testing rootRoutes.js. However, I'm a little confused about whether I did it right. Right now, I just copied over the sendDataJsonFromCache() method and tested some of the functionalities through mocking sendDataJson and the https interaction but I'm not sure if it's "right". Was wondering if you guys could take a look when you have time and give me some feedback!


Notification shows it runs on http://<IP_ADDRESS>:16163

Hello,
Thanks for dev and packing up.
When I run the app. I got a notification shows it runs on http://<IP_ADDRESS>:16163

I tried to set proxy on both http://<IP_ADDRESS>:16163 and http://<IP_ADDRESS>:16163 but none of them works. (Notification:

)

Maybe port 16163 is already using.  Please download version 1.1.1.

https://github.com/nondanee/UnblockNeteaseMusic/issues/608

Please download version 1.1.3

Please download version 1.1.3

Thanks!

Sorry, I still get the same error. logs:
[2020-11-09T09:40:09.161] [INFO] console - HTTP Server running @ http://<IP_ADDRESS>:16163
[2020-11-09T09:41:54.885] [INFO] console - HTTP Server running @ http://<IP_ADDRESS>:16163
[2020-11-09T09:42:12.505] [INFO] console - HTTP Server running @ http://<IP_ADDRESS>:16163

Is that possible to customize the HTTP (by default we have: <IP_ADDRESS>)?

default address in UnblockNeteaseMusic is 'localhost'. ( code )

try to set proxy 'http://<IP_ADDRESS>:16163' in NeteaseMusic client

OK. I see. Although it still shows <IP_ADDRESS>:16163, when I fill the setting with <IP_ADDRESS>, it works! Thanks a lot. 👍

emmmm…the notification has problem…


trace: add buffer limit

This applies to all span data entities that are slices: Annotations,
Links, and Message Events.
At the limit, it pops the oldest sample off prior to appending the new
sample. This should not cause an additional allocation.
Each entity shares the same WithBufferLimit option following the YAGNI
principle.
Each test ensures 4 entities are added in total -- the first 2 are
dropped and the last 2 remain. This should prevent off by 1 bugs.

Hey,
I had one service with a very long running stream and saw 15GB+ of message events in /debug/pprof/heap :) . I suppose I should be using gRPC's MAX_CONNECTION_AGE at some point: https://github.com/grpc/proposal/blob/master/A9-server-side-conn-mgt.md
I see that this already be in progress (#401) so feel free to close if that's the case.

Can we discuss changed like this on the specs first? I'd expect all language implementations have support for this, especially if we are going to introduce new APIs. https://github.com/census-instrumentation/opencensus-specs

Good idea.  census-instrumentation/opencensus-specs/issues/138

Hi @rakyll,
Sorry for the confusion, I didn't push anything new since the new spec was published / @ramonza's initial review on Monday. Most of these changes are already implemented, but I'll double check anything you pointed out as well.
I added a question in a comment above (which caused the notification), I'll just paste it again here.
Though, I think you just answered no to this with your "We are not sure if user should change the defaults right now" comment.

Hey, I have an updated CL ready. I'd like to clarify one thing before sending it out.
The spec refers to a global trace config (allowing global overrides). It looks like this is what Java/C++ does today as well.
Are the per-span overrides in addition to the global default overrides or do they replace the global default overrides altogether?
I assumed it was in addition and ended up adding a GlobalOption variadic option type for trace.ApplyConfig. I don't mind removing this if you don't want global overrides. The signature looks like: type GlobalOption func(*Config).
Here's how it works:

global var config is set with defaults per the spec
trace.ApplyConfig rolls variadic GlobalOptions on top of that (if any)
trace.StartSpan rolls variadic StartOptions on top of that (if any)
unit test added to cover each scenario

This doesn't break trace.ApplyConfig's API, but I couldn't use the required config struct arg (since it's ambiguous if the integers were set or not (due to the zero value for that type). If we move forward with this change, we may want to deprecate the required config struct arg at a later time (I know it's used in a lot of places though).

@jgracenin look what we did in java:
https://github.com/census-instrumentation/opencensus-java/blob/master/api/src/main/java/io/opencensus/trace/config/TraceParams.java
You start from the current config -> get a builder -> apply new mutations (everything else stays the same) -> create the new config -> apply the new config.

@bogdandrutu agree that would be a nicer approach but currently users are not expected to call any function to construct a trace.Config so there is no opportunity to set defaults.


How to receive midi notes and program change?

I need an example how to read midi notes and program changes.
please help me. :-)

I'm looking for a solution. can you help me
https://github.com/chegewara/EspTinyUSB/issues/141


standardize on using ENV vars for skipping

https://github.com/sorbet/sorbet/pull/2307 came about because there is no way to practice running a nightly job with the current config. I was surprised by this and I think the benefits of being less surprising out-weight the automatic skipping we would get for all future scheduled jobs. WDYT?
While I was in there I also standardized how we check these vars with -z and -n and having the - after
Motivation

Test plan

See included automated tests.

@ptarjan I'd actually like to standardize the other way:
https://github.com/sorbet/sorbet/pull/778
^ I wrote up my reasoning in that PR

sure, happy to go the other way, I just want them the same


Design refinements

Implement the design refinements that have been approved by the team after Michela's review: See also on Notion
Search

[ ] Definition of default items order: remove relevance sorting option from the main page. Order the items by the newest and allow the user to switch to title sorting. See invision doc.
[ ] Definition of default items ordered during the searching: order the items by relevance and allow the user to switch to title and newest sorting. See invision doc.

Data download

[ ] Data download button: add a button to download the full dataset in the table view. See invision doc.
[ ] Data download tooltip: add a tooltip to download both datasets in chart creation flow. See invision doc.
[ ] Data download tooltip: add more download options in the published step. See invision doc.

Legend

[ ] Interaction to collapse a long legend: add Show all and Show less buttons on the legend. Change legend font color to #757575. See invision Show all and Show less docs.

Date filter

[ ] Date picker + Slider: Add a date picker before the slider to select the date range. See invision doc.

The date picker component is reported here Issue 357

Quick question: We will tackle these refinements in this sprint, right? We haven't discussed those yesterday. @sosiology @ptbrowne @bprusinowski


fix fix is_exlusive func for nested types

Proposed changes
backport: https://github.com/apache/doris/pull/40398
Issue Number: close #xxx

run buildall

run buildall

run buildall

run p0

run p0

run buildall


fix: warnings in tests from IndySdkProfile

This PR includes some minor tweaks to tests involving IndySdkProfiles to prevent them from emitting warnings. Based on my analysis, the warnings are a result of how the event loop is managed in asynchronous testing with pytest. The profile reference falls out of scope at the same time as the event loop is closed for a test and what results are Coroutine never awaited errors.
This may not be the best solution (open to thoughts) but in most cases, I simply monkeypatched the _make_finalizer call where the behavior of the finalizer was not what was under test. Where it was under test, I opted to manually call the finalizer before the end of the test (or as a part of fixture clean up) and, therefore, before the event loop starts to close.

Codecov Report

Merging #1865 (deffe04) into main (ad1cad3) will decrease coverage by 0.00%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##             main    #1865      +/-   ##
==========================================
- Coverage   93.72%   93.72%   -0.01%
==========================================
  Files         536      536
  Lines       34020    34025       +5
==========================================
+ Hits        31886    31889       +3
- Misses       2134     2136       +2


fix(#403): Add .status.observedGeneration fields to Camel K model types

Fixes #403

@astefanutti FYI

@christophd thanks for the quick fix!


FEAT: Export Conversations and Scores in the same JSON file

FEAT: Add Function to Export Conversations and Scores to JSON
Description
This pull request introduces a new feature to the memory_interface that allows for exporting both conversations and their associated scores into a JSON file. The export_conversations_and_scores function groups conversations by their original prompt IDs and attaches corresponding scores to each conversation, exporting the combined data to a JSON file.

Resolves issue: #422

Changes

Added export_conversations_and_scores function to export conversations and their scores.
Updated relevant code areas to support the feature.

@microsoft-github-policy-service agree

Thanks for your first PR @Siddheshwari19 ! Let us know if you have any questions on feedback - thank you @rdheekonda for the thorough review 🦝

Great work, @Siddheshwari19 . Let us know if you have any questions/comments.

Thank you for the feedback @rdheekonda and @nina-msft. I'll work on it and let you know if I have any questions.

We also definitely need unit tests for this.

@Siddheshwari19 just checking in :-) any help needed from us?

@nina-msft I got caught up with some work so couldn't dedicate much time for this. Will work on this as soon as possible and I will definitely let you know if I need help. Thanks for the checking in.

@Siddheshwari19 Hi! Just checking in on this - I'd like to get this work merged in, so if it helps, I can add unit tests and resolve the comments. If you have any additional changes, please push them to the branch and I can help get this through. What do you think?

Hi @eugeniavkim,
Thank you for following up! I haven’t had the chance to make any additional changes. I really appreciate your offer to help with the unit tests and resolving the comments. If you’re able to take it from here, that would be great!

@Siddheshwari19  thanks for your contribution! We merged it from here (so we could avoid conflicts): https://github.com/Azure/PyRIT/pull/517


Jupyterhub multiple profiles allowing for worker selection and number of cpus/memory

[ ] Click on jhub profile, launch in given worker selection
[ ] Convenient integration with slurm scheduler

Closing as memory, cpu, and partition implmented in fe5a26dc7ec79c82edb3b94a5640f688c364c240

Closing as memory, cpu, and partition implmented in fe5a26dc7ec79c82edb3b94a5640f688c364c240


Support GeoJSON input from Overland iOS app

Hi there! I just found that Huginn supports location as an input source, and thought I should offer my GPS tracking app that I just published to the iOS App Store as an option! It has a bunch of options to configure how much data to collect, so it can be used for high-resolution tracking or just significant changes.
Here's the payload that it sends: https://github.com/aaronpk/Overland-iOS#api
It basically just sends a list of GeoJSON points as the POST body in JSON format. If you only care about the current location of the user, you could look at only the first item in the list.
To configure the app, you just paste a URL that you want the app to send the data to. There are no accounts, and it doesn't send any data to my server or anything.
Since it's available in the iOS App Store, it will be a bit easier for people to use than having to compile an app themselves.

Very cool! I think I will try the app in the next few days.


Request: handle quotation marks in .env files similar to other .env parsers

Suggestions for a fix
https://github.com/docker/docker.github.io/issues/123 shows a lot of people have been bit by quotation marks becoming part of the value. For example:

dotenv, the common node.js parser, handles quotes
Sourcing a .env on the shell will handle quotes
Most other platform specific parsers will handle quotes

https://github.com/docker/docker.github.io/blob/master/compose/env-file.md mentions:

There is no special handling of quotation marks. This means that they are part of the VAL.

However rather than have people discover this, it may be better to simply handle quotation marks and not include the quote marks in the value.
In our case, we have an iOS developer and a backend developer with different environments due to different parsing tools, and we've spent a bunch of time working out why an API key wasn't working, involving a third party, before working out that docker-compose doesn't handle quotes the same way as other tools, and eventually stumbling on the documentation that says that. I suspect we're not the only one.

Oops, I made this on the repo. Moved to https://github.com/docker/compose/issues/7352


Issues with sam_vit_l and sam_vit_h

Thanks for the great work with MedSAM.  Model training works as expected for sam_vit_b, but I receive errors when trying sam_vit_l or sam_vit_h.  There appears to be a similar issue reported with facebookresearch/segment-anything (https://github.com/facebookresearch/segment-anything/issues/39).
Working Command:
python3 train_no_npz.py --csv dataset.csv --image_col image_path --mask_col mask_path --model_type vit_b --checkpoint ./checkpoint/sam_vit_b_01ec64.pth --num_epochs 100 --batch_size 4 --lr 1e-7
Non-working Command:
python3 train_no_npz.py --csv dataset.csv --image_col image_path --mask_col mask_path --model_type vit_h --checkpoint ./checkpoint/sam_vit_h_4b8939.pth --num_epochs 100 --batch_size 4 --lr 1e-7
Error:
[INFO] Starting training for 100 epochs ....
Traceback (most recent call last):
File "/workspace/train_no_npz.py", line 530, in
main()
File "/workspace/train_no_npz.py", line 526, in main
train(train_df, test_df, val_df, args.image_col, args.mask_col)
File "/workspace/train_no_npz.py", line 95, in call
model = self.get_model()
File "/workspace/train_no_npz.py", line 112, in get_model
sam_model = sam_model_registry[self.model_type](
File "/workspace/segment_anything/build_sam.py", line 44, in build_sam_vit_b
return _build_sam(
File "/workspace/segment_anything/build_sam.py", line 145, in _build_sam
sam.load_state_dict(state_dict)
File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 2041, in load_state_dict
raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for Sam:
Unexpected key(s) in state_dict: "image_encoder.blocks.12.norm1.weight", "image_encoder.blocks.12.norm1.bias", "image_encoder.blocks.12.attn.rel_pos_h", "image_encoder.blocks.12.attn.rel_pos_w", "image_encoder.blocks.12.attn.qkv.weight", "image_encoder.blocks.12.attn.qkv.bias",
....
size mismatch for image_encoder.blocks.11.mlp.lin2.bias: copying a param with shape torch.Size([1280]) from checkpoint, the shape in current model is torch.Size([768]).
size mismatch for image_encoder.neck.0.weight: copying a param with shape torch.Size([256, 1280, 1, 1]) from checkpoint, the shape in current model is torch.Size([256, 768, 1, 1]).
Any thoughts would be appreciated.

Hi @codybum ,
Thanks for your great question. The reason is that we didn't train the vit-l/h model because of GPU limitations.


How start server when Embedding in other projects

The document is too Omitted

I find the way from example


sqddl tables command error in mysql:5.7

Execute command in mysql:5.7 :
 sqddl tables -db 'mysql://user:password@localhost:3306/table' -pkg tables
the following error occurred:
tables: introspection_scripts/mysql_constraints.sql:
SELECT
    '' AS table_schema
    ,'' AS table_name
    ,'' AS constraint_name
    ,'' AS constraint_type
    ,'' AS columns
    ,'' AS references_schema
    ,'' AS references_table
    ,'' AS references_columns
    ,'' AS update_rule
    ,'' AS delete_rule
    ,'' AS match_option
    ,'' AS check_expr
WHERE
    FALSE
UNION ALL
SELECT
    tc.table_schema
    ,tc.table_name
    ,tc.constraint_name
    ,'PRIMARY KEY' AS constraint_type
    ,group_concat(kcu.column_name ORDER BY kcu.ordinal_position) AS columns
    ,'' AS references_schema
    ,'' AS references_table
    ,'' AS references_columns
    ,'' AS update_rule
    ,'' AS delete_rule
    ,'' AS match_option
    ,'' AS check_expr
FROM
    information_schema.table_constraints AS tc
    JOIN information_schema.key_column_usage AS kcu USING (constraint_schema, constraint_name, table_name)
WHERE
    tc.constraint_type = 'PRIMARY KEY'
    AND tc.table_schema NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys')
    AND tc.table_name NOT IN ('sqddl_history')
GROUP BY
    tc.table_schema
    ,tc.table_name
    ,tc.constraint_name
    ,tc.constraint_type
UNION ALL
SELECT
    tc.table_schema
    ,tc.table_name
    ,tc.constraint_name
    ,'UNIQUE' AS constraint_type
    ,group_concat(kcu.column_name ORDER BY kcu.ordinal_position) AS columns
    ,'' AS references_schema
    ,'' AS references_table
    ,'' AS references_columns
    ,'' AS update_rule
    ,'' AS delete_rule
    ,'' AS match_option
    ,'' AS check_expr
FROM
    information_schema.table_constraints AS tc
    JOIN information_schema.key_column_usage AS kcu USING (constraint_schema, constraint_name, table_name)
WHERE
    tc.constraint_type = 'UNIQUE'
    AND tc.table_schema NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys')
    AND tc.table_name NOT IN ('sqddl_history')
GROUP BY
    tc.table_schema
    ,tc.table_name
    ,tc.constraint_name
    ,tc.constraint_type
UNION ALL
SELECT
    tc.table_schema
    ,tc.table_name
    ,tc.constraint_name
    ,tc.constraint_type
    ,group_concat(kcu.column_name ORDER BY kcu.ordinal_position) AS columns
    ,COALESCE(kcu.referenced_table_schema, '') AS references_schema
    ,COALESCE(kcu.referenced_table_name, '') AS references_table
    ,COALESCE(group_concat(kcu.referenced_column_name ORDER BY kcu.ordinal_position), '') AS references_columns
    ,COALESCE(rc.update_rule, '') AS update_rule
    ,COALESCE(rc.delete_rule, '') AS delete_rule
    ,CASE rc.match_option WHEN 'NONE' THEN '' ELSE COALESCE(CONCAT('MATCH ', rc.match_option), '') END AS match_option
    ,'' AS check_expr
FROM
    information_schema.table_constraints AS tc
    JOIN information_schema.key_column_usage AS kcu USING (constraint_schema, constraint_name, table_name)
    LEFT JOIN information_schema.referential_constraints AS rc USING (constraint_schema, constraint_name)
WHERE
    tc.constraint_type = 'FOREIGN KEY'
    AND tc.table_schema NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys')
    AND tc.table_name NOT IN ('sqddl_history')
GROUP BY
    tc.table_schema
    ,tc.table_name
    ,tc.constraint_name
    ,tc.constraint_type
    ,kcu.referenced_table_schema
    ,kcu.referenced_table_name
    ,rc.update_rule
    ,rc.delete_rule
    ,rc.match_option
UNION ALL
SELECT
    tc.table_schema
    ,tc.table_name
    ,tc.constraint_name
    ,'CHECK' AS constrain_type
    ,'' AS columns
    ,'' AS references_schema
    ,'' AS references_table
    ,'' AS references_columns
    ,'' AS update_rule
    ,'' AS delete_rule
    ,'' AS match_option
    ,cc.check_clause AS check_expr
FROM
    information_schema.table_constraints AS tc
    JOIN information_schema.check_constraints AS cc USING (constraint_schema, constraint_name)
WHERE
    TRUE
    AND tc.table_schema NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys')
    AND tc.table_name NOT IN ('sqddl_history')
ORDER BY
    table_schema
    ,table_name
    ,constraint_name
;
: Error 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE
    FALSE
UNION ALL
SELECT
    tc.table_schema
    ,tc.table_name
    ,tc.' at line 14

Thanks for mentioning the MySQL version, I wouldn't have be able to identify the problem otherwise. MySQL 5.7 doesn't support SELECT ... WHERE ... directly so the script fails. Should be fixed by b5386de, do a go install -tags=fts5<EMAIL_ADDRESS>to get the fix.


Alternvatives to TradeKing

Any recommendation to alternatives (non US citz) to tradeking and how that can be hooked in?

@maxbbraun  is this abandoned ?

Any news on this?

would like to hook tdameritrade into it. ;p


Bump Dependencies #2059347085

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/2059347085

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.jenkins-is-staging seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


290 Bugfix for View All in Blogs/News

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #290
Test URLs:

Before: https://main--danaher-ls-aem--hlxsites.hlx.page/us/en/blog/revolutionizing-drug-discovery-with-organoids
After: https://290-blognews-bug-view-all--danaher-ls-aem--hlxsites.hlx.page/us/en/blog/revolutionizing-drug-discovery-with-organoids

@rgravitvl  and @mhaack  - can you please review this change, I amended to fix a bug on production.


BankAccount Type is not discriminant

I think we should use the BankAccount.Type property as a discriminant for other props.

↑ Here I know that my bankAccount is an IBANData but IBAN is not proposed. Worse, if I use it I get an error because IBAN does not exist in other BankAccount Types' types.
In the types, IBANData.Type is typed as string | 'IBAN for example. I guess the string part is messing up

Hello @jgabriele,
Thank you for the suggestion, we are looking into it

Fix in 1.30.1


Add cypress test

Description
Merged master and updated cypress tests and added a check if custom repo feature flag is enabled
Fixes # (issue)
Type of change
What is it?

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[ ] Tests update

Checklist:

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I run npm run lint:js:fix to check that my code is properly formatted

Codecov Report

Merging #392 (dbde1cd) into master (a159997) will decrease coverage by 2.62%.
The diff coverage is 37.40%.

@@            Coverage Diff             @@
##           master     #392      +/-   ##
==========================================
- Coverage   36.83%   34.20%   -2.63%
==========================================
  Files         106      119      +13
  Lines        2278     2596     +318
  Branches      673      755      +82
==========================================
+ Hits          839      888      +49
- Misses       1319     1564     +245
- Partials      120      144      +24

Impacted Files
Coverage Δ

src/Routes.js
0.00% <0.00%> (ø)

src/Routes/DeviceDetail/DeviceDetail.js
0.00% <0.00%> (ø)

src/Routes/DeviceDetail/Vulnerability.js
0.00% <0.00%> (ø)

src/Routes/Devices/AddDeviceModal.js
0.00% <0.00%> (ø)

src/Routes/Devices/Devices.js
0.00% <ø> (ø)

src/Routes/Devices/Inventory.js
0.00% <0.00%> (ø)

src/Routes/ImageManager/CreateImageWizard.js
0.00% <0.00%> (ø)

src/Routes/ImageManager/ImageTable.js
0.00% <ø> (ø)

src/Routes/ImageManager/Images.js
0.00% <0.00%> (ø)

src/Routes/ImageManager/UpdateImageWizard.js
0.00% <0.00%> (ø)

... and 58 more

Continue to review full report at Codecov.

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


Bug: can not parse unfinished games

Hi!
The gem (v0.2.0) seems unable to parse incomplete games. Adding a result portion solves this.
Parses:
[Event "Live Chess"]
[Site "Chess.com"]
[Date "2017.11.12"]
[White "piguik"]
[Black "Epigene"]
[Result "0-1"]
[ECO "B54"]
[WhiteElo "1325"]
[BlackElo "1375"]
[TimeControl "300"]

1. e4 a6 2. Bc4 a5 3. Ne2 a4 4. O-O Ra7
5. e5 f5 6. exf6 a5 0-1

Does not parse:
[Event "Live Chess"]
[Site "Chess.com"]
[Date "2017.11.12"]
[White "piguik"]
[Black "Epigene"]
[Result "0-1"]
[ECO "B54"]
[WhiteElo "1325"]
[BlackElo "1375"]
[TimeControl "300"]

1. e4 a6 2. Bc4 a5 3. Ne2 a4 4. O-O Ra7
5. e5 f5 6. exf6 a5

I might be misunderstanding you here, but I don't understand why that second example should parse?
The PGN specification section 8.2.6 says that the value in the "Result" tag should be repeated at the end of the movetext:

Each movetext section has exactly one game termination marker; the marker
always occurs as the last element in the movetext.  The game termination marker
is a symbol that is one of the following four values: "1-0" (White wins), "0-1"
(Black wins), "1/2-1/2" (drawn game), and "*" (game in progress, result
unknown, or game abandoned).  Note that the digit zero is used in the above;
not the upper case letter "O".  The game termination marker appearing in the
movetext of a game must match the value of the game's Result tag pair.  (While
the marker appears as a string in the Result tag, it appears as a symbol
without quotes in the movetext.)

So this behavior seems entirely correct to me.

Thanks for the link to the spec. Perusing it I learned that a "*" symbol ought to be used do show an incomplete game.
This ought to parse (can't check at the moment):
[Event "Live Chess"]
[Site "Chess.com"]
[Date "2017.11.12"]
[White "piguik"]
[Black "Epigene"]
[Result "0-1"]
[ECO "B54"]
[WhiteElo "1325"]
[BlackElo "1375"]
[TimeControl "300"]

1. e4 a6 2. Bc4 a5 3. Ne2 a4 4. O-O Ra7
5. e5 f5 6. exf6 a5 *


profiling with multiple events may fail for old Linux kernel (2.6.x)

This command cause machine rebooting (or shutdown) on mic (linux kernel 2.6.x):
/home/la5/pkgs/hpctoolkit/bin/hpcrun -dd LINUX_PERF -e ix86arch::UNHALTED_CORE_CYCLES
-e ix86arch::INSTRUCTION_RETIRED
-e ix86arch::BRANCH_INSTRUCTIONS_RETIRED
-e ix86arch::MISPREDICTED_BRANCH_RETIRED -t
/home/la5/pkgs/hpctoolkit/bin/hpcstruct /home/la5/pkgs/hpctoolkit/libexec/hpctoolkit/hpcstruct-bin
However running with PERF::CYCLES on nancy (kernel 2.6.32) works just fine.
Not sure what was the problem.

I've tried this with mult-kernel on the front ends of davinci and
biou, both running RH 6.x and kernel 2.6.32.
Works for me, so I'll close this.


Spacing within rich text

Hi @beatrizmartinmartins One of the questions I think the DS is not totally clear on yet is the spacing within rich text. For example, what should be the spacing before and after each heading level? Wouldn't it be useful to have a page on Figma showing all the spacing for the different components that can be shown inside a rich text?

@inesdgomes Does this make sense? https://www.figma.com/design/qr8jQnxqJkRJFQnVC5PmrB/ILO-Foundations?node-id=1905-4&t=74nmw3gRWJiZHrQM-1 I made a small documentation and included all styles that we have right now inside of the Wrapper so we could see how it behaves within the container. Let me know if this is what we needed.

Hi @beatrizmartinmartins Yes, it does, thank you. Wondering if we shouldn't be a bit more generous with spacing between texts (maybe 24px instead of 16px?), especially the text after headings. I find it odd that that spacing is smaller than the spacing between regular body paragraphs, which is 18px.

Would it make sense to have 24px and 64px on desktop and 16px and 56px on Mobile? I think 24px on Mobile is too much @inesdgomes Also changed the guidelines on the Foundations file

Yes, I think it works better. A few questions/comments:

Should the sentence at the top where it says that space between texts should be 16px be changed to 24px then?
If so, I think the space between paragraphs is still not entirely clear. If you look for example at the paragraph spacing of the Desktop/Body/Regular, that's set at 18px; and Desktop/Body/Small is set at 16px. That's only visible when we try to edit the style - see screenshot below. Should that setting be changed to 24px on all desktop styles and to 16px on all mobile styles?
We should show spacing for lists, even if the standard spacing applies.

You are right. Just changed everything said above and also changed the typography tokens to only reflect 16 and 24px. @inesdgomes

Fixed all the comments and I'm also showing the lists here @inesdgomes

@beatrizmartinmartins Left two comments in the Figma file. Please have a look.

@inesdgomes responded on the comments. Please have a look so I can make the changes

@beatrizmartinmartins Done. Please let me know if there's anything unclear.

@inesdgomes I also saw a few comments on the templates file and you are right, it looks way too big on the Publications when we include 64px after each section. Should we include just one 64px spacing? The thing Im thinking is, how will we make this as an exception? Can we make them only for Publications pages since on the other pages it works just fine?

@beatrizmartinmartins Yes, we can make exceptions per template. I think that's more related to this ticket: https://github.com/orgs/international-labour-organization/projects/2/views/14?pane=issue&itemId=67152153
Regarding this task, I think we still need to address this comment: https://www.figma.com/design/qr8jQnxqJkRJFQnVC5PmrB?node-id=1905-4#921556297

@inesdgomes changes the List component to add a short list and a long list option like we talked about. See here

@beatrizmartinmartins I think we're almost there. There's still this comment to resolve: https://www.figma.com/design/qr8jQnxqJkRJFQnVC5PmrB?node-id=1905-4#936751119

I think this is done on my side @inesdgomes

Indeed @beatrizmartinmartins I think it's all done from the design side.
@justintemps I think you're working on this as part of another ticket, but assigning it to you to ensure the updated documentation on spacing is reflected on the rich text component.


MPL 2.0 and MPL 2.0 no copyleft have the same text

Both MPL-2.0 and MPL-2.0-no-copyleft-exception licence files have the same content which makes it impossible to differentiate between them when using automated tool to check licences in third party libraries.
Looking at the Mozilla FAQ, it is not clear how to differentiate the two.
Q25 FAQ does mention that Exhibit A should prevail when using a full MPL 2.0 licence, but not how the licence should look like when Exhibit B should prevail.
Notes on SPDX for the MPL-2.0-no-copyleft-exception suggests however that 3.3 section should be removed.

This license was released in January 2012. This license list entry is for use when the MPL's Exhibit B, which removes the Sec 3.3 copyleft exception.

Shouldn't the 2 licences text have different content?

Just a note: Text matches are not unique for several licenses.  Most of these have a deprecated license with the same text, but some have different headers.
You can find a complete list in the expected warnings file.

Thanks @goneall
MPL-2.0 and MPL-2.0-no-copyleft-exception licences are in the duplicate list
Is this a known issue with the tool or the data?
Is there a plan to remove the duplication?

I took a look at the license XML for these MPL-2.0 and MPL-2.0-no-copyleft-exception.  They do have different text for the Exhibits at the end of the license.  However, the exhibits are optional.
If we include the exhibits in the text to be matched, should show as different.
One solution would be to remove the optional for one or both of the licenses.

Moving this to the License-List-XML repo since this is an issue with the source XML data.


Get signoff for AWS to CSS mapping

Describe the issue
The signoff is necessary because it will be part of allowing for PI production workloads in AWS.
Which Sprint Priority is this issue related to?
The 'Milestone' should clearly list Sprint Priorities - which one is this issue related to?
Additional context
See ticket 213
Definition of done

Mapping deliverable from ticket 213 reviewed / signed off ISB Management
Mapping deliverable from ticket 213 reviewed / signed off Gary Perkins

Not started since 213 work is ongoing


New params for QuadRanger

Looking good! You should generally assign such a PR to someone to merge, e.g. Ada or me.

Applied to master.

Didnt want to bother you guys with such a small change

What bothers me is having lots of PRs open, and small ones like this one are fast and fun!


Bump Golang version v1.23 and Ginkgo

Why we need this PR

Use newer Golang and Ginkgo versions for new features, bug fixes, and regular improvements between versions.
Changes made

Bump Golang version (v1.20 -> v1.23) and Ginkgo (v2.14.0 -> v2.22.0)
Update OCP Version for Red Hat bundle community

Which issue(s) this PR fixes

Test plan

/test 4.17-openshift-e2e

/lgtm


GH-34565: [C++] Teach dataset_writer to accept custom filename functor

Rationale for this change
Existing basename_template will only use a monotonically increasing int as new filenames. when there is needs for custom filenames(left padding, hash-code), downstream users must rename the files in a post-processing step.
What changes are included in this PR?
A new functor is added to FileSystemDatasetWriteOptions which allows users to provide a custom name for dataset_writer.
Are these changes tested?
Yes. Unit tests are added for normal and ill-formed lambdas.
Are there any user-facing changes?
Yes. It allows users to customize output file names.

Closes: #34565

\

Closes: #34565

@westonpace Mind taking a look when you have time? Ty

One quick question: Do you happen to know when Arrow 12.0.0 will be released? Would like to get this PR in so I could use at work

We have a feature freeze policy for our Releases, see: https://arrow.apache.org/docs/dev/developers/release.html#creating-a-release-candidate
The code freeze is scheduled to be performed today. I plan to do it in the next couple of hours.

Thanks for the info Raul. @westonpace If possible can I catch the last train :) ?

It seems weston is on west coast. @raulcd Can you guide if we could wait until he is online? Ty

It seems weston is on west coast. @raulcd Can you guide if we could wait until he is online? Ty

Sure, I can wait slightly longer. I'll try to ping him if there's no answer but in order to follow the current schedule for the release I'll branch the 12.0.0 release today (CEST timezone).

SGTM. Thanks Raul


Fast with eager execution, but slow without it for the same code?

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04.5 LTS (Xenial Xerus)
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): Binary
TensorFlow version (use command below): 1.9.0
Python version: 3.5.2
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: 9.0/7.0
GPU model and memory: GTX GeForce 1080Ti 11MB (11177MiB)
Exact command to reproduce: Source code below

Describe the problem
The same code runs very slowly using the classic graph model (around 7 minutes) while it runs very quickly using the new eager execution mode (not profiled exactly, but around 10 seconds). The code just tries to compute the SSIM value of the two images loaded from a file.
Source code / logs
The codes are pretty much the same, the only difference being whether ssim_result is run in a session or eagerly executed.
Graph model:
import numpy as np
import tensorflow as tf
import scipy.io
import copy
from time import time

tf.logging.set_verbosity(tf.logging.DEBUG)

def change_range(img1, img2, maxval=255): # numpy level
    # change dynamic range to 0-255
    zeros = np.zeros(1) # broadcast

    min_img = np.minimum(np.amin(img1), np.amin(img2))
    img1 -= np.not_equal(img1, zeros).astype(img1.dtype) * min_img
    img2 -= np.not_equal(img2, zeros).astype(img2.dtype) * min_img

    max_img = np.maximum(np.amax(img1), np.amax(img2))
    img1 *= maxval / max_img
    img2 *= maxval / max_img

def gkernel(sigma, sk):
    x, y, z = np.mgrid[0:2*sk[0]+1, 0:2*sk[1]+1, 0:2*sk[2]+1]
    radius_squared = (x - sk[0]) ** 2 + (y - sk[1]) ** 2 + (z - sk[2]) ** 2
    expanded_kernel = np.exp(-radius_squared / (2 * sigma ** 2)).astype(np.float32)[:, :, :, np.newaxis, np.newaxis]
    expanded_kernel /= np.sum(expanded_kernel)
    return tf.constant(expanded_kernel)

def compute_ssim(img1, img2, window, K1=0.01, K2=0.03, L=255): # tf level
    C1, C2 = (K1 * L) * (K1 * L), (K2 * L) * (K2 * L)

    mu1 = tf.nn.conv3d(img1, window, [1, 1, 1, 1, 1], "SAME")
    mu2 = tf.nn.conv3d(img2, window, [1, 1, 1, 1, 1], "SAME")

    mu1_sq = mu1 * mu1
    mu2_sq = mu2 * mu2
    mu1_mu2 = mu1 * mu2

    sigma1_sq = tf.nn.conv3d(img1 * img1, window, [1, 1, 1, 1, 1], "SAME") - mu1_sq
    sigma2_sq = tf.nn.conv3d(img2 * img2, window, [1, 1, 1, 1, 1], "SAME") - mu2_sq
    sigma12 = tf.nn.conv3d(img1 * img2, window, [1, 1, 1, 1, 1], "SAME") - mu1_mu2

    # assume C1 > 0 and C2 > 0
    ssim_map = ((2 * mu1_mu2 + C1) * (2 * sigma12 + C2)) / ((mu1_sq + mu2_sq + C1) * (sigma1_sq + sigma2_sq + C2))

    img1_nonzero = tf.not_equal(img1, tf.zeros(1))
    ssim_map_ind = tf.boolean_mask(ssim_map, img1_nonzero)
    mssim = tf.reduce_mean(ssim_map_ind)

    return mssim

ssimtest = scipy.io.loadmat("ssimtest.mat")
img1, img2 = ssimtest["img1"], ssimtest["img2"]
# img1 and img2 both have shape=(256, 224, 176) and dtype=float32

img1_cp = copy.copy(img1)
img2_cp = copy.copy(img2)
change_range(img1_cp, img2_cp)

img1_cp = img1_cp[np.newaxis, :, :, :, np.newaxis]
img2_cp = img2_cp[np.newaxis, :, :, :, np.newaxis]

img1_cp = tf.constant(img1_cp)
img2_cp = tf.constant(img2_cp)

window = gkernel(1.5, [2, 2, 2])

ssim_result = compute_ssim(img1_cp, img2_cp, window)

with tf.Session() as sess:
        start = time()
        sess.run(ssim_result)
        print(time() - start)

Eager execution model:
import numpy as np
import tensorflow as tf
import scipy.io
import copy
from time import time

tf.enable_eager_execution()
tf.logging.set_verbosity(tf.logging.DEBUG)

def change_range(img1, img2, maxval=255): # numpy level
    # change dynamic range to 0-255
    zeros = np.zeros(1) # broadcast

    min_img = np.minimum(np.amin(img1), np.amin(img2))
    img1 -= np.not_equal(img1, zeros).astype(img1.dtype) * min_img
    img2 -= np.not_equal(img2, zeros).astype(img2.dtype) * min_img

    max_img = np.maximum(np.amax(img1), np.amax(img2))
    img1 *= maxval / max_img
    img2 *= maxval / max_img

def gkernel(sigma, sk):
    x, y, z = np.mgrid[0:2*sk[0]+1, 0:2*sk[1]+1, 0:2*sk[2]+1]
    radius_squared = (x - sk[0]) ** 2 + (y - sk[1]) ** 2 + (z - sk[2]) ** 2
    expanded_kernel = np.exp(-radius_squared / (2 * sigma ** 2)).astype(np.float32)[:, :, :, np.newaxis, np.newaxis]
    expanded_kernel /= np.sum(expanded_kernel)
    return tf.constant(expanded_kernel)

def compute_ssim(img1, img2, window, K1=0.01, K2=0.03, L=255): # tf level
    C1, C2 = (K1 * L) * (K1 * L), (K2 * L) * (K2 * L)

    mu1 = tf.nn.conv3d(img1, window, [1, 1, 1, 1, 1], "SAME")
    mu2 = tf.nn.conv3d(img2, window, [1, 1, 1, 1, 1], "SAME")

    mu1_sq = mu1 * mu1
    mu2_sq = mu2 * mu2
    mu1_mu2 = mu1 * mu2

    sigma1_sq = tf.nn.conv3d(img1 * img1, window, [1, 1, 1, 1, 1], "SAME") - mu1_sq
    sigma2_sq = tf.nn.conv3d(img2 * img2, window, [1, 1, 1, 1, 1], "SAME") - mu2_sq
    sigma12 = tf.nn.conv3d(img1 * img2, window, [1, 1, 1, 1, 1], "SAME") - mu1_mu2

    # assume C1 > 0 and C2 > 0
    ssim_map = ((2 * mu1_mu2 + C1) * (2 * sigma12 + C2)) / ((mu1_sq + mu2_sq + C1) * (sigma1_sq + sigma2_sq + C2))

    img1_nonzero = tf.not_equal(img1, tf.zeros(1))
    ssim_map_ind = tf.boolean_mask(ssim_map, img1_nonzero)
    mssim = tf.reduce_mean(ssim_map_ind)

    return mssim

ssimtest = scipy.io.loadmat("ssimtest.mat")
img1, img2 = ssimtest["img1"], ssimtest["img2"]
# img1 and img2 both have shape=(256, 224, 176) and dtype=float32

img1_cp = copy.copy(img1)
img2_cp = copy.copy(img2)
change_range(img1_cp, img2_cp)

img1_cp = img1_cp[np.newaxis, :, :, :, np.newaxis]
img2_cp = img2_cp[np.newaxis, :, :, :, np.newaxis]

img1_cp = tf.constant(img1_cp)
img2_cp = tf.constant(img2_cp)

window = gkernel(1.5, [2, 2, 2])

ssim_result = compute_ssim(img1_cp, img2_cp, window)
print(ssim_result)

@hsgkim Hi, eager execution is meant for faster computation without constructing any graph. Hence this behavior is as expected.

@harshini-gadige  I don't think so. The discrepancy is huge and the graph mode is supposed to be faster.
Maybe this issue should be considered more carefully.
I tried to run the code on Colab. Unfortunately, a 'ssimtest.mat' is required.
@hsgkim  could you make a simpler toy example which can reproduce the issue.

@harshini-gadige please check this link

@nairouz This can be reproduced with img1 and img2 as np.random.normal(size=(256, 224, 176)).astype(np.float32) as well.

@hsgkim why are you using numpy based operations for the gkernel function. I think you should use Tensorflow operations. That could be the issue causing the abnormal runtime.

In colab:
7.3 minutes for the graph mode.
3.1 sec for the eager mode.

Wait, I didn't notice that part was written in NumPy as this was a part of a huge file. I think that might be the reason why :x

@hsgkim maybe you can re-run the code without the gkernel function and check if it is the cause of the issue.


feat(api): validate JSON protocols before executing

overview
Closes #3250
NOTE: implemented only for APIv2 executor -- should validation by APIv1 executor also be required in the near future?
changelog

Raises user-readable error if JSON protocol fails to validate under its corresponding schema def

review requests

[ ] Code review

Test with virtual smoothie: OT_API_FF_useProtocolApi2=1 ENABLE_VIRTUAL_SMOOTHIE=true make dev and upload JSON protocols from Run App. (Or, push this to a robot)

[ ] Protocol that has correctly set version under "protocol-schema or "schemaVersion should pass or fail validation under the correct schema
[ ] Protocol with unspecified version should raise 'Could not determine schema version for protcol. ' +
'Make sure there is a version number under "schemaVersion"'
[ ] Setting schemaVersion to a schema that does not yet exist (eg 999) should raise error "JSON Protocol schema "999" does not exist" (and should not raise a harder-to-read file load error)
[ ] Python protocols should load normally

Blocked because we can't add Python dependencies right now :crying_cat_face:

Closed in favor of #3318


Minor fix for RMTS caching

:white_check_mark: Build SMT 0.1.229 completed (commit https://github.com/SMTorg/SMT/commit/01e119aeec by @)

:white_check_mark: Build SMT 0.1.230 completed (commit https://github.com/SMTorg/SMT/commit/983b9dfafa by @)