use the Oracle PList format if the JVM Version is at least 1.7

As far as I remember I've submitted this against 2.3.1 already.
But I guess Will didn't have time to maintain the project anymore which is why you overtook it.
So here again, this time as PR. :-)

I have a big problem with this PR by @Vampire, merged by @tobium.
First of all it doesn't support Java 9 or Java 10 (see review comments).
And secondly it doesn't allow the property useJavaXKey anymore to be used with Java 1.7 or 1.8
All the sense of this function was to provide the same possibilities of the old Apple Java Plist key for newer Java version like 1.8 and above because the Oracle Plist format is insufficient.
When I previously used jvmversion="1.7" useJavaXKey="true" in my buildfile the PList created looked like:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<plist version="1.0">
  <dict>
    <key>CFBundleName</key>
    <string>pagina EPUB-Checker</string>
    <key>CFBundleShortVersionString</key>
    <string>1.7.2</string>
    <key>CFBundleAllowMixedLocalizations</key>
    <string>true</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleExecutable</key>
    <string>universalJavaApplicationStub</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>German</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleSignature</key>
    <string>PAEC</string>
    <key>CFBundleVersion</key>
    <string>1.7.2_ee71a</string>
    <key>CFBundleIconFile</key>
    <string>paginaEPUBChecker_1024.icns</string>
    <key>CFBundleIdentifier</key>
    <string>de.paginagmbh.epubchecker</string>
    <key>NSHumanReadableCopyright</key>
    <string>© 2010-2018 pagina GmbH, Tübingen, Germany</string>
    <key>NSHighResolutionCapable</key>
    <true/>
    <key>CFBundleDocumentTypes</key>
    <array>
      <dict>
        <key>CFBundleTypeName</key>
        <string>EPUB files</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>CFBundleTypeExtensions</key>
        <array>
          <string>epub</string>
          <string>EPUB</string>
        </array>
      </dict>
    </array>
    <key>JavaX</key>
    <dict>
      <key>MainClass</key>
      <string>de.paginagmbh.epubchecker.PaginaEPUBChecker</string>
      <key>JVMVersion</key>
      <string>1.7</string>
      <key>ClassPath</key>
      <array>
        <string>$JAVAROOT/paginaEPUBChecker.jar</string>
      </array>
      <key>SplashFile</key>
      <string>SplashScreen_Mac.png</string>
    </dict>
  </dict>
</plist>

Now if I use the same buildfile but remove the useJavaXKey attribute, the build file is missing essential details:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>CFBundleName</key>
    <string>pagina EPUB-Checker</string>
    <key>CFBundleShortVersionString</key>
    <string>1.7.2</string>
    <key>CFBundleAllowMixedLocalizations</key>
    <string>true</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleExecutable</key>
    <string>universalJavaApplicationStub</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>German</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleSignature</key>
    <string>PAEC</string>
    <key>CFBundleVersion</key>
    <string>1.7.2_ee71a</string>
    <key>CFBundleIconFile</key>
    <string>paginaEPUBChecker_1024.icns</string>
    <key>CFBundleIdentifier</key>
    <string>de.paginagmbh.epubchecker</string>
    <key>NSHumanReadableCopyright</key>
    <string>© 2010-2018 pagina GmbH, Tübingen, Germany</string>
    <key>NSHighResolutionCapable</key>
    <true/>
    <key>CFBundleDocumentTypes</key>
    <array>
      <dict>
        <key>CFBundleTypeName</key>
        <string>EPUB files</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>CFBundleTypeExtensions</key>
        <array>
          <string>epub</string>
          <string>EPUB</string>
        </array>
      </dict>
    </array>
    <key>JVMMainClassName</key>
    <string>de.paginagmbh.epubchecker.PaginaEPUBChecker</string>
  </dict>
</plist>

Where is the classpath entry? where is the JVMVersion key? where the splashscreen key?
This PullRequest is completely broken and needs to be reworked before ever released as version 3.4.0!
ToDo's:

[ ] The JavaX-key feature needs to stay supported even when Java version is higher than 1.7
[ ] The Oracle Plist format generated by this PR needs to be fixed
[ ] Support for Java 9 and 10 needs to be added

Is anyone still maintaining this project? @tobium?
Best,
Tobias

The JavaX-key feature needs to stay supported even when Java version is higher than 1.7

So we obviously need a switch for that!

It is not "obvious" that this is necessary or that anyone is broken.
If you think something needs changed, stop ranting and open a PR, but research properly first.
That Java 9 and 10 is "not supported" has nothing to do with this PR, they didn't even exist when this PR was created.
Why should useJavaXKey be supported?
It is not used, it has absolutely no meaning to OpenJDK Java (except something changed).
Only the Apple-own Java which was used up to 1.6 had the old format with the useJavaXKey support.
From 1.7 on Apple does not do their own Java anymore and the OpenJDK Java does not support that key and the old format, but the new format.
This PR is not "completely broken" but works fine in productive use.
Maybe not with 9 or 10, I didn't test with those, but it works perfectly fine with 8 and 9.

Sorry, this wasn’t meant to be rude.
I will send a PR with changes to the Oracle format feature introduced by you.
And I will clarify the state of the JavaX key feature which is still important.
Best,
Tobias

But what for?
At least when I implemented this, the JavaX key was not evaluated by Oracle Java as far as I remember.
And the resulting bundle with my PR applied is not broken but working exactly like expected (with Java 8 that is).

The JavaX key isn't standardized. It's supported by https://github.com/tofi86/universalJavaApplicationStub (~100 stars, ~30 clones a day), a project I created when Oracle took over Java development from Apple. The purpose was, that there is a launcher stub supporting the "old" Java key even on Java 7 and 8.
Then with Java 8 Oracle started showed warning messages, redirecting Apps using the Java key to the old Java 6. Together with the original developer of JarBundler we came up with the idea of using a non-standard key named JavaX and I did implementation in both projects (first in my fork, then merged here)
Why? Because the "new" Oracle Plist keys doesn't support all the features the Apple dictionary did. Call it "legacy" mode.
That's why the useJavaXKey attribute exists.
And quite a bunch of tools use this feature frequently! https://github.com/search?q=usejavaxkey&type=Code
We cannot just drop support for it.

I added PR #12 and wrote a short guide to what I did and why. Hope this helps! :-)
Have a nice weekend, guys!


Fix AI SDK may break down in Java11

Add jaxb to dependencies, fix AI SDK break down within Java11 , for issue #162
Existing issue:
Jaxb can't process xml attributes within Java11, it will throw exception when process ApplicationInsight.xml
unexpected element (uri:"http://schemas.microsoft.com/ApplicationInsights/2013/Settings", local:"ApplicationInsights"). Expected elements are <{}ApplicationInsights>, so removed attributes of ApplicationInsights node, this may affect later ai settings for we need to specify funnel name to set Flush Interval time.

Codecov Report

Merging #610 into develop will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff            @@
##           develop     #610   +/-   ##
========================================
  Coverage    36.05%   36.05%
========================================
  Files           73       73
  Lines         2832     2832
  Branches       387      387
========================================
  Hits          1021     1021
  Misses        1732     1732
  Partials        79       79

Impacted Files
Coverage Δ

...oft/azure/maven/function/AbstractFunctionMojo.java
38.88% <0%> (ø)
:arrow_up:

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 c2a0f2b...898bf72. Read the comment docs.


fix(compose): update to the latest compose wrapper [EE-3631]

Closes: EE-3631

Closes https://github.com/portainer/portainer/issues/7142


tox 3.4 breakage: NoneType is not iterable

$ tox -e py37
Traceback (most recent call last):
  File "/home/asottile/bin/tox", line 11, in <module>
    sys.exit(cmdline())
  File "/home/asottile/opt/venv/lib/python3.6/site-packages/tox/session.py", line 41, in cmdline
    main(args)
  File "/home/asottile/opt/venv/lib/python3.6/site-packages/tox/session.py", line 46, in main
    config = prepare(args)
  File "/home/asottile/opt/venv/lib/python3.6/site-packages/tox/session.py", line 28, in prepare
    config = parseconfig(args)
  File "/home/asottile/opt/venv/lib/python3.6/site-packages/tox/config.py", line 233, in parseconfig
    pm.hook.tox_configure(config=config)  # post process config object
  File "/home/asottile/opt/venv/lib/python3.6/site-packages/pluggy/hooks.py", line 258, in __call__
    return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
  File "/home/asottile/opt/venv/lib/python3.6/site-packages/pluggy/manager.py", line 67, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/home/asottile/opt/venv/lib/python3.6/site-packages/pluggy/manager.py", line 61, in <lambda>
    firstresult=hook.spec_opts.get('firstresult'),
  File "/home/asottile/opt/venv/lib/python3.6/site-packages/pluggy/callers.py", line 201, in _multicall
    return outcome.get_result()
  File "/home/asottile/opt/venv/lib/python3.6/site-packages/pluggy/callers.py", line 76, in get_result
    raise ex[1].with_traceback(ex[2])
  File "/home/asottile/opt/venv/lib/python3.6/site-packages/pluggy/callers.py", line 180, in _multicall
    res = hook_impl.function(*args)
  File "/home/asottile/opt/venv/lib/python3.6/site-packages/tox_pip_extensions.py", line 48, in tox_configure
    cfg.read(config.option.configfile)
  File "/usr/lib/python3.6/configparser.py", line 694, in read
    for filename in filenames:
TypeError: 'NoneType' object is not iterable

CC @gaborbernat

@gaborbernat any suggestions on how to access the [tox] config namespace now that config.option.configfile is ~usually None?

ah, seems I can use config.toxinipath instead of config.option.configfile

CC @seanh -- this has been released as v1.4.1

Works here! Thanks for the cc, I managed to miss it in my email for three days


Remove unknown option from git clone

