Add NX docstring as attribute

@rettigl this is a way to add the NX docstrings to the HDF5 files as attributes. The idea is that you can pass the write-docs flag to the dataconverter and then docstrings are added. By default, this is turned off so as to not change any existing workflows. We can discuss if we want this to happen by default.
Here's an example using the xps reader:
output.nxs.zip
The implementation is relatively trivial. There are however two open questions for me

How to handle inherited docs
Usually, our appdefs have very sparse documentation since all the docstrings are in the base classes or in appdefs that are further up the chain. My understanding is that the docs are also extended (not overwritten) when you inherit from a class. So technically, one should concatenate the docs of all inherited nodes. However, this gets quite unwieldy and messy as the docs in the files get rather large and sometimes they might even contradict each other. My suggestion (implemented here) was that as we travel up the inherited nodes, as soon as there is a docstring we only use that one (and don't add any docs coming from even earlier nodes). But this is probably not strictly correct. Maybe @sanbrock can comment.

Docs for NeXus attributes
NeXus attributes are written as HDF5 attributes already. Since HDF5 attributes cannot have attributes themselves, the question is where to place the docs for these attributes? My solution here: write another attribute <attribute>__docs (e.g. entry/definition/version__docs) to the HDF5 file.

Docs for NeXus attributes
NeXus attributes are written as HDF5 attributes already. Since HDF5 attributes cannot have attributes themselves, the question is where to place the docs for these attributes? My solution here: write another attribute <attribute>__docs (e.g. entry/definition/version__docs) to the HDF5 file.

Any practical solution works in my opinion. The only issue will be how to report/add this in the NXDL structure. It's a bit meta over the already meta attributes we have in the NXDL. Will something like adding this renameable field, FIELDNAME__docs, in NXobject work out nicely in the NXDL framework?

Docs for NeXus attributes
NeXus attributes are written as HDF5 attributes already. Since HDF5 attributes cannot have attributes themselves, the question is where to place the docs for these attributes? My solution here: write another attribute <attribute>__docs (e.g. entry/definition/version__docs) to the HDF5 file.

Any practical solution works in my opinion. The only issue will be how to report/add this in the NXDL structure. It's a bit meta over the already meta attributes we have in the NXDL. Will something like adding this renameable field, FIELDNAME__docs, in NXobject work out nicely in the NXDL framework?

I didn't go this far. For groups and fields, I basically added an attribute @docs, whereas for the attributes, I used an additional attribute <attribute>__docs. I guess the problem would be that all of these are undocumented..

Ah alright. So it's just for the attributes that you add a suffix.
You're right. They will remain undocumented. Let's say to see how it goes in use for us we can leave it undocumented.
It will make it practically easier to understand Nexus files like this. It makes the Nexus files more self sufficient too. And it seems this is the best we can do without overcomplicating it.

Notes from TF meeting:

Use single underscore for attributes, like for example data and data_units
Can we render the docs a bit nicer? HTML syntax?
Don't write the documentation to every single instance of the same concept, use internal / softlink
External links to documentation? docs and docs_url
@sanbrock: HDF5 contains data, not information. What happens when we want to reuse the data somewhere else? We could prevent this by writing a parallel structure with the docs and linking to that place.


Discretization error due to boundary conditions

While trying to replicate a textbook example of a driven cavity in fluid dynamics with this package I encountered a Discretization Error. When further simplifying the governing equations, the error remained.

Erroring code
println("Imports")
@time using OrdinaryDiffEq, ModelingToolkit, MethodOfLines, DomainSets, DifferentialEquations

@parameters x y t ν vel0
@variables ω(..) ψ(..)
Dt = Differential(t)
Dx = Differential(x)
Dy = Differential(y)
Dxx = Differential(x)^2
Dyy = Differential(y)^2

∆(u) = Dxx(u) + Dyy(u)

xmin = ymin = tmin = 0.0
xmax = ymax = 1.0

tmax = 10.0

eq = [Dt(ω(x, y, t)) ~ ∆(ω(x, y, t)),
   ∆(ψ(x, y, t)) ~ ω(x, y, t)
]

domains = [x ∈ Interval(xmin, xmax),
   y ∈ Interval(ymin, ymax),
   t ∈ Interval(tmin, tmax)
]

boundary = [
   # stationary walls
#   Dy(ψ(xmin, y, t)) ~ 0.0,
   Dx(ψ(xmin, y, t)) ~ 0.0,
#   Dy(ψ(xmax, y, t)) ~ 0.0,
   Dx(ψ(xmax, y, t)) ~ 0.0,
   Dy(ψ(x, ymax, t)) ~ 0.0,
#   Dx(ψ(x, ymax, t)) ~ 0.0,
   # moving wall
   Dy(ψ(x, ymin, t)) ~ 0.0,
#   Dx(ψ(x, ymin, t)) ~ vel0,
   # time boundary
   ψ(x, y, tmin) ~ 0.0,
   ω(x, y, tmin) ~ 0.0
]

@named pde = PDESystem(eq, boundary, domains, [x, y, t], [ω(x, y, t), ψ(x, y, t)], [vel0 => 1.0, ν => 0.1])

Nx = Ny = 6
dt = 0.1
Nt = round(Int, 1/dt)

order = 2

discretization = MOLFiniteDifference([x => Nx, y => Ny], t, approx_order=order)
@show discretization
println("Discretization:")
@time problem = discretize(pde, discretization)

I narrowed it down to the boundary conditions. They apparently may not contain a derivative w.r.t. to a variable that is not fixed.
e.g. Dx(u(xmin, y, t)) ~ 0 is allowed while Dx(u(xmin, y, t)) ~ 0 is not.
Is there any way around this or is there no way to specify sth like a No-slip boundary using a stream function where the relevant velocities/BCs are defined tangentially to a boundary?

You need to add bcs for \omega

e.g. Dx(u(xmin, y, t)) ~ 0 is allowed while Dx(u(xmin, y, t)) ~ 0 is not.
these read identical to me and should work, what error are you getting?

so for omega not only IC via time constraint but also for arbitrary time?
ah yes they read identical, that's my mistake. I meant to write that Dx(psi(xmin, y, t)) works while Dy(psi(xmin, y, t)) produces an erroe

I'm afraid that only derivs in the constant direction are supported in BCs, sorry about this.


Switch MSSQL to Azure SQL

Resolves #2
Works just as fine on x64. Please check on ARM.

Yep, that works perfectly. Thanks.


check that all syscall arguments are scalars

@m-ou-se do you think this check makes sense?
The abi of a layout contains everything needed for the calling convention (as far as I know), so this should ensure that all the ignored arguments are passed like integers and do not otherwise mess up argument passing.
The one thing I am not sure about is what happens when more arguments are passed than fit in registers. The syscall man page says that all calling conventions support at least 6 arguments, except for "mips/o32" where it says that
       [1] The mips/o32 system call convention passes arguments 5 through 8 on the user stack.

If we assume that passing these extra arguments to futex is legal even with that calling convention, that would mean that those user stack arguments are just silently ignored as well, which seems plausible to me -- but I know very little about calling conventions.

Looks good to me!

The one thing I am not sure about is what happens when more arguments are passed than fit in registers.

At least for x86_64, those go on the stack. This already happens for the sixth argument to a syscall: when calling the libc syscall() variadic function with 7 arguments (the syscall number plus 6 arguments to the sycall), the arguments are passed to this function through:

%rdi (syscall number)
%rsi (arg1)
%rdx (arg2)
%rcx (arg3)
%r8 (arg4)
%r9 (arg5)
8(%rsp)  (arg6) (on the stack)   ← ← ←

This wrapper then needs to invoke the syscall instruction, which uses a different convention to pass the arguments:

%rax (syscall number)
%rdi (arg1)
%rsi (arg2)
%rdx (arg3)
%r10 (arg4)
%r8 (arg5)
%r9 (arg6)

Glibc's syscall() wrapper on x86_64 has to move all these arguments over to 'convert' to the Linux syscall calling convention:
ENTRY (syscall)
	movq %rdi, %rax		/* Syscall number -> rax.  */
	movq %rsi, %rdi		/* shift arg1 - arg5.  */
	movq %rdx, %rsi
	movq %rcx, %rdx
	movq %r8, %r10
	movq %r9, %r8
	movq 8(%rsp),%r9	/* arg6 is on the stack.  */
	syscall			/* Do the system call.  */
	cmpq $-4095, %rax	/* Check %rax for error.  */
	jae SYSCALL_ERROR_LABEL	/* Jump to error handler if error.  */
	ret			/* Return to caller.  */

If we assume that passing these extra arguments to futex is legal even with that calling convention, that would mean that those user stack arguments are just silently ignored as well, which seems plausible to me -- but I know very little about calling conventions.

Yes, I'd assume the same. For the same reason It's safe to call printf("hello", 1, 2, 3, 4, 5);.

At least for x86_64, those go on the stack. This already happens for the sixth argument to a syscall: when calling the libc syscall() variadic function with 7 arguments (the syscall number plus 6 arguments to the sycall), the arguments are passed to this function through:

The docs say that for x86-64, 6 arguments are passed via registers:

x86-64        rdi   rsi   rdx   r10   r8    r9

I think this excludes the syscall number, which it says is passed via rax. Not that any of these names mean anything to me.^^

Glibc's syscall() wrapper on x86_64 has to move all these arguments over to 'convert' to the Linux syscall calling convention:

Doesn't this just drop arg7+ though? I guess there are no syscalls with that many arguments? But some platforms specify a register for arg7...

Yes, I'd assume the same. For the same reason It's safe to call printf("hello", 1, 2, 3, 4, 5);.

So 6 arguments are always okay; I guess what we need here is that this works for any number of extra arguments, even if they spill onto the stack.

I think this excludes the syscall number, which it says is passed via rax. Not that any of these names mean anything to me.^^

Yeah, the syscall number is not considered 'an argument' to the syscall itself. That's why the arguments all need to be shifted. (Next to replacing rcx by r10.)

Oh, there's the variadic wrapper and then the actual syscall? Ouch... because things were not complicated enough yet.^^

Yeah :( The variadic wrapper is only variadic in the C header (and Rust's libc) declaration. The assembly implementation of it is implemented as if it just takes a fixed amount of arguments.

Doesn't this just drop arg7+ though? I guess there are no syscalls with that many arguments? But some platforms specify a register for arg7...

Yup. Afaik there's no syscalls that take more than 6 arguments, at least not on x86_64.

So 6 arguments are always okay; I guess what we need here is that this works for any number of extra arguments, even if they spill onto the stack.

Yup, they just stand there untouched. Stack arguments to variadic functions are always cleaned up by the caller.
The C standard even requires this for functions like fprintf:
ISO/IEC 9899:2011 - <IP_ADDRESS>: (...) If the format is exhausted while arguments remain, the excess arguments are evaluated  (as  always)  but  are  otherwise  ignored. (...)

The C standard even requires this for functions like fprintf:

That is reassuring. :) Thanks!
We could probably also do something similar for other variadic functions that we implement (fcntl comes to mind), but for now that does not seem necessary.
@bors r+

:pushpin: Commit 2b2a3a0cc11c40a8fd6d8015d0b7fb11b30d8156 has been approved by RalfJung

:hourglass: Testing commit 2b2a3a0cc11c40a8fd6d8015d0b7fb11b30d8156 with merge 3fafb835ea42e6e3af27f5dc8f26bda590cb49e9...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: RalfJung
Pushing 3fafb835ea42e6e3af27f5dc8f26bda590cb49e9 to master...


Writing error

I upgraded to scanpy==1.4.5, which resulted in anndata==0.7rc1 .
Now, when I write an anndata object using
dataset_111.write("data/data.h5ad", compression="lzf")

I receive the errors below.
Downgrading to 0.6.22rc1 and h5py==2.10.0 fixed the issue, though I'm not sure it's due to the h5py change.
AttributeError: 'numpy.int64' object has no attribute 'encode'

Above error raised while writing key 0 of <class 'h5py._hl.group.Group'> from /.

Above error raised while writing key 'obs' of <class 'h5py._hl.files.File'> from /.

You can safely run Scanpy 1.4.5 with anndata 0.6.22.post1 and versions prior to it.
anndata 0.7 is still an rc and might have a couple of remaining bugs even after many weeks of testing in production.
We'll hopefully restore "lzf" compression soon.

Hi! I tried to run the pbmc3k tutorial with Scanpy1.4.5, and encountered the same issue:
~/anaconda3/lib/python3.7/site-packages/h5py/_hl/base.py in _e(self, name, lcpl)
136             try:
--> 137                 name = name.encode('ascii')
138                 coding = h5t.CSET_ASCII
AttributeError: 'numpy.int64' object has no attribute 'encode'
When I rolled anndata back to 0.6.22.post1, however, the method scanpy.read_10x_mtx no longer worked.
Could you let us know if anyone found a fix? Thanks!

Please create a reproducible example that uses only publicly available data (optimally just some ndarrays and/or DataFrames created on the fly)
AnnData(<insert_code_here>).write('test.h5ad')

I can't reproduce the error with 0.6.22.post1. It runs through for me on macs and different Linux machines. The tutorial was indeed run with that version as is visible from the version string in the header of https://scanpy-tutorials.readthedocs.io/en/latest/pbmc3k.html.
The error with 0.7rc is known and will be fixed soon.
Are you on the latest Scanpy?

You can safely run Scanpy 1.4.5 with anndata 0.6.22.post1 and versions prior to it.

Shouldn't the scanpy setup.py reflect this then?

I can't reproduce the error with 0.6.22.post1. It runs through for me on macs and different Linux machines. The tutorial was indeed run with that version as is visible from the version string in the header of https://scanpy-tutorials.readthedocs.io/en/latest/pbmc3k.html.
The error with 0.7rc is known and will be fixed soon.
Are you on the latest Scanpy?

Hi Alex,
Thanks for your prompt reply. I think I am on the latest Scanpy: here is the header when I run the pbmc3k tutorial:
scanpy==1.4.5 anndata==0.6.22.post1 umap==0.3.10 numpy==1.17.2 scipy==1.3.1 pandas==0.25.1 scikit-learn==0.21.3 statsmodels==0.10.1 python-igraph==0.7.1 louvain==0.6.1
Here is the end of the error message when I run anndata==0.6.22.post1:
adata = sc.read_10x_mtx(
'./data/filtered_gene_bc_matrices/hg19/',  # the directory with the .mtx file
var_names='gene_symbols',                  # use gene symbols for the variable names (variables-axis index)
cache=True)                                # write a cache file for faster subsequent reading
~/anaconda3/lib/python3.7/site-packages/anndata/core/anndata.py in _args_from_dict(ddata)
2155             if d_true_keys[true_key] is not None:
2156                 for key in keys:
-> 2157                     if key in d_true_keys[true_key].dtype.names:
2158                         d_true_keys[true_key] = pd.DataFrame.from_records(
2159                             d_true_keys[true_key], index=key)
AttributeError: 'dict' object has no attribute 'dtype'
Do you think there is something wrong with my installation, etc.? Thanks!

Hi -- - After discussing for about an hour, we found out the problem… cache file!
- When I first used anndata==0.7rc1, which was automatically installed by scanpy==1.4.5, the read worked and it wrote a cache file when reading the pbmc3k dataset (in the tutorial)
-  However anndata==0.7rc1 could not write .h5ad in the scanpy.write functionality, so I switched to anndata==0.6.22.post1
-  However, I did not delete the cache written by the newer anndata==0.7rc1
- Then the older anndata tried to read the cache file written by the newer anndata, but couldn’t. So I got the reading error shown above
- After deleting the cache folder, both read and write can work for anndata==0.6.22.post1

We see that the anndata version is already fixed to 0.6.22.post1 in scanpy==1.4.5.post1. Thank you!
-- Rosalind

I'm sorry about the confusion, here. It was my mistake to leave 0.7rc1 in the requirements for 1.4.5 - it was only meant to be temporary to get some CI stuff working - after a week of checking and testing I still didn't notice. Sorry again!

Don’t worry about it, I doubt anyone lost work this way, and now we have a few useful bug reports.
More or less useful, I’m still not sure if we can find the issue without anyone here providing a reproducible example.
@adamgayoso @rosalindxu can you please help?

Please create a reproducible example that uses only publicly available data (optimally just some ndarrays and/or DataFrames created on the fly)

AnnData(<insert_code_here>).write('test.h5ad')

I can't seem to reproduce the issue on randomly generated data.

Hi : The code I was running was the scanpy pbmc3k tutorial. With scanpy==1.4.5 anndata==0.7rc1,
Run:
!mkdir data
!wget http://cf.10xgenomics.com/samples/cell-exp/1.1.0/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz -O data/pbmc3k_filtered_gene_bc_matrices.tar.gz
!cd data; tar -xzf pbmc3k_filtered_gene_bc_matrices.tar.gz

import numpy as np
import pandas as pd
import scanpy as sc

results_file = './write/pbmc3k.h5ad'  # the file that will store the analysis results

adata = sc.read_10x_mtx(
    './data/filtered_gene_bc_matrices/hg19/',  # the directory with the `.mtx` file
    var_names='gene_symbols',                  # use gene symbols for the variable names (variables-axis index)
    cache=True)

adata.write(results_file)

It will produce the writing error.

Great, thank you, that should help!

OK, so this is happening because read_10x_mtx essentially does
adata.obs_names = pd.Series(name=0, values=...)

That’s because it reads the barcodes.tsv file into a data frame and takes the first column, which ends up naming this column “0”. And hdf5 can’t handle integers as names.
Since we do handle Index names (e.g. it could be called "barcodes" just fine), I’ll strip numeric Index names when setting them.


MF-571 - Fix missing css in container ui

Add a line to a Dockerfile to copy css to a container.

Codecov Report

Merging #638 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #638   +/-   ##
=======================================
  Coverage   86.73%   86.73%
=======================================
  Files          62       62
  Lines        3625     3625
=======================================
  Hits         3144     3144
  Misses        327      327
  Partials      154      154

Continue to review full report at Codecov.

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


Cannot POST or PUT JSON data without Content-type Header

As per the following example, given in the README
POST /blogs.json '{"title" : "new post", "body" : "This is the new new."}'
it should work without setting Content-type Header. But it doesn't.
Example:
When the POST request is as follows
POST /creator/files.json '{ "attributes": [ {"title": "New Book" } ] }'
This is how Rails receives the parameter
Parameters: {"{ \"attributes\": "=>{" {\"title\": \"New Book\" } "=>{" }"=>nil}}}
The scenario remains the same when the input is read from a file or pipe
echo '{ "attributes": [ {"title": "New Book" } ] }' | POST /creator/files.json
But when the POST request is  made with Content-type as follows
POST /creator/files.json '{ "attributes": [ {"title": "New Book" } ] }' -H 'Content-type: application/json'
Rails receives the parameters properly as,
{"attributes"=>[{"title"=>"New Book"}]}
Please add Content-type: application/json Header automatically if the URL ends with .json. Though I am not sure if this is applicable only for Rails.

Good idea, will do.
was already considering adding --json flag as alias of  `-H 'Content-type: application/json'``
Not that you can place -H 'Content-type: application/json' in your config file so you don't have to precise it over and other.

+1 for --json

@akhyrul haha, comming soon. :)
I restarted to hack around. Trying to reset up the test infrastructure before to go forward: cf https://github.com/AdrieanKhisbe/resty/tree/test-with-cucumber

I intended to do it, once I complete the major release.
sorry for the delay

Done in c4c739e, will land with the very soon 3.0 release.
A --json with set both Accept and Content-Type to json
closing the issue.


Add Latvian translations for admin panel and tables

Adds Latvian translations for admin panel and tables. Also fixes a missing translation key in support.

Thanks


fix: DEV-3494: Filters not working for Annotators in DM

Hi @yyassi-heartex!
This PR was created in response to a PRs in upstream repo:

https://github.com/heartexlabs/dm2/pull/107

/git merge develop


Remove unnecessery dependencies

Can you please also release in npm (with another name)?

@mrdezzods, Thanks for your contribution \o/
I'll take some time to organize this repo and release a new npm, btw thanks for suggesting it.


DBeaver, snowflake, VPN issue

Description
Hi.
I'm trying to access Snowflake DB (MacOS 14.3) via VPN - but it looks like DBeaver doesn't see this connection for some reason...
I've got some IPs whitelisted on my Snowflake db (those that are used on VPN gateways) and I'm using SSO (externalbrowser) authentication.
When using VPN, I'm getting IP let's say it is <IP_ADDRESS>, when trying to connect using snowsql tool it is connecting correctly, then when I execute select current_ip_address(); it shows <IP_ADDRESS>.
On DBeaver, I'm getting
Incoming request with IP/Token <IP_ADDRESS> is not allowed to access Snowflake. Contact your account administrator. For more information about this error, go to https://community.snowflake.com/s/ip-xxxxxxxxxxxx-is-not-allowed-to-access.
where <IP_ADDRESS> is my global IP (not tunneled), while VPN is still connected...
Strange thing is that it was working fine till last week. One day morning I was not able to connect, have no idea what had happened.
DBeaver Version
Comunity Edition Version <IP_ADDRESS>405051837
Operating System
macOS 14.3
Database and driver
No response
Steps to reproduce
No response
Additional context
No response

Hello @mrmusial,
There seems to be an issue with your VPN client - it doesn't send all traffic through itself. Maybe the client got updated?

It's been a while since no update here. If the issue is still actual please let me know and provide additional information.


liveness and readiness throws protocol error.

Hello team,
I am having a strange problem. I have a Kubernetes deployment, a grpc service. I have included the grpc-health-probe bundled with my service binaries in the docker container. I have included the health proto inside service and then used HealthServiceImpl (in-built library from c#).
After I deploy to K8s, the pods never start. they fail the probes with the following error-

deploy yaml
`apiVersion: apps/v1
kind: Deployment
metadata:
name: grundfosgicwwncnetworkapi
labels:
app: grundfosgicwwncnetworkapi
name: grundfosgicwwncnetworkapi
spec:
replicas: 2
selector:
matchLabels:
app: grundfosgicwwncnetworkapi
template:
metadata:
labels:
app: grundfosgicwwncnetworkapi
environment: ENV
projectSpace: WWNC
spec:
containers:
- name: grundfosgicwwncnetworkapi
image: {{dockerRegistry}}/grundfosgicwwncnetworkapi:{{dockerVersion}}
imagePullPolicy: Always
ports:
- containerPort: 80
readinessProbe:
failureThreshold: 3
exec:
command: ["/bin/grpc_health_probe", "-addr=:80"]
periodSeconds: 5
initialDelaySeconds: 5
successThreshold: 1
timeoutSeconds: 30
livenessProbe:
failureThreshold: 3
exec:
command: ["/bin/grpc_health_probe", "-addr=:80"]
periodSeconds: 5
initialDelaySeconds: 5
successThreshold: 1
timeoutSeconds: 30
volumeMounts:
- name: configsettings
mountPath: /app/configmap
- name: secretsettings
mountPath: /app/secrets
readOnly: true
volumes:
- name: configsettings
configMap:
# Provide the name of the Secret containing the files you want
# to add to the container
name: grundfos.gic.wwnc.network.api
- name: secretsettings
secret:
# Provide the name of the Secret containing the files you want
# to add to the container
secretName: grundfos.gic.wwnc.network.msi.api
kind: Service
apiVersion: v1
metadata:
name: grundfosgicwwncnetworkapi-service
spec:
Expose the service on a static port on each node
so that we can access the service from outside the cluster
type: NodePort
When the node receives a request on the static port (30163)
"select pods with the label 'app' set to 'echo-hostname'"
and forward the request to one of them
selector:
app: grundfosgicwwncnetworkapi
ports:
# Three types of ports for a service
# nodePort - a static port assigned on each the node - reachable from outside
# port - port exposed internally in the cluster
# targetPort - the container port to send requests to
- port: 80
targetPort: 80`

`apiVersion: apps/v1
kind: Deployment
metadata:
name: grundfosgicwwncnetworkapi
labels:
app: grundfosgicwwncnetworkapi
name: grundfosgicwwncnetworkapi
spec:
replicas: 2
selector:
matchLabels:
app: grundfosgicwwncnetworkapi
template:
metadata:
labels:
app: grundfosgicwwncnetworkapi
environment: ENV
projectSpace: WWNC
spec:
containers:
- name: grundfosgicwwncnetworkapi
image: {{dockerRegistry}}/grundfosgicwwncnetworkapi:{{dockerVersion}}
imagePullPolicy: Always
ports:
- containerPort: 80
readinessProbe:
failureThreshold: 3
exec:
command: ["/bin/grpc_health_probe", "-addr=:80"]
periodSeconds: 5
initialDelaySeconds: 5
successThreshold: 1
timeoutSeconds: 30
livenessProbe:
failureThreshold: 3
exec:
command: ["/bin/grpc_health_probe", "-addr=:80"]
periodSeconds: 5
initialDelaySeconds: 5
successThreshold: 1
timeoutSeconds: 30
volumeMounts:
- name: configsettings
mountPath: /app/configmap
- name: secretsettings
mountPath: /app/secrets
readOnly: true
volumes:
- name: configsettings
configMap:
# Provide the name of the Secret containing the files you want
# to add to the container
name: grundfos.gic.wwnc.network.api
- name: secretsettings
secret:
# Provide the name of the Secret containing the files you want
# to add to the container
secretName: grundfos.gic.wwnc.network.msi.api
kind: Service
apiVersion: v1
metadata:
name: grundfosgicwwncnetworkapi-service
spec:
Expose the service on a static port on each node
so that we can access the service from outside the cluster
type: NodePort
When the node receives a request on the static port (30163)
"select pods with the label 'app' set to 'echo-hostname'"
and forward the request to one of them
selector:
app: grundfosgicwwncnetworkapi
ports:
# Three types of ports for a service
# nodePort - a static port assigned on each the node - reachable from outside
# port - port exposed internally in the cluster
# targetPort - the container port to send requests to
- port: 80
targetPort: 80`

I got the same issue, any advice for that??

Quick google search of the error shows me that this is a gRPC version compatibility issue between the client (this probe) and the server (your app) —although I'm not sure why something like this would happen.
What version do you have? Probe currently uses v1.24.0

I have an own error with my configuration, I've solved it.

I have an own error with my configuration, I've solved it. you can close this issue
@gasperlf  Do you mind sharing your solution? I'm running into same issue. Thanks!

@rui-wang-imprivata I did something like this.
FROM [java image]
LABEL mantainer=[project]
ARG user_name=[user]
ARG user_id=999
Create users
RUN useradd -u $user_id -c "$user_name System Account" -r -U -m $user_name
RUN GRPC_HEALTH_PROBE_VERSION=v0.3.2 &&
wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-386 &&
chmod +x /bin/grpc_health_probe
COPY ./target/application-grpc.jar /app/application.jar
COPY ./distribution/docker/run.sh /app/bin/run.sh
RUN chown -R "${user_name}:${user_name}" "/app"
&& find /app -type d -exec chmod 750 {} ;
&& find /app -type f -exec chmod 640 {} ;
&& find /app -type f -name '*.sh' -exec chmod 750 {} ;
USER ${user_id:-nobody}
WORKDIR /app
EXPOSE 8080
ENTRYPOINT ["/app/bin/run.sh"]

@gasperlf  Thanks for your info! I just figured my issue is different from yours, turns out I just needed to install the latest version(v0.4.11) of grpc health prob (I was on an older version).


enhancement Make CLion work out of the box

Proposed changes
Issue Number: close #xxx
Problem summary
We can't build the project after import it to CLion on macOS. Some options must be provided by default.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[x] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[x] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35 seconds
load time: 436 seconds
storage size:<PHONE_NUMBER>5 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221130064438_clickbench_pr_55315.html


Restored test TenantTest#test2 after changes in FT

Description
Restored test TenantTest#test2 after implementing a new method caching strategy in fault tolerance.

Issue #8813


Spark CSV support for double character delimiter

I was trying out to use a delimiter comprising of two characters, like "::" or a combination of unicode     "Ctrl-ACtrl-B".
But, looks like the delimiter has to be a single character for the parser.

I have the same issue,
Why not delimiter  can't set to a stringtype

The parsers used in this library for CSV parsing require delimiter to be a character.

I am having the same problem and I cannot change the files since they are also used in other processes.
Will this be supported soon?? I think this is a very common usage since sometimes it's not possible to use only one character due to data caracteristics.


Validating React-Quill with react hook form

This is not an issue, it is more of a contribution and can be closed as soon as it is filed, I just wanted to contribute how I managed to validate Quill with React Hook Form, I could not find a readily available solution. According to the React hook website validation can be done in different ways but none of them worked out of the box, I kept encountering the split('-') error, I ended up with the below solution

     <Controller
                                    control={control}
                                    name="description"
                                    rules={{
                                        validate: value => wordCounter(value) >= 10 || "Enter at least 10 words in the description"
                                    }}
                                    error={errors.description}
                                    render={({ onChange, onBlur, value }) => (
                                        <ReactQuill
                                            theme="snow"
                                            onChange={(description, delta, source, editor) => onChange(description)}
                                            value={value || ''}

                                        />
                                    )}
                                />

If value is set as value={value}  you will encounter this error Error: You are passing the deltaobject from theonChangeevent back asvalue. You most probably want editor.getContents() instead. See: https://github.com/zenoamaro/react-quill#using-deltas

Resolved

@aubryll what is the solution on this?

@aubryll can you show solution?

@Tadas1987 that code above is the solution

@Tadas1987 Maybe my comment was vague, the code I had attached is actually a way to validate your React-Quill, I put it there so that other people struggling to validate Quill (like I did) can find a solution easily.

Hi, @aubryll  this solution isn't working for me. Can you please check this issue?
https://stackoverflow.com/questions/67983695/how-to-validate-react-quill-with-react-hook-form-and-yup

I have left a comment

Hi, @aubryll this solution isn't working for me. Can you please check this issue?
https://stackoverflow.com/questions/67983695/how-to-validate-react-quill-with-react-hook-form-and-yup

I have left a comment on your stackoverflow question my username is Nemo.

bfbb

bbbbdbdfb


Travis Builds fail on PHP: hhvm

Travis builds are failing on PHP: hhvm
The composer install (and self update) error out. When I've forked and setup travis builds on my repo.

Seems something has changed since the last build 3 months ago on your repo with travis.

I had submitted a support ticket with travis-ci.org. Per conversation with them it's been concluded the HHVM has DROPPED php support (see, https://hhvm.com/blog/2018/09/12/end-of-php-support-future-of-hack.html).
Thus it's recommended to drop using HHVM for testing.


release new version v0.4.9

release v0.4.9

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.08%. Comparing base (3f4ce1d) to head (bf714dd).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #165   +/-   ##
=======================================
  Coverage   95.08%   95.08%
=======================================
  Files          28       28
  Lines        2951     2951
  Branches      395      395
=======================================
  Hits         2806     2806
  Misses        144      144
  Partials        1        1

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


Replace "licence" with "license"

Issue

Overview (Required)
"licence" and "license" are mixed in project. I think those should be unified.
Links

Licence vs. License: What’s the Difference? - Writing Explained

Screenshot

Before
After

@koogawa LGTM! Thanks for you dedicated work!

Thanks! You are both iOS and Android engineer 💪


Settings: Move imageio from project anatomy to project settings

Brief description
This implements #3865 by moving imageio settings per host from project anatomy to project settings.
Before:
project_anatomy/imageio/{app}

After:
project_settings/{app}/imageio

Description
Currently untested - no backwards compatible or fallbacks implemented. Basically your old project anatomy customized settings will be lost. 🔥 - So as #3865 we'll need to look into how we'll want to transfer those settings over automagically 🪄 .
Additional info
Note that each imageio group has now set is_group to True as such changing one setting in the imageio for a host will now override that full imageio block of settings for the project. It's up for discussion whether we want that - if we want to change around we'll need to add some labels to some of the settings (required for is_group to be False) but that should be fine.
It could be that some documentation might also need to be updated along.

Even though admittedly the old Color Managements docs are very slim - it's just the header - ha!
But potentially a comment on and an update to description of this Nuke Color Management tutorial video would be worthwhile too to make users aware the settings have moved over in the future.
Hiero documentation will need to be updated around apply colorspace project

Copying ImageIO settings from Anatomy to Project Settings
Any potential backwards compatible "updating" would only need to basically 'copy the settings values' from project_anatomy/imageio/{app} on top of project_settings/{app}/imageio to transfer the exact settings. So in essence it is:
for app in anatomy["imageio"]:
    value = app.value
    project_settings[app.key]["imageio"].set(value)
    project_settings.save()

I'm not awaiting the moment this PR gets 'assigned' to me and I get all the blame in the future. 🗡
Testing notes:

🔥 🚒 Get your fire extinguishers ready
Test color management related features across the hosts

[ ] Flame
[ ] (and Flare?)
[ ] Maya
[ ] Nuke
[ ] Hiero
[ ] (Did Resolve have any? I couldn't find it. If it didn't, let's check this box and continue our ignorance.)

I would keep schemas for openpype/settings/defaults/project_anatomy/imageio.json so you can copy->paste values on update without loosing them on update.

I would keep schemas for openpype/settings/defaults/project_anatomy/imageio.json so you can copy->paste values on update without loosing them on update.

Since we are matching the settings 1-to-1 wouldn't it be much nicer if it'd automatically transfer the settings from Project Anatomy somehow? I feel from a User perspective that'd be much nicer than still having to "fix" each project manually (even though sure, you could copy/paste the values - but similarly we could offer a "click here and it's fixed button" by copying the data project anatomy in database to the settings?
I'm mostly worried about having both setting visible and the user misunderstanding that those in Project Anatomy essentially do nothing. We could put in a big deprecation label in the UI, but still. If the intend is for production to notice the least the settings should be copied over thus it sounds like we should just make that happen.

I'm mostly worried about having both setting visible and the user misunderstanding that those in Project Anatomy essentially do nothing. We could put in a big deprecation label in the UI, but still. If the intend is for production to notice the least the settings should be copied over thus it sounds like we should just make that happen.

The problem is that you will loose all those data from anatomy on first save of project setting. So if you're "testing" new version in production you will actually break all projects on project settings save.

Question:
Should we maybe swap these around so the settings are

project_settings/imageio/{app}

instead of

project_settings/{app}/imageio?

The benefit I'd see from that is that we can just make one MASTER config setting that sets OCIO env var as a hook based on the config path set in project_settings/imageio/config_path. Potentially still allowing apps to have an explicit project_settings/imageio/app/override_config_path like setting?
Or is it very likely that the different applications should use different OCIO configs in a project.
What do we feel is the most sensible 'project setting'? @mkolar @maxpareschi

That is ultimate goal but we can't do it at this moment. Nuke imageio has totally different settings then Maya or Flame or Hiero. We need this PR to move the settings from anatomy to project setting so we can possibly change their behavior from version to version with versioned settings which is not possible if they're in anatomy.

Great - then I suspect this PR should be ok to start that transition.

good for merge.. tested Nuke, Hiero. Resolve is not done anyway. Flame should be fine, too.

huh.. just realized that the __legacy__ (https://github.com/pypeclub/OpenPype/pull/3909#discussion_r979023257) needs to be returned before the merge..

This PR is closing in favor of https://github.com/pypeclub/OpenPype/pull/3959


google_play_track_release_names return Invalid request when track don't exist

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
When I call google_play_track_release_names, if the track don't exist, it return an error Invalid request.
Command executed
google_play_track_release_names(
        package_name: "com.package.name",
        track: "beta"
      )

Complete output when running fastlane, including the stack trace and command used
INFO [2022-01-13 11:18:51.54]: ---------------------------------------------
INFO [2022-01-13 11:18:51.54]: --- Step: google_play_track_release_names ---
INFO [2022-01-13 11:18:51.54]: ---------------------------------------------
DEBUG [2022-01-13 11:18:51.54]: Fetching a new access token from Google...
WARN [2022-01-13 11:18:52.78]: Invalid request

It seems that the code only catch 404 errors code with a message trackEmpty.
https://github.com/fastlane/fastlane/blob/f616ea64caa2fc58dcb548449d8140634b26f0ed/supply/lib/supply/client.rb#L468
Wouldn't it be better to remove that filter on the message and catch all 404s?

Hey did you manage it? please share the suggestion if you have that will be really helpful.

It appears when the track don't exist.
You can manage it manually in order to ignore the response, something like
begin
  release_name = google_play_track_release_names(
    package_name: package_name,
    track: track
  )
rescue StandardError => e
  UI.important("#{e}: Current track is none")
end

Just be aware that this code is not clear about other errors. it catch anything

I think this is currently simply not implemented. Thanks @NicolasLourenco for the work around! Feel free to open a pull request to add this!


fix arcmap cursor

@csmoore please review and merge

Setting on the tool works better. Will submit a new pull...


No visable log message on the portal

I accidentally input a space character in the parameter store and after I start the task it hang on the starting/In Progress stage. I cannot get direct logging/error message on the portal. I have to find the corresponding log group in CloudWatch to find what goes wrong.
If there's a tab on the portal to display critical error or a link to related CloudWatch log would be more user friendly!

Thanks. Will look into it.

同感

同感

Already implemented in v2.4.0.


places to eat in NITR

You are not supposed to create a new file. You are supposed to add it to the bottom the existing file.


Nuclear weapons analysis

Pull Request for ML-Crate 💡
Issue Title:  #392 Nuclear Weapon Analysis and Classification

Info about the related issue (Aim of the project) :
Name:  Aditya D
GitHub ID:  adi271001
Idenitfy yourself:  Contributor KWOC

Closes: #issue number that will be closed through this PR #392
Describe the add-ons or changes you've made 📃
Give a clear description of what have you added or modifications made
Added new folder nuclear weapons analysis and classification, all requirements satisfied
Type of change ☑
What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested? ⚙
Describe how it has been tested
Divided Datasets into test and train 20% as test 80 % as train 7 distinct models used
Describe how have you verified the changes made
plotted graphs which is present in images folder which prove that models haven't been under or overfitted
Checklist: ☑

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have added things that prove my fix is effective or that my feature works.
[x] Any dependent changes have been merged and published in downstream modules.

renamed folder

Images are not visible.

@abhisheks008 now its visible

Approved.


UI/7: Personalizing search

As a user, I want the app to keep track of my recent search queries and have a way of favoriting / starring quieries or database entries to streamline my overall experience and accelerate the process of finding things.

Key aspects

UX & visual design

Closing since team CL works on this in detail for their second sprint


Add automated version info

We should add automated version handling to the Gant script when running out of Jenkins. This would be particularly useful for forcing updates to the applet when a user already has an outdated version in cache. The MANIFEST file has tags for versioning too.

Looked at this some more while thinking about #107, figuring we might want a simple copy of the GitHub commit history in a file contained within the codebase, updated by the Jenkins builds. Milestones control the middle version number, so milestone 1 becomes pre-alpha 0.1 with all the changes listed on GitHub after we renamed contained within it. But actually automating the inclusion of that will be a little work so I've just stuck with describing the content at http://wiki.movingblocks.net/Main/DownloadTerasology#A_0.1_45_Stratification
Could archive the prior milestone's changes in a separate (eventually longer) file when we officially complete a milestone. Anyway, definitely some more work on here and I don't want to keep pushing 0.1 out further and further :-)


Move or copy Host gRPC in non-ASP.NET Core projects to dotnet docs

Move
Host gRPC in non-ASP.NET Core projects
to https://github.com/dotnet/docs/
See #30390

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

ID: 4e072aff-35c1-1fc2-3f94-97dc7a809414
Version Independent ID: 2f05b9da-0d50-ce84-d6af-332da7d9d625
Content: gRPC services with ASP.NET Core
Content Source: aspnetcore/grpc/aspnetcore.md
Product: aspnet-core
Technology: aspnetcore-grpc
GitHub Login: @JamesNK
Microsoft Alias: jamesnk

@Rick-Anderson.  OK, thanks.
This feels a little awkward in dotnet/docs.  It still relies on Microsoft.AspNetCore.App.  Plus there wouldn't be any of the related docs that explain all about gRPC.  I would expect it in the sub-section of the topic James put it in already in PR #30390 as far as traffic flow and interest, and then link to that from dotnet/docs someplace so you keep all the rest of the context together.   Except honestly, I'm not sure where that link would go, so maybe it is the best choice even if awkward.  Just want to bring up those points in case.  cc @JamesNK
@TomDykstra & @BillWagner, any thoghts on where this topic or section would best exist in dotnet/docs?

I'd prefer to keep it where it is. It's gRPC content in the gRPC docs. What is the reason to move it?

I would rather keep it where it is, and just make it discoverable from dotnet/docs with a link if possible.

I'd prefer to keep it where it is. It's gRPC content in the gRPC docs. What is the reason to move it?

I said move or copy. But maybe just some reference to it in the docnet docs.


Support Int64 in ID Field

We're running into a case where we have a request to a resolver that has a graphql.ID field but the ID sent in the request is larger than a 32bit integer. This in turn causes a panic with strconv.ParseInt value out of range. For instance, sending a request with ID:<PHONE_NUMBER>, results in:
"graphql: panic occurred: strconv.ParseInt: parsing \"5542805574\": value out of range".
Taking a look at graphql.ID, an additional case could be added for int64.

In JavaScript the integers are generally 32bit. Therefore in GraphQL integers are also 32bit. Is it possible that you wrap the field in quotes and treat it like a string? Is it a hard requirement that the field is int64?

We chose to make the field a string. It just seems like a small oversight to not be able to support integers larger than 32bit -- though I can understand why GraphQL spec would be that way if Javascript ints are usually 32bit. We still end up parsing this to a 64bit int later in the application, but I don't feel strongly about graphql.ID needing to support int64

Thank you. I'll close the issue for now


ValueError: cannot reshape array of size 92951 into shape (256,128,3,3)

!python save_model.py --weights /content/tensorflow-yolov4-tflite/data/yolov4-custom_last.weights --output ./checkpoints/custom-416 --input_size 416 --model yolov4 --framework tflite
2022-09-17 18:04:49.809104: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
2022-09-17 18:04:51.493961: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcuda.so.1
2022-09-17 18:04:51.503223: E tensorflow/stream_executor/cuda/cuda_driver.cc:314] failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
2022-09-17 18:04:51.503344: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (79cfa2660112): /proc/driver/nvidia/version does not exist
2022-09-17 18:04:51.504271: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN)to use the following CPU instructions in performance-critical operations:  AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-09-17 18:04:51.512390: I tensorflow/core/platform/profile_utils/cpu_utils.cc:104] CPU Frequency:<PHONE_NUMBER> Hz
2022-09-17 18:04:51.512654: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x20e8f40 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2022-09-17 18:04:51.512699: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
Traceback (most recent call last):
File "save_model.py", line 58, in
app.run(main)
File "/usr/local/lib/python3.7/dist-packages/absl/app.py", line 308, in run
_run_main(main, args)
File "/usr/local/lib/python3.7/dist-packages/absl/app.py", line 254, in _run_main
sys.exit(main(argv))
File "save_model.py", line 54, in main
save_tf()
File "save_model.py", line 49, in save_tf
utils.load_weights(model, FLAGS.weights, FLAGS.model, FLAGS.tiny)
File "/content/tensorflow-yolov4-tflite/tensorflow-yolov4-tflite/core/utils.py", line 63, in load_weights
conv_weights = conv_weights.reshape(conv_shape).transpose([2, 3, 1, 0])
ValueError: cannot reshape array of size 92951 into shape (256,128,3,3)
I made the following efforts to correct this error.
https://github.com/hunglc007/tensorflow-yolov4-tflite/issues/396#issuecomment-927229582
https://github.com/hunglc007/tensorflow-yolov4-tflite/issues/396#issuecomment-927316932
However, the error has not been corrected.
I also checked that there is no empty line at the bottom of the file.

I use these code to replace that one,and it worked.
However the weight didn't work as I thought. There is no boundingbox in the ouput of image.
I don't know how is going on.
Hope to help you.
    conv_weights = np.ones(np.product(conv_shape))
    conv_weights = conv_weights.reshape(conv_shape)
    conv_weights = np.transpose(conv_weights, (2, 3, 1, 0))
    #conv_weights = conv_shape.reshape(conv_shape).transpose([2, 3, 1, 0])

change core/config.py line 14: __C.YOLO.CLASSES =  to path of your custom obj.names


program crashing on blank input when prompted for chapter selection

Download this manga? Y/N  Y
1 - Chapter #1
Which indexes to download?

on hitting enter without typing anything the program crashes with following error:
Traceback (most recent call last):
  File "manga_downloader/manga_downloader.py", line 118, in <module>
    manga_downloader(args)
  File "manga_downloader/manga_downloader.py", line 85, in manga_downloader
    selected_chapters, chapters = select_chapters(provider, manga)
  File "manga_downloader/manga_downloader.py", line 61, in select_chapters
    selected_chapters = parse_chapter_selection(response)
  File "manga_downloader/manga_downloader.py", line 29, in parse_chapter_selection
    chapters = chapters + [int(section_range[0])]
ValueError: invalid literal for int() with base 10: ''

assign me this issue

hope you don't mind the pr due to the inactivity. it'll probably be easier to handle with tests. I can add some coverage for it if needed.

yes thanks

If you both ok with it. Thank you all.
@Alig1493 it would be nice to have some tests, if you want to do it I would really appreciate it. Just open an issue and i can assign it to you

@christianfds looks like there are no issues. I added some test in my PR for parsing chapter selection validation


Improve trello releasing

What does this PR do?

Now also displays labels and any milestones at prompt
Adds ability to filter by milestones
Adds auto-filtering by team labels
Adds auto-skipping of documentation updates

Motivation
Internal requests
Additional Notes

Codecov Report

Merging #2599 into master will decrease coverage by 6.66%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2599      +/-   ##
==========================================
- Coverage   83.88%   77.21%   -6.67%
==========================================
  Files         629       21     -608
  Lines       35753      610   -35143
  Branches     4363       65    -4298
==========================================
- Hits        29990      471   -29519
+ Misses       4471      113    -4358
+ Partials     1292       26    -1266


Scene physics.add.staticBody throws when called with both width and height

Version

Phaser Version: 3.60.0 / 3.61.0-beta.2

Operating system: Windows 10

Browser: Chrome 117

Description

Uncaught TypeError TypeError: Cannot read properties of undefined (reading 'getCenter')

https://github.com/photonstorm/phaser/blob/cbb802bcff470e3dc222986f5b71126d6741307c/src/physics/arcade/StaticBody.js#L612
Example Test Code

new Game({
	physics: {
		default: 'arcade',
	},
	scene: {
		create() {
			this.physics.add.staticBody(0, 0, 10, 10)
		},
	},
})

Additional Information

Probably caused by 6b55ac6

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.

Thanks! I think I got the time to take a look tomorrow

Just tried the newest version on master branch, works great


Change endpoint for node local bundles

https://jira.mesosphere.com/browse/DCOS_OSS-5329
Changes node bundle API to use /system/health/v1/node/diagnostics as its base path instead of /system/health/v1/diagnostics.

Codecov Report

Merging #129 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #129   +/-   ##
=======================================
  Coverage   65.24%   65.24%
=======================================
  Files          26       26
  Lines        2503     2503
=======================================
  Hits         1633     1633
  Misses        715      715
  Partials      155      155

Impacted Files
Coverage Δ

api/router.go
67.69% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


.isTablet() is not a function

The method to detect if device type is tablet is missing. This method is available in the docs. (iOS)

I checked the source code on master and the committed files are there. When I ran npm install or yarn add I don't see the isTablet code on my package though. Verified its version 0.9.6.

Ran across this as well.  Any ETA on publish?

released 0.9.7 🎉

@rebeccahughes Issue should be closed ;)


Zeropoint and beta

Work on fixing the real zeropoint and beta parameters of distribution.
We need a non-linear solver (two implementations in place) for beta, but then fix relative zeropoint scales.
We need if not, an absolute zeropoint calibration between images prior to subtraction.

For this it might be useful to improve the cost functions.
Cost functions could leverage source fluxes, by using an aperture or ellipse photometry measurement at each iteration.

Additional work could be done with the final flux zeropoint normalization and photometry in Scorr.


⚠ Bofrost.de has degraded performance

In e9cca8d, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1274 ms

Resolved: Bofrost.de performance has improved in 27646fa after 37 minutes.


dosbox-staging: fix on x86_64-darwin

ZHF: #352882
https://hydra.nixos.org/build/276150809/nixlog/1/tail
x86_64-darwin was probably broken because of its different default SDK level, but I took this chance to set the proper SDK and minimum deployment target for both Darwin platforms.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 353160

x86_64-darwin

:white_check_mark: 2 packages built:

dosbox-staging
dosbox-staging.man

aarch64-darwin

:white_check_mark: 2 packages built:

dosbox-staging
dosbox-staging.man

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 353160

x86_64-linux


Setup placements bug party

Context
This PR exists solely to set up a review app for the Placements Bug Party.
Changes proposed in this pull request
This is just an empty commit to get us ahead of main
Guidance to review
Important business

[x] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[x] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?
[x] Do we need to send any updates to DQT as part of the work in this PR?
[x] Does this PR need an ADR?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

This has served its purpose so closing...


Excluding AKISerialNumber test on JDK8 until fix is merged

This fix is in the dev branch, but is not yet merged into the master branch. This fix will likely be merged shortly after the April 2024 release.

This fix is in the dev branch, but is not yet merged into the master branch. This fix will likely be merged shortly after the April 2024 release.

For awareness, typically we merge into master then cherrypick the commit to the release branch.  There would be no delay in merging into master, as we do not code freeze AQAvit repos, since we tag and branch, development is not blocked/frozen during release periods.

In this instance then, should I cherry pick in the other direction and open a new PR so the commit ID is the same?

In this instance then, should I cherry pick in the other direction and open a new PR so the commit ID is the same?

No, in this instance, I have already merged your PR to the release branch.  We will proceed to merge this PR to master once it gets a second approval.
I mentioned it for awareness going forward for future PRs.
And, we do not always want to / need to cherrypick commits to the release branch even though it makes sense to commit it to the master branch.


add view option to show length of loopout next to loopout

Currently, it is shown in the browser on mouseover. However, this would be useful for making figures that don't show the DNA sequence (which implicitly tells the length of the loopout), to be able to read the fully-specified design from the exported SVG figure.

This should anchor the text to the path, similarly to how DNA sequences for insertions are anchored. That way, no matter how we change how loopouts are drawn in the future (e.g., for #17), it will still look okay.

Should I enforce the rule that in order to have loopout lengths displayed, show DNA sequence has to be false?

I think they could both be drawn, if the length is on the opposite side. I think currently the DNA sequence is drawn "above" the curve, so the length can be "under" the curve.
Look at the code for drawing DNA sequences on insertions, and drawing text showing the number of insertions:
https://github.com/UC-Davis-molecular-computing/scadnano/blob/dev/lib/src/view/design_main_strand_insertion.dart
https://github.com/UC-Davis-molecular-computing/scadnano/blob/dev/lib/src/view/design_main_dna_sequence.dart
In particular, link the text to the curve, using textPath and text elements similarly to here:
https://github.com/UC-Davis-molecular-computing/scadnano/blob/5f49e6dccba80ae246273c89cd7697c281a7d938/lib/src/view/design_main_strand_insertion.dart#L122-L149
Note that my most recent commit gets rid of two constants that previous were in those files. Any numbers that move things around should be expressed as multiples of geometry.base_height_svg and/or geometry.base_width_svg, where geometry is the Geometry object in the Design, e.g.,
https://github.com/UC-Davis-molecular-computing/scadnano/blob/5f49e6dccba80ae246273c89cd7697c281a7d938/lib/src/view/design_main_dna_sequence.dart#L83
https://github.com/UC-Davis-molecular-computing/scadnano/blob/5f49e6dccba80ae246273c89cd7697c281a7d938/lib/src/view/design_main_dna_sequence.dart#L84
Code like this tends to be ugly to calibrate it just right, but that's how it works.

I was looking through designs with loopouts to account for all cases, and came across the loopouts_all_types.sc.

In this case should the loopout length still be displayed under the curve?

In this case should the loopout length still be displayed under the curve?

Well, the opposite side from where the DNA is. So it would be "underneath" if you rotate your head until the DNA looks right-side up.


Async Issues

Need to make sure that dependencies are completely instantiated before injecting. Consider using promises around index.js line 66. I should add some test cases, too.

Fixed in 1b6bfbff4b5da9995eb3f16bb09b82283657e719 and released in v0.1.1


unflaging strict_front_matter_parsing, but presenterm remains strict

I'm setting strict_front_matter_parsing to false, however, it still complains because it doesn't understand one line.
---
marp: true
title: Ethics Concers on AI in ED
author: Alex Al-Saffar

---
<!-- class: invert -->

I get this error:

Error loading presentation:

                           error parsing command at line 8: unknown variant
                           `class`, expected one of `pause`, `end_slide`,
                           `new_line`, `new_lines`, `column_layout`, `column`,
                           `reset_layout`, `jump_to_middle`,
                           `incremental_lists`, `no_footer`

Can we please make it more tolerant of such non-markdown syntax that other tools rely on. Cross compatibility with zero editing will encourage more users to migrate.
Thanks

That option affects from matter parsing so it's entirely unrelated to the HTML comment you're using. You need to set this option if you want to differentiate between commands for this tool and commands for other ones.


Add color_eyre for cli error handling

We have nice error messages via thiserror - let's use them!
This PR uses color_eyre to get fancier error messages, including tracking context around errors to make debugging easier.
There's probably more error handling we could convert to this approach, but this is decent starting point.

It seems like there's a decent amount of work going on in #125, but this looks like it won't cause any merge conflicts.

Awesome, thank you for your contribution! Looks great 🚀


Additional Subscription metrics

[x] Total subscriptions qa.sum.registrations
[x] % Opt outs of total subscriptions qa.percent.optout.all
[x] % Opt outs (non loss) of total subscriptions qa.percent.optout.non_loss
[x] % Loss opt outs who chose to get messages qa.percent.loss_optout.messages
[x] Total switch to baby by SMS
[x] Conversion rates to Clinic registrations
[x] Opt outs per subscription source qa.sum.optout_on.clinic
[x] Opt outs per reason qa.sum.optout_cause.babyloss

This was broken into smaller issues #150 #151 #152 #155 #156


Exception constructor tools

I've written this trait soooo many time haha.

Blocked by https://github.com/tomphp/config-service-provider/pull/37.

Blocked by #40, so let's have a look there first!

@tomphp
:+1:

@localheinz I fully intend to stick adhere to SemVer on the dependency, but happy to version lock if it makes you happier? ;)

@tomphp
I'm fine with what you are, but usually refer to http://semver.org/#spec-item-4 when developers suggest to use the ^ operator with unstable versions:

Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.

That is, to be consistent, I should probably preach the same here!

@localheinz As I understand it, composer treats 0.x.y as 0.[bc-breaks].[updates] - therefore, ^ won't update from 0.1.x to 0.2.x so it should be safe. That SemVer item says it somewhat differently though. Let me have a little think before merging. Thanks for the for the info.
Incidentally, I feel like this package is working towards a 1.0.0 release :)

Dependency is now at 1.0.0.


Queue Shrinking

Hi,
After running the Cluster example, and loading a number of records into the queue without consumers running, I found that the queue empties.
How do you push to a Queue and only remove once consumed.
Thanks

Hi,
How do you run these sample applications? Debugging producer and consumer applications are ok. But running the server should be different than debugging. Because code is written for 3 instances example. If you just run the project, only one instance will run on port 26101. And producer does not connect to 26101.
So why? We wanted to reproduce some scenarios. Producer has 3 endpoints defined. 2 of them running server ports 26102 and 26103. But other port is random different port. The purpose here, showing that the producer tries to connect another available server. If one of them is not available.
But by default if you debug the server, it will be run only as one instance with 26101. So, producer will never connect to the server and queues will be empty always. You can just add port 26101 to producer. After some connection tries, producer will find the available server and start to produce the messages and you will able to consume them with consumer application.
If you wanna try 3 instance example for server. You can build the server and create 3 different folders. Run each with CLI parameters like this: (For each line, first parameter the server port, other two parameters are other node ports.)
dotnet ClusteringSample.Server.dll 26101 26102 26103 dotnet ClusteringSample.Server.dll 26102 26101 26103 dotnet ClusteringSample.Server.dll 26103 26101 26102
Servers will connect each other and they will choose a master node with leader election algorithm. In this example even the leader is running on port 26101, other servers will tell to the producer the leader is running on 26101 and producer will be able to connect that server by receiving the host information from other servers.
It's possible to run 3 different instances on same server application by using some async operations but the console log might be confusing. You can just to it like this:
Change your main method codes as:
        static void Main(string[] args)
        {
            if (args.Length < 3)
            {
                Task.Run(() => StartServer(26101, 26102, 26103));
                Task.Run(() => StartServer(26102, 26101, 26103));
                Task.Run(() => StartServer(26103, 26101, 26102));
            }
            else
                StartServer(Convert.ToInt32(args[0]),
                    Convert.ToInt32(args[1]),
                    Convert.ToInt32(args[2]));

            Console.ReadLine();
        }

And it's not over, because queue filenames are same and different servers should not use same queue files. So you need to change UsePersistentQueues line as
                    q.UsePersistentQueues(c =>
                    {
                        c.SetPhysicalPath(qn => $"{qn.Name}-server{port}.tdb");
                        c.UseInstantFlush();
                    });

I tested with that way now, it seems everything working well.


FIX DeprecationWarning

FIX DeprecationWarning: Calling an asynchronous function without callback is deprecated.

Coverage remained the same at 98.401% when pulling 7a14ceb534702500726e0bacdcec8e87142a7ae1 on vizo:patch-1 into ff71555ea40d466d89c0dedadee6b252d14eca4c on guigrpa:master.

I guess this is for Node v7.x. Thanks!


[Android] Add "Now playing animation" to the app.

It would be nice to have "now playing animation" similarly like music streaming apps, or PanoScrobbler handles it.
The user would immediately see which track is scrobbling at the moment:

Great idea! I'll try and add this in the next version.

Great idea! I'll try and add this in the next version.

In addition to the animation, the now playing track should be highlighted so it stands out even more from the previous scrobbles. Similar to PanoScrobbler. Thanks for your support!

The animation was added in https://github.com/nrubin29/finale/commit/cfae6abbd55cf0e5670004cac0a21e957a3bf640 and will be live in the next update.

Thanks alot!

@nrubin29 Thanks for adding the animation. I just got the upeate few hours ago from playstore.
However I think it would look even better if the now playing track was highlighted with a light color. That way the user would have it even easier to notice the now playing track.

adding source of playback would also be nice.

@nrubin29 Thanks for adding the animation. I just got the upeate few hours ago from playstore.
However I think it would look even better if the now playing track was highlighted with a light color. That way the user would have it even easier to notice the now playing track.

adding source of playback would also be nice.

Because especially when you're playing short titles there is a lot of awkward free space in-between the title and animation. Having the whole box highlighted would fix the issue.


bugfix: ckcp/test.sh

A change in kcp broke the function retrieving the namespace
on the compute cluster. This change fixes the issue and
adds a test to ensure that the scripts fails nicely if the
issue was to happen again.
Signed-off-by: Romain Arnaud<EMAIL_ADDRESS>

/retest

/retest

@bnallapeta Tests finally passed, ready to merge if you are OK with the changes.


docs: Fix simple typo, pacakges -> packages

There is a small typo in README.md.
Should read packages rather than pacakges.

thanks! sorry, i hadn't seen this before.


Added supported for methods other than GET

feat: added supported for using method other than GET
feat: method property (if supplied) in option is now honored
refactor: replaced comparators with their strict versions
chore: minor formatting adjustment to increase readability
chore: re-minified the lib
Signed-off-by: UnKnoWn<EMAIL_ADDRESS>

#148

It is a bit hard to accept the pull request with so many code style changes. I am glad you have looked at the code, but is there any purpose behind them?
The "method" option itself is not supported AFAIK by the native EventSource (and not speced), but it is  a small change, so it is OK to have it.

I'd guess that the reason the code style changed was because he used a formatter.


Determine code coverage

Please have a look at the individual commit messages for the details.

This change is

@mnonnenmacher this is good for review again.


Database Name

Hi there,
I was wondering what's the name of the Database simpleprovider creates, as i can't find it in the Docs. I have to override the query()-Method for In-App Search, so I can't rely on the Cursor returned by LoaderManager.
Many thanks in advance!

It defaults to the name of your class that is subclassing AbstractProvider (all lowercase with .db suffix). You can override the default by overriding getDatabaseFileName()

perfect, thanks!!!!!!


[hip] Re-implement hipLaunchKernelGGL as macros.

Hi may I understand the story behind this PR?  I'm not against it but would there be clients counting on hipLaunchKernelGGL as functions?


make a PyPyJS package and publish to PyPi...

There are some disadvantages about import mechanism, because pypyjs is not a python package.
e.g.:
In test modules i can't do:
from pypyjs.tests.test_utils.test_cases import BaseSeleniumTestCase

In my test environment i have a other project, with a ./tests/test_utils/test_cases.py and this will be  imported :(
Publish to PyPi is IMHO also a interesting thing. Maybe publish two packages:

complete "compile you own PyPy.js" code
smaller package for use "PyPy.js" for your own project

This is obsolete since nose usage.


PKG-4692

Update notebook 6 branch to latest version 6.5.7
https://github.com/jupyter/notebook/tree/v6.5.7
https://github.com/jupyter/notebook/blob/v6.5.7/CHANGELOG.md
https://github.com/AnacondaRecipes/nbclassic-feedstock/pull/13

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_5d6y98_83q/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:25: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.
===== Final Report: =====
0 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_849ulotelw/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:25: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.
===== Final Report: =====
0 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_3d8p0eukgj/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:25: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.
===== Final Report: =====
0 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_2brtpdxhht/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:25: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.
===== Final Report: =====
0 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_7eai2ndbjw/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:25: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.
===== Final Report: =====
0 Errors and 1 Warning were found


Error: The "package.json" file must specify the "repository" attribute

It seems repository attribute is missing in package.json for jsii lib template, please see error below:
$ npx cdkdx build

 demo/index.js ⏤  1.18 kB (+1.18 kB)

 DONE  Compiled successfully in 3587ms                                                                                2:43:32 pm

Internal Error: Command failed with exit code 255: /Users/ray.ou/Repository/my-jsii-construct/node_modules/jsii/bin/jsii --project-references --silence-warnings=reserved-word
Error: Error: The "package.json" file must specify the "repository" attribute

After added repository  attribute to package.json, the project is successfully built.
  // Add this to package.json
  "repository": {
    "type": "git",
    "url": "https://github.com/rayou/test.git"
  },

$ npx cdkdx build

 demo/index.js ⏤  1.18 kB

 DONE  Compiled successfully in 2253ms                                                                                2:56:20 pm

 DONE  Project my-jsii-construct compiled in 9.336ms.

Oh yes right. But with the combination of author and project name we can make a sensible assumption. I'll fix it in a moment


Unable to use libsound2-dev with WSL

Environment
Windows build number: [run `[Environment]::OSVersion` for powershell, or `ver` for cmd] 10.0.19043.0
Your Distribution version: [On Debian or Ubuntu run `lsb_release -r` in WSL] 20.04
Your WSLg version: [Open 'Apps and Features' and check the version of 'Windows Subsystem for Linux GUI app support', e.g: <IP_ADDRESS>] 5.10.16

Steps to reproduce

Source: https://github.com/mcandre/octane
Trace:
octane -list
Polling for MIDI devices...
ALSA lib seq_hw.c:466:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory

MidiInAlsa::initialize: error creating ALSA sequencer client object.
panic: can't open default MIDI in: �x�

Expected behavior
The available MIDI devices are enumerated.
Actual behavior
Linux environment unable to present sound devices. In fact, NO sound devices are available.
$ ls /dev/snd
ls: cannot access '/dev/snd': No such file or directory

Hi @mcandre, WSL runs on virtual machine, thus unless those hardware on host are projected to virtual machine and properly assign for guest VM usage, it does not work. This is currently not supported. I move this as enhancement for future consideration. Thanks for trying out WSLg!

Hi @mcandre, WSL runs on virtual machine, thus unless those hardware on host are projected to virtual machine and properly assign for guest VM usage, it does not work. This is currently not supported. I move this as enhancement for future consideration. Thanks for trying out WSLg!

hi
When will it be done ?
The past two and a half years


Wrong performance tip in the docs

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description

Use model_validate_json() not model_validate(json.loads(...))

docs
This statement is wrong, cause python's json and any other json-tool are more efficient than pydantic.
To check it I got Telegram's Update model from aiogram based on pydantic.
Example Code
# pip install aiogram ujson orjson msgspec

import json
from timeit import timeit

import msgspec
import orjson
import ujson

from aiogram.types import Update

DICT_UPDATE = {
    "update_id": 936155502,
    "message": {
        "message_id": 1622980,
        "from": {
            "id": 66812456,
            "is_bot": False,
            "first_name": "Oleg",
            "last_name": "A.",
            "username": "Oleg_Oleg_Oleg",
            "language_code": "ru",
            "is_premium": True
        },
        "chat": {
            "id": 66812456,
            "first_name": "Oleg",
            "last_name": "A.",
            "username": "Oleg_Oleg_Oleg",
            "type": "private"
        },
        "date":<PHONE_NUMBER>,
        "text": "a"
    }
}
JSON_UPDATE = json.dumps(DICT_UPDATE)

def measure_pydantic_only():
    return Update.model_validate_json(JSON_UPDATE, context={"bot": None})

def measure_json_pydantic():
    dict_update = json.loads(JSON_UPDATE)
    return Update.model_validate(dict_update, context={"bot": None})

def measure_ujson_pydantic():
    dict_update = ujson.loads(JSON_UPDATE)
    return Update.model_validate(dict_update, context={"bot": None})

def measure_orjson_pydantic():
    dict_update = orjson.loads(JSON_UPDATE)
    return Update.model_validate(dict_update, context={"bot": None})

def measure_msgspec_pydantic():
    dict_update = msgspec.json.decode(JSON_UPDATE)
    return Update.model_validate(dict_update, context={"bot": None})

if __name__ == "__main__":
    _number = 10000
    print("pydantic", timeit(measure_pydantic_only, number=_number))
    print("json+pydantic", timeit(measure_json_pydantic, number=_number))
    print("ujson+pydantic", timeit(measure_ujson_pydantic, number=_number))
    print("orjson+pydantic", timeit(measure_orjson_pydantic, number=_number))
    print("msgspec+pydantic", timeit(measure_msgspec_pydantic, number=_number))

Result
pydantic 0.25962887500645593
json+pydantic 0.2558214590244461
ujson+pydantic 0.24502375000156462
orjson+pydantic 0.2367682090261951
msgspec+pydantic 0.23666287498781458

Python, Pydantic & OS Version
pydantic version: 2.6.2
        pydantic-core version: 2.16.3
          pydantic-core build: profile=release pgo=true
                 install path: /Users/t0rr/PycharmProjects/aiogram/.venv/lib/python3.11/site-packages/pydantic
               python version: 3.11.8 (v3.11.8:db85d51d3e, Feb  6 2024, 18:02:37) [Clang 13.0.0 (clang-13<IP_ADDRESS>)]
                     platform: macOS-14.3.1-arm64-arm-64bit
             related packages: mypy-1.6.1 typing_extensions-4.8.0
                       commit: unknown

Hi @Olegt0rr,
Thanks for the report. We recently added an update to the docs regarding this behavior, which you can see in our latest docs: https://docs.pydantic.dev/dev/concepts/performance/.
This discussion has more info: https://github.com/pydantic/pydantic/discussions/6388#discussioncomment-8193105.
I'm going to put this in the 2.7 milestone for now.  The soon-to-come updates to pydantic-core should speed things up even more, but we should certainly revisit the wording of this performance section before our next minor release.

Using latest, I'm seeing the following:
pydantic 0.21165837498847395
json+pydantic 0.22665574998245575
ujson+pydantic 0.21380370800034143
orjson+pydantic 0.20943645798251964
msgspec+pydantic 0.2092173749988433

I also wonder if the custom init has any effect - I'm not sure. Going to close this for now, given that the performance is now better with pure pydantic than it is with json+pydantic, and we've added some caveats to that performance section of the docs, with notes on plans for future improvements.


Is it possible to prevent the default URL decoding?

The percent encodings (such as %2B) are decoded automatically when a request is received in the polka server.
Original request URL: http://localhost:5000/proxy_path?query=N4IgLgng%2B
Received request URL: http://localhost:5000/proxy_path?query=N4IgLgng+
I don't want the URL decoding to happen automatically as I want to proxy the original request as such to a different server. How can I achieve this?
Sample server code:
const polka = require("polka");
const app = polka();

app.use((req, res, next) => {
    console.log(req.url);
});

app.listen(5000, () => {
    console.log('server listening on 5000');
});

I was running some experiments and found a weird behavior when I used @polka/url to parse the incoming request.
The URL decoding is not happening, when an arrow function is used. More details below,
Snippet1:
const polka = require("polka");
const app = polka();
const parseUrl = require('@polka/url');

app.parse = parseUrl; // #5

app.use((req, res, next) => {
    console.log(req.url); // /proxy_path?query=Ngig+
    next();
});

app.listen(5000, () => {
    console.log('server listening on 5000');
});

Snippet2: (changes in line:5)
const polka = require("polka");
const app = polka();
const parseUrl = require('@polka/url');

app.parse = (req) => parseUrl(req);  // #5

app.use((req, res, next) => {
    console.log(req.url); // /proxy_path?query=Ngig%2B
    next();
});

app.listen(5000, () => {
    console.log('server listening on 5000');
});

The results should be consistent and this issue should be fixed.
Another note is that, if the parseurl module is used instead of @polka/url the URL decoding is not happening with both of the above snippets.
i.e. When I hit http://localhost:5000/proxy_path?query=N4IgLgng%2B the value of req.url is always /proxy_path?query=Ngig%2B

This is by design, see https://github.com/lukeed/polka#parsereq & you can search for other parse/decode issues in the repo. By default, decoding is enabled because 99.9% of applications want/need this. You didn't mention what version you're using, but I imagine it's a @next version, in which case, this is done thru the 2nd parameter to polka/url which you omitted in your override. Has nothing to do with the arrow function itself.
Either way, this is working as intended and not an issue. And the parseurl module does not decode, ever.

Hey @lukeed, thanks for the response. It makes sense now. Yes, I was using the @next version, which I didn't realize, apologies.
In the next version, the @polka/url module has the decoding disabled by default, whereas the decoding is enabled by default in polka. Please update the readme section accordingly. You can use this PR if helps.
Thanks :)


vscode terminal  bug with Chinese keyboard

VSCode Version: 1.28
OS Version: macos 10.14

vscode terminal is not friendly when use chinese keyboard.

input word throw by wubixing.
press ctrl+v when you are inputing chinese word.
press space key

look this video
https://youtu.be/yzf_J0ZPInA

I ran into the same buggy behavior of integrated terminal. This issue was labeled with upstream by @Tyriar . So what upstream dependency cause this problem?

@lwshang https://github.com/xtermjs/xterm.js, you should be able to repro IME-related issues on xterm.js' demo

@lwshang https://github.com/xtermjs/xterm.js, you should be able to repro IME-related issues on xterm.js' demo

Thanks. Will check there.

Please create any issues you have with IME input in the upstream repo https://github.com/xtermjs/xterm.js, include version/OS information and detailed repro steps (I'm not familiar with that IME).


What happened to the copy on pypi?

I installed it via pip3 install fuse-3ds when the latest version was 1.2b4, and now pip says the package cannot be found. Why is it removed? Can you bring it back to pypi?

It was never on pypi.

Starting with 1.3 I am now uploading releases to PyPI. If it was on the index before, it wasn't from me.
https://pypi.org/project/fuse-3ds/


Release Google.Cloud.ApigeeRegistry.V1 version 1.0.0-beta01

Changes in this release:
Initial release.

Created release for Google.Cloud.ApigeeRegistry.V1-1.0.0-beta01


Streamline notifications (cosmetic)

:nut_and_bolt: Description: What code changed, and why?
Noticed some redundancy while investigating a related issue.
:chains: Related Resources
:+1: Definition of Done
Info and error notifications still work the same way (directly affected by this change).
License notifications still work the same way (not affected by this change)
:athletic_shoe: How to Build and Test the Change
Logged in as admin, create a new user, e.g.. "bob".
Upon successful creation you should see a "created user" message lasting for 8 seconds.

Logout and login as "bob".
Attempt to visit the policies page via URL (https://a2-dev.test/settings/policies). You should see an error lasting for 30 seconds:

:white_check_mark: Checklist

[x] I have read the CONTRIBUTING document.
[ ] Tests added/updated?
[ ] Docs added/updated?
[x] All commits have been signed-off for the Developer Certification of Origin.

:camera: Screenshots, if applicable

@SEAjamieD Just a couple thoughts:
(1) It is not necessarily a direct URL; could be clicking something in the app, and we cannot necessarily tell. So going back to "home" would not always be the correct answer.
(2) We discussed recently (in ui-team I think) that the entire top nav bar was going to be fluid/permission-based, so "event feed" would not always be "home". (But come to think of it, this point does not matter: once it is dynamic, it could route to the dynamic "home".)

we really really need pages for 404 and 403.
but yah, hopefully, we can stop showing the event feed if they dont have permission sometime soon.

@msorens - Good points, more to think about than what I was imagining and it will be great when nav is fully dynamic.
@susanev - it'll be awesome when we get to that!


test: data-driven validation tests

Closes partially #543.
Closes partially #433.
Summary of Changes

Port the data-driven framework for validation tests from the old Xtext implementation to Langium.
Document how to write validation tests.

:tada: This PR is included in version 0.2.0 :tada:
The release is available on:

Visual Studio Marketplace
GitHub release

Your semantic-release bot :package::rocket:


zh,en: add release notes for 2.0.1

What is changed, added, or deleted? (Required)

Which DM version(s) do your changes apply to? (Required)

[x] master (the latest development version, including v3.0 changes)
[x] v2.0 (TiDB DM 2.0 versions)
[ ] v1.0 (TiDB DM 1.0 versions)

What is the related PR or file link(s)?

This PR is translated from:
Other reference link(s):

Do your changes match any of the following descriptions?

[ ] Delete files
[ ] Change aliases
[ ] Need modification after applied to another branch
[ ] Might cause conflicts after applied to another branch

and https://github.com/pingcap/dm/pull/1359 is ready to review

LGTM


Component name cleanup

To simplify component names:

Remove all instances of "with", -, –, —
Leave out "Link with icon" and "Image with caption" for now as larger component work is expected
This only affects parent component, and variations are still keeping the "with" when it is there.
Already done ✅ in Airtable & Boxfolder as in https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/5872
Code & Storybook are currently unaffected.

Submitted PR: https://github.com/carbon-design-system/carbon-for-ibm-dotcom-website/pull/984


allow use of templates when determining final server name

e.g.
{{ .serverName }} - {{ .eventName }}
{{ .eventName }} on my epic {{ .serverName }}
{{ .serverName }} | {{ .eventName }}

While you are doing that, any chance you can do the ...
"Hi, %s! Welcome to the %s server! %s %s Make this race count! %s\n"
... message as well?  Or at least move the "Make this race count!" into the default ServerJoinMessage?  Doesn't make much sense for non-race sessions.

Yeah I had considered this earlier. Will try to get it in with this one.


Kong start does not create the full contents of the prefix directory. Does not start properly

When starting kong the contents of the prefix folder only has :
logs  nginx.conf  pids  ssl
Subsequently kong does not start. I have found that this is inconsistent, but it fails to create the contents of the directory more often than not.
Kong version : 0.13.1
Operating System :  Ubuntu 16.04.4 LTS
Kong.conf :
proxy_listen = <IP_ADDRESS>:80, <IP_ADDRESS>:443 ssl
admin_listen = <IP_ADDRESS>:8001, <IP_ADDRESS>:8444 ssl
pg_host =
pg_port = 5432
pg_user = postgres
pg_password =
pg_database = kong
Note : I have ommitted DB details i.e host and password.
Kong Verbose Start :
root@kong01:/usr/local# kong start -c /opt/kong/kong.conf --vv
2018/05/24 13:38:34 [verbose] Kong: 0.13.1
2018/05/24 13:38:34 [debug] ngx_lua: 10011
2018/05/24 13:38:34 [debug] nginx: 1013006
2018/05/24 13:38:34 [debug] Lua: LuaJIT 2.1.0-beta3
2018/05/24 13:38:34 [verbose] reading config file at /opt/kong/kong.conf
2018/05/24 13:38:34 [debug] admin_access_log = "logs/admin_access.log"
2018/05/24 13:38:34 [debug] admin_error_log = "logs/error.log"
2018/05/24 13:38:34 [debug] admin_http2 = "off"
2018/05/24 13:38:34 [debug] admin_listen = {"<IP_ADDRESS>:8001","<IP_ADDRESS>:8444"}
2018/05/24 13:38:34 [debug] admin_listen_ssl = "<IP_ADDRESS>:8444"
2018/05/24 13:38:34 [debug] admin_ssl = "on"
2018/05/24 13:38:34 [debug] anonymous_reports = true
2018/05/24 13:38:34 [debug] cassandra_consistency = "ONE"
2018/05/24 13:38:34 [debug] cassandra_contact_points = {"<IP_ADDRESS>"}
2018/05/24 13:38:34 [debug] cassandra_data_centers = {"dc1:2","dc2:3"}
2018/05/24 13:38:34 [debug] cassandra_keyspace = "kong"
2018/05/24 13:38:34 [debug] cassandra_lb_policy = "RoundRobin"
2018/05/24 13:38:34 [debug] cassandra_port = 9042
2018/05/24 13:38:34 [debug] cassandra_repl_factor = 1
2018/05/24 13:38:34 [debug] cassandra_repl_strategy = "SimpleStrategy"
2018/05/24 13:38:34 [debug] cassandra_schema_consensus_timeout = 10000
2018/05/24 13:38:34 [debug] cassandra_ssl = false
2018/05/24 13:38:34 [debug] cassandra_ssl_verify = false
2018/05/24 13:38:34 [debug] cassandra_timeout = 5000
2018/05/24 13:38:34 [debug] cassandra_username = "kong"
2018/05/24 13:38:34 [debug] client_body_buffer_size = "8k"
2018/05/24 13:38:34 [debug] client_max_body_size = "0"
2018/05/24 13:38:34 [debug] client_ssl = false
2018/05/24 13:38:34 [debug] custom_plugins = {}
2018/05/24 13:38:34 [debug] database = "postgres"
2018/05/24 13:38:34 [debug] db_cache_ttl = 3600
2018/05/24 13:38:34 [debug] db_update_frequency = 5
2018/05/24 13:38:34 [debug] db_update_propagation = 0
2018/05/24 13:38:34 [debug] dns_error_ttl = 1
2018/05/24 13:38:34 [debug] dns_hostsfile = "/etc/hosts"
2018/05/24 13:38:34 [debug] dns_no_sync = false
2018/05/24 13:38:34 [debug] dns_not_found_ttl = 30
2018/05/24 13:38:34 [debug] dns_order = {"LAST","SRV","A","CNAME"}
2018/05/24 13:38:34 [debug] dns_resolver = {}
2018/05/24 13:38:34 [debug] dns_stale_ttl = 4
2018/05/24 13:38:34 [debug] error_default_type = "text/html"
2018/05/24 13:38:34 [debug] http2 = "off"
2018/05/24 13:38:34 [debug] latency_tokens = true
2018/05/24 13:38:34 [debug] log_level = "notice"
2018/05/24 13:38:34 [debug] lua_package_cpath = ""
2018/05/24 13:38:34 [debug] lua_package_path = "./?.lua;./?/init.lua;"
2018/05/24 13:38:34 [debug] lua_socket_pool_size = 30
2018/05/24 13:38:34 [debug] lua_ssl_verify_depth = 1
2018/05/24 13:38:34 [debug] mem_cache_size = "128m"
2018/05/24 13:38:34 [debug] nginx_daemon = "on"
2018/05/24 13:38:34 [debug] nginx_optimizations = true
2018/05/24 13:38:34 [debug] nginx_user = "nobody nobody"
2018/05/24 13:38:34 [debug] nginx_worker_processes = "auto"
2018/05/24 13:38:34 [debug] pg_database = "kong"
2018/05/24 13:38:34 [debug] pg_host = "<IP_ADDRESS>"
2018/05/24 13:38:34 [debug] pg_password = "******"
2018/05/24 13:38:34 [debug] pg_port = 5432
2018/05/24 13:38:34 [debug] pg_ssl = false
2018/05/24 13:38:34 [debug] pg_ssl_verify = false
2018/05/24 13:38:34 [debug] pg_user = "postgres"
2018/05/24 13:38:34 [debug] prefix = "/usr/local/kong/"
2018/05/24 13:38:34 [debug] proxy_access_log = "logs/access.log"
2018/05/24 13:38:34 [debug] proxy_error_log = "logs/error.log"
2018/05/24 13:38:34 [debug] proxy_listen = {"<IP_ADDRESS>:80","<IP_ADDRESS>:443 ssl"}
2018/05/24 13:38:34 [debug] proxy_listen_ssl = "<IP_ADDRESS>:8443"
2018/05/24 13:38:34 [debug] real_ip_header = "X-Real-IP"
2018/05/24 13:38:34 [debug] real_ip_recursive = "off"
2018/05/24 13:38:34 [debug] server_tokens = true
2018/05/24 13:38:34 [debug] ssl = "on"
2018/05/24 13:38:34 [debug] ssl_cipher_suite = "modern"
2018/05/24 13:38:34 [debug] ssl_ciphers = "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"
2018/05/24 13:38:34 [debug] trusted_ips = {}
2018/05/24 13:38:34 [debug] upstream_keepalive = 60
2018/05/24 13:38:34 [verbose] prefix in use: /usr/local/kong
2018/05/24 13:38:35 [verbose] preparing nginx prefix directory at /usr/local/kong
2018/05/24 13:38:35 [info] prefix directory /usr/local/kong not found, trying to create it
2018/05/24 13:38:35 [verbose] SSL enabled, no custom certificate set: using default certificate
2018/05/24 13:38:35 [verbose] generating default SSL certificate and key
2018/05/24 13:38:35 [warn] ulimit is currently set to "1024". For better performance set it to at least "4096" using "ulimit -n"
2018/05/24 13:38:35 [verbose] could not start Kong, stopping services
2018/05/24 13:38:35 [verbose] stopped services
Error:
/usr/local/share/lua/5.1/kong/cmd/start.lua:68: /usr/local/share/lua/5.1/kong/cmd/utils/prefix_handler.lua:251: invalid replacement value (a table)
stack traceback:
[C]: in function 'error'
/usr/local/share/lua/5.1/kong/cmd/start.lua:68: in function 'cmd_exec'
/usr/local/share/lua/5.1/kong/cmd/init.lua:87: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:87>
[C]: in function 'xpcall'
/usr/local/share/lua/5.1/kong/cmd/init.lua:87: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:44>
/opt/kong/bin/kong:7: in function 'file_gen'
init_worker_by_lua:49: in function <init_worker_by_lua:47>
[C]: in function 'xpcall'
init_worker_by_lua:56: in function <init_worker_by_lua:54>
root@kong01:/usr/local# ls /usr/local/kong/
logs  nginx.conf  pids  ssl

@opensauce17 curious, is this in a machine with a fresh install of 0.13.1, or an upgrade from an earlier version of Kong such as 0.12? This sounds similar to #2319 in which a replacement value (of type table) is passed into gsub; if the nginx_kong.lua template wasn't upgraded from 0.12 this might result in a failed substitution and the error reported?

Hi,
Yes, I think you are totally right! Thanks for the insight.
I upgraded to 0.13.0 and had my automation tool dropping my 0.12.0 templates. Im still unfamiliar with the changes in 0.13.0. I've modified my automation to strictly use the versions ( kong, openresty, luarocks) that I am comfortable with.
I'll spend some time looking at 0.13.0 and consider upgrading to it at some point.
This issue can be considered close.


Add testing against different Java versions in CI

@alallema I think the gradle version does not support Java 17, that's why your CI is breaking!

This PR was just a test.
There is no need to add different version matrix on the CI