Add some buttons/change axis buttons

Sorry for my bad language, I'm french ! :)
Change axis buttons
I requesting to change axis buttons (left,up,right,down).
I think, it's would be more user-friendly if btn(0) and btn(1) return a integer variable for axis pressed:

btn(0) return -1 => left pressed
btn(0) return 1 => right pressed
btn(0) return 0 => left or right are unpressed

Why ?
more realistic
In fact, on a joypad NES joypad reference, it's impossible to press left and right in same time.
But with the current buttons configuration, I can do this:
if btn(2) and btn(3) then x=x+1 end
more useful for moving object in axis
With -1 to 1, we can moving object in TIC axis:
-- 'hello world' demo

function btnAxis(which)
	if which==0 then --x axis
		a=2
		b=3
	elseif which==1 then --y axis
		a=0
		b=1
	end

	if btn(a) and btn(b) then
		return 0
	elseif btn(a) then
		return -1
	elseif btn(b) then
		return 1
	else
		return 0
	end
end

t=0
x=104
y=24

function TIC()
	--[[ old dummy code :)

	if btn(0) then y=y-1 end
	if btn(1) then y=y+1 end
	if btn(2) then x=x-1 end
	if btn(3) then x=x+1 end
	--]]

	-- new super function
	x=x+btnAxis(0)
	y=y+btnAxis(1)

	cls(12)
	spr(1+(t%60)/30,x,y,-1,4)
	print("HELLO WORLD!",84,64)
	t=t+1
end

Add some buttons
I thinking about add select, start, L trigger, R trigger buttons, but I think it's to much.
How about add just start button ?

Others advantages of changing axis buttons:
I don't know how TIC manage RAM but instead use 4 variables for axis buttons, this will use just 2.

not gonna happend
nesbox already fixed that each gamepad use 8bits of memory (for a total of 16bits)
so you have either 2 six-button controller or 1 mouse pointer with 1 button
as explained here:
https://github.com/nesbox/tic.computer/issues/36
More variables doesn't mean it use more RAM:
On TIC the direction for one controller are stored on 4bits.
When we recover the values for each of the directions in LUA, they are stored in booleans.
A booleans is 8bits (only 1 of those 8bits is used).
If we concider the axis as numbers we get 2 double precision floating point numbers stored on 64bits each. So we get 128bits for axis against 32bits for booleans.
Also TIC like PICO-8 doesn't prevent you from pressing two opposed direction at the same time.
Not because it is a mistake but because it was intended that way.
Yet we could have two additional action button on each controller since we have only 6buttons for 8bits.

It would be nice if I get full ram layout to more understand how memory was managed :).
For axis buttons, I will use my own function.
For add buttons, Nesbox will choose ...

@harraps thanks for the explanation :)
there are two additional buttons (because we have 2 free bits) but they are not mapped to keyboard buttons

@Raidez I'll share full memory spec when it will more less stable.


Add a link to video_player

Thanks for this great plugin! Just a small PR to add a link to video_player

cc @brianegan

Good call, thanks for the contribution!


Get rid of $(brew --cache)/Casks dir and symlinks?

Currently, we download the target of url to $(brew --cache) and also set a symlink to it in $(brew --cache)/Caskroom. That last directory and symlink seem a bit useless. Furthermore, the interaction is broken, since if $(brew --cache)/Casks does not exist (somewhat common if you rm "$(brew --cache)" regularly) HBC blows up and gives an error about the file not being there, since we’re not creating the directory.
Steps to reproduce the error:

rm -rf "$(brew --cache)/Casks"
brew cask fetch alfred
Boom (Error: No such file or directory …)

Even if not getting rid of the interaction, we need to be sure to always create $(brew --cache)/Casks when downloading a cask.

Are these symlinks even used for anything?

I’m not sure if we use them internally for something. If not, it’ll be a simple matter to get rid of them.

You have a typo in the post above, it is actually $(brew --cache)/Casks.

You’re right. Fixed.

In Hbc::Download, there is this comment:
# this symlink helps track which downloads are ours

And indeed, this is true. In addition, the symlink is used to check for .incomplete cache files.

this symlink helps track which downloads are ours

Ah, yes, I remember seeing that in the past.
On the other hand, is it really necessary? Homebrew doesn’t check which downloads are exclusively theirs nor needs symlinks, and they do just fine.

Well, as long as there are no Formulas and Casks with exactly the same name, version and file extension, we don't need the symlinks. And even if, it's just a cache directory, so I think people shouldn't depend on it.

I'm fine with blowing it away. Maybe brew cask list might rely on it, but that's quite a broken mess, anyway.

Seems like there are no problems with getting rid of the directory. No longer a discussion but something to implement. Closing in favour of https://github.com/caskroom/homebrew-cask/issues/22727.


keygen: "send private key to keybase" default -> false

Private keys (even when encrypted) are sensitive pieces of information.
To promote better security practices, the default probably shouldn't be
to trust anyone (even keybase) with them.

+1

Related: keybase/keybase-issues#1229
malgorithms:

The debate on whether it's "severe danger" to symmetrically-encrypt an asymmetric private key, and store remotely, has been debated a bunch already. We disagree that it's such a danger, and a far bigger danger is a world where average users don't get PKI.

I'm not in disagreement with that at all.  This change just means that uploading the key to the server is not the default if you have generated your own locally, or are using an existing public key.  Lay users are likely to generate their keys on the keybase.io website anyway, where they are automatically opted in to this storage.  It seems like a bigger UX problem to accidentally & irrevocably upload an advanced user's key than to not upload one for a naive user (who could then have to perform that step again).

I strongly agree with @danielmendel. I trust Keybase as much as I trust anyone, but the idea that I might be one misstep away from uploading my private key somewhere keeps me awake at night.


Home page: My objects/Upstream/Downstream/Popular: show alerts.

https://www.figma.com/file/yiL1CRyHsOEeY45NesWdiC/Provectus?node-id=123%3A2450

Done


Label Resolver

Feature suggestion (of admittedly very low priority): It would be nice if it was possible to navigate from a labeled break or continue to the label.
Stealing a short description from stackoverflow

Consider this example:
    first:
    for( int i = 0; i < 10; i++) {
      second:
      for(int j = 0; j < 5; j ++ )
      {
        break xxx;
      }
    }

    third:
    for( int a = 0; a < 10; a++) {

    }

You could replace xxx with first or second (to break the outer or inner loop), since both loops are being executed, when you hit the break statement, but replacing xxx with third won't compile.

Let's add it to the backlog and hope someone will help us on implementint this one


Build:1.5.0

Motivation and Context

Making a release to use the new RequestExtras change in other projects
Implementation Description

Any new dependencies Introduced

How Has This Been Tested?

PR Checklist:

[x] I have implemented all requirements? (see JIRA, project documentation).
[x] I am not affecting someone else's work, If I am, they are included as a reviewer.
[ ] I have added relevant tests (unit, integration or regression).
[ ] I have added comments to all the bits that are hard to follow.
[ ] I have added/updated Documentation.
[ ] I have updated the appropriate changelog with a line for my changes.

Screenshots (if appropriate):

On hold until https://github.com/causalens/dara-ui/pull/55 is released, will update and merge once a new dara-ui patch is available


Better utilise union types generated when looping through nested objects

Have been trying to deal with an odd error.. Easier to just demonstrate with code:
https://flow.org/try/#0MYewdgzgLgBFCm0YF4YG8BQMYEMBc6W2u+MAjEQL4A0MRARgZsTPYzAExUaUYYDy9AFbxgUAHQBreAE8IACgTQAlOIBmIAE4BRHMAAW86TP5h4KAHyFsgkWKmyFSqAG1jp+AF1VGnXsPGACoA7iCW1sSgkCAANvDiMSAA5oqIru5mnm6yISDeVMo8ykA
const test = {
  a: {
    aa: 1
  },
  b: {
    bb: 2
  }
}

Object.keys(test).forEach(keyOne => {
  Object.keys(test[keyOne]).forEach(keyTwo => {
    console.log(test[keyOne][keyTwo])
  })
})

Feels like this would be a very common coding pattern so am surprised this hasnt come up more frequently. But yeah Flow is clever enough in this instance to figure out that keyTwo can be either aa or bb at the line of the console log. However it is not clever enough to figure out that those values are scoped to their parent structures.
I definitely have some appreciation of why this might be difficult to solve.. however am interested to hear peoples thoughts in relation to how we could handle this / any workarounds in the meantime!

Using Object.keys, seems like the keys of your objects are not static, and it doesn't really matter what they are. If you annotate your object as a dictionary (of dictionaries), you'll see we no longer error:
https://flow.org/try/#0MYewdgzgLgBFCm0BcMDeBtaAnAlmA5gLoobZ5EpgCuAtgEbxYC+TMAvGgFAwwCGJ3Hn34wAjIKYAaGILoChMOnJgAmCZyadOAeToAreMCgA6ANbwAnhAAUCaAEpjAMxBYAor2AALa+YvaweHYAPi4eXQMjM0sbOyh0PwD4QkcXd08fPwAVAHcQELChUEgQABt4Y1KQfFtEeMTAwgTLXJAUiXsNeyA


Admin Ability to Flag CSR as ITA Designate

For future work regarding how the app will notify CSRs of exams that have been received, there needed to be a flag attached to the csr model called 'ita_designate'. This flag was to be modelled after the receptionist_ind field on the csr model, and had to be editable through theq admin interface. This PR contains the model/schema updates for this field as well as the front end changes to the admin interface that allow staff with the ability to see the admin interface to edit this field.

We did it fam.


[onnx-optimizer] Build error on x64-windows

