Labels for center_species and neighbor_species should be chemical symbols not atomic numbers

Descriptor labels (at least for SOAP and LODE), labeling different blocks currently are tuples of integers: `('spherical_harmonics_l', 'center_species', 'neighbor_species'), where a species label is the atomic number of the corresponding species.
To distinguish the spherical harmonic label (clearly integers) from species labels, I suggest using strings of chemical symbols for the two species labels on the user-facing side. Tuples of an integer and two strings make label interpretation and selection much easier for new users. Internally, one can map these to integers again.

I also see the point of diverging API's and the problem of typed languages.
But, most of the "users" will apply the Python interface for their problems and especially do their prototyping in Python. Maybe later they port their code to Rust, C etc. For the transition from Python replacing strings to integers is nasty but acceptable. I could imagine a Python API (Allowing strings and integers) while only integers are allowed for rust and c. The benefits of usability in Python could overcome the lack of performance we get from casting. Python is slow anyway and additionally people writing C or Rust code are used to pain :)

Hi all, TBH I don't think this is such a huge improvement in usability -
not one that justifies substantial performance penalties, or making the
library much more complicated. One could have some utilities, Python side,
that convert strings to ints so if you can do elementid("H") or something
like that.
On Wed, 13 Apr 2022 at 16:48, Philip Loche @.***> wrote:

I also see the point of diverging API's and the problem of typed languages.
But, most of the "users" will apply the Python interface for their
problems and especially do their prototyping in Python. Maybe later they
port their code to Rust, C etc. For the transition from Python replacing
strings to integers is nasty but acceptable. I could imagine a Python API
(Allowing strings and integers) while only integers are allowed for rust
and c. The benefits of usability in Python could overcome the lack of
performance we get from casting. Python is slow anyway and additionally
people writing C or Rust code are used to pain :)
—
Reply to this email directly, view it on GitHub
https://github.com/Luthaf/aml-storage/issues/15#issuecomment-1098144899,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIREZ47DI5VOIOW5PO5QPTVE3NDJANCNFSM5TKSV5ZA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Let's close this for now, this would require pretty fundamental changes to the code for limited advantage.


[ci:component:github.com/gardener/dependency-watchdog:0.4.0->v0.4.1]

Release Notes:
Probes are now restarted only if any of the target kubeconfigs actually changed. Also, the kubeconfig secrets are loaded from the informer rather than hitting the host apiserver (seed) with GET calls. Also, logged OS signal for debugging.

Log flags and configuration.

The release tags from now are prefixed with `v`.

/assign @amshuman-kr


remove cert-manager as dependency

What
While this older https://github.com/Kuadrant/kuadrant-operator/pull/680 change was removing cert-manager operator as dependency and, instead, add cert-manager API as dependency, this PR is completely removing cert-manager as dependency for the operator.
Additionally, TLS policy status reports with some understandable error when the cert-manager is not available in the cluster.
Why
The cert-manager is, in fact, a direct dependency of the kuadrant controller (regarding the TLS policy) and indirectly for authorino (required for the webhook deployment). Unfortunately, the dependency declaration of the cert-manager, either as operator or as API, creates unsolvable (from our side) issues in Openshift.
And the issue comes from the RH build of the cert-manager operator . This operator, only available for openshift, provides the same APIs as the upstream community version of the cert-manager operator. That overlapping APIs, was an issue when kuadrant had dependency on the operator. When the openshift cluster had the RH build of the cert-manager operator installed, the kuadrant requirement could not be met as upstream cert-manager was unable to install. On https://github.com/Kuadrant/kuadrant-operator/pull/680 we fixed this issue changing the dependency type from operator to API level. Unfortunately, there are still issues. And the main issue is that The RH build of the cert-manager cannot be installed in the same namespace as the kuadrant operator. The reason being that the kuadrant operator is cluster wide and the RH cert-manager is namespace scoped operator. The OperatorGroup does not enable installing different scoped operators in the same namespace.
Even if the RH cert manager is installed in another NS A, when installing kuadrant in some NS K, OLM tries to install yet another RH cert-manager operator instance in the NS K. Which fails for the reasons explained above.
Extracted from the installplan resource:
clusterServiceVersionNames:
- dns-operator.v0.0.0
- limitador-operator.v0.9.0
- cert-manager-operator.v1.13.1
- authorino-operator.v0.11.1
- kuadrant-operator.v0.8.0

My guess (just a guess) is that OLM thinks that even if the GVK exists, nobody is watching for it in the specified namespace, hence it tries to install an operator that fulfill the needs in the specified namespace.
Interesting to note that even if the community cert-manager is installed before Kuadrant, the RH cert-manager will still try to be installed in the same namespace as kuadrant. Not sure OLM is behaving as it should. We might have found a bug here. If we re-add cert-manager APIs as dependencies, we need to verify that when the upstream operator is pre-installed, the RH build operator is not being installed  in openshift.

read public slack channel discussion about this topic here

The Plan
The plan now is to have the cert-manager API as documentation requirement. The pre-requisite for kuadrant to work as expected is that the cert-manager APIs are in place in the cluster.
The RH build of the cert-manager is planning cluster wide scope feature. Tracked here: https://github.com/openshift/cert-manager-operator/pull/188.
Once a release of RH cert-manager that supports all namespaces is available, we can move back to having it as a dependency. One test we will need to do after bringing the cert-manager dependency back: verify that when the upstream operator is pre-installed, the RH build operator is not being installed  in openshift. Created issue for this https://github.com/Kuadrant/kuadrant-operator/issues/729
Verification steps

Create kind cluster

make kind-create-cluster

Deploy OLM system

make install-olm

Deploy Gateway API CRDs (for these verification steps no need to install istio)

make gateway-api-install

Deploy kuadrant operator using OLM. The catalog has already been created for you out of the changes of this branch. But feel free to create your own catalog.

make deploy-catalog CATALOG_IMG=quay.io/kuadrant/kuadrant-operator-catalog:fix-cert-manager-deps

The operators should be installed correctly. Wait until the CSV reports all the operators succeeded.
❯ kubectl get clusterserviceversions.operators.coreos.com
NAME                        DISPLAY              VERSION   REPLACES                         PHASE
authorino-operator.v0.0.0   Authorino Operator   0.0.0                                      Succeeded
dns-operator.v0.0.0         DNS Operator         0.0.0                                      Succeeded
kuadrant-operator.v0.0.0    Kuadrant Operator    0.0.0     kuadrant-operator.v0.0.0-alpha   Succeeded
limitador-operator.v0.0.0   Limitador            0.0.0                                      Succeeded

This is the key change of this PR: the cert-manager has NOT been installed
Let's test the TLSPolicy on this cert-manager-less scenario:

Create a namespace:

kubectl create namespace my-gateways

Create an ingress gateway

kubectl -n my-gateways apply -f - <<EOF
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: prod-web
spec:
  gatewayClassName: istio
  listeners:
    - allowedRoutes:
        namespaces:
          from: All
      name: api
      hostname: "*.toystore.local"
      port: 443
      protocol: HTTPS
      tls:
        mode: Terminate
        certificateRefs:
          - name: toystore-local-tls
            kind: Secret
EOF

Create a CertManager Issuer:

kubectl apply -n my-gateways -f - <<EOF
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: selfsigned-issuer
spec:
  selfSigned: {}
EOF

Create a Kuadrant TLSPolicy to configure TLS:

kubectl apply -n my-gateways -f - <<EOF
apiVersion: kuadrant.io/v1alpha1
kind: TLSPolicy
metadata:
  name: prod-web
spec:
  targetRef:
    name: prod-web
    group: gateway.networking.k8s.io
    kind: Gateway
  issuerRef:
    group: cert-manager.io
    kind: Issuer
    name: selfsigned-issuer
EOF

Check out policy status. There should be some understandable error when the cert-manager is not available in the cluster.
❯ kubectl get tlspolicy prod-web -n my-gateways  -o jsonpath='{.status}' | yq e -P
conditions:
  - lastTransitionTime: "2024-07-04T08:02:09Z"
    message: 'TLSPolicy has encountered some issues: cert-manager APIs not available'
    reason: Unknown
    status: "False"
    type: Accepted
observedGeneration: 1

This makes sense to me @eguzki I guess once a release that supports all namespaces is available we can move back to having it as a dependency?

Seems fine, but should we not consider just adding this as a pattern for all polices that have a dependency on CRDs not provided by the kuadrant operator i.e. all of them? I know we control the other operators currently required, and therefore less likely to be an issue,  but a consistent message on any policy that can't work due to missing CRDs might be beneficial no? Presumably this could be an issue for these operators also if they happened to be installed on cluster already, at least it seems we can't be sure what OLM is going to do.

This makes sense to me @eguzki I guess once a release that supports all namespaces is available we can move back to having it as a dependency?

yes @maleck13 ! That's the plan. I missed adding this to the description. (Actually, I did but was lost in the ether). Updating the description, thanks

Added verification steps. I like doing that, only just for the record and future reference.

Once this PR is merged, @maleck13 can you add the new "documentation requirement"? Or give me a hint about where should I add that.

I can verify this fixes the automatic installation of RH cert-manager on Openshift.
I think this PR should include adding installation of community cert-manager to the quickstart-setup.sh script so everything works like before on Kind.
As well as updating documentation (https://docs.kuadrant.io/dev/kuadrant-operator/doc/install/install-openshift/) with the extra step of installing cert-manager manually. But this can be done in separate PR.

Changes look fine, but as pointed out in chat, some of the changes here might be an issue #715

Indeed, if the TLS policy controller starts watching not exiting types, the controller needs to be disabled, and therefore the status would not be populated. I proposed an independent common status controller to fulfill that need in the following issue https://github.com/Kuadrant/kuadrant-operator/issues/730

makes sense

but a consistent message on any policy that can't work due to missing CRDs might be beneficial no?

Could be done as some other issue, but I think so yes; if someone installs our operator with some kube distro with a UI, and doesn't install stuff that put other CRDs we need for certain policies in place, we don't really surface that well right now. easy for users to end up with a broken install, with little idea as to why.

I think it should probably go in here https://docs.kuadrant.io/0.8.0/kuadrant-operator/doc/install/install-openshift/

@maleck13 kindly asking for review regarding the last commit about the update on the openshift installation doc.

Looks good. Minor comment but not critical

rebased to fix conflicts with current main and added cert-manager min version to doc.
Please review at your leisure @mikenairn @maleck13

@mikenairn some changes were reverted. The status logic does not change.


Throw an HTTPError instead of RuntimeError

On these lines an exception is thrown using only the response text.  The very important status code is not included in that exception.  This makes it hard to debug why the request to ZoomInfo failed.
https://github.com/Zoominfo/api-auth-python-client/blob/1e4ecd4c466979da32277923b281305468fbc20c/zi_api_auth_client/zi_api_auth_client.py#L26-L27
https://github.com/Zoominfo/api-auth-python-client/blob/1e4ecd4c466979da32277923b281305468fbc20c/zi_api_auth_client/zi_api_auth_client.py#L37-L38
It would be better to do:
response.raise_for_status()

Requests library will throw an HTTPError which captures the status code and and URL which will better help people to determine what configuration is wrong.

This response status is fixed in v20.0.0


Enable building blazor-wasm branch

Making sure the blazor-wasm branches are being built.

Why not rename the branch? blazor-wasm is one we'll be releasing from, correct?


add test examples for thunks and components

I actually think the substance of this PR is :+1: and wouldn't block it for my comments re: formatting/linting.

@collin point taken, though (and no time like the present for changes) - I've added instructions to the README for installing eslint, and given a recommendation for how to use it (as well as pointing out that the existing code is written with Standard)
And I removed the errant semicolon...


Fix the lowering of for loops in generic contexts

Lowering a for loop in a trait extension caused the emitter to create unspecialized references to the subscript requirement in Collection, making the produced IR impossible to compile to LLVM.

🍾


NIFI-570: Added MongoDB put and get processors

Tim - this is really awesome for a couple reasons.  First, adding support for MongoDB is cool.  Second, I've only done the eyeball test but this looks great, well thought through, well written.  It is great that you even updated the NOTICE.  I believe though the copyright mention should be 'Copyright (C) 2008-2013 10gen, Inc.' as that is what they had in their LICENSE addendum section for the version you've chosen.
Is there any reason not to go straight to 3.0.x driver series?
Thanks!
Joe

Good eye, Joe. I was about to comment on a couple of things for this pull request:
1 - I wasn't sure what exactly the verbiage should be in the NOTICE. I guessed based on their website, and it looks like I guessed wrong. I'll get it from their LICENSE and update.
2 - I am using embedmongo-maven-plugin for my unit tests. I want to make sure it's ok to introduce this new dependency, could someone validate? https://github.com/joelittlejohn/embedmongo-maven-plugin
3 - The 3.0 Java driver series was released a month ago and has a brand new API (that I have not used). The 2.x API is still supported but marked deprecated. I though it best to go with 2.x than to introduce a slew of deprecation warnings. But, since these processors are so simple, maybe it would be best for me to use the new API.
Thanks for reviewing.

Tim

You did a great job.  That you did it at all is highly appreciated.
This is fine.  Because it is a test dependency and we're not pulling in source nor would it be part of a convenience binary we'd put out the burden is extremely small.  It is also apache licensed so woohoo.  Now it could pull in deps that aren't legit.  I didn't check.  But it doesn't matter given my previous statements (for this case).
I am not a mongo expert at all.  Perhaps this is worth tossing out as a question to the dev mailing list and see if anyone has an opinion on it you can discuss with.

We will do a more thorough review as well and send feedback.
But clearly a quality effort so thank you very much.
Joe

+1 for the 3.0 drivers.  APIs are different, but not wildly.  Exception / error handling seemed to be the biggest change (moving to generic MongoCommandExceptions with error codes and messages).
I've also done some work to support batch inserts of FlowFiles that we can merge into this to get some great throughput enhancements.

@brianghig will do on the 3.0 driver.
+1 on the batching. I thought it best to keep it simple initially.

@tequalsme Absolutely! This is a great start. I'm excited that's it here now, and looking forward to seeing how far we can take it.

OK, I've updated the PR to use version 3.0.1 of the MongoDB Java driver.

This is really cool Tim! Outstanding work!

Tim, would it be helpful if I did some performance benchmarks using this processor? Writes to MongoDB tend to be very fast. This could help developers make informative choices on which processors they chose to use.

Tim,
Only thing that I would change about the code is to make sure we do a Provenance SEND event for PutMongo. Otherwise, all looks great!

Updated PR, adding a Provenance SEND event to PutMongo, and rebasing origin/develop.

Nice work. Merged to develop.
Thanks for contributing this back!


Update open_jdk version version:11

For cipd package open_jdk, there are two ways to identify:

Tags: version:11
Refs: 11

Existing targets are referencing the Refs:
{"dependency": "open_jdk", "version": "11"},

However, the Refs are not consistence across different platforms. This PR updates to use Tags to make all consistent.
{"dependency": "open_jdk", "version": "version:11"},

Context: https://github.com/flutter/flutter/pull/109889#issuecomment-1221165867

Hitting https://github.com/flutter/flutter/issues/110112

LGTM Though this wound up not being necessary for the Mac arm case, it passed without this change when I added the arm tag. #109889

Yeah, those green builds didn't seem to pick up correct platforms. I believe this is needed. Adding the autosubmit label.

This worked! https://ci.chromium.org/p/flutter/builders/try/Mac framework_tests_misc/25849 (still failed, but got past the open jdk installation).


[tests/test_read_only_dict.py] Init

You were so close to 100% https://codecov.io/gh/python-attrs/attrs/src/e770594/src/attr/_compat.py
So here's a PR

You've got fooled by another Codecov hiccup. :(
We do have 100% (I've restarted the build so you can see), it's just that sometimes it doesn't get reported correctly.
Sorry for your efforts. :(

:(


Added new method that correctly redirects user to blog.

Hi man, cool product you've got there.
So I was checking it out and I noticed a problem.
Clicking on a blog url doesn't redirect you to the blog if the blog is running on http, it only appends the url to the current href and since that path is not recognized by vue, It renders an empty page.
This problem only persists with blogs running on http.
https websites work fine.
This pr contains a fix to the issue.
Hopefully my pr will be merged into this wonderful product.
Cheers!
ps: and hey get in touch, I'd love to work on something with you.

Hi. Thanks for working on this. This is a small bug which could be fixed by updating the URL in the request method itself. Adding a new method increases the complexity.
Since it was a small task, I fixed it. Thanks for pointing it.
Cheers.

Alright man!


Fix collecting parameters and options for inherited commands

If I want to create some base command with specific options and inherit some commands from it then I got wrong help output with missed base options.
I fixed collecting parameters and options so they do it recursive now. Tests included :)

@jakeheis for some reasons Travis doesn't start osx job 🤔

This looks great, thanks so much for your contribution!


chore(deps): update lscr.io/linuxserver/sabnzbd docker tag to v3.7.1 (dev)

This PR contains the following updates:

Package
Update
Change

lscr.io/linuxserver/sabnzbd
patch
3.7.0 -> 3.7.1

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will now ignore this update (3.7.1). You will still receive a PR once a newer version is released, so if you wish to permanently ignore this dependency, please add it to the ignoreDeps array of your renovate config.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


BUG: linalg.khatri_rao

Describe your issue.
Trying to replicate khatri_rao example from documentation
Reproducing Code Example
from scipy import linalg
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([[3, 4, 5], [6, 7, 8], [2, 3, 9]])
linalg.khatri_rao(a, b)

Error message
module 'scipy.linalg' has no attribute 'khatri_rao'

SciPy/NumPy/Python version information
1.4.1 1.19.2 sys.version_info(major=3, minor=8, micro=10, releaselevel='final', serial=0)

@djbacad Hi. Thank you for reporting. The khatri_rao function was introduced from Scipy v1.5.0 in https://github.com/scipy/scipy/pull/11456.
You are using v1.4.1, so If you upgrade Scipy to v1.5.0 or higher, maybe you can use it. Please try it.


Improve Cucumber Glue

🤔 What's the problem you're trying to solve?
I usually configure the steps in java libraries. And I have no problem to configure it through the typical RunCukeTests class. Indicating my library classpath in the glue section. But it is not possible to do it through the Visual Studio Code extension. Or maybe yes and I don't know how to do it?
✨ What's your proposed solution?
Be able to configure the classpath external jars into glue configuration. Like in JUnit classes.
⛏ Have you considered any alternatives or workarounds?
Maybe it will also works if we can put the folder from m2 repository (where it's the jar) in glue configuration.
📚 Any additional context?
No response

Thanks for raising @deesebc, you are correct support is yet to be implemented for such functionality. Would you be able to take a look at cucumber/language-server#95 and advise whether there's any potential overlap or considerations that should be made?


Name TextField Error

When trying to fill in the first name and the last name in the TextField, the user is unable to write the name in one go.
For example, the user has to do something like this, first enter a letter and then again press the textfield to focus on it, then again enter another letter. This causes a bad user experience.

This is a known issue and we have a fixed incoming. Thanks!

dupe https://github.com/gskinnerTeam/flutter-folio/issues/3


window.xprops.resize does not work

Hi
This is amazing library. But unfortunately the command (said above) didn't work as expected. Here how I set the component
import { create } from "zoid";

export const myWebChat = create({
  tag: `my-chat`,
  url: `mywebsite.com/launcher`,
  dimensions: {
    width: "350px",
    height: "150px"
  },
  attributes: {
    iframe: {
      scrolling: "no"
    }
  },
  autoResize: {
    width: false,
    height: true
  },
});

and here how I initiate it (in separate file)
import { myWebChat } from "./base";

(function chat(d) {
  const launcherElId = "my-launcher";
  const existingLauncherEl = document.getElementById(launcherElId);
  if (existingLauncherEl)
    existingLauncherEl.parentNode.removeChild(existingLauncherEl);
  const launcherEl = d.createElement("div");
  launcherEl.id = launcherElId;
  launcherEl.classList.add("my-reset");
  d.body.insertBefore(launcherEl, d.body.childNodes[0]);
  setTimeout(() => {
    myWebChat({
      myFunc: () => {
        console.log("hello");
      },
    }).render(`#${launcherEl.id}`);
  }, 1);
})(document);

