DPDK Support

Hello,
What is the timeline for DPDK support?
Is it something that you plan to implement in the near future?
Thanks,
Patryk

Hello,
My colleague is working on the Mellanox hardware offload, and maybe release in Oct or Nov. For DPDK I can't promise accurate time.

We are now mid-november. What is the status of this feature ?

@sbskas we still lack professionals in this field to make some progress and we are seeking help from community

@oilbeater, as far as I understand, DPDK support begin by those tasks :

install dpdk libraries
install openvswitch dpdk enabled libraries
prepare the  requirements for the host / pod / vm
modifiy the code of ovn-kube to be aware of dpdk

Points 1-2 should be easily reachable.
Point 3 is unknown. One has to be aware of 2 cases : VMware with vmxnet3 / Bare Metal host with compatible hardware. I don't really know if the hugepage settings / bios tweaks are relevant for a VM.
Point 4 is unknown.

Thanks @sbskas, we will take you advice and do some investigation

Some preliminary investigations：

To use ovs-dpdk we need build DPDK on host and rebuild ovs with corresponding DPDK flags. The DPDK building process is related to host kernel version and ovs need to invoke DPDK functions, that means it's hard to provide an ovs-dpdk docker image for all circumstances. We need to provide the basic install steps docs to manually build and install ovs-dpdk in each circumstance.
DPDK need to config lots kernel parameters and even boot flags to enable high performance. That's also strongly related to each circumstance and hard to be containerized.  We also need to provide a basic install and config docs. But I highly recommend user to ask advice from some guy who are professional in DPDK to use it.
For hardware requirements, as DPDK will deprive nic control from the system, we need a dedicated nic for ovs-dpdk to transport container network and another nic for normal host network. That's a change to today's kube-ovn network requirement, kube-ovn now doesn't need a dedicated nic.
For the code part, it's much easier than the above installation and config steps. We need to change the ovs integration bridge type to netdev ,port type to dpdkvhostuser and set other ovs-dpdk parameters.

To sum up, we will first try to add the code part to support DPDK type ports and the related installation and config docs to basically support DPDK. However as the installation and config part is complex and varies a lot in different circumstance, users who wants this function may still need lots manual work and validation to really get benefit from it.

Hi all. I’ve been playing around with this over the past couple of weeks and I’ve come to mostly the same conclusions.
I’ve modified the ovs-ovn container to run OVS-DPDK. It works fine but I had the same concerns over portability across different host kernels. If, as you suggest, it’s an option to have the user build their own images locally then at least we have a solution. For me the build takes quite a long time to build DPDK and then build OVS against it. It’s not ideal but maybe it can be sped up in places. The OVS-DPDK install was pretty standard. The pod spec needs hugepages as a resource.
Some things that I don’t think have been mentioned so far:

Currently kube-ovn puts a veth pair between pod and ovs port. One end of the veth is moved to container network namespace. We can’t do this with OVS-DPDK. When we request a new DPDK port we will end up with something like a vhost-user socket file in a directory such as /var/run/openvswitch/ This can’t be moved between namespaces, it will have to be mounted into the pod just like a regular file. This mounting functionality will be new in kube-ovn.

The other thing is the K8s default network.  So, we need to continue to provide kernel-OVS as the eth0 default network of the pod, while also providing the OVS-DPDK port - i.e. we need to provide multiple interfaces to the pod. Maybe this should eventually be built into kube-ovn, but for the moment I’ve been testing with Multus to provide the multiple interfaces. Kube-ovn seems to work fine with Multus.

My next step is kind of a proof of concept. I’m going to test with kube-ovn providing the default network and see if I can get https://github.com/intel/userspace-cni-network-plugin working with my containerized OVS-DPDK to provide me with the DPDK dataplane. This is just a POC, Userspace CNI has the functionality to mount the socket file, as mentioned above.
I’ll also consult with our OVS-DPDK team to see is there anything that can be done with the image portability.

@garyloug Thanks! I am just trying ovs-dpdk and not go that far. It really helps me a lot.
I'm also investigating Multus and userspace-cni-network-plugin to improve kube-ovn.
I have some questions about the connectivity between the default network and OVS-DPDK network. kube-ovn now use a join subnet to connect container network with host network through ovn0. If port in this subnet still use OVS kernel datapath, can host and ovs-dpdk network be connected.
If possible, can you make a pr to share the modification to kube-ovn and steps to use it, so we can learn from your design and help test if dpdk will influence other existing functions.

Hi @oilbeater , so if I understand your question correctly, you are asking if OVS-DPDK can be used to provide the standard/kernel OVS ports that we need for the K8s default network. Yes it can, OVS-DPDK can still provide kernel networking. You just don't set datapath_type=netdev for a given bridge and it'll use standard kernel interfaces. I think it’s even possible to put the standard kernel interfaces on the netdev dpdk bridge but performance will be bad due to the copy from user to kernel space.
I hope I’ve understood your question correctly.
Happy to share my changes, should be able to create a PR in coming days.

@garyloug any update on it? We are looking forward to it.

Hi @oilbeater I rebooted my system early last week and my ovs-dpdk stopped working after. I wanted to fix this before sharing anything. It looks like the steps mentioned here have fixed most of my issues: https://mail.openvswitch.org/pipermail/ovs-discuss/2016-September/042605.html
I still haven't managed to get userspace-cni working with the containerized ovs-dpdk, but I'll tidy up my files today and share what I have for now.

I've closed the PR previously mentioned. This was just a proof of concept I shared.
New PR is here: https://github.com/alauda/kube-ovn/pull/352


Whois field cannot accommodate Unicode, causes traceback

I tried to post  information for clicktrans.es but I got a traceback.
Mysql2::Error: Incorrect string value: '\xC5\x82 Brz...' for column 'whois' at row 1: UPDATE `spam_domains` SET `whois` = 'REGISTRANT DATA\r\nDomain name clicktrans.es\r\nstate Activated\r\nIdentifier 5EBD2A-ESNIC-F5\r\nRegistrant Michał Brzeziński IQSC Solutions\r\nRegister Date 18-09-2012\r\nExpiration Date 18-09-2020\r\nRegistrar OVH HISPANO\r\nADMINISTRATIVE CONTACT PERSON\r\n\r\nIdentifier 5EBD5B-ESNIC-F5\r\nName Michał Brzeziński\r\nEmail<EMAIL_ADDRESS>\r\nTECHNICAL CONTACT PERSON\r\n\r\nIdentifier 5EBD5B-ESNIC-F5\r\nName Michał Brzeziński\r\nEmail<EMAIL_ADDRESS>\r\n \r\nDNS SERVERS\r\nServer Name IP\r\nns102.ovh.net \r\ndns102.ovh.net', `updated_at` = '2017-09-18 12:03:53' WHERE `spam_domains`.`id` = 14055

The copy/paste was rather untidy because the whois service at www.dominios.es only gives you tabular HTML output (and that only after struggling with multiple CAPTCHAs) but I'm guessing the accented Polish characters (sic) are the problem here.

https://metasmoke.erwaysoftware.com/domains/15380 caused tracebacks too until I replaced the Unicode string with XXXXX.
Admin Street: thran khiaban anghlab khiaban bhar jnvbi brj bhar tbghh 8 adari vahd ۷۰۷
(Similarly for registrant and tech contact.)

This just needs the DB tables to be updated to use utf8mb4 charset and collate.

Also https://metasmoke.erwaysoftware.com/domains/15644 and https://metasmoke.erwaysoftware.com/domains/15645 would benefit greatly from being human-readable (педпроект.рф and педакадемия.рф, respectively).

Should be fixed; all database tables are now marked as at least utf8; some with mb4.


Update aws-java-sdk-core to 1.12.394

Updates com.amazonaws:aws-java-sdk-core from 1.12.336 to 1.12.394.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-core" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #210.


Setting environment variables to access Baf base class etc

We need to set at least:

PYTHONPATH to include the new infrastructure/build/python directory
either set PSYCLONECONFIG to point to the config file, or probably better: add the -c command line option to the psyclone call

Hmm - actually, this should mostly be part of lfric_atm  where Baf is atm. Leaving it here for now since it was in the old repo :)

Can be closed, Baf now contains a build.sh script, that sets the environment variables.


Section 6.6.1 [2022-02-05]

Line 32: Should read Q(\theta^t, \theta^t) = LL(\theta^t) ?
Line 39: l is the same as LL ?

fixed, thanks


READ-LINE and friends do not behave properly when used from within the REPL

Hello, I saw your recent release so I went ahead and installed your implementation on my machine (Win10 64-bit). I only started lisping a while ago so I was still doing some basic code. I was running SBCL installed with roswell until now.
The problem is that read-line doesn't seem to block properly, thus allowing the program to continue running.
This is my code:
(defun prompt-read (prompt)
  (format *query-io* "~a: " prompt)
  (force-output *query-io*)
  (read-line *query-io*))

(defun prompt-for-data ()
   (prompt-read "String 1")
   (prompt-read "String 2")
   (or (parse-integer (prompt-read "Number 1") :junk-allowed t) 0)
   (y-or-n-p "Bool 1"))

This is the REPL:
?(prompt-for-data)
String 1: String 2: e
Number 1: 3

Bool 1(Y/N)
N
NIL

I did not have this issue with SBCL. After asking around (namely in Lisp's Discord server) I had to file this issue.
EDIT: I'm sorry but Github doesn't seem to register the text between backticks as code.
EDIT: Fixed formatting

@LandKingdom Use triple backticks.
Can confirm this issue - read-line is not being interpreted correctly while in the IDE.
It also does not work correctly in the Linux prompt via Wine - it seems to automatically swallow the ending newline and return immediately what is after the (read-line) call.
?(read-line)
""
NIL
?(read-line)423
"423"
NIL

Corman's "Lisp Worksheet" is not exactly a REPL, it is more like the *scaratch* buffer in Emacs.
@LandKingdom, use Shift+Enter to supply input for your prompt while in the IDE. Does it work as expected?
@phoe, It is an interesting find, it does not work properly in Windows prompt either.

@arbv Shift+Enter for read-line does not work properly in the IDE.
Typing (read-line) Shift+Enter 123 Shift+Enter leads to:

@arbv I'm launching clconsole from the integrated Powershell terminal in VSCode. (I'm not using your bundled IDE)

This also happens when running the REPL program directly (double-click from explorer) so it's not a PowerShell/Cmd.exe related issue

@phoe
From within IDE read-line works as expected if you select an empty line after the expression.
Lisp<->IDE interaction model has its flaws, but fixing this requires a lot of refactoring. It won't happen this round. At least current model is predictable to the some extent.