Can anybody help?
Actually i tried to install libtorch without cuda. Therefore:
vcpkg install libtorch[core,opencv,zstd]:x64-windows
Package<EMAIL_ADDRESS>Host Environment
Host: x64-windows
Compiler: MSVC 19.42.34435.0
vcpkg-tool version: 2024-10-18-e392d7347fe72dff56e7857f7571c22301237ae6 vcpkg-scripts version: 9d163f061 2024-11-05 (7 weeks ago)

To Reproduce
vcpkg install libtorch[core,opencv,zstd]:x64-windows
Failure logs
-- Note: onnx-optimizer only supports static library linkage. Building static library.
-- Using cached onnx-optimizer-v0.3.19.tar.gz.
-- Cleaning sources at D:/di/Libraries/Vs/vcpkg/buildtrees/onnx-optimizer/src/v0.3.19-4057de8b9d.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source D:/di/Libraries/Vs/vcpkg/downloads/onnx-optimizer-v0.3.19.tar.gz
-- Applying patch fix-cmakelists.patch
-- Using source at D:/di/Libraries/Vs/vcpkg/buildtrees/onnx-optimizer/src/v0.3.19-4057de8b9d.clean
CMake Warning (dev) at scripts/cmake/vcpkg_find_acquire_program.cmake:70 (cmake_parse_arguments):
The INTERPRETER keyword was followed by an empty string or no value at all.
Policy CMP0174 is not set, so cmake_parse_arguments() will unset the
arg_INTERPRETER variable rather than setting it to an empty string.
Call Stack (most recent call first):
scripts/cmake/vcpkg_find_acquire_program.cmake:143 (z_vcpkg_find_acquire_program_find_internal)
installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:234 (vcpkg_find_acquire_program)
ports/onnx-optimizer/portfile.cmake:27 (vcpkg_cmake_configure)
scripts/ports.cmake:192 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
CMake Warning (dev) at scripts/cmake/vcpkg_find_acquire_program.cmake:30 (cmake_parse_arguments):
The INTERPRETER keyword was followed by an empty string or no value at all.
Policy CMP0174 is not set, so cmake_parse_arguments() will unset the
arg_INTERPRETER variable rather than setting it to an empty string.
Call Stack (most recent call first):
scripts/cmake/vcpkg_find_acquire_program.cmake:149 (z_vcpkg_find_acquire_program_find_external)
installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:234 (vcpkg_find_acquire_program)
ports/onnx-optimizer/portfile.cmake:27 (vcpkg_cmake_configure)
scripts/ports.cmake:192 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
-- Found external ninja('1.12.1').
-- Configuring x64-windows
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
Command failed: ninja -v
Working Directory: D:/di/Libraries/Vs/vcpkg/buildtrees/onnx-optimizer/x64-windows-rel/vcpkg-parallel-configure
Error code: 1
See logs for more information:
D:\di\Libraries\Vs\vcpkg\buildtrees\onnx-optimizer\config-x64-windows-out.log
Call Stack (most recent call first):
installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:415 (vcpkg_execute_required_process)
ports/onnx-optimizer/portfile.cmake:27 (vcpkg_cmake_configure)
scripts/ports.cmake:192 (include)
config-x64-windows-out.log

-- Found Protobuf: D:/di/Libraries/Vs/vcpkg/installed/x64-windows/tools/protobuf/protoc.exe (found version "<IP_ADDRESS>")
CMake Error at C:/Program Files/CMake/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
  Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR) (found version
  "<IP_ADDRESS>")

Maybe update vcpkg to latest and rebuild protobuf?


[T5A1][W13-B4] Ang Wei Hao Desmond

@KnewYouWereTrouble
Some comments added. Please ack & close the PR after reading comments.

Acknowledged


Calling sparsejac within a jitted linen module

Great work on this function. I noticed that sparsejac complains with a ConcretizationTypeError when I call it within a jitted linen module (if I don't jit the module call, it works fine, but that's not practical). Here is a MWE:
import flax.linen as nn
import jax
from jax import numpy as jnp
import sparsejac
from jax.experimental.sparse import BCOO

class Network(nn.Module):
    dim: int
    def setup(self):
        self.dense = nn.Dense(features = self.dim)
        self.sparsity = BCOO.fromdense(jnp.eye(self.dim))
        fn = lambda x: self.dense(x)
        self.sparse_fn = sparsejac.jacrev(fn, self.sparsity)
    def __call__(self, x):
        return self.sparse_fn(x).todense()

dim = 2
model = Network(dim)
params = model.init(x = jnp.ones((dim,)), rngs = {'params': jax.random.PRNGKey(0)})
jit_model = jax.jit(model.apply)
jit_model(params, x = jnp.ones((dim,)))

The traceback is
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 5, in setup
  File "/nfs/nhome/live/jheald/.conda/envs/hDiffLocal/lib/python3.9/site-packages/jax/experimental/sparse/bcoo.py", line 2510, in fromdense
    return bcoo_fromdense(
  File "/nfs/nhome/live/jheald/.conda/envs/hDiffLocal/lib/python3.9/site-packages/jax/experimental/sparse/bcoo.py", line 266, in bcoo_fromdense
    nse = _count_stored_elements(mat, n_batch, n_dense)
  File "/nfs/nhome/live/jheald/.conda/envs/hDiffLocal/lib/python3.9/site-packages/jax/experimental/sparse/util.py", line 106, in _count_stored_elements
    return int(_count_stored_elements_per_batch(mat, n_batch, n_dense).max(initial=0))
jax.errors.ConcretizationTypeError: Abstract tracer value encountered where concrete value is expected: traced array with shape int32[].
The problem arose with the `int` function. If trying to convert the data type of a value, try using `x.astype(int)` or `jnp.array(x, int)` instead.
The error occurred while tracing the function apply at /nfs/nhome/live/jheald/.conda/envs/hDiffLocal/lib/python3.9/site-packages/flax/linen/module.py:1831 for jit. This value became a tracer due to JAX operations on these lines:

  operation a:i32[2,2] = add b c
    from line <stdin>:5 (setup)

I want to call the sparse jacobian function with a linen module
  operation a:f32[] = convert_element_type[new_dtype=float32 weak_type=False] b
    from line <stdin>:5 (setup)

  operation a:i32[] = convert_element_type[new_dtype=int32 weak_type=False] b
    from line <stdin>:5 (setup)

See https://jax.readthedocs.io/en/latest/errors.html#jax.errors.ConcretizationTypeError

I have tried to call sparsejac outside of the linen module and pass the sparsified function in as an argument but that doesn't work either:
import flax.linen as nn
import jax
from jax import numpy as jnp
import sparsejac
from jax.experimental.sparse import BCOO
from functools import partial

class Network(nn.Module):
    dim: int
    def setup(self):
        self.dense = nn.Dense(features = self.dim)
    def __call__(self, sparse_fn, x):
        return sparse_fn(x, self.dense).todense()

dim = 2

sparsity = BCOO.fromdense(jnp.eye(dim))
fn = lambda x, mod: mod(x)
sparse_fn = sparsejac.jacrev(fn, sparsity)

model = Network(dim)
params = model.init(sparse_fn = sparse_fn, x = jnp.ones((dim,)), rngs = {'params': jax.random.PRNGKey(0)})
jit_model = jax.jit(model.apply)
jit_model(params, x = jnp.ones((dim,)), sparse_fn = sparse_fn)

Any suggestions on what I should do here?
Thanks in advancd

@jamesheald, thanks! I believe the solution here would be to put the jacrev call inside the jax.ensure_compile_time_eval context manager, i.e.
import flax.linen as nn
import jax
from jax import numpy as jnp
import sparsejac
from jax.experimental.sparse import BCOO

class Network(nn.Module):
    dim: int
    def setup(self):
        self.dense = nn.Dense(features = self.dim)
        with jax.ensure_compile_time_eval():
          self.sparsity = BCOO.fromdense(jnp.eye(self.dim))
          fn = lambda x: self.dense(x)
          self.sparse_fn = sparsejac.jacrev(fn, self.sparsity)
    def __call__(self, x):
        return self.sparse_fn(x).todense()

dim = 2
model = Network(dim)
params = model.init(x = jnp.ones((dim,)), rngs = {'params': jax.random.PRNGKey(0)})
jit_model = jax.jit(model.apply)
jit_model(params, x = jnp.ones((dim,)))

Ah great. I wasn't aware of jax.ensure_compile_time_eval, that seems like a useful function. Thanks!


net/url: certain url's with mysql schemes no longer parse in 1.5-beta3

The URL mysql://boulder@tcp(localhost:3306)/boulder_test?parseTime=true would parse and re-encode correctly in go 1.4.2.
However, in 1.5.0-beta3, url.Parse("mysql://boulder@tcp(localhost:3306)/boulder_test?parseTime=true") now returns the error message:
parse mysql://boulder@tcp(localhost:3306)/boulder_test?parseTime=true: invalid port ":3306)" after host

This was found in go-sql-driver/mysql#362.

Is that even a valid URL?
The RFC described the authority component like this:
authority   = [ userinfo "@" ] host [ ":" port ]
So I don't think there can be parens that span the host and port section.

I have a similar issue with MongoDB URIs.
mongodb://ip1,ip2,ip3 used to parse and re-encode fine in various Go versions (including 1.4.2)
Now, when re-encoding into string, I get the mongodb://ip1%2Cip2%2Cip3.
As far as I understand the code 'encodeHost' was added as part of commit 8e95654ac84d5a5ad2303bedc26065a057b263fc. The decision in the commit was to allow only reserved characters to be unencoded. The sub-delimiters that could be unescaped (including commas and parenthesis) were chosen to be escaped.
This choice is what is causing issues for us.

I'm totally fine hearing this was a bug fix and having this bug get closed. If that happens, as a user, I'd love for the database/sql driver maintainers to get some heads up.
I'm currently in a bit of a discussion with one for the mysql driver about this in that other ticket. They were surprised by the change in behavior, but, unfortunately, more surprised by their users wanting to control and modify the strings before they go in. I think the postgres folks are more familiar with their users using and working with db strings (including heroku's DATABASE env variable stuff, etc), but some of the mysql folks are, uh, not so clear they want to support this use case. There might be more issues like we're seeing from monogodb and mysql and a little bit of foreknowledge might make driver devs amenable to changes in their APIs to accommodate their users including, maybe, just some documentation on really solid workarounds.