so after minify these two scripts (using webpack),  it will create a div and embed the iframe. Once my component loaded (from mywebsite.com/launcher), I can execute window.xprops.close() but it didn't do anything for (abovesaid) command. FYI, I use React (16.8.0). What did I miss?

ok now  I understand how resize works, you have to detect the event RESIZE. But every time I triggered resize to change the height it keep give me a new number which I don't even really know who's trigger that height. It didn't follow my height. Anybody experimenting or experience this?


Date Parameters Not followed on main UI

When we change the date range now on the main UI it does not actually filter dates.

This appears to only happen when changing the month without changing the year. After the year is changed, the month changes will be recorded. Cause still unknown and I will look at this when I finish up the new performance controls.


doesn't build

reservoir-kit$ yarn build
@parcel/transformer-typescript-types: Cannot find module '../modal/list/ListModalRenderer' or its corresponding type declarations.
/home/steve/Documents/GitHub/mavrik/reservoir-kit/packages/ui/src/hooks/useListingPreapprovalCheck.ts:4:26
3 | import { Marketplace } from './useMarketplaces'

4 | import { Listings } from '../modal/list/ListModalRenderer'
|                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot find module '../modal/list/ListModalRenderer' or its corresponding type declarations.
5 | import { useSigner } from 'wagmi'
6 | import { Execute } from '@reservoir0x/reservoir-kit-client'

@parcel/transformer-typescript-types: Cannot find module './modal/buy/BuyModal' or its corresponding type declarations.
/home/steve/Documents/GitHub/mavrik/reservoir-kit/packages/ui/src/index.ts:20:26
19 | //Components