Fixed.

I have updated the release to include the fix for this issue.

The code is the same as earlier, but this is the result:
?(add-cds)
Title: A
Artist: B
Rating: 0

Ripped? (Y/N)
Y
Another? (Y/N)
Y
Title: Artist: This
Rating: Errored

Ripped? (Y/N)
Y
Another? (Y/N)
N
NIL
?

Oh, I got it.
y-or-n-p and yes-or-no-p do not consume newline character after reading the answer.
Can you replace CormanLisp.img file with the attached one and test if it works as it should?
CormanLisp.zip

Works as it should!

@LandKingdom, thanks for helping to investigate the bug.
I have updated the installer once again.
I am closing the issue.

When ran from clconsole.exe -execute foo.lisp, with a last line of (prompt-for-data) appended, this is produced:
;; Corman Lisp 3.1  (Patch level 2)
;; Copyright (c) Corman Technologies Inc. See LICENSE.txt for license information.

Type :quit to exit.
?PROMPT-READ
?PROMPT-FOR-DATA
?String 1: String 2:```

Whatever you input will be read as string 2, number 1, and bool 1.

 See LICENSE.txt for license information.

Type :quit to exit.
?PROMPT-READ
?1: "(prompt-read \"2\")"
NIL
?3: "(prompt-read \"4\")"
NIL
?5: "(win:ExitProcess 0)"
NIL
?:quit

The :quit is entered manually to exit the process.
(y-or-n-p "1")
(y-or-n-p "2")

PS C:\Users\bb010g> clconsole.exe -execute 'sample-3.lisp'
;; Corman Lisp 3.1  (Patch level 2)
;; Copyright (c) Corman Technologies Inc. See LICENSE.txt for license information.

Type :quit to exit.
?
1(Y/N)
(Y/N)
T
?;;; An error of type UNBOUND-VARIABLE was detected in function #< COMPILED-FUNCTION: #x3662E80 >:
;;; Error: The variable -OR-N-P is unbound
;;; Entering Corman Lisp debug loop.
;;; Use :C followed by an option to exit. Type :HELP for help.
;;; Restart options:
;;; 1   Abort to top level.
:c 1

;;; Returning to top level loop.
?:quit

Manual :c 1 and :quit again.
(defun prompt-read (prompt)
  (format *query-io* "~a: " prompt)
  (force-output *query-io*)
  (read-line *query-io*))

(prompt-read "1a")
(y-or-n-p "1b")
(y-or-n-p "1c")
(prompt-read "2a")
(y-or-n-p "2b")
(y-or-n-p "2c")

PS C:\Users\bb010g> clconsole.exe -execute 'sample-4.lisp'
;; Corman Lisp 3.1  (Patch level 2)
;; Copyright (c) Corman Technologies Inc. See LICENSE.txt for license information.
;; User: brayden.
Type :quit to exit.
?PROMPT-READ
?1a: "(y-or-n-p \"1b\")"
NIL
?
1c(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
T
?;;; An error of type UNBOUND-VARIABLE was detected in function #< COMPILED-FUNCTION: #x35894E8 >:
;;; Error: The variable -OR-N-P is unbound
;;; Entering Corman Lisp debug loop.
;;; Use :C followed by an option to exit. Type :HELP for help.
;;; Restart options:
;;; 1   Abort to top level.
:quit

Manual :quit.
(defun prompt-read (prompt)
  (format *query-io* "~a: " prompt)
  (force-output *query-io*)
  (read-line *query-io*))

(prompt-read "1a")
(y-or-n-p "1b")
(y-or-n-p "1c")
(read-line *query-io*)
(prompt-read "2a")
(y-or-n-p "2b")
(y-or-n-p "2c")
(read-line *query-io*)

PS C:\Users\bb010g> clconsole.exe -execute 'sample-6.lisp'
;; Corman Lisp 3.1  (Patch level 2)
;; Copyright (c) Corman Technologies Inc. See LICENSE.txt for license information.

Type :quit to exit.
?PROMPT-READ
?1a: "(y-or-n-p \"1b\")"
NIL
?
1c(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
(Y/N)
NIL
?;;; An error of type UNBOUND-VARIABLE was detected in function #< COMPILED-FUNCTION: #x32694D8 >:
;;; Error: The variable E is unbound
;;; Entering Corman Lisp debug loop.
;;; Use :C followed by an option to exit. Type :HELP for help.
;;; Restart options:
;;; 1   Abort to top level.
:c 1

;;; Returning to top level loop.
?:quit

Manual :c 1 and :quit.


Default editor is shown as undefined after project initialization

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
yarn
If applicable, what version of Node.js are you using?
v16.10.0
Amplify CLI Version
v6.1.1
What operating system are you using?
mac
Amplify Categories
Not applicable
Amplify Commands
init
Describe the bug
Default editor choice is shown as undefined and developers are prompted to choose an editor upon choosing to edit a newly-created resource. In the example shown below, project files are created as expected though without the editor-specific settings file (in this case, .vscode/settings.json). This does not have an impact other than requiring the developer to choose an editor upon choosing to edit a newly-created resource.
NOTE: after creating a resource (function), choosing to edit, and selecting the editor the editor-specific settings file is created
> amplify init -y
⚠ Amplify command hooks are disabled in the current execution environment.
⚠ See https://docs.amplify.aws/cli/usage/command-hooks/ for more information.
Note: It is recommended to run this command from the root of your app directory
The following configuration will be applied:

Project information
| Name: test
| Environment: dev
| Default editor: Visual Studio Code
| App type: javascript
| Javascript framework: none
| Source Directory Path: src
| Distribution Directory Path: dist
| Build Command: npm run-script build
| Start Command: npm run-script start

Using default provider  awscloudformation

If we then run amplify configure project we see undefined for the default editor:
> amplify configure project
⚠ Amplify command hooks are disabled in the current execution environment.
⚠ See https://docs.amplify.aws/cli/usage/command-hooks/ for more information.

Project information
| Name: test
| Environment: dev
| Default editor: undefined
| App type: javascript
| Javascript framework: none
| Source Directory Path: src
| Distribution Directory Path: dist
| Build Command: npm run-script build
| Start Command: npm run-script start

AWS Profile setting
| Selected profile: default

Advanced: Container-based deployments
| Leverage container-based deployments: No

Example prompt showcasing the additional prompt for selecting an editor when creating new resources:
> amplify add function
⚠ Amplify command hooks are disabled in the current execution environment.
⚠ See https://docs.amplify.aws/cli/usage/command-hooks/ for more information.
? Select which capability you want to add: Lambda function (serverless function)
? Provide an AWS Lambda function name: teste2662eb6
? Choose the runtime that you want to use: NodeJS
? Choose the function template that you want to use: Hello World

Available advanced settings:
- Resource access permissions
- Scheduled recurring invocation
- Lambda layers configuration
- Environment variables configuration
- Secret values configuration

? Do you want to configure advanced settings? No
? Do you want to edit the local lambda function now? Yes
? Choose your default editor: Visual Studio Code
Edit the file in your editor: /Users/josef/Documents/projects/aws-amplify/reproductions/test/amplify/backend/function/teste2662eb6/src/index.js
? Press enter to continue
Successfully added resource teste2662eb6 locally.

Expected behavior

CLI creates editor-specific settings files on init
CLI retains editor selections and does not subsequently prompt for editor upon resource creation and choice to edit

Reproduction steps

amplify init -y
amplify configure project
Observe missing editor-specific settings file and undefined for default editor

GraphQL schema(s)

# Put schemas below this line

Log output

# Put your logs below this line

Additional information
No response

Can you still reproduce this? I cannot

Hey @johnpc yes I can still reproduce. After init it shows undefined but if we run through amplify configure project again and set the editor it persists. It will also persist if adding a resource and selecting the editor, which I'm assuming is prompting us for the editor because it is initially undefined. The defaultEditor is not set in amplify/.config/local-env-info.json after initialization

Hi, can I work on this? Thanks!


[Dialog] Dialog breaks with custom breakpoints.unit and maxWidth set to xs

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Link to live example:
https://codesandbox.io/s/dry-bird-j7bv98
Steps:

Create a Dialog (I forked the Dialog example).
Add a theme with breakpoints.unit other than px.
Add maxWidth="xs" to the Dialog.

Current behavior 😯
The max width of the element is 0rem.

Expected behavior 🤔

Context 🔦
.
Your environment 🌎
.

PaperProps={{           style: {             maxWidth:${theme.breakpoints.values.sm / 16}rem, // convert pixels to rems             width: "100%"           }         }}
you can give it a try with something like


Can you please clarify the installation process?

On windows 8, the last command
luarocks make rockspecs/lua-websockets-scm-1.rockspec
just prints
'"C:\Program Files (x86)\LuaRocks\lua5.1.exe"' is not recognized as internal or external command, operable program or batch file
Anyway, what should i do with results of its execution to compile examples?

your lua/luarocks installation seems broken. sorry cant help since i am not using windows.

@Cabaaba did you find a solution?


Some cleanup

We don't have to set tf_playergib, it's a server-side console variable. If anyone is playing in your own hosted server, that person won't see gibs if that person has it enabled.

tf_playergib completely skips the gib setup code, while other commands just skip rendering or remove it more quickly. This is good for local server optimization.


more documentation for gitlab and table instead of sections

Changed format for README a bit. Hopefully it is more convenient.


Error when deploying Intuncd-monitor: {"code":"PrincipalTypeNotSupported","message":"Principals of type Application cannot validly be used in role assignments."}

When deploying the application via the deploy button and the custom Azure template I have observed the following:
If I'm understanding it correctly this looks like it's trying to assign the application ID to the key vault and something is failing. This doesn't seem to be causing a problem during the deployment as I am able to get load the UI. I'm wondering though if it's linked to another issue when I try to add a tenant in the IntuneCD UI.
{"code":"PrincipalTypeNotSupported","message":"Principals of type Application cannot validly be used in role assignments."}

This error occurs if you've entered the Object ID from the App Registration in Entra instead of the Enterprise Application Object ID during deployment. Either give your app the Key Vault administrator role on the resource group or redeploy providing the correct parameter

Using the Enterprise Application object ID instead of the App Registration did fixe the issue.


As an owner I want to remove Editors from a Site.

BTW this feature exists but it seems to be broken

What's the error exactly? I tried this morning to add and remove and editor as an owner and it worked:

The front end is broken, I never said this was your fault!

Ah! I get notified every time someone opens an issue and I did not realize it wasn't assigned to me. I Should put some filters on notifications...

This feature will be coming soon to sites2


WIP: Code coverage support

Work in progress to test out difference Code Coverage providers for us to integrate into our PR workflow.
DO NOT MERGE.

Codecov would be honored to have your business. However, it appears the upload size of this report far exceeds our largest report seen so far. The previous record was 56mb, yours is 135mb. Codecov, at this time, will not be able to process what size file. Is there any way of reducing the file size by stripping out unnecessary contents?

@stevepeak I'll take another look at stripping out some more unneeded coverage information.

Code coverage file is now much smaller and uploading to Codecov.io!

Current coverage is 67.00% (diff: 100%)

No coverage report found for master at d35c483.

Powered by Codecov. Last update d35c483...bf68d2e

@grokys Can you take a look? This is ready to be merged in.

LGTM! This will be really useful info, thanks for sorting this out Jeremy!


IMPORTANT: make dotmesh (e.g. dotscience runners) work on docker for Mac again

Currently it's broken for edge, and will soon be for stable as well.
from @justincormack
compile zfs kernel modules for linuxkit 4.9.125 and 4.14 kernels
FYI Edge docker is about to switch to using upstream LinuxKit kernels. 4.9.125 initially, and then switching to 4.14 shortly.

Done!
4d04fec98c72        bazel/cmd/dotmesh-server:dotmesh-server-img   "dotmesh-server"         About a minute ago   Up About a minute                                                                               dotmesh-server-inner

dotmesh-server now running on
luke@dot:~/ps/frontend-ng/app$ docker version
Client: Docker Engine - Community
 Version:           18.09.0-ce-beta1
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        78a6bdb
 Built:             Thu Sep  6 22:41:53 2018
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0-ce-beta1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       78a6bdb
  Built:            Thu Sep  6 22:49:35 2018
  OS/Arch:          linux/amd64
  Experimental:     true


Package: PyEnv

Package Requested

[x] I would like someone else to build the manifest.
[ ] I would like help so I can submit the manifest.
[x] I have performed a search and couldn't find this package.
[ ] I think there is a new version available and I have provided the URL.

Manifest:
Fill out as much of the manifest metadata you can:
PackageIdentifier:  PyEnv.PyEnv # publisher.package format (example: "Microsoft.WindowsTerminal")
PackageVersion:     <IP_ADDRESS> # version number format x.y.z.a (example: "1.6.10571.0")
PackageLocale:      en-US # meta-data locale (example: "en-US")
Publisher:          PyEnv # publisher name (example: "Microsoft Corporation")
PackageName:        PyEnv   # package name (example: "Windows Terminal")
License:            MIT # package license (example: "MIT")
ShortDescription:   Simple Python version management # package description (example: "The new Windows Terminal")
Installers:
 - Architecture:     / # installer architecture (example: "x64")
   InstallerType:    Source Code + Path variable # installer type (example: "msix")
   InstallerUrl:     https://github.com/pyenv/pyenv/releases/tag/v2.0.1 # installer URL (should be https://)
   InstallerSha256:  /# SHA256 hash calculated from installer
ManifestType: singleton
ManifestVersion: 1.0.0

Note: This was started but never finished? https://github.com/pyenv-win/pyenv-win/issues/134

Sorry, up till now the package should be an installer, source code or zip files are not supported. Maybe you need to wait for quite a long time.

@XavierGeerinck @lychichem is there any docs for me to generate exe or msi file for this (simple way) for my reference.
PackageIdentifier:  PyenvWin.PyEnv
PackageVersion:     2.64.8
PackageLocale:      en-US
Publisher:          PyenvWin
PackageName:        PyEnv
License:            MIT
ShortDescription:   Simple Python version management
Installers:
 - Architecture:     x64
   InstallerType:    Source Code + Path variable # installer type (example: "msix") # Need help: didn't understood what to add in these variables
  # [System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
  # [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")\
  # [System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
   InstallerUrl:     https://github.com/pyenv-win/pyenv-win/releases/tag/v2.64.8
   InstallerSha256:  /# SHA256 hash calculated from installer
ManifestType: singleton
ManifestVersion: 1.0.0

Even if you can generate an installer for pyenv, it may still be blocked due to dependency on other packages (python). And I don't know where to find a doc for building msi...

Would be really nice to still be able to build this as this is useful for a lot of people (I linked the other issue here as well).

Note: https://github.com/pyenv-win/pyenv-win#get-pyenv-win shows how to install it. It is already supported on Chocolatey

cc @kirankotari: seems like you'll have to wait for https://github.com/microsoft/winget-cli/issues/140.

@kirankotari Even if you can generate an installer for pyenv, it may still be blocked due to dependency on other packages (python). And I don't know where to find a doc for building msi...

No, This package is written in visual basic and batch which are window inbuilt languages. No external package dependency.

@kirankotari Even if you can generate an installer for pyenv, it may still be blocked due to dependency on other packages (python). And I don't know where to find a doc for building msi...

No, This package is written in visual basic and batch which are window inbuilt languages. No external package dependency.

@lychichem you are referring to a wrong link. There is no such dependency for pyenv for windows which is also called as pyenv-win
https://github.com/pyenv-win/pyenv-win

https://code.visualstudio.com/docs/python/environments also lists pyenv as an important tool
@kirankotari any possibility of being able to create an MSI installer for it?
As far as I can see, GitHub CLI has a workflow for it!

GitHub Workflow: https://github.com/cli/cli/blob/trunk/.github/workflows/releases.yml#L133

It utilizes go-msi (https://github.com/mh-cbon/go-msi)
Which in turn implements WIX

@Msftbot .zip

Are there any updates on this? It would be great to have!

any updates about this issue?

Although Zip packages have been unblocked, the installation instructions specify additional environment variables that need to be set other than just the PATH environment variable. This means that until an msi or exe installer is made available, WinGet still has no way to properly install the package


Panel tooltips are not only string

The page for Panel:SetTooltip says that str can actually be either a string or false for no tooltip:

Arguments

string str
The text to be displayed in the tooltip. Set false to disable it.

Then, the page for Panel:GetTooltip also says that the return value is the tooltip text, if it was set:

Returns

string tooltip
The tooltip text, if it was set.

The tooltip type can possibly defined to be string|false for the Panel:SetTooltip parameter type, though I'm not sure about the return type for Panel:GetTooltip.
This change would fix the diagnostics for the example presented on the page for Panel:SetTooltip:

Heya, thanks for reporting.
If I understand you correctly, then this can be fixed by editting the wiki.
I looked up an example that also allows multiple types for a parameter and found concommand.Add which is typed correctly for its flags parameter: https://github.com/luttje/glua-api-snippets/blob/d4940ffbc406630b84588608f218c8aa27db5266/library/concommand.lua#L35
You can see on the wiki edit page that this is achieved with an argument documented like this:
<arg name="flags" type="number" alttype="table" default="0">Console command modifier flags. Either a bitflag, or a table of enums. See <page>Enums/FCVAR</page>.</arg>

If this answers your question, then it'd be great if you could edit the wiki to document this alttype. Let me know if this is the case and I'll close this issue.
Next month when the scraper updates I'll update the extension in LLS-Addons

I think the wiki has it misdocumented, its not false to disable it (it works, but as a coincidence), it's omitting the argument that is intended, or nil. I have updated the wiki page.

Oh! That certainly makes more sense. I think it'll be ok to close this now, then.


feat: update support for passthrough rollouts

add new passthrough logic for rollout checking

#257  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @suthar26 and the rest of your teammates on  Graphite


Support JDBC databases for metadata_db

Hi,
To easily deploy atoti using stateless cloud services in would be nice that metadata_db supports JDBC. (see gitter message).

I'd say we're actually not far from supporting it (given that we use a jdbc connection string to setup the h2 database).
The only thing that we probably need to do is to include the necessary drivers, but they are already provided by atoti-sql. So maybe simply removing the check and making sure that atoti-sql is installed might be enough. To be tested.

Available in atoti 0.6.0.


[3.x] Give each RigidBody its own DirectBodyState wrapper.

3.2 version of #42928.

Rebased following merge of #42168.

There's a couple style issues with empty lines at the start of blocks.

Thanks!


[Enhancement]: the user operations are not precisely filtered

Is there an existing issue about this enhancement?

[X] I have checked the existing issues.

Describe the enhancement.
https://docs.matrixorigin.io/0.6.0/MatrixOne/Troubleshooting/audit/#enable-audit

This query will also print out system operation queries.

create view mo_user_action as select request_at,user,host,statement,status from system.statement_info where user in (select distinct user_name from mo_catalog.mo_user) and statement not like '______internal_%' order by request_at desc;

https://github.com/matrixorigin/matrixorigin.io/pull/280


[QUESTION] About benchmark and usability

Hi, thanks for such a nice tool~
Seems it's a node rewrite for nginx-like service. So how about the bump to performance and easier usability?

hi, @poppinlp
I'm sorry that hiproxy is a proxy tool for front-end developer. and it's NOT a  production environment for Nginx alternatives. So, in the production environment certainly need to use Nginx not hiproxy.
:-)

OK, got it. THX.

@poppinlp you are welcome. Thanks for your reply!


CitationKeys are case-insensitive in bibtex

Debug log ID
6P6IDJVC-refs-apse/6.7.137-6
What happened?
I set the BBT citation key formula as auth.lower+year, which should be like, for example, "liu2022". When I put a Chinese paper into Zotero (the author names are Chinese), it seems BBT translates the Chinese author name into English and generate the citation key. However, the author name will be an upper case, for example, "Liu2022", which does not align with my citation key formula.
This can be a problem when there already exists a citation key "liu2022". The later coming citation key "Liu2022" (which should be "liu2022a") does not conflict with it, because BBT is case sensitive. But when I export them in to a .bib file, the BibLaTex will report errors, because BibLaTex is not case sensitive, it finds two same items.

what happens here is the following, which is admittedly counter-intuitive for CJK:

auth => 刘超 (I hope I got that right)
.lower => 刘超, because lower doesn't understand CJK (and I'm not sure whether "lowercase" even makes sense for CJK)

and finally, because you have Force citation key to plain text checked, it applies pinyin, at which point it transforms the name to Liu. Some people do not want CJK names romanized, so I can't do it inside auth. I think auth.transliterate.lower or auth.pinyin.lower will do what you want.

Are you sure biblatex is case-insensitive? In this MWE, the entry isn't rendering for me unless I uppercase the E:
\documentclass{article}
\usepackage{url}
\begin{filecontents}{\jobname.bib}
@ARTICLE{Efron1986bo,
  title    = "{Why isn't everyone a Bayesian? With discussion and a reply by the author}",
  author   = "Efron, B",
  journal  = "The American statistician",
  volume   =  40,
  number   =  1,
  pages    = "1--11",
  year     =  1986,
  issn     = "0003-1305"
}
\end{filecontents}
\usepackage[backend=biber,style=apa]{biblatex}
\addbibresource{\jobname.bib}

\begin{document}

Test see \parencite{efron1986bo}.

\printbibliography{}

\end{document}

@njbart?

what happens here is the following, which is admittedly counter-intuitive for CJK:

auth => 刘超 (I hope I got that right)
.lower => 刘超, because lower doesn't understand CJK (and I'm not sure whether "lowercase" even makes sense for CJK)

and finally, because you have Force citation key to plain text checked, it applies pinyin, at which point it transforms the name to Liu. Some people do not want CJK names romanized, so I can't do it inside auth. I think auth.transliterate.lower or auth.pinyin.lower will do what you want.

Thank you for your suggestions! The auth.transliterate.lower+year works well as what I need.

Are you sure biblatex is case-insensitive? In this MWE, the entry isn't rendering for me unless I uppercase the E:
\documentclass{article}
\usepackage{url}
\begin{filecontents}{\jobname.bib}
@ARTICLE{Efron1986bo,
  title    = "{Why isn't everyone a Bayesian? With discussion and a reply by the author}",
  author   = "Efron, B",
  journal  = "The American statistician",
  volume   =  40,
  number   =  1,
  pages    = "1--11",
  year     =  1986,
  issn     = "0003-1305"
}
\end{filecontents}
\usepackage[backend=biber,style=apa]{biblatex}
\addbibresource{\jobname.bib}

\begin{document}

Test see \parencite{efron1986bo}.

\printbibliography{}

\end{document}

@njbart?

My mistake, I confused the bibtex and biblates. In my case, my ref.bib file is as the following example:
@ARTICLE{Efron1986bo,
  title    = "{Why isn't everyone a Bayesian? With discussion and a reply by the author}",
  author   = "Efron, B",
  journal  = "The American statistician",
  volume   =  40,
  number   =  1,
  pages    = "1--11",
  year     =  1986,
  issn     = "0003-1305"
}
@ARTICLE{efron1986bo,
  title    = "{testTitle}",
  author   = "Efron, B",
  journal  = "testJournal",
  volume   =  40,
  number   =  1,
  pages    = "1--11",
  year     =  1986,
  issn     = "0003-1305"
}

and the .tex file is as follows:
\documentclass{article}
\usepackage{cite}

\begin{document}

Test see \cite{efron1986bo}.

\bibliographystyle{plain}
\bibliography{ref.bib}

\end{document}

Then I use the pdflatex->bibtex->pdflatex*2 recipe to compile, but it reports errors. If I delete the item efron1986bo from the ref.bib, it works well.

If you try to export some items to CSV, what options are you offered in the Character Encoding dropdown?

If you try to export some items to CSV, what options are you offered in the Character Encoding dropdown?

Hi, when exporting to CSV, my Character Encoding dropdown offers three options: "Unicode (UTF-8)", "Unicode (UTF-8 without BOM)", and "Western". The default option is "Unicode (UTF-8 without BOM)".

can you try installing build 6487 and sens a new debug log using that?
That build will also fix the problem of duplicate keys you were seeing, but the files in 6P6IDJVC-refs-apse/6.7.137-6 were in an encoding I couldn't figure out, I've changed something about how debug logs are sent, I hope that will be fixed then as well.

can you try installing build 6487 and sens a new debug log using that?
That build will also fix the problem of duplicate keys you were seeing, but the files in 6P6IDJVC-refs-apse/6.7.137-6 were in an encoding I couldn't figure out, I've changed something about how debug logs are sent, I hope that will be fixed then as well.

Hi, I have submitted the debug log using the build test build <IP_ADDRESS>20.5487, ID: 8ANG726J-refs-euc/<IP_ADDRESS>20.5487-6. I now use the auth.transliterate.lower + year formula. The problem of duplicate keys is fixed as I tested in auth.lower + year formula. Thank you!

The debug log IDs sent from your system are in a character encoding other than UTF-8, and I'm trying to find out which it is, I had hoped that the encoding dropdown would show your system encoding. It looks like your Zotero is set to English, what language is your Windows installation set to?
Would you do the following for me?

Open the Command Prompt by pressing Win + R to open the Run dialog, type cmd, and press Enter.
In the Command Prompt window, type the following command and press Enter: chcp

The active character encoding will be displayed. For example, if it's set to UTF-8, you will see something like Active code page: 65001. But I suspect it will be a different codepage, and it would be helpful to know what it is.

Can you also attach an RDF export of the item in 8ANG726J-refs-euc/<IP_ADDRESS>20.5487-6?

The debug log IDs sent from your system are in a character encoding other than UTF-8, and I'm trying to find out which it is, I had hoped that the encoding dropdown would show your system encoding. It looks like your Zotero is set to English, what language is your Windows installation set to?
Would you do the following for me?

Open the Command Prompt by pressing Win + R to open the Run dialog, type cmd, and press Enter.
In the Command Prompt window, type the following command and press Enter: chcp

The active character encoding will be displayed. For example, if it's set to UTF-8, you will see something like Active code page: 65001. But I suspect it will be a different codepage, and it would be helpful to know what it is.

Can you also attach an RDF export of the item in 8ANG726J-refs-euc/<IP_ADDRESS>20.5487-6?

Sure. The active code page shows 936. It is the simplified Chinese (GB2312). Yes, my Zotero is set to English.
Here I attach the Zotero RDF and Bibliontology RDF in 8ANG726J-refs-euc/<IP_ADDRESS>20.5487-6. Hope they are helpful:
rdfFiles.zip
.

Can you also make an export using "BetterBibTeX JSON", once with background off, once with on?

Can you send a new debug log with these items from build 5502?

Can you also make an export using "BetterBibTeX JSON", once with background off, once with on?

Can you send a new debug log with these items from build 5502?

The new debug log ID is: 36SYYHWG-refs-apse/<IP_ADDRESS>20.5502-6. Please find the attached "BetterBibTeX JSON" exported files under both build 5487 and 5502: exportFiles.zip.

Awesome, that fixes another problem I had. Thanks!


Recertification - add export functionality

add the same export functionality which exists for the reporting section

moved to #1930


Fix relative import for Python 3

(and order imports)

Hey @SpotlightKid!
So...tonight is tonight it seems...
I tried to build it in python 3, but I could not get it to work, please see below. Do you expect it to build?
Here's what I did.
cd touchosc2midi
docker run --rm -v $PWD:/data -it --entrypoint /bin/bash python:3.3.6  # or 3.4.3
apt-get update && apt-get install -y liblo-dev librtmidi-dev
cd /data && python setup.py install

this fails with:
Processing netifaces-0.10.4.tar.gz
...
  File "/tmp/easy_install-mnruk57p/netifaces-0.10.4/setup.py", line 17, in <module>
    packages=["touchosc2midi"],
AttributeError: 'dict' object has no attribute 'print'

This, may be a known issue: https://github.com/GNS3/gns3-server/issues/97 -- can you have a look?

Yes, the setup.py file of the netifaces package (which is a dependency of zeroconf) is broken for Python 3. AFAICS, this has nothing to with my PR, though. It "just" means that the dependencies of your project are apparently broken.

There's nothing much you can do about but pressure the netiface maintainers to release a fixed package or the zeroconf maintainers to switch their dependency to https://pypi.python.org/pypi/gns3-netifaces and also release a new version.

To be able to test your package under Python 3, you have to clone the zeroconf repo, change the dependency in its setup.py from netifaces to gns3-netiface, install zeroconf from your clone in your virtualenv with python setup.py install and then proceed to install touchosc2midi.


bump to t8code 3.0.1

Since https://github.com/DLR-AMR/t8code/pull/1319 is included in v3.0.1, does this mean we don't need the fix ce9849e anymore, cf. https://github.com/DLR-AMR/T8code.jl/pull/78#issuecomment-2520880656 @jmark?

I think you are right @JoshuaLampert . There is no cmesh::Cint anymore. The line from fixes.sh has no effect.


PHP 8.2 - Replace deprecated utf8_encode function to mb string

Exception:

Solution:
https://php.watch/versions/8.2/utf8_encode-utf8_decode-deprecated
In order to keep the project compatible with PHP 8.2 this function must be replaced to avoid PHP Fatal errors.

Hi @gabrielrbarbosa, thanks for the PR, we will review as soon as priorities allow.

This has now been released in v3.29.1
Thanks again @gabrielrbarbosa


Inference time very high with custom caffe network

I am testing armnn on a Rockchip RK3399 based SBC running Ubuntu 18_04. I have a trained Caffe network similar to Googlenet but with less inception layers and neurons. The inference time using pycaffe and openblas with 2 threads is 0.083 s (~12 FPS).
I compiled the following code based on the MNIST example and providing an empty array as input:
// Helper function to make input tensors
armnn::InputTensors MakeInputTensors(const std::pair<armnn::LayerBindingId,
    armnn::TensorInfo>& input,
    const void* inputTensorData)
{
    return { { input.first, armnn::ConstTensor(input.second, inputTensorData) } };
}

// Helper function to make output tensors
armnn::OutputTensors MakeOutputTensors(const std::pair<armnn::LayerBindingId,
    armnn::TensorInfo>& output,
    void* outputTensorData)
{
    return { { output.first, armnn::Tensor(output.second, outputTensorData) } };
}

int main(int argc, char** argv)
{
    float image[1][320][215][3] = {};

	// Import the Caffe model. Note: use CreateNetworkFromTextFile for text files.
    armnnCaffeParser::ICaffeParserPtr parser = armnnCaffeParser::ICaffeParser::Create();
    armnn::INetworkPtr network = parser->CreateNetworkFromBinaryFile("mymodel.caffemodel",
                                                                   {  }, // input taken from file if empty
                                                                   { "prob" }); // output node

    // Find the binding points for the input and output nodes
    armnnCaffeParser::BindingPointInfo inputBindingInfo = parser->GetNetworkInputBindingInfo("input");
    armnnCaffeParser::BindingPointInfo outputBindingInfo = parser->GetNetworkOutputBindingInfo("prob");

    // Optimize the network for a specific runtime compute device, e.g. CpuAcc, GpuAcc
    //armnn::IRuntimePtr runtime = armnn::IRuntime::Create(armnn::Compute::CpuAcc);
    armnn::IRuntime::CreationOptions options;
    armnn::IRuntimePtr runtime = armnn::IRuntime::Create(options);
    armnn::IOptimizedNetworkPtr optNet = armnn::Optimize(*network, {armnn::Compute::CpuRef}, runtime->GetDeviceSpec());

    // Load the optimized network onto the runtime device
    armnn::NetworkId networkIdentifier;
    runtime->LoadNetwork(networkIdentifier, std::move(optNet));

    // Run a single inference on the test image
    std::array<float, 2> output;

    for(int i=0; i<100; i++){
        clock_t begin = clock();
        armnn::Status ret = runtime->EnqueueWorkload(networkIdentifier,
                                                     MakeInputTensors(inputBindingInfo, image),
                                                     MakeOutputTensors(outputBindingInfo, &output[0]));

        clock_t end = clock();
        double elapsed_secs = double(end - begin) / CLOCKS_PER_SEC;
        std::cout << elapsed_secs << std::endl;
    }
	return 0;
}

The inference time is inexplicably  high, more than 4 seconds. What am I doing wrong? Armnn was compiled with NEON support.

HI,
It looks like you're selecting the reference backend when you Optimize you network:
armnn::IOptimizedNetworkPtr optNet = armnn::Optimize(*network, {armnn::Compute::CpuRef}, runtime->GetDeviceSpec());
Can you change this to use CpuAcc? It should be a lot faster:
armnn::IOptimizedNetworkPtr optNet = armnn::Optimize(*network, {armnn::Compute::CpuAcc}, runtime->GetDeviceSpec());

You are right, the inference time dropped to 0.1s! Not as fast as my reference, but at least it is close. Can you explain me the meaning of this change? Thank you!

RK3399 has a Mali T860-MP4 so if you can get OpenCL working on your board you could also check to see if the GpuAcc backend is faster? It may or may not be "depending" on how things are set up.
To really get a boost you could try using our recently added 'Quantizer' tool to convert the network to 8-bit? You'd have to re-check the accuracy of the results to make sure any difference was acceptable, but that can make a massive improvement to speed.

Also, make sure you are using the ArmNN profiler, this will show you where the time is going on a layer by layer basis.  There's some documentation for how to enable it in IRuntime.hpp and IProfiler.hpp, if you need any help please let us know.

I tried the quantizer (using a network without normalization, since it is not supported yet). The inference time is the same wrt the .armnn non-quantized model. Moreover, the inference time on the quantized model is much less stable, oscillating between 66 and 190 ms. I am using ExecuteNetwork to perform these tests.

Hi @FSet89,
Are you happy that this issue is resolved? If I hear nothing back I'll close this in a week or so.
Colm.


See mailparser

Maybe this can halp: https://www.npmjs.com/package/mailparser

I could see it, but I don't think it will help much.

I could see it, but I don't think it will help much.


Make a Flow Logo

clover
ask jerome

Some proposed options:

Flower network:

Source

Less is more!

@fywu85 just to get an idea of the underlying design, this is trying to construct Flow into the shape of a car?

I love it!
Best wishes,
Cathy

@eugenevinitsky Yes! Basically,

@Eugene Vinitsky<EMAIL_ADDRESS>This is one possibility!
[image: flow-cloverleaf.png]

I think flow sketch can look like this:


ecommerce product analyzer

Pull Request: Puppeteer E-commerce Crawler with Chrome Automation
Description
This pull request aims to enhance the Puppeteer e-commerce crawler by introducing a new feature that allows users to automate Google Chrome for data crawling. The automation feature opens up new possibilities for web scraping, making it more efficient and flexible.
Changes

Chrome Automation Integration: I have integrated the Chrome automation feature using Puppeteer. Users can now initialize and control a Chrome instance to browse and interact with web pages programmatically.

Improved Crawler Configuration: Added configuration options to enable or disable Chrome automation, set user agents, and control other parameters for web crawling.

Documentation Updates: Updated the documentation to include instructions on how to use the new Chrome automation feature, including examples and best practices.

Motivation
The integration of Chrome automation in the Puppeteer e-commerce crawler provides significant benefits:

JavaScript Execution: Allows running JavaScript code on web pages to interact with dynamic content, such as clicking buttons and handling AJAX requests.

Headless and Non-headless Modes: Users can choose to run Chrome in headless (invisible) or non-headless mode for crawling, depending on their requirements.

Human-like Interaction: Provides the capability to emulate human interactions with the web page, making it suitable for scraping websites that rely on user interactions for data loading.

Usage Example
const puppeteer = require('puppeteer');

const browser = await puppeteer.launch({
  headless: false, // Set to true for headless mode or false for non-headless mode
});

const page = await browser.newPage();

// Navigate to the e-commerce website and perform actions
await page.goto('https://example.com');
await page.click('.button-class');
// Add more interactions here...

// Capture data from the page
const data = await page.evaluate(() => {
  // Extract data using JavaScript
  return {
    // Your data extraction logic here
  };
});

// Continue with data processing and saving

await browser.close();

This does not look relevant for Puppeteer.


Method projects.delete returns 'Unsupported Media Type'

Not sure this is the right place to file this (let me know).
Test program:
import os
from azure.core.exceptions import HttpResponseError
from pydo import Client

client = Client(token=os.getenv("DIGITALOCEAN_TOKEN"))
project_id = "e4654ba2-ebd5-4405-b6be-af13047568ef"

try:
    project = client.projects.get(project_id=project_id)
    print(project)
except HttpResponseError as err:
    raise

try:
    client.projects.delete(project_id=project_id)
except HttpResponseError as err:
    raise

Output:
❯ python3 t.py
{'project': {'id': 'e4654ba2-ebd5-4405-b6be-af13047568ef', 'owner_uuid': '3281ad3a-0092-4e6b-abd2-c7a7ed211503', 'owner_id': 10112447, 'name': 'my-web-api', 'description': 'My Website API', 'purpose': 'Service or API', 'environment': 'Production', 'is_default': False, 'created_at': '2023-01-20T03:28:38Z', 'updated_at': '2023-01-20T03:28:38Z'}}
Traceback (most recent call last):
  File "/Users/mark/t.py", line 15, in <module>
    client.projects.delete(project_id=project_id)
  File "/Users/mark/Library/Caches/pypoetry/virtualenvs/x-tgVTt8yo-py3.9/lib/python3.9/site-packages/azure/core/tracing/decorator.py", line 78, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "/Users/mark/Library/Caches/pypoetry/virtualenvs/x-tgVTt8yo-py3.9/lib/python3.9/site-packages/pydo/operations/_operations.py", line 93609, in delete
    raise HttpResponseError(response=response)
azure.core.exceptions.HttpResponseError: Operation returned an invalid status 'Unsupported Media Type'

Thanks for opening this up. The API is expecting a json body for some reason. The work around would be to do something like this:
 # test deleting a project
    # Work around endpoint requiring "application/json" for DELETES even though
    # there is no request or response body.
    custom_headers = {"Content-Type": "application/json"}
    delete_resp = integration_client.projects.delete(
        headers=custom_headers, project_id=project_id
    )

We're going to look into a way to inject this header automatically within the client, but for now here's a work around.


How to setup TLS?

Is there any documentation how to setup the SSL certificates? And mount them into a K8S secret?
https://github.com/vernemq/docker-vernemq/blob/master/helm/vernemq/values.yaml#L160
Any help would be helpful ;)

found documentation in helm chart, but is outdated!

@cedricve thanks, can you let me know where it's outdated, or fix it?

https://github.com/vernemq/docker-vernemq/tree/master/helm/vernemq
I will send a PR after I fixed my issue https://github.com/vernemq/docker-vernemq/issues/171


Ability to create ProcessorBuilder from a SubscriberBuilder and a PublisherBuilder

It would be good to have the ability to create a ProcessorBuilder from a SubscriberBuilder and a PublisherBuilder.
Akka Streams provides two different methods for doing this, the first treats them as completely different streams, which is more a convenience than anything else. The second is to wrap them in a way that is "coupled", what this means is the lifecycle events - cancel, onComplete and onError are transferred between the Subscriber and the Publisher, so for example, if the Subscriber receives an onComplete, then the resulting Processor emits onComplete, and cancels the Publisher. Likewise, if the Publisher receives a cancel, then the resulting Processor also emits cancel upstream, and sends onError(CancellationException) to the Subscriber.
I think this will be useful for a number of messaging scenarios, for example, if integrating with a library that provides a Publisher and Subscriber.

+1

I would suggest we could then have:
ReactiveStreams.from( S,P )
as well, to keep that complete.

In ReactiveStreams:
ProcessorBuilder couple(SubscriberBuilder sub, PublisherBuilder pub);
ProcessorBuilder couple(Subscriber sub, Publisher pub);

In the future we may want to add: uncouple.


Accent : Next and previous bar

Area
Website
The problem
There is a significant gap between the next and previous bars, which are colored in blue and occupy nearly half of the page, even though the content is yet to be updated. It would be better to position them closer to the footer. Additionally, the bars have a similar color to the footer, and while the color seems fine, the size of the bars appears too large.
The solution
1.Reduce the Gap.
2.Position Closer to the Footer.
3.Adjust the Size of the Bars
4.Color Differentiation
These adjustments should help improve the layout and visual appearance of the page , making the bars closer to the footer and appropriately sized.
Alternatives and examples
Consider a different layout or design pattern that doesn't require large bars, such as a more compact or minimalist approach.Like providing a small gap between the footer and the bars with small and creating individual bars for the next and previous all together.
Are you a JPMorgan Chase & Co. employee?

[ ] I am an employee of JPMorgan Chase & Co.

Thanks for the feedback @ThilakNarasimhamurthy. We're looking into improving our website design holistically so we'll keep this feedback in mind.

Hey @joshwooding I was unable to find the local setup documentation. Can you help me find the exact location? Also, do we have any discord or slack platform for contributors where all the discussions happen?

We are using github projects for external audiences but also have internal channels for our JPM audience (go/saltds-internal)

Closing for now as we have  a long-term effort to improve the site design, so this will not be fixed through this issue.
Thanks for the feedback.


Edit Mode slowly becomes crippled with Bubble Card popup on dashboard

Describe the bug
When I have bubble pop ups on my dashboard on the latest home assistant, a fair few I might add, when I click on edit the browser hangs and it takes a while for anything to happen on screen. I think it's specifically when the pop up is used as it doesn't seem to effect the dashboards I've got with just state/slider cards on. Something seems to get stuck, because when I then open the raw configuration all the actions I performed get actioned and multiple edit windows open. I've tried to capture this in the videos included in the issue.
I tested whether it was bubble card or not by completely removing the JS import from the dashboard under resources. The edit dialog returns to it's expected responsiveness.
I'm not entirely sure how to debug this so any additional information you required let me know. I've included two videos of the situation, one with bubble card and one without. Something seems to get stuck and the only thing in the logs is this subscription issue which seems to be something new after searching home assistant issues for it:
https://github.com/home-assistant/frontend/issues/13304
https://github.com/home-assistant/frontend/issues/11132
I get the following for every bubble pop up on screen:

This has been happening since I started creating my new dashboard for 2024.8, the edit dialog became progressively sluggish the more bubble pop-ups I used.
To Reproduce
Steps to reproduce the behavior:
Without Bubble Card:
https://github.com/user-attachments/assets/04856c2d-b653-438d-840e-7f611da3a9b5
With Bubble Card:
https://github.com/user-attachments/assets/b09f28a7-bc37-4dba-8513-fe41bdfbd205

Add a few bubble pop up cards to the dashboard. Fill them with items and watch the dashboard.
Open up the edit dialog, for any other card.
Wait for dialog to eventually open but be very sluggish

Expected behavior
Edit dialog to open not be laggy.
Screenshots
If applicable, add screenshots to help explain your problem.
YAML
If applicable, add any relevant YAML code.
Your code here

Informations (please complete the following information):

OS: Android/Windows/Linux
Browser/App: App (Android), Browser (Chrome, Brave, Firefox)
Bubble Card version: 2.2.1, 2.2.2.beta3
Home Assistant version: [e.g. 2024.6.4]

Additional context
Add any other context about the problem here.
Thank you! 🍻

Just to add, I think this is related to cache somehow. My laptop is back up to full speed after wiping cache just now.
My mobile phones are still sluggish but when / how they deide to wipe cache is still a mystery to me. Cache got worse for me + the android app on 2024.7+

Thank you for your feedback, indeed the editor is currently a bit aggressive on how it handle everything to ensure updates in real time. I have some work to do on that but I will need more time first 😅

Thank you for your feedback, indeed the editor is currently a bit aggressive on how it handle everything to ensure updates in real time. I have some work to do on that but I will need more time first 😅

Absolutely no rush, for all that fancy GUI there's a "lovely" yaml editor. 😂
Thanks for all the work you do as your card is awesome.

Hi, I've worked on this issue in the new beta, can you tell me if it's better now? 🤞
https://github.com/Clooos/Bubble-Card/releases/tag/v2.3.0-beta.2

I will certainly! I've still got the laggy dashboard.

Hi, I've worked on this issue in the new beta, can you tell me if it's better now? 🤞
https://github.com/Clooos/Bubble-Card/releases/tag/v2.3.0-beta.2

This is a quick test on my mobile phone so take this with a pinch of salt.
It's leagues better!
Edit boxes now take about 4-10 seconds to open for the elements I tried. Before they wouldn't open at all unless I did something else on the page.
Once that opens the fields all load in a snappy manor, but I'm getting forced down to the bottom of the preview screen. Not sure if that's bubble-card just thought I'd mention as it's different than before.
I can type information into them and I can open dropdowns and select pages on the vertical-stack ui selectors.
I haven't tried saving yet, that used to hang loads, would sometimes seemingly miss the API response as it did save but I'd have to refresh to get rid of the loading spinner. I'll do a better test on my laptop for you over the weekend. I will record another video for you as well.
I think I might be able to edit that dashboard on the UI from my mobile phones again though so massive thanks! Great timing too as I'm planning a new dashboard and don't have that worry of not being able to do quick edits on my phone.

Thank you! I'm glad that this is faster for you!

but I'm getting forced down to the bottom of the preview screen. Not sure if that's bubble-card just thought I'd mention as it's different than before.

I'm not sure to understand what is happening here, so don't hesitate to open a new issue for that.

Morning, sorry I left this.
I will attempt to re-setup my heavy dashboard and test the latest version and let you know.
Great work on these new versions btw!

Hello everyone. Just a little feedback by my side... maybe it will help someone else too.
Because a few weeks ago I also had the problem that my dashboard became very slow / stopped responding in edit mode the longer I was in (ONLY in edit mode, otherwise everything was normal). It was so bad that I could only make a small change to the dashboard and then had to save, exit edit mode and reopen a new browser tab with home assistant to continue.
For a long time I thought that bubble card was causing this because I mainly use this.
When I cleaned up my home assistant instance a bit, I came across the actual cause. In my case it was the Card-Mod extension. I had used this before the bubble card and never had a problem, so I never suspected it. But because I no longer needed it, I removed it and now my edit mode is working normally again. So always check the other components too. 😉
Sorry I blamed bubble card 😅 u doing great @Clooos

This is really interesting! I'm using card-mod as well for some cards and I also have this issue, I will try without it!

I don't use card-mod and wasn't when I made this issue just to add some context.
I will however confirm that yes card-mod lags my home assistant interface too that's why I don't use it. 😂
I've some free time over Christmas @Clooos so I'll setup another dash with many pop ups again and see if it works. I had a pop up for every room/domain before so I will replicate and see how the latest version fairs.

@s1mpleman I recommend you to try this with v2.3.4-beta.1 if you don't have installed it yet, it's the fastest release.
Thank you in advance for the feedback!


Deadlock in runtime.findrunnable

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

$ go version
go version devel +99957b6 Tue Nov 12 05:35:33 2019 +0000 linux/amd64

Does this issue reproduce with the latest release?
No
What operating system and processor architecture are you using (go env)?
From production server:
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/user/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/go"
GORACE=""
GOROOT="/usr/lib/go-1.10"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go-1.10/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build056143673=/tmp/go-build -gno-record-gcc-switches"

What did you do?
Built production app with latest go tip and run it on production traffic. App is highly concurrent and uses timers a lot.
What did you expect to see?
Serving requests as usual
What did you see instead?
Deadlock. App not accepting connections and not responding to os signals. All threads stuck on
dlv
(dlv) threads
* Thread 13055 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13056 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13057 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13058 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13059 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13060 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13061 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13062 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13063 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13072 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13073 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13074 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13075 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13076 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13077 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13078 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13079 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13080 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13081 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13086 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13087 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13088 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13089 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13090 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13091 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13093 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13094 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13095 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13096 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13097 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13098 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13099 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13100 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13101 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13102 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13103 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13104 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13106 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13107 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13108 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13110 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13111 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13112 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13113 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13118 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13122 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13126 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13127 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13128 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13129 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13130 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13131 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13132 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13133 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13134 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13135 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13136 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13137 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13138 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13150 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13151 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13152 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13153 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13154 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13155 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13156 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13157 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13158 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13159 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13160 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13166 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13167 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13168 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13173 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13174 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13223 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13224 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13227 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13228 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13229 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13233 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13292 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13293 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13300 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13305 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13327 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13328 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13514 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13515 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13516 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13517 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13518 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13519 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13520 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
  Thread 13791 at 0x469bb3 /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563 runtime.futex
(dlv) tr 13157
Switched from 13055 to 13157
(dlv) bt
0  0x0000000000469bb3 in runtime.futex
   at /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563
1  0x00000000004322d6 in runtime.futexsleep
   at /root/sdk/gotip/src/runtime/os_linux.go:44
2  0x000000000040cdff in runtime.notesleep
   at /root/sdk/gotip/src/runtime/lock_futex.go:151
3  0x000000000043bcf0 in runtime.stopm
   at /root/sdk/gotip/src/runtime/proc.go:1856
4  0x000000000043d2ed in runtime.findrunnable
   at /root/sdk/gotip/src/runtime/proc.go:2388
5  0x000000000043de2c in runtime.schedule
   at /root/sdk/gotip/src/runtime/proc.go:2548
6  0x000000000043e27d in runtime.park_m
   at /root/sdk/gotip/src/runtime/proc.go:2688
7  0x000000000046594b in runtime.mcall
   at /root/sdk/gotip/src/runtime/asm_amd64.s:318

Deadlock happens in random amount of time/served requests. Didn't find any patterns of when it happens.  Which is it ?
Also, does this issue happen in 1.13.x also ?

Binary was built on build server, go version output is from it. Than it was deployed to production server, go env is from it. And no, latest release woks fine

Thanks. Your go env output should be from the build server also. Showing the output from the prod server does not serve any purpose.
Copying some runtime people @aclements @mknyszek

Thanks. Your go env output should be from the build server also. Showing the output from the prod server does not serve any purpose.

Fixed that, thanks.

App is highly concurrent and uses timers a lot.

That suggests a possible connection to the timer refactoring that @ianlancetaylor did this cycle.

See previously #35375.

Commit 99957b6 was just this morning. Was that the same version used to build the deadlocking binary? (Several sources of deadlocks have been fixed over the past week, so the precise version is important.)

Yes, version in first message is precise

Is there a way that we can recreate the problem ourselves?
Are you sure that your program doesn't have a deadlock itself, such that there are no runnable goroutines?  What leads you to think that this is a runtime problem?
Can you try running the program with GODEBUG=schedtrace=1,scheddetail=1 and show us the output as the program deadlocks?  Thanks.

Is there a way that we can recreate the problem ourselves?

Just found it while trying new timers, will try to provide reproducable example.

Are you sure that your program doesn't have a deadlock itself, such that there are no runnable goroutines? What leads you to think that this is a runtime problem?
Pretty much sure, it's an app serving traffic in our advert network (30+ instances, around 20B requests daily), and this issue doesnt reproduce on release.

Can you try running the program with GODEBUG=schedtrace=1,scheddetail=1 and show us the output as the program deadlocks? Thanks.
Will do, post here when it's ready.

Is there a way that we can recreate the problem ourselves?

Just found it while trying new timers, will try to provide reproducable example.

Are you sure that your program doesn't have a deadlock itself, such that there are no runnable goroutines? What leads you to think that this is a runtime problem?

Pretty much sure, it's an app serving traffic in our advert network (30+ instances, around 20B requests daily), and this issue doesnt reproduce on release.

Can you try running the program with GODEBUG=schedtrace=1,scheddetail=1 and show us the output as the program deadlocks? Thanks.

Will do, post here when it's ready.

No luck of getting deadlock with schedtrace (it slows down app a lot, maybe thats why it's not triggered)
A little more digging into locked app. It still shows a little cpu usage. bt of threads that actually using some cpu:

 0  0x0000000000469bb3 in runtime.futex
    at /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563
 1  0x0000000000465960 in runtime.systemstack_switch
    at /root/sdk/gotip/src/runtime/asm_amd64.s:330
 2  0x000000000041cd24 in runtime.gcStart
    at /root/sdk/gotip/src/runtime/mgc.go:1307
 3  0x000000000040e496 in runtime.mallocgc
    at /root/sdk/gotip/src/runtime/malloc.go:1129
 4  0x000000000044d5bc in runtime.makeslice
    at /root/sdk/gotip/src/runtime/slice.go:49
...

 0  0x0000000000469bb3 in runtime.futex
    at /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563
 1  0x00000000004322d6 in runtime.futexsleep
    at /root/sdk/gotip/src/runtime/os_linux.go:44
 2  0x000000000040cb7a in runtime.lock
    at /root/sdk/gotip/src/runtime/lock_futex.go:102
 3  0x000000000045530f in runtime.addInitializedTimer
    at /root/sdk/gotip/src/runtime/time.go:344
 4  0x0000000000455b2f in runtime.modtimer
    at /root/sdk/gotip/src/runtime/time.go:614
 5  0x0000000000430db2 in internal/poll.runtime_pollSetDeadline
    at /root/sdk/gotip/src/runtime/netpoll.go:264
 6  0x00000000004d1e79 in internal/poll.setDeadlineImpl
    at /root/sdk/gotip/src/internal/poll/fd_poll_runtime.go:155
 7  0x000000000062d5e9 in net.(*conn).SetReadDeadline
....

Examining more threads shows some other backtraces that hang locked

0  0x0000000000469bb3 in runtime.futex
   at /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563
1  0x00000000004322d6 in runtime.futexsleep
   at /root/sdk/gotip/src/runtime/os_linux.go:44
2  0x000000000040cdff in runtime.notesleep
   at /root/sdk/gotip/src/runtime/lock_futex.go:151
3  0x000000000043bcf0 in runtime.stopm
   at /root/sdk/gotip/src/runtime/proc.go:1856
4  0x000000000043c714 in runtime.gcstopm
   at /root/sdk/gotip/src/runtime/proc.go:2056
5  0x000000000043dfc7 in runtime.schedule
   at /root/sdk/gotip/src/runtime/proc.go:2497
6  0x000000000043ec66 in runtime.goexit0
   at /root/sdk/gotip/src/runtime/proc.go:2844
7  0x000000000046594b in runtime.mcall
   at /root/sdk/gotip/src/runtime/asm_amd64.s:318

 0  0x0000000000469bb3 in runtime.futex
    at /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563
 1  0x00000000004322d6 in runtime.futexsleep
    at /root/sdk/gotip/src/runtime/os_linux.go:44
 2  0x000000000040cb7a in runtime.lock
    at /root/sdk/gotip/src/runtime/lock_futex.go:102
 3  0x000000000043176a in runtime.netpolldeadlineimpl
    at /root/sdk/gotip/src/runtime/netpoll.go:459
 4  0x0000000000431a0d in runtime.netpollReadDeadline
    at /root/sdk/gotip/src/runtime/netpoll.go:503
 5  0x0000000000456c64 in runtime.runOneTimer
    at /root/sdk/gotip/src/runtime/time.go:1128
 6  0x0000000000456895 in runtime.runtimer
    at /root/sdk/gotip/src/runtime/time.go:1030
 7  0x000000000043e100 in runtime.checkTimers
    at /root/sdk/gotip/src/runtime/proc.go:2626
 8  0x000000000043ca6a in runtime.findrunnable
    at /root/sdk/gotip/src/runtime/proc.go:2200
 9  0x000000000043de2c in runtime.schedule
    at /root/sdk/gotip/src/runtime/proc.go:2548
10  0x000000000043e27d in runtime.park_m
    at /root/sdk/gotip/src/runtime/proc.go:2688
11  0x000000000046594b in runtime.mcall
    at /root/sdk/gotip/src/runtime/asm_amd64.s:318

0  0x0000000000469bb3 in runtime.futex
   at /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563
1  0x00000000004322d6 in runtime.futexsleep
   at /root/sdk/gotip/src/runtime/os_linux.go:44
2  0x000000000040cdff in runtime.notesleep
   at /root/sdk/gotip/src/runtime/lock_futex.go:151
3  0x000000000043bcf0 in runtime.stopm
   at /root/sdk/gotip/src/runtime/proc.go:1856
4  0x000000000043c714 in runtime.gcstopm
   at /root/sdk/gotip/src/runtime/proc.go:2056
5  0x000000000043dfc7 in runtime.schedule
   at /root/sdk/gotip/src/runtime/proc.go:2497
6  0x000000000043e476 in runtime.goschedImpl
   at /root/sdk/gotip/src/runtime/proc.go:2703
7  0x000000000043e6c4 in runtime.gopreempt_m
   at /root/sdk/gotip/src/runtime/proc.go:2731
8  0x000000000044f9be in runtime.newstack
   at /root/sdk/gotip/src/runtime/stack.go:1025
9  0x0000000000465aaf in runtime.morestack
   at /root/sdk/gotip/src/runtime/asm_amd64.s:449

0  0x0000000000469bb3 in runtime.futex
   at /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563
1  0x00000000004322d6 in runtime.futexsleep
   at /root/sdk/gotip/src/runtime/os_linux.go:44
2  0x000000000040cdff in runtime.notesleep
   at /root/sdk/gotip/src/runtime/lock_futex.go:151
3  0x000000000043bcf0 in runtime.stopm
   at /root/sdk/gotip/src/runtime/proc.go:1856
4  0x000000000043f9c1 in runtime.exitsyscall0
   at /root/sdk/gotip/src/runtime/proc.go:3257
5  0x000000000046594b in runtime.mcall
   at /root/sdk/gotip/src/runtime/asm_amd64.s:318

0  0x0000000000469bb3 in runtime.futex
   at /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563
1  0x00000000004322d6 in runtime.futexsleep
   at /root/sdk/gotip/src/runtime/os_linux.go:44
2  0x000000000040cdff in runtime.notesleep
   at /root/sdk/gotip/src/runtime/lock_futex.go:151
3  0x000000000043bc12 in runtime.templateThread
   at /root/sdk/gotip/src/runtime/proc.go:1834
4  0x000000000043a8c3 in runtime.mstart1
   at /root/sdk/gotip/src/runtime/proc.go:1125
5  0x000000000043a7de in runtime.mstart
   at /root/sdk/gotip/src/runtime/proc.go:1072
6  0x00000000004019bc in ???
   at ?:-1
7  0x00007f065da76e88 in ???
   at ?:-1

0  0x0000000000469bb3 in runtime.futex
   at /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563
1  0x00000000004322d6 in runtime.futexsleep
   at /root/sdk/gotip/src/runtime/os_linux.go:44
2  0x000000000040ced6 in runtime.notetsleep_internal
   at /root/sdk/gotip/src/runtime/lock_futex.go:174
3  0x000000000040d0dc in runtime.notetsleepg
   at /root/sdk/gotip/src/runtime/lock_futex.go:228
4  0x000000000044d3ac in os/signal.signal_recv
   at /root/sdk/gotip/src/runtime/sigqueue.go:147
5  0x00000000007a62d2 in os/signal.loop
   at /root/sdk/gotip/src/os/signal/signal_unix.go:23
6  0x0000000000467a71 in runtime.goexit
   at /root/sdk/gotip/src/runtime/asm_amd64.s:1375

0  0x0000000000469bb3 in runtime.futex
   at /root/sdk/gotip/src/runtime/sys_linux_amd64.s:563
1  0x00000000004322d6 in runtime.futexsleep
   at /root/sdk/gotip/src/runtime/os_linux.go:44
2  0x000000000040cb7a in runtime.lock
   at /root/sdk/gotip/src/runtime/lock_futex.go:102
3  0x0000000000456fa0 in runtime.timeSleepUntil
   at /root/sdk/gotip/src/runtime/time.go:1255
4  0x0000000000442991 in runtime.sysmon
   at /root/sdk/gotip/src/runtime/proc.go:4478
5  0x000000000043a8c3 in runtime.mstart1
   at /root/sdk/gotip/src/runtime/proc.go:1125
6  0x000000000043a7de in runtime.mstart
   at /root/sdk/gotip/src/runtime/proc.go:1072
7  0x00000000004019bc in ???
   at ?:-1
   error: input/output error
(truncated)

Will try to dig deeper. Tell me if there anything i could try to get closer to problem

upd: running with GODEBUG=asyncpreemptoff=1 has no effect, still deadlock

Thanks, I think I see it.
internal/poll.runtime_pollSetDeadline acquires pd.lock and calls resettimer which can acquire timersLock for some P.
checkTimers acquires timersLock for some P and calls runtimer which calls runOneTimer which executes a timer function.  The timer function can be netpollReadDeadline which calls netpolldeadlineimpl which acquires pd.lock.
So if your program changes the deadline of some network connection exactly when the previous deadline expires, a deadlock seems possible at least in theory.
Fortunately CL 207348 which I sent earlier today should fix this problem.

Running tip 2bde3c1 with  CL 207348 looks fine. No deadlock for 5+ hours (got it triggered in less than an hour without patch)

Thanks for testing it.


drivers: timer: nrf_rtc_timer: NRF boards take a long time to boot application in CONFIG_TICKLESS_KERNEL=n mode after OTA update

Observed on the NRF9160 running a non-tickless kernel. When doing an OTA update it took about 12 seconds from reset to MCUboot's "Jumping to the first image slot" log message. However it consistently takes a similar amount of time until the Zephyr "*** Booting Zephyr..." log message is printed.
This issue occurs because the tick interrupts aren't firing for that same period of time. Once the first interrupt has fired, the subsequent ones fire at the correct rate and the scheduler and everything else starts working correctly.
The root cause exists in the sys_clock_driver_init function in nrf_rtc_timer.c. The driver kicks off an asynchronous NRF_RTC_TASK_CLEAR and then calls the compare_set function to set the CC for the first tick interrupt. In my case the value of COUNTER at this time is 400000, so with a tick rate of 128 it will set CC to 400256 (counter() + CYC_PER_TICK). However very shortly afterwards the clear TASK will complete and COUNTER will be reset to 0. Eventually once the counter climbs back up the 400256 the compare event will fire, triggering the first tick interrupt.
So effectively this means that the application startup time is extended by however long it's been since the last RTC reset. So for most boots this is fast enough to not be noticable, but after a long OTA operation, it's very noticeable.
This is technically a problem for builds with CONFIG_TICKLESS_KERNEL=y, though the initial call to compare_set isn't as important, and I'm guessing subsequent ones generally lose the race with the NRF_RTC_TASK_CLEAR.
In light of that, the right fix in my opinion would be to wait until the NRF_RTC_TASK_CLEAR is done before continuing in sys_clock_driver_init, though I don't know if there is a clean way to do that.
Alternatively (for non-tickless) you could just set the initial_timeout to CYC_PER_TICK as an absolute time (256 in my example), since you know the clear is pending or possibly just occurred. The heuristics in compare_set and set_absolute_alarm prevent you from doing this as-is, so you'd need to call set_comparator and friends directly. Ironically if you use set_absolute_alarm it assumes that since the delta is larger than COUNTER_HALF_SPAN that the time has passed and that it should overwrite it with counter() + 2. This in effect mimics the original behavior, since the COUNTER is about to get cleared and you'll end up needing to wait until it reaches 400002.

FYI
@nordic-krch
@jciupis
@pkwiek
@ankuns


[KFNBC] User name check against dedicated-admins membership does not match against Google auth user with<EMAIL_ADDRESS>

Describe the bug
When logging into the cluster via Google Authentication, the user is created with <ORG USERNAME>@<Google Apps Org Domain> as their ocp username.  When the full username is added to the dedicated-admins groups the Dashboard won't enable settings due to it finding the user use <ORG USERNAME> without the domain
I am not sure if this is restricted to Google as the Identity Provider
Steps To Reproduce
Steps to reproduce the behavior:

Add an OCP identity provider with Google for authentication
Add the Google user to the dedicated-admins group
Login to the ODH Dashboard and see that admin Settings are not visible in the UI
Check the OCP users to confirm that they do exists oc get users <ORG USERNAME>@<Google Apps Org Domain>

Expected behavior
The dedicated-admins user membership check works based on the actual OCP user name that is created
Workaround (if any)
Add the shortname for the user to the dedicated-admins group
Open Data Hub Version
BYON notebook build
Dashboard Version
v1.0.11
OpenShift Version
Version #: 4.10
Provider: OpenShift Dedicated
Additional context
Add any other context about the problem here.

Ok, after testing it with @samuelvl we realized that oauth proxy is stripping the  domain from the username in the X-Forwarded-User header.
The approach we would be using from now on would be getting the X-Forwarded-Access-Token header, try to fetch the user and then get name of the object.

@lucferbux @samuelvl was this fix included in the 1.15 live build? I've just noticed that our testing with special usernames fails on the user ldap-special@; the user is able to login and access the spawner page, however in the RHODS dashboard upper right the @ is stripped away from the username, I feel this issue and mine are one and the same.

@lugi0 I'm afraid it's not included yet. Commits that were included in RHODS live build are https://github.com/red-hat-data-services/odh-dashboard/commits/main
I will create a new live build between today and tomorrow that include latest changes, I'll let you know when it is ready

@samuelvl could you also provide us with a list of fixes that are included in the live build, so that we can validate them?
The list of commits could work, but a list of issues would be even better IMHO


[Fixes #2192] Remove enumerable types from excluded type in validation

@harshgMSFT @rynowak

Updated with test.

Updated.

:watch:  for minor comments.

Updated.

:shipit: from me.


Project Story - Feature 1

Project crud operation using redux saga completed , making required field changes for the project entity diagram


Vickel: Watch d?cyberayrecovery(?:@gmail.com)?

Vickel requests the watch of the watch_keyword d?cyberayrecovery(?:@gmail\.com)?. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

d?cyberayrecovery(?:@gmail\.com)? has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


support xla_hlo.neg convert to vmla.neg

also with a test which test neg with vmla and llvm-ir backend

Ah, this op was just renamed in XLA: tensorflow/tensorflow@be22aba (from xla_hlo.neg to xla_hlo.negate). Can you rebase off of master and rename? Force pushing over this existing branch is fine (or you could merge with master and just add new commits... but rebase + force push is simpler IMO).

@ScottTodd ok , I'll update it

@ScottTodd  pr updated, take a look again ^_^


Fail to parse a private repo URI w/ credentials containing .

Issue description
I have the source defined in my Pipfile:
[[source]]
url =<EMAIL_ADDRESS>verify_ssl = true
name = "my"

My username (in the ARTIFACTORY_USER envvar) contains a dot character (e.g. my.user).
Expected result
pipenv install dependencies.
Actual result
Pipfile.lock not found, creating...
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
✘ Locking Failed!

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pipenv/patched/pip/_vendor/packaging/requirements.py", line 102, in __init__
    req = REQUIREMENT.parseString(requirement_string)
  File "/usr/lib/python3.10/site-packages/pipenv/patched/pip/_vendor/pyparsing/core.py", line 1141, in parse_string
    raise exc.with_traceback(None)
pipenv.patched.pip._vendor.pyparsing.exceptions.ParseException: Expected string_end, found ':'  (at char 16), (line:1, col:17)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pipenv/patched/pip/_vendor/pkg_resources/__init__.py", line 3101, in __init__
    super(Requirement, self).__init__(requirement_string)
  File "/usr/lib/python3.10/site-packages/pipenv/patched/pip/_vendor/packaging/requirements.py", line 104, in __init__
    raise InvalidRequirement(
pipenv.patched.pip._vendor.packaging.requirements.InvalidRequirement: Parse error at "':myPass'": Expected string_end
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 964, in _parse_name_from_line
    self._requirement = init_requirement(self.line)
  File "/usr/lib/python3.10/site-packages/pipenv/vendor/requirementslib/models/utils.py", line 192, in init_requirement
    req = Requirement.parse(name)
  File "/usr/lib/python3.10/site-packages/pipenv/patched/pip/_vendor/pkg_resources/__init__.py", line 3148, in parse
    req, = parse_requirements(s)
  File "/usr/lib/python3.10/site-packages/pipenv/patched/pip/_vendor/pkg_resources/__init__.py", line 3094, in parse_requirements
    yield Requirement(line)
  File "/usr/lib/python3.10/site-packages/pipenv/patched/pip/_vendor/pkg_resources/__init__.py", line 3103, in __init__
    raise RequirementParseError(str(e))
pipenv.patched.pip._vendor.pkg_resources.RequirementParseError: Parse error at "':myPass'": Expected string_end
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pipenv/resolver.py", line 845, in <module>
    main()
  File "/usr/lib/python3.10/site-packages/pipenv/resolver.py", line 831, in main
    _main(
  File "/usr/lib/python3.10/site-packages/pipenv/resolver.py", line 811, in _main
    resolve_packages(
  File "/usr/lib/python3.10/site-packages/pipenv/resolver.py", line 759, in resolve_packages
    results, resolver = resolve(
  File "/usr/lib/python3.10/site-packages/pipenv/resolver.py", line 738, in resolve
    return resolve_deps(
  File "/usr/lib/python3.10/site-packages/pipenv/utils/resolver.py", line 1104, in resolve_deps
    results, hashes, markers_lookup, resolver, skipped = actually_resolve_deps(
  File "/usr/lib/python3.10/site-packages/pipenv/utils/resolver.py", line 888, in actually_resolve_deps
    resolver = Resolver.create(
  File "/usr/lib/python3.10/site-packages/pipenv/utils/resolver.py", line 457, in create
    constraints, skipped, index_lookup, markers_lookup = resolver.get_metadata(
  File "/usr/lib/python3.10/site-packages/pipenv/utils/resolver.py", line 215, in get_metadata
    req, req_idx, markers_idx = self.parse_line(
  File "/usr/lib/python3.10/site-packages/pipenv/utils/resolver.py", line 272, in parse_line
    req = Requirement.from_line(line)
  File "/usr/lib/python3.10/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 2675, in from_line
    parsed_line = Line(line)
  File "/usr/lib/python3.10/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 171, in __init__
    self.parse()
  File "/usr/lib/python3.10/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 1300, in parse
    self.parse_name()
  File "/usr/lib/python3.10/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 1025, in parse_name
    name = self._parse_name_from_line()
  File "/usr/lib/python3.10/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 966, in _parse_name_from_line
    raise RequirementError(
pipenv.vendor.requirementslib.exceptions.RequirementError: Failed parsing requirement from<EMAIL_ADDRESS>
Steps to replicate

Add a private repo w/ a username containing . symbol in it
Try pipenv install any deps from the added source

@ci-builder-onixs can you open a report in requirementslib linked to this issue?

@ci-builder-onixs I think this issue may be addressed on my future oriented requirementslib branch:  https://github.com/pypa/pipenv/pull/5679


classic Hodgkin lymphoma, mixed cellularity type MONDO:0020328[Merge]

Mondo term (ID and Label)
MONDO:0020328 classic Hodgkin lymphoma, mixed cellularity type
Reason for deprecation
Appears to be redundant term for the same disease concept (ICD10:C81.2 is shared across both terms, disease names seem to be the same concept)
Term to be merged with
MONDO:0004633 Hodgkin's lymphoma, mixed cellularity
Your nano-attribution (ORCID)
If you don't have an ORCID, you can sign up for one here

Hello @kanems
I'm Sabrina, a new curator who recently joined the Mondo team.
We will address your issue as soon as possible. Thank you for your patience.
If this is a high priority, please let me know and we can prioritize it. Thank you!


Add documentation for Marathon SD

I have added a small paragraph about the Marathon SD configuration. It documents the available configuration options and the meta labels. Currently I have two points that I am not sure about:

Should I also add a "caution very new" label like for Kubernetes?
Should I add an example for the relabeling configuration (filtering services which do not support prometheus, etc)?

Regarding the examples: This might be helpful for other parts of the configuration as well. I find the current style of documentation for the configuration file a bit hard to understand.

Having more examples in general sounds good to me. I also sometimes have trouble figuring out things without examples :)
As for marking it experimental/beta, I'll let @fabxc judge, who reviewed the Marathon SD.

:+1: from my side. Examples are welcome, but don't need to be in this PR.
@fabxc what's your opinion on putting a "beta" marker here?

As we did it for Kubernetes, we should do it here too. Compared to Consul
or DNS-SRV we had very little feedback on these so far.
On Wed, Sep 2, 2015 at 5:33 PM Julius Volz<EMAIL_ADDRESS>wrote:

[image: :+1:] from my side. Examples are welcome, but don't need to be in
this PR.
@fabxc https://github.com/fabxc what's your opinion on putting a "beta"
marker here?
—
Reply to this email directly or view it on GitHub
https://github.com/prometheus/docs/pull/201#issuecomment-137135212.

Sorry, failed to mention that I added the warning a few days ago...

:+1: Nice, thanks!