The fix for all of these issues is not to use a URL parsing routine for URL-like DSNs that are not actually URLs.

Right, I was hoping the mysql and other folks would give us a nice way to use an actual URL instead of a DSN. Something like a mysqltcp:// scheme and such. Thanks for your interest!

/cc @rsc @mikioh

In terms of RFC 3986,

mysql://tcp(localhost)/ is valid // '(' and ')' are sub-delims and sub-delims are valid for reg-name
mongodb://host1,host2,host3/ is valid // ',' is a sub-delim and sub-delims are valid for reg-name
mongodb://host1,host2,host3:27017/ is valid // ',' is a sub-delim and sub-delims are valid for reg-name

but

mysql://tcp(localhost:3306)/ is not valid // position of the sub-delim ':'
mongodb://host1,host2:27017,host3:27018/ is not valid // position of the sub-delim ':'
mongodb://<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>/ is not valid // no literal address
mongodb://<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>::27018/ is not valid // no literal address

Looks like it would be a bit hard to support various database source names, connection strings.

mongodb://ip1,ip2,ip3 -> mongodb://ip1%2Cip2%2Cip3 is a bug comes from #5684.

Couple of comments on this thread:

@cespare: Not sure I understand the point of bringing up data source names (DSNs). DSN is an abstract term, while URLs and URIs have RFCs where we can derive an actual specification. So, if you want to implement a DSN, using an URI/URL is not necessarily a bad way to do it. In fact, I think it's a very common way to implement DSNs is through the use of URI/URL.

@mikioh: yes, #5684 is one of root causes. OTOH, that bug became relevant for host names only in the 1.5 cycle, due to host name encoding support added in 8e95654.

Your broader comment about RFC 3986 and it's suitability to a wide range of connection strings is understandable. However, it is common to use URIs as connection strings. I have managed to do so for connecting to several services (redis, cassandra, mongodb, ceph/rados), without using the invalid forms you posted above.
Bottom line is: as a user, I would much rather make an effort to make sure my URIs are complaint with RFC 3986, and be able to rely on net/url to do URI manipulation rather than to design custom connection string parsers, which are likely 99% similar to net/url.
In any case, whichever way the Go team decides, I think a note is warranted in the release notes. There may be others, like me, who have strived to keep URIs RFC compliant, who will have broken code when upgrading from Go <= 1.4.2 to 1.5.

@liviosoares,
Please open a new issue for escaping host subcomponent of URL.

@liviosoares I created #12036 for your mongodb issue. I have some questions there for you. Thanks.

@liviosoares I agree that it's nice to use URIs to specify DSNs, but if your database/driver does that, it should support URI semantics:

Invalid URIs like mysql://tcp(localhost:3306)/ ought to be rejected
Equivalent URIs like mongodb://ip1,ip2,ip3 and mongodb://ip1%2Cip2%2Cip3 ought to be interchangeable

If these semantics don't hold for these DSNs, then such strings are not URIs but are merely URI-like, and net/url shouldn't be relied upon to parse or encode them.

Mikioh, please see my question on #12036 about host encoding.