20 | export { BuyModal } from './modal/buy/BuyModal'
|                          ^^^^^^^^^^^^^^^^^^^^^^^ Cannot find module './modal/buy/BuyModal' or its corresponding type declarations.
21 | export { BuyStep } from './modal/buy/BuyModalRenderer'
22 |

@parcel/transformer-typescript-types: Cannot find module './modal/buy/BuyModalRenderer' or its corresponding type declarations.
/home/steve/Documents/GitHub/mavrik/reservoir-kit/packages/ui/src/index.ts:21:25
20 | export { BuyModal } from './modal/buy/BuyModal'

21 | export { BuyStep } from './modal/buy/BuyModalRenderer'
|                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot find module './modal/buy/BuyModalRenderer' or its corresponding type declarations.
22 |
23 | export { ListModal } from './modal/list/ListModal'

@parcel/transformer-typescript-types: Cannot find module './modal/list/ListModal' or its corresponding type declarations.
/home/steve/Documents/GitHub/mavrik/reservoir-kit/packages/ui/src/index.ts:23:27
🚨 Build failed.
@parcel/core: Failed to resolve './modal/buy/BuyModal' from './packages/ui/src/index.ts'
/home/steve/Documents/GitHub/mavrik/reservoir-kit/packages/ui/src/index.ts:20:26
19 | //Components

20 | export { BuyModal } from './modal/buy/BuyModal'
|                          ^^^^^^^^^^^^^^^^^^^^^^^
21 | export { BuyStep } from './modal/buy/BuyModalRenderer'
22 |

@parcel/resolver-default: Cannot load file './modal/buy/BuyModal' in './packages/ui/src'.
💡 Did you mean './Modal/buy/BuyModal'?
💡 Did you mean './Modal/Modal'?
steve@5950x:~/Documents/GitHub/mavrik/reservoir-kit$ yarn run build:fix-type-defs
Fix bad imports in d.ts files…
Fixed: [ {} ]
steve@5950x:~/Documents/GitHub/mavrik/reservoir-kit$ yarn build
mv: cannot stat 'tsconfig.production.json': No such file or directory
steve@5950x:~/Documents/GitHub/mavrik/reservoir-kit$

maybe it's missing the typescript types?

trying to build it changes these files?  why is this so hipster and weird?  write normal code.

Ah this is because we have different tsconfig for dev and for production and so we swap the tsconfig during the build process. The unfortunate side effect is that if the build fails you'll end up with the tmp and the tsconfig will be a bit messed up. If you reset your branch to get the initial tsconfigs that should clear it up. Curious how you got into this state. Can you provide all the commands you ran up until this point?

I just did
yarn
yarn build

$ yarn build
@parcel/transformer-typescript-types: Cannot find module '../modal/list/ListModalRenderer' or its corresponding type declarations.
/home/steve/Documents/GitHub/mavrik/reservoir-kit/packages/ui/src/hooks/useListingPreapprovalCheck.ts:4:26
3 | import { Marketplace } from './useMarketplaces'

4 | import { Listings } from '../modal/list/ListModalRenderer'
|                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot find module '../modal/list/ListModalRenderer' or its corresponding type declarations.
5 | import { useSigner } from 'wagmi'
6 | import { Execute } from '@reservoir0x/reservoir-kit-client'

@parcel/transformer-typescript-types: Cannot find module './modal/buy/BuyModal' or its corresponding type declarations.
/home/steve/Documents/GitHub/mavrik/reservoir-kit/packages/ui/src/index.ts:20:26
19 | //Components

20 | export { BuyModal } from './modal/buy/BuyModal'
|                          ^^^^^^^^^^^^^^^^^^^^^^^ Cannot find module './modal/buy/BuyModal' or its corresponding type declarations.
21 | export { BuyStep } from './modal/buy/BuyModalRenderer'
22 |

🚨 Build failed.
@parcel/core: Failed to resolve './modal/buy/BuyModal' from './packages/ui/src/index.ts'
/home/steve/Documents/GitHub/mavrik/reservoir-kit/packages/ui/src/index.ts:20:26
19 | //Components

20 | export { BuyModal } from './modal/buy/BuyModal'
|                          ^^^^^^^^^^^^^^^^^^^^^^^
21 | export { BuyStep } from './modal/buy/BuyModalRenderer'
22 |

@parcel/resolver-default: Cannot load file './modal/buy/BuyModal' in './packages/ui/src'.
💡 Did you mean './Modal/buy/BuyModal'?
💡 Did you mean './Modal/Modal'?

$ yarn demo
error - ./pages/_app.tsx:10:0
Module not found: Can't resolve '@reservoir0x/reservoir-kit-ui'
8 | import { publicProvider } from 'wagmi/providers/public'
9 | import '../fonts.css'

10 | import {
11 |   ReservoirKitProvider,
12 |   darkTheme as defaultTheme,
13 | } from '@reservoir0x/reservoir-kit-ui'

https://nextjs.org/docs/messages/module-not-found

Ok I think there was an issue with the folder being in a different case than the imports, which looked fine locally but on a clean install didn't seem to work. I fixed and pushed this. Can you try again?


Flow 23 compatibility

So, I'm interested in this component for Flow 23. I've dropped in the maven dependency and added some code to an onAttach method, but no luck getting it to work. Any plans for updating this? Maybe I need to do something special to get it to work with the newest version of Flow?

We are also interested that it will work under Flow 23.

Version 2.0.0 is available now and supports Vaadin 23.


Track duration = Infinity when software caused connection abort (iOS devices)

This one is a bit tricky to replicate, you have to start playing a track, put browser on background (e.g. by going home) before it plays, and then opening the browser again after a few seconds. It might take a few tries, since it doesn't always happen.
You can read more about it here: https://github.com/AFNetworking/AFNetworking/issues/4279.
The weird thing when this error happens is that the track duration is Infinity, so the user experience is pretty bad, since you can't seek or even when you play/pause, it starts from the beginning.
I opened this issue in case other people might have it later, so they know why it happens, but I don't think there's much we can do in the library to prevent this. What I'm doing on my app side is to call load() once if a track duration is Infinity, and if it's Infinity after, just let it play, since duration = Infinity isn't an error per se, it could be a live stream or bad configured host. I'm ok with the tradeoff of reloading the track, since in my use case it's pretty weird to have live stream urls, so most of the times duration will be Infinity because of this error. I only call load() once in this case, because the probability of getting the "software caused connection abort" just after it happened is pretty low, and to not be in an infinite loop if the duration = Infinity wasn't caused by the error.

Is there a MediaError we can listen to in order to detect the aborted connection that would give us a more precise indication than checking if the track duration is Infinity? Always loading once more when it's Infinity might cause weird hiccups for unbounded streams (not sure..).