Linked to #38
$ .\start_tesla_ble_mqtt.sh
Fetch addon files...
error: unknown option `ignore'
usage: git clone [<options>] [--] <repo> [<dir>]

Thanks @epenet yes this was spotted.
We are working with @baylanger and @iainbullock to make a seamless integration of both repos (HA addon & standalone docker). This will solve all the issues, but it is not ready yet (expect by the end of the week)


feat(ingest): powerbi # powerbi dataset schema snapshot should be ingested

Parse returned dataset columns and measures to schema fields and emit them to Datahub.
Add switch to ingest datasets even if they're not used in that workspace.
Allow ODBC datasets to be handled by query parsing

Checklist

[x] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[x] Links to related issues (if applicable)
[x] Tests for the changes have been added/updated (if applicable)
[x] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[x] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

I made a decision here that datasets which are not directly used in any report or dashboard, are ingested to Datahub. In the previous implementation those datasets would have been left out. Would it be better if such action would be behind a feature flag? For our use case it was must have requirement, but I'm not sure anymore whether that is the case with general use case.

Checking in - where are we on this?

I slightly changed course. As I finally realized that our tenant didn't have all the metadata switches enabled, I've now implemented the schema parsing from the scan result. Initially I had good progress, but I'm still trying to fix a case where in PowerBI, a dataset has some kind of folder in it and the columns are inside the folder. I will be dropping the DAX calls and other now unnecessary stuff asap and start to work towards finishing this code.

Waiting on another pass from @Mohd-gslab.
Thanks for the updates @looppi !

@mohdsiddique I fixed couple of issues in the code, one being Python 3.7 compatibility issue. I think this should be ready for review now. Thank you!

@looppi would it be accurate to say that https://github.com/datahub-project/datahub/pull/7519 is a superset of the changes here? I'm planning on merging that one soon cc @aezomz, but wanted to make sure that satisfies your requirements as well.

@hsheth2 Yes, it's correct, the #7519 includes an implementation of the PowerBI schema handling too.
I have one question though: Is there a test case in #7519 for testing the outcome of the column/measure ingestion? I couldn't find a change in the golden files related to this feature. In this PR #6440, all of the golden files changed so that the schemaMetadataevent is visible in the golden files.

@looppi thanks for the confirmation
I'm closing this PR in favor of https://github.com/datahub-project/datahub/pull/7519


Remove Qiskit 0.45 and 0.46 release notes from 1.0

Closes https://github.com/Qiskit/qiskit/issues/11835. We decided in the dev meeting that the simplest fix is to have each stable branch solely have release notes for its own minor version.

Do we need to update this on main too?


ValueError: math domain error

how to fix such problew?

Did you modify the axi_pkg.yml file? If so, could you post the content here, such that I can reproduce it?

I have replaced axi_pkg.yml flie with example.yml file. The example.yml file is as follows.
name: example_system
description: "Example of a configuration file"
routing:
route_algo: "XY"
use_id_table: true
protocols:
- name: "example_axi"
type: "AXI4"
direction: "manager"
data_width: 64
addr_width: 32
id_width: 3
user_width: 1
- name: "example_axi"
type: "AXI4"
direction: "subordinate"
data_width: 64
addr_width: 32
id_width: 3
user_width: 1
endpoints:
- name: "cluster"
array: [4, 4]
addr_range:
base: 0x1000_0000
size: 0x0004_0000
mgr_port_protocol:
- "example_axi"
sbr_port_protocol:
- "example_axi"
routers:
- name: "router"
array: [4, 4]
connections:
- src: "cluster"
dst: "router"
src_range:
- [0, 3]
- [0, 3]
dst_range:
- [0, 3]
- [0, 3]
bidirectional: true

I have installed verilog-format ,but the problem is still exists. Does the error relevant to verilog-format?

This error is thrown when no verible-verilog-format executable was found in your path. So you probably forgot to put it into your path. Otherwise there is also a --no-format flag you can give to floogen which will skip the formatting step.


React Player resets the player when changing the website theme (light/dark)

This issue happens when you are playing a YouTube video or SoundCloud audio and you change to light/dark theme. Apparently the change in theme resets the player state or something.

It was solved 🤣 , propably the video restarted due to global context change ( now chakar uses css variables for theming )
thanks for reporting @waleed-alfaifi


az aks create failed to create cluster with system assigned identity

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az aks create Extension Name: aks-preview. Version: 0.5.42.
Errors:
The command failed with an unexpected error. Here is the traceback:
can't set attribute
Traceback (most recent call last):
  File "/opt/az/lib/python3.8/site-packages/knack/cli.py", line 231, in invoke
    cmd_result = self.invocation.execute(args)
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 658, in execute
    raise ex
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 721, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 692, in _run_job
    result = cmd_copy(params)
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 328, in __call__
    return self.handler(*args, **kwargs)
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
    return op(**command_args)
  File "/home/aniket/.azure/cliextensions/aks-preview/azext_aks_preview/custom.py", line 971, in aks_create
    nat_gateway_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).nat_gateway_models
  File "/home/aniket/.azure/cliextensions/aks-preview/azext_aks_preview/decorator.py", line 101, in __init__
    self.init_nat_gateway_models()
  File "/home/aniket/.azure/cliextensions/aks-preview/azext_aks_preview/decorator.py", line 121, in init_nat_gateway_models
    self.nat_gateway_models = nat_gateway_models
AttributeError: can't set attribute

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az aks create --resource-group {} --name {} --node-count {} --network-plugin {} --service-cidr {} --dns-service-ip {} --docker-bridge-address {} --vnet-subnet-id {}

Expected Behavior
Environment Summary
Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.29, Ubuntu 20.04.4 LTS
Python 3.8.13
Installer: DEB

azure-cli 2.36.0

Extensions:
aks-preview 0.5.42

Dependencies:
msal 1.17.0
azure-mgmt-resource 20.0.0

Additional Context

route to CXP team

@aneran01 Thanks for reaching out to us and sharing this feedback. We are looking into this issue. We will provide an update on this once we have more details on this.

@aneran01 I was able to run the same above command to create the AKS cluster and it worked just fine.
Could you please upgrade your aks-preview extension and try to run the below command and check if that helps ? Awaiting your reply.

az extension update --name aks-preview         # command to upgrade your extension.

The command I used to create my AKS cluster:

az aks create --resource-group MyRG --name MyAKSName --node-count 1 --network-plugin azure --service-cidr <IP_ADDRESS>/24 --dns-service-ip <IP_ADDRESS> --docker-bridge-address <IP_ADDRESS>/16 --vnet-subnet-id /subscriptions/XXXXXX/resourceGroups/MyRG/providers/Microsoft.Network/virtualNetworks/MyVNET/subnets/MySubnet --generate-ssh-keys

Hope this helps.

@aneran01 I wanted to do quick follow-up to check if you had a chance to look at my above comment. Please let us know if you need any further assistance on this. Awaiting your reply.

@aneran01 The action is pending on you to test the above action plan. We will now proceed with closure of this github issue. If you need any further assistance on this issue in future, please feel free to reopen this thread. We would be happy to help.

Hi @navba-MSFT, just commenting to let you know I had the same error output as above but your solution solved it for me

az extension update --name aks-preview         # command to upgrade your extension.

Thank you!


[zh-cn] Update Link for Istio

The URL for the ISTIO documentation has been updated from https://istio.io/docs/concepts/what-is-istio/ to https://istio.io/latest/about/service-mesh/#what-is-istio.
Please use the new URL to access the latest information on ISTIO documentation.
Ref: https://github.com/kubernetes/website/pull/38812
Signed-off-by: ydFu<EMAIL_ADDRESS>

/lgtm
/approve


enchance RichText component with photo upload

Describe the problem feature solves
Right now quill allows you to add photos as Base64 - which is problematic when users uploads big images.
Describe the solution you'd like
Connect @admin-bro/uploads with RichText
Describe alternatives you've considered
enhance RichText without modifying @admin-bro/uploads, but file uploads should be separated from the AdminBro core
Acceptance criteria

user can pick a photo
user can drag it to RichText
after removing photo it will disappear from quill
user can see a list of uploaded photos

eventually decided that it has to be an external AdminBro Feature, we don't want put this to the core because it is very "custom" feature request


Verifier evaluate fails due to trailing characters

Reported by @uril following the quickstart guide on Azure, he got a message
Attestation failed: Verifier evaluate failed: json parse error\n\nCaused by:\n	trailing characters at line 1 column 420"

Here are the steps he reported doing:

Started a confidential Ubuntu VM on Azure and tested with it - using a container.
Created a container image based on CoCo existing image but built with openssl and added kbs-client (quay.io/uril/coco-kbs-pubkey – currently private)
When attesting, the kbs-client program must be run as root, as it needs access to /dev/tpm0.
Tested it - similar to what I did on my laptop (following kbs/quickstart.md), but without the environment-variable (AA_SAMPLE_ATTESTER_TEST=yes) so it’s actually doing attestation.
Attestation protocol is running but fails for me with an error message:

Attestation failed: Verifier evaluate failed: json parse error\n\nCaused by:\n	trailing characters at line 1 column 420"

I did not find an issue with a similar report. The parsing seems to be done by public_key_from_pem, which is code expanded from an openssl crate. So it looks like there is a bit of fussiness of this parser when there is extra trailing characters.

@c3d Hello Christophe, can you confirm the issue is fixed for you?

I think this is fixed now. If not, please reopen.


Expose skill ID for event source validation with skills

Issue #, if available:
N/A
Description of changes:
Allows users to optionally specify their skill ID when configuring an AlexaSkillEvent on a function. This will validate that the Lambda is called by the expected skill and is strongly recommended by Alexa.
I am open to changing the name to match the underlying CF property (EventSourceToken), but given this property must be the skill ID in this application I think this is a more sensible abstraction.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thank you for contributing! It looks like the Travis build is failing due to outdated dependencies that we fixed on develop (https://github.com/awslabs/serverless-application-model/pull/570) but haven't yet merged to master. Could you rebase onto develop and resubmit a PR? Otherwise, this looks great!

Done!


About address conflict, yarp clean etc

This QA explains what the message address conflict means and how to fix related issues.

Yarp legends and superstitions:

killing a module. It may happen that you need to kill your own yarp module because it is not more responding. Obviously, if you kill it with a -9 signal (e.g. killall -9 mymodule), the module will close abruptly without closing the yarp ports that it previously opened. Thus, if you execute the command yarp name list you will be still able to see these port listened by the yarp server. Is this bad? yes and no. Of course, it will make the list of yarp ports more difficult to be read, and you may think that a process owing that ports is still running. However, this is not related to the infamous address conflict issue and it is not preventing any application to run. If you restart the module that you just killed, it will simply reopen those ports without any problem.
PS: Do not forget to close any opened port in the destructor of your module class. It's a bad programming habit to terminate the process without cleaning up allocated memory and closing opened ports!

yarp clean. If you want to cleanup the list of opened ported displayed by the command yarp name list, you may execute the command yarp clean <timeout_in_seconds>. Is it useful? yes, this command will ask the server to verify if a port is still kept opened by a process, and it will remove it from the list if it does not answer within the specified timeout. Can this command fix an address conflict issue? No, this is a completely different issue. It will be not fixed issuing a yarp clean command. Is this command dangerous? It might be dangerous. If you specify a very small timeout, the port may be not able to respond in time and it will removed by the list! If you are working on slow network this may be extremely dangerous: never use a timeout smaller than 0.1s and never use this command on wireless network that may have temporary disconnections. If yarp clean unregisters core ports, such as those opened by yarprun --server, you might be not able anymore to stop a process using yarpmanager.

stopping and restarting the yarp name server  This is will not solve any address conflict issue and might generate new problems. For example, if you forget to stop a running yarp module:  1) you will not be able to stop anymore using the yarpmanager gui. 2) the running application will generate additional address conflicts (see explanation below). Ok, but I need to restart the yarp nameserver for a different reason. What should I do? First of all terminate all modules which are running on yarpmanager and on all the system terminal (check carefully on all the machines connected to yarp network.) Then, stop yarpmanager and all the yarprun --server services. They might be launched manually or through the cluster.py gui. Finally stop the yarp nameserver.

What an address conflict means.

It means that another process is currently owning the socket that yarp server is trying to assign to the port you want to open. yarp ports are just a human-readable shortcut to an ip address (e.g. <IP_ADDRESS>) and a socket (e.g. 10122). When two ports are connected, the machine internally establish a connection between the two ip  address and the two sockets. How yarp server assigns a socket to a newly created yarp port? It's very simple. It has a base address (by default 10000), and a counter that is progressively incremented. When a new port is opened/closed, the corresponding socket is marked by the nameserver as occupied/free. However the name server assigns a new socket to a yarp port, it is not able to detect if a socket is already occupied by: 1) a socket of a non-yarp application 2) a socket corresponding to a port of yarp application which has been not registered on the nameserver (this happens if you restarted the nameserver, but some yarp application is still running!)

How to solve an address conflict.

never stop the nameserver.
check the socket of the problematic port printed in the address conflict message. (e.g. 10107)
on linux use the command lsof | grep <socket_number>. On windows use the command netstat. The command will display the name of the process which is currently owning the socket. The command has to be executed on the machine on which the address conflict message is displayed. If you execute the command on a different machine, the problematic socket may be shown as free, because each machine has it own sockets.
You now know the process responsible of the issue and you have to terminate it.
4a. If this process is a yarp process, this means that someone restarted the nameserver without terminating all running yarp processes, so there are now occupied socketes not registered by the nameserver. Another possibility is that a port of a running yarp process was unregistered by a yarp clean command executed with a very small timeout or during a temporary disconnection of the physical network. To solve the issue you need to kill the process and check there are not additional "orphan" yarp modules. On linux you can use command like: ps aux | grep -i yarp to check if some yarprun, yarpdev & C is currently running in background.
4b. if the process is not a yarp process. This is pretty uncommon since the base default address for yarp port is 10000+, an area of sockets that is typically not used by system processes. However, if a third party application has been written to use a socket in that range, let's say 11000), you might experience problems when the nameserver tries to register a new port on that socket (btw, this means that there are already 1000 ports opened on your yarp network!). In this case you may consider changing the yarp default base address to different number using the yarp conf command on all the machines of network.

Last resort:

If you restarted the nameserver and you forgot to stop all yarp process on a large cluster of machines... you might consider rebooting all the machine belonging to the cluster. If the cluster is huge, this drastic solution might be faster than hunting the problematic running processes.


Add deprecation flag to package

Package of a particular version can't be supported indefinitely. There would be a time when it goes out of support. To better streamline the process, package authors have to first deprecate the package in PackageRepository and remove it from future version of PackageRepository.
So provide a way to indicate that the package is deprecated in Package CR.
Higher order systems can also use this to integrate with their notification system and provide better UX around package removal

@narahari92 I think https://github.com/vmware-tanzu/carvel-kapp-controller/pull/936 would address this, wouldn't it?

I would think so!

Related issue: https://github.com/vmware-tanzu/carvel-kapp-controller/issues/201

I've some questions around what yank means:

Does it still allow for package install to be created referencing this package version which is yanked?
What happens if there is already a package install referencing some package and this package gets yanked in new version of package repository?


nmslib install error

Please see the attached text file - the output was too much post straight to github.
Any help in resolving the error is appreciated.
Install Error.txt

same thing for me, any alternative?

Still waiting...💀

you should use python 3.8


runtime: stack growth during critical section harms performance

Hello,
etcd observed significant performance regression with Go 1.7.3.
Details follow or please visit https://github.com/coreos/etcd/issues/6876.

What version of Go are you using (go version)?

Build etcd binaries, others
Build etcd binaries in different Go versions with etcd commit https://github.com/coreos/etcd/commit/faeeb2fc7514c5caf7a9a0cc03ac9ee2ff94438b.

  Requests/sec:	36061.2548

What did you see instead?
etcd with Go 1.7.3 is 2x slower:
Summary:
  Total:	105.3251 secs.
  Requests/sec:	18988.8279

We expected Go 1.7.3 to be comparable or better.

Here's our profiling data

etcd-v3.0.2-go1.6.3-2M-serializable-reads-00.pdf
etcd-v3.0.2-go1.7.3-2M-serializable-reads-00.pdf

Note: etcd uses old golang.org/x/net/http2 but same behavior happens with latest http2; see https://github.com/coreos/etcd/issues/6876#issuecomment-262292981.
Could anybody help us debug this around Go runtime?
Please let me know if more information is needed.
Thanks a lot in advance!

Did you try tip?

I did.

Looked at the pb.gz profiles in coreos/etcd#6876. Slightly confusing because the Go 1.7 profile ran 2X as long as the Go 1.6 profile so the total times are not directly comparable. However, in Go 1.6 the scheduler ran for about 2s, while in Go 1.7 the scheduler ran for about 20s, so about 5X more. That probably has something to do with it.
http2 probably does not have anything to do with it. From the profile it seems clear that you are running a vendored copy of http2, not the one from the Go distribution itself.
Go 1.6:

Go 1.7:

We might be able to fix this in Go 1.8 if the fix is simple.
/cc @aclements @RLH

Yeah I gave different duration to collect metrics for the same workloads, but they can be confusing when doing profiling. So I ran the tests again, and here's the result:
./benchmark-master-go1.7.3 --endpoints=localhost:2379 --conns=100 --clients=1000 range foo --consistency=s --total=2000000

# Go 1.6.3
  Total:	55.5685 secs.
  Requests/sec:	35991.5985

# Go 1.7.3
Summary:
  Total:	105.6422 secs.
  Requests/sec:	18931.8332

And here are the pprof binaries if that helps.

Please try Go 1.8 and file bugs about any performance problems, thanks!
In the future, please start your trials of new Go versions earlier. Testing the move from Go 1.6 to Go 1.7 doesn't help us much when we're just about done with Go 1.8.

@bradfitz Thanks!
I ran the same tests with go1.6.4 vs go1.8beta1, and got same results
go1.6.4     took   49.8130 secs.
go1.8beta1  took   100.3238 secs.

Here are benchmark binaries and profiled data:
go1.6.4
etcd-v3.0.2-go1.6.4-2M-serializable-reads-2016121501.pdf
pprof.localhost-2379.samples.cpu.001.pb.gz
go1.8beta1
etcd-v3.0.2-go1.8beta1-2M-serializable-reads-2016121501.pdf
pprof.etcd-v3.0.2-go1.8beta1.localhost-2379.samples.cpu.001.pb.gz
wget https://storage.googleapis.com/etcd/tip/etcd-v3.0.2-go1.6.4
wget https://storage.googleapis.com/etcd/tip/etcd-v3.0.2-go1.8beta1
wget https://storage.googleapis.com/etcd/tip/etcdctl-master-go1.8beta1
wget https://storage.googleapis.com/etcd/tip/benchmark-master-go1.8beta1

sudo chmod +x ./etcd-v3.0.2-go1.6.4         && ./etcd-v3.0.2-go1.6.4 --version
sudo chmod +x ./etcd-v3.0.2-go1.8beta1      && ./etcd-v3.0.2-go1.8beta1 --version
sudo chmod +x ./etcdctl-master-go1.8beta1   && ./etcdctl-master-go1.8beta1 --version
sudo chmod +x ./benchmark-master-go1.8beta1 && ./benchmark-master-go1.8beta1 help

Leaving for @aclements to decide what to do here, and when.

I've figured out whats going on.
I was able to reproduce this issue only with GOMAXPROCS >= 3
This started happening on https://github.com/golang/go/commit/a6fb2aede7c8d47b4d913eb83fa45bbeca76c433
Which  enables new ssa compiler. Because of that, stack frames are now shorter, so stack growth happens while locks are taken. Previously due lo larger stackframes stack growth was happening outside of critical section. I've verified this by enabling blocking profiler, and indeed in bad case much more time is spent waiting on locks:
214.42mins of 215.35mins total (99.57%) in bad case
2376s of 2376.23s total (  100%) in good case
From looking at profiles, it seems  like the guilty lock is the one in coreos/etcd/etcdserver.(*authApplierV3).Apply, but I didn't verify this.
I've verified that following approaches make this regression disappear:

Bumping default stack size to 8kb  or changing growth factor to 4
Putting large array on stack to force stack growth earlier.
E. g:
+var q [160]int

func metricsUnaryInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) {
service, method := splitMethodName(info.FullMethod)
receivedCounter.WithLabelValues(service, method).Inc()

  var ccc [160]int
  start := time.Now()
  resp, err = handler(ctx, req)
  if err != nil {
          failedCounter.WithLabelValues(service, method, grpc.Code(err).String()).Inc()
  }
  handlingDuration.WithLabelValues(service, method).Observe(time.Since(start).Seconds())

  q = ccc
  return resp, err

}
However both of them look like hacks to me.
As for real solution, I think that something like @aclements  suggestion from https://github.com/golang/go/issues/18138 about allocating larger stack for functions that are known to require it, is the right way.

@TocarIP

From looking at profiles, it seems like the guilty lock is the one in coreos/etcd/etcdserver.(*authApplierV3).Apply, but I didn't verify this.

I can confirm this. We also suspect that there is a more serious lock contention triggered by some runtime changes. So we change the locking mechanism, the problem disappeared.
But as you mentioned, this issue is probably still worth fixing.

@TocarIP thanks for the excellent analysis.
If you can still reproduce this, I'd be curious what the effect of CL 45142 is. I'm really not sure what the right answer here is, but that hack might mitigate things from both this issue and #18138.
I've been thinking for a while that the latency of stack growth can be problematic, but this is an interesting case where it's not just a problem with large stacks. The old segmented stacks approach had less of this problem, but it had other anomalies. I wonder if it's possible to efficiently but incrementally move a stack.

I've tested CL 45142, and it doesn't help

At my request, @TocarIP also checked CL 43150 (thanks!). It's not a deep fix, but it does at least help a little--from 13.4s to 12.4s.

I’ve done a bit of work on stack copying this cycle. Much of it is in. https://golang.org/cl/109001 is under review. I have one more I hope to mail soon, but no promises. If anyone can still reproduce readily, I’d be curious to hear whether / how much tip has improved, and whether the linked and future CLs help.

From briefly reading this issue, it sounds like this might be resolved with https://github.com/golang/go/commit/016d7552138077741a9c3fdadc73c0179f5d3ff7 which should be included in Go 1.19.


Requirements gathering with the curator

As a developer I want to have a set of meetings with the curator to define the improvements that are needed in the application
Acceptance Criteria

[x] Document with requirements ready

Done.


Open Source NextJS Obsidian Blog

Is your feature request related to a problem? Please describe.

 No changes necessary. also support images, gifs, etc.

Describe the solution you'd like

Next JS blog with backlinks + normal links (statically generated) & link previews on hover
open source blog post & documentation on how to get started
a _public folder with subdirectories for the path
Obsidian Export > Post Processing (remove .md from links) >  Remark > NextJS

Nice to haves: (or future TODOs)

Config to grab markdown from github repo
maybe a search feature

Describe alternatives you've considered

quartz

https://github.com/fleetingnotes/fleeting-notes-website


Add unit tests for cn.escheduler.common.utils.JSONUtils

I've analysed your codebase and noticed that cn.escheduler.common.utils.JSONUtils is not fully tested. I've written some tests for the methods in this class with the help of Diffblue Cover.
Hopefully, these tests will help you detect any regressions caused by future code changes. If you would find it useful to have additional tests written for this repository, I would be more than happy to look at other classes that you consider important in a subsequent PR.

very good job， thanks for a lot！


Sleep during sensor reading methods

Hi, I'm looking for justification for the sleep functions in the sensor reading methods.
There is a commit from May 2020 stating they were added to fix timing issues. But I wonder if they really needed to be added to the sensor reading methods. They significantly reduce the max sample rate on the raspberry pi, and I haven't had any issues since removing them:
https://github.com/adafruit/Adafruit_CircuitPython_ICM20X/commit/516f2dc71a0ad1a714907d5b4332997b9cf7c6ec
I'd like to create a pull request unless I have mistaken their purpose.

you could do a PR, and we may test/merge when we can!

Hello, according to my tests, there could be 3 situations that timing is important:

After, Reset (soft-reset) DEVICE_RESET in the PWR_MGMT_1 register
After Sleep
After reading a different memory bank.  But, not sure about this.

Maybe the logic behind removing the sleep from the acc, gyro readings was that probable you could read the 6 values (7 with temp) in one shot, so time was less sensitive there.
Disclaimer: I have not tested the ICM20649.


Fix for offscreen cancel/save buttons

This should solve issue #119

This has been rolled up into #127, so I'm going to go ahead and close this one.


FV - Add Amplitude events to all new FV screens

Switch device error screen
Instructions screen

@LiavGut couldn't find those events in the doc you shared some time ago https://docs.google.com/spreadsheets/d/1nTiU5h2XtsGhJ8Vi0USn-B5jnUSMWs5OEhjwPfatthA/edit#gid=0
Could you please specify
a) events names
b) additional data (if need)
c) the exact moment to dispatch them (e.g. to send "instructions" event on screen displayed or on "GOT IT" has been pushed or they'll be 2 different event we have to send both)

@serdiukov-o-nordwhale we just need to have the event for when the user is shown the instructions screen
for the "try another device" we already have the event for 3 errors, just make sure it is still fired as expected

@sirpy okay, then i need event for the instructions screen
is FV_INSTRUCTIONS will be ok ? it will be dispached once ZoOm preloaded and instructions screen is shown

Hotfixed in master: https://github.com/GoodDollar/GoodDAPP/commit/25e51857e50e8d8bb77fc85546fd4ad1d4ee6468
Appended to this react-native PR: https://github.com/GoodDollar/GoodDAPP/pull/2675

@serdiukov-o-nordwhale for instruction screen the  FV_INSTRUCTIONS event is displayed
but as I remember for 3 unsuccessful attempts should be the FV_TRYAGAINLATER event, but there is not that event

@WolfVV just try to scroll console down. the event should be below the latest one GOTO_FACEVERIFICATIONERROR.
to get the exactly events sent to the Amplitude (without any other lines matching 'event') use 'fired event' search query:


MRTK3 DictionExample doesn't re-enable keyword recognition after dictation is enabled and disabled again

Describe the bug
MRTK3 DictionExample doesn't re-enable keyword recognition after dictation is enabled
To reproduce
Steps to reproduce the behavior:

Go to MRTK3's DictionExample
Stare at "Start Dictation" button and say "Select"
Dictation service should start
Click "Stop Dictation" button
Stare at "Start Dictation" button and say "Select"
Dictation service does not start (BUG)

Expected behavior
Dictation service should start.

Fixed with

https://github.com/microsoft/MixedRealityToolkit-Unity/pull/11744


Allow Racial Features to be removed individually

Some subraces replace, or allow replacing, a feature granted by the parent race for a feature unique to the subrace (Half Elves have the option to replace Skill Versatility for a unique feature, Tiefling variants replace Infernal Legacy with their own Legacy features)

I will wait until we have Race items to see how we can tackle this on a more permanent and full fashion, but for the meantime I'll probably add the option to remove them

I've seen how D&D Beyond Importer works around this by creating variant versions of the same race, and I think its an acceptable workaround in the meantime. Making options generically deletable is a little complicated (I did it for the case of proficiencies, but it's not easy to generalize sadly)
I don't want to mark this as wontfix though, keeping it open for now, and maybe I'll try to tackle it again in the future.


Fixed issue with single-item lists rendering incorrectly. Fixed all naming conventions and coding standards to adhere to PEP8.

The changes are predominately formatting and conventions, with a minor change in the header generation section that allows for correct handling of one-item lists.

I support this patch, it's much cleaner and adheres mostly to PEP8. I wonder what you meant with

with a minor change in the header generation section that allows for correct handling of one-item lists.

.. can't find it in the code.

Thanks @Lekic 👍

It's there in v1.0.3 now -> https://pypi.python.org/pypi/json2html


Change Mobile Menu Display

Mobile menu can pull from left instead from top and fill 2/3 of the mobile column which will make the links bigger and easy to tap.

Unfortunately I have no idea how to do this, so leaving it open in case if someone can contribute.


Add allen relations

Tickets addressed: Closes #995
Review: By commit
Merge strategy: Merge (no squash)

Description
Implementation of allen temporal relations for coexistence goals. This is achieved by means of a new constraint that allows to define the activity templat start and end timepoints relative to the start and end timepoints of the activity directive
Verification
Code inspection
Implementation of 7 tests for each of the primary relations in SchedulingIntegrationTests
Documentation
No documentation has been invalidated.
Future work
I will produce a new page in the Aerie User's Guide describing how to model these relations, including some examples

Closing for now. Please re-open when we are ready to merge.

I discussed with Adrien the status of issue #1087, which might impact the way in which Allen relations are expressed. It seems like #1087 might take some time to be implemented, therefore I will proceed to answer Adrien's comment and close this PR.


Can't reference file paths in custom QEMU arguments due to sandboxing

Describe the issue
When trying to run a VM which has worked before, I see this error:
libqemu-aarch64-softmmu.utm.dylib: -drive if=none,media=disk,id=drive0,file=/Users/gavinpacini/Library/Containers/com.utmapp.UTM/Data/Documents/WhonixGateway.utm/Images/Whonix-Gateway-XFCE-<IP_ADDRESS>.3-14-g15587d75153fcf0860f1de8d9675cf4889568f00.raw,cache=writethrough: Could not open '/Users/gavinpacini/Library/Containers/com.utmapp.UTM/Data/Documents/WhonixGateway.utm/Images/Whonix-Gateway-XFCE-<IP_ADDRESS>.3-14-g15587d75153fcf0860f1de8d9675cf4889568f00.raw': Operation not permitted

I have a custom argument for the QEMU command:
-cpu cortex-a72 -smp cpus=4,sockets=1,cores=4,threads=1 -machine virt,highmem=off -accel hvf -accel tcg,tb-size=512 -bios /Applications/UTM.app/Contents/Resources/qemu/edk2-aarch64-code.fd -m 2048 -name "Whonix Gateway" -device qemu-xhci -device usb-tablet -device usb-kbd -device virtio-blk-pci,drive=drive0,bootindex=0 -drive "if=none,media=disk,id=drive0,file=/Users/gavinpacini/Library/Containers/com.utmapp.UTM/Data/Documents/WhonixGateway.utm/Images/Whonix-Gateway-XFCE-<IP_ADDRESS>.3-14-g15587d75153fcf0860f1de8d9675cf4889568f00.raw,cache=writethrough" -nic none -device virtio-serial -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 -chardev spicevmc,id=vdagent,debug=0,name=vdagent -uuid 1F51737F-55BE-40E7-A6F0-E5B2AD101018 -rtc base=localtime -device virtio-net-pci,netdev=external -device virtio-net-pci,netdev=internal -netdev user,id=external,ipv6=off,net=<IP_ADDRESS>/24 -netdev socket,id=internal,listen=:8010

What's very strange is that when I go into the VM settings and then the "QEMU" tab and untick the "Advanced: Bypass...", remove the extra custom command, I can then boot the VM. Then, if I go back into the "QEMU" tab and re-tick the "Advanced: Bypass...", re-add the extra custom command, the VM will boot correctly with my custom command. This VM then works until I quit UTM.
Once I re-open UTM the VM will fail again with the same "Operation not permitted" error.
I've tried a few things already:

Checked the permissions on the .utm folder and files inside. All look fine and don't change.
I've looked at the config.plist file when it's failing and then again when it's working and there is no diff.

Would really appreciate any help on this!
Configuration

UTM Version: 2.0.27
OS Version: 11.2.3
Apple Silicon

Upload VM
https://drive.google.com/file/d/1aN763gxSqlPP2KN9bOOnyYKZkZJsoJSI/view?usp=sharing

type sudo and then put space then type in the qemu command you wish to run and press enter

FYI if you don’t know the answer please refrain from commenting.

Thanks @conath!
Okay, is there some work-around which you have found? I see you have posted a diff in #1216 but I'd prefer not to have to fork UTM.
I commented on #2375 that allowing CocoaSpice to connect to an already running QEMU VM would work for my needs. @osy is this something you'd be open to a PR for (as per my comment on #2375)?

One way to fix this would be to, while parsing the added QEMU arguments, check if there is a path included in the parameter. We could then check if that file exists at the path and, if it does, ask the system to access it through the sandbox.
In pseudocode:
newQemuLine = "-bios /path/to/my/custom/bios.fd"
# Check if the QEMU argument contains a file path, typically begins with "=/" or " /"
if (newQemuLine.contains("=/") || newQemuLine.contains(" /")) {
    string = tryToGetPathFromLine(newQemuLine)
    url = maybeURL(string)
    if (url) {
        system.beginAccessingFile(url)
    }
}

What do you think about this @osy?

I've for now forked the codebase and added the suggestion you made on #1216 @conath. This works well for my needs, but I'd really like to have a future proof solution which is in the main UTM codebase.
@osy the main reason I am using the custom QEMU arguments is to build a more complex network. Would your preferred way of doing this then be a PR which allows for more complex network settings in the network configuration view?

@GavinPacini You could disable the UTM networking and add your networking arguments via the QEMU tab of the configuration. Does that work?

@conath, wow that actually works quite nicely! I didn't realise I could rely on everything else and just do the networking in the extra config. Thank you!
From my side this can closed now, not sure if you want to tackle the larger issue?

I'm going to close it for the same reason that #1216 was closed: the advanced config should not be needed, ideally. For specific use cases like yours it is always best to find another solution – be that a new configuration feature or a workaround.
If you need an improved network configuration @GavinPacini, then please open a separate issue (or even better, a PR).


fix: ignore math lang

@ben519 is this enough to fix the issue? It doesn't appear there's any programming language that uses math so..
Fix #155

That should do the trick. Thanks!


Set user last login times.

This handles the most common ways that last login times are set in LDAP.

I force pushed a deliberate test failure to make sure that our tests are running correctly. I just pushed the working test.


Surprising history.collect behavior with train_loop + test_step.

I found the history.collect behavior slightly surprising when a test_step runs less frequently than the train_step.  Concretely, I was surprised that collect now returns train metrics at the same frequency as the test metrics. Consider the following toy setup.
def increment(state, key):
    state[key] += 1
    logs = ciclo.logs()
    logs.add_metric(key, state[key])
    return logs, state

state = {"a": 0, "b": 0}

_, history, _ = ciclo.train_loop(
    state,
    ciclo.elapse(range(6)),
    {
        ciclo.on_train_step: lambda state: increment(state, "a"),
        ciclo.on_test_step: lambda state: increment(state, "b"),
    },
    test_dataset=lambda: ciclo.elapse(range(1)),
    epoch_duration=2,
    stop=6,
)

If we collect both a train metric and a test metric, we get
steps, a, b_test = history.collect("steps", "a", "b_test")
print(steps)    # [0, 2, 4]
print(a)        # [1, 3, 5]
print(b_test)   # [1, 2, 3]

where the steps and the train metric (a) are subsampled.
Compare this to collecting the train and test metrics separately
steps_a, a = history.collect("steps", "a")
steps_b, b_test = history.collect("steps", "b_test")
print(steps_a)  # [0, 1, 2, 3, 4, 5]
print(a)        # [1, 2, 3, 4, 5, 6]
print(steps_b)  # [0, 2, 4]
print(b_test)   # [1, 2, 3]

where the train steps and metric are not subsampled.
I wouldn't say this is a bug, but perhaps the behavior should be documented somewhere or included in some examples?

Yeah, this should be documented, collect returns rows where all keys appear so some keys might be subsampled up to the least frequent ones, if they have no overlap you get empty lists. I've used collect mainly to plot so this makes sense. It there are other use cases maybe we can generalize the behavior with a flag.

In terms of use cases, I'm not sure it is necessary to add a flag – I was trying to use collect to help me debug but grab all of the metrics conveniently. I was slightly confused that things didn't match the Keras logger output during training.
I imagine that simply calling collect twice would be enough of a workaround for most trivial cases like mine.


Multiple languages README

For those international open source repositories, they may have multiple READMEs for different languages. So that if gitea could display the related README according user setting or web browser's setting, that's good.
For example, assume there are README.md and README_ZH.md on the repository root.
When the repository's has enabled multiple languages README.
When a Chinese user view the repository's home page, it will display README_ZH.md, others will display README.md.
Of course, someone may always want to see the default REAME.md(me :)), so this could be changed by user's setting.

We could use ui language preference set by user

Fixed by #20508?


Add clean up job

We need to clean old containers and images

Make sure that we remove old images, layers and so on in order to avoid running out of space on the docker host

https://www.brianchristner.io/docker-cleanup-script-comparison/

The job will be triggered by Jenkins. Every night will do. It doesn't have to be a part of the pipeline
I will leave this choice to you. Important thing that we understand what is going on so we can document this behaviour for users

One more thing we need to clarify. Because of we are mapping docker socket, docker commands will be executed directly on docker host, as well as all layers images and containers and so on will store there, am I correct? If so, we don't need to be care about labels and slaves, because docker clean up will run docker out of docker.

@alexsedova it could be so that we will have multiple slaves running on different hosts so consider making generic solution

@Andrey9kin My suggestion using NodeLabel Parameter plugin to run docker clean up job on every node labeled as a docker host, for example. To do clean up I'm using docker-clean tool, see https://github.com/zzrotdesign/docker-clean . "docker-clean images" command removes all tagged and untagged images aren't associated with running containers, stopped containers, dangling volumes, and networks. This command doesn't remove running containers and images these containers based on. I'm going to create dsl method in JobBuilder class. If I missed something important or forget some scenarios , please contact me.

@Andrey9kin @drBosse
Watch the JenkinsIssues!
Found the issue JENKINS-33756
Job is run twice on first slave using label parameter. If the box "Run on all nodes matching the label"
is checked, the job will be triggered twice in the node it has been started. For example,
If we have 4 slaves are matching one label, we will have 5 running jobs instead of 4.
These issue is not resolved yet.
We don't use cluster of docker hosts, that is why we are running job on
all slaves matching "docker" label even they are running on the one host. We could run
clean up job just once, while we don't have a multihost cluster - it is another
possible solution. In this case we will not get the issue with double job running.


SyntaxError: Unexpected token import on running "node server.js"

Version
Here is a screenshot of the versions which I have when I run ng --version

Repro
When I follow the steps in using angular universal:

I cloned the repo.
I installed typings globally using npm.
I then ran npm install on the root directory.
I ran typinngs install list of the dependencies specified
I then tried running node server.js, but I get this error on doing so.

NB: Please let me know any more needed information and I will provide. Thanks

@bennawanda did following @MarkPieszak's suggestion solve your problem?

Thanks for reporting this issue. However, you didn't provide sufficient information for us to understand and reproduce the problem. Please check out our submission guidelines to understand why we can't act on issues that are lacking important information.
If the problem persists, please file a new issue and ensure you provide all of the required information when filling out the issue template.


DogeHouse emojis are broken

I just noticed this while in a room

could you explain a bit further?

Yeah, sure...  When I click on an emoji, it sends the text not the actual emoji(more like the emoji name)

Preview

yeah its broken

can reproduce, maybe the parser got broken?

I submitted a fix: https://github.com/benawad/dogehouse/pull/2785

I have a fix for it, I'll PR soon


Babel uses reserved keyword default when compiling

When installing additional npm packages, some of them get transpiled using .default to access an object. However, in GAS default is a reserved keyword resulting in an error.
Expected Behavior
Webpack should use Babel to transpile Object property accessing using the bracket notation instead of the dot notation.
Current Behavior
clasp push throws error
{
errors: [
    {
      message: 'Syntax error: Missing name after . operator. line: XXX file: bundle.js',
      domain: 'global',
      reason: 'badRequest'
    }
  ]
}

bundle.js:
//...
Object.defineProperty(exports, "DataFrame", {
  enumerable: true,
  get: function get() {
    return _dataframe.default;
  }
});
//...

index.js:
import DataFrame from 'dataframe-js';
//...
const response = () => {
  return JSON.parse(UrlFetchApp.fetch(url, { method: 'get' }));
}
DataFrame.fromJSON(response()).then(df => {
  Logger.log(df);
 });

Possible Solution
Beginner friendly explanation for installing additional packages that might conflict with the default keyword or include babel-preset-gas in your project setup.
Steps to Reproduce

clone apps-script-starter
cd to project, npm install dataframe-js
use dataframe-js functionality
npm run deploy

Context (Environment)
I am a beginner wanting to set up an environment to develop in GAS using JavaScript. Since I'm handling data from APIs to be pushed to a Google Sheet, I would like to work with data frames to make data handling easier.

@p6l-richard - I've updated the Apps Script Starter kit to use the new v8 Runtime that should resolve this issue.  Please check.

For this particular issue it still doesn't work as the file becomes too big (>2MB file size). Apparently facebook business SDK is too heavy when bundled (even though in your settings the minimizer is enabled).


error check and change tone

Check for conversation response error
Asking questions in an expired conversation will result in an exception, due to missing content in the response. This exception message is quite confusing, saying Object reference not set to an instance of an object.
The response text in an expired conversation is like:
{
    "type": 2,
    "invocationId": "8",
    "item": {
        "firstNewMessageIndex": null,
        "defaultChatName": null,
        "conversationId": "51D|BingProd|742...BD8",
        "requestId": "e899bba0-a575-4937-b273-5d67f9f0dd92",
        "telemetry": {
            "metrics": null,
            "startTime": "2023-05-15T08:33:38.7087779Z"
        },
        "result": {
            "value": "InvalidSession",
            "message": "Conversation '51D|BingProd|742...BD8' doesn't exist or has expired. Conversations expire after 06:00:00.",
            "serviceVersion": "20230513.5"
        }
    }
}

So I changed the exception message to the corresponding error messages in the conversation response.
After this modification, the exception message is like:
InvalidSession: Conversation '51D|BingProd|742...BD8' doesn't exist or has expired. Conversations expire after 06:00:00.
Support for changing tone
Solve #7
Add Tone property in BingChatClientOptions, which is an enum and supports all 3 tones. If not set, default tone is "Balanced".
Add corresponding arguments in the request payload.

Thank you for your work! :heart:


Added test file for is_number

@geekcomputers Please merge this repository.
The changes done in the Pull Request (PR) are very good.


feat: drop support for any non char type

Codecov Report
Patch coverage: 99.05% and no project coverage change.

Comparison is base (3c81784) 98.69% compared to head (6190d95) 98.69%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #35   +/-   ##
=======================================
  Coverage   98.69%   98.69%
=======================================
  Files          45       45
  Lines        4597     4605    +8
=======================================
+ Hits         4537     4545    +8
  Misses         60       60

Files Changed
Coverage Δ

include/emio/detail/ct_vector.hpp
92.85% <ø> (ø)

test/unit_test/test_dynamic_format_spec.cpp
100.00% <ø> (ø)

test/unit_test/test_format.cpp
99.60% <ø> (ø)

test/unit_test/test_format_as.cpp
100.00% <ø> (ø)

include/emio/formatter.hpp
96.00% <87.50%> (ø)

include/emio/buffer.hpp
97.79% <95.45%> (-0.02%)
:arrow_down:

include/emio/detail/conversion.hpp
95.65% <100.00%> (ø)

include/emio/detail/format/args.hpp
100.00% <100.00%> (ø)

include/emio/detail/format/dragon.hpp
97.74% <100.00%> (ø)

include/emio/detail/format/format_to.hpp
93.33% <100.00%> (ø)

... and 17 more

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


[Ambient] AuthorizationPolicy targetRef support

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
When using ambient mode binding policy to waypoint should use targetRefs (plural) however there is an undocumented targetRef (singular) field. When used some functionality does not work correctly

status writing is broken
policy acceptance/use needs to be investigated still

changing to the plural targetRefs field which accepts a list is a viable workaround
Version
control plane and data plane @ 1.24.0 impacted

Additional Information
https://istio.slack.com/archives/C041EQL1XMY/p1731933435853339 is the troubleshooting thread which initially highlighted this.

There was a difference in how status logic and apply logic were accessing targetRefs which caused status not to work with the singular version of the field

cc @keithmattix , I recall targetRef was introduced first, and marked as hided soon, correct me if I'm wrong.

I think that's correct. I just accessed that field incorrectly when I wrote it the first time around. I have a fix merged and cherry-picked. Should be fixed in 1.24.2 when that releases.


🚚  NICE-62 shared + ds; 🎉  jerandky [skip ci]

[x] 🚚  NICE-62 shared + ds

Move as much as we can to hopefully do as little as we can in adding another site
This is not really "good" but the purpose is to fix the RSS feeds 😬

[x]  🔥 NICE-62 NEXT_PUBLIC__FATHOM_CUSTOM_DOMAIN

Boo. But yea, pointless now.

[x] 🎉  NICE-62 jerandky init

This is not handled by GitHub + Vercel, manual vercel link && vercel deployment for now
There are ... I think 5 more at some point  with varying levels of complication 😓

[x] ✅  NICE-62 fake test for ci
[x] 💚  (next) NICE-62 ssr true, avoid NEXT_DYNAMIC_NO_SSR_CODE

Not sure what changed, but check a preview URL out to see if anything is broken
EDIT: er, der, yea<EMAIL_ADDRESS>-- need to figure out which one has dynamic SSR, rest can be false

This pull request has been deployed to Vercel.

Latest commit:
e674716

✅ Preview:
https://jeromefitzgerald-815obitu7-jerome5.vercel.app

🔍 Inspect:
https://vercel.com/jerome/jeromefitzgerald/6j1DLSju7FRgw56a372r5ZNrK6xt

View Workflow Logs

This pull request has been deployed to Vercel.

Latest commit:
f454cf0

✅ Preview:
https://jeromefitzgerald-4k2iad178-jerome5.vercel.app

🔍 Inspect:
https://vercel.com/jerome/jeromefitzgerald/8aaLc554XGWsMqngXo4xfdssLRuL

View Workflow Logs


Define specific Syntax

It would help to save time if there were a possibility to define a specific Syntax how the Notes will be copied into Obsidian.
I for example strictly use the "Title" - "Content" Method. By now the title is put into an H2-Heading which is absolutely fine.
Since Im using admonition-plugin which uses the following Syntax:
!!! ad-info
CONTENT
--- admonition

It would be super nice to have the possibility to define it that way:
!!! ad-info
## H2-Heading of the MarginNote-Note
Here comes the actual content and images for e.g.
--- admonition

That would be super helpful and allow users to modify the extracts of MarginNote!

You can check wiki for template guide


Release v0.12.0

Closes #2929
Description
Update sources to v0.12.0.
Testing
CI/CD
Documentation
NIT updates to ReleaseProcess.md.
Installation
n.a.

Moving back to draft, as there's WIP investigation.


"Unprocessable Entity" error while registering user

Hi guys,
This is the error message:
User registered and got identity token: (null) (error=Error Domain=com.layer.Atlas-Messenger Code=2 "Unprocessable Entity" UserInfo={NSLocalizedDescription=Unprocessable Entity, responseBody={"status":"422","error":"Unprocessable Entity"}})
ATLMLayerAppID is set, Layer Client is Connected, Authentication Nonce from layer is also got.
Looks like #218, but I've pulled and updated.
Did I miss any thing?

+1

It's not the best error, but that could happen if you've registered more than 25 IDs while playing around with this. This app is designed to be a demo; one of the demo limitations is that you can't have more than 25 registered users. For a production app, you'll want to setup your own identity provider that can support the authentication flow.


Drools workbench exites when I start kie sv

Drools workbench exites on docker when I run Kie. My configuration is what is on documentation.
First I run:
docker run -p 8080:8080 -p 8001:8001 -d --name drools-workbench jboss/drools-workbench-showcase:latest
then
docker run -p 8180:8080 -d --name kie-server --link drools-wb:kie-wb jboss/kie-server-showcase:latest
docker logs says:
05:08:56,803 WARN [org.jboss.as.jaxrs] (MSC service thread 1-3) WFLYRS0018: Explicit usage of Jackson annotation in a JAX-RS deployment; the system will disable JSON-B processing for the current deployment. Consider setting the 'resteasy.preferJacksonOverJsonB' property to 'false' to restore JSON-B.

05:08:56,814 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) WFLYJCA0005: Deploying non-JDBC-compliant driver class com.mysql.jdbc.Driver (version 5.1)

05:08:56,816 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) WFLYJCA0005: Deploying non-JDBC-compliant driver class com.mysql.fabric.jdbc.FabricMySQLDriver (version 5.1)

05:08:56,821 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) WFLYJCA0005: Deploying non-JDBC-compliant driver class org.postgresql.Driver (version 9.4)

05:08:56,824 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) WFLYJCA0005: Deploying non-JDBC-compliant driver class org.mariadb.jdbc.Driver (version 1.3)

05:08:56,966 INFO [org.infinispan.factories.GlobalComponentRegistry] (MSC service thread 1-4) ISPN000128: Infinispan version: Infinispan 'Estrella Galicia' 9.3.1.Final

05:08:56,988 INFO [org.jboss.weld.Version] (MSC service thread 1-3) WELD-000900: 3.0.5 (Final)

05:08:57,262 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) WFLYJCA0018: Started Driver service with driver-name = drools-wb.war_org.postgresql.Driver_9_4

05:08:57,262 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-8) WFLYJCA0018: Started Driver service with driver-name = drools-wb.war_com.mysql.fabric.jdbc.FabricMySQLDriver_5_1

05:08:57,263 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) WFLYJCA0018: Started Driver service with driver-name = drools-wb.war_org.mariadb.jdbc.Driver_1_3

05:08:57,264 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) WFLYJCA0018: Started Driver service with driver-name = drools-wb.war_com.mysql.jdbc.Driver_5_1

05:08:58,835 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 65) WFLYCLINF0002: Started client-mappings cache from ejb container

05:08:59,455 INFO [org.wildfly.security] (MSC service thread 1-4) ELY00001: WildFly Elytron version 1.6.0.Final

05:09:00,308 INFO [org.jboss.weld.Event] (MSC service thread 1-3) WELD-000411: Observer method [BackedAnnotatedMethod] org.uberfire.ext.security.server.HttpServletRequestProducerExtension.processAnnotatedType(@Observes ProcessAnnotatedType<X>, BeanManager) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds.

05:09:00,676 INFO [org.jboss.weld.Event] (MSC service thread 1-3) WELD-000411: Observer method [BackedAnnotatedMethod] public org.jboss.errai.security.server.SecurityAnnotationExtension.addParameterLogger(@Observes ProcessAnnotatedType<?>) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds.

05:09:00,687 INFO [org.jboss.weld.Event] (MSC service thread 1-3) WELD-000411: Observer method [BackedAnnotatedMethod] public org.jboss.errai.cdi.server.CDIExtensionPoints.observeResources(@Observes ProcessAnnotatedType<T>) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds.

05:09:00,945 INFO [org.jboss.errai.cdi.server.CDIExtensionPoints] (MSC service thread 1-3) starting errai cdi ...

05:09:01,722 INFO [org.jboss.weld.Bootstrap] (Weld Thread Pool -- 5) WELD-000119: Not generating any bean definitions from org.kie.workbench.common.stunner.core.util.Buttons$Builder because of underlying class loading error: Type org.gwtbootstrap3.client.ui.Button from [Module "deployment.drools-wb.war" from Service Module Loader] not found. If this is unexpected, enable DEBUG logging to see the full error.

05:09:01,866 INFO [org.jboss.weld.Bootstrap] (Weld Thread Pool -- 3) WELD-000119: Not generating any bean definitions from org.kie.workbench.common.stunner.core.util.DropDownMenus$Builder because of underlying class loading error: Type org.gwtbootstrap3.client.ui.DropDownMenu from [Module "deployment.drools-wb.war" from Service Module Loader] not found. If this is unexpected, enable DEBUG logging to see the full error.

05:09:01,871 INFO [org.jboss.weld.Bootstrap] (Weld Thread Pool -- 4) WELD-000119: Not generating any bean definitions from org.kie.workbench.common.stunner.core.util.ButtonGroups$Builder because of underlying class loading error: Type com.google.gwt.user.client.ui.Widget from [Module "deployment.drools-wb.war" from Service Module Loader] not found. If this is unexpected, enable DEBUG logging to see the full error.

05:09:01,876 INFO [org.jboss.weld.Bootstrap] (Weld Thread Pool -- 4) WELD-000119: Not generating any bean definitions from org.kie.workbench.common.stunner.core.util.AnchorListItems$Builder because of underlying class loading error: Type org.gwtbootstrap3.client.ui.AnchorListItem from [Module "deployment.drools-wb.war" from Service Module Loader] not found. If this is unexpected, enable DEBUG logging to see the full error.

It was solved when I changed my operation system to Ubuntu 20.04.2 LTS. It isn't about project I guess.


Adding domain form to simple-meeting

I've made updates to the .gitignore file. Please review the changes.


Whats up with tests from the build script, works in VS and VS Code...

dotnet test "Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again."
.Net Standard 2.0, .Net Core 2.0


meta-resin support for Yocto Rocko

I will assign Florin as I know he has started work on this.

Removed myself from assigned.
Did the following PRs on this:
https://github.com/resin-os/meta-resin/pull/993
https://github.com/resin-os/meta-resin/pull/992
https://github.com/resin-os/meta-resin/pull/988
https://github.com/resin-os/meta-resin/pull/987
https://github.com/resin-os/meta-resin/pull/986
https://github.com/resin-os/meta-resin/pull/985
https://github.com/resin-os/meta-resin/pull/984
https://github.com/resin-os/meta-resin/pull/983
https://github.com/resin-os/meta-resin/pull/982
https://github.com/resin-os/meta-resin/pull/981
In progress I left: https://github.com/resin-os/meta-resin/pull/991
Support is not yet done. still a few changes are still needed

Any update on this & #991 since last Thursday?

We are working on it and we will update as soon as we have progress.

The rocko support is not part of 2.10.0 meta-resin release. Closing this issue.


[Release 2.2.1] Add job-scheduler and commoun-utils

Signed-off-by: prudhvigodithi<EMAIL_ADDRESS>Description
[Release 2.2.1] Add job-scheduler and commoun-utils.
Issues Resolved
Part of: https://github.com/opensearch-project/opensearch-build/issues/2481
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #2492 (964eca9) into main (878b010) will increase coverage by 5.52%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main     #2492      +/-   ##
=============================================
+ Coverage     94.47%   100.00%   +5.52%
=============================================
  Files           218         6     -212
  Lines          4449       105    -4344
  Branches         29        19      -10
=============================================
- Hits           4203       105    -4098
+ Misses          240         0     -240
+ Partials          6         0       -6

Impacted Files
Coverage Δ

src/manifests/manifest.py

src/run_sign.py

src/run_build.py

tests/jenkins/jobs/BuildArchive_Jenkinsfile

...RunBwcTestScript_OpenSearch_Dashboards_Jenkinsfile

src/ci_workflow/ci_manifests.py

src/manifests/manifests.py

src/test_workflow/integ_test/local_test_cluster.py

src/build_workflow/build_recorder.py

src/build_workflow/builder.py

... and 202 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add feature to upload files programmatically

Technical users would like the ability to automate file uploads.
Can be done using AMC API -> need to include in documentation.

possibly curl command, get sample commands from javascript.

Merged and completed.


Error 'Unable to verify deviceAuth signature (ECDSA/EdDSA): Device signature must be valid'

When I am verifying mDL, I am getting error as 'Unable to verify deviceAuth signature (ECDSA/EdDSA): Device signature must be valid'.
Here is the code for verify mDL data,
app.post("/verify", async (req, res) => {
    const { encodedDeviceResponseHex, encodedSessionTranscriptHex, ephemeralReaderKeyHex} = req.body;

    try {
        const encodedDeviceResponse = Buffer.from(encodedDeviceResponseHex, 'hex');

        const getSessionTranscriptBytes = (clId, respUri, nonce, mdocNonce) =>
            DataItem.fromData([
                null,
                null,
                [mdocNonce, clId, respUri, nonce],
            ])

        const verifier = new Verifier(trustedCerts); // CA certs used for verification

        const mdoc = await verifier.verify(encodedDeviceResponse, {
            // ephemeralReaderKey,  //optional so not sending
            // encodedSessionTranscript,  //optional so not sending
            encodedSessionTranscript: getSessionTranscriptBytes(clientId, responseUri, verifierGeneratedNonce, mdocGeneratedNonce)
        });

        res.json({ mdoc });
        console.log("Document verified: ",mdoc );
    } catch (error) {
        console.error("Error while verifying document:", error.message);
        res.status(500).json({ error: error.message });
    }
});

I created common variable for clientId, responseUri, verifierGeneratedNonce, mdocGeneratedNonce and using while signing mDL once mDL is issued from issuer and using same data in verification.
And I created device's public key and private and using in required places.
Sharing some more details for your reference.

Please help me resolve this issue. Thanks in advance.

It's very hard to know what's wrong, but please note that yout getSessionTranscriptBytes must return a cbor encoded value:
const getSessionTranscriptBytes = (clId, respUri, nonce, mdocNonce) => cborEncode(
    DataItem.fromData([
    null, // deviceEngagementBytes
    null, // eReaderKeyBytes
    [mdocNonce, clId, respUri, nonce],
  ]),
)

yeah, that should works. Just make sure that both wallet and verifier are generating the same cbor encoded value for the session trasncript.

yeah, that should works. Just make sure that both wallet and verifier are generating the same cbor encoded value for the session trasncript.

Thanks for the confirmation.

Im having a similar issue with generating the session transcript. The values between wallet and verifier are the same, but I cannot seem to generate the expected value. Using the Encoder from cbor-x and the DataItem from this library.

Let me you share some sample. Lets say in session transcript I used below data,
const holderNonce = "holderNonce12345" //Any random generated value you can use it
const verifierNonce = "verifierNonce67890";  //Any random generated value you can use it
const clientId = "012345";
const reponseURI= "http://yoururl.com/API";  or // "http://localhost:3000/API";
These same data you should use while signing the mDL in the device once mDL is issued from Issuer side and  also while verifying mDL at server side.

Im having a similar issue with generating the session transcript. The values between wallet and verifier are the same, but I cannot seem to generate the expected value. Using the Encoder from cbor-x and the DataItem from this library.

I will share some sample code, which will help you.

Im having a similar issue with generating the session transcript. The values between wallet and verifier are the same, but I cannot seem to generate the expected value. Using the Encoder from cbor-x and the DataItem from this library.

Refer below sample
let encodedSessionTranscript;
const clientId = '12345'
const responseUri =  'http://yourserverurl/api/'  or 'http://localhost:3000/api/'
const verifierGeneratedNonce = 'abcdefg';
const mdocGeneratedNonce = '123456';

const getSessionTest = (clId, respUri, nonce, mdocNonce) =>
  DataItem.fromData([
    null,
    null,
    [mdocNonce, clId, respUri, nonce],
  ])

  const generateSessionTranscript = async () => {
    encodedSessionTranscript = encode(getSessionTest(clientId,responseUri, verifierGeneratedNonce, mdocGeneratedNonce))
  }

Then you can use 'generateSessionTranscript' in your code. You can try with same for testing purpose and later you change the values based on your preferences.

Ah wonderful @MallikarjunH09 - that worked! I was also on a slightly outdated release.
Do you know if the encode function you reference can be used with cbor-x?
I was able to get it to work using the utilities in this library as such:
const getSessionTranscriptBytes = (clId, respUri, nonce, mdocNonce) =>
{
  const encoded = DataItem.fromData([
    null, // deviceEngagementBytes
    null, // eReaderKeyBytes
    [mdocNonce, clId, respUri, nonce],
  ]);

  return DataItem.fromData(encoded).buffer;
};

Ah wonderful @MallikarjunH09 - that worked! I was also on a slightly outdated release.
Do you know if the encode function you reference can be used with cbor-x?
I was able to get it to work using the utilities in this library as such:
const getSessionTranscriptBytes = (clId, respUri, nonce, mdocNonce) =>
{
  const encoded = DataItem.fromData([
    null, // deviceEngagementBytes
    null, // eReaderKeyBytes
    [mdocNonce, clId, respUri, nonce],
  ]);

  return DataItem.fromData(encoded).buffer;
};

Yes, I hope so.
I was similar or you I can same doubt, I asked same to 'siacomuzzi', he replied for that. You can check my comments and the reply given by 'siacomuzzi'.

Im having a similar issue with generating the session transcript. The values between wallet and verifier are the same, but I cannot seem to generate the expected value. Using the Encoder from cbor-x and the DataItem from this library.

The issued mDL credentials you are storing in holder side in wallet right, what kind of wallet you are using it? Can you share some details like any library/documentation for the same. Currently I am storing in secure keychain and later I have to move this in wallet storage.

This is more for a general e2e poc so no specific wallet. I wanted to make sure I understood the entire flow first. Currently using only this library and it works e2e.

Just FYI: if you are using this library from device/wallet side, this is how the session transcript is generated: https://github.com/auth0-lab/mdl/blob/a3d76474cfea525349c2480c122b57a1d406e485/src/mdoc/model/DeviceResponse.ts#L125-L131
So, to avoid unexpected behaviours, I'd recommend using the same logic to create the session transcript from verifier side.
In future versions, we are planning to include the session transcript generation as part of the Verifier logic, to avoid inconsistencies/issues between cbor libraries.

Just FYI: if you are using this library from device/wallet side, this is how the session transcript is generated:
https://github.com/auth0-lab/mdl/blob/a3d76474cfea525349c2480c122b57a1d406e485/src/mdoc/model/DeviceResponse.ts#L125-L131
So, to avoid unexpected behaviours, I'd recommend using the same logic to create the session transcript from verifier side.
In future versions, we are planning to include the session transcript generation as part of the Verifier logic, to avoid inconsistencies/issues between cbor libraries:
const verifier = new Verifier(trustedCerts);
const mdoc = await verifier
  .usingEphemeralReaderKey(ephemeralReaderKey)
  .usingSessionTranscriptForOID4VP(
    mdocGeneratedNonce,
    clientId,
    responseUri,
    verifierGeneratedNonce
  )
  .verify(encodedDeviceResponse);

That would be helpful @siacomuzzi - or perhaps some guidance on expected cbor encoding parameters. It seems like some specific configuration is needed to encode correctly (e.g., extension).


Aligns SimpleHttp API changes

This was merged to master when we were rebasing on 3.0.0.Final. Closing.


GdsDateTime enum, with raw-bytes variant

Addresses #20, and more specifically the errors encountered by the reporters of #19.
Note this is built on the published v0.2.0 on crates.io, should we want to patch-release it. This commit does not include many changes in main since.

you're all over this but LGTM; I think it's the right call to do our best to write as-complete-as-possible GDS while doing our best to make sense of incomplete GDS

Let's close this one. In main, and it's been months without any need to patch it onto released versions.


Test using spock framework

how can i test jenkins pipline using spock framework
my spec look like this which extends Specification from spock framework
class MyFirstSpecification extends Specification {

}

since to use JenkinsPipelineUnit i need to extend BasePipelineTest.

https://github.com/macg33zr/pipelineUnit


Resend email to unvalidated signature

Have edited the create method in the signature controller to check if any matching signatures (with the form details) already exist and if yes, resend the email.
Otto helped me massively with the refactor but would still love to get some feedback. Thanks!

Note to @davidbasalla I've rebased this against master so be careful when you pull/push.  I'm keen to get it merged today, but I do think we need to add something to those cucumber scenarios around the signature count.  Let's discuss after standup.

Oops!  I merged this by mistake.  I've reset master so it's as if it never happened, but we'll have to reopen this PR as a new one.  Sorry!

Reopened as #52.


auto import from index files appends 'index' to the filepath

VSCode Version: 1.32.1
OS Version: Windows 10

Steps to Reproduce:

in src/config/index.js: export const a = 1;
auto import gives import { a } from 'config/index';

Does this issue occur when all extensions are disabled?: Yes
My jsconfig.json:
{
  "compilerOptions": {
    "target": "ES6",
    "baseUrl": "./src"
  },
  "exclude": ["node_modules", "build"]
}

Why is this an issue? the imported module's file name is index.js.
The only missing part in config/index is the extension name:  config/index.js

In your jsconfig, try setting:
        "module": "commonjs"


[Bug report] Confusing behavior with coupled fluxoniums

Documentation check
If the bug manifests in unexpected behavior (as opposed to a crash), confirm that you have consulted the
API documentation

[x] I have checked the API documentation.
[x] I could not locate relevant information in the documentation or information is missing.

Describe the bug
I want to make two capacitively coupled fluxoniums. There are two ways to do it:

Using built-in fluxonium objects + hilbertspace.add_interaction
The Hamiltonian will be the following (the capacitive energies of the fluxonium renormalize because the capacitance seen by fluxonium is now different):
$H = - E_{J1} \cos\phi_1 + \frac{1}{2} E_{L1} \phi_1^2 + 4(E_{C1} + \frac{E_{C1}^2}{E_{Cg}} n_1^2) - $
$- E_{J2} \cos\phi_2 + \frac{1}{2} E_{L2} \phi_2^2 + 4(E_{C2} + \frac{E_{C2}^2}{E_{Cg}} n_2^2) - $
$- \frac{8 E_{C1} E_{C2}}{E_{Cg}} n_1 n_2 $

Using Custom Circuits

The problem is, with these two methods I get different results, in particular, the anticrossing size is different.
For method (1), I get anticrossing_size_1 = 0.1338
And for (2) I get anticrossing_size_2 = 0.0946.
I've checked that the Hilbert space is large enough, so the further increase of the Hilbert space doesn't affect the result.
Expected behavior
anticrossing_size_1 should be equal to anticrossing_size_2
To Reproduce
Here is my code for (1):
import numpy as np
from qutip import *
import scipy as sp
import matplotlib.pyplot as plt
import matplotlib

import scqubits as scq
from scqubits import HilbertSpace, InteractionTerm

EC1 = 0.25
EC2 = 0.3
EJ1 = 1
EJ2 = 1
EL1 = 0.55
EL2 = 0.5
ECg = 1
flux1 = 0.495
flux2 = 0.45
cutoff = 20

fluxonium1 = scq.Fluxonium(
    EJ = EJ1,
    EC = EC1+EC1**2/ECg,
    EL = EL1,
    flux = flux1,
    cutoff = cutoff,
    truncated_dim = cutoff
)

fluxonium2 = scq.Fluxonium(
    EJ = EJ2,
    EC = EC2+EC2**2/ECg,
    EL = EL2,
    flux = flux2,
    cutoff = cutoff,
    truncated_dim = cutoff
)

hilbertspace = scq.HilbertSpace([fluxonium1, fluxonium2])

g = -8*EC1*EC2/ECg

hilbertspace.add_interaction(
    g_strength = g,
    op1 = (fluxonium1.n_operator(), fluxonium1),
    op2 = (fluxonium2.n_operator(), fluxonium2),
    id_str="fluxoniums",
    add_hc=False
)

H = hilbertspace.hamiltonian()

def update_hilbertspace(flux):
    fluxonium1.flux = flux

fluxes = np.linspace(0.43, 0.48, 21)

E01s = []
E02s = []

for flux in fluxes:
    update_hilbertspace(flux)
    evals = hilbertspace.eigenvals(evals_count=3)
    E01s.append(evals[1]-evals[0])
    E02s.append(evals[2]-evals[0])

anticrossing_size_1 = min(np.array(E02s) - np.array(E01s))

And for (2):
coupled_fl_yaml = """
        branches:
        - ["JJ", 1, 2, EJ1 = """+str(EJ1)+""", EC1 = """+str(EC1)+"""]
        - ["L", 1, 2, EL1 = """+str(EL1)+"""]
        - ["C", 2, 3, ECg = """+str(ECg)+"""]
        - ["JJ", 3, 1, EJ2 = """ +str(EJ2)+ """, EC2 = """+str(EC2)+"""]
        - ["L", 3, 1, EL2 = """+str(EL2)+"""]
        """

circuit = scq.Circuit.from_yaml(coupled_fl_yaml, from_file=False, ext_basis = 'discretized',
                                truncated_dim = 250)
circuit.cutoff_ext_1 = 50
circuit.cutoff_ext_2 = 50

circuit.Φ1 = flux1
circuit.Φ2 = flux2

def update_flux(circuit, flux):
    circuit.Φ1 = flux

E01s = []
E02s = []

for flux in fluxes:
    update_flux(circuit, flux)
    evals = circuit.eigenvals(evals_count=3)
    E01s.append(evals[1]-evals[0])
    E02s.append(evals[2]-evals[0])

anticrossing_size_2 = min(np.array(E02s) - np.array(E01s))

OS and version used (please complete the following information):

OS: Ubuntu
scqubits version 3.1.0
Python version 3.9.13

Hi @AlesyaSokol, thank you for raising the issue. I tried to work through the code you posted and found the following. First, I think the normalized capacitances you used to generate the eigenvalues using Hilbertspace are incorrect (which I will talk about in more detail in a following paragraph).
Secondly, please note that the input to the Circuit module is a graph and it does not have any information as to the geometric placement of circuit elements in space. Therefore, the sign of the fluxes that the code generates is not always what the user expects. We suggest that the user first checks whether the flux signs are as they expect, if not flip the sign wherever necessary. In this case, it is necessary to flip the sign of Φ2 in the Circuit module to make the results consistent.
Coming back to the normalized capacitances, you can get the correct normalized capacitances by looking at the coefficients of $Q_1^2$, $Q_2^2$ and $Q_1Q_2$ from the symbolic Hamiltonian that the Circuit module generates. I found the coefficients using the following code snippet. You can easily verify that these coefficients are correct by starting with a Lagrangian and then making a Legendre transform to get to the Hamiltonian.
coupled_fl_yaml = f"""
        branches:
        - ["JJ", 0, 1, EJ1 = {EJ1}, EC1 = {EC1}]
        - ["L", 0, 1, EL1 = {EL1}]
        - ["C", 1, 2, ECg = {ECg}]
        - ["JJ", 2, 0, EJ2 = {EJ2}, EC2 = {EC2}]
        - ["L", 2, 0, EL2 = {EL2}]
        """

circuit = scq.Circuit(coupled_fl_yaml, from_file=False, ext_basis = 'harmonic')
circuit.configure(transformation_matrix=np.identity(2))
circuit.cutoff_ext_1 = 30
circuit.cutoff_ext_2 = 30

circuit.Φ1 = flux1
circuit.Φ2 = -flux2

def update_flux(circuit, flux):
    circuit.Φ1 = flux

E01sc = []
E02sc = []

for flux in fluxes:
    update_flux(circuit, flux)
    evals = circuit.eigenvals(evals_count=3)
    E01sc.append(evals[1]-evals[0])
    E02sc.append(evals[2]-evals[0])

anticrossing_size_2 = min(np.array(E02sc) - np.array(E01sc))

# getting the normalized capacitance for fluxonium 2
circuit.hamiltonian_symbolic.coeff("Q2**2")/4
# result - EC1*EC2/(1.0*EC1 + 1.0*EC2 + 1.0*ECg) + EC2*ECg/(1.0*EC1 + 1.0*EC2 + 1.0*ECg)

# getting the normalized capacitance for fluxonium 1
circuit.hamiltonian_symbolic.coeff("Q1**2")/4
# result - 0.001953125*EC1*EC2/(0.001953125*EC1 + 0.001953125*EC2 + 0.001953125*ECg) + 0.001953125*EC1*ECg/(0.001953125*EC1 + 0.001953125*EC2 + 0.001953125*ECg)

# getting the coupling factor
circuit.hamiltonian_symbolic.coeff("Q1*Q2")
# result - 0.0078125*EC1*EC2/(0.001953125*EC1 + 0.001953125*EC2 + 0.001953125*ECg) + 4.0*EC1*EC2/(1.0*EC1 + 1.0*EC2 + 1.0*ECg)

The above code snippet is just the same as the code you posted, but with two differences. I changed the input file such that node 1 is set to ground node, and then set the transformation matrix to generate the new variables to an identity matrix. These two changes do not affect the numerical results, but help us to look at the symbolic Hamiltonian in the form we expect. In the last part of the code, I am extracting the coefficients for the renormalized capacitances which I will now use for the coupled fluxoniums using the Fluxonium module in scqubits.
import numpy as np
from qutip import *
import scipy as sp
import matplotlib.pyplot as plt
import matplotlib

import scqubits as scq
from scqubits import HilbertSpace, InteractionTerm

EC1 = 0.25
EC2 = 0.3
EJ1 = 1
EJ2 = 1
EL1 = 0.55
EL2 = 0.5
ECg = 1
flux1 = 0.495
flux2 = 0.45
cutoff = 50
truncated_dim = 40

fluxonium1 = scq.Fluxonium(
    EJ = EJ1,
#     EC = EC1+EC1**2/ECg,
    EC = 0.001953125*EC1*EC2/(0.001953125*EC1 + 0.001953125*EC2 + 0.001953125*ECg) + 0.001953125*EC1*ECg/(0.001953125*EC1 + 0.001953125*EC2 + 0.001953125*ECg),
    EL = EL1,
    flux = flux1,
    cutoff = cutoff,
    truncated_dim = truncated_dim
)

fluxonium2 = scq.Fluxonium(
    EJ = EJ2,
#     EC = EC2+EC2**2/ECg,
    EC = EC1*EC2/(1.0*EC1 + 1.0*EC2 + 1.0*ECg) + EC2*ECg/(1.0*EC1 + 1.0*EC2 + 1.0*ECg),
    EL = EL2,
    flux = flux2,
    cutoff = cutoff,
    truncated_dim = truncated_dim
)

hilbertspace = scq.HilbertSpace([fluxonium1, fluxonium2])

# g = -8*EC1*EC2/ECg
g = 0.0078125*EC1*EC2/(0.001953125*EC1 + 0.001953125*EC2 + 0.001953125*ECg) + 4.0*EC1*EC2/(1.0*EC1 + 1.0*EC2 + 1.0*ECg)

hilbertspace.add_interaction(
    g_strength = g,
    op1 = (fluxonium1.n_operator(), fluxonium1),
    op2 = (fluxonium2.n_operator(), fluxonium2),
    id_str="fluxoniums",
    add_hc=False
)

H = hilbertspace.hamiltonian()

def update_hilbertspace(flux):
    fluxonium1.flux = flux

fluxes = np.linspace(0.43, 0.48, 21)

E01s = []
E02s = []

for flux in fluxes:
    update_hilbertspace(flux)
    evals = hilbertspace.eigenvals(evals_count=3)
    E01s.append(evals[1]-evals[0])
    E02s.append(evals[2]-evals[0])

anticrossing_size_1 = min(np.array(E02s) - np.array(E01s))

The resultant variables anticorssing_size_1 and anticorssing_size_2 have the same value of 0.0863.

@saipavanc Thanks so much for looking into this in all the detail, very helpful!
I will give @AlesyaSokol a chance to comment before closing this issue.

Hi @saipavanc, thank you for the detailed response!
I've tried your suggestions and noticed that flipping the sign of Φ2 changes the numerical result. I'm not sure I understand how this sign should be chosen. Also, shouldn't fluxonium spectrum be symmetrical with respect to zero, so the sign should not matter?

@AlesyaSokol, you are right that the spectrum of fluxonium should not depend on the sign of the external flux. But, when two fluxoniums are coupled, the relative direction of the external flux matters. That is what is making a difference in this particular case. Since, the circuit module does not have an idea as to the position of branches in space, the direction assigned to the external fluxes is not guaranteed to be consistent to the way we represent the circuit in a diagram (there are multiple ways to represent the same graph).
As to the question about how the sign of the external flux should be chosen, I suppose the best way is to look at the symbolic Hamiltonian and see if the signs of external fluxes used in the expression are as expected. This is definitely feasible for small circuits, but for large circuits I do not have an answer as of now. Maybe comparing an external flux sweep with experimental data can help. @jkochNU Please feel free to add or edit my response to the question.

@saipavanc ok, thank you for answering my questions, it looks like everything is correct.
By the way, the coefficients in the Hamiltonian that scq.Circuit gives can be simplified: 0.0078125/0.001953125 = 4, and then:
EC1' = EC1*(EC2+ECg)/(EC1+EC2+ECg),
EC2' = EC2*(EC1+ECg)/(EC1+EC2+ECg),
g = 8EC1EC2/(EC1+EC2+ECg)

@saipavanc and about choosing flux sign - I checked, if I inverse the sign in the first approach that I use (coupled fluxoniums and hilbertspace) it gives consistent results with circuit approach. In experiment, I guess, the flux direction can also be reversed physically (if there are two separate flux lines). So there is no single correct flux direction, it just should be chosen consistently.

@AlesyaSokol I agree with your comments. And with regards to the coefficients, I did notice that they could be simplified, but I just wanted to ensure that I would use the same expression that the Sympy coeff function returned to avoid any confusion.
I will go ahead and close the issue then.


add osx-arm64

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [42]

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

The test section contained an unexpected subsection name. skip is not a valid subsection name.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


Get User's username in a chat with Telegram Bot

I am using this in a callback
import botogram

@bot.command("sendinfo")
def sendinfo_command(chat, message, args):
    """User has to click a button for giving information - Username, Datetime, Location"""
    btns = botogram.Buttons()
    btns[0].callback("Username", "username")     # button - Username
    btns[1].callback("Location", "location")     # button - Location
    chat.send("Please, select one of the buttons popping below.", attach= btns)

@bot.callback("username")
def username_callback(query, chat, message):
    user = botogram.User()
    chat.send(user.username)    # test
    query.notify("<username> saved.")

if __name__ == "__main__":
    bot.run()

When I am pressing username button, then there is no message (i.e. username) sent from Bot in the chat.

Hi @abhi3700, thanks for your issue!
In username_callback, you don't need to initialize a new botogram.User(), you need the user that sent the query. You can access its botogram.User instance in query.sender; so, the code will be:
@bot.callback("username")
def username_callback(query, chat, message):
    user = query.sender
    chat.send(user.username)
    query.notify("{username} saved.".format(username=user.username)

Thanks @MarcoBuster. I can't thank you enough for your reply.
It worked.

what if user have not username? (:

what if user have not username? (:

We can have user.id field. It's mandatory in telegram.


Make items optional in fromConfigMap()

In Kubernetes, you don't have to specify items and then all keys are added, but fromConfigMap() does not allow this and you end up having to specify each key, which is redundant, and hard to maintain.

FYI, you can work around this by doing.
configMap.new('grafana-dashboards', dashboards) + configMap.mixin.metadata.withNamespace('infrastructure')