Infer Missing ORCIDs From Co-Authorship

The results of the analysis of resolved DOIs and ORCIDs is written to results.json. The "same" person can still occur with and without ORCID, depending on the available structured metadata at the level of DOI RAs and the completeness of a person's ORCID profile. Still, missing ORCIDs can be inferred by relying on co-authorship.
Let's look at the following example:
  [
    "10.1016/j.fusengdes.2007.07.016",
    "Comparison and analysis of expert and student views on the use of energy scenarios in communication on fusion research",
    [
      [
        "Gunter",
        "Bombaerts",
        null, -> no ORCID given, but can be inferred
        null,
        null
      ],
      [
        "Erik",
        "Laes",
        "0000-0001-6118-4550", -> same co-author
        "orcid",
        null
      ]
    ]
  ]

[
    "10.1016/j.erss.2023.103244",
    "Structuring values and normative frameworks using Schwartz's value theory to map the three tenets of energy justice",
    [
      [
        "Andreas",
        "Spahn",
        "0000-0003-2796-0776",
        "doi",
        null
      ],
      [
        "Gunter",
        "Bombaerts",
        "0000-0002-8006-1617", -> ORCID given
        "doi",
        null
      ],
      [
        "Erik",
        "Laes",
        "0000-0001-6118-4550", -> same co-author
        "doi",
        null
      ]
    ]
  ]

In guess the rule could be something like this:

Search for person profiles without ORCID that match with the name of a person profile with ORCID sharing one
or more more co-authors identified by an ORCID.

testset.json
import json
from typing import Dict, List, Any
import jq
from pid_resolver_lib import parse_resolved_dois_from_json, PublicationInfo, AuthorInfo

def contains_unknown_author(authors: List[AuthorInfo]) -> bool:
    return len(list(filter(lambda auth: auth.orcid is None, authors))) > 0

def make_context(pub: PublicationInfo):
    length = len(pub.authors)
    idx_range = list(range(length))
    #print(idx_range)

    return list(map(lambda idx: [pub.authors[idx], (pub.authors[:idx] + pub.authors[idx+1:]), pub.doi], idx_range))

    #print(authors)

results: Dict[str, PublicationInfo] = parse_resolved_dois_from_json('testset.json')

# find authors with the same name that have an ORCID, sharing some of the same context

pubs: List[PublicationInfo] = list(results.values())

# find authors without an ORCID
#no_orcid: List[PublicationInfo] = list(filter(lambda pub: contains_unknown_author(pub.authors), pubs))

# preserve their context, i.e. their co-authors' ORCIDs
with_context = list(map(make_context, pubs))

print(json.dumps(with_context))

#print(json.dumps(no_orcid))

context.json

simplified version
from typing import Dict, List, Any, NamedTuple
import json
from pid_resolver_lib import parse_resolved_dois_from_json, PublicationInfo, AuthorInfo

class ContextInfo(NamedTuple):
    author: AuthorInfo
    co_authors: List[AuthorInfo]
    doi: str

def make_context(pub: PublicationInfo) -> List[ContextInfo]:
    length = len(pub.authors)
    idx_range = list(range(length))

    # structure:

    # for each author of a publication, return an entry with the author's profile and his co-authors
    return list(map(lambda idx: ContextInfo(pub.authors[idx], (pub.authors[:idx] + pub.authors[idx+1:]), pub.doi), idx_range))

def search_author(given_name: str, family_name: str, with_ctx: List[ContextInfo]):
    return list(filter(lambda ctx: ctx.author.given_name == given_name and ctx.author.family_name == family_name and ctx.author.orcid is not None, with_ctx))

results: Dict[str, PublicationInfo] = parse_resolved_dois_from_json('testset.json')

pubs: List[PublicationInfo] = list(results.values())

#print(pubs)

# preserve their context, i.e. their co-authors
with_context: List[List[ContextInfo]] = list(map(make_context, pubs))

flattened_context: List[ContextInfo] = [item for sublist in with_context for item in sublist]

#print(flattened_context)

for auth_ctx in flattened_context:

    if auth_ctx.author.orcid is None:
        match = search_author(auth_ctx.author.given_name, auth_ctx.author.family_name, flattened_context)

        if len(match) > 0:
            # compare co-authors
            co_author_orcid = set(map(lambda co_author: co_author.orcid, auth_ctx.co_authors))

            common_co_authors = co_author_orcid.intersection(set(map(lambda co_author: co_author.orcid, match[0].co_authors)))
            #print(common_co_authors)

            if len(common_co_authors) > 0:
                # infer author's ORCID
                print(match[0].author.orcid)


[fbgemm] create a new port

What does your PR fix?
There was no port request for this project.
This is one of the 3rd party libraries for the PyTorch project. The PR will be used for future support of the libtorch port.
Which triplets are supported/not supported? Have you updated the CI baseline?
The project's CI only checks Linux. At a glance, the triplet support should be an intersection of asmjit and cpuinfo.
I will update "supports" after more checks.

x64-osx
x64-linux
x64-windows
x86-windows

Does your PR follow the maintainer guide?
The library doesn't have a tag. I snapshoted the source code with "version-string": 2021-02-21

Manifests and CONTROL files

[x] vcpkg format-manifest

Versioning

[x] Follow common conventions for the "version" field
... we use the date that the commit was accessed by you, formatted as YYYY-MM-DD.

So it seems like find_package(PythonInterp REQUIRED) is not available on the CI's Windows environment.

You may use this way to find python3.
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY)
vcpkg_add_to_path(${PYTHON3_PATH})

Note for 0026248
x86-windows
Intrinsic _mm256_extract_epi64 is not available. I'm not a SIMD person so considering disable of x86.
x64-uwp
Seems like asmjit usage needs more update. I will deal with patch for now.

I agree. I will create PR to fbgemm mainstream.
On Tue, Feb 23, 2021, 11:38 AM NancyLi1013<EMAIL_ADDRESS>wrote:

@NancyLi1013 requested changes on this pull request.
In ports/fbgemm/portfile.cmake
https://github.com/microsoft/vcpkg/pull/16346#discussion_r580730689:

   fix-cmakelists.patch

   update-asmjit-usage.patch

+)

+vcpkg_configure_cmake(

SOURCE_PATH ${SOURCE_PATH}

PREFER_NINJA

OPTIONS

   -DUSE_SANITIZER=OFF

   -DFBGEMM_BUILD_TESTS=OFF

   -DFBGEMM_BUILD_BENCHMARKS=OFF

   -DPYTHON_EXECUTABLE=${PYTHON3} # inject the path instead of find_package(Python) while configuration

+)
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/${PORT} TARGET_PATH share/${PORT})
⬇ Suggested change
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/${PORT} TARGET_PATH share/${PORT})
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/${PORT})
It's unnecessary to specify TARGET_PATH, since it will default to share/${PORT}
. Please see
https://github.com/microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_fixup_cmake_targets.md
.
In ports/fbgemm/vcpkg.json
https://github.com/microsoft/vcpkg/pull/16346#discussion_r580732641:

@@ -0,0 +1,11 @@