The media element doesn't trigger an error, it goes through the normal flow, loads metadata and then can play, but duration is Infinity. That leads me in the awkward position of having to handle the error by looking at the only "symptom" I can find. I've spent countless hours looking for something in the media object that differentiates an unbounded stream from a track that had this error, and have not been successful :(

Ah, that's annoying. This seems like something that could be semi-common on an iOS device with a slow network connection so I'd like to find a way to avoid it.  If we're able to detect the Infinite track length on durationchange before the playback even starts, we might be able to prevent audio hiccups.

I think I've solved the hiccup issues in a similar way, when I get a different duration and the new one is Infinity, I set autoplay to !media.paused and call load(), and then after canplay or play event is fired, I set autoplay back to false.

How do you avoid doing this to infinity?

I only do that on this condition: prevDuration != newDuration && newDuration === Infinity, if it's an unbounded stream, then it's going to reload and get Infinity duration again and just play. If it's a normal audio file:

If duration is real one, it plays as normal.
If connection is aborted again, should be strange but I guess it can happen, then it would start playing as an unbounded stream.

After a month or so of tracking Infinity durations, these are the times it has happened:

We get around 5k daily pageviews, and each of these call media.load() after page loads, so it's not something that happens so frequently. That's why I plan to only has the fallback reload to occur only once.

Yeah that makes sense. Thanks for all the info! I'll think about this.

I ended up doing this, no need to use autoplay.
const DurationInfinityHandler = ({ mediaRef, activeTrack, isPlaying, onTogglePause }) => {
  const [{ duration, track }, setTrackDuration] = useState({ duration: 0, track: null })
  const durationChangeCallback = useRef()
  const isPlayingRef = useRef()

  useEffect(() => {
    durationChangeCallback.current = () => {
      setTrackDuration({ track: activeTrack, duration: mediaRef.duration })
    }
    isPlayingRef.current = isPlaying
  })

  useEffect(() => {
    const onDurationChange = () => {
      durationChangeCallback.current()
    }
    mediaRef.addEventListener('durationchange', onDurationChange)
    return () => mediaRef.removeEventListener('durationchange', onDurationChange)
  }, [])

  useEffect(
    () => {
      if (duration === Infinity) {
        mediaRef.load()
        onTogglePause(!isPlayingRef.current)
      }
    },
    [track]
  )

  return null
}

Forgot to look at this earlier sorry! I'm not a hooks master so it took me a second to understand the code but I think I get it.
Here's my basic summary of what I think is happening...

You listen for the durationchange event.
Each time you save a reference to the activeTrack so in the future you'll be able to reference the activeTrack at the time of the previous duration change.
If the duration is infinity and the activeTrack is different than the last time the duration changed, you:
a. Take note of whether the track is playing
b. Reload the track
c. Play the track if it was playing at the time you reloaded

Ok btw I am sort of learning hooks right now so as an exercise I tried to rewrite the custom hook you shared.. isn't this doing the same thing?
const DurationInfinityHandler = ({ mediaRef, duration, activeTrack, isPlaying, onTogglePause }) => {
  const trackRef = useRef();

  useEffect(
    () => {
      if (duration === Infinity && trackRef.current !== activeTrack) {
        mediaRef.load();
        onTogglePause(!isPlaying);
      }
      trackRef.current = activeTrack;
    },
    [activeTrack, duration]
  );

  return null;
}

Saw the twitter thread 😂, it's ok to share the code btw, might help others learn doing things better (like me). This was one of my first hooks implementation to try them out, and it got to that point because I was getting bad results with the closures. Something to keep in mind in your example is that you are getting the duration as prop, and I was getting it from media ref as I wasn't using cassette props.
I also thought that I should only subscribe once to durationchange instead of sub/unsub when props change.

Also, I wanted to make sure that the duration I had in state, was for the correct track, in case the track prop changed. But I think using a ref for that would have worked as well.

 I finally did and I think what I come up is a bit more concise but I get why you did it that way.
I see what you're saying about wanting to make sure it's the correct track. My expectation would be that the update would always run before a track changes but I guess that's not easy to guarantee since React's decision process for when to batch state updates is a bit undocumented.

I also thought that I should only subscribe once to durationchange instead of sub/unsub when props change.

Ok this might be over my head in terms of hooks knowledge.. 😥

I follow Dan, and he replied to the tweet, I couldn't help but think it was related to this snipper haha. Don't worry about it!

With regards to the track, I was getting the issue that when I played another track, it would go to the mediaRef.load code, as duration in state was Infinity still.

Right that makes sense.. I think that's where the ref set at the end of the last effect could help, but the thing you said about the subscription running again every time lets me know I still don't know what's going on with hooks 😄

Did my own refactor.
If we unsub on track change, it can look like this:
const DurationInfinityHandler = ({ mediaRef, activeTrack, isPlaying, onTogglePause }) => {
  const trackRef = useRef()

  useEffect(() => {
    const onDurationChange = () => {
      if (mediaRef.duration === Infinity && trackRef.current !== activeTrack) {
        mediaRef.load();
        onTogglePause(!isPlaying);
      }
      trackRef.current = activeTrack
    }
    mediaRef.addEventListener('durationchange', onDurationChange)
    return () => mediaRef.removeEventListener('durationchange', onDurationChange)
  }, [activeTrack, /* isPlaying ? */])

  return null
}

If not, something like this.
const DurationInfinityHandler = ({ mediaRef, activeTrack, isPlaying, onTogglePause }) => {
  const durationChangeCallback = useRef()
  const trackRef = useRef()

  useEffect(() => {
    // Does this need to be in an useEffect?
    durationChangeCallback.current = () => {
      if (mediaRef.duration === Infinity && trackRef.current !== activeTrack) {
        mediaRef.load();
        onTogglePause(!isPlaying);
      }
      trackRef.current = activeTrack
    }
  })

  useEffect(() => {
    const onDurationChange = () => {
      durationChangeCallback.current()
    }
    mediaRef.addEventListener('durationchange', onDurationChange)
    return () => mediaRef.removeEventListener('durationchange', onDurationChange)
  }, [])

  return null
}

Nice! Yeah I think in the first one you would need to pass isPlaying to the useEffect... So you would have the updated value in the closure outside the new onDurationChange subscription. I've decided hooks and closures don't mix super well 😄. But this is clever!


Messages can initially display expanded at 0 height after window resize

Steps to Reproduce: master

Run a query such as SELECT * FROM sys.objects
Resize the messages to be about 1/2 the original height
Resize the ADS main window to be smaller (for example, a few 100 pixels less wide and tall)
Rerun the query

Expected: Messages are restore to original size after step 1 or after step 2 (either of those sizes would make sense)
Actual: Messages is 0 height but show as expanded.  Messages be manually resized to visible again.
Note: Likely a regression from https://github.com/Microsoft/azuredatastudio/pull/4313 since that is the change I'm currently trying to validate

@anthonydresser could you please look at this? I'm guessing it may be related to the recent Messages sizing change.

I'll take a look but that would be odd since those changes didn't touch the code for the messages panel

@anthonydresser you're correct this isn't a regression from #4313, though it is a regression since 1.4.5 release.  Please take a look if you could in any case.  Thanks!

This should be fixed by the revert


Fix trailing comma in appsettings.json

Getting Started guide has invalid JSON with a trailing comma. Verified in sample project and JSON lint.

Thanks


Merge nas2d-tests repository

The nas2d-tests repository should be merged with the main nas2d-core repository.
Merging will make it easier to keep the test projects up to date with the main library project. It will also encourage more testing, as it will be easier to do.

As these tests are not automated, perhaps we can put them in a sampleProjects/ folder.
To that end, we'll probably want to rename them from "test_1" etc., and give them more descriptive names, based on what features they are exercising. The new test-graphics/ project can be placed in a similar folder.
Suggested layout:
sampleProjects/
  zombieGame/  (test_1)
  rendererFunctions/  (test_2)
  blendingModes/  (test_3)
  texturing/  (test-graphics)

I would welcome suggestions for better names.

I noticed there is a fair bit of similarity between test_2 and test-graphics. Should these two be combined? I imagine they weren't since test_2 was quite dated for a while, and didn't compile with recent versions of NAS2D. Now that it's been updated though, would it make sense to merge them?

Was going to say, these are probably better labeled 'sample apps' versus tests. I mean, there's the 'renderer test' which I sort of use for testing some renderer functions but it's also a good demonstration of the various features of the renderer.
Then there's the others which are literally just sample apps demoing different parts of the framework, etc. plus a sample game that I think can be better fleshed out. Doesn't have to be more complex than it already is (just add a sort of 'waves' mechanic and have zombies show up in different patterns, fix the way they disappear, etc.)... anyway, I'm getting into a different changeset and topic at this point.

Actually, now that you mention it, it might make sense to separate out the zombie game into it's own repository, and keep the others as sample apps. That would also minimize the asset references by the sample apps, since the zombie game is responsible for most of the asset references.


[BUG] [Release] The script for promoting charts to stable is broken

The script promote-to-stable.sh errors out like the below:
./scripts/chart/promote-to-stable.sh v2.8.1
2024/01/31 10:25:51 proto: duplicate proto type registered: PluginSpec
2024/01/31 10:25:51 proto: duplicate proto type registered: PluginPrivilege
drone version 1.7.0
2024/01/31 10:25:51 proto: duplicate proto type registered: PluginSpec
2024/01/31 10:25:51 proto: duplicate proto type registered: PluginPrivilege
No Build Found for TAG: v2.8.1

No need for QA validation.

Closing as done in all actively maintained release lines


The type of the “parts” argument of VersionInfo.replace is incorrectly inferred by PyCharm

Situation
When calling the method VersionInfo.replace() with named parameters, PyCharm shows a warning indicating that the parameters that I am giving are not of the right type.
To Reproduce
Paste the following code in PyCharm:
version = VersionInfo.parse("1.0.0")
alpha_version = version.replace(
    prebuild="alpha"
)

Expected Behavior
PyCharm will show the error Expected type 'dict', got 'str' instead as follows:

Environment

OS: Kubuntu 20.04
Python version: 3.8
Version of semver library: 2.13.0

Additional context
The source of the issue is that PyCharm infers that the parts argument is a dict of dict, as can be seen in the following screenshot:

The issue can be fixed by changing the definition of the method VersionInfo.replace() from that:
def replace(self, **parts):

To that:
def replace(self, **parts: str):

Ahh, thank you @FabienSailliet for your report! Much appreciated. :heart: I will look into this.

After playing a bit, str isn't enough. As some parts can be of type str, int, or even None, we need to extend the signature:
def replace(self, **parts: Union[str, int, None]) -> Version:
    # ...

Thank you for your quick answer. You're right, I was only only thinking about my use case.

Okay, after dig into the code, the change is already there in master. See https://github.com/python-semver/python-semver/blob/master/src/semver/version.py#L586:
def replace(self, **parts: Union[int, Optional[str]]) -> "Version":

Basically the same. :wink: If you don't mind, I'd close this issue. :slightly_smiling_face:

Argh, I should have better read your issue, sorry. You are talking about version 2.13.0!
This version is frozen and won't receive any updates, unfortunately. That version does not contain any type hints at all.
We focus entirely on the upcoming major 3 release. You should make sure to update your code and use it once it is released.

Ho, ok. I prefer to stay on a stable version, but I'm for sure looking forward to the next version! I let you close the issue if you want to.

Ok, thanks. In that case, I'd prefer to close it a it's already implemented in the development version.
Thanks for your contribution. 👍


sampling an interval doesn't work if you don't start at zero

Line 97 of detect/spikedetekt.py is a bug: it checks that start is less than n_samples, but if an interval is used, n_samples is the number of samples within the interval whereas start is in absolute samples within the whole file. E.g. if you ask for the interval 9,12 with sample_rate=20000, then start will be 180000 but nsamples will only be 60000, so the assertion will fail though the data and numbers are fine.
Also can we clear the NotImplementedError, line 100? I would like to use this function and I don't much care whether the spike times are referenced to the start of the interval or to the start of the total file (in fact maybe the former is preferable?).

good catch, it should be assert 0 <= start < end, PR welcome :)

Also can we clear the NotImplementedError, line 100? I would like to use this function and I don't much care whether the spike times are referenced to the start of the interval or to the start of the total file (in fact maybe the former is preferable?).

I'm not sure. @nippoo ?

Yes, but so far posting an issue here is easier for me ;) I need to take
some time and get good at github...
On Sat, Jul 25, 2015 at 11:17 PM, Cyrille Rossant<EMAIL_ADDRESS>wrote:

good catch, it should be assert 0 <= start < end, PR welcome :)
—
Reply to this email directly or view it on GitHub
https://github.com/kwikteam/phy/issues/565#issuecomment-124905891.

it's always good to post an issue before proposing any PR...
@nippoo we're counting on you to make @nsteinme a git expert

Don't worry he's doing his best, I'm just being a slow learner ;)
On Sat, Jul 25, 2015 at 11:22 PM, Cyrille Rossant<EMAIL_ADDRESS>wrote:

it's always good to post an issue before proposing any PR...
@nippoo https://github.com/nippoo we're counting on you to make
@nsteinme https://github.com/nsteinme a git expert
—
Reply to this email directly or view it on GitHub
https://github.com/kwikteam/phy/issues/565#issuecomment-124906423.

I will make a different issue about the NotImplementedError, since it needs to stay until that is implemented...


Adding child resources support

@alexgav I've hacked together a build to test out the child resource fix. To do so, I've updated the ARM_LANGUAGE_SERVER_NUGET_VERSION config in the extension to equal 3.0.0-preview.2012.3 and then created a new .vsix file. It looks to have worked because I do see an improvement in the child resource api version mis/match issue.
Note here that in the child resource I do see multiple resource versions where with the released extension we would only see the parent match.

However, when selecting the non-matched API version, the resource fails to validate with an indication that the api version must be the same as the parent.

If I do update the child resource api version to match, everything looks good.
Perhaps the steps I took to replicate the build are at fault here, but wanted to run this by you for review.
Thanks a bunch for working on this.

@alexgav @neilpeterson I merged this before noticing Neil's comments above.  I'm going to add a link to them in the existing bug.  Alex, can you investigate?  Thanks.
Also - how are we with testcases?  Ideally we should add some to the extension functional tests.


[All plugins] centralize gradle basic dependencies

It is a pain to update each plugin com.android.tools.build:gradle and 'com.google.gms:google-services versions and common dependencies for multiple plugin projects.
Proposal
It would easy the pain if the plugins and examples  in plugins repository had a dependencies.gradle file with the versions that would be included in each plugin build.gradle to read the dependencies versions. Plugins with specific dependencies versions due some bug or migration needed can still declare the versions locally, but I understand that it will be the exception, not the rule.
Maybe even the gradle wrapper version could be centralized.
I would be willing to create a POC to show how it could work if the flutter teams aggress with this strategy.

Similar feature added to Android Gradle Plugin see the link for info
https://developer.android.com/studio/releases/#psd-variables

Ignored, so I am closing this.


Got dirty data when use multi-thread test