The code breaking this URL seems to me a classic example of fuzz testing hurting instead of helping, by inducing real bugs when we fix hypothetical bugs. I am inclined to move the validHostPort check up into the [ipv6]:port syntax case. I don't see any reason for it to be here. It is not relevant to the original fuzz report (#11208).
diff --git a/src/net/url/url.go b/src/net/url/url.go
index abcd23b..1cec43b 100644
--- a/src/net/url/url.go
+++ b/src/net/url/url.go
@@ -478,7 +478,6 @@ func parseAuthority(authority string) (user *Userinfo, host string, err error) {
 // information. That is, as host[:port].
 func parseHost(host string) (string, error) {
 	litOrName := host
-	var colonPort string // ":80" or ""
 	if strings.HasPrefix(host, "[") {
 		// Parse an IP-Literal in RFC 3986 and RFC 6874.
 		// E.g., "[fe80::1], "[fe80::1%25en0]"
@@ -490,7 +489,10 @@ func parseHost(host string) (string, error) {
 		if i < 0 {
 			return "", errors.New("missing ']' in host")
 		}
-		colonPort = host[i+1:]
+		colonPort := host[i+1:]
+		if !validOptionalPort(colonPort) {
+			return "", fmt.Errorf("invalid port %q after host", colonPort)
+		}
 		// Parse a host subcomponent without a ZoneID in RFC
 		// 6874 because the ZoneID is allowed to use the
 		// percent encoded form.
@@ -500,11 +502,8 @@ func parseHost(host string) (string, error) {
 		} else {
 			litOrName = host[1:j]
 		}
-	} else {
-		if i := strings.Index(host, ":"); i != -1 {
-			colonPort = host[i:]
-		}
 	}
+
 	// A URI containing an IP-Literal without a ZoneID or
 	// IPv4address in RFC 3986 and RFC 6847 must not be
 	// percent-encoded.
@@ -517,9 +516,6 @@ func parseHost(host string) (string, error) {
 	if strings.Contains(litOrName, "%") {
 		return "", errors.New("percent-encoded characters in host")
 	}
-	if !validOptionalPort(colonPort) {
-		return "", fmt.Errorf("invalid port %q after host", colonPort)
-	}
 	var err error
 	if host, err = unescape(host, encodeHost); err != nil {
 		return "", err


fix: fix docker pipeline runner circular reference and handle OOM error

RepairnatorZero: fix circular reference and handle out-of-memory error
Renamed AlphaScanner to ZeroScanner

Signed-off-by: Javier Ron<EMAIL_ADDRESS>

LGTM, thanks.


How to convert nuscenes radar point cloud to Range-Azimuth-Doppler format like in your paper ?

Hello, your work is very meaningful!
Forgive me for my ignorance,
I want to know how to convert nuscenes radar point cloud to Range-Azimuth-Doppler format like in your paper.
Looking forward to your reply!

Hi,
It is kinda hard to convert point cloud to RAD matrices, as the point cloud is generated from RAD matrices by sparse interpretation. And the process is from 3D to 2D.
Therefore, to get RAD matrices, you probably have to capture the raw data from your radar. Then, use the basic process (FFT) on the raw data to acquire RAD matrices.

Thank you for your answer!


emacs: hide wrapper dependencies

Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[x] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Move all the dependencies to their own derivation, so that we don't publish all
of them if the wrapper is installed in a profile.
The previous solution just moved them to a custom directory to avoid conflicts,
this refactors that and completely hides them, while preserving the desired
improvement of adding only one directory to each of the emacs search paths

cc @oxij @ttuegel

LGTM, thanks!


Letcode workspace - Elements automation

Automation testing for the following url: https://letcode.in/elements
Tasks for this page:

[ ] Input github username and do the following:

Type and Enter your Git username
Assert that user has image
Print the user name & other informations
Assert that no.of public repositories are listed correctly
eg. if Public Repos has 10 then in the list 10 links should be available

assertions and element list are covered in other tests


Rust bindings for C++ geom2graph powered by GEOS

Closes #130
Closes #165

[x] geom2graph library

[x] flatten geoms
[x] create GeometryCollectionShim
[x] unpack GeometryCollectionShim into a geos GeometryCollection
[x] node the collection - use the IteratedNoder instead of SnappingNoder, and catch any exceptions
[x] create a c++ GeometryGraph
[x] wrap in a Rust GeometryGraphShim
[x] unpack GeometryGraphShim into Rust GeometryGraph (petgraph)
[x] replicate the C++ tests in Rust
[x] wrapper layer to hide the FFI details

[x] graph2geom library

[x] Convert Rust GeometryGraph to GeometryGraphShim
[x] Convert GeometryGraphShim into a std::vec<Geometry*> (LineString) edges
[x] Polygonizer
[x] Pass Polygons and Dangles back to Rust side
[ ] Maybe write Polygonizer in Rust???
[x] wrapper layer to hide the FFI details

[ ] geom2graph binary

[x] geom2graph
[x] graph2geom
[ ] test against C++ tool
[ ] remove C++ tool
[x] optionally snap the results
[ ] edit README and examples

[x] build the bindings in the CI pipeline

[x] provide Ninja / Make
[x] provide g++
[x] update geos submodule
[x] Remove GENERATIVE_CARGO environment variable in favor of features #165
[x] add --all-features
[x] build and run C++ tests too

By adding the bindings directly to generative, now every Rust tool transitively depends on liblog4cplus and libgeos

The IteratedNoder can fail to converge, and throw a TopologyException if it does so


[Draft][microTVM][CRT]Separate CRT template project from standalone CRT build

This PR separates the CRT template project for microTVM from CRT standalone library build. The CRT template project would move to build/microtvm_template_projects.

@tvm-bot rerun

cc @alanmacd for review


Improving error msg logic

Describe your changes
Improving error handling logic.
Issue number
Closes #749
Checklist before requesting a review

[ ] Performed a self-review of my code
[ ] Formatted my code with pkgmt format
[ ] Added tests (when necessary).
[ ] Added docstring documentation and update the changelog (when needed)

:books: Documentation preview :books:: https://jupysql--782.org.readthedocs.build/en/782/

Please review @edublancas


Add gradient op for MaxPoolWithArgmax

This is a reattempt of #4014, which fixes #1793.

Can one of the admins verify this patch?

Jenkins, test this please.
@keveman what do you think?

Hopefully yes, although I've only tested it on the GPU myself. That was IIRC the same error message I had before this fix.

Awesome to hear! I'm pretty new to this; how would I go about updating to the latest version that's on here? Been looking to use this. Thanks again!

Until the next release, you may have to install from the master branch. See Installing TensorFlow from Sources.

Still seems not to be working on CPUs. Thanks guys!
tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'MaxPoolWithArgmax' with these attrs.  Registered devices: [CPU], Registered kernels:   <no registered kernels>

reopened,  the PR I referenced as verified that it does not work on CPU by @zhenbangchen above.  Thank you for checking.

Is there a clue on what should be done here to achieve CPU support?


test(e2e): migrate api key tests from cypress to jest

Issue
https://github.com/gravitee-io/issues/issues/7663
Description
test(e2e): migrate api key tests from cypress to jest

I close to replace by this one, with the 'run-e2e' branch name suffix : https://github.com/gravitee-io/gravitee-api-management/pull/1823


fix(versions): update Activiti/activiti-cloud-query versions into master

UpdateBot pushed helm dependency: common to: 1.1.20

UpdateBot commands:
updatebot push-version --kind helm common 1.1.20


How does the coordinate format work

I was wondering regarding the geometry object i was wondering how the x,y,height, width was placed
Considering a rectangle are the height, and width the height of the actual bounding box? In the case, what does x and y represent?

I know this is late, but here it is if someone came by.
x, y, width, height are percentages of the rendered image.
actualWidth = (geometry.width / 100) * renderedImg.width
x & y values are the top right point coordinate's percentage of the annotation rectangle selection you created in the browser. x is a % of the actualWidth and y is a percentage of the actualHeight


Support guzzlehttp/psr7 v2

This PR adds compatibility with guzzlehttp/psr7 v2, resolving conflicts with other packages that require it for Guzzle 7 + PHP 8 compatibility.
The only breaking change this package was affected by was the removal of GuzzleHttp\Psr7\stream_for, which had been deprecated/replaced by GuzzleHttp\Psr7\Utils::streamFor() in v1.7. So I’ve also bumped the minimum v1 requirement to ^1.7, and started calling the new method instead.

Is it possible to merge this fix into v1 branch as a new version so that it can allow for psr7 v2?

Please merge this 🙌


Multiple containers support

Just a question:
Is it possible to support multiple containers (eg: one container for data, another container for audit) ?

Hi @farcasclaudiu - as of right now, the answer is "no". But this is something that I've been thinking would be nice to have. It would require changing a lot of infrastructure, and might even be a breaking change if not done correctly. There would need to be a lot of design discussion around this as there are many ways it could be configured, for example:

How should we indicate which Item belongs to which container?

If we decide to implement this with attributes, how would we avoid impacting existing usage and what are reasonable defaults?

If this is done from a configuration stand-point, should the config define the item types that it would contain?

I will be tempted to say "neither".
My idea will be to have the cosmosdb factory resolving each specific IRepository based on a specified name (string key).
Then it should be up to the developer what entities/types he will be using with each and every IRepository.
Ex:
_personRepository = repositoryFactory.GetFactory("data");
_repositoryAudit = repositoryFactory.GetFactory("audit");
But indeed, it might not be that simple.

This was addressed as part of #77 - do you think we might be able to close this one @farcasclaudiu?

This was addressed as part of #77 - do you think we might be able to close this one @farcasclaudiu?

Ok, let's close it.

closed as resolved.

@IEvangelist  How to configure this? I couldn't find any information.  Please share an example when using two containers.
Thanks

@IEvangelist How to configure this? I couldn't find any information. Please share an example when using two containers. Thanks

Hi @sven5 - you can configure ContainerPerItemType to true, and you'll end up with a container per item type. See https://ievangelist.github.io/azure-cosmos-dotnet-repository/#advanced-partitioning-strategy, does that help?

@IEvangelist  Yep, I was missing the ContainerPerItemType setting.


Log out all session for a target

longhorn/longhorn#1920

I am not sure how to make the 2 different volumes/ISCSI initiators use the same underlying Longhorn engine. But the root cause of this issue is that the target logout/cleanup function doesn't work if the IP address somehow gets changed.

@shuo-wu See the original issue. The user's engine instance manager was killed by OOMKiller, so it's essentially SIGKILL, without leaving a chance to the instance manager to clean up after itself. Then the engine instance manager IP changed during recreation, result in this situation.

@shuo-wu See the original issue. The user's engine instance manager was killed by OOMKiller, so it's essentially SIGKILL, without leaving a chance to the instance manager to clean up after itself. Then the engine instance manager IP changed during recreation, result in this situation.

I see. But how can we trigger IP change after the engine manager SIGKILL?

The test is updated and passed.


settings are written to virtuoso.ini on (re)create

By using a container specific path for the .config_set guard file we
make sure the config is reapplied when the docker is (re)created.
fix for issue #9

wrt .dba_pwd_set I thought so too, however it's a bit more complicated than that. You can only alter rights if you already know the existing dba pw. Hence it will only work the first time, unless we provide the means to provide the current pw. This needs some more thought :)

You're right, that should stay in the volume, because it relates to the data not the config, just as the .data_loaded flag


[Release] Add warning about PyPi latest version not necessarily matching Github latest version

Force merging since copybara was a no-op.


Angie testing something (to delete)

Expected Behavior
Actual Behavior
Steps to Reproduce the Problem

Specifications

Version:
Platform:

Thank you for reporting this issue!
To better understand the problem, could you please provide the following information:

Expected Behavior:  Please describe what you expect to happen.
Actual Behavior: Please describe what actually happens.
Steps to Reproduce the Problem:  Please provide a detailed list of steps to reproduce the issue.
Specifications:  Please include the following information:

Version: The version of Temporal you are using.
Platform: The platform you are running Temporal on (e.g., macOS, Linux, Windows).

Once you provide this information, I will be able to assist you further.

Thank you for reporting this issue!  Could you please provide more details about the expected and actual behavior you are experiencing?  Additionally, please share the specific steps you are taking to reproduce the problem, and include your Temporal version and platform. This information will help me understand the issue better and suggest possible solutions.

Please provide me with the actual issue description. I need to know the expected behavior, the actual behavior, the steps to reproduce the problem, and the specifications (version and platform) to be able to help you.
Once you provide me with the details, I can:

Acknowledge it as a feature request, known issue, or a question.
Suggest a workaround for a feature request.
Find a solution based on the attached docs for an issue.
Ask for more context if needed.
Provide links to relevant documentation.

I'm ready to assist you in resolving your Temporal issue.

Please provide the user's question or issue description. I need the details of the problem they are experiencing in order to provide a helpful response.
For example, please tell me:

What is the specific problem the user is encountering?
What steps have they already taken to try and resolve the issue?
What version of Temporal are they using?
What platform are they using (e.g., Linux, Windows, macOS)?

Once you provide me with the necessary context, I can assist you in responding to the user.


Archiva 2.2.10

Hello,
are there any plans for an update to Archiva 2.2.10?
Thanks in advance!
BR

:wave: @huellif
Sorry it took me second to get to this, a v2.2.10 image has been released and can be pulled now.


Screenshot test failing on main (due to vispy 0.10?)

🐛 Bug
The test napari/_tests/test_with_screenshot.py:test_z_order_image_points_after_ndisplay is failing on main:
https://github.com/napari/napari/runs/6069251907?check_suite_focus=true#step:7:294
I suspect that this is due to the VisPy 0.10 release, which happened in the last 24h or so.

I can confirm the change in behavior locally with vispy 0.10.
When entering 3D mode, the point "disappears". Going back to 2D brings it back.

Well, that's no good! LOL CC @brisvag

Took a very quick look: the behaviour is intended, and our test is wrong :P It happens because now Volume sets its depth correctly, and in napari even 2D images become volumes of thickness 1 px when moving to 3D.


Fix UI 1117

[ ] Side cards' margin to 32px

preview

[ ] Margin to 0px

preview

[ ] Margin to 20px

preview


Will the tensorflow version be updata later?

Hi ,nlpyang!
I'm really looking forward to tensorflow version,I know you can handle it easily

Sorry, we have no plans for developing a tensorflow version.


Calculate the sentiment score of the comment entered by the user.

Branch was renamed to auth-nickname.


[Application Bug / Translation] 'Bacth' typo in codeunit 1372 "Purchase Batch Post Mgt."

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 12377.


Support for api proxy and several backends

Hi guys,
Hope you are all well again !
How would you integrate an api proxy like sourcegraph's apiproxy to manage MaxAge revalidation values per krakend routes in the config file ?
And, I extend my question with other cache storage backends as you can use several with gregjones' package. (https://github.com/gregjones/httpcache#cache-backends). So how can I extend krakend-httpcache plugin to manage specific configs for local or cloud backends like redis, badger or  azurestorage.
httpcache storage configs examples:

Local/Badger https://github.com/sniperkit/cache/blob/sniperkit/backend/local/badger/handler.go#L49-L103
Local/BoltDB https://github.com/sniperkit/cache/blob/sniperkit/backend/local/boltdb/handler.go#L47-L51
Cloud/GCS: https://github.com/sniperkit/cache/blob/sniperkit/backend/cloud/gcs/config.go#L11-L23
Cloud/AzureStorage: https://github.com/sniperkit/cache/blob/sniperkit/backend/cloud/azurestorage/config.go#L11-L16

The idea is to gain some flexibity on caching content from rate limited api providers, like github.com,..., and to gain manage it from the config file. Use case: integration of krakend with flogo and the flogo webui.
Cheers,
Rosco

Hi,
in order to extend this small adapter, I think you just need to change the way the memTransport is instantiated here.
you can also extend the config used by it so users could select the backend for the cache storage.
cheers


AES -> RSA-OAEP

proposal to #1145
encrypts secured variables via repo public key while decrypted via repo private key.
notice that it uses sha256 checksum of repo Hash for RSA-OSAP encryption/decryption, so repo Hash is never leaked to client side.

notice that it uses sha256 checksum of repo Hash for RSA-OSAP encryption/decryption, so repo Hash is never leaked to client side.

really smart idea!

added some minor comments, but this is looking really good. If you don't mind making a few adjustments, I think we can get it merged right away. Thanks so much ... really great work.


Redisson not compatible with Spring Native?

I tried to run Redisson 3.17.5 with Spring Native 2.7.1 (https://docs.spring.io/spring-native/docs/current/reference/htmlsingle/) but facing issues, when running the build.
Is there an official statement, whether Redisson is or will be compatible with Spring Native?
Expected behavior
Container should start without any errors.
Actual behavior
The build works. But when I try to run the native image with
docker run --rm -p 8099:8099 demo:0.0.1-SNAPSHOT
I get the followin error:
Error creating bean with name 'helloController': Unsatisfied dependency expressed through field 'redissonClient'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'getRedissonClient': Unexpected exception during bean creation; nested exception is java.lang.ExceptionInInitializerError
Steps to reproduce or test case
Create a Spring Boot project with Redisson 3.17.5 dependency and create a Spring Native build. Then add the following annotation in e.g. a RestController:
@Autowired
RedissonClient redissonClient;
Redis version
redis:7.0.4
Redisson version
3.17.5
Redisson configuration
@Bean
public RedissonClient getRedissonClient() {
Config config = new Config();
config.useSingleServer()
// use "rediss://" for SSL connection
.setAddress("redis://"+ redisHost + ":" + redisPort).setPassword(redisPassword);
return Redisson.create(config);
}

Spring Native is still experimental project. I haven't tested it yet. You can try build Quarkus native image which is supported.

Spring Boot Native compatibility fixed in https://github.com/redisson/redisson/issues/4836


Fix for JBPM-4960, JBPM-5004, JBPM-4945 and JBPM-4943

Removed column alias as DB2 does not return it by default in the resultset metadata information.
Simplified query for retrieving process instance variables
Use sub-select for retrieving task name as in this case DB2 keeps the appropriate alias

master: 1b60051a2b73f8745e0206ef2393e14b49f14f2a


wierd time cost when training a epoch

As shown below,is the main code of training.
( i have to add '----' because Space character is always be deleted,please ignore it )
////////////////
def _train_multi_device(...)
--------# Now start training
--------for epoch in range(begin_epoch, end_epoch):
--------# Iterate over training data.
(1)-----while True:
(2)--------for data_batch in train_data:
(3)------------executor_manager.load_data_batch(data_batch)
(4)------------executor_manager.forward(is_train=True)
(5)------------executor_manager.backward()
(6)------------if update_on_kvstore:
(7)----------------_update_params_on_kvstore(...)
(8)------------else:
(9)----------------_update_params(...)
(10)----------executor_manager.update_metric(eval_metric, data_batch.label)
(11)----------if epoch_size is not None and nbatch >= epoch_size:
(12)--------------do_reset = False
(13)--------------break
//////////////
we test according to the following method:
a)take the first 100 classes of 'imagenet',and make '.rec' data of my own use im2rec.
b)use 'inception-bn' in example to train, and set: 2 gpus, batchsize=64.
c)test in local and distributed mode,and record the time consumption of each operation from (1)to(13).
what happened below:

in local mode,after training of 'one epoch', time of each operation are sumed as flow:
total: 1464.029
load_data_batch            cost=0.393
forward & backward       cost=2.903
update_params              cost=122.479
update_metric                cost=1165.000
step10 to step3 Intelval  cost=0.774
=====>QUESTION-1: 'update_metric' update the 'predict label' by change the value in momory ,why it cost so many time ?

in local mode,in order to shorten training time, we don't 'update_metric'(delete it).after training of 'one epoch', time of each operation are sumed as flow:
total: 1480.09
load_data_batch             cost=0.378
forward & backward        cost=2.803
update_params              cost=121.379
update_metric                 cost=0.000
step10 to step3 Intelval   cost=1172.000
=====>QUESTION-2:why the total training time for a epoch between 'update_metric' and 'not update_metric' are scarcely less ?
=====>QUESTION-3:why it cost so many time between 'the end of current loop' and 'the start of next loop' (operate (1) and operate (2)) ? what's it doing ?
=====>QUESTION-4:how can i accelerate training ?

3）in distributed mode,we get the same result as local mode.
（we set "distributed mode" as：we cut the training list into two parts，and make two rec files，and save this two "rec" files in two worker,when training each worker use his own rec file.）

why the operation "executor_manager.load_data_batch(data_batch)"  load  data  batchsize=64  faster  than  data batchsize=32  ?
batchsize=64   0.35s  needed
batchsize=32   0.69s  needed

@Jordan20160310 I am looking at a very similar setup, but but have prepared .rec with all 1000 classes. I can roughly confirm your numbers of your question 1. I dont have an answer for you at the moment, but will let you know when I find some as I am finding your observation also strange.
Can I ask you the following questions since I am having trouble to continue learning pre-trained models such as inception-bn (https://github.com/dmlc/mxnet/issues/1439): Are you starting learning from scratch or continue learning pre-trained inception-bn model from model gallery? In case of the latter what accuracy are you getting right after training start? And are you using train_imagenet.py or some scripts of your own?
In my case learning is always starting from scratch although I am providing pre-trained inception model from model gallery when using train_imagenet.py (and also when doing model = mx.model.FeedForward.load(...) and later model.fit(...) after specifying parameters).

@revilokeb  thanks for your answer, here are answer of your questions

learning from scratch.
using train_imagenet.py.
the training accuracy i get after training start is 0.02 and rise to 0.75 after 7 epoch.
--- if you have  accuracy problem here may be the answer: A commonly mistake is forgetting shuffle the image list during packing. This will lead fail of training, eg. accuracy keeps 0.001 for several rounds.

Any update on this issue? Why the update_metric overhead is so high?


Dac single file request fixes

We would request the wrong long-name dac in the single file case.
Contributes to https://github.com/microsoft/clrmd/issues/988.

I was wrong about the long named cross-architecture DAC's. We do still build them and publish them.  We (clrmd and dotnet-dump ) do need to be able to download them to load for example a Windows arm64 single-file dumps on a Windows x64 machine. That is currently supported for non-single-file apps.  So you are right the RuntimeInfo doesn't have enough info to build the name (the coreclr's Version).  The DAC/DBI runtime "identity" info in the RuntineInfo data structure is only for the native architecture so the runtime's Version field will be needed (hopefully in 7.0).  The runtime timestamp/file size + the new runtime Version will be needed to build the long named dac info in clrmd.
Hopefully that makes sense. We can talk more about it.

It makes sense.  I think just adding coreclr.dll's properties to the RuntimeInfo struct should be enough to make sure we have all the information to request any of the dacs...which might help if we accidently miss archiving one of them.  Otherwise what's checked in now should work fine.


create phlat-web client, update phlat service account and management groups

Changes being made
Add PHLAT-WEB client. Update PHLAT client. Update UMS view-client-* roles and user management groups
Context
PHLAT-WEB is a public client used to authenticate via Vue.js app. PHLAT is now just a service account used to call PLR API.
Quality Check

[x] Client has Name and Description defined.
[x] Full Scope Allowed is disabled.
[x] Direct Access Grants Enabled is disabled.
[x] Valid Redirect URIs are properly defined, or explanation for * (allow all) is provided.
[x] Web Origins are set to + instead of * to restrict the CORS origins.
[x] Client Scopes are not assigned to client, or explanation for doing so is provided. [^1]
[x] Client module and all references are defined in clients.tf in realm root folder. Same rule applies to other resources, like groups and realm roles.
[x] Terraform plan contains only my changes, or other developers are aware that their manual changes can be overridden. [^2]
[x] CMDB is updated, if applicable.
[x] When updating composite roles (eg. Realm roles) and scope mapping resources, remember to re-run the apply. [^3]

[^1]: Data transparency. Does the client you are creating have the permissions to pass/access all the Client Scope attributes in the token? For example profile scope includes user birthdate, which is used by BCSC, but other applications shouldn't necessarily have access to it.
[^2]:
Keep in mind that sometimes Keycloak automatically adds properties to newly created resources. terraform plan will show them as changes made outside of Terraform. As long as those attributes are empty and do not interfere with existing configuration, they can be ignored. Here is example of one:

[^3]: Due to the terraform provider bug, updating/deleting one entry within the resource deletes all of them. Re-running the apply action will result in restoring the configuration to the desired state. Keep in mind, that composite role deletion will show up on the terraform plan output, on contrary to scope mapping.

Also please update CMDB.

Also please update CMDB.

CMDB updated


.widget()

Fixes #8
Fixes #13
Fixes #16
Towards #19
This PR adds a function .widget() to the VitessceConfig class to allow creating a widget without importing the additional VitessceWidget class. I have removed some old notebooks and have added more annotations to the other notebooks. This PR also finishes the half-implemented VitessceConfig.from_dict static method, which has a corresponding demo notebook.

@keller-mark The higlass example also does not seem to work for me - does it work for you?  Nothing appears.

I just updated the HiGlass notebook to remove the higlass view config and the port binding code. This can be tested by building the Vitessce bundle npm run build-lib:prod on this branch https://github.com/hubmapconsortium/vitessce/pull/803, copying it to vitessce-python/js/node_modules/vitessce/dist and running npm run build in vitessce-python/js and then jupyter labextension install ../js in vitessce-python/notebooks

Alternatively we can just wait to merge https://github.com/hubmapconsortium/vitessce/pull/803 and update the version in package.json here

I moved the notebooks to docs/notebooks and added the nbsphinx package which renders them into the documentation site


Azure storage queue: Keda scales down only on visable messages

Report
Keda scales down the pods even when invisible message are still being processed
Expected Behavior
Send a message.
Keda scales to 1 pods
Pod processes message.
Pod finishes
Cool down time
Keda scales down to 0 pods
Actual Behavior
Send a message.
Keda scales to 1 pods
Keda things queue length is 0
Cool down time
Keda scales down to 0 pods
Steps to Reproduce the Problem

Azure function app on storage queue with sleep of 10 minutes
Keda on message same storage queue with messageCount: "1" and cooldowntime of 300
Send a message, pod will never finish

Logs from KEDA operator
example

KEDA Version
2.0.0
Kubernetes Version
1.18
Platform
Microsoft Azure
Scaler Details
No response
I know I can increase the cooldown time but that still means the scaling is not reacting to new messages coming in

We do not guarantee that pods will run to completion given we just instruct Kubernetes how many instances we need. It's up to Kubernetes then to manage the pods, which could involve killing instances.
If your process needs to run to completion, you should consider using ScaledJob instead.

Thank you for you response, ScaledJob is indeed a better fit for our problem.
But I still see the behavior that is only scales to visible items in the storage queue.
example:
I have 1 item in the queue. It scales to 1 pod.
Well the pod is running I send a second message (so now I have 1 visible and 1 invisible item in the queue) and it does nothing because 1 item and 1 visible item is correct according to KEDA.
Once I send a third message (so now I have 2 visible and 1 invisible items in the queue) it will scale to 2 pods
It there a way to scale to all items in the queue

If you send the second message and wait for the polling period to pass; does it still not scale?

Nope, I changed the polling period to 5 seconds and nothing happens till the third message is introduced.
I also tried service bus (they lock message instate of making them invisible) and there it is scaling to the full queue.
Service bus is not an option for us unfortunately

I did manager to work around it by changing the scalingStatergy from default to this:
  scalingStrategy:     strategy: "accurate"     customScalingQueueLengthDeduction: 0       customScalingRunningJobPercentage: "0"

Adding @TsuyoshiUshio


Julian/my plant styling

Hmm no that is not the intention I am busy doing changes on the branch right now, I will push quickly and tell me if you have the same error

I will check when you are ready.

you can have a look now :)

I get an error when I click on the more info button. (undefined is not an object) smth seems to be off the the params.
Maybe we could add some more padding to the container which holds the information for toxicity, growth, water, light, and temperature.
I also barely see the difference in contrast between the grey and the white of the poisonous and growth box. On one of my screens is wasn´t visible.
Also everything looks very nice and flat and the button has a shadow which looks a bit out of place.


fix: MR title created by Dependabot fix

:tada: This PR is included in version 0.2.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[GPII-2951] gpii.net dns zone migration

This PR migrates the dns zone from AWS to GCP.
Once this PR is merged and the zone is recreated in Google DNS the NS registries must be modified manually in the register.

LGTM

And as this is a pretty sensitive thing, should we perhaps add some verification steps to the deployment plan

+1, also – will this require downtime for DNS propagation?

I'm wondering how did you determine which ones are needed and which ones are not?

Ask Gregg.

And as this is a pretty sensitive thing, should we perhaps add some verification steps to the deployment plan, before proceeding with the NS switch at the domain registrar?
(for example manually querying several of the most important records like GPII prod against the new GCP NS servers)

will this require downtime for DNS propagation?

We can apply this code without any problem because the  zone gcp.gpii.net remains untouched, so the DNS from AWS will work.
At that moment we can check with dig all the DNS values from the root gpii.net to flowmanager.prd.gcp.gpii.net. If everything works fine we can switch the NS at the register.
I think that there is no downtime, because if the zones are properly set in GCP and AWS, once the root DNS switch the NS registries the clients will pick up the new registries at GCP so, no downtime is expected.

Perhaps all the "${replace(var.organization_domain, "/^gpii.net/", "") == "" ? 1 : 0}" could be simplified to ${var.organization_domain == "gpii.net" ? 1 : 0}"?

@amatas did you see my comment above about simplifying the logic?


Auto-publish to Zenodo

Is your feature request related to a problem? Please describe.
Hexatomic release versions should be published to Zenodo to receive a DOI.
Describe the solution you'd like

Test automated publication to Zenodo Sandbox :heavy_check_mark:
Update CFF file with sensible defaults/values (e.g., add an abstract).
Check/change release workflow docs/automation to include update of CFF values that are relevant
Activate publication for production Zenodo
Add post-release commits that update the DOI in CFF & README

I'd also like to have this in the 1.0 milestone. Any objections, @thomaskrause?

A living list of things that would need fixing in the CFF file to make optimal use of the Zenodo bridge:

Add @bbunzeck to CFF (through testing, documentation, review he has qualified for the author list)
Add abstract

One of the issues with this is that the CFF Maven Plugin will overwrite information that is being added in #390. Also, it breaks the formatting.


[Card vertical] BugFix file name

Description
Oops 🤫
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] I updated the documentation (see here)
[x] I agree that this code will be published under the MIT license

We do that with our bundle which is imported from a sub-module.
But I don't know how to do that with composer/vendor import 🤔

Now that we write ... maybe with a complete new workflow, which runs "composer create ...new-symfony-app..." and then "composer require git@github.com:kevinpapst/TablerBundle.git".


Missing VariableDeclaration in Go

When analyzing Go programs using the CPG, there are no VariableDeclarations being created for the shorthand :=. Any DeclaredReferenceExpression created from this refers to null.
Example:
package main

func main() {
    name := "firstname lastname"
}

Analyzing this program results in no VariableDeclarations, but an AssignExpression with a DecrlaredReferenceExpression on the left hand side, which in turn refers to null.
When explicitely declaring variables using the format var x int a VariableDeclaration is created as expected.

Can you check whether the Go Extra Pass is executed? This should create a variable declaration.
https://github.com/Fraunhofer-AISEC/cpg/blob/e524e19b14b41a562de6b457613ea15ecf831736/cpg-language-go/src/main/kotlin/de/fraunhofer/aisec/cpg/passes/GoExtraPass.kt#L181-184

It is not automatically executed just by registering the GoLanguage, but manually registering the GoExtraPass seems to solve the issue.

It is not automatically executed just by registering the GoLanguage, but manually registering the GoExtraPass seems to solve the issue.

It should be automatically executed when using defaultPasses(), so this seems to a problem of the CloudPG repo then.

That is weird, since defaultPasses() is already being called after all languages are registered, but GoExtraPass will still not be executed unless I specifically register it.

That is weird, since defaultPasses() is already being called after all languages are registered, but GoExtraPass will still not be executed unless I specifically register it.

Hmm ok this sounds weird. Can you push the branch to the CloudPG repo?

Hmm ok this sounds weird. Can you push the branch to the CloudPG repo?

I pushed it to the CloudPG-branch cpg-version-update.

Hmm ok this sounds weird. Can you push the branch to the CloudPG repo?

I pushed it to the new CloudPG-branch cpg-version-update.

Even if I comment out your specifically registering of the GoExtraPass, the extra pass is still executed automatically. So I cannot reproduce this unfortunately.

Ah. The issue is that the go passes in the CloudPG need to specify @DependsOn(GoExtraPass::class), so that the go extra pass is executed before them. We also might need #1225 and this will be in 7.0.1, once the build goes through.


Onewire using Linux kernel drivers

Exposes Onewire using Linux kernel drivers. Also includes modifications to the DS18B20.go file to implement a constructor and struct methods to uses this device with the kernel drivers.
Usage along these lines:-
        ds, err := ds18b20.NewW1Therm()
	if err != nil {
		log.Fatal(err)
	}

	// List devices
	list, err := ds.List()
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(list)

	// Get temp every 5 seconds
	for {
		temp, err := ds.Temperature("28-000006099568")
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println(temp)
		time.Sleep(time.Second * 5)
	}

I've picked up most of the Gitter feedback I think and there is a test file for the onewire.go file included.

Codecov Report

Merging #136 into master will decrease coverage by 1.66%.
The diff coverage is 15.04%.

@@            Coverage Diff             @@
##           master     #136      +/-   ##
==========================================
- Coverage   84.64%   82.98%   -1.67%
==========================================
  Files          61       62       +1
  Lines        4611     4724     +113
==========================================
+ Hits         3903     3920      +17
- Misses        642      738      +96
  Partials       66       66

Impacted Files
Coverage Δ

devices/ds18b20/ds18b20.go
37.5% <0%> (-28.5%)
:arrow_down:

host/sysfs/onewire.go
22.66% <22.66%> (ø)

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 d39d5a1...18f2191. Read the comment docs.

Thanks for the change! Please to look at the googlebot comment about the CLA. Then you can add yourself to AUTHORS and CONTRIBUTORS.

Thanks for comprehensive review and feedback, I'll revisit come back. Closing for now


Channel action fired without errors without internet connection

There's something weird. When I call channel.Action without internet connection it doesn't return any error. isSubscribed seems to be true even without internet connection.
Any idea?
Update: Seems like the client doesn't detect the lost connection. How can I add ActionCableClient manually to the project to test it?
What I do is:

Connect to action cable
Subscribe to channel
Kill internet connection
Send an action
It's sended without issues, channel.action doesn't fire the expected error

I found out that the onConnect and onDisconnect blocks don't get called.
What I used was subscribing to Starscream notifications:
import Starscream

    func addWebSocketsNotifications() {
        NotificationCenter.default.addObserver(self, selector: #selector(webSocketConnected(_:)), name: NSNotification.Name(rawValue: WebsocketDidConnectNotification), object: nil)

        NotificationCenter.default.addObserver(self, selector: #selector(webSocketDisconnected(_:)), name: NSNotification.Name(rawValue: WebsocketDidDisconnectNotification), object: nil)
    }

    func webSocketConnected(_ notification: NSNotification) {
        print("\(self.className): web socket connected")
        if let roomChannel = webSocketsRoomChannel, roomChannel.isSubscribed == false {
            subscribeToWebsocketChannel()
        }
        updateTextViewAndLeftButton()
    }

    func webSocketDisconnected(_ notification: NSNotification) {
        print("\(self.className): web socket disconnected")
        updateConnectingIndicator(visible: true)
        updateTextViewAndLeftButton()
    }

You can try using this. Although I get an error when trying to send a message without a connection.

@bitomule The client will take the message and keep retrying the connection and send the message if there is a successful reconnection. You can change this behavior.

@danielrhodes how do I change that? I already handle trying again when connection is restored.

when you create a channel:
client.create("ChannelName", identifier: nil, autoSubscribe: true, bufferActions: false)

That will then mean that if it can't send an action immediately it should throw an error. However, be warned that ActionCable does not acknowledge actions, so there is no guarantee the server received it even though the connection may appear as alive on the websocket level.

I already have buffer actions disabled but still doesn't get the error. Is there any way I can ping ws before sending an action to be sure actions are only sended when connection is working?

Ok, the issues seems to be I was testing in the simulator. Testing in device seems to report connected an disconnected as expected.

@bitomule That's odd. I don't think there should be any substantial difference between the two.

@danielrhodes I think the issue was killing macbook wifi connection instead of plane mode inside the simulator.


Add disease (OMIM) synonyms

Need to index and display disease synonyms.
See #37 4) and 7)

Indexed and searchable.
Closing.


Added support for importing public keys into certificate stores

I implemented an additional resource called xCertificateImport. This resource is basically a copy of the xPfxImport-resource, but uses the Import-Certificate command instead of Import-PfxCertificate. This allows users to import public keys into the certificate store, e.g. when they need to add a trusted root certificate.
This closes #15.

Thank you for your comments. I will take a look at them and fix them.

@allansson sorry, our CLA-bot was not enabled on this repo, so I will play his role:
In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

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

@vors I actually already had signed a CLA but know I've done it twice, so it's doubly legit!

Thank you @allansson!

If there is no update of the pull request within 7 days, we will close the pull request.  After that, if you have an update, feel free to reopen the pull request or a new pull request.  Please consider closing and re-opening when ready for review.

Closing because the pull request has not been updated or feedback given for 21 days.  Once you update the code, please feel free to reopen the pull request.  Thanks, Travis


Fix a few typos

Misspellings, repeated words, incorrect articles.

@Blake-Madden, thanks for the PR.


Unresolved directive in

In the getting started guide the code examples can't be found (see image).

Cache was stale. Try now.

It still occurs:

It still occurs:

Works for me now (cleared the cache again). Make sure you refresh the browser cache as well.

Works for me now (cleared the cache again). Make sure you refresh the browser cache as well.

not it works. When you say

cleared the cache

Which cache do you mean? Seems that you have control of this cache while I don't.
Also looks like the problem will recur again in the future

not it works. When you say

cleared the cache

Which cache do you mean? Seems that you have control of this cache while I don't.
Also looks like the problem will recur again in the future

It is cached on the server, and yes, the operators have access and users do not. It happens all the time unfortunately, not specifically for this guide. It's probably a race condition with github webhooks and there isn't much we can do except wait for people to notice.

It is cached on the server, and yes, the operators have access and users do not. It happens all the time unfortunately, not specifically for this guide. It's probably a race condition with github webhooks and there isn't much we can do except wait for people to notice.

Why not clear the cache depending on some event that will probably make it stale? I'm not familiar with this cache so maybe my question is not relevant

Why not clear the cache depending on some event that will probably make it stale? I'm not familiar with this cache so maybe my question is not relevant

We do that already. It's just that it's a distributed system and it's on the internet (github webhooks), so there are race conditions. Most of the time it works fine.

We do that already. It's just that it's a distributed system and it's on the internet (github webhooks), so there are race conditions. Most of the time it works fine.

@dsyer is correct. Every time an update is pushed to github, we fire a webhook signaling spring.io to wipe the cache for that guide. Then someone else requests the same guide BEFORE github has actually updated the source code based on the original push.
It's irritating, but a lot easier to manage than regenerating the guide every single time someone wants to read it.

@dsyer is correct. Every time an update is pushed to github, we fire a webhook signaling spring.io to wipe the cache for that guide. Then someone else requests the same guide BEFORE github has actually updated the source code based on the original push.
It's irritating, but a lot easier to manage than regenerating the guide every single time someone wants to read it.

So the order of events is:

An update is pushed to github which triggers:
The (read-only) cache being wiped, then, and before 5
A user asks for the guide, which causes:
The empty cache to fetch the old source code
New source code is updated on the server, but:
From now on and till the next wipe, the cache references the old guide and the newly source code is never fetched

Is this correct? If so, then why not insert another wipe, after step 5

So the order of events is:

An update is pushed to github which triggers:
The (read-only) cache being wiped, then, and before 5
A user asks for the guide, which causes:
The empty cache to fetch the old source code
New source code is updated on the server, but:
From now on and till the next wipe, the cache references the old guide and the newly source code is never fetched

Is this correct? If so, then why not insert another wipe, after step 5

That is what github's processing appears to do. The trick is, we only control (2). (1) and (5) are governed by github's internal processes. We could be talking a 200 ms window between the two, but being popular increases the odds of someone occasionally hitting it.
Speaking out loud...we COULD have (2) actually implement something like a 5-second delay before it wipes the cache. What about that @bclozel?

That is what github's processing appears to do. The trick is, we only control (2). (1) and (5) are governed by github's internal processes. We could be talking a 200 ms window between the two, but being popular increases the odds of someone occasionally hitting it.
Speaking out loud...we COULD have (2) actually implement something like a 5-second delay before it wipes the cache. What about that @bclozel?

(1) and (5) are governed by github's internal processes

We are talking about travis, aren't we? If so there is support for post script actions or post success actions:
From Travis job lifecycle:

Travis CI can run custom commands in the phases:
before_install - before the install phase
before_script - before the script phase
after_script - after the script phase.
after_success - when the build succeeds (e.g. building documentation), the result is in TRAVIS_TEST_RESULT environment variable

(1) and (5) are governed by github's internal processes

We are talking about travis, aren't we? If so there is support for post script actions or post success actions:
From Travis job lifecycle:

Travis CI can run custom commands in the phases:
before_install - before the install phase
before_script - before the script phase
after_script - after the script phase.
after_success - when the build succeeds (e.g. building documentation), the result is in TRAVIS_TEST_RESULT environment variable

We weren't talking about travis, but I guess it could play a role. It's just another webhook to fire out of order though, so I'm not sure it would help. I'm not sure the order of events above is correct either - when it goes wrong it's not because it's showing old content, it's because the cache was refreshed at a time that the content was (apparently, but inexplicably) unavailable. If we can be confident we understand the race condition there's a (small) chance we can fix it, or at least make it less likely. I don't think we got there yet, but thanks for all the ideas and analysis.

We weren't talking about travis, but I guess it could play a role. It's just another webhook to fire out of order though, so I'm not sure it would help. I'm not sure the order of events above is correct either - when it goes wrong it's not because it's showing old content, it's because the cache was refreshed at a time that the content was (apparently, but inexplicably) unavailable. If we can be confident we understand the race condition there's a (small) chance we can fix it, or at least make it less likely. I don't think we got there yet, but thanks for all the ideas and analysis.

This is purely github's flow. We don't depend upon travis to apply changes.

This is purely github's flow. We don't depend upon travis to apply changes.

Can you log when the cache fetches this data and what data was fetched?

Can you log when the cache fetches this data and what data was fetched?

I don't understand how this problem is related to a caching problem or some racing issue.
The error message seems to indicate that asciidoctor didn't render the content of included files. To render a guide, the application is downloading the repository as a tarball, unzipping it and calling the asciidoctor engine on the main file. The rendered version could be inconsistent if the the tarball didn't reflect the latest changes. Looking at recent commits, it doesn't seem those files were modifed/moved recently, so I don't understand how this error could be solved with delays or lifecycle improvements.
I don't understand yet the cause of this problem. Is the file not present on the file system when the rendering happens? Is there a concurrency bug in the rendering application?

I don't understand how this problem is related to a caching problem or some racing issue.
The error message seems to indicate that asciidoctor didn't render the content of included files. To render a guide, the application is downloading the repository as a tarball, unzipping it and calling the asciidoctor engine on the main file. The rendered version could be inconsistent if the the tarball didn't reflect the latest changes. Looking at recent commits, it doesn't seem those files were modifed/moved recently, so I don't understand how this error could be solved with delays or lifecycle improvements.
I don't understand yet the cause of this problem. Is the file not present on the file system when the rendering happens? Is there a concurrency bug in the rendering application?


update go-cty-yaml dependency

Fixes https://github.com/gruntwork-io/terragrunt/issues/834

actually, it's probably best to update dep for github.com/hashicorp/terraform to 0.12.6. I'm going to close this.


chore: upgrades http-wasm host to v0.6.0 to support clients using v0.4.0

Address https://github.com/jcchavezs/coraza-http-wasm-traefik/issues/5
https://github.com/http-wasm/http-wasm-host-go/compare/v0.5.1...v0.6.0
Ping @emilevauge

Yeah we need this PR in too https://github.com/traefik/traefik/pull/10475

Also, it feels breaking for current WASM plugins: current WASM plugins will not be able to register their updates.

The host is providing a new method available, old clients won't use this method, new clients will so we need this to be available.

The PR on Traefik just be merged first and a Traefik version should be released before the merge of this PR.

Hello folks, anyhting else needed to merge this PR as the PR on Traefik is done?

I think it makes sense to wait for a new release as 3.0.0-RC.1 won't work
with accepted plugins here because there is a missing method.
José Carlos Chávez
ons. 28. feb. 2024 kl. 10:49 skrev Emile Vauge @.***>:

Hello folks, anyhting else needed to merge this PR as the PR on Traefik is
done?
—
Reply to this email directly, view it on GitHub
https://github.com/traefik/piceus/pull/54#issuecomment-1968609488, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXOYAXJDB6QL5GQCNVQCNDYV34UFAVCNFSM6AAAAABD2XUT5CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRYGYYDSNBYHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Based on https://github.com/traefik/traefik/releases/tag/v3.0.0-rc2, can we merge this?


Yarn 2.4.2 with linker: pnp not working with node 15, 16

➜  coil-extension git:(main) ✗ yarn dev-chrome-prod
node:fs:2640
      const dev = BigIntPrototypeToString(stats.dev, 32);
                  ^

TypeError: BigInt.prototype.toString requires that 'this' be a BigInt
    at Number.toString (<anonymous>)
    at gotStat (node:fs:2640:19)
    at /Users/nicholasdudfield/projects/web-monetization/.pnp.js:36707:13

It seems this is a known yarn berry issue, which should resolve itself when a new version of yarn is released:
https://github.com/AxisCommunications/media-stream-library-js/issues/594#issuecomment-812849755

see #2051

That fix was released in 3.0.0-rc.1 and we're now at 3.0.0-rc.9
yarn set version 3.0.0-rc.9 && yarn

@merceyz
Thanks for the update!
I will give that a shot

Wow, nice perf improvements! :)


chore: skip fork tests from contributors

What I did
Skip fork tests when opening from a forked repo of the plugin because otherwise tests always fail
How I did it
https://github.com/orgs/community/discussions/25217
How to verify it
Checklist

[ ] Passes all linting checks (pre-commit and CI jobs)
[ ] New test cases have been added and are passing
[ ] Documentation has been updated
[ ] PR title follows Conventional Commit standard (will be automatically included in the changelog)

testing to see that forked tests still run via https://github.com/ApeWorX/ape-hardhat/pull/90


Feature request: Show full day

Is it possible to specify which hours of the day to display?
I would like to set the beginTime and endTime so I can display a full day 00.00 - 23.59.
(Really great work you have done!)

I just cannot understand what your idea is.
If you are looking for only display one day and disable the scroll gesture, then this is not finished yet.
I don't have enough time for this now, this one is required by many people. Hopefully I can start to do this one as soon as possible.

Yes exactly! Keep the good work up! :)

Hi, my friend.
This feature is finally added, could you just simply try it in the branch limitedDateRange.
I haven't finished the example, comments and it might have some other issues.
If you have any suggestions, let me know.
You can just simply change the scrollable startDate and endDate in
LongPressViewController.swift line 41
Thanks

I closed this issue, because I think this feature can do what you want if you set the scrollable to both current date.
if you want the vertical scrollable range, I will add it in the future.


include get_device_config to your code

Hi, Can you add something to your code?
def get_device_config(self, uuid):
    endpoint = "devices/" + uuid + "/config"
    return self.call_api(endpoint, "GET")

right below the "def get_device_status(self, uuid):" section
Tested and working. Need this to find ghost associations created by the Fibaro RGWB modules themselves.
Thanks a lot again,
Bas

Hi! Will do early next week, Sorry for delayed response.

Code updated.


Correcting typo on README.md

Small typo line 572 "becasue" to "because"

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

Thank you, very much appreciated!


a "No song playing" notification is shown when using Spotify - JQBX

When playing Spotify using JQBX, a "No song playing" notification is displayed for every song change. The album art is correct. When re-showing the notification (using the hotkey) the track and artist are there.

I have noticed this too when playing through a Sonos. Perhaps it has something to do with Spotify Connect?

it's work again for me, no reason...

It seems like this application talks to Spotify using Scripting Bridge, and Spotify is sometimes not returning anything for the "name" field:
$ osascript -e "tell application \"Spotify\" to get name of current track"

$ osascript -e "tell application \"Spotify\" to get id of current track"
spotify:track:1jILVSedO8KYfAZiXvRHcW
$

A possible workaround would be to separately look up the track using the ID/URL that seems to still be returned.

I have noticed this too when playing through a Sonos. Perhaps it has something to do with Spotify Connect?

Seconded. Listening on my Sonos via Spotify right now and it's always showing "No song playing".

Spotify finally added support for Apple TV. However, when listening there, the notifications in my Mac show up as "No song playing".

Same when listening through my Amazon Echo device.

Yeah like Matt said, it seems to be an issue with Spotify Connect


Ability to add data attributes to main menu (sidebar) items

Is your proposal related to a problem?

Wagtail 2.16 introduced a new sidebar (main menu) architecture based on React, the interaction of this menu is much nicer however this also meant that support was dropped for arbitrary html and element attributes on link items.
This has created a problem where I'd you want to leverage the menu system (e.g. hooks) to do much more than a different URL or class name has become exceedingly complex (essentially you need to rebuild the react components from source and copy/paste code.

Examples

https://github.com/wagtail/wagtail/issues/8196 - this would have been partially possible with the old menu system by subclassing the MenuItem class
a tutorial I wrote that relies on some custom JS behaviour linked to the menu item links is no longer possible https://dev.to/lb/how-to-build-an-interactive-guide-for-users-in-the-wagtail-cms-admin-2dcp (note. Technically with much more JS wrangling it would be doable)
https://github.com/wagtail/wagtail/issues/8087 would have been possible before but is not now (although, allowing target blank on links is questionable)
Showing some simple text in the menu flow is not possible (e.g. a label), hooking in extra JS behaviour easily (add event listeners) is more difficult without a nice way to determine which links we want to listen to.

Describe the solution you'd like

Similar to attrs in Django field widgets, allow for a dict if attrs that will be written to the html element. These can be filtered so that target and some other attributes won't be allowed if needed. This would be almost the same as the previous attrs support. https://docs.wagtail.org/en/v2.15.4/reference/hooks.html#register-admin-menu-item
Alternatively something like data_attrs which will be a dict of data only html attributes that will be output in the link element.
Ability to declare a link as a non-link, or disabled somehow, so that a simple use case of arbitrary content (just text) can be supported in the menu list.
Maybe this should be a separate issue - but having some custom events dispatched when the menu is expanded and sub-menu items are expanded/collapsed would be super helpful.

Describe alternatives you've considered

DOMutationObserver can be used to listen to Dom changes and then patch in any classes or attributes as needed, but this means the callbacks would be fighting with Reacts updates.
Not using the new sidebar by keeping the setting of the old one.
Copying the react code used and making a new version of the JS code that does handle more kinds of content customisations.
Use CSS classes only to achieve what we can.

Additional context

Not sure if we want to go this far but allowing full custom MenuItems would be good, either through the Wagtail Components system or telepath or similar.

Implemented in #8310.


Loading validator set does not work for prysm clients with default flags

Loading the validator set does currently not work with prysm clients without supplying special flags.
The ValidatorsProvider.Validators function uses the /eth/v2/debug/beacon/states/{state_id} endpoint to fetch the full state.
I guess this was made because the regular /eth/v1/beacon/states/{state_id}/validators endpoint does not support SSZ encoding?
But /debug/ apis are not available for prysm without supplying the --enable-debug-rpc-endpoints client flag.
It would be great to have a possibility to disable using the /debug/ endpoint if it's not available :)

It would be great to have a possibility to disable using the /debug/ endpoint if it's not available :)

Not realistic, I'm afraid.  With the larger networks (mainnet, holesky) using JSON for items such as validators is basically unmanageable.  This is a combination of the size of JSON, and the limitations on the number of validator indices/pubkeys that can be requested in a single operation.  A number of beacon nodes also struggle to provide information piecemeal.  So fetching validators via state SSZ is the only viable option.
To give you an idea of what I mean: attempting to fetch 50,000 validators on holesky using the validators endpoint as currently available on a particular beacon node takes around 20 minutes.  Doing the same thing by fetching state takes around 15 seconds.  As such, there really isn't a viable fallback.
There are potential options coming up, with a POST-based /validators call but that also needs SSZ support to be useful (something for which I'm on the hook, and hoping to get to over the holidays).
Perhaps it makes sense to ask the prysm folks to enable the debug namespace by default?

Fixed with changes to the beacon clients to include debug endpoints by default.


Update index.html

added projects tab check if ok

This can be done when project page is created.
So no point of adding this right now.