+{

"name": "fbgemm",

"version-string": "2021-02-21",

⬇ Suggested change

"version-string": "2021-02-21",

"version-date": "2021-02-21",

The field might be updated as version-date, please see the doc
https://github.com/microsoft/vcpkg/blob/master/docs/users/versioning.getting-started.md#manifest-changes
In versions/f-/fbgemm.json
https://github.com/microsoft/vcpkg/pull/16346#discussion_r580732725:

@@ -0,0 +1,9 @@

+{

"versions": [

{

 "git-tree": "1afc730a345b6265a70e756850b5a212e67a25db",

 "version-string": "2021-02-21",

⬇ Suggested change

 "version-string": "2021-02-21",

 "version-date": "2021-02-21",

In ports/fbgemm/portfile.cmake
https://github.com/microsoft/vcpkg/pull/16346#discussion_r580732970:

@@ -0,0 +1,30 @@

+vcpkg_fail_port_install(ON_ARCH "x86" ON_TARGET "uwp")

+# The project's CMakeLists.txt uses Python to select source files. Check if it is available in advance.
+vcpkg_find_acquire_program(PYTHON3)

+vcpkg_from_github(

OUT_SOURCE_PATH SOURCE_PATH

REPO pytorch/fbgemm

REF 975e41df8170115129abc524c225ddb88ec686dd

SHA512 2ee8b1464b29cd7ceb36665188f1b03e20d2c476b74fd81d2e3104a8e8f87196eca4497e7cb507eac576e717df8f306d05cc81a7122ed046814a171f6cfbe7b1

PATCHES

   fix-cmakelists.patch

   update-asmjit-usage.patch

Can you submit these changes to upstream?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vcpkg/pull/16346#pullrequestreview-595954935,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADLSYE7OAAGGMYBEKCQGPGLTAMIIZANCNFSM4X62LGUQ
.

Seems like https://github.com/pytorch/FBGEMM/pull/520 may need some time to be reviewed. Wish the work goes well...

Waiting for https://github.com/pytorch/FBGEMM/pull/538

LGTM now, thanks for your efforts @luncliff.


Fixes #620 - corrected the example description to reflect the functio…

…nality of the command

Docs Build status updates of commit 8743cd1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azureadps-2.0-preview/AzureAD/Get-AzureADGroup.md
:white_check_mark:Succeeded

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

Hi @CelesteDG, I noted that after I accepted the admin invite by Bill, I now have the option to merge these pull requests. Please confirm if I can go ahead and merge them.


⚠ Bofrost.lu has degraded performance

In 16f79e7, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1590 ms

Resolved: Bofrost.lu performance has improved in 7622927 after 7 minutes.


ctrl + scroll for stash not working

As the title suggests. Everything else is working as intended
Not sure what the problem is, I'm sure there's an easy fix but I can't find it..

@BarnOwlet Is the setting enabled?

Right, now I have a different problem... For some reason, my PC just refused this entire day to let me open lunaris at all. Every time I launch it (as administrator aswell), it just gives me this:

I have no idea what's causing this either, lol.
As for the ctrl+scroll thing... I don't actually know if that was enabled in the settings, as I didn't mess with the keybinds tab. If it's not enabled by default though, then that must have been it, as I changed my PC and so the settings got resetted

@BarnOwlet That's rather weird, did you try redownloading it? Direct link: https://github.com/mtricht/lunaris/releases/download/v0.6.3/lunaris-0.6.3-win64.zip

Yeah, I did. Multiple times over. Even deleted the settings file, which is placed rather differently from the main files of Lunaris.

I've tried copying your file path in case that was the problem, but everything seems to work fine:

I know this sounds stupid, but can you try following the steps @ https://support.microsoft.com/en-us/help/2669244/windows-cannot-access-the-specified-device-path-or-file-error-when-you

I have no idea what's going on anymore... lol
I tried opening it now, and it just worked. It just did, lol. It didn't work after a restart when I was trying to fix it a few days ago, so it couldn't have been that the PC just needed a restart.
It wasn't stupid at all for you to suggest the steps in that link @pvaass , but I stumbled upon that link when I was looking for a fix myself and did everything there, and they didn't work anyways. It was quite the haul aswell to look for a solution, because with the new laptop I switched from windows 7 to windows 10 and also changed my antivirus to Bitdefender, so everything's new...
Whatever... lol. I just hope that error won't come back. Oh, and you should know that the ctrl + scroll wasn't activated in the settings. So that was just me being very dumb and assuming it was just built into the tool, not that you have to turn it on. I swear to god though, you guys should make it activated by default when installed, to avoid another clown fiesta like this haha


Changes way to add BME to a project

Also fixes: https://www.pivotaltracker.com/story/show/149182501

You are right. I messed between category id and id of the BME, my bad! Changing..!


Failed to authenticate to ACR

Hi,
I've been trying to set up image automation with Flux, but I got stuck with an error to authenticate to ACR.
I have an ImageRepository set up like this:
apiVersion: image.toolkit.fluxcd.io/v1beta2
kind: ImageRepository
metadata:
  name: myrepo
  namespace: cluster-config
spec:
  image: myrepo.azurecr.io/my-service-image
  interval: 1m0s
  provider: azure

The error I'm getting:
  Warning  AuthenticationFailed  93s (x16 over 87m)  image-reflector-controller  failed to configure authentication options: DefaultAzureCredential: failed to acquire a token.
Attempted credentials:
  EnvironmentCredential: missing environment variable AZURE_TENANT_ID
  ManagedIdentityCredential: no default identity is assigned to this resource
  AzureCLICredential: Azure CLI not found on path

I'm using Terraform to deploy AKS and ACR, and the AzApi terraform provider to bootstrap Flux with the following config:
resource "azapi_resource" "flux_addon" {
  type      = "Microsoft.KubernetesConfiguration/extensions@2022-11-01"
  name      = "flux"
  parent_id = azurerm_kubernetes_cluster.aks_cluster.id
  locks     = [azurerm_kubernetes_cluster.aks_cluster.id]
  body = jsonencode({
    properties = {
      extensionType           = "microsoft.flux"
      autoUpgradeMinorVersion = true
      scope : {
        cluster : {
          releaseNamespace : var.flux_addon_cluster_release_namespace
        }
      }
      configurationSettings : {
        "helm-controller.enabled" : "true"
        "source-controller.enabled" : "true"
        "kustomize-controller.enabled" : "true"
        "notification-controller.enabled" : "true"
        "image-automation-controller.enabled" : "true"
        "image-reflector-controller.enabled" : "true"
      }
      configurationProtectedSettings : {}
    }
  })

I have found similar issues (https://github.com/fluxcd/source-controller/issues/898, https://github.com/fluxcd/source-controller/issues/1071), so I know that the problem is that I have multiple UAMIs set up in AKS, but I don't know how to set the environment variable AZURE_CLIENT_ID to the object id of the kubelet identity (kubelet identity has AcrPull role assignment), because I'm using the AKS Flux extension.
AKS configuration:
Kubernetes version: 1.25.4
Authentication and Authorization: Azure AD authentication with Azure RBAC
Network Plugin: Azure CNI
Add-ons: AzureKeyvaultSecretsProvider, ExtensionManager, omsagent

Flux version:
 ~  flux version
fluent-bit: 1.7.3
flux: v0.41.2
fluxconfig-agent: 1.7.3
fluxconfig-controller: 1.7.3
helm-controller: v0.31.2
image-automation-controller: v0.31.0
image-reflector-controller: v0.26.1
kustomize-controller: v0.35.1
notification-controller: v0.33.0
source-controller: v0.36.1

I know that this is somewhat of an Azure related issue, but even if I used another method to bootstrap Flux I would need to patch the Deployment and set the needed environment variable. I think there should be an easier way to do that.
Thanks!

@danieltoth55 I'm seeing the same thing as you (and that led me here) I ended up solving it using a patch, as you mentioned. I deploy flux with a terraform module, but the end result is a kustomization that looks like this:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- gotk-components.yaml
- gotk-sync.yaml
patches:
- patch: |
    - op: add
      path: /spec/template/spec/containers/0/args/-
      value: --concurrent=20
    - op: add
      path: /spec/template/spec/containers/0/args/-
      value: --requeue-dependency=5s
  target:
    kind: Deployment
    name: "(kustomize-controller|helm-controller|source-controller)"
- patch: |
    - op: add
      path: /spec/template/spec/containers/0/env/1
      value:
        name: AZURE_CLIENT_ID
        value: <aks cluster's kubelet client id>
  target:
    kind: Deployment
    name: image-reflector-controller

I found the following AKS flux_addon configuration "--config useKubeletIdentity=true" (I have it setup with terraform).
Microsoft Flux2 tutorial
This solved my image-reflector-controller authentication error, which was the same as @danieltoth55.

I found the following AKS flux_addon configuration "--config useKubeletIdentity=true" (I have it setup with terraform). Microsoft Flux2 tutorial
This solved my image-reflector-controller authentication error, which was the same as @danieltoth55.

This is the correct solution for most of the threads I've seen on this issue! (I've gone through so many today trying to fix this)
I'm not sure where it would quite fix but any addition to the documentation would be nice.
Thanks @Lingkar

You can also use managed identity/workload identity since v1.8.0:
https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/tutorial-use-gitops-flux2?tabs=azure-cli#workload-identity-in-aks-clusters

For Managed Identity you can patch like this as well:
image-reflector-controller-patch.yaml
# Since we have multiple managed identities on the kubelets we need to let flux know which one to use for ACR access
apiVersion: apps/v1
kind: Deployment
metadata:
  name: image-reflector-controller
  namespace: flux-system
spec:
  template:
    spec:
      containers:
      - name: manager
        env:
          - name: AZURE_CLIENT_ID
            value: "0000-0000-0000-0000"

kustomization.yaml (next to gotk-*)
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- gotk-components.yaml
- gotk-sync.yaml
patches:
- path: other-patch.yaml
- path: image-reflector-controller-patch.yaml


docJar can easily overflow windows command length restrictions

When the combined length of all the source-file names and classpath entries gets too long, we get: java.io.IOException: Cannot run program "javadoc" (in directory "D:\Tmp\AOI\out\Suite\javadoc.dest"): CreateProcess error=206, File Name or its extension is too long
This seems to be because Windows has a limit to the length of command that is used to create a process. That length is right about 32k characters. There's a Stack overflow post that has a nice, basic explanation as to the "why".
It does not take a particularly large project to trigger this behavior: The project that I'm working on has ~470 java files, and the relative paths for them (from T.workspace) add up to 27k characters. It does not take a very long base path to over-run the limit.
It does look like this has surfaced before, with no actual fix: #993 & #207
Options that I see:

Work around by only building javadoc on non-windows systems. Not my first choice.
javadoc can take relative filepaths. This might help a bit, especially with shallow package structures.
javadoc can also take the input files in the form of a list written to a single file. This appears most flexible to me.

Note that the limit is for the whole command. A long compileClasspath would also trigger the issue, though it is less likely. Perhaps these should be passed in a file as well?

Thank for reporting. We handle this kind of issue in other places, e.g. run targets and in Jvm.runSubprocess we have support to pass args as a file. We can probably adapt it to docJar too.

The difference to run target is, that we call javadoc as executable, not as java process with a classpath. The current implementation for Jvm.runSubprocess that runs Java processes already has the parameter useCpPassingJar. This works by creating a empty temporary JAR file with a Class-Path Manifest entry, holding the complete classpath. But I have no idea, if javadoc supports this too, it probably should. If it does, we could re-use Jvm.createClasspathPassingJar for docjar.

As an alternative, we could try to locate the tools.jar of the currently running JVM and run javadoc as java process, not as standalone executable.

If you can reliably find the tools.jar (or equivalent), that might be nice. I've not been able to find any API reference for javadoc-the-classes, but that might be that there is so much noise - "Javadoc" + "API" is not a very precise search.
Or you could drop something like this in the JavaModule source:
  def docSourceFileList = T.task {
    os.write(T.dest / "file-list",
      Lib.findSourceFiles(docSources(), Seq("java"))
        .map(_.toString())
        .mkString(" ")
    )
    PathRef(T.dest / "file-list")
  }

And then pass that (prepended with "@") into the docJar target

Yeah, newer versions of javadoc support the @ syntax, which is probably the best options here. Unfortunately, I haven't found which version of Java introduced it. I think it's in since at least version 9.

@Sailsman63 Can you test PR #1815?

Running successfully under Linux. Also with setting docJarUseArgsFile true.
Currently running windows updates to try there. How do I launch a dev build on windows?

The same way as on Linux

Come again? The shell script that you specified is *nix-ish only.
I'm having issues with my windows system anyway. I can't even get the normal millw.bat to run - keeps telling me the system cannot find the file specified

Then I don't know what you are asking. I though, you were asking how you can run the freshly built mill. In Linux you probably do a target/mill-release --version. In Windows you run target\mill-release --version.

Ah, now I think I understand what you mean with shell script. You mean the publish-local.sh script? Just run mill directly and o what's in the script:
mill -i __.publishLocal + assembly
mkdir -p target
cp out/assembly.dest/mill target/mill-release

Okay, finally got it to run.
This build automatically picks up that it's on windows, and uses the file argument. I was able to confirm that I am able to run the docJar task successfully, while 0.10.0 will crash out due to the command length.
NB: About half of the troubles that I was having boil down to some kind of corruption in the user settings for my primary Windows account. Even Microsoft's help forum mostly defaults to "Tough luck, just create a new user account"


feat: Migrate website to v2

Fix: #196
I tested the website locally and it is working fine, the netlify preview doesn't show the website page properly.

The docs are migrated to new versions successfully, including all of the code tabs, doc links etc. https://deploy-preview-265--xenodochial-leakey-a5c0e8.netlify.app/docs/get-started/
Also, I redesigned the user layout in homepage to rolling format.
There are some works haven’t been done

[x] I18n of website
[ ] Disqus install and migrate

I will continue this PR to complete the migration
Signed-off-by: ErikQQY<EMAIL_ADDRESS>

@hsluoyz Plz review

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

This PR has been merged into: https://github.com/casbin/casbin-website-v2


Autocomplete (intellisense) suggestions - lower priority for code snippets

VSCode Version:1.3.0
OS Version: Win10

Some code snippets are very usefull but extremly annoying at the same time.
In some cases, code snippets take precedence over class members, see this .tsx file for example:

another example is conflict between new keyword and new code snippet:

it makes intellisense quite annoying

@jrieken Joh, not sure why you assigned this to me.

This is indeed a problem for me as well. Would really love it get this fixed.

closing as duplicate of #9286 which is the bucket issue for this


Remove the product and validation window for removal

Explanation

Entering the products view does not delete the products, performing delete validation can be guided by how delete events are handled

#268


TOTP: copy generated OTP code to clipboard instead of the secret key

Currently, when clicking on the clipboard copy button for TOTP, the secret key is copied to the clipboard.
This changes the behavior to copy the generated OTP instead.

Thanks for the quick response @yogeshpaliyal :star_struck: have a nice weekend!

@eldad you too 😄


New package: YisyAIFramework v0.3.4

Registering package: YisyAIFramework
Repository: https://github.com/SkyWorld117/YisyAIFramework.jl
Created by: @SkyWorld117
Version: v0.3.4
Commit: d4943c984346c9378e899d31b444df9ab430d33b
Git reference: master

@giordano I have posted this PR with renaming. You may close the old one at any time, thank you.
[noblock]


Show total count of songs while downloading a list

A little feature I wanted.

Well, we aren't accepting v2 changes. Abrupt?  Yes. Sorry. New maintainers, new changes, it all happened very fast.
If you line were could add a link to your fork on or readme if you'd like that.


Can Attestation Documents be verified using this ?

Can we use the functions provided here to validate an attestation document when implementing an own Attestation service ?

It can be useful if  README.md could expand more on the ways this repo can be used/ purpose it seves.

Yes. The process to do this explained more in detail here: https://github.com/aws/aws-nitro-enclaves-nsm-api/blob/main/docs/attestation_process.md#3-attestation-document-validation.


Change log for WPCS version 1.2.0

Release date set at this Monday November 12th.
Includes all currently merged changes.

Updated the commit with the fixes (except for the one requested fix where I left a reply).
If we're all happy with it, we could release earlier ?

If we're all happy with it, we could release earlier ?

Fine with me, although I may try and look at #1526 to see if that can be done before this release.

Ok, we'll release on the 12th or when a fix for #1526 has been pulled and merged, whichever comes first.

Rebased and added an entry to cover #1530.
If there are no objections and at least one approval for #1528, I'll release WPCS 1.2.0 early tomorrow.


wasm: Add parameters handling to wasm

Allow gadgets developers to interact with parameters
from the wasm module:
- add new parameters
- get value of parameters

Fixes #3132
It's needed by #2994

I updated the PR to define the parameter on the yaml file. I'm still missing:

How to uniform it with ebpf parameters. It seems it touches al of things to get this right
How to generate the gadget readme from it (related to the point above too)

How to uniform it with ebpf parameters. It seems it touches al of things to get this right
How to generate the gadget readme from it (related to the point above too)

Fixed those two.

Moved the third commit to #3490 to make the review easier.


Use ES5 in index.js to support old browsers

Fixes #17

https://github.com/sindresorhus/matcher/issues/17#issuecomment-443808489


How about forgain languages in spellchecker?

Most of the documents I have to write are in Dutch. Is there a way to select a language or use the system spellchecker of osx?

Using the osx desktop app, is it?

Yes, on osx 10.11.1


Trigg event action from WebUI

Hi
Should be possible to trigg event/action from WebUI.
I've an use case where I need to detect when a repository is created/moved to/from a specific organization.
I need to execute a script to add new repo on our workflow
On another use case should be trigg user creation to set it on different team.

You can do that via webhooks

Hi
How ? documentation about webhook is empty
https://docs.gitea.io/en-us/webhooks/

see https://github.com/go-gitea/gitea/issues/2418 to find the webhooks works.

maybe you mean #1663

Hello
I'm not sure is exactly same.
I think about actions as "move repository". I check github api to have an
idea but I don't found this action. Maybe can be considered as two action
create and delete.
Other aspect in my mind with this question, action trigged could be
related to local hosting (as to add hook configuration). But i think this
aspect could be workarounded with webhook.

Need repository transfered webhook.


Shelly EM3 / Button show "installing webhook" for "Callback" devices forever in Docker node-red with bridge network

I recently changed the docker image form "host" network to "bridge" network.
Around the same time, i updated the node-red image to 3.1.7 and the shelly Node to 10.18.0
So its rather tricky to pinpoint the reason for the change.
I forward the Ports 1880, 19091 (Button) and 19092 (EM3) to the Docker container. The webinterface seems to work without problems. I also can start the "download csv" demo from the manual succesfully.
The button might be at sleep (I'm quite away from it currently) but the EM3 is live and working. The button worked before and maybe it still does, but the EM3 does not get any actions set.
Are there other ports to open ? Or something else I can check and report ?

Hm I guess you should show me what is going on in a teams meeting.

We can arrange that, but company rules prevent sharing the control of the PC, so only watching would be possible, I can also make screenshots of the relevant things, if this helps.

I'm now directly connected to the network. There the problem is slightly different:

the Shelly devices report "Online" after shortly displaying "installing webhook"
the webhooks dont get installed
if I install the webhook by hand, it works as expected (only tried with the button so far, the EM3 cannot be switched off currently).

Can I find a log what gets sent to the shelly devices and what they report back ? This might be easier as a teams session.

@Henry-Jones no there is no log... if the webhooks don't get installed, then the nodes can not communicate with the shellies in the network or?

That's likely the case.
Obviously the shellies dont have this problem in the other direction, when the webhook is set manually.
For testing purposes I added a ping-node node-red-node-ping This node can reach the shelly and reports back the roundtrip time successfully.

just do a GET http:///shelly

This results in:
(EM3)
{
    "type": "SHEM-3",
    "mac": "485519D6CEDF",
    "auth": false,
    "fw": "20230913-114244/v1.14.0-gcb84623",
    "discoverable": true,
    "longid": 1,
    "num_outputs": 1,
    "num_meters": 0,
    "num_emeters": 3,
    "report_period": 1
}

(Button)
{
    "type": "SHBTN-2",
    "mac": "485519F04680",
    "auth": false,
    "fw": "20230913-113105/v1.14.0-gcb84623",
    "discoverable": true,
    "longid": 1,
    "sleep_mode": true
}

when I use the following url (according to this the webhook gets set: http://<IP_ADDRESS>/settings/actions?index=0&name=out_on_url&enabled=true&urls[]=http://<IP_ADDRESS>/on&urls[]=http://<IP_ADDRESS>/on

@Henry-Jones
You can use one port for all callbacks as the script in the shellies send their IP Address in to node-red. So inside node red it can be checked from what shelly the call was.


Replace Scalatra with tapir to allow auto-generated openai docs

[x] AnalysisV1Api.scala    (tests pass) TEST DO NOT PASS. Need to fix SQL as these endpoints are not quite correct

[x] POST /histogram/depth
[x] POST /histogram/time

[ ] AnnotationV1Api.scala   (Crossed out methods are slow duplicates of ones in FastAnnotation.  Need to add a new Main entry point.


Update the docs for Ecto.Model.OptimisticLock

This PR updates the docs for the changes in f1f86a9316654f9bf419b550ca2ea33cd793aafb. Before, the Ecto.Model.OptimisticLock module needed to be import'ed but now it needs to be use'd.

Ah, yes, good catch. I went with use just for consistency (all others in Ecto.Model need to).


Creating a Temporary Drop Zone for File Transfer

What feature or improvement do you think would benefit Files?
When moving multiple files from various locations, we typically have to transfer each folder's files individually. Creating a temporary drop zone to consolidate all files before moving them to the desired location can streamline the process.

Requirements

Interface Modification: Create a visually distinct area within the File Explorer interface to serve as the temporary drop zone.
Drag and Drop Functionality: Enable drag and drop functionality within the app to allow users to easily move files into the temporary drop zone.
File Management Controls: Implement controls such as buttons or context menu options to facilitate moving all files from the temporary drop zone to a user-defined destination.
Customization Options: Consider offering customization options such as the ability to change the temporary drop zone location or define default destination folders for transferred files.

Files Version
<IP_ADDRESS>
Windows Version
10.0.22631.3527
Comments
https://youtu.be/1k1vz9PD7O4?si=KiKl4opbm6bsZck3&t=91

Thanks for the feedback, We're tracking this in #12490 . You can check there or click subscribe in the right sidebar for updates.


Replace the memoize decorator in routes.py by functools.lru_cache

While implementing memoization from scratch is not hard, it does seem a bit like reinventing the wheel. Can we replace the memoize decorator in routes.py with functools.lru_cache(maxsize=None)? This would also require removing lines that access _.memo directly in test_incoming_matches.
I guess the underlying question is, do we really need access to the underlying cache implementation (_.memo)?
If the change is ok, I volunteer to write the PR.

sounds good to me!


✨ Add Code Coverage with Codecov

What this PR does / why we need it:
Adds the Code Coverage to this Project with Codecov.com
Which issue(s) this PR fixes
Fixes #16

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@4aabe90). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head c1e54ba differs from pull request most recent head 6090e2e. Consider uploading reports for the commit 6090e2e to get more accurate results

@@           Coverage Diff           @@
##             main      #17   +/-   ##
=======================================
  Coverage        ?   73.64%
=======================================
  Files           ?        4
  Lines           ?      129
  Branches        ?        0
=======================================
  Hits            ?       95
  Misses          ?       30
  Partials        ?        4

Continue to review full report at Codecov.

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


ARROW-4061: [Rust] [Parquet] Implement spaced version for non-diction…

…ary encoding/decoding

cc @andygrove @paddyhoran also to take a look.

CI error is unrelated.


Create openshift_offline_mirror.py

gotta mirror from external to an internal/disconnected quay

This is only really required if we can't get OCPBUGS-23422 completed


⚠ SolarOscp has degraded performance

In b95a188, SolarOscp ($SOLAROSCP_URL) experienced degraded performance:

HTTP code: 200
Response time: 318 ms

Resolved: SolarOscp performance has improved in f9d39f2 after 15 minutes.


Choose location or storage provider in PicoTorrent

Hi everyone.
Idea
Whenever I open picotorrent, the torrent locally downloads the file on my machine. An interesting idea is to offer options like ipfs, hypercore or ftp - or even synchronizations like google drive, meganzco, dropbox, trezorit etc. That way, when the file for download, a copy is sent to another server or another location, and with that I have a backup copy or storage(for security)
why?
Could be an alternative to bitport-io for picotorrent
question/feedback
What do you all  think about this feature?

that's quite interesting to be honest


Decouple content defined chunking from file batching

This PR decouples the content defined chunking from file batching by splitting up the chunk writer into three simpler components. This PR also includes a split in the write path for files based on their size. Files larger than or equal to the file batching threshold get written to their own chunks, while files smaller than the file batching threshold get batched with other files in chunks.
Splitting up the chunk writer:
The chunk writer contained all of the functionality for content defined chunking, batching files into chunks, and creating chunks. A new abstraction was created for each of these:

Chunker: performs content defined chunking on a byte stream (this is technically a utility function).
Batcher: batches entries into chunks based on a threshold.
Uploader: manages upload tasks.

These new components should be easier to reason about while maintaining the same benefits of the chunk writer, primarily the parallel processing. Both the batcher and uploader have asynchronous interfaces to support the processing of chunks asynchronously. These interfaces are simpler and more well defined than the asynchronous interface provided by the chunk writer.
Splitting the file write path based on size:
The file set writer will now create two additive indexes: one for files larger than or equal to the file batching threshold and one for files smaller than the file batching threshold. These two indexes are merged to produce one additive index when the file set writer is closed. Files larger than or equal to the file batching threshold will go through an uploader and files smaller than the file batching threshold will go through a batcher.
Something noteworthy about this change is that content defined chunking is no longer applied to the files smaller than the file batching threshold. This is functionally equivalent to the current system because the chunk minimum size configuration would prevent split points being found in the middle of files below the file batching threshold and the artificial split point configuration is equivalent to the file batching threshold.

These changes are awesome - I find the current state of things is much easier to reason about. I'm still groking merge.go(s) and fileset/storage.go, but otherwise the changes generally look good. Particularly for the index writer, I like the direction


BUG: Unneccessary quick links in the footer section

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I have found that the quick links section in the footer is unneccesary because navbar is doing the exact same thing

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

I agree to follow this project's Code of Conduct. I'm a GSSOC'24 contributor. I want to work on this issue

So how will you improve?

We can improve it by side it all quick links in 1 section and create another 2 sections for address and contact number. so that in foot it will be 3 section like left, right, middle.

@ASLSwetha Please assign to me task and solve the problem.


fix: improve escapeText replace

Overview
Prevents XSS by escaping all scripts in qwik/json before inserting into DOM.
What is it?

[ ] Feature / enhancement
[x] Bug
[ ] Docs / tests / types / typos

Description
Previous implementation of "escapeText" function was case sensitive so it was possible to inject XSS via URL when using different cases for script tag (e.g. "scRipt"). The new implementation takes case of case sensitiveness so it prevents XSS injection.
Use cases and why
Before - XSS is present

After - XSS has been fixed

Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

That's so good 👍 thanks @ignatvilesov

@gioboa Thanks for the quick review :handshake: Do you think it can be published any time soon? :pray:

Yep, we will cut a new release.

Yep, we will cut a new release.

Awesome. Thank you!


Design Certificates track 2 API

@chlowell @johanste API design fro Certs
https://gist.github.com/samvaity/7ba8807e5832904c88cadd79b6295498


Slow Response

I feel there is a little time delay for some cases, such as switching Chrome tabs. Using Capslock responds slower than just using "ctrl + tab".
Does someone also feel this?
I suspect this is because the "capslock" trigger "right_command + right_control + right_shift + right_option", which is not straightforward. I saw a condition "name": "caps_lock pressed". When using this condition, the responding speed is fine.
Does this suspicion make sense?

I'm using Capslock(my own mod edition ) for years, never met delay problem, there may be some other settings on your system or software conflicts with the keyboard shortcuts.

If you are confused by Capslock's complex, write your own keybinding from bottom using Goku, it's more elegant and you can have comments in your config file.

When the capslock key is pressed (holding) and then I press another key (such as h), I don't feel the delay. But if I press capslock key and another key together, I feel a slight delay. And, sometimes if I press capslock + h quickly, there is no reaction.
( The slight delay only affects me when I need a quick action like triggering 'ctrl + tab'.
Can you double-check if you press capslock + h at the same time (not holding the capslock and then press h), how is the response?

Maybe try "system preference -> Keyboard -> keyboard" , set 'laytency before repeat' to short and repeat speed to fast ?

Thanks for the suggestions. I changed how the "caps lock" triggers. Currently, the "caps lock" trigger "right_command + right_control + right_shift + right_option", which seems to be complex. And if we look at the karabiner event viewer, there are many commands. I learned from another rule and let "caps lock" trigger a value. Now the response is good when I press "caps lock" (not holding) and a "modifier key" at the same time. The implementation is shown in the picture. I'm not sure if this matters. Just attach it in case other people may try.


Long animations can lead to invalid DOM state.

http://plnkr.co/edit/LwzMIIeAOtI5V08CMTL3?p=preview
Click the Toggle Condition two times in quick succession (under 2 second), wait a couple second, then notice how both items go away, yet the if.bind on both clearly indicates that one should always be visible.
Including source code below in case the plunkr doesn't work at some point.  Leaving out JSPM boilerplate.
main.js
export function configure(aurelia) {
  aurelia.use
    .standardConfiguration()
    .developmentLogging()
    .plugin('aurelia-animator-css');

  aurelia.start().then(a => a.setRoot());
}

app.js
export class AnimationDemo{
    conditition = true;
}

app.html
<template>
    <button click.delegate="condition = !condition">Toggle Condition</button>

foo

bar

</template>

styles.css
.foo.au-enter {
    opacity: 0!important;
}

.foo.au-enter-active {
    -webkit-animation: fadeIn 2s;
    animation: fadeIn 2s;
}

.foo.au-leave-active {
    -webkit-animation: fadeOut 2s;
    animation: fadeOut 2s;
}

/* CSS3-Animations */
@-webkit-keyframes fadeIn {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes fadeIn {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

@-webkit-keyframes fadeOut {
    0%   { opacity: 1; }
    100% { opacity: 0; }
}

@keyframes fadeOut {
    0%   { opacity: 1; }
    100% { opacity: 0; }
}

@martingust I think this may be the same issue that we are trying to track down on the repeater...

@EisenbergEffect Just took a look at this and yes it's the same issue we had in the repeater. Will get a fix in for this.

@EisenbergEffect @Zoltu This issue is fixed with this PR

This issue still happens when show.bind and its animator classes are used as opposed to if.bind.


Incorrect public override (Issue #439)

https://github.com/TiVo/intellij-haxe/issues/439
Was:

Now:

“public”s for interfaces handled.

Merging...


Use Recoil effects

to-dos:

[x] correctly store atomFamily
[x] update tests

@polemius PR is ok to review, I can't seem to add you as a reviewer

@polemius PR is ok to review, I can't seem to add you as a reviewer

@rhys-saldanha Great work! Thank you very much for contribution 👍 💯


[BUG] - Select Item does not appear when used inside a Modal

NextUI Version
2.1.13
Describe the bug
If you put a Select inside a Modal the select items does not appear when using the select, This problem only appears in this following casethe
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
put a Select inside a Modal
Expected behavior
the select items does not appear
Screenshots or Videos

Operating System Version
Windows
Browser
Edge

Hello, can you provide a source code for it? I have tried it and its works fine

Hello, can you provide a source code for it? I have tried it and its works fine

Here's a general example that faces the same problem
<Modal isOpen={isOpen} onOpenChange={onOpenChange} size="xl">
                <ModalContent>
                    {(onClose) => (
                        <>
                            <ModalHeader className="flex flex-col gap-1">
                                modal
                            </ModalHeader>
                            <ModalBody>
                                <Select label="select" className="max-w-xs">
                                    <SelectItem key={1} value="1">
                                        1
                                    </SelectItem>
                                    <SelectItem key={2} value="2">
                                        2
                                    </SelectItem>
                                    <SelectItem key={3} value="3">
                                        3
                                    </SelectItem>
                                </Select>
                            </ModalBody>
                            <ModalFooter>
                                <Button
                                    color="primary"
                                    type="submit"
                                    onPress={() => {
                                        onClose();
                                    }}
                                >
                                    Add
                                </Button>
                            </ModalFooter>
                        </>
                    )}
                </ModalContent>
 </Modal>

Before opening the select:

after opening the select:

I had this error on Next.js 14.3.0-canary.30 and it was due to partial prerendering enabled

Closing - please try on the latest version.

I have the same issue on the modal components only. At the main page, it work fines. When it comes to modal, it could not pop the select item element as described as this post. Anyone know the solution?

Did you find a work around for the above issue?

Did you find a work around for the above issue?
Try to use NextUi official modal. The issue can be eliminated. Don’t use self created modal. Then should be work

@jackwong721
This is what I was doing.
`
const roles = [
{key:"admin", label:"admin"},
{key:"user", label:"user"},
];

{(onClose) => (
<>

Confirm Action

              <Select
                label="Role"
                placeholder="Select role"
                variant="bordered"
              >
                {roles.map((role) => (
                  <SelectItem key={role.key} textValue={role.label}>
                    {role.label}
                  </SelectItem>
                ))}
              </Select>
            </ModalBody>
            <ModalFooter>
              <Button color="danger" variant="flat" onPress={onClose}>
                Close
              </Button>
              <Button color="primary" type="submit">
                Save
              </Button>
            </ModalFooter>
          </form>
        </>
      )}
    </ModalContent>
  </Modal>

`
I believe I am using the NextUI Modal, however when I move it outside the modal, I am able to see the Select items. Could there be an issue Modal?

Did you find a work around for the above issue?

npm install @nextui-org/react@latest update to last version like mentioned above


Menu bar icon should be gray-scale only and not use color

Follow the human interface guidelines. The icon could be dimmed (like the Wifi icon in the screenshot) when Kubernetes is not running, and be fully white (or black) when it is.
Right now it turns blue, which looks out-of-place among monochromatic icons:

The same issue is also true for Windows. Although I see the Windows bluetooth icon is in colour, which looks somewhat weird. And the Windows Security icon isn't transparent but has a fixed white background, so everything looks a bit jarring.

Random observation: The "VMware Fusion" task bar icon on macOS is also in colour...
Also "Fantastical" (macOS) can optionally display a coloured icon, but defaults to a b&w one...

Just noticed that in dark mode the greyed out icon is barely visible:

Looking at the docs, on mac we should be using a template image.
Everything is inconsistent on Windows, as usual: I happen to have 3 Microsoft icons, and… well…


Command prompt gives error

Problem encountered on https://dotnet.microsoft.com/en-us/learn/aspnet/blazor-tutorial/create
Operating System: windows
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.

This error message indicates that you already have a project on a folder called BlazorApp.  You should be able to just continue the tutorial if you already created the project.


[Feature Request] built in AJAX indicator

I am making ajax calls to the server that might take a little time.  I have created a way to show an ajax indicator when making a call, but it would be nice to have a built in way.
What I am doing is something like this
$wp_cli.terminal handleCommand, ...

handleCommand = function()
  term.echo('<i id="terminal-spinner" class="fa fa-spinner fa-spin"\>', {raw: true})
  term.pause()
 ...ajax call

handleAjaxCallResponse = function()
   $('#terminal-spinner').closest('div + div').remove()
  term.resume()

I'd like something like
 term.pause(indicator: true) or  term.pause('<i id="terminal-spinner" class="fa fa-spinner fa-spin"\>')

and have it automatically remove itself on on term.resume()

In your code you should have indicator back in when you resize the browser.

Spinner will not fit into terminal, real terminal or terminal emulator don't have one. I may only add blinking cursor on next line when terminal is paused.

a busy indicator will be very much appreciated. Its is very often needed and should be easily bound indeed with the term.pause and resume commands.

I can add onPause and onResume events so users will be able to create indicators.

yes such events will be great :+1:

I've added those events to devel branch.


Incorrect function signature for ADC data acquisition threads

Data acquisition threads for ADCs usually have the incorrect function signature. Examples are:

https://github.com/zephyrproject-rtos/zephyr/blob/94cc1bf4551a933200f1f65777a19869264bc5bf/drivers/adc/adc_ads1119.c#L436
https://github.com/zephyrproject-rtos/zephyr/blob/94cc1bf4551a933200f1f65777a19869264bc5bf/drivers/adc/adc_ads114s0x.c#L1066
https://github.com/zephyrproject-rtos/zephyr/blob/94cc1bf4551a933200f1f65777a19869264bc5bf/drivers/adc/adc_ads1x1x.c#L540
https://github.com/zephyrproject-rtos/zephyr/blob/94cc1bf4551a933200f1f65777a19869264bc5bf/drivers/adc/adc_ads7052.c#L222

They all have one parameter, but the thread entry function pointer is defined as:
typedef void (*k_thread_entry_t)(void *p1, void *p2, void *p3);

Therefore these functions would corrupt the stack if they would return, which they luckily won't ever do.
I'm uncertain if this is intended, but I wanted to at least mentioned this imperfection.

@benediktibk would you be better off opening a PR to fix the functions if you have a chance?


[WIP] fix(model): better proxy behavior wrt getting model properties [ci skip]

no issue
/cc @davewasmer wanted to get feedback on this before I fix the tests for it.

Closing this because it's obsolete with the model refactor.


Extension - Currency settings are reset when upgrade version

Describe the task
Currency settings are reset when upgrade version
Steps :

Upgrade version
Setup currency mode
Reload extension

Actual : Currency settings are reset
Expect : Currency settings are not reset

Re-check run exchange rate currency

Version test: http://file.cdmteck.com/s/jXHjSzTmcsWtJJR
Validation passed in cases:

Change currency
Upgrade version
Reload background

Actual: Show incorrect exchange rate

Resolved on https://github.com/Koniverse/SubWallet-Extension/issues/2738
=> Close this issue


Support Compose Multiplatform

Currently this is Android only. Now that Compose Multiplatform is a thing would be nice to support other platforms

I currently just started converting my compose libraries to KMP... I'm currently converting my KotPreferences library and will step by step convert all my compose libraries afterwards...
I will only support android and jvm though - if a library is KMP only then it should work everywhere, if not, I can not provide an iOS implementation myself as I don't own a mac to make any tests nor do I have experience with native iOS coding yet...
I can't say when this library will be updated yet, though


MPU initialize failed

hello.
When I try test MPU, it fails to initialize, also in dmp mode. i get:
root@arm:/home/ubuntu# rc_test_mpu
ERROR: in rc_i2c_write_byte, system write returned -1, expected 2
ERROR: in rc_i2c_write_byte, system write returned -1, expected 2
ERROR resetting MPU, I2C write to reset bit failed
ERROR: failed to reset_mpu9250
rc_mpu_initialize_failed
root@arm:/home/ubuntu#
runing ubuntu image:
root@arm:/home/ubuntu# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.2 LTS
Release:	18.04
Codename:	bionic
root@arm:/home/ubuntu# uname -a
Linux arm 4.14.79-ti-r84 #1 SMP PREEMPT Tue Nov 13 20:35:19 UTC 2018 armv7l armv7l armv7l GNU/Linux
root@arm:/home/ubuntu#
I use robotics-cape on BB black.

@kambic please provide the output of:
sudo /opt/scripts/tools/version.sh
Regards,

Hello. Below is my output. I had problems with IMU from first day. sometimes it works sometimes it not.


GetSuggestedCategories

This is not a bug, but for some reason I am having a lot of trouble figuring out:
GetSuggestedCategoriesRequestType
Here is what I have tried:
`$catreq = new Types\GetSuggestedCategoriesRequestType(['Query'=>['electronics']]);
//$catreq->Query=['electronics'];
$catreq->RequesterCredentials = new Types\CustomSecurityHeaderType();
$catreq->RequesterCredentials->eBayAuthToken = $config['sandbox']['userToken'];
$cat= $service->getSuggestedCategories($catreq);
`
It seems query is passed in constructor of the Type... and I tried many formats for it. In the above format no matter what I write it always returns 0 categories, but no error.

The Query field is a string so you don't need to assign an array to the property. If you want to specify multiple keywords you just separate them with a space. For example,
$catreq = new Types\GetSuggestedCategoriesRequestType(['Query'=>'electronics']);
// Or
$catreq->Query = 'electronics';

$catreq = new Types\GetSuggestedCategoriesRequestType(['Query'=>'electronics phones computers']);
// Or
$catreq->Query = 'electronics phones computers';

I also think the issue is with the sandbox. The same query on production returns some suggested categories.


Import and Export for menu element.

It process identifier of selected menu in menu element (like query in projection element).

Hi @neTp9c, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

@neTp9c, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

This was done only for getting identifier of the menu. But know I see that the order of the elements does not matter (first item in recipe can get identifier of second item on OnImporting event). So in this case OnImportCompleted can be replaced by OnImporting without any loss. Should I do to change? I suppose it will be better.

If you could change it to OnImporting then that would be great. Thank you.

I have changed OnImportCompleted to OnImporting.


⚠ Bofrost.si has degraded performance

In 9103f7f, Bofrost.si (https://www.bofrost.si) experienced degraded performance:

HTTP code: 200
Response time: 3818 ms

Resolved: Bofrost.si performance has improved in b546d2d.


USD value estimates too low?

When I run my fund, and it gives me the USD value estimate, that estimate is significantly lower than what Poloniex tells me, and what I get by multiplying my BTC value against the current price of USD/BTC. Does anyone else have this problem?

Actually seems fine, closing for now


Email alert no sending

Hi
I try configurate Alerting Open Distro.  the problem is when try configurate destinations  Amazon SNS and the emails not sending. The problem is i need specific IAM role ARN and a specific SNS ARN Role?
thanks

Moving this to the alerting repo. new issue here: https://github.com/opendistro-for-elasticsearch/alerting/issues/24

We are able to get the alerts in sei-perf on messages ready count. But the problem is we are getting only one alert out of 25 hits or queues. It is beacause tx.results[0].hits.hits[1]._source.rabbitmq.queue.messages.ready.count>1000, in these condition we are calling only first hit condition. If we can find out how to make it iterative like hits[i>0], we will get the all the values. But it is not accepting the condition. Will work on this and update.


Navigation bar icons are incorrectly highlighted on app launch

When first launching the app, the bottom navigation bar icons are all highlighted in red, and only clicking on and then clicking off the icon changes it to the correct gray color if it's unselected.
Screenshots

I don't have this issue on iOS 13.3. What is your iOS version?

I'm running 13.3 as well, although it's happening on my simulators. Might be a simulator issue.


Fix build of wl-pprint-text on GHC-7.10.1

@peti this should fix #7247.

Duplicate of #7288. Closing.


Plugin filename collisions

Problems summary
It seems dein.vim has problems if two plugins contain a file with the same name. For example, I use vimwiki and taskwiki which both provide ftplugin/vimwiki.vim. Dein caches only one of these two files in the .dein folder.
Expected
Both files should be sourced. I tested this working correctly with plug.vim and vim-pathogen.
Environment Information

OS: Gentoo Linux
Vim version: nvim-0.1.7

Provide a minimal .vimrc with less than 50 lines (Required!)
(Adjust runtime path as necessary.)
if &compatible
  set nocompatible
endif

set runtimepath^=/tmp/nvim/dein/repos/github.com/Shougo/dein.vim
call dein#begin(expand('/tmp/nvim/dein'))
call dein#add('Shougo/dein.vim')
call dein#add('tbabej/taskwiki') "
call dein#add('vimwiki/vimwiki', {'rev': 'dev'})
call dein#end()

filetype plugin indent on

The reproduce ways from Vim starting (Required!)

Install vimwiki and taskwiki with call dein#install()
Set filetype: set ft=vimwiki
Attempt to use a Vimwiki command, e.g. VimwikiFollowLink
Command fails since only the taskwiki ftplugin was loaded.

Can also do
diff /tmp/nvim/dein/.dein/ftplugin/vimwiki.vim /tmp/nvim/dein/repos/github.com/tbabej/taskwiki/ftplugin/vimwiki.vim

That is, only the taskwiki ftplugin is sourced, and the vimwiki file is ignored.

call dein#add('tbabej/taskwiki', {'merged': 0}) "
call dein#add('vimwiki/vimwiki', {'rev': 'dev', 'merged': 0})

Sorry -- should have read the manual... Thanks :+1:


Please modify the goland default formatting to the goimports

Now, goimports automatically imports expansion packages and distinguishes between built -in and extermal expansion packages, create two blocks of packages. It's easy to distinguish
First, Less people set file watchers in the goland, so gofmt is used in te project to sort the list of extended packages.
Other editors, such as vscode, use goimports by default. This will cause unnecessary trouble.
goimports is better than gofmt, more intuitive, please set the goimports to formatting instead of having to

Hi. This tracker is not meant to raise such types of concerns. Please use: https://youtrack.jetbrains.com/issues/Go Thank you.


Merge develop branch to v2 branch

Codecov Report

Merging #2420 (0a24c9f) into v2 (c2efcec) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##               v2    #2420      +/-   ##
==========================================
- Coverage   97.62%   97.58%   -0.04%
==========================================
  Files          56       56
  Lines       10685    10680       -5
==========================================
- Hits        10431    10422       -9
- Misses        254      258       +4

Impacted Files
Coverage Δ

botocore/httpsession.py
92.55% <0.00%> (-0.47%)
:arrow_down:

botocore/utils.py
96.80% <0.00%> (-0.17%)
:arrow_down:

botocore/response.py
92.53% <0.00%> (-0.11%)
:arrow_down:

botocore/credentials.py
98.55% <0.00%> (-0.11%)
:arrow_down:

botocore/waiter.py
98.28% <0.00%> (-0.01%)
:arrow_down:

botocore/paginate.py
97.83% <0.00%> (-0.01%)
:arrow_down:

Continue to review full report at Codecov.

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


aipy and eovsapy are required when importing qlookplot

This happens when it tries to import ptclean, which triggers importing all custom casa tasks including importeovsa. We may not need this task for outside users if they all start from CASA measurement sets. Alternatively, we can add aipy and eovsapy to the requirements.
In [71]: from suncasa.utils import qlookplot
ModuleNotFoundError                       Traceback (most recent call last)
File ~/anaconda3/envs/suncasa38/lib/python3.8/site-packages/suncasa/utils/qlookplot.py:27
25 try:
26     ## Full Installation of CASA 4, 5 and 6
---> 27     from split_cli import split_cli as split
28     from ptclean3_cli import ptclean3_cli as ptclean
ModuleNotFoundError: No module named 'split_cli'
During handling of the above exception, another exception occurred:
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[71], line 1
----> 1 from suncasa.utils import qlookplot
File ~/anaconda3/envs/suncasa38/lib/python3.8/site-packages/suncasa/utils/qlookplot.py:46
44     from casatasks import tclean
45     from casatasks import split
---> 46     from ..suncasatasks import ptclean6 as ptclean
48     c_external = False
50 from matplotlib.dates import DateFormatter
File ~/anaconda3/envs/suncasa38/lib/python3.8/site-packages/suncasa/suncasatasks/init.py:6
4 from .ptclean6 import ptclean6
5 from .subvs import subvs
----> 6 from .importeovsa import importeovsa
7 from .calibeovsa import calibeovsa
8 from .concateovsa import concateovsa
File ~/anaconda3/envs/suncasa38/lib/python3.8/site-packages/suncasa/suncasatasks/importeovsa.py:8
6 _pc = _val_ctor( )
7 from casatools.coercetype import coerce as _coerce
----> 8 from .private.task_importeovsa import importeovsa as _importeovsa_t
9 from casatasks.private.task_logging import start_log as _start_log
10 from casatasks.private.task_logging import end_log as _end_log
File ~/anaconda3/envs/suncasa38/lib/python3.8/site-packages/suncasa/suncasatasks/private/task_importeovsa.py:6
4 import scipy.constants as constants
5 import time
----> 6 import aipy
7 import sys
8 from suncasa.eovsa import impteovsa as ipe
ModuleNotFoundError: No module named 'aipy'

@binchensun solved.


Are there any plans to support ARC browser?

Checklist

[X] I have searched the issue tracker for open issues that relate to the same feature, before opening a new one.
[X] This issue only relates to a single feature. I will open new issues for any other features.

Is your feature request related to a problem?
When I use chrome.ReadCookies to read the cookies database of ARC browser, I get the error "Secure: unknown encryption method".
Is it possible to construct a solution with the existing API?
No response
Describe the solution you'd like to see.
Provide a function like arc.ReadCookies(cookiesFile)? Used to parse arc browser cookies

Seems like another Chromium-based browser with more stuff attached...
Is it readable with the github.com/browserutils/kooky/browser/chromium package?


Implement new Stripe Checkout flow

Closes #1217
The new Stripe Checkout supports SCA, which is required by EU law by Sep. 14th.
Breaking change which requires the backend changes from https://github.com/all3dp/printing-engine/pull/1378

[ ] The code does at least what is defined in the ticket and does not affect any other functionality
[ ] The PR has a meaningful title
[ ] There is a link to the issue-id
[ ] There are no 'hacks' or shortcuts refactoring is preferred
[ ] The happy case of the app was tested at least once manually

If you merge this PR with dev/store-core-state it should work


[SAGE_1154] Creation Wizard Product Dropdown and Selected Item

Description
Add products dropdown and selected item example to the creation wizard mocks page.
Some notes for potential tasking/discussion:

[ ] Support for keyboard functionality

Screenshots

Dropdown:
Selected Item:

Testing in sage-lib
Navigate to http://localhost:4000/pages/mock/creation_wizard
Click on the Product Dropdown tab
Verify product dropdown and selected item look and function as expected.
Testing in kajabi-products
N/A
Related
https://github.com/Kajabi/sage-lib/issues/1154

@philschanely that sounds great. I'll go ahead and merge this one and if we can figure out any follow-ups needed based on the todos. Thanks for all the help and direction.


first build

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@anaobi what should this PR do?!

Please ignore. It was sent in error and was cancelled.
On Thu, May 30, 2024 at 12:40 PM Sebastian Müller @.***>
wrote:

@anaobi https://github.com/anaobi what should this PR do?!
—
Reply to this email directly, view it on GitHub
https://github.com/conda-forge/gstools-feedstock/pull/36#issuecomment-2139368005,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AN6FETBOS4LJ6MI5CNYC5CTZE4FZBAVCNFSM6AAAAABIQUU7NWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZZGM3DQMBQGU
.
You are receiving this because you were mentioned.Message ID:
@.***>


{Core} Bump to jmespath==0.9.5

Doc update to jmespath version 0.9.5
Customer has raised a Github issue https://github.com/MicrosoftDocs/azure-docs-cli/issues/1966 to get the doc updated with latest version of jmespath to reflect the issue that was resolved.
after upgrade Fedora32, run az command wil raises SynataxWarning
/usr/lib64/az/lib/python3.6/site-packages/jmespath/visitor.py:32: SyntaxWarning: "is" with a literal. Did you mean "=="?
if x is 0 or x is 1:
/usr/lib64/az/lib/python3.6/site-packages/jmespath/visitor.py:32: SyntaxWarning: "is" with a literal. Did you mean "=="?
if x is 0 or x is 1:
/usr/lib64/az/lib/python3.6/site-packages/jmespath/visitor.py:34: SyntaxWarning: "is" with a literal. Did you mean "=="?
elif y is 0 or y is 1:
/usr/lib64/az/lib/python3.6/site-packages/jmespath/visitor.py:34: SyntaxWarning: "is" with a literal. Did you mean "=="?
elif y is 0 or y is 1:
/usr/lib64/az/lib/python3.6/site-packages/jmespath/visitor.py:260: SyntaxWarning: "is" with a literal. Did you mean "=="?
if original_result is 0:

this issues is fixed by jmespath 0.9.5
jmespath/jmespath.py#187
Maybe this requirement document should be upgrade
https://github.com/Azure/azure-cli/blob/dev/src/azure-cli/requirements.py3.Linux.txt

add to S169

FYI, this error only appears in compilation time: https://bugs.python.org/issue34850#msg358775

It cannot be suppressed by the code in the module caused a warning, because the warning is emitted at compile time. You need to silence it before compiling that module. Once you have compiled it, warning will no longer be emitted.

To trigger it, delete <virtual_env>\Lib\site-packages\jmespath\__pycache__ and re-run az.


Wrong number of prio bits in NVIC for stm32f0x1.svd

Hi all,
We got a bug report in RTFM, https://github.com/rtfm-rs/cortex-m-rtfm/issues/287, where I tracked it down to an error in the stm32f0x1.svd which has the nvicPrioBits wrong.
The reference manual says (section 11.1.1) : 4 programmable priority levels (2 bits of interrupt priority are used)
However the SVD (stm32f0x1.svd) in stm32-rs has an error: <nvicPrioBits>3</nvicPrioBits>
I have no idea how the patching language you use there works, else I would have made a PR.
Thanks for your time!

Hi, I check the entire F0-line and the following has the same error:

stm32f0x0.svd
stm32f0x1.svd
stm32f0x2.svd
stm32f0x8.svd

I fixed a PR for this: https://github.com/stm32-rs/stm32-rs/pull/325


Eagle Issue: to_bytes and from_bytes possibly not converting speaker profiles and binary data properly

Have you checked the docs and existing issues?

[X] I have read all of the relevant Picovoice Eagle docs
[X] I have searched the existing issues for Eagle

SDK
Python
Eagle package version
1.0.1
Framework version
Python 3.12
Platform
Windows (x86_64)
OS/Browser version
Windows 11
Describe the bug
I'm making a face recognition system with voice verification as well. It has a recognize user, register user and delete user function, where register user collects a new face and voice profile, and recognize user verifies the face and voice and see if they match.
I'm trying to store exported speaker profiles in a MongoDB database as binary data as it cannot accept Eagle Profiles as data. However, when I convert the binary data from MongoDB back into an Eagle speaker profile for comparison with input data when the software is running, the scores from Eagle's process function are at 0 most of the time. The main code is shown below. Any help will be appreciated!
`from pveagle import EagleProfile
from pymongo.mongo_client import MongoClient
from pymongo.server_api import ServerApi
import cv2
import numpy as np
import face_recognition
from PIL import Image
import gradio as gr
from deepface import DeepFace
import pveagle
from pvrecorder import PvRecorder
import sys
import time
sys.path.append("Silent-Face-Anti-Spoofing")
from test1 import test  # from test1.py in the Silent-Face-Anti-Spoofing folder
gr.themes.builder()
uri = "hidden"
client = MongoClient(uri, server_api=ServerApi('1'))
collection = client['users']['faces']
collection.create_index("username", unique=True)
Load all embeddings into memory
user_embeddings = {}
def load_embeddings():
global user_embeddings
user_embeddings = {}
for user in collection.find():
stats = {}
username = user['username']
embedding = np.array(user['embedding'])
voice_profile = user.get('voice_profile', None)
if voice_profile:
voice_profile = EagleProfile.from_bytes(voice_profile)
stats['face'] = embedding
stats['speaker'] = voice_profile
user_embeddings[username] = stats
print(username)
load_embeddings()
access_key = "hidden"
state = 1
usersname=""
def recognize_user(image):
global state, usersname
if state == 1:
img = np.array(image)
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    # Anti-Spoofing
    label = test(
        image=img_rgb,
        model_dir='./Silent-Face-Anti-Spoofing/resources/anti_spoof_models',
        device_id=0
    )

    if label == 1:
        if len(face_recognition.face_encodings(img_rgb)) == 0:
            return "No person detected"
        else:
            name = recognize(img_rgb)
            if name in ['unknown_person', 'no_persons_found']:
                return "Unknown user. Please register if you have not or try again."
            else:
                state = 2
                result = DeepFace.analyze(img_rgb, actions=['emotion'], enforce_detection=False)
                mood = result[0]['dominant_emotion']
                usersname = name
                if name.endswith('_0001') or name.endswith('_0002') or name.endswith('_0003'):
                    name = name[:-5]
                return f"Hello {name}, you look {mood} today! Verify your voice to enter."
    else:
        name = recognize(img_rgb)
        if name in ['unknown_person', 'no_persons_found']:
            return "Hello unknown fake NPC. You shall not pass!"
        else:
            if name.endswith('_0001') or name.endswith('_0002') or name.endswith('_0003'):
                name = name[:-5]
            return f"You think you are {name}? You shall not pass!"
else:
    state = 1
    speaker_profile = user_embeddings[usersname]['speaker']
    if not speaker_profile:
        return "This profile has no voice registered. (Celebrity)"
    eagle = pveagle.create_recognizer(access_key=access_key, speaker_profiles=[speaker_profile])
    recognizer_recorder = PvRecorder(device_index=-1, frame_length=eagle.frame_length)
    recognizer_recorder.start()
    sum = 0
    for i in range(50):
        audio_frame = recognizer_recorder.read()
        sum += eagle.process(audio_frame)[0]
    recognizer_recorder.stop()
    eagle.delete()
    recognizer_recorder.delete()

    score = sum/50
    if score >= 0.6:
        return "Access granted. Have a great day!"
    else:
        return "Voice does not match. Try again."

rstate = 1
rname = ""
rembed = None
def register_user(name, image):
global rstate, rname, rembed
if rstate == 1:
if not name:
return "Name field empty."
    img = np.array(image)
    embeddings = face_recognition.face_encodings(img)
    if len(embeddings) == 0:
        return "No face detected in the image."
    else:
        if name in user_embeddings:
            return "Name already taken."
        rstate = 2
        rname = name
        embedding = embeddings[0]
        rembed = embedding
        return "Press 'Submit' again, then speak into the microphone until voice calibration is complete."
else:
    eagle_profiler = pveagle.create_profiler(access_key=access_key)
    recorder = PvRecorder(device_index=-1, frame_length=eagle_profiler.min_enroll_samples)
    recorder.start()
    enroll_percentage = 0.0
    while enroll_percentage < 100.0:
        audio_frame = recorder.read()
        enroll_percentage, feedback = eagle_profiler.enroll(audio_frame)
        print(enroll_percentage)
    recorder.stop()

    speaker_profile = eagle_profiler.export()
    document = {
        'username': rname,
        'embedding': rembed.tolist(),  # Convert to list for MongoDB storage,
        'voice_profile': speaker_profile.to_bytes()
    }
    collection.insert_one(document)
    user_embeddings[rname] = {}  # Add new data entry to memory
    user_embeddings[rname]['face'] = rembed
    user_embeddings[rname]['speaker'] = speaker_profile.to_bytes()

    rstate = 1
    eagle_profiler.delete()
    recorder.delete()
    return f"User {rname} registered successfully!"

def delete_user(name):
if not name:
return "Name field empty."
result = collection.delete_one({'username': name})
if result.deleted_count > 0:
    user_embeddings.pop(name)  # Remove data entry from memory
    return f'User {name} deleted successfully!'
else:
    return f'User {name} not found!'

def recognize(img):
embeddings_unknown = face_recognition.face_encodings(img)
if len(embeddings_unknown) == 0:
return 'no_persons_found'
else:
embeddings_unknown = embeddings_unknown[0]
match = False
threshold = 0.6
mini = threshold
min_dis_id = 'unknown_person'
for username, embedding in user_embeddings.items():
    face_embedding = embedding['face']
    distance = face_recognition.face_distance([face_embedding], embeddings_unknown)[0]
    if distance < mini:
        mini = distance
        min_dis_id = username
        match = True
return min_dis_id if match else 'unknown_person'

Frontend interface
theme = gr.themes.Soft(
primary_hue="slate",
secondary_hue="slate",
font=[gr.themes.GoogleFont('Roboto'), gr.themes.GoogleFont('Montserrat'), 'ui-sans-serif', 'sans-serif']
)
iface_recognize = gr.Interface(
fn=recognize_user,
inputs=[gr.Image(source="webcam", streaming=True)],
outputs=[gr.HTML()],
live=True,
every=1,
title="Face Recognition Attendance System",
allow_flagging='never',
clear_btn=None
)
iface_register = gr.Interface(
fn=register_user,
inputs=[gr.Textbox(label="Enter new user name."), gr.Image(source="webcam", streaming=True)],
outputs=[gr.HTML()],
title="Register New User",
live=False,
allow_flagging='never',
clear_btn=None
)
iface_delete = gr.Interface(
fn=delete_user,
inputs=[gr.Textbox(label="Enter user name to delete")],
outputs=[gr.HTML()],
title="Delete User",
live=False,
allow_flagging='never',
clear_btn=None
)
custom_css = """
footer {display: none !important;}
label.float {display: none !important;}
div.stretch button.secondary {display: none !important;}
.panel .pending {opacity: 1 !important;}
"""
iface = gr.TabbedInterface([iface_recognize, iface_register, iface_delete], ["Recognize User", "Register User", "Delete User"],
css=custom_css, theme=theme)
if name == "main":
iface_recognize.dependencies[0]["show_progress"] = False
iface_register.dependencies[0]["show_progress"] = False
iface_delete.dependencies[0]["show_progress"] = False
iface.launch()`
Steps To Reproduce
Just look at the code to see if there's anything wrong first or there is something about MongoDB or Eagle that I am unaware about. If the issue can't be solved, I can send the repo used.
Expected Behavior
High scores returned from Eagle's process function when voices from the same user are being compared

@LongMingWei - can you reproduce this issue by saving and loading the model to your hard drive? If it is only present when you are using MongoDB, then that would probably not be an issue with Eagle, but more likely an issue with the database code.

This is my new test script without using MongoDB:
`import pveagle
from pveagle import EagleProfile
from pvrecorder import PvRecorder
access_key = "hidden"
eagle_profiler = pveagle.create_profiler(access_key=access_key)
recorder = PvRecorder(device_index=-1, frame_length=eagle_profiler.min_enroll_samples)
recorder.start()
enroll_percentage = 0.0
while enroll_percentage < 100.0:
audio_frame = recorder.read()
enroll_percentage, feedback = eagle_profiler.enroll(audio_frame)
print(enroll_percentage)
recorder.stop()
speaker_profile = eagle_profiler.export()
voicebyte = speaker_profile.to_bytes()
eagle_profiler.delete()
recorder.delete()
speaker_profile = EagleProfile.from_bytes(voicebyte)
eagle = pveagle.create_recognizer(access_key=access_key, speaker_profiles=[speaker_profile])
recognizer_recorder = PvRecorder(device_index=-1, frame_length=eagle.frame_length)
recognizer_recorder.start()
for i in range(1000):
audio_frame = recognizer_recorder.read()
print(eagle.process(audio_frame)[0])
recognizer_recorder.stop()
eagle.delete()
recognizer_recorder.delete()
`
When recognizing my voice it was successfully detected at first, however as time went by the score went back to 0 even though I was still speaking. May I also check if there's a way for the profiler to create a new voice profile faster while still being accurate as well since the time to profile a voice is currently quite long. Thanks for the help!

Thank you, @LongMingWei, for providing the sample code. We ran it but were unable to reproduce the issue you described. Eagle continues to send meaningful scores even after several minutes.
If you're observing unusual behavior in the results, it may be due to the enrollment process. For testing, I suggest recording your voice using a different application, saving the audio file, and listening to it to ensure the quality is acceptable. Then, pass this file directly to the profiler instead of using pv_recorder and see if there is any difference.

Thanks for prompt help given so far! There's a problem I couldn't figure out however. When I try to directly pass in the audio file into eagle_profiler.enroll(audiofile), there is a TypeError: only integer scalar arrays can be converted to a scalar index. I checked the documentation and apparently pvrecorder.read() converts the aduio file into numbers. However, I couldn't find in the documentation how to directly convert this audiofile into this list of numbers that the eagle profiler can accept. Thank you!

As mentioned in the documentation, the enroll function accepts PCM signal only. You'll need to read the audio file using another library and then pass the PCM data to the Eagle profiler.
For an example, please take a look at this Eagle demo in which wave files are read and passed to the enroll function. This demonstrates how to properly extract and format PCM data for use with the Eagle profiler.

Hello! I managed to figure out how to convert the audio data into PCM data to enroll the voice, however something very weird happened. The results are very inconsistent, as one time I recorded my voice and it could detect it, but sometimes when I was not speaking it still detected as my voice. There was also another time when the old problem appeared again where the scores would be 0 throughout. I did try to downsample the audio file to match the required sample rate of pvrecorder, do you think that's the problem or it's another problem that I did not realise? Thank you!
`
def register_user(name, voice, image):  #Function to register new user including voice
if not name:
    return "Name field empty."
elif name in user_embeddings:
    return "Name already taken."
if not voice:
    return "Voice profile missing."

img = np.array(image)
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
embeddings = face_recognition.face_encodings(img_rgb)

# Anti-Spoofing
label = test(
    image=img_rgb,
    model_dir='./Silent-Face-Anti-Spoofing/resources/anti_spoof_models',
    device_id=0
)

if len(embeddings) == 0:
    return "No face detected in the image."
elif label != 1:
    return "Face is fake. Registration denied."

embedding = embeddings[0]

eagle_profiler = pveagle.create_profiler(access_key=access_key)
audio = read_file(voice, eagle_profiler.sample_rate)
enroll_percentage, feedback = eagle_profiler.enroll(audio)
if enroll_percentage < 100.0:
    return "Unable to register voice profile. Speak for a longer period of time."
else:
    speaker_profile = eagle_profiler.export()

document = {
    'username': name,
    'embedding': embedding.tolist(),  # Convert to list for MongoDB storage,
    'voice_profile': speaker_profile.to_bytes()
}
collection.insert_one(document)
user_embeddings[name] = {}  # Add new data entry to memory
user_embeddings[name]['face'] = embedding
user_embeddings[name]['speaker'] = speaker_profile

eagle_profiler.delete()

return f"User {name} registered successfully!"`

`def read_file(file_name, sample_rate):  # Function used in the register user function
rate_match = True

with wave.open(file_name, mode="rb") as wav_file:
    channels = wav_file.getnchannels()
    sample_width = wav_file.getsampwidth()
    num_frames = wav_file.getnframes()

    params = wav_file.getparams()
    params = list(params)

    if wav_file.getframerate() != sample_rate:
        params[3] = sample_rate
        print(params)
        print("Audio file should have a sample rate of %d. got %d" % (sample_rate, wav_file.getframerate()))
    if sample_width != 2:
        raise ValueError("Audio file should be 16-bit. got %d" % sample_width)
    if channels == 2:
        print("Eagle processes single-channel audio but stereo file is provided. Processing left channel only.")

if not rate_match:
    with wave.open(file_name, mode="wb") as wav_file:
        wav_file.setparams(params)

with wave.open(file_name, mode="rb") as wav_file:
    samples = wav_file.readframes(num_frames)

frames = struct.unpack('h' * num_frames * channels, samples)

return frames[::channels]`

It seems that saving and loading the speaker profile is working correctly then. Your question seems to be more concerned with Eagle's performance. Could you please try our demos to see if you notice the same unusual behavior in scoring?

Hello, seems like the same unusual behavior in scoring happened. The score would mostly be stuck at 0 when using the microphone enroll and test functions.

As we haven't observed the behavior you're describing on our end, we suspect there may be a configuration issue with your setup. We cannot assist you further unless you provide sample audio files for both enrollment and verification.
Regarding your demo questions, each demo includes a help option accessible with the --help flag, which provides comprehensive explanation on each flag. Additionally, detailed explanations can be found in the accompanying readme file. Please ensure you use all these resources before asking your questions here.
To specify the recording device, use the --audio_device_index option. To verify audio input to Eagle, use the --output_audio_path option in the mic demo to save recorded audio to a file for playback and analysis.

Hello! After testing, seems like the problem was indeed the audio_device_index, thank you! Just fyi, a lot of the functions like --audio_device_index and --output_audio_path are not mentioned in this demo readme and using --help also gave very little info as shown below, so maybe if there was any info I have missed you can add that info in the readme docs so that people can access it easier.

Thanks for letting us know, we will update the docs later.


Read shapefiles in UTF-8 mode

Currently, if a shapefile has attributes with letters like ä, ö, ü, etc, the resulting tiles show some strange letters. This pull requests fixes this issue by hard-coding the shapefile mode to UTF-8.

Current (bad):

With this patch (good):

This example rendered the following shapefile: https://data.geo.admin.ch/ch.bafu.schutzgebiete-aulav_jagdbanngebiete/

Thanks for making the change! Would it be possible to add a minimal test case that verifies a UTF-8 string from a shapefiles is decoded properly?

Works without hardcoding utf-8 now, by using the .cpg file. Thanks for the hint. Should I still look into a unit test or do we trust the library?

Works without hardcoding utf-8 now, by using the .cpg file. Thanks for the hint. Should I still look into a unit test or do we trust the library?

The unit test would be helpful! I'm hoping to switch to Apache SIS at some point so it would be good to make sure it has the same handling. There is a tiny shapefile.zip in here. I haven't worked much with shapefiles, do you have an easy way of modifying the shapefile to have a cpg and adding a test UTF-8 attribute to one of the points?
Also, it might be useful to have an extra option on ShapefileReader to override the encoding just like you can override the projection.  What do you think?

I edited planetiler-core/src/test/resources/shapefile.zip in QGIS:

Changed Van Dorn Street to Van Dörn Street and saved in the non-default encoding UTF-8.
Added a shapefile.cpg file which is a text file containing the string UTF8

I updated the test file ShapeFileReaderTest.java to check if it finds the string Van Dörn Street. With the patch in this pull request, the test passes. Without, it fails.

Are you suggesting to overload .addShapefileSource("EPSG:2056", ...) to something like .addShapefileSource("UTF8", "EPSG:2056", ...)?

I edited planetiler-core/src/test/resources/shapefile.zip in QGIS:

Changed Van Dorn Street to Van Dörn Street and saved in the non-default encoding UTF-8.
Added a shapefile.cpg file which is a text file containing the string UTF8

I updated the test file ShapeFileReaderTest.java to check if it finds the string Van Dörn Street. With the patch in this pull request, the test passes. Without, it fails.

Awesome, looks great! Thank you!

Are you suggesting to overload .addShapefileSource("EPSG:2056", ...) to something like .addShapefileSource("UTF8", "EPSG:2056", ...)?

Yeah I could go either way on this, since there are now 2 optional parameters (source encoding and projection) there could be 4 signatures based on which ones you want to set and 8 if we add a third...I should refactor this to allow come kind of parameter object to make it these kinds of settings easier to add.  Maybe a compromise would be to just add a character encoding argument to the existing method that includes a projection, and if it's null then ignore? Also I'd be fine doing nothing if adding the cpg file is an OK workaround.

I think the .cpg file is the simplest solution. It is a text file which contains the encoding, e.g., UTF8, as plain text. This is also already documented in the shapefile standard...

Sounds good to me! Thanks for making this change.


Grid

Create a proper Valo theme for vaadin-grid.

First iteration now done, in b8b6aacd9604602b85a6db2cbca791d9fa505ea1
Open new issues for any remaining problems or enhancements.


Transforms module has argmin::core::Error in its API

The Transform::power_transform module returns Result<Self, argmin::core::Error>, which ties us to the argmin version; we should conceal that from the user instead.

Fixed as part of #213


Compatibility with PIPseq

Hi!
I recently prepared PIPseq (v4) libraries from lentivirus-transfected cells. This includes running the fastq files through pipseeker package for read mapping, where I can get out possorted bam file and count matrixes (raw and filtered), among other output.
I can also see the reporter (Tomato) expression in the cells, so custom reference works.
Do you have any suggestions on how I could proceed with the existing output to run TREX?
Thanks!
Karl

I might not be the best to reply, but maybe I can give some pointers. Considering that pipseeker's output is a possorted bam file, you could probably use run10x. TREX will look for .bam files in the provided folder and run the analysis according to the parameters provided. You will have to provide parameters for the chromosome, start and end position of the barcode, etc. In the README you will find a description of other parameters.
If you want/need to delve deeper on what the command is doing, run_trex might be a good starting point.

I tried to use the run10x function, but I'm getting errors related to the barcode formats (e.g., my cell barcodes didn't end with "-1"). While that was easy to fix for the barcodes.tsv file, should the cell barcodes also end with -1 in the bam file?
Also, currently I'm getting an error that UMIs are not found:
/mnt/storage/karla/data/lentivirus/pipseq/V350294109/Mapped_reads_LV_BC/LV_11_test/outs$ trex run10x /mnt/storage/karla/data/lentivirus/pipseq/V350294109/Mapped_reads_LV_BC/LV_11_test/ --genome-name GRCm39 --chromosome chrTomato-N --samples LV_11 --delete -s 695 -e 724
Trex 0.4.dev402+g34d30aa
Command line arguments: run10x /mnt/storage/karla/data/lentivirus/pipseq/V350294109/Mapped_reads_LV_BC/LV_11_test/ --genome-name GRCm39 --chromosome chrTomato-N --samples LV_11 --delete -s 695 -e 724
Reading cloneIDs from chrTomato-N:695-724 in /mnt/storage/karla/data/lentivirus/pipseq/V350294109/Mapped_reads_LV_BC/LV_11_test/outs/possorted_genome_bam.bam
Found 0 reads with usable cloneIDs and UMIs. Skipped 154 without cell id, 0 without UMI.
Traceback (most recent call last):
  File "/mnt/storage/karla/mamba/minimamba/envs/trex/bin/trex", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/mnt/storage/karla/mamba/minimamba/envs/trex/lib/python3.12/site-packages/trex/__main__.py", line 60, in main
    module.main(args)
  File "/mnt/storage/karla/mamba/minimamba/envs/trex/lib/python3.12/site-packages/trex/cli/run10x.py", line 95, in main
    run_trex(
  File "/mnt/storage/karla/mamba/minimamba/envs/trex/lib/python3.12/site-packages/trex/cli/run10x.py", line 201, in run_trex
    reads = dataset_reader.read_all(
            ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/storage/karla/mamba/minimamba/envs/trex/lib/python3.12/site-packages/trex/dataset.py", line 145, in read_all
    assert len(umis) > 0, "No UMIs"
           ^^^^^^^^^^^^^
AssertionError: No UMIs

My bam file includes both CB and UB tags, where else could the UMI issue arise from?
R21304010020001:20241029155747:V350294109:1:777642:2:6  256     chr1    3120293 0       1S98M   *       0       0       GCCTTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTT    IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII     gx:Z:-  gn:Z:-  NH:i:18 HI:i:12 CB:Z:AAACGCGACGGCTGGG UB:Z:TTGTGGAACCTA

I'm not the ideal person to check these things (maybe @marcelm could help?).
My first thing to check would be that you can find barcodes in your bam file and that they are in the right chromosome and between the start and end position stated when calling trex run10x.
Reading of the alginment fle happens here. It could be what you are mentioning of cloneIDs not ending with -1 (as stated here). You could also look into running it with the logger in DEBUG and get a couple more messages.

There seem to be just 154 reads covering the cloneID in chrTomato, and all of these are missing the CB tag. To double check, please run:
samtools view /mnt/storage/karla/data/lentivirus/pipseq/V350294109/Mapped_reads_LV_BC/LV_11_test/outs/possorted_genome_bam.bam chrTomato-N:695-724

(or try first with -c to just count the number of reads it would output)
Maybe there are enough reads, pipseeker’s read mapping program doesn’t align them over the cloneID (because it’s a 30 nucleotide long stretch of mismatches). Do you know which program it uses? Of course it could just be the case that there are not enough reads. In the datasets I’m familiar with, the cloneID region has been amplified in order to get a lot more reads. Normal transcriptome data has much lower coverage.


TOAST space updated

We have changed a couple of things in our snapshot config.

Should be fixed now

Should be fixed now

Maybe to much fixed, you are up to date with the master branch but have not committed any changes!

Oops! Try now


add resource limit to code snippet

Suppress the error message "One or more containers do not have resource limits - this could starve other processes"

lgtm.


Liquids tend to flow to the left

Use the endless bucket in an open area and watch how slow the right side fills up.

Hm, liquids select random direction. Something is broken with direction selection.


v12 bundle does not include POST_R3 functions

I'm trying to make some of the @angular/* packages external. I use Angular v12 + Ivy, so it looks like I'm supposed to use  this bundle:
https://unpkg.com/<EMAIL_ADDRESS>but I'm constantly getting "No provider for CompilerFactory!" errors.
When I looked at the core bundle I found that it uses PRE_R3 functions instead of POST_R3.
as for CompilerFactory:
let compileNgModuleFactory = compileNgModuleFactory__PRE_R3__;
It's interesting that on v11 the same core bundle uses POST_R3
var compileNgModuleFactory = compileNgModuleFactory__POST_R3__;
Shouldn't it always include POST_R3?

There're newly a published version for Angular 13 which doesn't include R3 functions. They were included in previous versions to switch between Ivy and View Engine, VE support has been removed.


Add README.md and action.yml

Initial import of README.md and action.yml from https://github.com/fabiobaltieri/zephyr-setup.

This is an import of the action from my personal repo, I'll archive that one once this is merged. I've only updated the copyrights and the README references. Noted this as experimental in the title and the samples points at main, the only feature I have in mind before thinking about tagging it as v1 would be the automatic "latest" SDK version selection, I'll work on that next.

@kartben I can't add you as review for some reasons