[√] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description
I run Seata 0.8.1 with zookeeper and dubbo. When I use multi-thread to call the business service, I got dirty data in the undo_log and cannot rollback.
Ⅱ. Describe what happened
The business test code is like below:
ExecutorService executorService = Executors.newFixedThreadPool(8);
for (int i = 0; i < 1000; i++) {
    executorService.submit(() -> {
           business.purchase("U100001", "C00321", 1, isRollback());
    });
}

The isRollback() function is something like:
boolean isRollback() {
    int r = ThreadLocalRandom.current().nextInt(100);
    return r < 10;
}

And the purchase function:
    @Override
    @GlobalTransactional(timeoutMills = 300000, name = "dubbo-demo-tx")
    public void purchase(String userId, String commodityCode, int orderCount, boolean isRollback) {
        LOGGER.info("purchase begin ... xid: " + RootContext.getXID());
        storageService.deduct(commodityCode, orderCount);
        orderService.create(userId, commodityCode, orderCount);
        if (isRollback) {
            throw new RuntimeException("xxx");
        }
    }

If there is an exception, please attach the exception trace:
[INFO ] 2019-09-26 16:45:35,445 method:io.seata.rm.datasource.undo.AbstractUndoExecutor.dataValidationAndGoOn(AbstractUndoExecutor.java:225)
Field not equals, name count, old value 9957, new value 9968
[DEBUG] 2019-09-26 16:45:35,445 method:io.seata.rm.datasource.undo.AbstractUndoExecutor.dataValidationAndGoOn(AbstractUndoExecutor.java:229)
check dirty datas failed, old and new data are not equal,tableName:[storage_tbl],oldRows:[[{"fields":[{"keyType":"PrimaryKey","name":"id","type":4,"value":20},{"keyType":"NULL","name":"count","type":4,"value":9957}]}]],newRows:[[{"fields":[{"keyType":"PrimaryKey","name":"id","type":4,"value":20},{"keyType":"NULL","name":"commodity_code","type":12,"value":"C00321"},{"keyType":"NULL","name":"count","type":4,"value":9968}]}]].
[INFO ] 2019-09-26 16:45:35,449 method:io.seata.rm.datasource.DataSourceManager.branchRollback(DataSourceManager.java:182)
branchRollback failed reason [Branch session rollback failed and try again later xid = <IP_ADDRESS>:8091:2023216781 branchId =<PHONE_NUMBER> Has dirty records when undo.]
[INFO ] 2019-09-26 16:45:35,449 method:io.seata.rm.AbstractRMHandler.doBranchRollback(AbstractRMHandler.java:130)
Branch Rollbacked result: PhaseTwo_RollbackFailed_Retryable

In the undo_log, the record is like this:
{
    before: 3,
    after: 2
},{
    before: 3,
    after: 2
},{
    before: 2,
    after: 1
},{
    before: 3,
    after: 2
},{
    before: 3,
    after: 2
}, {
    before: 2,
    after: 1
}

So, the data is run backwards...
Ⅲ. Describe what you expected to happen
There is no dirty data, and rollback run normally.
Ⅳ. How to reproduce it (as minimally and precisely as possible)

Put business.purchase() into multi-threads, and operate same record, and give it chance to throw exception.

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

JDK version : 1.8
OS : windows
Others: zookeeper and dubbo

Query in storageService needs to be isolated

@zjinlei Thanks for your reply !
As you suggested, I put @Transactional(isolation = xxx) on accountServiceImpl.debit(), orderServiceImpl.create(), and storageServiceImpl.deduct().
And I tested every isolation level: READ_COMMITED, REPEATABLE_READ, SERIALIZABLE.
I found that the dirty data is gone, but another problem occured:
After run businessService.purchase()  in 1000 times, there are some undo_logs in the storage database's undo_log table, which are not deleted by the RM.
When I check the records in the database, I found that the account money's reduction is equals to the order count, which is 30. But the storage's reduction is just not equals to the order count, which is 28.
mysql> use seata_account;
Database changed
mysql> select * from account_tbl;
+----+---------+---------+
| id | user_id | money   |
+----+---------+---------+
| 45 | U100001 |     970 |
+----+---------+---------+
1 rows in set (0.02 sec)
mysql> select * from undo_log;
Empty set

mysql> use seata_order;
Database changed
mysql> select * from order_tbl;
+------+---------+----------------+-------+-------+
| id   | user_id | commodity_code | count | money |
+------+---------+----------------+-------+-------+
| 2810 | U100001 | C00321         |     1 |     1 |
| 2811 | U100001 | C00321         |     1 |     1 |
| 2812 | U100001 | C00321         |     1 |     1 |
| 2813 | U100001 | C00321         |     1 |     1 |
| 2814 | U100001 | C00321         |     1 |     1 |
| 2816 | U100001 | C00321         |     1 |     1 |
| 2817 | U100001 | C00321         |     1 |     1 |
| 2818 | U100001 | C00321         |     1 |     1 |
| 2819 | U100001 | C00321         |     1 |     1 |
| 2820 | U100001 | C00321         |     1 |     1 |
| 2822 | U100001 | C00321         |     1 |     1 |
| 2823 | U100001 | C00321         |     1 |     1 |
| 2824 | U100001 | C00321         |     1 |     1 |
| 2825 | U100001 | C00321         |     1 |     1 |
| 2826 | U100001 | C00321         |     1 |     1 |
| 2827 | U100001 | C00321         |     1 |     1 |
| 2828 | U100001 | C00321         |     1 |     1 |
| 2829 | U100001 | C00321         |     1 |     1 |
| 2830 | U100001 | C00321         |     1 |     1 |
| 2831 | U100001 | C00321         |     1 |     1 |
| 2832 | U100001 | C00321         |     1 |     1 |
| 2833 | U100001 | C00321         |     1 |     1 |
| 2834 | U100001 | C00321         |     1 |     1 |
| 2835 | U100001 | C00321         |     1 |     1 |
| 2836 | U100001 | C00321         |     1 |     1 |
| 2837 | U100001 | C00321         |     1 |     1 |
| 2839 | U100001 | C00321         |     1 |     1 |
| 2840 | U100001 | C00321         |     1 |     1 |
| 2841 | U100001 | C00321         |     1 |     1 |
| 2843 | U100001 | C00321         |     1 |     1 |
+------+---------+----------------+-------+-------+
30 rows in set (0.04 sec)

mysql> select * from undo_log;
Empty set

mysql> use seata_storage;
Database changed
mysql> select * from storage_tbl;
+----+----------------+--------+
| id | commodity_code | count  |
+----+----------------+--------+
| 20 | C00321         |    972 |
+----+----------------+--------+
1 rows in set (0.03 sec)

mysql> select id,branch_id,xid from undo_log;
+------+------------+---------------------------+
| id   | branch_id  | xid                       |
+------+------------+---------------------------+
| 2756 |<PHONE_NUMBER> | <IP_ADDRESS>:8091:2023295211 |
| 2757 |<PHONE_NUMBER> | <IP_ADDRESS>:8091:2023295365 |
| 2767 |<PHONE_NUMBER> | <IP_ADDRESS>:8091:2023296478 |
| 2765 |<PHONE_NUMBER> | <IP_ADDRESS>:8091:2023296600 |
| 2766 |<PHONE_NUMBER> | <IP_ADDRESS>:8091:2023296608 |
| 2768 |<PHONE_NUMBER> | <IP_ADDRESS>:8091:2023296620 |
| 2769 |<PHONE_NUMBER> | <IP_ADDRESS>:8091:2023296730 |
| 2770 |<PHONE_NUMBER> | <IP_ADDRESS>:8091:2023296737 |
+------+------------+---------------------------+
8 rows in set (0.02 sec)

Any ideas?

Is global transaction isolation, not local transaction isolation.
http://seata.io/zh-cn/docs/overview/what_is_seata.html
keywork: select for update

@zjinlei  Thanks for the quick reply!
After add "select for update" statement on the storage service, there is no error at all!
Now I understand the real mean of "read isolation", thanks again!


Configure coordinates precision

Hi,
Would it be possible to have precision as a parameter for the methods encode() and decode()?
For example:
https://github.com/hicsail/polyline/blob/master/polyline/codec.py#L39
For map data 6 digits precision is quite common:
https://en.wikipedia.org/wiki/Decimal_degrees#Precision
BTW, I could create a merge request, please let me know.
Thanks,
Pavel

Hi,
According to the algorithm description it assumes  a precision of 5 decimal places. Can you bring an example, where precision matters? I will appreciate a test case that demonstrates the issue.
Thanks.
Vahan

Hi,
Thank you so much for the quick reply!
Yes, you're right, the google polyline algorithm does not mention anything about 6 digits precision, but some map data (e.g. OSM), do have cm accuracy, and for some use cases such as precise localization this accuracy is important.
As an example, you can have a look at pretty much all Valhalla APIs (search for the keyword "polyline"):

Valhalla Elevation Service
Valhalla Routing Service

Valhalla APIs provide polyline with either 5-digit or 6-digit precision, for the 6-digit precision your library won't be able to decode them correctly since precision always defaults to 5-digits, and cannot be adjusted by a client without changing the source code.
Thanks,
Pavel

Hi Pavel,
Thank you for details. I have several points that speak rather against making the precision configurable. Here they are:

The library is designed to strictly conform Google Encoded Polyline Algorithm Format algorithm. It's not guarantied that that the library will correctly decode strings that encoded by other libraries;
Precision of more than five decimal digits hardly make sense as there are no such maps with centimeters precision. At least, I never so such a real world map,
Increasing precision not always lead to increasing the accuracy,
Having configurable precision may lead to errors, because coordinate may be encoded with one precision and decoded with another. The encoded strings don't contain information about the precision.

Thus I prefer to preserve the current approach and use the constant precision of five decimal places, as specified.

Hi Vahan,
Just a few remark to your points:

You could always default to 5-digits precision, thus strictly conform to the google specification (e.g. encode=5).
There are maps with centimeters precision, please have a look at HD Maps, data collection for those maps is done with Lidar sensors, and differential GPS.
True, depends on the data
The client should be aware of the polyline is trying to encode/decode, I do agree is not ideal, and should be part of the format.

Anyways, thank you for taking the time to reply.
Best regards,
Pavel

Hi Pavel,
Thank you for more details. They make sense. I decided to reopen this issue to work on.
Cheers,
Vahan

Awesome, thanks! 😄


[flags] Default value as defined ?

Hi,
I'm wrapper a wrapper around different sources for key/value pair and there's one problem I stumbled upon playing with cli.
When I defined a default value on a flag, and then call IsSet(key) on the context, it always return true.
Is this intended ? Is there a way to know if somebody actually wrote the flag on the command line instead of just taking the default value ?
I would have expected this behavior instead:

returns false if the key has not been defined on the command line (at all) , even with default values
returns the default value when retrieving the value if the flag has not been written down on the command line by the user.

Nitpick aside, I think it's a very good framework, keep up the good work !
Nicolas

Hi @nikkolasg!
It is not intentional that IsSet() returns true for flags that have a default value (as all flags technically have a default value even if not explicitly set), could you provide an example failure case?

Well, reading up on your answer one week after the fact, I re-read my code with a fresh mind and ... discovered this behavior is due to a bug of mine -_-"
Sorry for the false positive ;)
Nicolas


[Compiler Test] Fix inline test

Each test needs to at least talk to the runtime at least once so the compiler/runtime are connected and the compiler can send the runtime shutdown message.

Pull Request Test Coverage Report for Build 533995449

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 67.198%

Totals

Change from base Build 529445229:
0.0%

Covered Lines:
26972

Relevant Lines:
40138

💛  - Coveralls


Fix panic when user inputs single dash in sort

Fixes panic crash when user inputs single dash in sort field. It will still return an error, just not kill the entire application

@scheibling - thanks! Nice fix... I'll merge and prepare a release momentarily.


Symbol values for action.type breaks apps when the redux-logger enabled

Problem
The following code breaks apps when the redux-logger is simply enabled with a default configuration.
let action = {type: Symbol('RANDOM_ACTION_TYPE')}

This kind of stuff should work out of the box, because as a developer I don't expect any dependency I choose to use to break my existing code. Especially when it comes to logging.
Think about it: console.log(Symbol()) - works no problem, I do not have to convert a symbol to a string myself or use any sort of recipe.
Workaround
There is a "solution" offered by a recipe:
import createLogger from 'redux-logger';

const logger = createLogger({
  actionTransformer: (action) => ({
    ...action,
    type: String(action.type),
  })
});

Real solution
The real solution is to forcefully convert ANY type of data to a string when logging.

Fixed in 2.8.1


Fix: always reset static profiling IDs

As mentioned by @naveen-pcs in #645, there was a new crash with this sort of error in 3701:
[split_config.arm64_v8a.apk!libcorona.so] Rtt_Profiling.cpp - Rtt::Profiling::EntryRAII::EntryRAII(Rtt::ProfilingState&, int&, char const*)
This seemed to be consistent with a profile entry not being allocated, as if the ID were invalid in that part of the code. This was odd, since when the ID was None it just adds a slot to the array, the code seems to generally just work otherwise, and the device reports didn't seem to indicate any memory problems.
By a total fluke—while trying to figure out something else—I stumbled on this comment, and in particular niko20's point here.
That sounds right on target. These static IDs are new with the recent changes, and if they survived a new launch they would refer to bogus spots in the profiling list.
I had logic to update one "simulator run" value in the profiling state, if it was in simulator, that would make IDs None on first use, since the simulator run would differ from a "master" value. I've now changed it to just do that unconditionally.
It actually looks like the "master" value would be more generally useful (for instance in some audio fixes, rather than comparing pointers across threads), so I moved it out of the profiling state into Runtime, as GetGenerationID().

After looking into an error that arose with build 3701 I see that Mac's relaunch mechanics are hard to square with static variables at all. While away from the computer I realized this would be pretty easy to refactor and I now have something that seems to work just fine on Mac.
In light of that Mac behavior I might have to reconsider the aforementioned generation ID as well.


Attribute Validation

Is your feature request related to a problem? Please describe.
There should be the possibility to implement a validation to fields with max/min length on database
Describe the solution you'd like
Add a field to metadata with some validations. simple validations as max_length and min_length could be pre-implemented and more complex validations could be added as function references in the validation metadata tag.
Describe alternatives you've considered
The __setattr__ function can be overridden and can implement any validations needed.
Additional context
https://python-reference.readthedocs.io/en/latest/docs/dunderattr/setattr.html

Not stale

Not Stale

Not stale

Ongoing


"Executing 14 of 14"

When running the app in Docker, the page does not load. Instead, it seems stuck on the following page:

The materialscloud template a simply be removed for the moment. We will put it back later.


Improve back button style

Wouldn't it make sense to also use the dialogBackButton in the template to keep it DRY?

It would


[Feature Request] Jackson JSON library

From #74
make json lib configurable or change to jackson library

ClientBuilder#objectMapper(ObjectMapper objectMapper) allows to configure ObjectMapper


Agent Versions are not upto date

[Enter feedback here]
The current version of 1.0.5555.1200 however this page has old versions and not upto date

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

ID: 3cb10266-d3ca-31b1-31a0-bd4952e6736b
Version Independent ID: 9adcd5ff-db9f-44f9-27f6-7c689839267b
Content: What's new in the Azure Virtual Desktop Agent? - Azure
Content Source: articles/virtual-desktop/whats-new-agent.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

@askaresh
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@Heidilohr
Can you please check and add your comments on this doc update request as applicable.

This is now available.
#please-close


Taking screenshot from ASTRA pro camera and saving it in folder

I'm trying to take an image from the astra pro camera by using a voice command "capture". It takes the image and saves it in a folder in my ~/home/mxhra/FacialRecognition_Testing. Currently, I am able to take an image using the webcam and saving it to a folder to conduct facial recognition on the image, then removing the folder (to make it empty) and creating the same folder again (so there won't be more than 1 image in the folder at a time) using the following steps (which I have already fed into a python file, when the voice recognition hears the word "capture" it will do the following):
fswebcam -r 640x480 --jpeg 85 -D 1 --no-banner /home/mxhra/FacialRecognition_Testing/image.jpg
face_recognition ./FacialRecognition_Database/ ./FacialRecognition_Testing/
rm -r FacialRecognition_Testing
mkdir FacialRecognition_Testing
I would like to do the same thing but using an astra pro camera, which I have already created a workspace for and installed usb_cam to view the rgb-d output of the camera in RVIZ, please let me know if you can assist me in this.
I am using Linux Ubuntu 16.04 (Xenial) with ROS Kinetic.

I don't see how this is related to rviz. Please post your question at https://answers.ros.org.


experimental/fast_lossless doesn't anon-namespace its BitWriter

I can't combine libjxl/experimental/fast_lossless and the github.com/veluca93/fpnge encoder code in the same program (e.g. to compare the two encoders' speeds), because both fjxl and fpnge declare struct BitWriter in the top-level namespace, with the same name (and both have a Write(uint32_t, uint64_t) method) but different field layout (see links below). Linking both of them leads to a crash, presumably because the fjxl code mistakenly calls the fpnge BitWriter or vice versa.

https://github.com/libjxl/libjxl/blob/506714edaa3dd670133b9fe094d5efb94f6d0f6e/experimental/fast_lossless/fast_lossless.cc#L46
https://github.com/veluca93/fpnge/blob/48020025e197318ab3c695903a4577e3d9565ddb/fpnge.cc#L374

I believe one solution would be to wrap a C++ "anonymous namespace" around all of fast_lossless.cc code except for the final FastLosslessEncode function.
@veluca93

Speaking of fast_lossless.cc, it also has an unconditional:
#pragma omp parallel for

When I compile with g++ -Wall, this triggers -Wunknown-pragmas and -Wsign-compare warnings:
$ g++ -Wall fast_lossless.cc -o /dev/null
fast_lossless.cc:1300: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 1300 | #pragma omp parallel for
etc etc etc (several -Wsign-compare warnings)

Adding an anonymous namespace SGTM, could you send a PR?


Not able to decode

Hi,
I am trying to fit my own model in this app. When I speak into the app, it extracts & prints the MFCC features, but crashes afterwards giving the following error:
04-03 12:56:16.754 24654-24815/org.tensorflow.demo E/TensorFlowInferenceInterface: Failed to run TensorFlow inference with inputs:[SeqLen], outputs:[SparseToDense]
--------- beginning of crash
04-03 12:56:16.755 24654-24815/org.tensorflow.demo E/AndroidRuntime: FATAL EXCEPTION: Thread-7556
Process: org.tensorflow.demo, PID: 24654
java.lang.IllegalArgumentException: Expects arg[0] to be int32 but float is provided
at org.tensorflow.Session.run(Native Method)
at org.tensorflow.Session.access$100(Session.java:48)
at org.tensorflow.Session$Runner.runHelper(Session.java:314)
at org.tensorflow.Session$Runner.run(Session.java:264)
at org.tensorflow.contrib.android.TensorFlowInferenceInterface.run(TensorFlowInferenceInterface.java:228)
at org.tensorflow.contrib.android.TensorFlowInferenceInterface.run(TensorFlowInferenceInterface.java:197)
at org.tensorflow.contrib.android.TensorFlowInferenceInterface.run(TensorFlowInferenceInterface.java:187)
at org.tensorflow.demo.SpeechActivity.recognize(SpeechActivity.java:229)
at org.tensorflow.demo.SpeechActivity.access$100(SpeechActivity.java:48)
at org.tensorflow.demo.SpeechActivity$3.run(SpeechActivity.java:193)
at java.lang.Thread.run(Thread.java:818)
Can someone please help me fix this? I'm not able to understand where that arg[0] is pointing too.
If anyone has a solution, please do share. Thanks in advance.

This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there.
If you think we've misinterpreted a bug, please comment again with a clear explanation, as well as all of the information requested in the issue template. Thanks!


Check remainder < divisor in small field div machine

Ref https://github.com/powdr-labs/powdr/pull/1790#discussion_r1787446690

In both the large and the small arith machine (and polygon zkevm) this check is enforced by the caller. We should use a comparison machine to enforce this, not the arith machine. Of course, the arith machine could call a comparison machine...

This is indeed already enforced by the riscv bb machine, but @georgwiese suggested the div machine should do it.


Detect and auto-link URLs in archive captions

Captions on archived items often contain URLs. It would be nice if they could be auto-linked.

Discussion: Is this a bad idea?
Implementation: This SO thread mentions some simple ways (e.g., URI.extract) but implies it fails on some common edge cases, so the postrank-uri gem is suggested as safer.

A huge stretch goal: also detecting @-usernames and #-tags and generating platform-specific links for them. But… no. 🙃


Grouped Updates release notes

One thing I like most about depfu's pull requests is the instant access to the release notes. The Pull Request of grouped updates only gives a link to the changelog 😢
At least that's what I have seen for grouping of dev and indirect dependencies

Hi @klyonrad 👋
Yeah, the problem is that we're hitting the limit of a pull request body if there are too many packages. I'm working on showing all the details if it fits, but not sure we can show it in all cases.


Guys, pls answer me! WHY DO I GOT BAN FROM THE SERVER?

What is your question?
Yea, why???

It could've been of this

NOT AGAIN...
    Hold off for a bit.

Give me link discord server psych engine

NOT AGAIN...

NOT AGAIN... ALSO HOW ARE YOU GUYS WHO IS ME IN THE DISCORD???`

 maybe cuz of your profile

I KNEW IT…

if you knew then why ask?


Inline query variable default value not used

Describe the bug
When I run a query whereby the field accepts a non-nullable argument (e.g. id: ID! or slug: String!) and the query defines an inline variable definition like soquery someQuery($id: ID = "123"), that default value of "123" isn't being used.
I believe this is the relevant part of the spec here:
http://spec.graphql.org/draft/#sec-Coercing-Variable-Values
Here's an example of the same situation working against GitHub's graph api explorer.
query getRepo($name: String = "HotChocolate", $owner: String = "ChilliCream") {
  repository(name:$name, owner: $owner) {
    name
  }
}

Note that both of those arguments are typed as String!, but the inline variable declarations are String (because if it was $name: String! you couldn't then pass the default value of "HotChocolate".
On HotChocolate, a similar query fails with:
{
  "errors": [
    {
      "message": "Unexpected Execution Error",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "foo"
      ],
      "extensions": {
        "message": "A non null type cannot parse null value literals. (Parameter 'literal')",
        "stackTrace": "   at HotChocolate.Types.NonNullType.ParseLiteral(IValueNode literal)\n   at HotChocolate.Types.NonNamedType.HotChocolate.Types.IInputType.ParseLiteral(IValueNode literal)\n   at HotChocolate.Execution.ResolverContext.CoerceArgumentValue[T](String name, ArgumentValue argumentValue)\n   at HotChocolate.Execution.ResolverContext.Argument[T](NameString name)\n   at HotChocolate.Execution.DirectiveContext.Argument[T](NameString name)\n   at lambda_method(Closure , IResolverContext )\n   at HotChocolate.Types.FieldMiddlewareCompiler.<>c__DisplayClass3_0.<<CreateResolverMiddleware>b__0>d.MoveNext()\n--- End of stack trace from previous location where exception was thrown ---\n   at HotChocolate.Types.Relay.ConnectionMiddleware`2.InvokeAsync(IMiddlewareContext context, IConnectionResolver`1 connectionResolver)\n   at HotChocolate.AspNetCore.Authorization.AuthorizeMiddleware.InvokeAsync(IDirectiveContext context)\n   at HotChocolate.Execution.ExecutionStrategyBase.ExecuteMiddlewareAsync(ResolverContext resolverContext, IErrorHandler errorHandler)",
        "remote": "HotChocolate.Error",
        "schemaName": "FooBarSchema",
        "remote_code": null
      }
    }
  ]
}

To Reproduce
Define a field like:
userById(id: ID!) # see how this is non-nullable
Define a query like:
query userById($id: ID = "111") { # see how $id is nullable
  userById(id: $id) { ... }
}

Try execute it.
Expected behavior
As in the GitHub example, I'd expect that the default values get utilised.
Whether the is the way to correctly define a query in another question. A query like this (with null as $name) seems to be allowed to execute in the Playground (maybe cuz we're on an old version?):
query getRepo($name: String = null, $owner: String = "ChilliCream") {
  repository(name:$name, owner: $owner) {
    name
  }
}

In GitHub's explorer api using GraphiQL, the graphiql UI warns it's invalid, but submission is allowed and it sends to the server.
I've asked our FEDs if this is Relay forming queries like this or them, so we'll see what they say.
Desktop (please complete the following information):

OS: Win 10 latest
Version 10.5.2

Additional context
Add any other context about the problem here.

FEDs have confirmed that it's them defining queries like this, so they can workaround it by defining them more tightly.
That lowers the priority on this significantly, but it's probably still a good one to resolve at some point since either HC isn't to spec, or GitHub is supporting this out-of-spec.
Certainly a fun one :P


[Feature Request]

Would it be possible to "unroll" the circular GCD wheel into a width-adjustable castbar?
Thanks, no worries if you don't have time/don't think it's worth it.

Sure! that sounds like a good idea.
I'm still exposing the configuration options, but is something like this what you are looking for?
(Wheel added just for comparison purposes.)
https://github.com/CaiClone/GCDTracker/assets/10381832/9a0da4f5-b8fc-4a7c-8a2e-dda959f91ae2

Sure! that sounds like a good idea. I'm still exposing the configuration options, but is something like this what you are looking for? (Wheel added just for comparison purposes.)
2024-07-07.13-16-07.mp4

Looks great!  Is it height/width adjustable?  I think I want to occupy the same space as my delvui castbar (for hard casts) and then instant casts will use GCDTracker.  All in the same spot!

Done!
You should be able to find it in the new v<IP_ADDRESS> that just released. It will be under a new tab called GCDBar that you will have to enable. Yes, you can change the size manually by resizing the windows and you can fine tune it with the width and height ratios if you want some more extreme configurations. Hope it's good and clear.
I'll leave this open for some days in case there is any issue/feedback with the Bar, otherwise enjoy Dawntrail!

Works really well -- the only things I might change would be:

I might like to have an option to show the bar only when the GCD is rolling (as in, not hidden/shown based on combat, but based on if my GCD clock is ticking (aka show only right after I cast a spell).  Maybe stay up for a few moments in "red" mode if I clip afterwards.  This is super low priority, it works great as is.  Just maybe makes it behave more like a regular "castbar"
It might be nice to have a checkbox to disable the part of the red "clipping" that extends past the end of the bar, for cases where there is another UI element placed just to the right of the bar.  I think this represents the animation lock of whatever clipped you extending past the end of the GCD window?  But it's not strictly necessary if the whole bar turns red anyway.

Both of those are super minor suggestions.  I'm totally 120% chuffed with how it is without those changes.
Thanks!

The more I think about it, the more I realize that the clip bleeding past the end of the bar is just a bug.  It makes sense on the circular meter because it "wraps" around by nature of the end of the circle being the same point as the beginning.  But on a bar, the ends are no longer connected, so it just "overflows" into empty space.
I'm not sure if it's better to just clamp the clipped animation lock to the end of the bar, or to try to draw a second rectangle onto the next oGCD.  That's complicated by not knowing if/when another spell will be cast.

Yeah, that wasn't as hard to implement as I though it would be, definitely looks better when nothing leaves the bar with "Roll GCDs" on.
https://github.com/CaiClone/GCDTracker/assets/10381832/b6d4c37d-ff23-4dec-b38a-af5076a3cab8
Do tell if this is not what you meant.

Looks great.  I'll give it a try tonight to see it in the actual game.

It's still not released, yet! I am finishing a couple more asks and will release it with <IP_ADDRESS>.

I played for about 4 hours last night.  Seemed to work perfectly.  Thanks a bunch!

Just playing with the only show while GCD is running option.  Love it, that makes it 100% perfect for what I'm using it for.  Thanks so much!

Small bug/issue:  I noticed that the clip'd portion of the bar is actually over the borders:

Closing this as feature was implemented and conversation about follow up work moved to #13


[ERROR]: Code 3

Program version
4.4.3
Operating System
Windows
Type
GUI
Service
Hidive
Command used
GUI search function
Show ID
All
Episode
All
Console Output
[ERROR] Code 3 (Error): No connection is active/available to service this operation: EXPIRE <IP_ADDRESS>-2402061619/Global_ByBuild_User_ContinueViews/2437263/26787, mc: 1/1/0, mgr: 10 of 10 available, clientName: IP-AC13031D, IOCP: (Busy=2,Free=998,Min=100,Max=1000), WORKER: (Busy=348,Free=32419,Min=200,Max=32767), v: <IP_ADDRESS>891

[ERROR] Search FAILED!

Additional Information
Downloaded was working fine up until partway through my downloads when the console exited itself. Upon restarting and trying to search for and restart the remaining episodes I am faced with this error each time. Have tried searching for multiple different shows and with VPN both and and off.

Closed as resolved by deleting the GUI folder and redownloading/starting fresh.


Rework examples

This set of commits are mostly cosmetics. Mostly:

factorize code common to both examples in a file utils.js
reduce cosmetics difference between inspect.js and verify.js so that the two files are easy to compare.

The one notable commit is e3c4fa176a6cb2ee2fe0de33b0cbf5cfe06ef270. This commit updates the code of readPrimaryGPT() according to the README which was updated lately.

Neat, thanks!


HGNC.FAMILY:1212 gone

The old graph had an HGNC gene family https://www.genenames.org/data/genegroup/#!/group/1212
The node-normalizer recognizes it, but it's no longer int the new KG.

Once this is resolved, remember to turn on the associated tests in Answer Coalesence that are failing b/c of the missing gene families

Hi @cbizon, @PhillipsOwen  has turned the answer coalesence back on and while running that he was detecting some nodes that were not normalized. I think running MATCH (c:named_thing) where labels(c)=['named_thing'] return collect(c.id)  against robokopdb2.renci.org:7474 would give those nodes. But I think this issue is now ok.


Operation mode without installationId

it's not entirely clear what functionality would be lost, but it would be good to operate without a limitation like this. The oauth stuff is a github app that allows someone to send out a link, install the app, and off they go - all without an installation ID.
It seemed to work like this two years ago, but I can believe things have changed.

This will land in #85


dep: Name clash with PHP Deployer [No Bug]

Not a bug, just want to leave the information here that PHP Deployer (https://deployer.org/docs/installation) is also using dep as global command name.
So if you're into Go AND PHP at the same time you might get a problem.

yeah, this has been raised in the past. of course, nothin to really do about it now, unfortunately 😢


Problems upgrading 2.2.4 -> 2.6.0

I am porting a complex program to a new environment and (unsurprisingly) nothing works anymore.
First of all I had to move from signxml-2.2.4 to signxml-2.6.0 because the old version is not installable anymore ("build/temp.linux-x86_64-3.7/_openssl.c:813:23: error: conflicting types for ‘ASN1_TIME_to_generalizedtime’").
Using the new version I get a resulting (signed) XML with empty X509Data (i.e.: ... <ds:KeyInfo><ds:X509Data/></ds:KeyInfo>...), which is rejected upstream.
In old version I had the normal ... <ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIIE...</ds:X509Certificate></ds:X509Data></ds:KeyInfo> ...
I am not 100% sure I didn't goof somewhere (signxml was definitely not the only change), but I did my best to ensure call is done with the same content (function itself was not modified).
Signing is done with:
def sign(xml, cer, key):
    import signxml
    root = etree.fromstring(xml.encode('utf8'))
    signer = signxml.XMLSigner(c14n_algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315')
    signed = signer.sign(root, key=key, cert=cer)
    data = etree.tostring(signed, encoding='UTF-8', xml_declaration=True, standalone=False)
    return data

and I made sure parameters match "old":
xml is well-formed
cer -> b'MIIF...sQ=='
key -> b'-----BEGIN PRIVATE KEY-----\nMIIEv...3aPSs\n-----END PRIVATE KEY-----\n'
What am I doing so wrong?
If needed I can post a complete example of the new version, but I cannot do the same for the old.

Found.
Certificate needs the PEM header ('-----BEGIN CERTIFICATE-----' ... '-----END CERTIFICATE-----').
I am almost sure previous version didn't need it.
It doesn't matter, anyhow.
I will close and leave it here if someone needs this.
Regards


Retired images being served when plenty of unretired images remain

@camallen, @aliburchard
A few users have brought up that they are seeing retired cropped images (workflow 9) in Whales as Individuals -- https://www.zooniverse.org/projects/tedcheese/whales-as-individuals/
See talk, from Dec 2 onward: https://www.zooniverse.org/projects/tedcheese/whales-as-individuals/talk/27/668?comment=40079&page=1
According to a subject export yesterday, the 'combined cascadia training set' this workflow applies to still has 2743 remain un-retired images out of 7388 total images.
I'll add screenshots from volunteers when possible.
Thanks ~ Ted

Here's a couple screen shots from volunteer (and moderator) elisabethb. She sent a bunch more, largely more of the same, and said, "I clicked on ten images (more or less) and all of the uncropped images were 'already seen/retired'."

Hi @tedcheese, most likely the users are power users that have seen all the images. If they have seen it we won't show it to them again and they may have only not seen retired subjects. Can you get some user names / ids and i'll check.

@camallen I'm sorry I have to disagree with you. I didn't classify that much (less than 200) but I am one of those experiencing the issue while classifying uncropped images.

@camallen, apologies, this is workflow 84, not workflow 9. I was thinking exactly what you've said, but as of 12/2 there were still 114 images in workflow 84 that had no classifications. Users are: yshish -- but as we see from the above comment this is not the case there, elisabethb and Anitavdk.
Could it be that there's a problem with some of the subject sets? There are still > 1800 unretired images

I'll have a look tomorrow.

@tedcheese @yshish - yep there was a problem. The workflow was marked as finished as it's retired counts were off from an earlier bug with early retirements (multiple counting on incoming classifications). I've reset the counts and un-finished your workflow so data should be flowing properly again.

Thanks, @camallen I've just tried it and received an uncropped image to classify with no retired flag.

@yshish good news! Note: the issue may really be happening for power users though.

@camallen we've seen this issue now once again, with workflow [9], where there are a few unretired images yet I and others are only getting retired images served up for https://www.zooniverse.org/projects/tedcheese/whales-as-individuals/classify. I'd really like to complete the classification of workflow [9], since they are almost done. The suggestion above that power users have classified all images might apply to a few but I myself am only getting retired images and certainly I haven't classified all. Thanks

could this be an issue where peoples' queues are built before the images are retired, but by the time they get to an individual image, it may have already been retired?

same issue as here but for workflow 9 this time. https://github.com/zooniverse/Panoptes/issues/1531#issuecomment-162008097 we'll get it fixed soon.

@tedcheese looks like it's the same issue as was happening on workflow 84 above, but is now happening on workflow 9. We* should be able to get this sorted today.
*We = our wonderful backend devs @camallen or maybe @marten -- I'm just trying to understand what's going on!

yay thanks for being on it!

I'll pick this up tomorrow.

@tedcheese I've reset the counts on workflow 9, could you double check that it's resolved?

Brilliant, looks good, thank you :)


Android Tag Settings - More info

Description:
Unify Tag Settings / more info with iOS
iOS More Info includes:
More info popup (depending on fw version)
UUID
MAC Address
Data Format
Data Received Via
Battery Voltage
Acceleration X
Acceleration Y
Acceleration Z
Tx Power
Movement Counter
Measurement Seq Number

I'd like to suggest listing MAC, data format and Tx Power last since they are (more or less) static and data format is only useful for development.
I'd also suggest omitting UUID since it is rather meaningless to the users and is not even consistant.

Didn't add UUID since it iOS specific

Looks like values are not updating live on sensor settings screen but they are updated every time user accesses this screen. I think this is fine.
QA passed

Actually, they should update. Reopening this.

Now counters updating. Moving to done


Some translations aren't properly downloaded

Currently, it seems like that some languages aren’t properly downloaded. One example would be SwagCommercial’s Storefront translations e.g. in dutch, but there’s multiple.
As you can see iun the screenshot, some languages have not been translated for 7 months (I guess this is when we introduced the new language tooling?). We have to investigate and fix this

[public] Shopware automated response: This issue is linked to the internal issue: LAN-185
[created from LAN-185, comment 518423]


Swap back to the text input (no results) when I click elsewhere on the page

As a user
I need the autocompler results to go away when I click away from the input box and results
because I want to see what's under the results if it's a long list if I accidentally picked the wrong field

Hey @williamv,
I just worked on something similar.
Around line 86, add a blur event on the elmInputBox:

elmInputBox.bind('blur', onInputBoxLeave);

Then, somewhere else (e.g after onInputBoxClick) I simply added:
function onInputBoxLeave(e) {
	hideAutoComplete();
}

I also changed something within hideAutoComplete() so that if you accidentally tab/click out, then click back in it doesn't clear your search results list:
function hideAutoComplete() {
	elmActiveAutoCompleteItem = null;

	// Don't clear the list, simply hide it
	elmAutocompleteList.hide();
}

Then within onInputBoxClick I simply added a check to see if there are any current results, then reshow the autosuggest:
function onInputBoxClick(e) {

	// Check if there are autosuggests visible and reshow them (in case they click out and back in)
	if (elmAutocompleteList.find("li").length > 0) {
		elmAutocompleteList.show();
	}
	resetBuffer();
}

Cheers

Duplicate of https://github.com/podio/jquery-mentions-input/issues/4


As an insurance agent I can delete client meetings

...so that I can remove meetings that are canceled

Duplicate issue


chore: change peer dependency range

Summary
Changed version range of peer dependencies so it can be used in newer version of react native

Test plan

Thanks!


Closed position remains in Closing

When closing a position off-chain the position on the coordinator side remains in Closing and the following error message is printed:
{"timestamp":"2024-03-04T06:31:43.553790864Z","level":"ERROR","fields":{"message":"Failed to process DLC message: Can't close position as contract is not closed.","from":"022b4974acc5463dc4077bc4a028bed3163c3472c97fa542aef0cd9c86593533e7","kind":"ChannelSettleFinalize"},"target":"coordinator::node"}
{"timestamp":"2024-03-04T06:31:43.550611872Z","level":"ERROR","fields":{"message":"Can't close position as contract is not closed.","trader_id":"022b4974acc5463dc4077bc4a028bed3163c3472c97fa542aef0cd9c86593533e7","protocol_id":"ProtocolId(8a58e6eb-76f1-454c-abd1-8e2f0d63e284)"},"target":"coordinator::node"}

How to reproduce:

open new app
fund wallet
open position
generate blocks manually and wait for being able to close position
close position
check coordinator DB

Reproduce locally and on our regtest setup with node id: 022b4974acc5463dc4077bc4a028bed3163c3472c97fa542aef0cd9c86593533e7

the dlc contract seems to be settled:
{
  "dlc_channel_id": "d4cfadc1b0442ca3cdb1dbafa8e20ddae7543a6e2ccd8387ac524fbc6ef1815f",
  "counter_party": "022b4974acc5463dc4077bc4a028bed3163c3472c97fa542aef0cd9c86593533e7",
  "channel_state": "Signed",
  "signed_channel_state": "Settled",
  "update_idx":<PHONE_NUMBER>10654,
  "fee_rate_per_vb": 3,
  "funding_txid": "885f04881e6cdc214dbd32df69fd8a2a2d1fef037d83f4c9d4821a73916fedf1",
  "funding_tx_vout": 2,
  "closing_txid": null,
  "user_email": "",
  "user_registration_timestamp": "2024-03-04T06:26:24.003559Z"
}


Upgraded spring boot version from 2.3.12.Release to 2.5.10, but API gateway is not able to register the service

Getting Java.lang.NoSuchMethodError: 'com.google.common.base.Objects$ToStringHelper com.google.common.base.Objects.toStringHelper(Java.lang.Object)
Using below versions of dependencies in pom.xml
Spring boot version - 2.5.10
Spring cloud version - 20.0.5
Guava version - 30.0-jre
(For more info please find the below link: Getting same issue for me too: - https://stackoverflow.com/questions/68956756/springboot-upgrade)
When I keep guava version as 20.0, spring boot version is 2.3.12Release and spring cloud version is Hoxton.SR9 I can able to run the application. But now I can't able to run the application. Please help me to resolve the issue.

Hello, @saitejachintalapudi - is the issue with Spring Cloud Netflix or Spring Cloud Gateway? In either case, we do not have Guava as a direct dependency, but it might be brought in as a transitive dependency from Netflix Eureka Client and GRPC.

Hello @OlgaMaciaszek, The issue is with Spring cloud Netflix. When I upgraded the spring boot version from 2.3.12.Release to 2.5.10, Application is not running, after finding Netflix - zuul is getting the issue. (https://stackoverflow.com/questions/68956756/springboot-upgrade) this link has more information about the issue what I'm facing.  If you got the issue please help me to resolve it.

@saitejachintalapudi Spring Cloud Netflix Zuul is no longer supported. We recommend switching to Spring Cloud Gateway instead.


drivers: Change the location of the board specific driver's configuration option.

Summary
Move the configuration to select a board specific drive folder to the common driver/Kconfig file.
Impact
We don't need to add that config for every boards/drivers we (will) have.
Testing
Spresense configs and some custom board configs.

I though we could also remove the dummy folder link and source the platform/Kconfig only if SPECIFIC_DRIVER is selected, but apprently we can't do this:
if SPECIFIC_DRIVER
source platform/Kconfig
endif

Is that true?


[ISSUE] Resume consistent Font size for Experience

Describe the bug
The resume's font size must be consistent. Currently, Experience font sizes are big which looks odd.

Unable to change the font size specific to Experience alone. Hence, closing this issue.


Multiple small UI enhancements

The changes are fairly minor, but the diffs are quite big because of the changed markup (e.g. using lists). If you'd like the changes in this PR, I would imagine it would be easiest to pull locally and click around.

A lot of great changes. I will need a bit to go through them all. I will get back to you tomorrow. 😊

Now I've reviewed it. I think it was a lot of small good changes. I especially like the places where you use semantic tags and that you made the transition faster. It really is a lot snappier now.


Enddat 248

Created a leaftlet select control and used this to implement filtering on the selected variable kind. The state of this filter is saved in the selectedVarKind in the workflow state model. The ByVariableTypeLayerView listens for changes of this property and updates the displayed sites for just this variable kind. Added a popup for each displayed site that contains a checkbox which can be used to select/unselect the variable.

Good to go. :+1:


Escape "$file" in the warning message.

Fix https://github.com/fisherman/fisherman/issues/389

Thanks @igrep!


New package: Deskflow.Deskflow(64-bit) version <IP_ADDRESS>

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@nicola02nb it would probably be better to use the stable 1.17.0 tag instead of the continuous one

@nicola02nb it would probably be better to use the stable 1.17.0 tag instead of the continuous one

Yeah, probably it's better to do like you sayed... I'll make some changes soon

Closed to edit package ID

New PR #186364


Minestom Command Support.

Fairly self-explanatory, but support for the Minestom Software.
https://github.com/Minestom/Minestom

I'll leave this issue open in case any progress is made here.

Implemented in https://github.com/Revxrsal/Lamp/commit/50463c138e3cab419ad579ef47fbcd3185266abb. Looks stable and usable for me, though it may need more thorough testing, as I have little experience in Minestom and can't go through the trouble of recreating a Minecraft server from scratch 😅
Should you encounter any issues, please open separate issues (or PRs) to simplify tracking them.


Why is my position always at the center and cannot be changed

Why is my position always at the center and cannot be changed,

try it: https://github.com/escamoteur/super_tooltip/issues/2